packages feed

amazonka-lightsail 1.4.5 → 1.5.0

raw patch · 59 files changed

+3869/−3314 lines, 59 filesdep ~amazonka-coredep ~amazonka-lightsaildep ~amazonka-testPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: amazonka-core, amazonka-lightsail, amazonka-test

API changes (from Hackage documentation)

+ Network.AWS.Lightsail: LinuxUnix :: InstancePlatform
+ Network.AWS.Lightsail: PutInstancePublicPorts :: OperationType
+ Network.AWS.Lightsail: UsEast2 :: RegionName
+ Network.AWS.Lightsail: Windows :: InstancePlatform
+ Network.AWS.Lightsail: bPlatform :: Lens' Blueprint (Maybe InstancePlatform)
+ Network.AWS.Lightsail: bunSupportedPlatforms :: Lens' Bundle [InstancePlatform]
+ Network.AWS.Lightsail: data InstancePlatform
+ Network.AWS.Lightsail: data InstancePortState
+ Network.AWS.Lightsail: data PasswordData
+ Network.AWS.Lightsail: iadPasswordData :: Lens' InstanceAccessDetails (Maybe PasswordData)
+ Network.AWS.Lightsail: instancePortState :: InstancePortState
+ Network.AWS.Lightsail: ipsFromPort :: Lens' InstancePortState (Maybe Natural)
+ Network.AWS.Lightsail: ipsProtocol :: Lens' InstancePortState (Maybe NetworkProtocol)
+ Network.AWS.Lightsail: ipsState :: Lens' InstancePortState (Maybe PortState)
+ Network.AWS.Lightsail: ipsToPort :: Lens' InstancePortState (Maybe Natural)
+ Network.AWS.Lightsail: passwordData :: PasswordData
+ Network.AWS.Lightsail: pdCiphertext :: Lens' PasswordData (Maybe Text)
+ Network.AWS.Lightsail: pdKeyPairName :: Lens' PasswordData (Maybe Text)
+ Network.AWS.Lightsail.GetActiveNames: instance Network.AWS.Pager.AWSPager Network.AWS.Lightsail.GetActiveNames.GetActiveNames
+ Network.AWS.Lightsail.GetBlueprints: instance Network.AWS.Pager.AWSPager Network.AWS.Lightsail.GetBlueprints.GetBlueprints
+ Network.AWS.Lightsail.GetBundles: instance Network.AWS.Pager.AWSPager Network.AWS.Lightsail.GetBundles.GetBundles
+ Network.AWS.Lightsail.GetDomains: instance Network.AWS.Pager.AWSPager Network.AWS.Lightsail.GetDomains.GetDomains
+ Network.AWS.Lightsail.GetInstanceSnapshots: instance Network.AWS.Pager.AWSPager Network.AWS.Lightsail.GetInstanceSnapshots.GetInstanceSnapshots
+ Network.AWS.Lightsail.GetInstances: instance Network.AWS.Pager.AWSPager Network.AWS.Lightsail.GetInstances.GetInstances
+ Network.AWS.Lightsail.GetKeyPairs: instance Network.AWS.Pager.AWSPager Network.AWS.Lightsail.GetKeyPairs.GetKeyPairs
+ Network.AWS.Lightsail.GetOperations: instance Network.AWS.Pager.AWSPager Network.AWS.Lightsail.GetOperations.GetOperations
+ Network.AWS.Lightsail.GetOperationsForResource: gofrrsNextPageToken :: Lens' GetOperationsForResourceResponse (Maybe Text)
+ Network.AWS.Lightsail.GetStaticIPs: instance Network.AWS.Pager.AWSPager Network.AWS.Lightsail.GetStaticIPs.GetStaticIPs
+ Network.AWS.Lightsail.PutInstancePublicPorts: data PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: data PutInstancePublicPortsResponse
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance Control.DeepSeq.NFData Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance Control.DeepSeq.NFData Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPortsResponse
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance Data.Data.Data Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance Data.Data.Data Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPortsResponse
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance Data.Hashable.Class.Hashable Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance GHC.Classes.Eq Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance GHC.Classes.Eq Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPortsResponse
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance GHC.Generics.Generic Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance GHC.Generics.Generic Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPortsResponse
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance GHC.Read.Read Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance GHC.Read.Read Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPortsResponse
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance GHC.Show.Show Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance GHC.Show.Show Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPortsResponse
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance Network.AWS.Data.Path.ToPath Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance Network.AWS.Data.Query.ToQuery Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: instance Network.AWS.Types.AWSRequest Network.AWS.Lightsail.PutInstancePublicPorts.PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: pippInstanceName :: Lens' PutInstancePublicPorts Text
+ Network.AWS.Lightsail.PutInstancePublicPorts: pippPortInfos :: Lens' PutInstancePublicPorts [PortInfo]
+ Network.AWS.Lightsail.PutInstancePublicPorts: pipprsOperation :: Lens' PutInstancePublicPortsResponse (Maybe Operation)
+ Network.AWS.Lightsail.PutInstancePublicPorts: pipprsResponseStatus :: Lens' PutInstancePublicPortsResponse Int
+ Network.AWS.Lightsail.PutInstancePublicPorts: putInstancePublicPorts :: Text -> PutInstancePublicPorts
+ Network.AWS.Lightsail.PutInstancePublicPorts: putInstancePublicPortsResponse :: Int -> PutInstancePublicPortsResponse
+ Network.AWS.Lightsail.Types: LinuxUnix :: InstancePlatform
+ Network.AWS.Lightsail.Types: PutInstancePublicPorts :: OperationType
+ Network.AWS.Lightsail.Types: UsEast2 :: RegionName
+ Network.AWS.Lightsail.Types: Windows :: InstancePlatform
+ Network.AWS.Lightsail.Types: bPlatform :: Lens' Blueprint (Maybe InstancePlatform)
+ Network.AWS.Lightsail.Types: bunSupportedPlatforms :: Lens' Bundle [InstancePlatform]
+ Network.AWS.Lightsail.Types: data InstancePlatform
+ Network.AWS.Lightsail.Types: data InstancePortState
+ Network.AWS.Lightsail.Types: data PasswordData
+ Network.AWS.Lightsail.Types: iadPasswordData :: Lens' InstanceAccessDetails (Maybe PasswordData)
+ Network.AWS.Lightsail.Types: instancePortState :: InstancePortState
+ Network.AWS.Lightsail.Types: ipsFromPort :: Lens' InstancePortState (Maybe Natural)
+ Network.AWS.Lightsail.Types: ipsProtocol :: Lens' InstancePortState (Maybe NetworkProtocol)
+ Network.AWS.Lightsail.Types: ipsState :: Lens' InstancePortState (Maybe PortState)
+ Network.AWS.Lightsail.Types: ipsToPort :: Lens' InstancePortState (Maybe Natural)
+ Network.AWS.Lightsail.Types: passwordData :: PasswordData
+ Network.AWS.Lightsail.Types: pdCiphertext :: Lens' PasswordData (Maybe Text)
+ Network.AWS.Lightsail.Types: pdKeyPairName :: Lens' PasswordData (Maybe Text)
- Network.AWS.Lightsail.GetInstancePortStates: gipsrsPortStates :: Lens' GetInstancePortStatesResponse [PortState]
+ Network.AWS.Lightsail.GetInstancePortStates: gipsrsPortStates :: Lens' GetInstancePortStatesResponse [InstancePortState]

Files

README.md view
@@ -8,7 +8,7 @@  ## Version -`1.4.5`+`1.5.0`   ## Description
amazonka-lightsail.cabal view
@@ -1,13 +1,13 @@ name:                  amazonka-lightsail-version:               1.4.5+version:               1.5.0 synopsis:              Amazon Lightsail SDK. homepage:              https://github.com/brendanhay/amazonka bug-reports:           https://github.com/brendanhay/amazonka/issues-license:               OtherLicense+license:               MPL-2.0 license-file:          LICENSE author:                Brendan Hay-maintainer:            Brendan Hay <brendan.g.hay@gmail.com>-copyright:             Copyright (c) 2013-2016 Brendan Hay+maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>+copyright:             Copyright (c) 2013-2017 Brendan Hay category:              Network, AWS, Cloud, Distributed Computing build-type:            Simple cabal-version:         >= 1.10@@ -29,14 +29,19 @@     to get started.  source-repository head-    type:     git-    location: git://github.com/brendanhay/amazonka.git+    type:              git+    location:          git://github.com/brendanhay/amazonka.git+    subdir:            amazonka-lightsail  library     default-language:  Haskell2010     hs-source-dirs:    src gen -    ghc-options:       -Wall+    ghc-options:+        -Wall+        -fwarn-incomplete-uni-patterns+        -fwarn-incomplete-record-updates+        -funbox-strict-fields      exposed-modules:           Network.AWS.Lightsail@@ -81,6 +86,7 @@         , Network.AWS.Lightsail.IsVPCPeered         , Network.AWS.Lightsail.OpenInstancePublicPorts         , Network.AWS.Lightsail.PeerVPC+        , Network.AWS.Lightsail.PutInstancePublicPorts         , Network.AWS.Lightsail.RebootInstance         , Network.AWS.Lightsail.ReleaseStaticIP         , Network.AWS.Lightsail.StartInstance@@ -95,7 +101,7 @@         , Network.AWS.Lightsail.Types.Sum      build-depends:-          amazonka-core == 1.4.5.*+          amazonka-core == 1.5.0.*         , base          >= 4.7     && < 5  test-suite amazonka-lightsail-test@@ -115,9 +121,9 @@         , Test.AWS.Lightsail.Internal      build-depends:-          amazonka-core == 1.4.5.*-        , amazonka-test == 1.4.5.*-        , amazonka-lightsail == 1.4.5.*+          amazonka-core == 1.5.0.*+        , amazonka-test == 1.5.0.*+        , amazonka-lightsail         , base         , bytestring         , tasty
+ fixture/PutInstancePublicPorts.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/lightsail/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  lightsail.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/PutInstancePublicPortsResponse.proto view
gen/Network/AWS/Lightsail.hs view
@@ -5,18 +5,18 @@  -- | -- Module      : Network.AWS.Lightsail--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Amazon Lightsail is the easiest way to get started with AWS for developers who just need virtual private servers. Lightsail includes everything you need to launch your project quickly - a virtual machine, SSD-based storage, data transfer, DNS management, and a static IP - for a low, predictable price. You manage those Lightsail servers through the Lightsail console or by using the API or command-line interface (CLI). -- ----- For more information about Lightsail concepts and tasks, see the <http://lightsail.aws.amazon.com/ls/docs Lightsail Dev Guide> .+-- For more information about Lightsail concepts and tasks, see the <https://lightsail.aws.amazon.com/ls/docs/all Lightsail Dev Guide> . ----- To use the Lightsail API or the CLI, you will need to use AWS Identity and Access Management (IAM) to generate access keys. For details about how to set this up, see the <http://lightsail.aws.amazon.com/ls/docs/how-to/articles/lightsail-how-to-set-up-access-keys-to-use-sdk-api-cli Lightsail Dev Guide> .+-- To use the Lightsail API or the CLI, you will need to use AWS Identity and Access Management (IAM) to generate access keys. For details about how to set this up, see the <http://lightsail.aws.amazon.com/ls/docs/how-to/article/lightsail-how-to-set-up-access-keys-to-use-sdk-api-cli Lightsail Dev Guide> . -- module Network.AWS.Lightsail     (@@ -65,7 +65,7 @@     -- ** DeleteInstanceSnapshot     , module Network.AWS.Lightsail.DeleteInstanceSnapshot -    -- ** GetInstances+    -- ** GetInstances (Paginated)     , module Network.AWS.Lightsail.GetInstances      -- ** GetInstance@@ -77,7 +77,7 @@     -- ** DownloadDefaultKeyPair     , module Network.AWS.Lightsail.DownloadDefaultKeyPair -    -- ** GetDomains+    -- ** GetDomains (Paginated)     , module Network.AWS.Lightsail.GetDomains      -- ** CreateDomainEntry@@ -86,7 +86,7 @@     -- ** ImportKeyPair     , module Network.AWS.Lightsail.ImportKeyPair -    -- ** GetInstanceSnapshots+    -- ** GetInstanceSnapshots (Paginated)     , module Network.AWS.Lightsail.GetInstanceSnapshots      -- ** ReleaseStaticIP@@ -104,7 +104,7 @@     -- ** GetDomain     , module Network.AWS.Lightsail.GetDomain -    -- ** GetActiveNames+    -- ** GetActiveNames (Paginated)     , module Network.AWS.Lightsail.GetActiveNames      -- ** GetInstanceAccessDetails@@ -119,7 +119,7 @@     -- ** IsVPCPeered     , module Network.AWS.Lightsail.IsVPCPeered -    -- ** GetStaticIPs+    -- ** GetStaticIPs (Paginated)     , module Network.AWS.Lightsail.GetStaticIPs      -- ** UnpeerVPC@@ -137,7 +137,7 @@     -- ** GetStaticIP     , module Network.AWS.Lightsail.GetStaticIP -    -- ** GetBlueprints+    -- ** GetBlueprints (Paginated)     , module Network.AWS.Lightsail.GetBlueprints      -- ** GetInstancePortStates@@ -155,10 +155,10 @@     -- ** GetInstanceState     , module Network.AWS.Lightsail.GetInstanceState -    -- ** GetKeyPairs+    -- ** GetKeyPairs (Paginated)     , module Network.AWS.Lightsail.GetKeyPairs -    -- ** GetOperations+    -- ** GetOperations (Paginated)     , module Network.AWS.Lightsail.GetOperations      -- ** GetOperation@@ -170,6 +170,9 @@     -- ** GetKeyPair     , module Network.AWS.Lightsail.GetKeyPair +    -- ** PutInstancePublicPorts+    , module Network.AWS.Lightsail.PutInstancePublicPorts+     -- ** DetachStaticIP     , module Network.AWS.Lightsail.DetachStaticIP @@ -179,7 +182,7 @@     -- ** OpenInstancePublicPorts     , module Network.AWS.Lightsail.OpenInstancePublicPorts -    -- ** GetBundles+    -- ** GetBundles (Paginated)     , module Network.AWS.Lightsail.GetBundles      -- ** DeleteDomain@@ -208,6 +211,9 @@     -- ** InstanceMetricName     , InstanceMetricName (..) +    -- ** InstancePlatform+    , InstancePlatform (..)+     -- ** InstanceSnapshotState     , InstanceSnapshotState (..) @@ -248,6 +254,7 @@     , Blueprint     , blueprint     , bVersionCode+    , bPlatform     , bGroup     , bMinPower     , bProductURL@@ -269,6 +276,7 @@     , bunName     , bunPower     , bunDiskSizeInGb+    , bunSupportedPlatforms     , bunPrice     , bunIsActive     , bunRamSizeInGb@@ -342,6 +350,7 @@     , iadExpiresAt     , iadUsername     , iadProtocol+    , iadPasswordData     , iadPassword     , iadInstanceName @@ -369,6 +378,14 @@     , ipiToPort     , ipiAccessFrom +    -- ** InstancePortState+    , InstancePortState+    , instancePortState+    , ipsFromPort+    , ipsState+    , ipsProtocol+    , ipsToPort+     -- ** InstanceSnapshot     , InstanceSnapshot     , instanceSnapshot@@ -435,6 +452,12 @@     , oOperationType     , oIsTerminal +    -- ** PasswordData+    , PasswordData+    , passwordData+    , pdKeyPairName+    , pdCiphertext+     -- ** PortInfo     , PortInfo     , portInfo@@ -471,55 +494,56 @@     , siAttachedTo     ) where -import           Network.AWS.Lightsail.AllocateStaticIP-import           Network.AWS.Lightsail.AttachStaticIP-import           Network.AWS.Lightsail.CloseInstancePublicPorts-import           Network.AWS.Lightsail.CreateDomain-import           Network.AWS.Lightsail.CreateDomainEntry-import           Network.AWS.Lightsail.CreateInstances-import           Network.AWS.Lightsail.CreateInstancesFromSnapshot-import           Network.AWS.Lightsail.CreateInstanceSnapshot-import           Network.AWS.Lightsail.CreateKeyPair-import           Network.AWS.Lightsail.DeleteDomain-import           Network.AWS.Lightsail.DeleteDomainEntry-import           Network.AWS.Lightsail.DeleteInstance-import           Network.AWS.Lightsail.DeleteInstanceSnapshot-import           Network.AWS.Lightsail.DeleteKeyPair-import           Network.AWS.Lightsail.DetachStaticIP-import           Network.AWS.Lightsail.DownloadDefaultKeyPair-import           Network.AWS.Lightsail.GetActiveNames-import           Network.AWS.Lightsail.GetBlueprints-import           Network.AWS.Lightsail.GetBundles-import           Network.AWS.Lightsail.GetDomain-import           Network.AWS.Lightsail.GetDomains-import           Network.AWS.Lightsail.GetInstance-import           Network.AWS.Lightsail.GetInstanceAccessDetails-import           Network.AWS.Lightsail.GetInstanceMetricData-import           Network.AWS.Lightsail.GetInstancePortStates-import           Network.AWS.Lightsail.GetInstances-import           Network.AWS.Lightsail.GetInstanceSnapshot-import           Network.AWS.Lightsail.GetInstanceSnapshots-import           Network.AWS.Lightsail.GetInstanceState-import           Network.AWS.Lightsail.GetKeyPair-import           Network.AWS.Lightsail.GetKeyPairs-import           Network.AWS.Lightsail.GetOperation-import           Network.AWS.Lightsail.GetOperations-import           Network.AWS.Lightsail.GetOperationsForResource-import           Network.AWS.Lightsail.GetRegions-import           Network.AWS.Lightsail.GetStaticIP-import           Network.AWS.Lightsail.GetStaticIPs-import           Network.AWS.Lightsail.ImportKeyPair-import           Network.AWS.Lightsail.IsVPCPeered-import           Network.AWS.Lightsail.OpenInstancePublicPorts-import           Network.AWS.Lightsail.PeerVPC-import           Network.AWS.Lightsail.RebootInstance-import           Network.AWS.Lightsail.ReleaseStaticIP-import           Network.AWS.Lightsail.StartInstance-import           Network.AWS.Lightsail.StopInstance-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.UnpeerVPC-import           Network.AWS.Lightsail.UpdateDomainEntry-import           Network.AWS.Lightsail.Waiters+import Network.AWS.Lightsail.AllocateStaticIP+import Network.AWS.Lightsail.AttachStaticIP+import Network.AWS.Lightsail.CloseInstancePublicPorts+import Network.AWS.Lightsail.CreateDomain+import Network.AWS.Lightsail.CreateDomainEntry+import Network.AWS.Lightsail.CreateInstances+import Network.AWS.Lightsail.CreateInstancesFromSnapshot+import Network.AWS.Lightsail.CreateInstanceSnapshot+import Network.AWS.Lightsail.CreateKeyPair+import Network.AWS.Lightsail.DeleteDomain+import Network.AWS.Lightsail.DeleteDomainEntry+import Network.AWS.Lightsail.DeleteInstance+import Network.AWS.Lightsail.DeleteInstanceSnapshot+import Network.AWS.Lightsail.DeleteKeyPair+import Network.AWS.Lightsail.DetachStaticIP+import Network.AWS.Lightsail.DownloadDefaultKeyPair+import Network.AWS.Lightsail.GetActiveNames+import Network.AWS.Lightsail.GetBlueprints+import Network.AWS.Lightsail.GetBundles+import Network.AWS.Lightsail.GetDomain+import Network.AWS.Lightsail.GetDomains+import Network.AWS.Lightsail.GetInstance+import Network.AWS.Lightsail.GetInstanceAccessDetails+import Network.AWS.Lightsail.GetInstanceMetricData+import Network.AWS.Lightsail.GetInstancePortStates+import Network.AWS.Lightsail.GetInstances+import Network.AWS.Lightsail.GetInstanceSnapshot+import Network.AWS.Lightsail.GetInstanceSnapshots+import Network.AWS.Lightsail.GetInstanceState+import Network.AWS.Lightsail.GetKeyPair+import Network.AWS.Lightsail.GetKeyPairs+import Network.AWS.Lightsail.GetOperation+import Network.AWS.Lightsail.GetOperations+import Network.AWS.Lightsail.GetOperationsForResource+import Network.AWS.Lightsail.GetRegions+import Network.AWS.Lightsail.GetStaticIP+import Network.AWS.Lightsail.GetStaticIPs+import Network.AWS.Lightsail.ImportKeyPair+import Network.AWS.Lightsail.IsVPCPeered+import Network.AWS.Lightsail.OpenInstancePublicPorts+import Network.AWS.Lightsail.PeerVPC+import Network.AWS.Lightsail.PutInstancePublicPorts+import Network.AWS.Lightsail.RebootInstance+import Network.AWS.Lightsail.ReleaseStaticIP+import Network.AWS.Lightsail.StartInstance+import Network.AWS.Lightsail.StopInstance+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.UnpeerVPC+import Network.AWS.Lightsail.UpdateDomainEntry+import Network.AWS.Lightsail.Waiters  {- $errors Error matchers are designed for use with the functions provided by
gen/Network/AWS/Lightsail/AllocateStaticIP.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.AllocateStaticIP--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , asirsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'allocateStaticIP' smart constructor. newtype AllocateStaticIP = AllocateStaticIP'-    { _asiStaticIPName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _asiStaticIPName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'AllocateStaticIP' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -58,10 +59,9 @@     :: Text -- ^ 'asiStaticIPName'     -> AllocateStaticIP allocateStaticIP pStaticIPName_ =-    AllocateStaticIP'-    { _asiStaticIPName = pStaticIPName_-    }+  AllocateStaticIP' {_asiStaticIPName = pStaticIPName_} + -- | The name of the static IP address. asiStaticIPName :: Lens' AllocateStaticIP Text asiStaticIPName = lens _asiStaticIPName (\ s a -> s{_asiStaticIPName = a});@@ -76,9 +76,9 @@                    (x .?> "operations" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable AllocateStaticIP+instance Hashable AllocateStaticIP where -instance NFData AllocateStaticIP+instance NFData AllocateStaticIP where  instance ToHeaders AllocateStaticIP where         toHeaders@@ -104,10 +104,11 @@  -- | /See:/ 'allocateStaticIPResponse' smart constructor. data AllocateStaticIPResponse = AllocateStaticIPResponse'-    { _asirsOperations     :: !(Maybe [Operation])-    , _asirsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _asirsOperations     :: !(Maybe [Operation])+  , _asirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'AllocateStaticIPResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -119,11 +120,10 @@     :: Int -- ^ 'asirsResponseStatus'     -> AllocateStaticIPResponse allocateStaticIPResponse pResponseStatus_ =-    AllocateStaticIPResponse'-    { _asirsOperations = Nothing-    , _asirsResponseStatus = pResponseStatus_-    }+  AllocateStaticIPResponse'+  {_asirsOperations = Nothing, _asirsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the static IP address you allocated. asirsOperations :: Lens' AllocateStaticIPResponse [Operation] asirsOperations = lens _asirsOperations (\ s a -> s{_asirsOperations = a}) . _Default . _Coerce;@@ -132,4 +132,4 @@ asirsResponseStatus :: Lens' AllocateStaticIPResponse Int asirsResponseStatus = lens _asirsResponseStatus (\ s a -> s{_asirsResponseStatus = a}); -instance NFData AllocateStaticIPResponse+instance NFData AllocateStaticIPResponse where
gen/Network/AWS/Lightsail/AttachStaticIP.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.AttachStaticIP--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,19 +38,20 @@     , asiprsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'attachStaticIP' smart constructor. data AttachStaticIP = AttachStaticIP'-    { _asipStaticIPName :: !Text-    , _asipInstanceName :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _asipStaticIPName :: !Text+  , _asipInstanceName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'AttachStaticIP' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -63,11 +64,10 @@     -> Text -- ^ 'asipInstanceName'     -> AttachStaticIP attachStaticIP pStaticIPName_ pInstanceName_ =-    AttachStaticIP'-    { _asipStaticIPName = pStaticIPName_-    , _asipInstanceName = pInstanceName_-    }+  AttachStaticIP'+  {_asipStaticIPName = pStaticIPName_, _asipInstanceName = pInstanceName_} + -- | The name of the static IP. asipStaticIPName :: Lens' AttachStaticIP Text asipStaticIPName = lens _asipStaticIPName (\ s a -> s{_asipStaticIPName = a});@@ -86,9 +86,9 @@                    (x .?> "operations" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable AttachStaticIP+instance Hashable AttachStaticIP where -instance NFData AttachStaticIP+instance NFData AttachStaticIP where  instance ToHeaders AttachStaticIP where         toHeaders@@ -114,10 +114,11 @@  -- | /See:/ 'attachStaticIPResponse' smart constructor. data AttachStaticIPResponse = AttachStaticIPResponse'-    { _asiprsOperations     :: !(Maybe [Operation])-    , _asiprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _asiprsOperations     :: !(Maybe [Operation])+  , _asiprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'AttachStaticIPResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -129,11 +130,10 @@     :: Int -- ^ 'asiprsResponseStatus'     -> AttachStaticIPResponse attachStaticIPResponse pResponseStatus_ =-    AttachStaticIPResponse'-    { _asiprsOperations = Nothing-    , _asiprsResponseStatus = pResponseStatus_-    }+  AttachStaticIPResponse'+  {_asiprsOperations = Nothing, _asiprsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about your API operations. asiprsOperations :: Lens' AttachStaticIPResponse [Operation] asiprsOperations = lens _asiprsOperations (\ s a -> s{_asiprsOperations = a}) . _Default . _Coerce;@@ -142,4 +142,4 @@ asiprsResponseStatus :: Lens' AttachStaticIPResponse Int asiprsResponseStatus = lens _asiprsResponseStatus (\ s a -> s{_asiprsResponseStatus = a}); -instance NFData AttachStaticIPResponse+instance NFData AttachStaticIPResponse where
gen/Network/AWS/Lightsail/CloseInstancePublicPorts.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.CloseInstancePublicPorts--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,19 +38,20 @@     , cipprsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'closeInstancePublicPorts' smart constructor. data CloseInstancePublicPorts = CloseInstancePublicPorts'-    { _cippPortInfo     :: !PortInfo-    , _cippInstanceName :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cippPortInfo     :: !PortInfo+  , _cippInstanceName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CloseInstancePublicPorts' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -63,11 +64,10 @@     -> Text -- ^ 'cippInstanceName'     -> CloseInstancePublicPorts closeInstancePublicPorts pPortInfo_ pInstanceName_ =-    CloseInstancePublicPorts'-    { _cippPortInfo = pPortInfo_-    , _cippInstanceName = pInstanceName_-    }+  CloseInstancePublicPorts'+  {_cippPortInfo = pPortInfo_, _cippInstanceName = pInstanceName_} + -- | Information about the public port you are trying to close. cippPortInfo :: Lens' CloseInstancePublicPorts PortInfo cippPortInfo = lens _cippPortInfo (\ s a -> s{_cippPortInfo = a});@@ -86,9 +86,9 @@                  CloseInstancePublicPortsResponse' <$>                    (x .?> "operation") <*> (pure (fromEnum s))) -instance Hashable CloseInstancePublicPorts+instance Hashable CloseInstancePublicPorts where -instance NFData CloseInstancePublicPorts+instance NFData CloseInstancePublicPorts where  instance ToHeaders CloseInstancePublicPorts where         toHeaders@@ -115,10 +115,11 @@  -- | /See:/ 'closeInstancePublicPortsResponse' smart constructor. data CloseInstancePublicPortsResponse = CloseInstancePublicPortsResponse'-    { _cipprsOperation      :: !(Maybe Operation)-    , _cipprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cipprsOperation      :: !(Maybe Operation)+  , _cipprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CloseInstancePublicPortsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -130,11 +131,10 @@     :: Int -- ^ 'cipprsResponseStatus'     -> CloseInstancePublicPortsResponse closeInstancePublicPortsResponse pResponseStatus_ =-    CloseInstancePublicPortsResponse'-    { _cipprsOperation = Nothing-    , _cipprsResponseStatus = pResponseStatus_-    }+  CloseInstancePublicPortsResponse'+  {_cipprsOperation = Nothing, _cipprsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs that contains information about the operation. cipprsOperation :: Lens' CloseInstancePublicPortsResponse (Maybe Operation) cipprsOperation = lens _cipprsOperation (\ s a -> s{_cipprsOperation = a});@@ -144,3 +144,4 @@ cipprsResponseStatus = lens _cipprsResponseStatus (\ s a -> s{_cipprsResponseStatus = a});  instance NFData CloseInstancePublicPortsResponse+         where
gen/Network/AWS/Lightsail/CreateDomain.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.CreateDomain--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , cdrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'createDomain' smart constructor. newtype CreateDomain = CreateDomain'-    { _cdDomainName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cdDomainName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateDomain' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,11 +58,9 @@ createDomain     :: Text -- ^ 'cdDomainName'     -> CreateDomain-createDomain pDomainName_ =-    CreateDomain'-    { _cdDomainName = pDomainName_-    }+createDomain pDomainName_ = CreateDomain' {_cdDomainName = pDomainName_} + -- | The domain name to manage (e.g., @example.com@ ). cdDomainName :: Lens' CreateDomain Text cdDomainName = lens _cdDomainName (\ s a -> s{_cdDomainName = a});@@ -75,9 +74,9 @@                  CreateDomainResponse' <$>                    (x .?> "operation") <*> (pure (fromEnum s))) -instance Hashable CreateDomain+instance Hashable CreateDomain where -instance NFData CreateDomain+instance NFData CreateDomain where  instance ToHeaders CreateDomain where         toHeaders@@ -101,10 +100,11 @@  -- | /See:/ 'createDomainResponse' smart constructor. data CreateDomainResponse = CreateDomainResponse'-    { _cdrsOperation      :: !(Maybe Operation)-    , _cdrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cdrsOperation      :: !(Maybe Operation)+  , _cdrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateDomainResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -116,11 +116,10 @@     :: Int -- ^ 'cdrsResponseStatus'     -> CreateDomainResponse createDomainResponse pResponseStatus_ =-    CreateDomainResponse'-    { _cdrsOperation = Nothing-    , _cdrsResponseStatus = pResponseStatus_-    }+  CreateDomainResponse'+  {_cdrsOperation = Nothing, _cdrsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the domain resource you created. cdrsOperation :: Lens' CreateDomainResponse (Maybe Operation) cdrsOperation = lens _cdrsOperation (\ s a -> s{_cdrsOperation = a});@@ -129,4 +128,4 @@ cdrsResponseStatus :: Lens' CreateDomainResponse Int cdrsResponseStatus = lens _cdrsResponseStatus (\ s a -> s{_cdrsResponseStatus = a}); -instance NFData CreateDomainResponse+instance NFData CreateDomainResponse where
gen/Network/AWS/Lightsail/CreateDomainEntry.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.CreateDomainEntry--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,19 +38,20 @@     , cdersResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'createDomainEntry' smart constructor. data CreateDomainEntry = CreateDomainEntry'-    { _cdeDomainName  :: !Text-    , _cdeDomainEntry :: !DomainEntry-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cdeDomainName  :: !Text+  , _cdeDomainEntry :: !DomainEntry+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateDomainEntry' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -63,11 +64,10 @@     -> DomainEntry -- ^ 'cdeDomainEntry'     -> CreateDomainEntry createDomainEntry pDomainName_ pDomainEntry_ =-    CreateDomainEntry'-    { _cdeDomainName = pDomainName_-    , _cdeDomainEntry = pDomainEntry_-    }+  CreateDomainEntry'+  {_cdeDomainName = pDomainName_, _cdeDomainEntry = pDomainEntry_} + -- | The domain name (e.g., @example.com@ ) for which you want to create the domain entry. cdeDomainName :: Lens' CreateDomainEntry Text cdeDomainName = lens _cdeDomainName (\ s a -> s{_cdeDomainName = a});@@ -85,9 +85,9 @@                  CreateDomainEntryResponse' <$>                    (x .?> "operation") <*> (pure (fromEnum s))) -instance Hashable CreateDomainEntry+instance Hashable CreateDomainEntry where -instance NFData CreateDomainEntry+instance NFData CreateDomainEntry where  instance ToHeaders CreateDomainEntry where         toHeaders@@ -114,10 +114,11 @@  -- | /See:/ 'createDomainEntryResponse' smart constructor. data CreateDomainEntryResponse = CreateDomainEntryResponse'-    { _cdersOperation      :: !(Maybe Operation)-    , _cdersResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cdersOperation      :: !(Maybe Operation)+  , _cdersResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateDomainEntryResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -129,11 +130,10 @@     :: Int -- ^ 'cdersResponseStatus'     -> CreateDomainEntryResponse createDomainEntryResponse pResponseStatus_ =-    CreateDomainEntryResponse'-    { _cdersOperation = Nothing-    , _cdersResponseStatus = pResponseStatus_-    }+  CreateDomainEntryResponse'+  {_cdersOperation = Nothing, _cdersResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the operation. cdersOperation :: Lens' CreateDomainEntryResponse (Maybe Operation) cdersOperation = lens _cdersOperation (\ s a -> s{_cdersOperation = a});@@ -142,4 +142,4 @@ cdersResponseStatus :: Lens' CreateDomainEntryResponse Int cdersResponseStatus = lens _cdersResponseStatus (\ s a -> s{_cdersResponseStatus = a}); -instance NFData CreateDomainEntryResponse+instance NFData CreateDomainEntryResponse where
gen/Network/AWS/Lightsail/CreateInstanceSnapshot.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.CreateInstanceSnapshot--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,19 +38,20 @@     , cisrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'createInstanceSnapshot' smart constructor. data CreateInstanceSnapshot = CreateInstanceSnapshot'-    { _cisInstanceSnapshotName :: !Text-    , _cisInstanceName         :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cisInstanceSnapshotName :: !Text+  , _cisInstanceName         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateInstanceSnapshot' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -63,11 +64,12 @@     -> Text -- ^ 'cisInstanceName'     -> CreateInstanceSnapshot createInstanceSnapshot pInstanceSnapshotName_ pInstanceName_ =-    CreateInstanceSnapshot'-    { _cisInstanceSnapshotName = pInstanceSnapshotName_-    , _cisInstanceName = pInstanceName_-    }+  CreateInstanceSnapshot'+  { _cisInstanceSnapshotName = pInstanceSnapshotName_+  , _cisInstanceName = pInstanceName_+  } + -- | The name for your new snapshot. cisInstanceSnapshotName :: Lens' CreateInstanceSnapshot Text cisInstanceSnapshotName = lens _cisInstanceSnapshotName (\ s a -> s{_cisInstanceSnapshotName = a});@@ -87,9 +89,9 @@                    (x .?> "operations" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable CreateInstanceSnapshot+instance Hashable CreateInstanceSnapshot where -instance NFData CreateInstanceSnapshot+instance NFData CreateInstanceSnapshot where  instance ToHeaders CreateInstanceSnapshot where         toHeaders@@ -117,10 +119,11 @@  -- | /See:/ 'createInstanceSnapshotResponse' smart constructor. data CreateInstanceSnapshotResponse = CreateInstanceSnapshotResponse'-    { _cisrsOperations     :: !(Maybe [Operation])-    , _cisrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cisrsOperations     :: !(Maybe [Operation])+  , _cisrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateInstanceSnapshotResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -132,11 +135,10 @@     :: Int -- ^ 'cisrsResponseStatus'     -> CreateInstanceSnapshotResponse createInstanceSnapshotResponse pResponseStatus_ =-    CreateInstanceSnapshotResponse'-    { _cisrsOperations = Nothing-    , _cisrsResponseStatus = pResponseStatus_-    }+  CreateInstanceSnapshotResponse'+  {_cisrsOperations = Nothing, _cisrsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the results of your create instances snapshot request. cisrsOperations :: Lens' CreateInstanceSnapshotResponse [Operation] cisrsOperations = lens _cisrsOperations (\ s a -> s{_cisrsOperations = a}) . _Default . _Coerce;@@ -145,4 +147,4 @@ cisrsResponseStatus :: Lens' CreateInstanceSnapshotResponse Int cisrsResponseStatus = lens _cisrsResponseStatus (\ s a -> s{_cisrsResponseStatus = a}); -instance NFData CreateInstanceSnapshotResponse+instance NFData CreateInstanceSnapshotResponse where
gen/Network/AWS/Lightsail/CreateInstances.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.CreateInstances--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -43,29 +43,30 @@     , cirsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'createInstances' smart constructor. data CreateInstances = CreateInstances'-    { _ciCustomImageName  :: !(Maybe Text)-    , _ciUserData         :: !(Maybe Text)-    , _ciKeyPairName      :: !(Maybe Text)-    , _ciInstanceNames    :: ![Text]-    , _ciAvailabilityZone :: !Text-    , _ciBlueprintId      :: !Text-    , _ciBundleId         :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ciCustomImageName  :: !(Maybe Text)+  , _ciUserData         :: !(Maybe Text)+  , _ciKeyPairName      :: !(Maybe Text)+  , _ciInstanceNames    :: ![Text]+  , _ciAvailabilityZone :: !Text+  , _ciBlueprintId      :: !Text+  , _ciBundleId         :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateInstances' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'ciCustomImageName' - The name for your custom image.+-- * 'ciCustomImageName' - (Deprecated) The name for your custom image. -- -- * 'ciUserData' - A launch script you can create that configures a server with additional user data. For example, you might want to run @apt-get –y update@ . --@@ -73,7 +74,7 @@ -- -- * 'ciInstanceNames' - The names to use for your new Lightsail instances. Separate multiple values using quotation marks and commas, for example: @["MyFirstInstance","MySecondInstance"]@ ----- * 'ciAvailabilityZone' - The Availability Zone in which to create your instance. Use the following format: @us-east-1a@ (case sensitive).+-- * 'ciAvailabilityZone' - The Availability Zone in which to create your instance. Use the following format: @us-east-1a@ (case sensitive). You can get a list of availability zones by using the <http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html get regions> operation. Be sure to add the @include availability zones@ parameter to your request. -- -- * 'ciBlueprintId' - The ID for a virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ). Use the get blueprints operation to return a list of available images (or /blueprints/ ). --@@ -84,17 +85,18 @@     -> Text -- ^ 'ciBundleId'     -> CreateInstances createInstances pAvailabilityZone_ pBlueprintId_ pBundleId_ =-    CreateInstances'-    { _ciCustomImageName = Nothing-    , _ciUserData = Nothing-    , _ciKeyPairName = Nothing-    , _ciInstanceNames = mempty-    , _ciAvailabilityZone = pAvailabilityZone_-    , _ciBlueprintId = pBlueprintId_-    , _ciBundleId = pBundleId_-    }+  CreateInstances'+  { _ciCustomImageName = Nothing+  , _ciUserData = Nothing+  , _ciKeyPairName = Nothing+  , _ciInstanceNames = mempty+  , _ciAvailabilityZone = pAvailabilityZone_+  , _ciBlueprintId = pBlueprintId_+  , _ciBundleId = pBundleId_+  } --- | The name for your custom image.++-- | (Deprecated) The name for your custom image. ciCustomImageName :: Lens' CreateInstances (Maybe Text) ciCustomImageName = lens _ciCustomImageName (\ s a -> s{_ciCustomImageName = a}); @@ -110,7 +112,7 @@ ciInstanceNames :: Lens' CreateInstances [Text] ciInstanceNames = lens _ciInstanceNames (\ s a -> s{_ciInstanceNames = a}) . _Coerce; --- | The Availability Zone in which to create your instance. Use the following format: @us-east-1a@ (case sensitive).+-- | The Availability Zone in which to create your instance. Use the following format: @us-east-1a@ (case sensitive). You can get a list of availability zones by using the <http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html get regions> operation. Be sure to add the @include availability zones@ parameter to your request. ciAvailabilityZone :: Lens' CreateInstances Text ciAvailabilityZone = lens _ciAvailabilityZone (\ s a -> s{_ciAvailabilityZone = a}); @@ -132,9 +134,9 @@                    (x .?> "operations" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable CreateInstances+instance Hashable CreateInstances where -instance NFData CreateInstances+instance NFData CreateInstances where  instance ToHeaders CreateInstances where         toHeaders@@ -165,10 +167,11 @@  -- | /See:/ 'createInstancesResponse' smart constructor. data CreateInstancesResponse = CreateInstancesResponse'-    { _cirsOperations     :: !(Maybe [Operation])-    , _cirsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cirsOperations     :: !(Maybe [Operation])+  , _cirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateInstancesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -180,11 +183,10 @@     :: Int -- ^ 'cirsResponseStatus'     -> CreateInstancesResponse createInstancesResponse pResponseStatus_ =-    CreateInstancesResponse'-    { _cirsOperations = Nothing-    , _cirsResponseStatus = pResponseStatus_-    }+  CreateInstancesResponse'+  {_cirsOperations = Nothing, _cirsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the results of your create instances request. cirsOperations :: Lens' CreateInstancesResponse [Operation] cirsOperations = lens _cirsOperations (\ s a -> s{_cirsOperations = a}) . _Default . _Coerce;@@ -193,4 +195,4 @@ cirsResponseStatus :: Lens' CreateInstancesResponse Int cirsResponseStatus = lens _cirsResponseStatus (\ s a -> s{_cirsResponseStatus = a}); -instance NFData CreateInstancesResponse+instance NFData CreateInstancesResponse where
gen/Network/AWS/Lightsail/CreateInstancesFromSnapshot.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.CreateInstancesFromSnapshot--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -42,23 +42,24 @@     , cifsrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'createInstancesFromSnapshot' smart constructor. data CreateInstancesFromSnapshot = CreateInstancesFromSnapshot'-    { _cifsUserData             :: !(Maybe Text)-    , _cifsKeyPairName          :: !(Maybe Text)-    , _cifsInstanceNames        :: ![Text]-    , _cifsAvailabilityZone     :: !Text-    , _cifsInstanceSnapshotName :: !Text-    , _cifsBundleId             :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cifsUserData             :: !(Maybe Text)+  , _cifsKeyPairName          :: !(Maybe Text)+  , _cifsInstanceNames        :: ![Text]+  , _cifsAvailabilityZone     :: !Text+  , _cifsInstanceSnapshotName :: !Text+  , _cifsBundleId             :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateInstancesFromSnapshot' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -69,7 +70,7 @@ -- -- * 'cifsInstanceNames' - The names for your new instances. ----- * 'cifsAvailabilityZone' - The Availability Zone where you want to create your instances. Use the following formatting: @us-east-1a@ (case sensitive).+-- * 'cifsAvailabilityZone' - The Availability Zone where you want to create your instances. Use the following formatting: @us-east-1a@ (case sensitive). You can get a list of availability zones by using the <http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html get regions> operation. Be sure to add the @include availability zones@ parameter to your request. -- -- * 'cifsInstanceSnapshotName' - The name of the instance snapshot on which you are basing your new instances. Use the get instance snapshots operation to return information about your existing snapshots. --@@ -80,15 +81,16 @@     -> Text -- ^ 'cifsBundleId'     -> CreateInstancesFromSnapshot createInstancesFromSnapshot pAvailabilityZone_ pInstanceSnapshotName_ pBundleId_ =-    CreateInstancesFromSnapshot'-    { _cifsUserData = Nothing-    , _cifsKeyPairName = Nothing-    , _cifsInstanceNames = mempty-    , _cifsAvailabilityZone = pAvailabilityZone_-    , _cifsInstanceSnapshotName = pInstanceSnapshotName_-    , _cifsBundleId = pBundleId_-    }+  CreateInstancesFromSnapshot'+  { _cifsUserData = Nothing+  , _cifsKeyPairName = Nothing+  , _cifsInstanceNames = mempty+  , _cifsAvailabilityZone = pAvailabilityZone_+  , _cifsInstanceSnapshotName = pInstanceSnapshotName_+  , _cifsBundleId = pBundleId_+  } + -- | You can create a launch script that configures a server with additional user data. For example, @apt-get –y update@ . cifsUserData :: Lens' CreateInstancesFromSnapshot (Maybe Text) cifsUserData = lens _cifsUserData (\ s a -> s{_cifsUserData = a});@@ -101,7 +103,7 @@ cifsInstanceNames :: Lens' CreateInstancesFromSnapshot [Text] cifsInstanceNames = lens _cifsInstanceNames (\ s a -> s{_cifsInstanceNames = a}) . _Coerce; --- | The Availability Zone where you want to create your instances. Use the following formatting: @us-east-1a@ (case sensitive).+-- | The Availability Zone where you want to create your instances. Use the following formatting: @us-east-1a@ (case sensitive). You can get a list of availability zones by using the <http://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_GetRegions.html get regions> operation. Be sure to add the @include availability zones@ parameter to your request. cifsAvailabilityZone :: Lens' CreateInstancesFromSnapshot Text cifsAvailabilityZone = lens _cifsAvailabilityZone (\ s a -> s{_cifsAvailabilityZone = a}); @@ -124,9 +126,9 @@                    (x .?> "operations" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable CreateInstancesFromSnapshot+instance Hashable CreateInstancesFromSnapshot where -instance NFData CreateInstancesFromSnapshot+instance NFData CreateInstancesFromSnapshot where  instance ToHeaders CreateInstancesFromSnapshot where         toHeaders@@ -159,10 +161,11 @@  -- | /See:/ 'createInstancesFromSnapshotResponse' smart constructor. data CreateInstancesFromSnapshotResponse = CreateInstancesFromSnapshotResponse'-    { _cifsrsOperations     :: !(Maybe [Operation])-    , _cifsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _cifsrsOperations     :: !(Maybe [Operation])+  , _cifsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateInstancesFromSnapshotResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -174,11 +177,10 @@     :: Int -- ^ 'cifsrsResponseStatus'     -> CreateInstancesFromSnapshotResponse createInstancesFromSnapshotResponse pResponseStatus_ =-    CreateInstancesFromSnapshotResponse'-    { _cifsrsOperations = Nothing-    , _cifsrsResponseStatus = pResponseStatus_-    }+  CreateInstancesFromSnapshotResponse'+  {_cifsrsOperations = Nothing, _cifsrsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the results of your create instances from snapshot request. cifsrsOperations :: Lens' CreateInstancesFromSnapshotResponse [Operation] cifsrsOperations = lens _cifsrsOperations (\ s a -> s{_cifsrsOperations = a}) . _Default . _Coerce;@@ -188,3 +190,4 @@ cifsrsResponseStatus = lens _cifsrsResponseStatus (\ s a -> s{_cifsrsResponseStatus = a});  instance NFData CreateInstancesFromSnapshotResponse+         where
gen/Network/AWS/Lightsail/CreateKeyPair.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.CreateKeyPair--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -40,18 +40,19 @@     , ckprsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'createKeyPair' smart constructor. newtype CreateKeyPair = CreateKeyPair'-    { _ckpKeyPairName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ckpKeyPairName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateKeyPair' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -60,11 +61,9 @@ createKeyPair     :: Text -- ^ 'ckpKeyPairName'     -> CreateKeyPair-createKeyPair pKeyPairName_ =-    CreateKeyPair'-    { _ckpKeyPairName = pKeyPairName_-    }+createKeyPair pKeyPairName_ = CreateKeyPair' {_ckpKeyPairName = pKeyPairName_} + -- | The name for your new key pair. ckpKeyPairName :: Lens' CreateKeyPair Text ckpKeyPairName = lens _ckpKeyPairName (\ s a -> s{_ckpKeyPairName = a});@@ -81,9 +80,9 @@                      <*> (x .?> "privateKeyBase64")                      <*> (pure (fromEnum s))) -instance Hashable CreateKeyPair+instance Hashable CreateKeyPair where -instance NFData CreateKeyPair+instance NFData CreateKeyPair where  instance ToHeaders CreateKeyPair where         toHeaders@@ -107,13 +106,14 @@  -- | /See:/ 'createKeyPairResponse' smart constructor. data CreateKeyPairResponse = CreateKeyPairResponse'-    { _ckprsKeyPair          :: !(Maybe KeyPair)-    , _ckprsOperation        :: !(Maybe Operation)-    , _ckprsPublicKeyBase64  :: !(Maybe Text)-    , _ckprsPrivateKeyBase64 :: !(Maybe Text)-    , _ckprsResponseStatus   :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ckprsKeyPair          :: !(Maybe KeyPair)+  , _ckprsOperation        :: !(Maybe Operation)+  , _ckprsPublicKeyBase64  :: !(Maybe Text)+  , _ckprsPrivateKeyBase64 :: !(Maybe Text)+  , _ckprsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'CreateKeyPairResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -131,14 +131,15 @@     :: Int -- ^ 'ckprsResponseStatus'     -> CreateKeyPairResponse createKeyPairResponse pResponseStatus_ =-    CreateKeyPairResponse'-    { _ckprsKeyPair = Nothing-    , _ckprsOperation = Nothing-    , _ckprsPublicKeyBase64 = Nothing-    , _ckprsPrivateKeyBase64 = Nothing-    , _ckprsResponseStatus = pResponseStatus_-    }+  CreateKeyPairResponse'+  { _ckprsKeyPair = Nothing+  , _ckprsOperation = Nothing+  , _ckprsPublicKeyBase64 = Nothing+  , _ckprsPrivateKeyBase64 = Nothing+  , _ckprsResponseStatus = pResponseStatus_+  } + -- | An array of key-value pairs containing information about the new key pair you just created. ckprsKeyPair :: Lens' CreateKeyPairResponse (Maybe KeyPair) ckprsKeyPair = lens _ckprsKeyPair (\ s a -> s{_ckprsKeyPair = a});@@ -159,4 +160,4 @@ ckprsResponseStatus :: Lens' CreateKeyPairResponse Int ckprsResponseStatus = lens _ckprsResponseStatus (\ s a -> s{_ckprsResponseStatus = a}); -instance NFData CreateKeyPairResponse+instance NFData CreateKeyPairResponse where
gen/Network/AWS/Lightsail/DeleteDomain.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.DeleteDomain--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , ddrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'deleteDomain' smart constructor. newtype DeleteDomain = DeleteDomain'-    { _ddDomainName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ddDomainName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteDomain' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,11 +58,9 @@ deleteDomain     :: Text -- ^ 'ddDomainName'     -> DeleteDomain-deleteDomain pDomainName_ =-    DeleteDomain'-    { _ddDomainName = pDomainName_-    }+deleteDomain pDomainName_ = DeleteDomain' {_ddDomainName = pDomainName_} + -- | The specific domain name to delete. ddDomainName :: Lens' DeleteDomain Text ddDomainName = lens _ddDomainName (\ s a -> s{_ddDomainName = a});@@ -75,9 +74,9 @@                  DeleteDomainResponse' <$>                    (x .?> "operation") <*> (pure (fromEnum s))) -instance Hashable DeleteDomain+instance Hashable DeleteDomain where -instance NFData DeleteDomain+instance NFData DeleteDomain where  instance ToHeaders DeleteDomain where         toHeaders@@ -101,10 +100,11 @@  -- | /See:/ 'deleteDomainResponse' smart constructor. data DeleteDomainResponse = DeleteDomainResponse'-    { _ddrsOperation      :: !(Maybe Operation)-    , _ddrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ddrsOperation      :: !(Maybe Operation)+  , _ddrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteDomainResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -116,11 +116,10 @@     :: Int -- ^ 'ddrsResponseStatus'     -> DeleteDomainResponse deleteDomainResponse pResponseStatus_ =-    DeleteDomainResponse'-    { _ddrsOperation = Nothing-    , _ddrsResponseStatus = pResponseStatus_-    }+  DeleteDomainResponse'+  {_ddrsOperation = Nothing, _ddrsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the results of your delete domain request. ddrsOperation :: Lens' DeleteDomainResponse (Maybe Operation) ddrsOperation = lens _ddrsOperation (\ s a -> s{_ddrsOperation = a});@@ -129,4 +128,4 @@ ddrsResponseStatus :: Lens' DeleteDomainResponse Int ddrsResponseStatus = lens _ddrsResponseStatus (\ s a -> s{_ddrsResponseStatus = a}); -instance NFData DeleteDomainResponse+instance NFData DeleteDomainResponse where
gen/Network/AWS/Lightsail/DeleteDomainEntry.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.DeleteDomainEntry--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,19 +38,20 @@     , ddersResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'deleteDomainEntry' smart constructor. data DeleteDomainEntry = DeleteDomainEntry'-    { _ddeDomainName  :: !Text-    , _ddeDomainEntry :: !DomainEntry-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ddeDomainName  :: !Text+  , _ddeDomainEntry :: !DomainEntry+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteDomainEntry' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -63,11 +64,10 @@     -> DomainEntry -- ^ 'ddeDomainEntry'     -> DeleteDomainEntry deleteDomainEntry pDomainName_ pDomainEntry_ =-    DeleteDomainEntry'-    { _ddeDomainName = pDomainName_-    , _ddeDomainEntry = pDomainEntry_-    }+  DeleteDomainEntry'+  {_ddeDomainName = pDomainName_, _ddeDomainEntry = pDomainEntry_} + -- | The name of the domain entry to delete. ddeDomainName :: Lens' DeleteDomainEntry Text ddeDomainName = lens _ddeDomainName (\ s a -> s{_ddeDomainName = a});@@ -85,9 +85,9 @@                  DeleteDomainEntryResponse' <$>                    (x .?> "operation") <*> (pure (fromEnum s))) -instance Hashable DeleteDomainEntry+instance Hashable DeleteDomainEntry where -instance NFData DeleteDomainEntry+instance NFData DeleteDomainEntry where  instance ToHeaders DeleteDomainEntry where         toHeaders@@ -114,10 +114,11 @@  -- | /See:/ 'deleteDomainEntryResponse' smart constructor. data DeleteDomainEntryResponse = DeleteDomainEntryResponse'-    { _ddersOperation      :: !(Maybe Operation)-    , _ddersResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ddersOperation      :: !(Maybe Operation)+  , _ddersResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteDomainEntryResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -129,11 +130,10 @@     :: Int -- ^ 'ddersResponseStatus'     -> DeleteDomainEntryResponse deleteDomainEntryResponse pResponseStatus_ =-    DeleteDomainEntryResponse'-    { _ddersOperation = Nothing-    , _ddersResponseStatus = pResponseStatus_-    }+  DeleteDomainEntryResponse'+  {_ddersOperation = Nothing, _ddersResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the results of your delete domain entry request. ddersOperation :: Lens' DeleteDomainEntryResponse (Maybe Operation) ddersOperation = lens _ddersOperation (\ s a -> s{_ddersOperation = a});@@ -142,4 +142,4 @@ ddersResponseStatus :: Lens' DeleteDomainEntryResponse Int ddersResponseStatus = lens _ddersResponseStatus (\ s a -> s{_ddersResponseStatus = a}); -instance NFData DeleteDomainEntryResponse+instance NFData DeleteDomainEntryResponse where
gen/Network/AWS/Lightsail/DeleteInstance.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.DeleteInstance--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , dirsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'deleteInstance' smart constructor. newtype DeleteInstance = DeleteInstance'-    { _diInstanceName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _diInstanceName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteInstance' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -58,10 +59,9 @@     :: Text -- ^ 'diInstanceName'     -> DeleteInstance deleteInstance pInstanceName_ =-    DeleteInstance'-    { _diInstanceName = pInstanceName_-    }+  DeleteInstance' {_diInstanceName = pInstanceName_} + -- | The name of the instance to delete. diInstanceName :: Lens' DeleteInstance Text diInstanceName = lens _diInstanceName (\ s a -> s{_diInstanceName = a});@@ -76,9 +76,9 @@                    (x .?> "operations" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable DeleteInstance+instance Hashable DeleteInstance where -instance NFData DeleteInstance+instance NFData DeleteInstance where  instance ToHeaders DeleteInstance where         toHeaders@@ -103,10 +103,11 @@  -- | /See:/ 'deleteInstanceResponse' smart constructor. data DeleteInstanceResponse = DeleteInstanceResponse'-    { _dirsOperations     :: !(Maybe [Operation])-    , _dirsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dirsOperations     :: !(Maybe [Operation])+  , _dirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteInstanceResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -118,11 +119,10 @@     :: Int -- ^ 'dirsResponseStatus'     -> DeleteInstanceResponse deleteInstanceResponse pResponseStatus_ =-    DeleteInstanceResponse'-    { _dirsOperations = Nothing-    , _dirsResponseStatus = pResponseStatus_-    }+  DeleteInstanceResponse'+  {_dirsOperations = Nothing, _dirsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the results of your delete instance request. dirsOperations :: Lens' DeleteInstanceResponse [Operation] dirsOperations = lens _dirsOperations (\ s a -> s{_dirsOperations = a}) . _Default . _Coerce;@@ -131,4 +131,4 @@ dirsResponseStatus :: Lens' DeleteInstanceResponse Int dirsResponseStatus = lens _dirsResponseStatus (\ s a -> s{_dirsResponseStatus = a}); -instance NFData DeleteInstanceResponse+instance NFData DeleteInstanceResponse where
gen/Network/AWS/Lightsail/DeleteInstanceSnapshot.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.DeleteInstanceSnapshot--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , disrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'deleteInstanceSnapshot' smart constructor. newtype DeleteInstanceSnapshot = DeleteInstanceSnapshot'-    { _disInstanceSnapshotName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _disInstanceSnapshotName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteInstanceSnapshot' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -58,10 +59,9 @@     :: Text -- ^ 'disInstanceSnapshotName'     -> DeleteInstanceSnapshot deleteInstanceSnapshot pInstanceSnapshotName_ =-    DeleteInstanceSnapshot'-    { _disInstanceSnapshotName = pInstanceSnapshotName_-    }+  DeleteInstanceSnapshot' {_disInstanceSnapshotName = pInstanceSnapshotName_} + -- | The name of the snapshot to delete. disInstanceSnapshotName :: Lens' DeleteInstanceSnapshot Text disInstanceSnapshotName = lens _disInstanceSnapshotName (\ s a -> s{_disInstanceSnapshotName = a});@@ -77,9 +77,9 @@                    (x .?> "operations" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable DeleteInstanceSnapshot+instance Hashable DeleteInstanceSnapshot where -instance NFData DeleteInstanceSnapshot+instance NFData DeleteInstanceSnapshot where  instance ToHeaders DeleteInstanceSnapshot where         toHeaders@@ -107,10 +107,11 @@  -- | /See:/ 'deleteInstanceSnapshotResponse' smart constructor. data DeleteInstanceSnapshotResponse = DeleteInstanceSnapshotResponse'-    { _disrsOperations     :: !(Maybe [Operation])-    , _disrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _disrsOperations     :: !(Maybe [Operation])+  , _disrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteInstanceSnapshotResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -122,11 +123,10 @@     :: Int -- ^ 'disrsResponseStatus'     -> DeleteInstanceSnapshotResponse deleteInstanceSnapshotResponse pResponseStatus_ =-    DeleteInstanceSnapshotResponse'-    { _disrsOperations = Nothing-    , _disrsResponseStatus = pResponseStatus_-    }+  DeleteInstanceSnapshotResponse'+  {_disrsOperations = Nothing, _disrsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the results of your delete instance snapshot request. disrsOperations :: Lens' DeleteInstanceSnapshotResponse [Operation] disrsOperations = lens _disrsOperations (\ s a -> s{_disrsOperations = a}) . _Default . _Coerce;@@ -135,4 +135,4 @@ disrsResponseStatus :: Lens' DeleteInstanceSnapshotResponse Int disrsResponseStatus = lens _disrsResponseStatus (\ s a -> s{_disrsResponseStatus = a}); -instance NFData DeleteInstanceSnapshotResponse+instance NFData DeleteInstanceSnapshotResponse where
gen/Network/AWS/Lightsail/DeleteKeyPair.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.DeleteKeyPair--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , dkprsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'deleteKeyPair' smart constructor. newtype DeleteKeyPair = DeleteKeyPair'-    { _dkpKeyPairName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dkpKeyPairName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteKeyPair' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,11 +58,9 @@ deleteKeyPair     :: Text -- ^ 'dkpKeyPairName'     -> DeleteKeyPair-deleteKeyPair pKeyPairName_ =-    DeleteKeyPair'-    { _dkpKeyPairName = pKeyPairName_-    }+deleteKeyPair pKeyPairName_ = DeleteKeyPair' {_dkpKeyPairName = pKeyPairName_} + -- | The name of the key pair to delete. dkpKeyPairName :: Lens' DeleteKeyPair Text dkpKeyPairName = lens _dkpKeyPairName (\ s a -> s{_dkpKeyPairName = a});@@ -75,9 +74,9 @@                  DeleteKeyPairResponse' <$>                    (x .?> "operation") <*> (pure (fromEnum s))) -instance Hashable DeleteKeyPair+instance Hashable DeleteKeyPair where -instance NFData DeleteKeyPair+instance NFData DeleteKeyPair where  instance ToHeaders DeleteKeyPair where         toHeaders@@ -101,10 +100,11 @@  -- | /See:/ 'deleteKeyPairResponse' smart constructor. data DeleteKeyPairResponse = DeleteKeyPairResponse'-    { _dkprsOperation      :: !(Maybe Operation)-    , _dkprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dkprsOperation      :: !(Maybe Operation)+  , _dkprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DeleteKeyPairResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -116,11 +116,10 @@     :: Int -- ^ 'dkprsResponseStatus'     -> DeleteKeyPairResponse deleteKeyPairResponse pResponseStatus_ =-    DeleteKeyPairResponse'-    { _dkprsOperation = Nothing-    , _dkprsResponseStatus = pResponseStatus_-    }+  DeleteKeyPairResponse'+  {_dkprsOperation = Nothing, _dkprsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the results of your delete key pair request. dkprsOperation :: Lens' DeleteKeyPairResponse (Maybe Operation) dkprsOperation = lens _dkprsOperation (\ s a -> s{_dkprsOperation = a});@@ -129,4 +128,4 @@ dkprsResponseStatus :: Lens' DeleteKeyPairResponse Int dkprsResponseStatus = lens _dkprsResponseStatus (\ s a -> s{_dkprsResponseStatus = a}); -instance NFData DeleteKeyPairResponse+instance NFData DeleteKeyPairResponse where
gen/Network/AWS/Lightsail/DetachStaticIP.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.DetachStaticIP--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , dsirsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'detachStaticIP' smart constructor. newtype DetachStaticIP = DetachStaticIP'-    { _dsiStaticIPName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dsiStaticIPName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DetachStaticIP' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -58,10 +59,9 @@     :: Text -- ^ 'dsiStaticIPName'     -> DetachStaticIP detachStaticIP pStaticIPName_ =-    DetachStaticIP'-    { _dsiStaticIPName = pStaticIPName_-    }+  DetachStaticIP' {_dsiStaticIPName = pStaticIPName_} + -- | The name of the static IP to detach from the instance. dsiStaticIPName :: Lens' DetachStaticIP Text dsiStaticIPName = lens _dsiStaticIPName (\ s a -> s{_dsiStaticIPName = a});@@ -76,9 +76,9 @@                    (x .?> "operations" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable DetachStaticIP+instance Hashable DetachStaticIP where -instance NFData DetachStaticIP+instance NFData DetachStaticIP where  instance ToHeaders DetachStaticIP where         toHeaders@@ -103,10 +103,11 @@  -- | /See:/ 'detachStaticIPResponse' smart constructor. data DetachStaticIPResponse = DetachStaticIPResponse'-    { _dsirsOperations     :: !(Maybe [Operation])-    , _dsirsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _dsirsOperations     :: !(Maybe [Operation])+  , _dsirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DetachStaticIPResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -118,11 +119,10 @@     :: Int -- ^ 'dsirsResponseStatus'     -> DetachStaticIPResponse detachStaticIPResponse pResponseStatus_ =-    DetachStaticIPResponse'-    { _dsirsOperations = Nothing-    , _dsirsResponseStatus = pResponseStatus_-    }+  DetachStaticIPResponse'+  {_dsirsOperations = Nothing, _dsirsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the results of your detach static IP request. dsirsOperations :: Lens' DetachStaticIPResponse [Operation] dsirsOperations = lens _dsirsOperations (\ s a -> s{_dsirsOperations = a}) . _Default . _Coerce;@@ -131,4 +131,4 @@ dsirsResponseStatus :: Lens' DetachStaticIPResponse Int dsirsResponseStatus = lens _dsirsResponseStatus (\ s a -> s{_dsirsResponseStatus = a}); -instance NFData DetachStaticIPResponse+instance NFData DetachStaticIPResponse where
gen/Network/AWS/Lightsail/DownloadDefaultKeyPair.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.DownloadDefaultKeyPair--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -36,24 +36,26 @@     , ddkprsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'downloadDefaultKeyPair' smart constructor. data DownloadDefaultKeyPair =-    DownloadDefaultKeyPair'-    deriving (Eq,Read,Show,Data,Typeable,Generic)+  DownloadDefaultKeyPair'+  deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DownloadDefaultKeyPair' with the minimum fields required to make a request. -- downloadDefaultKeyPair     :: DownloadDefaultKeyPair downloadDefaultKeyPair = DownloadDefaultKeyPair' + instance AWSRequest DownloadDefaultKeyPair where         type Rs DownloadDefaultKeyPair =              DownloadDefaultKeyPairResponse@@ -66,9 +68,9 @@                      (x .?> "privateKeyBase64")                      <*> (pure (fromEnum s))) -instance Hashable DownloadDefaultKeyPair+instance Hashable DownloadDefaultKeyPair where -instance NFData DownloadDefaultKeyPair+instance NFData DownloadDefaultKeyPair where  instance ToHeaders DownloadDefaultKeyPair where         toHeaders@@ -91,11 +93,12 @@  -- | /See:/ 'downloadDefaultKeyPairResponse' smart constructor. data DownloadDefaultKeyPairResponse = DownloadDefaultKeyPairResponse'-    { _ddkprsPublicKeyBase64  :: !(Maybe Text)-    , _ddkprsPrivateKeyBase64 :: !(Maybe Text)-    , _ddkprsResponseStatus   :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ddkprsPublicKeyBase64  :: !(Maybe Text)+  , _ddkprsPrivateKeyBase64 :: !(Maybe Text)+  , _ddkprsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'DownloadDefaultKeyPairResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -109,12 +112,13 @@     :: Int -- ^ 'ddkprsResponseStatus'     -> DownloadDefaultKeyPairResponse downloadDefaultKeyPairResponse pResponseStatus_ =-    DownloadDefaultKeyPairResponse'-    { _ddkprsPublicKeyBase64 = Nothing-    , _ddkprsPrivateKeyBase64 = Nothing-    , _ddkprsResponseStatus = pResponseStatus_-    }+  DownloadDefaultKeyPairResponse'+  { _ddkprsPublicKeyBase64 = Nothing+  , _ddkprsPrivateKeyBase64 = Nothing+  , _ddkprsResponseStatus = pResponseStatus_+  } + -- | A base64-encoded public key of the @ssh-rsa@ type. ddkprsPublicKeyBase64 :: Lens' DownloadDefaultKeyPairResponse (Maybe Text) ddkprsPublicKeyBase64 = lens _ddkprsPublicKeyBase64 (\ s a -> s{_ddkprsPublicKeyBase64 = a});@@ -127,4 +131,4 @@ ddkprsResponseStatus :: Lens' DownloadDefaultKeyPairResponse Int ddkprsResponseStatus = lens _ddkprsResponseStatus (\ s a -> s{_ddkprsResponseStatus = a}); -instance NFData DownloadDefaultKeyPairResponse+instance NFData DownloadDefaultKeyPairResponse where
gen/Network/AWS/Lightsail/GetActiveNames.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.Lightsail.GetActiveNames--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns the names of all active (not deleted) resources. -- --+--+-- This operation returns paginated results. module Network.AWS.Lightsail.GetActiveNames     (     -- * Creating a Request@@ -38,18 +40,20 @@     , ganrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getActiveNames' smart constructor. newtype GetActiveNames = GetActiveNames'-    { _ganPageToken :: Maybe Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ganPageToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetActiveNames' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,15 +61,20 @@ -- * 'ganPageToken' - A token used for paginating results from your get active names request. getActiveNames     :: GetActiveNames-getActiveNames =-    GetActiveNames'-    { _ganPageToken = Nothing-    }+getActiveNames = GetActiveNames' {_ganPageToken = Nothing} + -- | A token used for paginating results from your get active names request. ganPageToken :: Lens' GetActiveNames (Maybe Text) ganPageToken = lens _ganPageToken (\ s a -> s{_ganPageToken = a}); +instance AWSPager GetActiveNames where+        page rq rs+          | stop (rs ^. ganrsNextPageToken) = Nothing+          | stop (rs ^. ganrsActiveNames) = Nothing+          | otherwise =+            Just $ rq & ganPageToken .~ rs ^. ganrsNextPageToken+ instance AWSRequest GetActiveNames where         type Rs GetActiveNames = GetActiveNamesResponse         request = postJSON lightsail@@ -77,9 +86,9 @@                      (x .?> "activeNames" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable GetActiveNames+instance Hashable GetActiveNames where -instance NFData GetActiveNames+instance NFData GetActiveNames where  instance ToHeaders GetActiveNames where         toHeaders@@ -103,11 +112,12 @@  -- | /See:/ 'getActiveNamesResponse' smart constructor. data GetActiveNamesResponse = GetActiveNamesResponse'-    { _ganrsNextPageToken  :: !(Maybe Text)-    , _ganrsActiveNames    :: !(Maybe [Text])-    , _ganrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ganrsNextPageToken  :: !(Maybe Text)+  , _ganrsActiveNames    :: !(Maybe [Text])+  , _ganrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetActiveNamesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -121,12 +131,13 @@     :: Int -- ^ 'ganrsResponseStatus'     -> GetActiveNamesResponse getActiveNamesResponse pResponseStatus_ =-    GetActiveNamesResponse'-    { _ganrsNextPageToken = Nothing-    , _ganrsActiveNames = Nothing-    , _ganrsResponseStatus = pResponseStatus_-    }+  GetActiveNamesResponse'+  { _ganrsNextPageToken = Nothing+  , _ganrsActiveNames = Nothing+  , _ganrsResponseStatus = pResponseStatus_+  } + -- | A token used for advancing to the next page of results from your get active names request. ganrsNextPageToken :: Lens' GetActiveNamesResponse (Maybe Text) ganrsNextPageToken = lens _ganrsNextPageToken (\ s a -> s{_ganrsNextPageToken = a});@@ -139,4 +150,4 @@ ganrsResponseStatus :: Lens' GetActiveNamesResponse Int ganrsResponseStatus = lens _ganrsResponseStatus (\ s a -> s{_ganrsResponseStatus = a}); -instance NFData GetActiveNamesResponse+instance NFData GetActiveNamesResponse where
gen/Network/AWS/Lightsail/GetBlueprints.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.Lightsail.GetBlueprints--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns the list of available instance images, or /blueprints/ . You can use a blueprint to create a new virtual private server already running a specific operating system, as well as a preinstalled app or development stack. The software each instance is running depends on the blueprint image you choose. -- --+--+-- This operation returns paginated results. module Network.AWS.Lightsail.GetBlueprints     (     -- * Creating a Request@@ -39,19 +41,21 @@     , gbsrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getBlueprints' smart constructor. data GetBlueprints = GetBlueprints'-    { _gbIncludeInactive :: !(Maybe Bool)-    , _gbPageToken       :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gbIncludeInactive :: !(Maybe Bool)+  , _gbPageToken       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetBlueprints' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -62,11 +66,9 @@ getBlueprints     :: GetBlueprints getBlueprints =-    GetBlueprints'-    { _gbIncludeInactive = Nothing-    , _gbPageToken = Nothing-    }+  GetBlueprints' {_gbIncludeInactive = Nothing, _gbPageToken = Nothing} + -- | A Boolean value indicating whether to include inactive results in your request. gbIncludeInactive :: Lens' GetBlueprints (Maybe Bool) gbIncludeInactive = lens _gbIncludeInactive (\ s a -> s{_gbIncludeInactive = a});@@ -75,6 +77,13 @@ gbPageToken :: Lens' GetBlueprints (Maybe Text) gbPageToken = lens _gbPageToken (\ s a -> s{_gbPageToken = a}); +instance AWSPager GetBlueprints where+        page rq rs+          | stop (rs ^. gbsrsNextPageToken) = Nothing+          | stop (rs ^. gbsrsBlueprints) = Nothing+          | otherwise =+            Just $ rq & gbPageToken .~ rs ^. gbsrsNextPageToken+ instance AWSRequest GetBlueprints where         type Rs GetBlueprints = GetBlueprintsResponse         request = postJSON lightsail@@ -86,9 +95,9 @@                      (x .?> "nextPageToken")                      <*> (pure (fromEnum s))) -instance Hashable GetBlueprints+instance Hashable GetBlueprints where -instance NFData GetBlueprints+instance NFData GetBlueprints where  instance ToHeaders GetBlueprints where         toHeaders@@ -114,11 +123,12 @@  -- | /See:/ 'getBlueprintsResponse' smart constructor. data GetBlueprintsResponse = GetBlueprintsResponse'-    { _gbsrsBlueprints     :: !(Maybe [Blueprint])-    , _gbsrsNextPageToken  :: !(Maybe Text)-    , _gbsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gbsrsBlueprints     :: !(Maybe [Blueprint])+  , _gbsrsNextPageToken  :: !(Maybe Text)+  , _gbsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetBlueprintsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -132,12 +142,13 @@     :: Int -- ^ 'gbsrsResponseStatus'     -> GetBlueprintsResponse getBlueprintsResponse pResponseStatus_ =-    GetBlueprintsResponse'-    { _gbsrsBlueprints = Nothing-    , _gbsrsNextPageToken = Nothing-    , _gbsrsResponseStatus = pResponseStatus_-    }+  GetBlueprintsResponse'+  { _gbsrsBlueprints = Nothing+  , _gbsrsNextPageToken = Nothing+  , _gbsrsResponseStatus = pResponseStatus_+  } + -- | An array of key-value pairs that contains information about the available blueprints. gbsrsBlueprints :: Lens' GetBlueprintsResponse [Blueprint] gbsrsBlueprints = lens _gbsrsBlueprints (\ s a -> s{_gbsrsBlueprints = a}) . _Default . _Coerce;@@ -150,4 +161,4 @@ gbsrsResponseStatus :: Lens' GetBlueprintsResponse Int gbsrsResponseStatus = lens _gbsrsResponseStatus (\ s a -> s{_gbsrsResponseStatus = a}); -instance NFData GetBlueprintsResponse+instance NFData GetBlueprintsResponse where
gen/Network/AWS/Lightsail/GetBundles.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.Lightsail.GetBundles--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns the list of bundles that are available for purchase. A bundle describes the specs for your virtual private server (or /instance/ ). -- --+--+-- This operation returns paginated results. module Network.AWS.Lightsail.GetBundles     (     -- * Creating a Request@@ -39,19 +41,21 @@     , gbrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getBundles' smart constructor. data GetBundles = GetBundles'-    { _gIncludeInactive :: !(Maybe Bool)-    , _gPageToken       :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gIncludeInactive :: !(Maybe Bool)+  , _gPageToken       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetBundles' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -61,12 +65,9 @@ -- * 'gPageToken' - A token used for advancing to the next page of results from your get bundles request. getBundles     :: GetBundles-getBundles =-    GetBundles'-    { _gIncludeInactive = Nothing-    , _gPageToken = Nothing-    }+getBundles = GetBundles' {_gIncludeInactive = Nothing, _gPageToken = Nothing} + -- | A Boolean value that indicates whether to include inactive bundle results in your request. gIncludeInactive :: Lens' GetBundles (Maybe Bool) gIncludeInactive = lens _gIncludeInactive (\ s a -> s{_gIncludeInactive = a});@@ -75,6 +76,13 @@ gPageToken :: Lens' GetBundles (Maybe Text) gPageToken = lens _gPageToken (\ s a -> s{_gPageToken = a}); +instance AWSPager GetBundles where+        page rq rs+          | stop (rs ^. gbrsNextPageToken) = Nothing+          | stop (rs ^. gbrsBundles) = Nothing+          | otherwise =+            Just $ rq & gPageToken .~ rs ^. gbrsNextPageToken+ instance AWSRequest GetBundles where         type Rs GetBundles = GetBundlesResponse         request = postJSON lightsail@@ -86,9 +94,9 @@                      (x .?> "bundles" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable GetBundles+instance Hashable GetBundles where -instance NFData GetBundles+instance NFData GetBundles where  instance ToHeaders GetBundles where         toHeaders@@ -114,11 +122,12 @@  -- | /See:/ 'getBundlesResponse' smart constructor. data GetBundlesResponse = GetBundlesResponse'-    { _gbrsNextPageToken  :: !(Maybe Text)-    , _gbrsBundles        :: !(Maybe [Bundle])-    , _gbrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gbrsNextPageToken  :: !(Maybe Text)+  , _gbrsBundles        :: !(Maybe [Bundle])+  , _gbrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetBundlesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -132,12 +141,13 @@     :: Int -- ^ 'gbrsResponseStatus'     -> GetBundlesResponse getBundlesResponse pResponseStatus_ =-    GetBundlesResponse'-    { _gbrsNextPageToken = Nothing-    , _gbrsBundles = Nothing-    , _gbrsResponseStatus = pResponseStatus_-    }+  GetBundlesResponse'+  { _gbrsNextPageToken = Nothing+  , _gbrsBundles = Nothing+  , _gbrsResponseStatus = pResponseStatus_+  } + -- | A token used for advancing to the next page of results from your get active names request. gbrsNextPageToken :: Lens' GetBundlesResponse (Maybe Text) gbrsNextPageToken = lens _gbrsNextPageToken (\ s a -> s{_gbrsNextPageToken = a});@@ -150,4 +160,4 @@ gbrsResponseStatus :: Lens' GetBundlesResponse Int gbrsResponseStatus = lens _gbrsResponseStatus (\ s a -> s{_gbrsResponseStatus = a}); -instance NFData GetBundlesResponse+instance NFData GetBundlesResponse where
gen/Network/AWS/Lightsail/GetDomain.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.GetDomain--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , gdrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getDomain' smart constructor. newtype GetDomain = GetDomain'-    { _gdDomainName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gdDomainName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetDomain' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,11 +58,9 @@ getDomain     :: Text -- ^ 'gdDomainName'     -> GetDomain-getDomain pDomainName_ =-    GetDomain'-    { _gdDomainName = pDomainName_-    }+getDomain pDomainName_ = GetDomain' {_gdDomainName = pDomainName_} + -- | The domain name for which your want to return information about. gdDomainName :: Lens' GetDomain Text gdDomainName = lens _gdDomainName (\ s a -> s{_gdDomainName = a});@@ -75,9 +74,9 @@                  GetDomainResponse' <$>                    (x .?> "domain") <*> (pure (fromEnum s))) -instance Hashable GetDomain+instance Hashable GetDomain where -instance NFData GetDomain+instance NFData GetDomain where  instance ToHeaders GetDomain where         toHeaders@@ -101,10 +100,11 @@  -- | /See:/ 'getDomainResponse' smart constructor. data GetDomainResponse = GetDomainResponse'-    { _gdrsDomain         :: !(Maybe Domain)-    , _gdrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gdrsDomain         :: !(Maybe Domain)+  , _gdrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetDomainResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -116,11 +116,10 @@     :: Int -- ^ 'gdrsResponseStatus'     -> GetDomainResponse getDomainResponse pResponseStatus_ =-    GetDomainResponse'-    { _gdrsDomain = Nothing-    , _gdrsResponseStatus = pResponseStatus_-    }+  GetDomainResponse'+  {_gdrsDomain = Nothing, _gdrsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about your get domain request. gdrsDomain :: Lens' GetDomainResponse (Maybe Domain) gdrsDomain = lens _gdrsDomain (\ s a -> s{_gdrsDomain = a});@@ -129,4 +128,4 @@ gdrsResponseStatus :: Lens' GetDomainResponse Int gdrsResponseStatus = lens _gdrsResponseStatus (\ s a -> s{_gdrsResponseStatus = a}); -instance NFData GetDomainResponse+instance NFData GetDomainResponse where
gen/Network/AWS/Lightsail/GetDomains.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.Lightsail.GetDomains--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns a list of all domains in the user's account. -- --+--+-- This operation returns paginated results. module Network.AWS.Lightsail.GetDomains     (     -- * Creating a Request@@ -38,18 +40,20 @@     , gdsrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getDomains' smart constructor. newtype GetDomains = GetDomains'-    { _gdPageToken :: Maybe Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gdPageToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetDomains' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,15 +61,20 @@ -- * 'gdPageToken' - A token used for advancing to the next page of results from your get domains request. getDomains     :: GetDomains-getDomains =-    GetDomains'-    { _gdPageToken = Nothing-    }+getDomains = GetDomains' {_gdPageToken = Nothing} + -- | A token used for advancing to the next page of results from your get domains request. gdPageToken :: Lens' GetDomains (Maybe Text) gdPageToken = lens _gdPageToken (\ s a -> s{_gdPageToken = a}); +instance AWSPager GetDomains where+        page rq rs+          | stop (rs ^. gdsrsNextPageToken) = Nothing+          | stop (rs ^. gdsrsDomains) = Nothing+          | otherwise =+            Just $ rq & gdPageToken .~ rs ^. gdsrsNextPageToken+ instance AWSRequest GetDomains where         type Rs GetDomains = GetDomainsResponse         request = postJSON lightsail@@ -77,9 +86,9 @@                      (x .?> "domains" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable GetDomains+instance Hashable GetDomains where -instance NFData GetDomains+instance NFData GetDomains where  instance ToHeaders GetDomains where         toHeaders@@ -103,11 +112,12 @@  -- | /See:/ 'getDomainsResponse' smart constructor. data GetDomainsResponse = GetDomainsResponse'-    { _gdsrsNextPageToken  :: !(Maybe Text)-    , _gdsrsDomains        :: !(Maybe [Domain])-    , _gdsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gdsrsNextPageToken  :: !(Maybe Text)+  , _gdsrsDomains        :: !(Maybe [Domain])+  , _gdsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetDomainsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -121,12 +131,13 @@     :: Int -- ^ 'gdsrsResponseStatus'     -> GetDomainsResponse getDomainsResponse pResponseStatus_ =-    GetDomainsResponse'-    { _gdsrsNextPageToken = Nothing-    , _gdsrsDomains = Nothing-    , _gdsrsResponseStatus = pResponseStatus_-    }+  GetDomainsResponse'+  { _gdsrsNextPageToken = Nothing+  , _gdsrsDomains = Nothing+  , _gdsrsResponseStatus = pResponseStatus_+  } + -- | A token used for advancing to the next page of results from your get active names request. gdsrsNextPageToken :: Lens' GetDomainsResponse (Maybe Text) gdsrsNextPageToken = lens _gdsrsNextPageToken (\ s a -> s{_gdsrsNextPageToken = a});@@ -139,4 +150,4 @@ gdsrsResponseStatus :: Lens' GetDomainsResponse Int gdsrsResponseStatus = lens _gdsrsResponseStatus (\ s a -> s{_gdsrsResponseStatus = a}); -instance NFData GetDomainsResponse+instance NFData GetDomainsResponse where
gen/Network/AWS/Lightsail/GetInstance.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstance--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , girsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getInstance' smart constructor. newtype GetInstance = GetInstance'-    { _giInstanceName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _giInstanceName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstance' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,11 +58,9 @@ getInstance     :: Text -- ^ 'giInstanceName'     -> GetInstance-getInstance pInstanceName_ =-    GetInstance'-    { _giInstanceName = pInstanceName_-    }+getInstance pInstanceName_ = GetInstance' {_giInstanceName = pInstanceName_} + -- | The name of the instance. giInstanceName :: Lens' GetInstance Text giInstanceName = lens _giInstanceName (\ s a -> s{_giInstanceName = a});@@ -75,9 +74,9 @@                  GetInstanceResponse' <$>                    (x .?> "instance") <*> (pure (fromEnum s))) -instance Hashable GetInstance+instance Hashable GetInstance where -instance NFData GetInstance+instance NFData GetInstance where  instance ToHeaders GetInstance where         toHeaders@@ -102,10 +101,11 @@  -- | /See:/ 'getInstanceResponse' smart constructor. data GetInstanceResponse = GetInstanceResponse'-    { _girsInstance       :: !(Maybe Instance)-    , _girsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _girsInstance       :: !(Maybe Instance)+  , _girsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstanceResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -117,11 +117,10 @@     :: Int -- ^ 'girsResponseStatus'     -> GetInstanceResponse getInstanceResponse pResponseStatus_ =-    GetInstanceResponse'-    { _girsInstance = Nothing-    , _girsResponseStatus = pResponseStatus_-    }+  GetInstanceResponse'+  {_girsInstance = Nothing, _girsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the specified instance. girsInstance :: Lens' GetInstanceResponse (Maybe Instance) girsInstance = lens _girsInstance (\ s a -> s{_girsInstance = a});@@ -130,4 +129,4 @@ girsResponseStatus :: Lens' GetInstanceResponse Int girsResponseStatus = lens _girsResponseStatus (\ s a -> s{_girsResponseStatus = a}); -instance NFData GetInstanceResponse+instance NFData GetInstanceResponse where
gen/Network/AWS/Lightsail/GetInstanceAccessDetails.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstanceAccessDetails--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,19 +38,20 @@     , giadrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getInstanceAccessDetails' smart constructor. data GetInstanceAccessDetails = GetInstanceAccessDetails'-    { _giadProtocol     :: !(Maybe InstanceAccessProtocol)-    , _giadInstanceName :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _giadProtocol     :: !(Maybe InstanceAccessProtocol)+  , _giadInstanceName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstanceAccessDetails' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -62,11 +63,10 @@     :: Text -- ^ 'giadInstanceName'     -> GetInstanceAccessDetails getInstanceAccessDetails pInstanceName_ =-    GetInstanceAccessDetails'-    { _giadProtocol = Nothing-    , _giadInstanceName = pInstanceName_-    }+  GetInstanceAccessDetails'+  {_giadProtocol = Nothing, _giadInstanceName = pInstanceName_} + -- | The protocol to use to connect to your instance. Defaults to @ssh@ . giadProtocol :: Lens' GetInstanceAccessDetails (Maybe InstanceAccessProtocol) giadProtocol = lens _giadProtocol (\ s a -> s{_giadProtocol = a});@@ -85,9 +85,9 @@                  GetInstanceAccessDetailsResponse' <$>                    (x .?> "accessDetails") <*> (pure (fromEnum s))) -instance Hashable GetInstanceAccessDetails+instance Hashable GetInstanceAccessDetails where -instance NFData GetInstanceAccessDetails+instance NFData GetInstanceAccessDetails where  instance ToHeaders GetInstanceAccessDetails where         toHeaders@@ -114,10 +114,11 @@  -- | /See:/ 'getInstanceAccessDetailsResponse' smart constructor. data GetInstanceAccessDetailsResponse = GetInstanceAccessDetailsResponse'-    { _giadrsAccessDetails  :: !(Maybe InstanceAccessDetails)-    , _giadrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _giadrsAccessDetails  :: !(Maybe InstanceAccessDetails)+  , _giadrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstanceAccessDetailsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -129,11 +130,10 @@     :: Int -- ^ 'giadrsResponseStatus'     -> GetInstanceAccessDetailsResponse getInstanceAccessDetailsResponse pResponseStatus_ =-    GetInstanceAccessDetailsResponse'-    { _giadrsAccessDetails = Nothing-    , _giadrsResponseStatus = pResponseStatus_-    }+  GetInstanceAccessDetailsResponse'+  {_giadrsAccessDetails = Nothing, _giadrsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about a get instance access request. giadrsAccessDetails :: Lens' GetInstanceAccessDetailsResponse (Maybe InstanceAccessDetails) giadrsAccessDetails = lens _giadrsAccessDetails (\ s a -> s{_giadrsAccessDetails = a});@@ -143,3 +143,4 @@ giadrsResponseStatus = lens _giadrsResponseStatus (\ s a -> s{_giadrsResponseStatus = a});  instance NFData GetInstanceAccessDetailsResponse+         where
gen/Network/AWS/Lightsail/GetInstanceMetricData.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstanceMetricData--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -44,24 +44,25 @@     , gimdrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getInstanceMetricData' smart constructor. data GetInstanceMetricData = GetInstanceMetricData'-    { _gimdInstanceName :: !Text-    , _gimdMetricName   :: !InstanceMetricName-    , _gimdPeriod       :: !Nat-    , _gimdStartTime    :: !POSIX-    , _gimdEndTime      :: !POSIX-    , _gimdUnit         :: !MetricUnit-    , _gimdStatistics   :: ![MetricStatistic]-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gimdInstanceName :: !Text+  , _gimdMetricName   :: !InstanceMetricName+  , _gimdPeriod       :: !Nat+  , _gimdStartTime    :: !POSIX+  , _gimdEndTime      :: !POSIX+  , _gimdUnit         :: !MetricUnit+  , _gimdStatistics   :: ![MetricStatistic]+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstanceMetricData' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -88,16 +89,17 @@     -> MetricUnit -- ^ 'gimdUnit'     -> GetInstanceMetricData getInstanceMetricData pInstanceName_ pMetricName_ pPeriod_ pStartTime_ pEndTime_ pUnit_ =-    GetInstanceMetricData'-    { _gimdInstanceName = pInstanceName_-    , _gimdMetricName = pMetricName_-    , _gimdPeriod = _Nat # pPeriod_-    , _gimdStartTime = _Time # pStartTime_-    , _gimdEndTime = _Time # pEndTime_-    , _gimdUnit = pUnit_-    , _gimdStatistics = mempty-    }+  GetInstanceMetricData'+  { _gimdInstanceName = pInstanceName_+  , _gimdMetricName = pMetricName_+  , _gimdPeriod = _Nat # pPeriod_+  , _gimdStartTime = _Time # pStartTime_+  , _gimdEndTime = _Time # pEndTime_+  , _gimdUnit = pUnit_+  , _gimdStatistics = mempty+  } + -- | The name of the instance for which you want to get metrics data. gimdInstanceName :: Lens' GetInstanceMetricData Text gimdInstanceName = lens _gimdInstanceName (\ s a -> s{_gimdInstanceName = a});@@ -138,9 +140,9 @@                      (x .?> "metricData" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable GetInstanceMetricData+instance Hashable GetInstanceMetricData where -instance NFData GetInstanceMetricData+instance NFData GetInstanceMetricData where  instance ToHeaders GetInstanceMetricData where         toHeaders@@ -172,11 +174,12 @@  -- | /See:/ 'getInstanceMetricDataResponse' smart constructor. data GetInstanceMetricDataResponse = GetInstanceMetricDataResponse'-    { _gimdrsMetricName     :: !(Maybe InstanceMetricName)-    , _gimdrsMetricData     :: !(Maybe [MetricDatapoint])-    , _gimdrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gimdrsMetricName     :: !(Maybe InstanceMetricName)+  , _gimdrsMetricData     :: !(Maybe [MetricDatapoint])+  , _gimdrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstanceMetricDataResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -190,12 +193,13 @@     :: Int -- ^ 'gimdrsResponseStatus'     -> GetInstanceMetricDataResponse getInstanceMetricDataResponse pResponseStatus_ =-    GetInstanceMetricDataResponse'-    { _gimdrsMetricName = Nothing-    , _gimdrsMetricData = Nothing-    , _gimdrsResponseStatus = pResponseStatus_-    }+  GetInstanceMetricDataResponse'+  { _gimdrsMetricName = Nothing+  , _gimdrsMetricData = Nothing+  , _gimdrsResponseStatus = pResponseStatus_+  } + -- | The metric name to return data for. gimdrsMetricName :: Lens' GetInstanceMetricDataResponse (Maybe InstanceMetricName) gimdrsMetricName = lens _gimdrsMetricName (\ s a -> s{_gimdrsMetricName = a});@@ -208,4 +212,4 @@ gimdrsResponseStatus :: Lens' GetInstanceMetricDataResponse Int gimdrsResponseStatus = lens _gimdrsResponseStatus (\ s a -> s{_gimdrsResponseStatus = a}); -instance NFData GetInstanceMetricDataResponse+instance NFData GetInstanceMetricDataResponse where
gen/Network/AWS/Lightsail/GetInstancePortStates.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstancePortStates--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , gipsrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getInstancePortStates' smart constructor. newtype GetInstancePortStates = GetInstancePortStates'-    { _gipsInstanceName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gipsInstanceName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstancePortStates' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -58,10 +59,9 @@     :: Text -- ^ 'gipsInstanceName'     -> GetInstancePortStates getInstancePortStates pInstanceName_ =-    GetInstancePortStates'-    { _gipsInstanceName = pInstanceName_-    }+  GetInstancePortStates' {_gipsInstanceName = pInstanceName_} + -- | The name of the instance. gipsInstanceName :: Lens' GetInstancePortStates Text gipsInstanceName = lens _gipsInstanceName (\ s a -> s{_gipsInstanceName = a});@@ -77,9 +77,9 @@                    (x .?> "portStates" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable GetInstancePortStates+instance Hashable GetInstancePortStates where -instance NFData GetInstancePortStates+instance NFData GetInstancePortStates where  instance ToHeaders GetInstancePortStates where         toHeaders@@ -105,10 +105,11 @@  -- | /See:/ 'getInstancePortStatesResponse' smart constructor. data GetInstancePortStatesResponse = GetInstancePortStatesResponse'-    { _gipsrsPortStates     :: !(Maybe [PortState])-    , _gipsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gipsrsPortStates     :: !(Maybe [InstancePortState])+  , _gipsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstancePortStatesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -120,17 +121,16 @@     :: Int -- ^ 'gipsrsResponseStatus'     -> GetInstancePortStatesResponse getInstancePortStatesResponse pResponseStatus_ =-    GetInstancePortStatesResponse'-    { _gipsrsPortStates = Nothing-    , _gipsrsResponseStatus = pResponseStatus_-    }+  GetInstancePortStatesResponse'+  {_gipsrsPortStates = Nothing, _gipsrsResponseStatus = pResponseStatus_} + -- | Information about the port states resulting from your request.-gipsrsPortStates :: Lens' GetInstancePortStatesResponse [PortState]+gipsrsPortStates :: Lens' GetInstancePortStatesResponse [InstancePortState] gipsrsPortStates = lens _gipsrsPortStates (\ s a -> s{_gipsrsPortStates = a}) . _Default . _Coerce;  -- | -- | The response status code. gipsrsResponseStatus :: Lens' GetInstancePortStatesResponse Int gipsrsResponseStatus = lens _gipsrsResponseStatus (\ s a -> s{_gipsrsResponseStatus = a}); -instance NFData GetInstancePortStatesResponse+instance NFData GetInstancePortStatesResponse where
gen/Network/AWS/Lightsail/GetInstanceSnapshot.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstanceSnapshot--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , gisrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getInstanceSnapshot' smart constructor. newtype GetInstanceSnapshot = GetInstanceSnapshot'-    { _gisInstanceSnapshotName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gisInstanceSnapshotName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstanceSnapshot' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -58,10 +59,9 @@     :: Text -- ^ 'gisInstanceSnapshotName'     -> GetInstanceSnapshot getInstanceSnapshot pInstanceSnapshotName_ =-    GetInstanceSnapshot'-    { _gisInstanceSnapshotName = pInstanceSnapshotName_-    }+  GetInstanceSnapshot' {_gisInstanceSnapshotName = pInstanceSnapshotName_} + -- | The name of the snapshot for which you are requesting information. gisInstanceSnapshotName :: Lens' GetInstanceSnapshot Text gisInstanceSnapshotName = lens _gisInstanceSnapshotName (\ s a -> s{_gisInstanceSnapshotName = a});@@ -76,9 +76,9 @@                  GetInstanceSnapshotResponse' <$>                    (x .?> "instanceSnapshot") <*> (pure (fromEnum s))) -instance Hashable GetInstanceSnapshot+instance Hashable GetInstanceSnapshot where -instance NFData GetInstanceSnapshot+instance NFData GetInstanceSnapshot where  instance ToHeaders GetInstanceSnapshot where         toHeaders@@ -106,10 +106,11 @@  -- | /See:/ 'getInstanceSnapshotResponse' smart constructor. data GetInstanceSnapshotResponse = GetInstanceSnapshotResponse'-    { _gisrsInstanceSnapshot :: !(Maybe InstanceSnapshot)-    , _gisrsResponseStatus   :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gisrsInstanceSnapshot :: !(Maybe InstanceSnapshot)+  , _gisrsResponseStatus   :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstanceSnapshotResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -121,11 +122,10 @@     :: Int -- ^ 'gisrsResponseStatus'     -> GetInstanceSnapshotResponse getInstanceSnapshotResponse pResponseStatus_ =-    GetInstanceSnapshotResponse'-    { _gisrsInstanceSnapshot = Nothing-    , _gisrsResponseStatus = pResponseStatus_-    }+  GetInstanceSnapshotResponse'+  {_gisrsInstanceSnapshot = Nothing, _gisrsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the results of your get instance snapshot request. gisrsInstanceSnapshot :: Lens' GetInstanceSnapshotResponse (Maybe InstanceSnapshot) gisrsInstanceSnapshot = lens _gisrsInstanceSnapshot (\ s a -> s{_gisrsInstanceSnapshot = a});@@ -134,4 +134,4 @@ gisrsResponseStatus :: Lens' GetInstanceSnapshotResponse Int gisrsResponseStatus = lens _gisrsResponseStatus (\ s a -> s{_gisrsResponseStatus = a}); -instance NFData GetInstanceSnapshotResponse+instance NFData GetInstanceSnapshotResponse where
gen/Network/AWS/Lightsail/GetInstanceSnapshots.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstanceSnapshots--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns all instance snapshots for the user's account. -- --+--+-- This operation returns paginated results. module Network.AWS.Lightsail.GetInstanceSnapshots     (     -- * Creating a Request@@ -38,18 +40,20 @@     , gissrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getInstanceSnapshots' smart constructor. newtype GetInstanceSnapshots = GetInstanceSnapshots'-    { _gisPageToken :: Maybe Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gisPageToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstanceSnapshots' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,15 +61,20 @@ -- * 'gisPageToken' - A token used for advancing to the next page of results from your get instance snapshots request. getInstanceSnapshots     :: GetInstanceSnapshots-getInstanceSnapshots =-    GetInstanceSnapshots'-    { _gisPageToken = Nothing-    }+getInstanceSnapshots = GetInstanceSnapshots' {_gisPageToken = Nothing} + -- | A token used for advancing to the next page of results from your get instance snapshots request. gisPageToken :: Lens' GetInstanceSnapshots (Maybe Text) gisPageToken = lens _gisPageToken (\ s a -> s{_gisPageToken = a}); +instance AWSPager GetInstanceSnapshots where+        page rq rs+          | stop (rs ^. gissrsNextPageToken) = Nothing+          | stop (rs ^. gissrsInstanceSnapshots) = Nothing+          | otherwise =+            Just $ rq & gisPageToken .~ rs ^. gissrsNextPageToken+ instance AWSRequest GetInstanceSnapshots where         type Rs GetInstanceSnapshots =              GetInstanceSnapshotsResponse@@ -78,9 +87,9 @@                      (x .?> "instanceSnapshots" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable GetInstanceSnapshots+instance Hashable GetInstanceSnapshots where -instance NFData GetInstanceSnapshots+instance NFData GetInstanceSnapshots where  instance ToHeaders GetInstanceSnapshots where         toHeaders@@ -105,11 +114,12 @@  -- | /See:/ 'getInstanceSnapshotsResponse' smart constructor. data GetInstanceSnapshotsResponse = GetInstanceSnapshotsResponse'-    { _gissrsNextPageToken     :: !(Maybe Text)-    , _gissrsInstanceSnapshots :: !(Maybe [InstanceSnapshot])-    , _gissrsResponseStatus    :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gissrsNextPageToken     :: !(Maybe Text)+  , _gissrsInstanceSnapshots :: !(Maybe [InstanceSnapshot])+  , _gissrsResponseStatus    :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstanceSnapshotsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -123,12 +133,13 @@     :: Int -- ^ 'gissrsResponseStatus'     -> GetInstanceSnapshotsResponse getInstanceSnapshotsResponse pResponseStatus_ =-    GetInstanceSnapshotsResponse'-    { _gissrsNextPageToken = Nothing-    , _gissrsInstanceSnapshots = Nothing-    , _gissrsResponseStatus = pResponseStatus_-    }+  GetInstanceSnapshotsResponse'+  { _gissrsNextPageToken = Nothing+  , _gissrsInstanceSnapshots = Nothing+  , _gissrsResponseStatus = pResponseStatus_+  } + -- | A token used for advancing to the next page of results from your get instance snapshots request. gissrsNextPageToken :: Lens' GetInstanceSnapshotsResponse (Maybe Text) gissrsNextPageToken = lens _gissrsNextPageToken (\ s a -> s{_gissrsNextPageToken = a});@@ -141,4 +152,4 @@ gissrsResponseStatus :: Lens' GetInstanceSnapshotsResponse Int gissrsResponseStatus = lens _gissrsResponseStatus (\ s a -> s{_gissrsResponseStatus = a}); -instance NFData GetInstanceSnapshotsResponse+instance NFData GetInstanceSnapshotsResponse where
gen/Network/AWS/Lightsail/GetInstanceState.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstanceState--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , getrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getInstanceState' smart constructor. newtype GetInstanceState = GetInstanceState'-    { _gisInstanceName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gisInstanceName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstanceState' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -58,10 +59,9 @@     :: Text -- ^ 'gisInstanceName'     -> GetInstanceState getInstanceState pInstanceName_ =-    GetInstanceState'-    { _gisInstanceName = pInstanceName_-    }+  GetInstanceState' {_gisInstanceName = pInstanceName_} + -- | The name of the instance to get state information about. gisInstanceName :: Lens' GetInstanceState Text gisInstanceName = lens _gisInstanceName (\ s a -> s{_gisInstanceName = a});@@ -75,9 +75,9 @@                  GetInstanceStateResponse' <$>                    (x .?> "state") <*> (pure (fromEnum s))) -instance Hashable GetInstanceState+instance Hashable GetInstanceState where -instance NFData GetInstanceState+instance NFData GetInstanceState where  instance ToHeaders GetInstanceState where         toHeaders@@ -103,10 +103,11 @@  -- | /See:/ 'getInstanceStateResponse' smart constructor. data GetInstanceStateResponse = GetInstanceStateResponse'-    { _getrsState          :: !(Maybe InstanceState)-    , _getrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _getrsState          :: !(Maybe InstanceState)+  , _getrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstanceStateResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -118,11 +119,10 @@     :: Int -- ^ 'getrsResponseStatus'     -> GetInstanceStateResponse getInstanceStateResponse pResponseStatus_ =-    GetInstanceStateResponse'-    { _getrsState = Nothing-    , _getrsResponseStatus = pResponseStatus_-    }+  GetInstanceStateResponse'+  {_getrsState = Nothing, _getrsResponseStatus = pResponseStatus_} + -- | The state of the instance. getrsState :: Lens' GetInstanceStateResponse (Maybe InstanceState) getrsState = lens _getrsState (\ s a -> s{_getrsState = a});@@ -131,4 +131,4 @@ getrsResponseStatus :: Lens' GetInstanceStateResponse Int getrsResponseStatus = lens _getrsResponseStatus (\ s a -> s{_getrsResponseStatus = a}); -instance NFData GetInstanceStateResponse+instance NFData GetInstanceStateResponse where
gen/Network/AWS/Lightsail/GetInstances.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.Lightsail.GetInstances--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns information about all Amazon Lightsail virtual private servers, or /instances/ . -- --+--+-- This operation returns paginated results. module Network.AWS.Lightsail.GetInstances     (     -- * Creating a Request@@ -38,18 +40,20 @@     , grsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getInstances' smart constructor. newtype GetInstances = GetInstances'-    { _giPageToken :: Maybe Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _giPageToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstances' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,15 +61,20 @@ -- * 'giPageToken' - A token used for advancing to the next page of results from your get instances request. getInstances     :: GetInstances-getInstances =-    GetInstances'-    { _giPageToken = Nothing-    }+getInstances = GetInstances' {_giPageToken = Nothing} + -- | A token used for advancing to the next page of results from your get instances request. giPageToken :: Lens' GetInstances (Maybe Text) giPageToken = lens _giPageToken (\ s a -> s{_giPageToken = a}); +instance AWSPager GetInstances where+        page rq rs+          | stop (rs ^. grsNextPageToken) = Nothing+          | stop (rs ^. grsInstances) = Nothing+          | otherwise =+            Just $ rq & giPageToken .~ rs ^. grsNextPageToken+ instance AWSRequest GetInstances where         type Rs GetInstances = GetInstancesResponse         request = postJSON lightsail@@ -77,9 +86,9 @@                      (x .?> "instances" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable GetInstances+instance Hashable GetInstances where -instance NFData GetInstances+instance NFData GetInstances where  instance ToHeaders GetInstances where         toHeaders@@ -103,11 +112,12 @@  -- | /See:/ 'getInstancesResponse' smart constructor. data GetInstancesResponse = GetInstancesResponse'-    { _grsNextPageToken  :: !(Maybe Text)-    , _grsInstances      :: !(Maybe [Instance])-    , _grsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _grsNextPageToken  :: !(Maybe Text)+  , _grsInstances      :: !(Maybe [Instance])+  , _grsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetInstancesResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -121,12 +131,13 @@     :: Int -- ^ 'grsResponseStatus'     -> GetInstancesResponse getInstancesResponse pResponseStatus_ =-    GetInstancesResponse'-    { _grsNextPageToken = Nothing-    , _grsInstances = Nothing-    , _grsResponseStatus = pResponseStatus_-    }+  GetInstancesResponse'+  { _grsNextPageToken = Nothing+  , _grsInstances = Nothing+  , _grsResponseStatus = pResponseStatus_+  } + -- | A token used for advancing to the next page of results from your get instances request. grsNextPageToken :: Lens' GetInstancesResponse (Maybe Text) grsNextPageToken = lens _grsNextPageToken (\ s a -> s{_grsNextPageToken = a});@@ -139,4 +150,4 @@ grsResponseStatus :: Lens' GetInstancesResponse Int grsResponseStatus = lens _grsResponseStatus (\ s a -> s{_grsResponseStatus = a}); -instance NFData GetInstancesResponse+instance NFData GetInstancesResponse where
gen/Network/AWS/Lightsail/GetKeyPair.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.GetKeyPair--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , gkprsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getKeyPair' smart constructor. newtype GetKeyPair = GetKeyPair'-    { _gkpKeyPairName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gkpKeyPairName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetKeyPair' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,11 +58,9 @@ getKeyPair     :: Text -- ^ 'gkpKeyPairName'     -> GetKeyPair-getKeyPair pKeyPairName_ =-    GetKeyPair'-    { _gkpKeyPairName = pKeyPairName_-    }+getKeyPair pKeyPairName_ = GetKeyPair' {_gkpKeyPairName = pKeyPairName_} + -- | The name of the key pair for which you are requesting information. gkpKeyPairName :: Lens' GetKeyPair Text gkpKeyPairName = lens _gkpKeyPairName (\ s a -> s{_gkpKeyPairName = a});@@ -75,9 +74,9 @@                  GetKeyPairResponse' <$>                    (x .?> "keyPair") <*> (pure (fromEnum s))) -instance Hashable GetKeyPair+instance Hashable GetKeyPair where -instance NFData GetKeyPair+instance NFData GetKeyPair where  instance ToHeaders GetKeyPair where         toHeaders@@ -101,10 +100,11 @@  -- | /See:/ 'getKeyPairResponse' smart constructor. data GetKeyPairResponse = GetKeyPairResponse'-    { _gkprsKeyPair        :: !(Maybe KeyPair)-    , _gkprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gkprsKeyPair        :: !(Maybe KeyPair)+  , _gkprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetKeyPairResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -116,11 +116,10 @@     :: Int -- ^ 'gkprsResponseStatus'     -> GetKeyPairResponse getKeyPairResponse pResponseStatus_ =-    GetKeyPairResponse'-    { _gkprsKeyPair = Nothing-    , _gkprsResponseStatus = pResponseStatus_-    }+  GetKeyPairResponse'+  {_gkprsKeyPair = Nothing, _gkprsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the key pair. gkprsKeyPair :: Lens' GetKeyPairResponse (Maybe KeyPair) gkprsKeyPair = lens _gkprsKeyPair (\ s a -> s{_gkprsKeyPair = a});@@ -129,4 +128,4 @@ gkprsResponseStatus :: Lens' GetKeyPairResponse Int gkprsResponseStatus = lens _gkprsResponseStatus (\ s a -> s{_gkprsResponseStatus = a}); -instance NFData GetKeyPairResponse+instance NFData GetKeyPairResponse where
gen/Network/AWS/Lightsail/GetKeyPairs.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.Lightsail.GetKeyPairs--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns information about all key pairs in the user's account. -- --+--+-- This operation returns paginated results. module Network.AWS.Lightsail.GetKeyPairs     (     -- * Creating a Request@@ -38,18 +40,20 @@     , gkpsrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getKeyPairs' smart constructor. newtype GetKeyPairs = GetKeyPairs'-    { _gkpPageToken :: Maybe Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gkpPageToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetKeyPairs' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,15 +61,20 @@ -- * 'gkpPageToken' - A token used for advancing to the next page of results from your get key pairs request. getKeyPairs     :: GetKeyPairs-getKeyPairs =-    GetKeyPairs'-    { _gkpPageToken = Nothing-    }+getKeyPairs = GetKeyPairs' {_gkpPageToken = Nothing} + -- | A token used for advancing to the next page of results from your get key pairs request. gkpPageToken :: Lens' GetKeyPairs (Maybe Text) gkpPageToken = lens _gkpPageToken (\ s a -> s{_gkpPageToken = a}); +instance AWSPager GetKeyPairs where+        page rq rs+          | stop (rs ^. gkpsrsNextPageToken) = Nothing+          | stop (rs ^. gkpsrsKeyPairs) = Nothing+          | otherwise =+            Just $ rq & gkpPageToken .~ rs ^. gkpsrsNextPageToken+ instance AWSRequest GetKeyPairs where         type Rs GetKeyPairs = GetKeyPairsResponse         request = postJSON lightsail@@ -77,9 +86,9 @@                      (x .?> "keyPairs" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable GetKeyPairs+instance Hashable GetKeyPairs where -instance NFData GetKeyPairs+instance NFData GetKeyPairs where  instance ToHeaders GetKeyPairs where         toHeaders@@ -103,11 +112,12 @@  -- | /See:/ 'getKeyPairsResponse' smart constructor. data GetKeyPairsResponse = GetKeyPairsResponse'-    { _gkpsrsNextPageToken  :: !(Maybe Text)-    , _gkpsrsKeyPairs       :: !(Maybe [KeyPair])-    , _gkpsrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gkpsrsNextPageToken  :: !(Maybe Text)+  , _gkpsrsKeyPairs       :: !(Maybe [KeyPair])+  , _gkpsrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetKeyPairsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -121,12 +131,13 @@     :: Int -- ^ 'gkpsrsResponseStatus'     -> GetKeyPairsResponse getKeyPairsResponse pResponseStatus_ =-    GetKeyPairsResponse'-    { _gkpsrsNextPageToken = Nothing-    , _gkpsrsKeyPairs = Nothing-    , _gkpsrsResponseStatus = pResponseStatus_-    }+  GetKeyPairsResponse'+  { _gkpsrsNextPageToken = Nothing+  , _gkpsrsKeyPairs = Nothing+  , _gkpsrsResponseStatus = pResponseStatus_+  } + -- | A token used for advancing to the next page of results from your get key pairs request. gkpsrsNextPageToken :: Lens' GetKeyPairsResponse (Maybe Text) gkpsrsNextPageToken = lens _gkpsrsNextPageToken (\ s a -> s{_gkpsrsNextPageToken = a});@@ -139,4 +150,4 @@ gkpsrsResponseStatus :: Lens' GetKeyPairsResponse Int gkpsrsResponseStatus = lens _gkpsrsResponseStatus (\ s a -> s{_gkpsrsResponseStatus = a}); -instance NFData GetKeyPairsResponse+instance NFData GetKeyPairsResponse where
gen/Network/AWS/Lightsail/GetOperation.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.GetOperation--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , gorsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getOperation' smart constructor. newtype GetOperation = GetOperation'-    { _goOperationId :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _goOperationId :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetOperation' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,11 +58,9 @@ getOperation     :: Text -- ^ 'goOperationId'     -> GetOperation-getOperation pOperationId_ =-    GetOperation'-    { _goOperationId = pOperationId_-    }+getOperation pOperationId_ = GetOperation' {_goOperationId = pOperationId_} + -- | A GUID used to identify the operation. goOperationId :: Lens' GetOperation Text goOperationId = lens _goOperationId (\ s a -> s{_goOperationId = a});@@ -75,9 +74,9 @@                  GetOperationResponse' <$>                    (x .?> "operation") <*> (pure (fromEnum s))) -instance Hashable GetOperation+instance Hashable GetOperation where -instance NFData GetOperation+instance NFData GetOperation where  instance ToHeaders GetOperation where         toHeaders@@ -101,10 +100,11 @@  -- | /See:/ 'getOperationResponse' smart constructor. data GetOperationResponse = GetOperationResponse'-    { _gorsOperation      :: !(Maybe Operation)-    , _gorsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gorsOperation      :: !(Maybe Operation)+  , _gorsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetOperationResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -116,11 +116,10 @@     :: Int -- ^ 'gorsResponseStatus'     -> GetOperationResponse getOperationResponse pResponseStatus_ =-    GetOperationResponse'-    { _gorsOperation = Nothing-    , _gorsResponseStatus = pResponseStatus_-    }+  GetOperationResponse'+  {_gorsOperation = Nothing, _gorsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the results of your get operation request. gorsOperation :: Lens' GetOperationResponse (Maybe Operation) gorsOperation = lens _gorsOperation (\ s a -> s{_gorsOperation = a});@@ -129,4 +128,4 @@ gorsResponseStatus :: Lens' GetOperationResponse Int gorsResponseStatus = lens _gorsResponseStatus (\ s a -> s{_gorsResponseStatus = a}); -instance NFData GetOperationResponse+instance NFData GetOperationResponse where
gen/Network/AWS/Lightsail/GetOperations.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.GetOperations--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -23,6 +23,8 @@ -- -- Results are returned from oldest to newest, up to a maximum of 200. Results can be paged by making each subsequent call to @GetOperations@ use the maximum (last) @statusChangedAt@ value from the previous request. --+--+-- This operation returns paginated results. module Network.AWS.Lightsail.GetOperations     (     -- * Creating a Request@@ -40,18 +42,20 @@     , gosrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getOperations' smart constructor. newtype GetOperations = GetOperations'-    { _goPageToken :: Maybe Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _goPageToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetOperations' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -59,15 +63,20 @@ -- * 'goPageToken' - A token used for advancing to the next page of results from your get operations request. getOperations     :: GetOperations-getOperations =-    GetOperations'-    { _goPageToken = Nothing-    }+getOperations = GetOperations' {_goPageToken = Nothing} + -- | A token used for advancing to the next page of results from your get operations request. goPageToken :: Lens' GetOperations (Maybe Text) goPageToken = lens _goPageToken (\ s a -> s{_goPageToken = a}); +instance AWSPager GetOperations where+        page rq rs+          | stop (rs ^. gosrsNextPageToken) = Nothing+          | stop (rs ^. gosrsOperations) = Nothing+          | otherwise =+            Just $ rq & goPageToken .~ rs ^. gosrsNextPageToken+ instance AWSRequest GetOperations where         type Rs GetOperations = GetOperationsResponse         request = postJSON lightsail@@ -79,9 +88,9 @@                      (x .?> "operations" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable GetOperations+instance Hashable GetOperations where -instance NFData GetOperations+instance NFData GetOperations where  instance ToHeaders GetOperations where         toHeaders@@ -105,11 +114,12 @@  -- | /See:/ 'getOperationsResponse' smart constructor. data GetOperationsResponse = GetOperationsResponse'-    { _gosrsNextPageToken  :: !(Maybe Text)-    , _gosrsOperations     :: !(Maybe [Operation])-    , _gosrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gosrsNextPageToken  :: !(Maybe Text)+  , _gosrsOperations     :: !(Maybe [Operation])+  , _gosrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetOperationsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -123,12 +133,13 @@     :: Int -- ^ 'gosrsResponseStatus'     -> GetOperationsResponse getOperationsResponse pResponseStatus_ =-    GetOperationsResponse'-    { _gosrsNextPageToken = Nothing-    , _gosrsOperations = Nothing-    , _gosrsResponseStatus = pResponseStatus_-    }+  GetOperationsResponse'+  { _gosrsNextPageToken = Nothing+  , _gosrsOperations = Nothing+  , _gosrsResponseStatus = pResponseStatus_+  } + -- | A token used for advancing to the next page of results from your get operations request. gosrsNextPageToken :: Lens' GetOperationsResponse (Maybe Text) gosrsNextPageToken = lens _gosrsNextPageToken (\ s a -> s{_gosrsNextPageToken = a});@@ -141,4 +152,4 @@ gosrsResponseStatus :: Lens' GetOperationsResponse Int gosrsResponseStatus = lens _gosrsResponseStatus (\ s a -> s{_gosrsResponseStatus = a}); -instance NFData GetOperationsResponse+instance NFData GetOperationsResponse where
gen/Network/AWS/Lightsail/GetOperationsForResource.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.GetOperationsForResource--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -35,23 +35,25 @@     , GetOperationsForResourceResponse     -- * Response Lenses     , gofrrsNextPageCount+    , gofrrsNextPageToken     , gofrrsOperations     , gofrrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getOperationsForResource' smart constructor. data GetOperationsForResource = GetOperationsForResource'-    { _gofrPageToken    :: !(Maybe Text)-    , _gofrResourceName :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gofrPageToken    :: !(Maybe Text)+  , _gofrResourceName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetOperationsForResource' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -63,11 +65,10 @@     :: Text -- ^ 'gofrResourceName'     -> GetOperationsForResource getOperationsForResource pResourceName_ =-    GetOperationsForResource'-    { _gofrPageToken = Nothing-    , _gofrResourceName = pResourceName_-    }+  GetOperationsForResource'+  {_gofrPageToken = Nothing, _gofrResourceName = pResourceName_} + -- | A token used for advancing to the next page of results from your get operations for resource request. gofrPageToken :: Lens' GetOperationsForResource (Maybe Text) gofrPageToken = lens _gofrPageToken (\ s a -> s{_gofrPageToken = a});@@ -84,13 +85,13 @@           = receiveJSON               (\ s h x ->                  GetOperationsForResourceResponse' <$>-                   (x .?> "nextPageCount") <*>-                     (x .?> "operations" .!@ mempty)+                   (x .?> "nextPageCount") <*> (x .?> "nextPageToken")+                     <*> (x .?> "operations" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable GetOperationsForResource+instance Hashable GetOperationsForResource where -instance NFData GetOperationsForResource+instance NFData GetOperationsForResource where  instance ToHeaders GetOperationsForResource where         toHeaders@@ -117,17 +118,21 @@  -- | /See:/ 'getOperationsForResourceResponse' smart constructor. data GetOperationsForResourceResponse = GetOperationsForResourceResponse'-    { _gofrrsNextPageCount  :: !(Maybe Text)-    , _gofrrsOperations     :: !(Maybe [Operation])-    , _gofrrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gofrrsNextPageCount  :: !(Maybe Text)+  , _gofrrsNextPageToken  :: !(Maybe Text)+  , _gofrrsOperations     :: !(Maybe [Operation])+  , _gofrrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetOperationsForResourceResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: ----- * 'gofrrsNextPageCount' - Returns the number of pages of results that remain.+-- * 'gofrrsNextPageCount' - (Deprecated) Returns the number of pages of results that remain. --+-- * 'gofrrsNextPageToken' - An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.+-- -- * 'gofrrsOperations' - An array of key-value pairs containing information about the results of your get operations for resource request. -- -- * 'gofrrsResponseStatus' - -- | The response status code.@@ -135,16 +140,22 @@     :: Int -- ^ 'gofrrsResponseStatus'     -> GetOperationsForResourceResponse getOperationsForResourceResponse pResponseStatus_ =-    GetOperationsForResourceResponse'-    { _gofrrsNextPageCount = Nothing-    , _gofrrsOperations = Nothing-    , _gofrrsResponseStatus = pResponseStatus_-    }+  GetOperationsForResourceResponse'+  { _gofrrsNextPageCount = Nothing+  , _gofrrsNextPageToken = Nothing+  , _gofrrsOperations = Nothing+  , _gofrrsResponseStatus = pResponseStatus_+  } --- | Returns the number of pages of results that remain.++-- | (Deprecated) Returns the number of pages of results that remain. gofrrsNextPageCount :: Lens' GetOperationsForResourceResponse (Maybe Text) gofrrsNextPageCount = lens _gofrrsNextPageCount (\ s a -> s{_gofrrsNextPageCount = a}); +-- | An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.+gofrrsNextPageToken :: Lens' GetOperationsForResourceResponse (Maybe Text)+gofrrsNextPageToken = lens _gofrrsNextPageToken (\ s a -> s{_gofrrsNextPageToken = a});+ -- | An array of key-value pairs containing information about the results of your get operations for resource request. gofrrsOperations :: Lens' GetOperationsForResourceResponse [Operation] gofrrsOperations = lens _gofrrsOperations (\ s a -> s{_gofrrsOperations = a}) . _Default . _Coerce;@@ -154,3 +165,4 @@ gofrrsResponseStatus = lens _gofrrsResponseStatus (\ s a -> s{_gofrrsResponseStatus = a});  instance NFData GetOperationsForResourceResponse+         where
gen/Network/AWS/Lightsail/GetRegions.hs view
@@ -12,13 +12,13 @@  -- | -- Module      : Network.AWS.Lightsail.GetRegions--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) ----- Returns a list of all valid regions for Amazon Lightsail.+-- Returns a list of all valid regions for Amazon Lightsail. Use the @include availability zones@ parameter to also return the availability zones in a region. -- -- module Network.AWS.Lightsail.GetRegions@@ -37,18 +37,19 @@     , grrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getRegions' smart constructor. newtype GetRegions = GetRegions'-    { _grIncludeAvailabilityZones :: Maybe Bool-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _grIncludeAvailabilityZones :: Maybe Bool+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetRegions' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -56,11 +57,9 @@ -- * 'grIncludeAvailabilityZones' - A Boolean value indicating whether to also include Availability Zones in your get regions request. Availability Zones are indicated with a letter: e.g., @us-east-1a@ . getRegions     :: GetRegions-getRegions =-    GetRegions'-    { _grIncludeAvailabilityZones = Nothing-    }+getRegions = GetRegions' {_grIncludeAvailabilityZones = Nothing} + -- | A Boolean value indicating whether to also include Availability Zones in your get regions request. Availability Zones are indicated with a letter: e.g., @us-east-1a@ . grIncludeAvailabilityZones :: Lens' GetRegions (Maybe Bool) grIncludeAvailabilityZones = lens _grIncludeAvailabilityZones (\ s a -> s{_grIncludeAvailabilityZones = a});@@ -74,9 +73,9 @@                  GetRegionsResponse' <$>                    (x .?> "regions" .!@ mempty) <*> (pure (fromEnum s))) -instance Hashable GetRegions+instance Hashable GetRegions where -instance NFData GetRegions+instance NFData GetRegions where  instance ToHeaders GetRegions where         toHeaders@@ -102,10 +101,11 @@  -- | /See:/ 'getRegionsResponse' smart constructor. data GetRegionsResponse = GetRegionsResponse'-    { _grrsRegions        :: !(Maybe [RegionInfo])-    , _grrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _grrsRegions        :: !(Maybe [RegionInfo])+  , _grrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetRegionsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -117,11 +117,10 @@     :: Int -- ^ 'grrsResponseStatus'     -> GetRegionsResponse getRegionsResponse pResponseStatus_ =-    GetRegionsResponse'-    { _grrsRegions = Nothing-    , _grrsResponseStatus = pResponseStatus_-    }+  GetRegionsResponse'+  {_grrsRegions = Nothing, _grrsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about your get regions request. grrsRegions :: Lens' GetRegionsResponse [RegionInfo] grrsRegions = lens _grrsRegions (\ s a -> s{_grrsRegions = a}) . _Default . _Coerce;@@ -130,4 +129,4 @@ grrsResponseStatus :: Lens' GetRegionsResponse Int grrsResponseStatus = lens _grrsResponseStatus (\ s a -> s{_grrsResponseStatus = a}); -instance NFData GetRegionsResponse+instance NFData GetRegionsResponse where
gen/Network/AWS/Lightsail/GetStaticIP.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.GetStaticIP--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , gsirsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getStaticIP' smart constructor. newtype GetStaticIP = GetStaticIP'-    { _gsiStaticIPName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gsiStaticIPName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetStaticIP' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,11 +58,9 @@ getStaticIP     :: Text -- ^ 'gsiStaticIPName'     -> GetStaticIP-getStaticIP pStaticIPName_ =-    GetStaticIP'-    { _gsiStaticIPName = pStaticIPName_-    }+getStaticIP pStaticIPName_ = GetStaticIP' {_gsiStaticIPName = pStaticIPName_} + -- | The name of the static IP in Lightsail. gsiStaticIPName :: Lens' GetStaticIP Text gsiStaticIPName = lens _gsiStaticIPName (\ s a -> s{_gsiStaticIPName = a});@@ -75,9 +74,9 @@                  GetStaticIPResponse' <$>                    (x .?> "staticIp") <*> (pure (fromEnum s))) -instance Hashable GetStaticIP+instance Hashable GetStaticIP where -instance NFData GetStaticIP+instance NFData GetStaticIP where  instance ToHeaders GetStaticIP where         toHeaders@@ -102,10 +101,11 @@  -- | /See:/ 'getStaticIPResponse' smart constructor. data GetStaticIPResponse = GetStaticIPResponse'-    { _gsirsStaticIP       :: !(Maybe StaticIP)-    , _gsirsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gsirsStaticIP       :: !(Maybe StaticIP)+  , _gsirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetStaticIPResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -117,11 +117,10 @@     :: Int -- ^ 'gsirsResponseStatus'     -> GetStaticIPResponse getStaticIPResponse pResponseStatus_ =-    GetStaticIPResponse'-    { _gsirsStaticIP = Nothing-    , _gsirsResponseStatus = pResponseStatus_-    }+  GetStaticIPResponse'+  {_gsirsStaticIP = Nothing, _gsirsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the requested static IP. gsirsStaticIP :: Lens' GetStaticIPResponse (Maybe StaticIP) gsirsStaticIP = lens _gsirsStaticIP (\ s a -> s{_gsirsStaticIP = a});@@ -130,4 +129,4 @@ gsirsResponseStatus :: Lens' GetStaticIPResponse Int gsirsResponseStatus = lens _gsirsResponseStatus (\ s a -> s{_gsirsResponseStatus = a}); -instance NFData GetStaticIPResponse+instance NFData GetStaticIPResponse where
gen/Network/AWS/Lightsail/GetStaticIPs.hs view
@@ -12,15 +12,17 @@  -- | -- Module      : Network.AWS.Lightsail.GetStaticIPs--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns information about all static IPs in the user's account. -- --+--+-- This operation returns paginated results. module Network.AWS.Lightsail.GetStaticIPs     (     -- * Creating a Request@@ -38,18 +40,20 @@     , gsiprsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Pager+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'getStaticIPs' smart constructor. newtype GetStaticIPs = GetStaticIPs'-    { _gsiPageToken :: Maybe Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gsiPageToken :: Maybe Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetStaticIPs' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,15 +61,20 @@ -- * 'gsiPageToken' - A token used for advancing to the next page of results from your get static IPs request. getStaticIPs     :: GetStaticIPs-getStaticIPs =-    GetStaticIPs'-    { _gsiPageToken = Nothing-    }+getStaticIPs = GetStaticIPs' {_gsiPageToken = Nothing} + -- | A token used for advancing to the next page of results from your get static IPs request. gsiPageToken :: Lens' GetStaticIPs (Maybe Text) gsiPageToken = lens _gsiPageToken (\ s a -> s{_gsiPageToken = a}); +instance AWSPager GetStaticIPs where+        page rq rs+          | stop (rs ^. gsiprsNextPageToken) = Nothing+          | stop (rs ^. gsiprsStaticIPs) = Nothing+          | otherwise =+            Just $ rq & gsiPageToken .~ rs ^. gsiprsNextPageToken+ instance AWSRequest GetStaticIPs where         type Rs GetStaticIPs = GetStaticIPsResponse         request = postJSON lightsail@@ -77,9 +86,9 @@                      (x .?> "staticIps" .!@ mempty)                      <*> (pure (fromEnum s))) -instance Hashable GetStaticIPs+instance Hashable GetStaticIPs where -instance NFData GetStaticIPs+instance NFData GetStaticIPs where  instance ToHeaders GetStaticIPs where         toHeaders@@ -103,11 +112,12 @@  -- | /See:/ 'getStaticIPsResponse' smart constructor. data GetStaticIPsResponse = GetStaticIPsResponse'-    { _gsiprsNextPageToken  :: !(Maybe Text)-    , _gsiprsStaticIPs      :: !(Maybe [StaticIP])-    , _gsiprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _gsiprsNextPageToken  :: !(Maybe Text)+  , _gsiprsStaticIPs      :: !(Maybe [StaticIP])+  , _gsiprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'GetStaticIPsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -121,12 +131,13 @@     :: Int -- ^ 'gsiprsResponseStatus'     -> GetStaticIPsResponse getStaticIPsResponse pResponseStatus_ =-    GetStaticIPsResponse'-    { _gsiprsNextPageToken = Nothing-    , _gsiprsStaticIPs = Nothing-    , _gsiprsResponseStatus = pResponseStatus_-    }+  GetStaticIPsResponse'+  { _gsiprsNextPageToken = Nothing+  , _gsiprsStaticIPs = Nothing+  , _gsiprsResponseStatus = pResponseStatus_+  } + -- | A token used for advancing to the next page of results from your get static IPs request. gsiprsNextPageToken :: Lens' GetStaticIPsResponse (Maybe Text) gsiprsNextPageToken = lens _gsiprsNextPageToken (\ s a -> s{_gsiprsNextPageToken = a});@@ -139,4 +150,4 @@ gsiprsResponseStatus :: Lens' GetStaticIPsResponse Int gsiprsResponseStatus = lens _gsiprsResponseStatus (\ s a -> s{_gsiprsResponseStatus = a}); -instance NFData GetStaticIPsResponse+instance NFData GetStaticIPsResponse where
gen/Network/AWS/Lightsail/ImportKeyPair.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.ImportKeyPair--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,19 +38,20 @@     , ikprsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'importKeyPair' smart constructor. data ImportKeyPair = ImportKeyPair'-    { _ikpKeyPairName     :: !Text-    , _ikpPublicKeyBase64 :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ikpKeyPairName     :: !Text+  , _ikpPublicKeyBase64 :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ImportKeyPair' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -63,11 +64,10 @@     -> Text -- ^ 'ikpPublicKeyBase64'     -> ImportKeyPair importKeyPair pKeyPairName_ pPublicKeyBase64_ =-    ImportKeyPair'-    { _ikpKeyPairName = pKeyPairName_-    , _ikpPublicKeyBase64 = pPublicKeyBase64_-    }+  ImportKeyPair'+  {_ikpKeyPairName = pKeyPairName_, _ikpPublicKeyBase64 = pPublicKeyBase64_} + -- | The name of the key pair for which you want to import the public key. ikpKeyPairName :: Lens' ImportKeyPair Text ikpKeyPairName = lens _ikpKeyPairName (\ s a -> s{_ikpKeyPairName = a});@@ -85,9 +85,9 @@                  ImportKeyPairResponse' <$>                    (x .?> "operation") <*> (pure (fromEnum s))) -instance Hashable ImportKeyPair+instance Hashable ImportKeyPair where -instance NFData ImportKeyPair+instance NFData ImportKeyPair where  instance ToHeaders ImportKeyPair where         toHeaders@@ -113,10 +113,11 @@  -- | /See:/ 'importKeyPairResponse' smart constructor. data ImportKeyPairResponse = ImportKeyPairResponse'-    { _ikprsOperation      :: !(Maybe Operation)-    , _ikprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ikprsOperation      :: !(Maybe Operation)+  , _ikprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ImportKeyPairResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -128,11 +129,10 @@     :: Int -- ^ 'ikprsResponseStatus'     -> ImportKeyPairResponse importKeyPairResponse pResponseStatus_ =-    ImportKeyPairResponse'-    { _ikprsOperation = Nothing-    , _ikprsResponseStatus = pResponseStatus_-    }+  ImportKeyPairResponse'+  {_ikprsOperation = Nothing, _ikprsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the request operation. ikprsOperation :: Lens' ImportKeyPairResponse (Maybe Operation) ikprsOperation = lens _ikprsOperation (\ s a -> s{_ikprsOperation = a});@@ -141,4 +141,4 @@ ikprsResponseStatus :: Lens' ImportKeyPairResponse Int ikprsResponseStatus = lens _ikprsResponseStatus (\ s a -> s{_ikprsResponseStatus = a}); -instance NFData ImportKeyPairResponse+instance NFData ImportKeyPairResponse where
gen/Network/AWS/Lightsail/IsVPCPeered.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.IsVPCPeered--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -35,24 +35,26 @@     , ivprsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'isVPCPeered' smart constructor. data IsVPCPeered =-    IsVPCPeered'-    deriving (Eq,Read,Show,Data,Typeable,Generic)+  IsVPCPeered'+  deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'IsVPCPeered' with the minimum fields required to make a request. -- isVPCPeered     :: IsVPCPeered isVPCPeered = IsVPCPeered' + instance AWSRequest IsVPCPeered where         type Rs IsVPCPeered = IsVPCPeeredResponse         request = postJSON lightsail@@ -62,9 +64,9 @@                  IsVPCPeeredResponse' <$>                    (x .?> "isPeered") <*> (pure (fromEnum s))) -instance Hashable IsVPCPeered+instance Hashable IsVPCPeered where -instance NFData IsVPCPeered+instance NFData IsVPCPeered where  instance ToHeaders IsVPCPeered where         toHeaders@@ -86,10 +88,11 @@  -- | /See:/ 'isVPCPeeredResponse' smart constructor. data IsVPCPeeredResponse = IsVPCPeeredResponse'-    { _ivprsIsPeered       :: !(Maybe Bool)-    , _ivprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _ivprsIsPeered       :: !(Maybe Bool)+  , _ivprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'IsVPCPeeredResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -101,11 +104,10 @@     :: Int -- ^ 'ivprsResponseStatus'     -> IsVPCPeeredResponse isVPCPeeredResponse pResponseStatus_ =-    IsVPCPeeredResponse'-    { _ivprsIsPeered = Nothing-    , _ivprsResponseStatus = pResponseStatus_-    }+  IsVPCPeeredResponse'+  {_ivprsIsPeered = Nothing, _ivprsResponseStatus = pResponseStatus_} + -- | Returns @true@ if the Lightsail VPC is peered; otherwise, @false@ . ivprsIsPeered :: Lens' IsVPCPeeredResponse (Maybe Bool) ivprsIsPeered = lens _ivprsIsPeered (\ s a -> s{_ivprsIsPeered = a});@@ -114,4 +116,4 @@ ivprsResponseStatus :: Lens' IsVPCPeeredResponse Int ivprsResponseStatus = lens _ivprsResponseStatus (\ s a -> s{_ivprsResponseStatus = a}); -instance NFData IsVPCPeeredResponse+instance NFData IsVPCPeeredResponse where
gen/Network/AWS/Lightsail/OpenInstancePublicPorts.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.OpenInstancePublicPorts--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,19 +38,20 @@     , oipprsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'openInstancePublicPorts' smart constructor. data OpenInstancePublicPorts = OpenInstancePublicPorts'-    { _oippPortInfo     :: !PortInfo-    , _oippInstanceName :: !Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _oippPortInfo     :: !PortInfo+  , _oippInstanceName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'OpenInstancePublicPorts' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -63,11 +64,10 @@     -> Text -- ^ 'oippInstanceName'     -> OpenInstancePublicPorts openInstancePublicPorts pPortInfo_ pInstanceName_ =-    OpenInstancePublicPorts'-    { _oippPortInfo = pPortInfo_-    , _oippInstanceName = pInstanceName_-    }+  OpenInstancePublicPorts'+  {_oippPortInfo = pPortInfo_, _oippInstanceName = pInstanceName_} + -- | An array of key-value pairs containing information about the port mappings. oippPortInfo :: Lens' OpenInstancePublicPorts PortInfo oippPortInfo = lens _oippPortInfo (\ s a -> s{_oippPortInfo = a});@@ -86,9 +86,9 @@                  OpenInstancePublicPortsResponse' <$>                    (x .?> "operation") <*> (pure (fromEnum s))) -instance Hashable OpenInstancePublicPorts+instance Hashable OpenInstancePublicPorts where -instance NFData OpenInstancePublicPorts+instance NFData OpenInstancePublicPorts where  instance ToHeaders OpenInstancePublicPorts where         toHeaders@@ -115,10 +115,11 @@  -- | /See:/ 'openInstancePublicPortsResponse' smart constructor. data OpenInstancePublicPortsResponse = OpenInstancePublicPortsResponse'-    { _oipprsOperation      :: !(Maybe Operation)-    , _oipprsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _oipprsOperation      :: !(Maybe Operation)+  , _oipprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'OpenInstancePublicPortsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -130,11 +131,10 @@     :: Int -- ^ 'oipprsResponseStatus'     -> OpenInstancePublicPortsResponse openInstancePublicPortsResponse pResponseStatus_ =-    OpenInstancePublicPortsResponse'-    { _oipprsOperation = Nothing-    , _oipprsResponseStatus = pResponseStatus_-    }+  OpenInstancePublicPortsResponse'+  {_oipprsOperation = Nothing, _oipprsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the request operation. oipprsOperation :: Lens' OpenInstancePublicPortsResponse (Maybe Operation) oipprsOperation = lens _oipprsOperation (\ s a -> s{_oipprsOperation = a});@@ -143,4 +143,4 @@ oipprsResponseStatus :: Lens' OpenInstancePublicPortsResponse Int oipprsResponseStatus = lens _oipprsResponseStatus (\ s a -> s{_oipprsResponseStatus = a}); -instance NFData OpenInstancePublicPortsResponse+instance NFData OpenInstancePublicPortsResponse where
gen/Network/AWS/Lightsail/PeerVPC.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.PeerVPC--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -35,24 +35,26 @@     , pvrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'peerVPC' smart constructor. data PeerVPC =-    PeerVPC'-    deriving (Eq,Read,Show,Data,Typeable,Generic)+  PeerVPC'+  deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'PeerVPC' with the minimum fields required to make a request. -- peerVPC     :: PeerVPC peerVPC = PeerVPC' + instance AWSRequest PeerVPC where         type Rs PeerVPC = PeerVPCResponse         request = postJSON lightsail@@ -62,9 +64,9 @@                  PeerVPCResponse' <$>                    (x .?> "operation") <*> (pure (fromEnum s))) -instance Hashable PeerVPC+instance Hashable PeerVPC where -instance NFData PeerVPC+instance NFData PeerVPC where  instance ToHeaders PeerVPC where         toHeaders@@ -86,10 +88,11 @@  -- | /See:/ 'peerVPCResponse' smart constructor. data PeerVPCResponse = PeerVPCResponse'-    { _pvrsOperation      :: !(Maybe Operation)-    , _pvrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _pvrsOperation      :: !(Maybe Operation)+  , _pvrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'PeerVPCResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -101,11 +104,10 @@     :: Int -- ^ 'pvrsResponseStatus'     -> PeerVPCResponse peerVPCResponse pResponseStatus_ =-    PeerVPCResponse'-    { _pvrsOperation = Nothing-    , _pvrsResponseStatus = pResponseStatus_-    }+  PeerVPCResponse'+  {_pvrsOperation = Nothing, _pvrsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the request operation. pvrsOperation :: Lens' PeerVPCResponse (Maybe Operation) pvrsOperation = lens _pvrsOperation (\ s a -> s{_pvrsOperation = a});@@ -114,4 +116,4 @@ pvrsResponseStatus :: Lens' PeerVPCResponse Int pvrsResponseStatus = lens _pvrsResponseStatus (\ s a -> s{_pvrsResponseStatus = a}); -instance NFData PeerVPCResponse+instance NFData PeerVPCResponse where
+ gen/Network/AWS/Lightsail/PutInstancePublicPorts.hs view
@@ -0,0 +1,145 @@+{-# 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.Lightsail.PutInstancePublicPorts+-- 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)+--+-- Sets the specified open ports for an Amazon Lightsail instance, and closes all ports for every protocol not included in the current request.+--+--+module Network.AWS.Lightsail.PutInstancePublicPorts+    (+    -- * Creating a Request+      putInstancePublicPorts+    , PutInstancePublicPorts+    -- * Request Lenses+    , pippPortInfos+    , pippInstanceName++    -- * Destructuring the Response+    , putInstancePublicPortsResponse+    , PutInstancePublicPortsResponse+    -- * Response Lenses+    , pipprsOperation+    , pipprsResponseStatus+    ) where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | /See:/ 'putInstancePublicPorts' smart constructor.+data PutInstancePublicPorts = PutInstancePublicPorts'+  { _pippPortInfos    :: ![PortInfo]+  , _pippInstanceName :: !Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PutInstancePublicPorts' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pippPortInfos' - Specifies information about the public port(s).+--+-- * 'pippInstanceName' - The Lightsail instance name of the public port(s) you are setting.+putInstancePublicPorts+    :: Text -- ^ 'pippInstanceName'+    -> PutInstancePublicPorts+putInstancePublicPorts pInstanceName_ =+  PutInstancePublicPorts'+  {_pippPortInfos = mempty, _pippInstanceName = pInstanceName_}+++-- | Specifies information about the public port(s).+pippPortInfos :: Lens' PutInstancePublicPorts [PortInfo]+pippPortInfos = lens _pippPortInfos (\ s a -> s{_pippPortInfos = a}) . _Coerce;++-- | The Lightsail instance name of the public port(s) you are setting.+pippInstanceName :: Lens' PutInstancePublicPorts Text+pippInstanceName = lens _pippInstanceName (\ s a -> s{_pippInstanceName = a});++instance AWSRequest PutInstancePublicPorts where+        type Rs PutInstancePublicPorts =+             PutInstancePublicPortsResponse+        request = postJSON lightsail+        response+          = receiveJSON+              (\ s h x ->+                 PutInstancePublicPortsResponse' <$>+                   (x .?> "operation") <*> (pure (fromEnum s)))++instance Hashable PutInstancePublicPorts where++instance NFData PutInstancePublicPorts where++instance ToHeaders PutInstancePublicPorts where+        toHeaders+          = const+              (mconcat+                 ["X-Amz-Target" =#+                    ("Lightsail_20161128.PutInstancePublicPorts" ::+                       ByteString),+                  "Content-Type" =#+                    ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON PutInstancePublicPorts where+        toJSON PutInstancePublicPorts'{..}+          = object+              (catMaybes+                 [Just ("portInfos" .= _pippPortInfos),+                  Just ("instanceName" .= _pippInstanceName)])++instance ToPath PutInstancePublicPorts where+        toPath = const "/"++instance ToQuery PutInstancePublicPorts where+        toQuery = const mempty++-- | /See:/ 'putInstancePublicPortsResponse' smart constructor.+data PutInstancePublicPortsResponse = PutInstancePublicPortsResponse'+  { _pipprsOperation      :: !(Maybe Operation)+  , _pipprsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PutInstancePublicPortsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pipprsOperation' - Describes metadata about the operation you just executed.+--+-- * 'pipprsResponseStatus' - -- | The response status code.+putInstancePublicPortsResponse+    :: Int -- ^ 'pipprsResponseStatus'+    -> PutInstancePublicPortsResponse+putInstancePublicPortsResponse pResponseStatus_ =+  PutInstancePublicPortsResponse'+  {_pipprsOperation = Nothing, _pipprsResponseStatus = pResponseStatus_}+++-- | Describes metadata about the operation you just executed.+pipprsOperation :: Lens' PutInstancePublicPortsResponse (Maybe Operation)+pipprsOperation = lens _pipprsOperation (\ s a -> s{_pipprsOperation = a});++-- | -- | The response status code.+pipprsResponseStatus :: Lens' PutInstancePublicPortsResponse Int+pipprsResponseStatus = lens _pipprsResponseStatus (\ s a -> s{_pipprsResponseStatus = a});++instance NFData PutInstancePublicPortsResponse where
gen/Network/AWS/Lightsail/RebootInstance.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.RebootInstance--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , rirsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'rebootInstance' smart constructor. newtype RebootInstance = RebootInstance'-    { _riInstanceName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _riInstanceName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'RebootInstance' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -58,10 +59,9 @@     :: Text -- ^ 'riInstanceName'     -> RebootInstance rebootInstance pInstanceName_ =-    RebootInstance'-    { _riInstanceName = pInstanceName_-    }+  RebootInstance' {_riInstanceName = pInstanceName_} + -- | The name of the instance to reboot. riInstanceName :: Lens' RebootInstance Text riInstanceName = lens _riInstanceName (\ s a -> s{_riInstanceName = a});@@ -76,9 +76,9 @@                    (x .?> "operations" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable RebootInstance+instance Hashable RebootInstance where -instance NFData RebootInstance+instance NFData RebootInstance where  instance ToHeaders RebootInstance where         toHeaders@@ -103,10 +103,11 @@  -- | /See:/ 'rebootInstanceResponse' smart constructor. data RebootInstanceResponse = RebootInstanceResponse'-    { _rirsOperations     :: !(Maybe [Operation])-    , _rirsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _rirsOperations     :: !(Maybe [Operation])+  , _rirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'RebootInstanceResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -118,11 +119,10 @@     :: Int -- ^ 'rirsResponseStatus'     -> RebootInstanceResponse rebootInstanceResponse pResponseStatus_ =-    RebootInstanceResponse'-    { _rirsOperations = Nothing-    , _rirsResponseStatus = pResponseStatus_-    }+  RebootInstanceResponse'+  {_rirsOperations = Nothing, _rirsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the request operation. rirsOperations :: Lens' RebootInstanceResponse [Operation] rirsOperations = lens _rirsOperations (\ s a -> s{_rirsOperations = a}) . _Default . _Coerce;@@ -131,4 +131,4 @@ rirsResponseStatus :: Lens' RebootInstanceResponse Int rirsResponseStatus = lens _rirsResponseStatus (\ s a -> s{_rirsResponseStatus = a}); -instance NFData RebootInstanceResponse+instance NFData RebootInstanceResponse where
gen/Network/AWS/Lightsail/ReleaseStaticIP.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.ReleaseStaticIP--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , rsirsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'releaseStaticIP' smart constructor. newtype ReleaseStaticIP = ReleaseStaticIP'-    { _rsiStaticIPName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _rsiStaticIPName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ReleaseStaticIP' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -58,10 +59,9 @@     :: Text -- ^ 'rsiStaticIPName'     -> ReleaseStaticIP releaseStaticIP pStaticIPName_ =-    ReleaseStaticIP'-    { _rsiStaticIPName = pStaticIPName_-    }+  ReleaseStaticIP' {_rsiStaticIPName = pStaticIPName_} + -- | The name of the static IP to delete. rsiStaticIPName :: Lens' ReleaseStaticIP Text rsiStaticIPName = lens _rsiStaticIPName (\ s a -> s{_rsiStaticIPName = a});@@ -76,9 +76,9 @@                    (x .?> "operations" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable ReleaseStaticIP+instance Hashable ReleaseStaticIP where -instance NFData ReleaseStaticIP+instance NFData ReleaseStaticIP where  instance ToHeaders ReleaseStaticIP where         toHeaders@@ -103,10 +103,11 @@  -- | /See:/ 'releaseStaticIPResponse' smart constructor. data ReleaseStaticIPResponse = ReleaseStaticIPResponse'-    { _rsirsOperations     :: !(Maybe [Operation])-    , _rsirsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _rsirsOperations     :: !(Maybe [Operation])+  , _rsirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'ReleaseStaticIPResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -118,11 +119,10 @@     :: Int -- ^ 'rsirsResponseStatus'     -> ReleaseStaticIPResponse releaseStaticIPResponse pResponseStatus_ =-    ReleaseStaticIPResponse'-    { _rsirsOperations = Nothing-    , _rsirsResponseStatus = pResponseStatus_-    }+  ReleaseStaticIPResponse'+  {_rsirsOperations = Nothing, _rsirsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the request operation. rsirsOperations :: Lens' ReleaseStaticIPResponse [Operation] rsirsOperations = lens _rsirsOperations (\ s a -> s{_rsirsOperations = a}) . _Default . _Coerce;@@ -131,4 +131,4 @@ rsirsResponseStatus :: Lens' ReleaseStaticIPResponse Int rsirsResponseStatus = lens _rsirsResponseStatus (\ s a -> s{_rsirsResponseStatus = a}); -instance NFData ReleaseStaticIPResponse+instance NFData ReleaseStaticIPResponse where
gen/Network/AWS/Lightsail/StartInstance.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.StartInstance--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , srsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'startInstance' smart constructor. newtype StartInstance = StartInstance'-    { _sInstanceName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _sInstanceName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'StartInstance' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,11 +58,9 @@ startInstance     :: Text -- ^ 'sInstanceName'     -> StartInstance-startInstance pInstanceName_ =-    StartInstance'-    { _sInstanceName = pInstanceName_-    }+startInstance pInstanceName_ = StartInstance' {_sInstanceName = pInstanceName_} + -- | The name of the instance (a virtual private server) to start. sInstanceName :: Lens' StartInstance Text sInstanceName = lens _sInstanceName (\ s a -> s{_sInstanceName = a});@@ -76,9 +75,9 @@                    (x .?> "operations" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable StartInstance+instance Hashable StartInstance where -instance NFData StartInstance+instance NFData StartInstance where  instance ToHeaders StartInstance where         toHeaders@@ -102,10 +101,11 @@  -- | /See:/ 'startInstanceResponse' smart constructor. data StartInstanceResponse = StartInstanceResponse'-    { _srsOperations     :: !(Maybe [Operation])-    , _srsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _srsOperations     :: !(Maybe [Operation])+  , _srsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'StartInstanceResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -117,11 +117,10 @@     :: Int -- ^ 'srsResponseStatus'     -> StartInstanceResponse startInstanceResponse pResponseStatus_ =-    StartInstanceResponse'-    { _srsOperations = Nothing-    , _srsResponseStatus = pResponseStatus_-    }+  StartInstanceResponse'+  {_srsOperations = Nothing, _srsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the request operation. srsOperations :: Lens' StartInstanceResponse [Operation] srsOperations = lens _srsOperations (\ s a -> s{_srsOperations = a}) . _Default . _Coerce;@@ -130,4 +129,4 @@ srsResponseStatus :: Lens' StartInstanceResponse Int srsResponseStatus = lens _srsResponseStatus (\ s a -> s{_srsResponseStatus = a}); -instance NFData StartInstanceResponse+instance NFData StartInstanceResponse where
gen/Network/AWS/Lightsail/StopInstance.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.StopInstance--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -37,18 +37,19 @@     , sirsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'stopInstance' smart constructor. newtype StopInstance = StopInstance'-    { _siInstanceName :: Text-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _siInstanceName :: Text+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'StopInstance' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -57,11 +58,9 @@ stopInstance     :: Text -- ^ 'siInstanceName'     -> StopInstance-stopInstance pInstanceName_ =-    StopInstance'-    { _siInstanceName = pInstanceName_-    }+stopInstance pInstanceName_ = StopInstance' {_siInstanceName = pInstanceName_} + -- | The name of the instance (a virtual private server) to stop. siInstanceName :: Lens' StopInstance Text siInstanceName = lens _siInstanceName (\ s a -> s{_siInstanceName = a});@@ -76,9 +75,9 @@                    (x .?> "operations" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable StopInstance+instance Hashable StopInstance where -instance NFData StopInstance+instance NFData StopInstance where  instance ToHeaders StopInstance where         toHeaders@@ -103,10 +102,11 @@  -- | /See:/ 'stopInstanceResponse' smart constructor. data StopInstanceResponse = StopInstanceResponse'-    { _sirsOperations     :: !(Maybe [Operation])-    , _sirsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _sirsOperations     :: !(Maybe [Operation])+  , _sirsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'StopInstanceResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -118,11 +118,10 @@     :: Int -- ^ 'sirsResponseStatus'     -> StopInstanceResponse stopInstanceResponse pResponseStatus_ =-    StopInstanceResponse'-    { _sirsOperations = Nothing-    , _sirsResponseStatus = pResponseStatus_-    }+  StopInstanceResponse'+  {_sirsOperations = Nothing, _sirsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the request operation. sirsOperations :: Lens' StopInstanceResponse [Operation] sirsOperations = lens _sirsOperations (\ s a -> s{_sirsOperations = a}) . _Default . _Coerce;@@ -131,4 +130,4 @@ sirsResponseStatus :: Lens' StopInstanceResponse Int sirsResponseStatus = lens _sirsResponseStatus (\ s a -> s{_sirsResponseStatus = a}); -instance NFData StopInstanceResponse+instance NFData StopInstanceResponse where
gen/Network/AWS/Lightsail/Types.hs view
@@ -4,9 +4,9 @@  -- | -- Module      : Network.AWS.Lightsail.Types--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -36,6 +36,9 @@     -- * InstanceMetricName     , InstanceMetricName (..) +    -- * InstancePlatform+    , InstancePlatform (..)+     -- * InstanceSnapshotState     , InstanceSnapshotState (..) @@ -76,6 +79,7 @@     , Blueprint     , blueprint     , bVersionCode+    , bPlatform     , bGroup     , bMinPower     , bProductURL@@ -97,6 +101,7 @@     , bunName     , bunPower     , bunDiskSizeInGb+    , bunSupportedPlatforms     , bunPrice     , bunIsActive     , bunRamSizeInGb@@ -170,6 +175,7 @@     , iadExpiresAt     , iadUsername     , iadProtocol+    , iadPasswordData     , iadPassword     , iadInstanceName @@ -197,6 +203,14 @@     , ipiToPort     , ipiAccessFrom +    -- * InstancePortState+    , InstancePortState+    , instancePortState+    , ipsFromPort+    , ipsState+    , ipsProtocol+    , ipsToPort+     -- * InstanceSnapshot     , InstanceSnapshot     , instanceSnapshot@@ -263,6 +277,12 @@     , oOperationType     , oIsTerminal +    -- * PasswordData+    , PasswordData+    , passwordData+    , pdKeyPairName+    , pdCiphertext+     -- * PortInfo     , PortInfo     , portInfo@@ -299,38 +319,40 @@     , siAttachedTo     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Lightsail.Types.Sum-import           Network.AWS.Prelude-import           Network.AWS.Sign.V4+import Network.AWS.Lens+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Lightsail.Types.Sum+import Network.AWS.Prelude+import Network.AWS.Sign.V4  -- | API version @2016-11-28@ of the Amazon Lightsail SDK configuration. lightsail :: Service lightsail =-    Service-    { _svcAbbrev = "Lightsail"-    , _svcSigner = v4-    , _svcPrefix = "lightsail"-    , _svcVersion = "2016-11-28"-    , _svcEndpoint = defaultEndpoint lightsail-    , _svcTimeout = Just 70-    , _svcCheck = statusSuccess-    , _svcError = parseJSONError "Lightsail"-    , _svcRetry = retry-    }+  Service+  { _svcAbbrev = "Lightsail"+  , _svcSigner = v4+  , _svcPrefix = "lightsail"+  , _svcVersion = "2016-11-28"+  , _svcEndpoint = defaultEndpoint lightsail+  , _svcTimeout = Just 70+  , _svcCheck = statusSuccess+  , _svcError = parseJSONError "Lightsail"+  , _svcRetry = retry+  }   where     retry =-        Exponential-        { _retryBase = 5.0e-2-        , _retryGrowth = 2-        , _retryAttempts = 5-        , _retryCheck = check-        }+      Exponential+      { _retryBase = 5.0e-2+      , _retryGrowth = 2+      , _retryAttempts = 5+      , _retryCheck = check+      }     check e+      | has (hasCode "ThrottledException" . hasStatus 400) e =+        Just "throttled_exception"       | has (hasStatus 429) e = Just "too_many_requests"       | has (hasCode "ThrottlingException" . hasStatus 400) e =-          Just "throttling_exception"+        Just "throttling_exception"       | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"       | has (hasStatus 504) e = Just "gateway_timeout"       | has (hasStatus 502) e = Just "bad_gateway"@@ -339,46 +361,55 @@       | has (hasStatus 509) e = Just "limit_exceeded"       | otherwise = Nothing + -- | Lightsail throws this exception when the user cannot be authenticated or uses invalid credentials to access a resource. -- -- _AccessDeniedException :: AsError a => Getting (First ServiceError) a ServiceError-_AccessDeniedException = _ServiceError . hasCode "AccessDeniedException"+_AccessDeniedException = _MatchServiceError lightsail "AccessDeniedException" + -- | Lightsail throws this exception when an account is still in the setup in progress state. -- -- _AccountSetupInProgressException :: AsError a => Getting (First ServiceError) a ServiceError _AccountSetupInProgressException =-    _ServiceError . hasCode "AccountSetupInProgressException"+  _MatchServiceError lightsail "AccountSetupInProgressException" + -- | Lightsail throws this exception when it cannot find a resource. -- -- _NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError-_NotFoundException = _ServiceError . hasCode "NotFoundException"+_NotFoundException = _MatchServiceError lightsail "NotFoundException" + -- | Lightsail throws this exception when an operation fails to execute. -- -- _OperationFailureException :: AsError a => Getting (First ServiceError) a ServiceError _OperationFailureException =-    _ServiceError . hasCode "OperationFailureException"+  _MatchServiceError lightsail "OperationFailureException" + -- | A general service exception. -- -- _ServiceException :: AsError a => Getting (First ServiceError) a ServiceError-_ServiceException = _ServiceError . hasCode "ServiceException"+_ServiceException = _MatchServiceError lightsail "ServiceException" + -- | Lightsail throws this exception when the user has not been authenticated. -- -- _UnauthenticatedException :: AsError a => Getting (First ServiceError) a ServiceError-_UnauthenticatedException = _ServiceError . hasCode "UnauthenticatedException"+_UnauthenticatedException =+  _MatchServiceError lightsail "UnauthenticatedException" + -- | Lightsail throws this exception when user input does not conform to the validation rules of an input field. -- -- _InvalidInputException :: AsError a => Getting (First ServiceError) a ServiceError-_InvalidInputException = _ServiceError . hasCode "InvalidInputException"+_InvalidInputException = _MatchServiceError lightsail "InvalidInputException"+
gen/Network/AWS/Lightsail/Types/Product.hs view
@@ -9,1903 +9,2054 @@  -- | -- Module      : Network.AWS.Lightsail.Types.Product--- Copyright   : (c) 2013-2016 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.Lightsail.Types.Product where--import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types.Sum-import           Network.AWS.Prelude---- | Describes an Availability Zone.------------ /See:/ 'availabilityZone' smart constructor.-data AvailabilityZone = AvailabilityZone'-    { _azState    :: !(Maybe Text)-    , _azZoneName :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'AvailabilityZone' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'azState' - The state of the Availability Zone.------ * 'azZoneName' - The name of the Availability Zone.-availabilityZone-    :: AvailabilityZone-availabilityZone =-    AvailabilityZone'-    { _azState = Nothing-    , _azZoneName = Nothing-    }---- | The state of the Availability Zone.-azState :: Lens' AvailabilityZone (Maybe Text)-azState = lens _azState (\ s a -> s{_azState = a});---- | The name of the Availability Zone.-azZoneName :: Lens' AvailabilityZone (Maybe Text)-azZoneName = lens _azZoneName (\ s a -> s{_azZoneName = a});--instance FromJSON AvailabilityZone where-        parseJSON-          = withObject "AvailabilityZone"-              (\ x ->-                 AvailabilityZone' <$>-                   (x .:? "state") <*> (x .:? "zoneName"))--instance Hashable AvailabilityZone--instance NFData AvailabilityZone---- | Describes a blueprint (a virtual private server image).------------ /See:/ 'blueprint' smart constructor.-data Blueprint = Blueprint'-    { _bVersionCode :: !(Maybe Text)-    , _bGroup       :: !(Maybe Text)-    , _bMinPower    :: !(Maybe Int)-    , _bProductURL  :: !(Maybe Text)-    , _bLicenseURL  :: !(Maybe Text)-    , _bName        :: !(Maybe Text)-    , _bVersion     :: !(Maybe Text)-    , _bBlueprintId :: !(Maybe Text)-    , _bType        :: !(Maybe BlueprintType)-    , _bIsActive    :: !(Maybe Bool)-    , _bDescription :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Blueprint' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bVersionCode' - The version code.------ * 'bGroup' - The group name of the blueprint (e.g., @amazon-linux@ ).------ * 'bMinPower' - The minimum machine size required to run this blueprint. @0@ indicates that the blueprint runs on all instances.------ * 'bProductURL' - The product URL to learn more about the image or blueprint.------ * 'bLicenseURL' - The end-user license agreement URL for the image or blueprint.------ * 'bName' - The friendly name of the blueprint (e.g., @Amazon Linux@ ).------ * 'bVersion' - The version number of the operating system, application, or stack (e.g., @2016.03.0@ ).------ * 'bBlueprintId' - The ID for the virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ).------ * 'bType' - The type of the blueprint (e.g., @os@ or @app@ ).------ * 'bIsActive' - A Boolean value indicating whether the blueprint is active. When you update your blueprints, you will inactivate old blueprints and keep the most recent versions active.------ * 'bDescription' - The description of the blueprint.-blueprint-    :: Blueprint-blueprint =-    Blueprint'-    { _bVersionCode = Nothing-    , _bGroup = Nothing-    , _bMinPower = Nothing-    , _bProductURL = Nothing-    , _bLicenseURL = Nothing-    , _bName = Nothing-    , _bVersion = Nothing-    , _bBlueprintId = Nothing-    , _bType = Nothing-    , _bIsActive = Nothing-    , _bDescription = Nothing-    }---- | The version code.-bVersionCode :: Lens' Blueprint (Maybe Text)-bVersionCode = lens _bVersionCode (\ s a -> s{_bVersionCode = a});---- | The group name of the blueprint (e.g., @amazon-linux@ ).-bGroup :: Lens' Blueprint (Maybe Text)-bGroup = lens _bGroup (\ s a -> s{_bGroup = a});---- | The minimum machine size required to run this blueprint. @0@ indicates that the blueprint runs on all instances.-bMinPower :: Lens' Blueprint (Maybe Int)-bMinPower = lens _bMinPower (\ s a -> s{_bMinPower = a});---- | The product URL to learn more about the image or blueprint.-bProductURL :: Lens' Blueprint (Maybe Text)-bProductURL = lens _bProductURL (\ s a -> s{_bProductURL = a});---- | The end-user license agreement URL for the image or blueprint.-bLicenseURL :: Lens' Blueprint (Maybe Text)-bLicenseURL = lens _bLicenseURL (\ s a -> s{_bLicenseURL = a});---- | The friendly name of the blueprint (e.g., @Amazon Linux@ ).-bName :: Lens' Blueprint (Maybe Text)-bName = lens _bName (\ s a -> s{_bName = a});---- | The version number of the operating system, application, or stack (e.g., @2016.03.0@ ).-bVersion :: Lens' Blueprint (Maybe Text)-bVersion = lens _bVersion (\ s a -> s{_bVersion = a});---- | The ID for the virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ).-bBlueprintId :: Lens' Blueprint (Maybe Text)-bBlueprintId = lens _bBlueprintId (\ s a -> s{_bBlueprintId = a});---- | The type of the blueprint (e.g., @os@ or @app@ ).-bType :: Lens' Blueprint (Maybe BlueprintType)-bType = lens _bType (\ s a -> s{_bType = a});---- | A Boolean value indicating whether the blueprint is active. When you update your blueprints, you will inactivate old blueprints and keep the most recent versions active.-bIsActive :: Lens' Blueprint (Maybe Bool)-bIsActive = lens _bIsActive (\ s a -> s{_bIsActive = a});---- | The description of the blueprint.-bDescription :: Lens' Blueprint (Maybe Text)-bDescription = lens _bDescription (\ s a -> s{_bDescription = a});--instance FromJSON Blueprint where-        parseJSON-          = withObject "Blueprint"-              (\ x ->-                 Blueprint' <$>-                   (x .:? "versionCode") <*> (x .:? "group") <*>-                     (x .:? "minPower")-                     <*> (x .:? "productUrl")-                     <*> (x .:? "licenseUrl")-                     <*> (x .:? "name")-                     <*> (x .:? "version")-                     <*> (x .:? "blueprintId")-                     <*> (x .:? "type")-                     <*> (x .:? "isActive")-                     <*> (x .:? "description"))--instance Hashable Blueprint--instance NFData Blueprint---- | Describes a bundle, which is a set of specs describing your virtual private server (or /instance/ ).------------ /See:/ 'bundle' smart constructor.-data Bundle = Bundle'-    { _bunCpuCount             :: !(Maybe Int)-    , _bunTransferPerMonthInGb :: !(Maybe Int)-    , _bunBundleId             :: !(Maybe Text)-    , _bunInstanceType         :: !(Maybe Text)-    , _bunName                 :: !(Maybe Text)-    , _bunPower                :: !(Maybe Int)-    , _bunDiskSizeInGb         :: !(Maybe Int)-    , _bunPrice                :: !(Maybe Double)-    , _bunIsActive             :: !(Maybe Bool)-    , _bunRamSizeInGb          :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Bundle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bunCpuCount' - The number of vCPUs included in the bundle (e.g., @2@ ).------ * 'bunTransferPerMonthInGb' - The data transfer rate per month in GB (e.g., @2000@ ).------ * 'bunBundleId' - The bundle ID (e.g., @micro_1_0@ ).------ * 'bunInstanceType' - The Amazon EC2 instance type (e.g., @t2.micro@ ).------ * 'bunName' - A friendly name for the bundle (e.g., @Micro@ ).------ * 'bunPower' - The power of the bundle (e.g., @500@ ).------ * 'bunDiskSizeInGb' - The size of the SSD (e.g., @30@ ).------ * 'bunPrice' - The price in US dollars (e.g., @5.0@ ).------ * 'bunIsActive' - A Boolean value indicating whether the bundle is active.------ * 'bunRamSizeInGb' - The amount of RAM in GB (e.g., @2.0@ ).-bundle-    :: Bundle-bundle =-    Bundle'-    { _bunCpuCount = Nothing-    , _bunTransferPerMonthInGb = Nothing-    , _bunBundleId = Nothing-    , _bunInstanceType = Nothing-    , _bunName = Nothing-    , _bunPower = Nothing-    , _bunDiskSizeInGb = Nothing-    , _bunPrice = Nothing-    , _bunIsActive = Nothing-    , _bunRamSizeInGb = Nothing-    }---- | The number of vCPUs included in the bundle (e.g., @2@ ).-bunCpuCount :: Lens' Bundle (Maybe Int)-bunCpuCount = lens _bunCpuCount (\ s a -> s{_bunCpuCount = a});---- | The data transfer rate per month in GB (e.g., @2000@ ).-bunTransferPerMonthInGb :: Lens' Bundle (Maybe Int)-bunTransferPerMonthInGb = lens _bunTransferPerMonthInGb (\ s a -> s{_bunTransferPerMonthInGb = a});---- | The bundle ID (e.g., @micro_1_0@ ).-bunBundleId :: Lens' Bundle (Maybe Text)-bunBundleId = lens _bunBundleId (\ s a -> s{_bunBundleId = a});---- | The Amazon EC2 instance type (e.g., @t2.micro@ ).-bunInstanceType :: Lens' Bundle (Maybe Text)-bunInstanceType = lens _bunInstanceType (\ s a -> s{_bunInstanceType = a});---- | A friendly name for the bundle (e.g., @Micro@ ).-bunName :: Lens' Bundle (Maybe Text)-bunName = lens _bunName (\ s a -> s{_bunName = a});---- | The power of the bundle (e.g., @500@ ).-bunPower :: Lens' Bundle (Maybe Int)-bunPower = lens _bunPower (\ s a -> s{_bunPower = a});---- | The size of the SSD (e.g., @30@ ).-bunDiskSizeInGb :: Lens' Bundle (Maybe Int)-bunDiskSizeInGb = lens _bunDiskSizeInGb (\ s a -> s{_bunDiskSizeInGb = a});---- | The price in US dollars (e.g., @5.0@ ).-bunPrice :: Lens' Bundle (Maybe Double)-bunPrice = lens _bunPrice (\ s a -> s{_bunPrice = a});---- | A Boolean value indicating whether the bundle is active.-bunIsActive :: Lens' Bundle (Maybe Bool)-bunIsActive = lens _bunIsActive (\ s a -> s{_bunIsActive = a});---- | The amount of RAM in GB (e.g., @2.0@ ).-bunRamSizeInGb :: Lens' Bundle (Maybe Double)-bunRamSizeInGb = lens _bunRamSizeInGb (\ s a -> s{_bunRamSizeInGb = a});--instance FromJSON Bundle where-        parseJSON-          = withObject "Bundle"-              (\ x ->-                 Bundle' <$>-                   (x .:? "cpuCount") <*> (x .:? "transferPerMonthInGb")-                     <*> (x .:? "bundleId")-                     <*> (x .:? "instanceType")-                     <*> (x .:? "name")-                     <*> (x .:? "power")-                     <*> (x .:? "diskSizeInGb")-                     <*> (x .:? "price")-                     <*> (x .:? "isActive")-                     <*> (x .:? "ramSizeInGb"))--instance Hashable Bundle--instance NFData Bundle---- | Describes the hard disk (an SSD).------------ /See:/ 'disk' smart constructor.-data Disk = Disk'-    { _dResourceType    :: !(Maybe ResourceType)-    , _dArn             :: !(Maybe Text)-    , _dPath            :: !(Maybe Text)-    , _dCreatedAt       :: !(Maybe POSIX)-    , _dLocation        :: !(Maybe ResourceLocation)-    , _dIops            :: !(Maybe Int)-    , _dIsAttached      :: !(Maybe Bool)-    , _dAttachmentState :: !(Maybe Text)-    , _dName            :: !(Maybe Text)-    , _dSizeInGb        :: !(Maybe Int)-    , _dSupportCode     :: !(Maybe Text)-    , _dIsSystemDisk    :: !(Maybe Bool)-    , _dAttachedTo      :: !(Maybe Text)-    , _dGbInUse         :: !(Maybe Int)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Disk' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dResourceType' - The resource type of the disk.------ * 'dArn' - The Amazon Resource Name (ARN) of the disk.------ * 'dPath' - The disk path.------ * 'dCreatedAt' - The date when the disk was created.------ * 'dLocation' - The region and Availability Zone where the disk is located.------ * 'dIops' - The input/output operations per second (IOPS) of the disk.------ * 'dIsAttached' - A Boolean value indicating whether the disk is attached.------ * 'dAttachmentState' - The attachment state of the disk.------ * 'dName' - The name of the disk.------ * 'dSizeInGb' - The size of the disk in GB.------ * 'dSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.------ * 'dIsSystemDisk' - A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).------ * 'dAttachedTo' - The resources to which the disk is attached.------ * 'dGbInUse' - The number of GB in use by the disk.-disk-    :: Disk-disk =-    Disk'-    { _dResourceType = Nothing-    , _dArn = Nothing-    , _dPath = Nothing-    , _dCreatedAt = Nothing-    , _dLocation = Nothing-    , _dIops = Nothing-    , _dIsAttached = Nothing-    , _dAttachmentState = Nothing-    , _dName = Nothing-    , _dSizeInGb = Nothing-    , _dSupportCode = Nothing-    , _dIsSystemDisk = Nothing-    , _dAttachedTo = Nothing-    , _dGbInUse = Nothing-    }---- | The resource type of the disk.-dResourceType :: Lens' Disk (Maybe ResourceType)-dResourceType = lens _dResourceType (\ s a -> s{_dResourceType = a});---- | The Amazon Resource Name (ARN) of the disk.-dArn :: Lens' Disk (Maybe Text)-dArn = lens _dArn (\ s a -> s{_dArn = a});---- | The disk path.-dPath :: Lens' Disk (Maybe Text)-dPath = lens _dPath (\ s a -> s{_dPath = a});---- | The date when the disk was created.-dCreatedAt :: Lens' Disk (Maybe UTCTime)-dCreatedAt = lens _dCreatedAt (\ s a -> s{_dCreatedAt = a}) . mapping _Time;---- | The region and Availability Zone where the disk is located.-dLocation :: Lens' Disk (Maybe ResourceLocation)-dLocation = lens _dLocation (\ s a -> s{_dLocation = a});---- | The input/output operations per second (IOPS) of the disk.-dIops :: Lens' Disk (Maybe Int)-dIops = lens _dIops (\ s a -> s{_dIops = a});---- | A Boolean value indicating whether the disk is attached.-dIsAttached :: Lens' Disk (Maybe Bool)-dIsAttached = lens _dIsAttached (\ s a -> s{_dIsAttached = a});---- | The attachment state of the disk.-dAttachmentState :: Lens' Disk (Maybe Text)-dAttachmentState = lens _dAttachmentState (\ s a -> s{_dAttachmentState = a});---- | The name of the disk.-dName :: Lens' Disk (Maybe Text)-dName = lens _dName (\ s a -> s{_dName = a});---- | The size of the disk in GB.-dSizeInGb :: Lens' Disk (Maybe Int)-dSizeInGb = lens _dSizeInGb (\ s a -> s{_dSizeInGb = a});---- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-dSupportCode :: Lens' Disk (Maybe Text)-dSupportCode = lens _dSupportCode (\ s a -> s{_dSupportCode = a});---- | A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).-dIsSystemDisk :: Lens' Disk (Maybe Bool)-dIsSystemDisk = lens _dIsSystemDisk (\ s a -> s{_dIsSystemDisk = a});---- | The resources to which the disk is attached.-dAttachedTo :: Lens' Disk (Maybe Text)-dAttachedTo = lens _dAttachedTo (\ s a -> s{_dAttachedTo = a});---- | The number of GB in use by the disk.-dGbInUse :: Lens' Disk (Maybe Int)-dGbInUse = lens _dGbInUse (\ s a -> s{_dGbInUse = a});--instance FromJSON Disk where-        parseJSON-          = withObject "Disk"-              (\ x ->-                 Disk' <$>-                   (x .:? "resourceType") <*> (x .:? "arn") <*>-                     (x .:? "path")-                     <*> (x .:? "createdAt")-                     <*> (x .:? "location")-                     <*> (x .:? "iops")-                     <*> (x .:? "isAttached")-                     <*> (x .:? "attachmentState")-                     <*> (x .:? "name")-                     <*> (x .:? "sizeInGb")-                     <*> (x .:? "supportCode")-                     <*> (x .:? "isSystemDisk")-                     <*> (x .:? "attachedTo")-                     <*> (x .:? "gbInUse"))--instance Hashable Disk--instance NFData Disk---- | Describes a domain where you are storing recordsets in Lightsail.------------ /See:/ 'domain' smart constructor.-data Domain = Domain'-    { _domResourceType  :: !(Maybe ResourceType)-    , _domDomainEntries :: !(Maybe [DomainEntry])-    , _domArn           :: !(Maybe Text)-    , _domCreatedAt     :: !(Maybe POSIX)-    , _domLocation      :: !(Maybe ResourceLocation)-    , _domName          :: !(Maybe Text)-    , _domSupportCode   :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Domain' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'domResourceType' - The resource type.------ * 'domDomainEntries' - An array of key-value pairs containing information about the domain entries.------ * 'domArn' - The Amazon Resource Name (ARN) of the domain recordset (e.g., @arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE@ ).------ * 'domCreatedAt' - The date when the domain recordset was created.------ * 'domLocation' - The AWS Region and Availability Zones where the domain recordset was created.------ * 'domName' - The name of the domain.------ * 'domSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-domain-    :: Domain-domain =-    Domain'-    { _domResourceType = Nothing-    , _domDomainEntries = Nothing-    , _domArn = Nothing-    , _domCreatedAt = Nothing-    , _domLocation = Nothing-    , _domName = Nothing-    , _domSupportCode = Nothing-    }---- | The resource type.-domResourceType :: Lens' Domain (Maybe ResourceType)-domResourceType = lens _domResourceType (\ s a -> s{_domResourceType = a});---- | An array of key-value pairs containing information about the domain entries.-domDomainEntries :: Lens' Domain [DomainEntry]-domDomainEntries = lens _domDomainEntries (\ s a -> s{_domDomainEntries = a}) . _Default . _Coerce;---- | The Amazon Resource Name (ARN) of the domain recordset (e.g., @arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE@ ).-domArn :: Lens' Domain (Maybe Text)-domArn = lens _domArn (\ s a -> s{_domArn = a});---- | The date when the domain recordset was created.-domCreatedAt :: Lens' Domain (Maybe UTCTime)-domCreatedAt = lens _domCreatedAt (\ s a -> s{_domCreatedAt = a}) . mapping _Time;---- | The AWS Region and Availability Zones where the domain recordset was created.-domLocation :: Lens' Domain (Maybe ResourceLocation)-domLocation = lens _domLocation (\ s a -> s{_domLocation = a});---- | The name of the domain.-domName :: Lens' Domain (Maybe Text)-domName = lens _domName (\ s a -> s{_domName = a});---- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-domSupportCode :: Lens' Domain (Maybe Text)-domSupportCode = lens _domSupportCode (\ s a -> s{_domSupportCode = a});--instance FromJSON Domain where-        parseJSON-          = withObject "Domain"-              (\ x ->-                 Domain' <$>-                   (x .:? "resourceType") <*>-                     (x .:? "domainEntries" .!= mempty)-                     <*> (x .:? "arn")-                     <*> (x .:? "createdAt")-                     <*> (x .:? "location")-                     <*> (x .:? "name")-                     <*> (x .:? "supportCode"))--instance Hashable Domain--instance NFData Domain---- | Describes a domain recordset entry.------------ /See:/ 'domainEntry' smart constructor.-data DomainEntry = DomainEntry'-    { _deName    :: !(Maybe Text)-    , _deId      :: !(Maybe Text)-    , _deOptions :: !(Maybe (Map Text Text))-    , _deType    :: !(Maybe Text)-    , _deTarget  :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'DomainEntry' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'deName' - The name of the domain.------ * 'deId' - The ID of the domain recordset entry.------ * 'deOptions' - The options for the domain entry.------ * 'deType' - The type of domain entry (e.g., @SOA@ or @NS@ ).------ * 'deTarget' - The target AWS name server (e.g., @ns-111.awsdns-22.com.@ ).-domainEntry-    :: DomainEntry-domainEntry =-    DomainEntry'-    { _deName = Nothing-    , _deId = Nothing-    , _deOptions = Nothing-    , _deType = Nothing-    , _deTarget = Nothing-    }---- | The name of the domain.-deName :: Lens' DomainEntry (Maybe Text)-deName = lens _deName (\ s a -> s{_deName = a});---- | The ID of the domain recordset entry.-deId :: Lens' DomainEntry (Maybe Text)-deId = lens _deId (\ s a -> s{_deId = a});---- | The options for the domain entry.-deOptions :: Lens' DomainEntry (HashMap Text Text)-deOptions = lens _deOptions (\ s a -> s{_deOptions = a}) . _Default . _Map;---- | The type of domain entry (e.g., @SOA@ or @NS@ ).-deType :: Lens' DomainEntry (Maybe Text)-deType = lens _deType (\ s a -> s{_deType = a});---- | The target AWS name server (e.g., @ns-111.awsdns-22.com.@ ).-deTarget :: Lens' DomainEntry (Maybe Text)-deTarget = lens _deTarget (\ s a -> s{_deTarget = a});--instance FromJSON DomainEntry where-        parseJSON-          = withObject "DomainEntry"-              (\ x ->-                 DomainEntry' <$>-                   (x .:? "name") <*> (x .:? "id") <*>-                     (x .:? "options" .!= mempty)-                     <*> (x .:? "type")-                     <*> (x .:? "target"))--instance Hashable DomainEntry--instance NFData DomainEntry--instance ToJSON DomainEntry where-        toJSON DomainEntry'{..}-          = object-              (catMaybes-                 [("name" .=) <$> _deName, ("id" .=) <$> _deId,-                  ("options" .=) <$> _deOptions,-                  ("type" .=) <$> _deType,-                  ("target" .=) <$> _deTarget])---- | Describes an instance (a virtual private server).------------ /See:/ 'instance'' smart constructor.-data Instance = Instance'-    { _iState            :: !(Maybe InstanceState)-    , _iIpv6Address      :: !(Maybe Text)-    , _iResourceType     :: !(Maybe ResourceType)-    , _iArn              :: !(Maybe Text)-    , _iCreatedAt        :: !(Maybe POSIX)-    , _iLocation         :: !(Maybe ResourceLocation)-    , _iSshKeyName       :: !(Maybe Text)-    , _iUsername         :: !(Maybe Text)-    , _iNetworking       :: !(Maybe InstanceNetworking)-    , _iBundleId         :: !(Maybe Text)-    , _iName             :: !(Maybe Text)-    , _iSupportCode      :: !(Maybe Text)-    , _iBlueprintId      :: !(Maybe Text)-    , _iPrivateIPAddress :: !(Maybe Text)-    , _iBlueprintName    :: !(Maybe Text)-    , _iIsStaticIP       :: !(Maybe Bool)-    , _iPublicIPAddress  :: !(Maybe Text)-    , _iHardware         :: !(Maybe InstanceHardware)-    } 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:------ * 'iState' - The status code and the state (e.g., @running@ ) for the instance.------ * 'iIpv6Address' - The IPv6 address of the instance.------ * 'iResourceType' - The type of resource (usually @Instance@ ).------ * 'iArn' - The Amazon Resource Name (ARN) of the instance (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE@ ).------ * 'iCreatedAt' - The timestamp when the instance was created (e.g., @1479734909.17@ ).------ * 'iLocation' - The region name and availability zone where the instance is located.------ * 'iSshKeyName' - The name of the SSH key being used to connect to the instance (e.g., @LightsailDefaultKeyPair@ ).------ * 'iUsername' - The user name for connecting to the instance (e.g., @ec2-user@ ).------ * 'iNetworking' - Information about the public ports and monthly data transfer rates for the instance.------ * 'iBundleId' - The bundle for the instance (e.g., @micro_1_0@ ).------ * 'iName' - The name the user gave the instance (e.g., @Amazon_Linux-1GB-Virginia-1@ ).------ * 'iSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.------ * 'iBlueprintId' - The blueprint ID (e.g., @os_amlinux_2016_03@ ).------ * 'iPrivateIPAddress' - The private IP address of the instance.------ * 'iBlueprintName' - The friendly name of the blueprint (e.g., @Amazon Linux@ ).------ * 'iIsStaticIP' - A Boolean value indicating whether this instance has a static IP assigned to it.------ * 'iPublicIPAddress' - The public IP address of the instance.------ * 'iHardware' - The size of the vCPU and the amount of RAM for the instance.-instance'-    :: Instance-instance' =-    Instance'-    { _iState = Nothing-    , _iIpv6Address = Nothing-    , _iResourceType = Nothing-    , _iArn = Nothing-    , _iCreatedAt = Nothing-    , _iLocation = Nothing-    , _iSshKeyName = Nothing-    , _iUsername = Nothing-    , _iNetworking = Nothing-    , _iBundleId = Nothing-    , _iName = Nothing-    , _iSupportCode = Nothing-    , _iBlueprintId = Nothing-    , _iPrivateIPAddress = Nothing-    , _iBlueprintName = Nothing-    , _iIsStaticIP = Nothing-    , _iPublicIPAddress = Nothing-    , _iHardware = Nothing-    }---- | The status code and the state (e.g., @running@ ) for the instance.-iState :: Lens' Instance (Maybe InstanceState)-iState = lens _iState (\ s a -> s{_iState = a});---- | The IPv6 address of the instance.-iIpv6Address :: Lens' Instance (Maybe Text)-iIpv6Address = lens _iIpv6Address (\ s a -> s{_iIpv6Address = a});---- | The type of resource (usually @Instance@ ).-iResourceType :: Lens' Instance (Maybe ResourceType)-iResourceType = lens _iResourceType (\ s a -> s{_iResourceType = a});---- | The Amazon Resource Name (ARN) of the instance (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE@ ).-iArn :: Lens' Instance (Maybe Text)-iArn = lens _iArn (\ s a -> s{_iArn = a});---- | The timestamp when the instance was created (e.g., @1479734909.17@ ).-iCreatedAt :: Lens' Instance (Maybe UTCTime)-iCreatedAt = lens _iCreatedAt (\ s a -> s{_iCreatedAt = a}) . mapping _Time;---- | The region name and availability zone where the instance is located.-iLocation :: Lens' Instance (Maybe ResourceLocation)-iLocation = lens _iLocation (\ s a -> s{_iLocation = a});---- | The name of the SSH key being used to connect to the instance (e.g., @LightsailDefaultKeyPair@ ).-iSshKeyName :: Lens' Instance (Maybe Text)-iSshKeyName = lens _iSshKeyName (\ s a -> s{_iSshKeyName = a});---- | The user name for connecting to the instance (e.g., @ec2-user@ ).-iUsername :: Lens' Instance (Maybe Text)-iUsername = lens _iUsername (\ s a -> s{_iUsername = a});---- | Information about the public ports and monthly data transfer rates for the instance.-iNetworking :: Lens' Instance (Maybe InstanceNetworking)-iNetworking = lens _iNetworking (\ s a -> s{_iNetworking = a});---- | The bundle for the instance (e.g., @micro_1_0@ ).-iBundleId :: Lens' Instance (Maybe Text)-iBundleId = lens _iBundleId (\ s a -> s{_iBundleId = a});---- | The name the user gave the instance (e.g., @Amazon_Linux-1GB-Virginia-1@ ).-iName :: Lens' Instance (Maybe Text)-iName = lens _iName (\ s a -> s{_iName = a});---- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-iSupportCode :: Lens' Instance (Maybe Text)-iSupportCode = lens _iSupportCode (\ s a -> s{_iSupportCode = a});---- | The blueprint ID (e.g., @os_amlinux_2016_03@ ).-iBlueprintId :: Lens' Instance (Maybe Text)-iBlueprintId = lens _iBlueprintId (\ s a -> s{_iBlueprintId = a});---- | The private IP address of the instance.-iPrivateIPAddress :: Lens' Instance (Maybe Text)-iPrivateIPAddress = lens _iPrivateIPAddress (\ s a -> s{_iPrivateIPAddress = a});---- | The friendly name of the blueprint (e.g., @Amazon Linux@ ).-iBlueprintName :: Lens' Instance (Maybe Text)-iBlueprintName = lens _iBlueprintName (\ s a -> s{_iBlueprintName = a});---- | A Boolean value indicating whether this instance has a static IP assigned to it.-iIsStaticIP :: Lens' Instance (Maybe Bool)-iIsStaticIP = lens _iIsStaticIP (\ s a -> s{_iIsStaticIP = a});---- | The public IP address of the instance.-iPublicIPAddress :: Lens' Instance (Maybe Text)-iPublicIPAddress = lens _iPublicIPAddress (\ s a -> s{_iPublicIPAddress = a});---- | The size of the vCPU and the amount of RAM for the instance.-iHardware :: Lens' Instance (Maybe InstanceHardware)-iHardware = lens _iHardware (\ s a -> s{_iHardware = a});--instance FromJSON Instance where-        parseJSON-          = withObject "Instance"-              (\ x ->-                 Instance' <$>-                   (x .:? "state") <*> (x .:? "ipv6Address") <*>-                     (x .:? "resourceType")-                     <*> (x .:? "arn")-                     <*> (x .:? "createdAt")-                     <*> (x .:? "location")-                     <*> (x .:? "sshKeyName")-                     <*> (x .:? "username")-                     <*> (x .:? "networking")-                     <*> (x .:? "bundleId")-                     <*> (x .:? "name")-                     <*> (x .:? "supportCode")-                     <*> (x .:? "blueprintId")-                     <*> (x .:? "privateIpAddress")-                     <*> (x .:? "blueprintName")-                     <*> (x .:? "isStaticIp")-                     <*> (x .:? "publicIpAddress")-                     <*> (x .:? "hardware"))--instance Hashable Instance--instance NFData Instance---- | The parameters for gaining temporary access to one of your Amazon Lightsail instances.------------ /See:/ 'instanceAccessDetails' smart constructor.-data InstanceAccessDetails = InstanceAccessDetails'-    { _iadCertKey      :: !(Maybe Text)-    , _iadIpAddress    :: !(Maybe Text)-    , _iadPrivateKey   :: !(Maybe Text)-    , _iadExpiresAt    :: !(Maybe POSIX)-    , _iadUsername     :: !(Maybe Text)-    , _iadProtocol     :: !(Maybe InstanceAccessProtocol)-    , _iadPassword     :: !(Maybe Text)-    , _iadInstanceName :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceAccessDetails' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iadCertKey' - For SSH access, the public key to use when accessing your instance For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey-cert.pub@ .------ * 'iadIpAddress' - The public IP address of the Amazon Lightsail instance.------ * 'iadPrivateKey' - For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey@ ).------ * 'iadExpiresAt' - For SSH access, the date on which the temporary keys expire.------ * 'iadUsername' - The user name to use when logging in to the Amazon Lightsail instance.------ * 'iadProtocol' - The protocol for these Amazon Lightsail instance access details.------ * 'iadPassword' - For RDP access, the temporary password of the Amazon EC2 instance.------ * 'iadInstanceName' - The name of this Amazon Lightsail instance.-instanceAccessDetails-    :: InstanceAccessDetails-instanceAccessDetails =-    InstanceAccessDetails'-    { _iadCertKey = Nothing-    , _iadIpAddress = Nothing-    , _iadPrivateKey = Nothing-    , _iadExpiresAt = Nothing-    , _iadUsername = Nothing-    , _iadProtocol = Nothing-    , _iadPassword = Nothing-    , _iadInstanceName = Nothing-    }---- | For SSH access, the public key to use when accessing your instance For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey-cert.pub@ .-iadCertKey :: Lens' InstanceAccessDetails (Maybe Text)-iadCertKey = lens _iadCertKey (\ s a -> s{_iadCertKey = a});---- | The public IP address of the Amazon Lightsail instance.-iadIpAddress :: Lens' InstanceAccessDetails (Maybe Text)-iadIpAddress = lens _iadIpAddress (\ s a -> s{_iadIpAddress = a});---- | For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey@ ).-iadPrivateKey :: Lens' InstanceAccessDetails (Maybe Text)-iadPrivateKey = lens _iadPrivateKey (\ s a -> s{_iadPrivateKey = a});---- | For SSH access, the date on which the temporary keys expire.-iadExpiresAt :: Lens' InstanceAccessDetails (Maybe UTCTime)-iadExpiresAt = lens _iadExpiresAt (\ s a -> s{_iadExpiresAt = a}) . mapping _Time;---- | The user name to use when logging in to the Amazon Lightsail instance.-iadUsername :: Lens' InstanceAccessDetails (Maybe Text)-iadUsername = lens _iadUsername (\ s a -> s{_iadUsername = a});---- | The protocol for these Amazon Lightsail instance access details.-iadProtocol :: Lens' InstanceAccessDetails (Maybe InstanceAccessProtocol)-iadProtocol = lens _iadProtocol (\ s a -> s{_iadProtocol = a});---- | For RDP access, the temporary password of the Amazon EC2 instance.-iadPassword :: Lens' InstanceAccessDetails (Maybe Text)-iadPassword = lens _iadPassword (\ s a -> s{_iadPassword = a});---- | The name of this Amazon Lightsail instance.-iadInstanceName :: Lens' InstanceAccessDetails (Maybe Text)-iadInstanceName = lens _iadInstanceName (\ s a -> s{_iadInstanceName = a});--instance FromJSON InstanceAccessDetails where-        parseJSON-          = withObject "InstanceAccessDetails"-              (\ x ->-                 InstanceAccessDetails' <$>-                   (x .:? "certKey") <*> (x .:? "ipAddress") <*>-                     (x .:? "privateKey")-                     <*> (x .:? "expiresAt")-                     <*> (x .:? "username")-                     <*> (x .:? "protocol")-                     <*> (x .:? "password")-                     <*> (x .:? "instanceName"))--instance Hashable InstanceAccessDetails--instance NFData InstanceAccessDetails---- | Describes the hardware for the instance.------------ /See:/ 'instanceHardware' smart constructor.-data InstanceHardware = InstanceHardware'-    { _ihCpuCount    :: !(Maybe Int)-    , _ihDisks       :: !(Maybe [Disk])-    , _ihRamSizeInGb :: !(Maybe Double)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceHardware' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ihCpuCount' - The number of vCPUs the instance has.------ * 'ihDisks' - The disks attached to the instance.------ * 'ihRamSizeInGb' - The amount of RAM in GB on the instance (e.g., @1.0@ ).-instanceHardware-    :: InstanceHardware-instanceHardware =-    InstanceHardware'-    { _ihCpuCount = Nothing-    , _ihDisks = Nothing-    , _ihRamSizeInGb = Nothing-    }---- | The number of vCPUs the instance has.-ihCpuCount :: Lens' InstanceHardware (Maybe Int)-ihCpuCount = lens _ihCpuCount (\ s a -> s{_ihCpuCount = a});---- | The disks attached to the instance.-ihDisks :: Lens' InstanceHardware [Disk]-ihDisks = lens _ihDisks (\ s a -> s{_ihDisks = a}) . _Default . _Coerce;---- | The amount of RAM in GB on the instance (e.g., @1.0@ ).-ihRamSizeInGb :: Lens' InstanceHardware (Maybe Double)-ihRamSizeInGb = lens _ihRamSizeInGb (\ s a -> s{_ihRamSizeInGb = a});--instance FromJSON InstanceHardware where-        parseJSON-          = withObject "InstanceHardware"-              (\ x ->-                 InstanceHardware' <$>-                   (x .:? "cpuCount") <*> (x .:? "disks" .!= mempty) <*>-                     (x .:? "ramSizeInGb"))--instance Hashable InstanceHardware--instance NFData InstanceHardware---- | Describes monthly data transfer rates and port information for an instance.------------ /See:/ 'instanceNetworking' smart constructor.-data InstanceNetworking = InstanceNetworking'-    { _inMonthlyTransfer :: !(Maybe MonthlyTransfer)-    , _inPorts           :: !(Maybe [InstancePortInfo])-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceNetworking' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'inMonthlyTransfer' - The amount of data in GB allocated for monthly data transfers.------ * 'inPorts' - An array of key-value pairs containing information about the ports on the instance.-instanceNetworking-    :: InstanceNetworking-instanceNetworking =-    InstanceNetworking'-    { _inMonthlyTransfer = Nothing-    , _inPorts = Nothing-    }---- | The amount of data in GB allocated for monthly data transfers.-inMonthlyTransfer :: Lens' InstanceNetworking (Maybe MonthlyTransfer)-inMonthlyTransfer = lens _inMonthlyTransfer (\ s a -> s{_inMonthlyTransfer = a});---- | An array of key-value pairs containing information about the ports on the instance.-inPorts :: Lens' InstanceNetworking [InstancePortInfo]-inPorts = lens _inPorts (\ s a -> s{_inPorts = a}) . _Default . _Coerce;--instance FromJSON InstanceNetworking where-        parseJSON-          = withObject "InstanceNetworking"-              (\ x ->-                 InstanceNetworking' <$>-                   (x .:? "monthlyTransfer") <*>-                     (x .:? "ports" .!= mempty))--instance Hashable InstanceNetworking--instance NFData InstanceNetworking---- | Describes information about the instance ports.------------ /See:/ 'instancePortInfo' smart constructor.-data InstancePortInfo = InstancePortInfo'-    { _ipiFromPort        :: !(Maybe Nat)-    , _ipiCommonName      :: !(Maybe Text)-    , _ipiProtocol        :: !(Maybe NetworkProtocol)-    , _ipiAccessDirection :: !(Maybe AccessDirection)-    , _ipiAccessType      :: !(Maybe PortAccessType)-    , _ipiToPort          :: !(Maybe Nat)-    , _ipiAccessFrom      :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstancePortInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ipiFromPort' - The first port in the range.------ * 'ipiCommonName' - The common name.------ * 'ipiProtocol' - The protocol.------ * 'ipiAccessDirection' - The access direction (@inbound@ or @outbound@ ).------ * 'ipiAccessType' - The type of access (@Public@ or @Private@ ).------ * 'ipiToPort' - The last port in the range.------ * 'ipiAccessFrom' - The location from which access is allowed (e.g., @Anywhere (0.0.0.0/0)@ ).-instancePortInfo-    :: InstancePortInfo-instancePortInfo =-    InstancePortInfo'-    { _ipiFromPort = Nothing-    , _ipiCommonName = Nothing-    , _ipiProtocol = Nothing-    , _ipiAccessDirection = Nothing-    , _ipiAccessType = Nothing-    , _ipiToPort = Nothing-    , _ipiAccessFrom = Nothing-    }---- | The first port in the range.-ipiFromPort :: Lens' InstancePortInfo (Maybe Natural)-ipiFromPort = lens _ipiFromPort (\ s a -> s{_ipiFromPort = a}) . mapping _Nat;---- | The common name.-ipiCommonName :: Lens' InstancePortInfo (Maybe Text)-ipiCommonName = lens _ipiCommonName (\ s a -> s{_ipiCommonName = a});---- | The protocol.-ipiProtocol :: Lens' InstancePortInfo (Maybe NetworkProtocol)-ipiProtocol = lens _ipiProtocol (\ s a -> s{_ipiProtocol = a});---- | The access direction (@inbound@ or @outbound@ ).-ipiAccessDirection :: Lens' InstancePortInfo (Maybe AccessDirection)-ipiAccessDirection = lens _ipiAccessDirection (\ s a -> s{_ipiAccessDirection = a});---- | The type of access (@Public@ or @Private@ ).-ipiAccessType :: Lens' InstancePortInfo (Maybe PortAccessType)-ipiAccessType = lens _ipiAccessType (\ s a -> s{_ipiAccessType = a});---- | The last port in the range.-ipiToPort :: Lens' InstancePortInfo (Maybe Natural)-ipiToPort = lens _ipiToPort (\ s a -> s{_ipiToPort = a}) . mapping _Nat;---- | The location from which access is allowed (e.g., @Anywhere (0.0.0.0/0)@ ).-ipiAccessFrom :: Lens' InstancePortInfo (Maybe Text)-ipiAccessFrom = lens _ipiAccessFrom (\ s a -> s{_ipiAccessFrom = a});--instance FromJSON InstancePortInfo where-        parseJSON-          = withObject "InstancePortInfo"-              (\ x ->-                 InstancePortInfo' <$>-                   (x .:? "fromPort") <*> (x .:? "commonName") <*>-                     (x .:? "protocol")-                     <*> (x .:? "accessDirection")-                     <*> (x .:? "accessType")-                     <*> (x .:? "toPort")-                     <*> (x .:? "accessFrom"))--instance Hashable InstancePortInfo--instance NFData InstancePortInfo---- | Describes the snapshot of the virtual private server, or /instance/ .------------ /See:/ 'instanceSnapshot' smart constructor.-data InstanceSnapshot = InstanceSnapshot'-    { _insFromBlueprintId  :: !(Maybe Text)-    , _insState            :: !(Maybe InstanceSnapshotState)-    , _insResourceType     :: !(Maybe ResourceType)-    , _insArn              :: !(Maybe Text)-    , _insCreatedAt        :: !(Maybe POSIX)-    , _insLocation         :: !(Maybe ResourceLocation)-    , _insProgress         :: !(Maybe Text)-    , _insName             :: !(Maybe Text)-    , _insFromBundleId     :: !(Maybe Text)-    , _insSizeInGb         :: !(Maybe Int)-    , _insSupportCode      :: !(Maybe Text)-    , _insFromInstanceARN  :: !(Maybe Text)-    , _insFromInstanceName :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceSnapshot' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'insFromBlueprintId' - The blueprint ID from which you created the snapshot (e.g., @os_debian_8_3@ ). A blueprint is a virtual private server (or /instance/ ) image used to create instances quickly.------ * 'insState' - The state the snapshot is in.------ * 'insResourceType' - The type of resource (usually @InstanceSnapshot@ ).------ * 'insArn' - The Amazon Resource Name (ARN) of the snapshot (e.g., @arn:aws:lightsail:us-east-1:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE@ ).------ * 'insCreatedAt' - The timestamp when the snapshot was created (e.g., @1479907467.024@ ).------ * 'insLocation' - The region name and availability zone where you created the snapshot.------ * 'insProgress' - The progress of the snapshot.------ * 'insName' - The name of the snapshot.------ * 'insFromBundleId' - The bundle ID from which you created the snapshot (e.g., @micro_1_0@ ).------ * 'insSizeInGb' - The size in GB of the SSD.------ * 'insSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.------ * 'insFromInstanceARN' - The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE@ ).------ * 'insFromInstanceName' - The instance from which the snapshot was created.-instanceSnapshot-    :: InstanceSnapshot-instanceSnapshot =-    InstanceSnapshot'-    { _insFromBlueprintId = Nothing-    , _insState = Nothing-    , _insResourceType = Nothing-    , _insArn = Nothing-    , _insCreatedAt = Nothing-    , _insLocation = Nothing-    , _insProgress = Nothing-    , _insName = Nothing-    , _insFromBundleId = Nothing-    , _insSizeInGb = Nothing-    , _insSupportCode = Nothing-    , _insFromInstanceARN = Nothing-    , _insFromInstanceName = Nothing-    }---- | The blueprint ID from which you created the snapshot (e.g., @os_debian_8_3@ ). A blueprint is a virtual private server (or /instance/ ) image used to create instances quickly.-insFromBlueprintId :: Lens' InstanceSnapshot (Maybe Text)-insFromBlueprintId = lens _insFromBlueprintId (\ s a -> s{_insFromBlueprintId = a});---- | The state the snapshot is in.-insState :: Lens' InstanceSnapshot (Maybe InstanceSnapshotState)-insState = lens _insState (\ s a -> s{_insState = a});---- | The type of resource (usually @InstanceSnapshot@ ).-insResourceType :: Lens' InstanceSnapshot (Maybe ResourceType)-insResourceType = lens _insResourceType (\ s a -> s{_insResourceType = a});---- | The Amazon Resource Name (ARN) of the snapshot (e.g., @arn:aws:lightsail:us-east-1:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE@ ).-insArn :: Lens' InstanceSnapshot (Maybe Text)-insArn = lens _insArn (\ s a -> s{_insArn = a});---- | The timestamp when the snapshot was created (e.g., @1479907467.024@ ).-insCreatedAt :: Lens' InstanceSnapshot (Maybe UTCTime)-insCreatedAt = lens _insCreatedAt (\ s a -> s{_insCreatedAt = a}) . mapping _Time;---- | The region name and availability zone where you created the snapshot.-insLocation :: Lens' InstanceSnapshot (Maybe ResourceLocation)-insLocation = lens _insLocation (\ s a -> s{_insLocation = a});---- | The progress of the snapshot.-insProgress :: Lens' InstanceSnapshot (Maybe Text)-insProgress = lens _insProgress (\ s a -> s{_insProgress = a});---- | The name of the snapshot.-insName :: Lens' InstanceSnapshot (Maybe Text)-insName = lens _insName (\ s a -> s{_insName = a});---- | The bundle ID from which you created the snapshot (e.g., @micro_1_0@ ).-insFromBundleId :: Lens' InstanceSnapshot (Maybe Text)-insFromBundleId = lens _insFromBundleId (\ s a -> s{_insFromBundleId = a});---- | The size in GB of the SSD.-insSizeInGb :: Lens' InstanceSnapshot (Maybe Int)-insSizeInGb = lens _insSizeInGb (\ s a -> s{_insSizeInGb = a});---- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-insSupportCode :: Lens' InstanceSnapshot (Maybe Text)-insSupportCode = lens _insSupportCode (\ s a -> s{_insSupportCode = a});---- | The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE@ ).-insFromInstanceARN :: Lens' InstanceSnapshot (Maybe Text)-insFromInstanceARN = lens _insFromInstanceARN (\ s a -> s{_insFromInstanceARN = a});---- | The instance from which the snapshot was created.-insFromInstanceName :: Lens' InstanceSnapshot (Maybe Text)-insFromInstanceName = lens _insFromInstanceName (\ s a -> s{_insFromInstanceName = a});--instance FromJSON InstanceSnapshot where-        parseJSON-          = withObject "InstanceSnapshot"-              (\ x ->-                 InstanceSnapshot' <$>-                   (x .:? "fromBlueprintId") <*> (x .:? "state") <*>-                     (x .:? "resourceType")-                     <*> (x .:? "arn")-                     <*> (x .:? "createdAt")-                     <*> (x .:? "location")-                     <*> (x .:? "progress")-                     <*> (x .:? "name")-                     <*> (x .:? "fromBundleId")-                     <*> (x .:? "sizeInGb")-                     <*> (x .:? "supportCode")-                     <*> (x .:? "fromInstanceArn")-                     <*> (x .:? "fromInstanceName"))--instance Hashable InstanceSnapshot--instance NFData InstanceSnapshot---- | Describes the virtual private server (or /instance/ ) status.------------ /See:/ 'instanceState' smart constructor.-data InstanceState = InstanceState'-    { _isName :: !(Maybe Text)-    , _isCode :: !(Maybe Int)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'InstanceState' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'isName' - The state of the instance (e.g., @running@ or @pending@ ).------ * 'isCode' - The status code for the instance.-instanceState-    :: InstanceState-instanceState =-    InstanceState'-    { _isName = Nothing-    , _isCode = Nothing-    }---- | The state of the instance (e.g., @running@ or @pending@ ).-isName :: Lens' InstanceState (Maybe Text)-isName = lens _isName (\ s a -> s{_isName = a});---- | The status code for the instance.-isCode :: Lens' InstanceState (Maybe Int)-isCode = lens _isCode (\ s a -> s{_isCode = a});--instance FromJSON InstanceState where-        parseJSON-          = withObject "InstanceState"-              (\ x ->-                 InstanceState' <$> (x .:? "name") <*> (x .:? "code"))--instance Hashable InstanceState--instance NFData InstanceState---- | Describes the SSH key pair.------------ /See:/ 'keyPair' smart constructor.-data KeyPair = KeyPair'-    { _kpResourceType :: !(Maybe ResourceType)-    , _kpArn          :: !(Maybe Text)-    , _kpCreatedAt    :: !(Maybe POSIX)-    , _kpLocation     :: !(Maybe ResourceLocation)-    , _kpFingerprint  :: !(Maybe Text)-    , _kpName         :: !(Maybe Text)-    , _kpSupportCode  :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'KeyPair' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'kpResourceType' - The resource type (usually @KeyPair@ ).------ * 'kpArn' - The Amazon Resource Name (ARN) of the key pair (e.g., @arn:aws:lightsail:us-east-1:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE@ ).------ * 'kpCreatedAt' - The timestamp when the key pair was created (e.g., @1479816991.349@ ).------ * 'kpLocation' - The region name and Availability Zone where the key pair was created.------ * 'kpFingerprint' - The RSA fingerprint of the key pair.------ * 'kpName' - The friendly name of the SSH key pair.------ * 'kpSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-keyPair-    :: KeyPair-keyPair =-    KeyPair'-    { _kpResourceType = Nothing-    , _kpArn = Nothing-    , _kpCreatedAt = Nothing-    , _kpLocation = Nothing-    , _kpFingerprint = Nothing-    , _kpName = Nothing-    , _kpSupportCode = Nothing-    }---- | The resource type (usually @KeyPair@ ).-kpResourceType :: Lens' KeyPair (Maybe ResourceType)-kpResourceType = lens _kpResourceType (\ s a -> s{_kpResourceType = a});---- | The Amazon Resource Name (ARN) of the key pair (e.g., @arn:aws:lightsail:us-east-1:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE@ ).-kpArn :: Lens' KeyPair (Maybe Text)-kpArn = lens _kpArn (\ s a -> s{_kpArn = a});---- | The timestamp when the key pair was created (e.g., @1479816991.349@ ).-kpCreatedAt :: Lens' KeyPair (Maybe UTCTime)-kpCreatedAt = lens _kpCreatedAt (\ s a -> s{_kpCreatedAt = a}) . mapping _Time;---- | The region name and Availability Zone where the key pair was created.-kpLocation :: Lens' KeyPair (Maybe ResourceLocation)-kpLocation = lens _kpLocation (\ s a -> s{_kpLocation = a});---- | The RSA fingerprint of the key pair.-kpFingerprint :: Lens' KeyPair (Maybe Text)-kpFingerprint = lens _kpFingerprint (\ s a -> s{_kpFingerprint = a});---- | The friendly name of the SSH key pair.-kpName :: Lens' KeyPair (Maybe Text)-kpName = lens _kpName (\ s a -> s{_kpName = a});---- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-kpSupportCode :: Lens' KeyPair (Maybe Text)-kpSupportCode = lens _kpSupportCode (\ s a -> s{_kpSupportCode = a});--instance FromJSON KeyPair where-        parseJSON-          = withObject "KeyPair"-              (\ x ->-                 KeyPair' <$>-                   (x .:? "resourceType") <*> (x .:? "arn") <*>-                     (x .:? "createdAt")-                     <*> (x .:? "location")-                     <*> (x .:? "fingerprint")-                     <*> (x .:? "name")-                     <*> (x .:? "supportCode"))--instance Hashable KeyPair--instance NFData KeyPair---- | Describes the metric data point.------------ /See:/ 'metricDatapoint' smart constructor.-data MetricDatapoint = MetricDatapoint'-    { _mdSampleCount :: !(Maybe Double)-    , _mdMaximum     :: !(Maybe Double)-    , _mdAverage     :: !(Maybe Double)-    , _mdMinimum     :: !(Maybe Double)-    , _mdSum         :: !(Maybe Double)-    , _mdTimestamp   :: !(Maybe POSIX)-    , _mdUnit        :: !(Maybe MetricUnit)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'MetricDatapoint' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mdSampleCount' - The sample count.------ * 'mdMaximum' - The maximum.------ * 'mdAverage' - The average.------ * 'mdMinimum' - The minimum.------ * 'mdSum' - The sum.------ * 'mdTimestamp' - The timestamp (e.g., @1479816991.349@ ).------ * 'mdUnit' - The unit.-metricDatapoint-    :: MetricDatapoint-metricDatapoint =-    MetricDatapoint'-    { _mdSampleCount = Nothing-    , _mdMaximum = Nothing-    , _mdAverage = Nothing-    , _mdMinimum = Nothing-    , _mdSum = Nothing-    , _mdTimestamp = Nothing-    , _mdUnit = Nothing-    }---- | The sample count.-mdSampleCount :: Lens' MetricDatapoint (Maybe Double)-mdSampleCount = lens _mdSampleCount (\ s a -> s{_mdSampleCount = a});---- | The maximum.-mdMaximum :: Lens' MetricDatapoint (Maybe Double)-mdMaximum = lens _mdMaximum (\ s a -> s{_mdMaximum = a});---- | The average.-mdAverage :: Lens' MetricDatapoint (Maybe Double)-mdAverage = lens _mdAverage (\ s a -> s{_mdAverage = a});---- | The minimum.-mdMinimum :: Lens' MetricDatapoint (Maybe Double)-mdMinimum = lens _mdMinimum (\ s a -> s{_mdMinimum = a});---- | The sum.-mdSum :: Lens' MetricDatapoint (Maybe Double)-mdSum = lens _mdSum (\ s a -> s{_mdSum = a});---- | The timestamp (e.g., @1479816991.349@ ).-mdTimestamp :: Lens' MetricDatapoint (Maybe UTCTime)-mdTimestamp = lens _mdTimestamp (\ s a -> s{_mdTimestamp = a}) . mapping _Time;---- | The unit.-mdUnit :: Lens' MetricDatapoint (Maybe MetricUnit)-mdUnit = lens _mdUnit (\ s a -> s{_mdUnit = a});--instance FromJSON MetricDatapoint where-        parseJSON-          = withObject "MetricDatapoint"-              (\ x ->-                 MetricDatapoint' <$>-                   (x .:? "sampleCount") <*> (x .:? "maximum") <*>-                     (x .:? "average")-                     <*> (x .:? "minimum")-                     <*> (x .:? "sum")-                     <*> (x .:? "timestamp")-                     <*> (x .:? "unit"))--instance Hashable MetricDatapoint--instance NFData MetricDatapoint---- | Describes the monthly data transfer in and out of your virtual private server (or /instance/ ).------------ /See:/ 'monthlyTransfer' smart constructor.-newtype MonthlyTransfer = MonthlyTransfer'-    { _mtGbPerMonthAllocated :: Maybe Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'MonthlyTransfer' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mtGbPerMonthAllocated' - The amount allocated per month (in GB).-monthlyTransfer-    :: MonthlyTransfer-monthlyTransfer =-    MonthlyTransfer'-    { _mtGbPerMonthAllocated = Nothing-    }---- | The amount allocated per month (in GB).-mtGbPerMonthAllocated :: Lens' MonthlyTransfer (Maybe Int)-mtGbPerMonthAllocated = lens _mtGbPerMonthAllocated (\ s a -> s{_mtGbPerMonthAllocated = a});--instance FromJSON MonthlyTransfer where-        parseJSON-          = withObject "MonthlyTransfer"-              (\ x ->-                 MonthlyTransfer' <$> (x .:? "gbPerMonthAllocated"))--instance Hashable MonthlyTransfer--instance NFData MonthlyTransfer---- | Describes the API operation.------------ /See:/ 'operation' smart constructor.-data Operation = Operation'-    { _oStatus           :: !(Maybe OperationStatus)-    , _oOperationDetails :: !(Maybe Text)-    , _oResourceType     :: !(Maybe ResourceType)-    , _oCreatedAt        :: !(Maybe POSIX)-    , _oResourceName     :: !(Maybe Text)-    , _oLocation         :: !(Maybe ResourceLocation)-    , _oStatusChangedAt  :: !(Maybe POSIX)-    , _oErrorDetails     :: !(Maybe Text)-    , _oErrorCode        :: !(Maybe Text)-    , _oId               :: !(Maybe Text)-    , _oOperationType    :: !(Maybe OperationType)-    , _oIsTerminal       :: !(Maybe Bool)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'Operation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oStatus' - The status of the operation.------ * 'oOperationDetails' - Details about the operation (e.g., @Debian-1GB-Virginia-1@ ).------ * 'oResourceType' - The resource type.------ * 'oCreatedAt' - The timestamp when the operation was initialized (e.g., @1479816991.349@ ).------ * 'oResourceName' - The resource name.------ * 'oLocation' - The region and Availability Zone.------ * 'oStatusChangedAt' - The timestamp when the status was changed (e.g., @1479816991.349@ ).------ * 'oErrorDetails' - The error details.------ * 'oErrorCode' - The error code.------ * 'oId' - The ID of the operation.------ * 'oOperationType' - The type of operation.------ * 'oIsTerminal' - A Boolean value indicating whether the operation is terminal.-operation-    :: Operation-operation =-    Operation'-    { _oStatus = Nothing-    , _oOperationDetails = Nothing-    , _oResourceType = Nothing-    , _oCreatedAt = Nothing-    , _oResourceName = Nothing-    , _oLocation = Nothing-    , _oStatusChangedAt = Nothing-    , _oErrorDetails = Nothing-    , _oErrorCode = Nothing-    , _oId = Nothing-    , _oOperationType = Nothing-    , _oIsTerminal = Nothing-    }---- | The status of the operation.-oStatus :: Lens' Operation (Maybe OperationStatus)-oStatus = lens _oStatus (\ s a -> s{_oStatus = a});---- | Details about the operation (e.g., @Debian-1GB-Virginia-1@ ).-oOperationDetails :: Lens' Operation (Maybe Text)-oOperationDetails = lens _oOperationDetails (\ s a -> s{_oOperationDetails = a});---- | The resource type.-oResourceType :: Lens' Operation (Maybe ResourceType)-oResourceType = lens _oResourceType (\ s a -> s{_oResourceType = a});---- | The timestamp when the operation was initialized (e.g., @1479816991.349@ ).-oCreatedAt :: Lens' Operation (Maybe UTCTime)-oCreatedAt = lens _oCreatedAt (\ s a -> s{_oCreatedAt = a}) . mapping _Time;---- | The resource name.-oResourceName :: Lens' Operation (Maybe Text)-oResourceName = lens _oResourceName (\ s a -> s{_oResourceName = a});---- | The region and Availability Zone.-oLocation :: Lens' Operation (Maybe ResourceLocation)-oLocation = lens _oLocation (\ s a -> s{_oLocation = a});---- | The timestamp when the status was changed (e.g., @1479816991.349@ ).-oStatusChangedAt :: Lens' Operation (Maybe UTCTime)-oStatusChangedAt = lens _oStatusChangedAt (\ s a -> s{_oStatusChangedAt = a}) . mapping _Time;---- | The error details.-oErrorDetails :: Lens' Operation (Maybe Text)-oErrorDetails = lens _oErrorDetails (\ s a -> s{_oErrorDetails = a});---- | The error code.-oErrorCode :: Lens' Operation (Maybe Text)-oErrorCode = lens _oErrorCode (\ s a -> s{_oErrorCode = a});---- | The ID of the operation.-oId :: Lens' Operation (Maybe Text)-oId = lens _oId (\ s a -> s{_oId = a});---- | The type of operation.-oOperationType :: Lens' Operation (Maybe OperationType)-oOperationType = lens _oOperationType (\ s a -> s{_oOperationType = a});---- | A Boolean value indicating whether the operation is terminal.-oIsTerminal :: Lens' Operation (Maybe Bool)-oIsTerminal = lens _oIsTerminal (\ s a -> s{_oIsTerminal = a});--instance FromJSON Operation where-        parseJSON-          = withObject "Operation"-              (\ x ->-                 Operation' <$>-                   (x .:? "status") <*> (x .:? "operationDetails") <*>-                     (x .:? "resourceType")-                     <*> (x .:? "createdAt")-                     <*> (x .:? "resourceName")-                     <*> (x .:? "location")-                     <*> (x .:? "statusChangedAt")-                     <*> (x .:? "errorDetails")-                     <*> (x .:? "errorCode")-                     <*> (x .:? "id")-                     <*> (x .:? "operationType")-                     <*> (x .:? "isTerminal"))--instance Hashable Operation--instance NFData Operation---- | Describes information about the ports on your virtual private server (or /instance/ ).------------ /See:/ 'portInfo' smart constructor.-data PortInfo = PortInfo'-    { _piFromPort :: !(Maybe Nat)-    , _piProtocol :: !(Maybe NetworkProtocol)-    , _piToPort   :: !(Maybe Nat)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'PortInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'piFromPort' - The first port in the range.------ * 'piProtocol' - The protocol.------ * 'piToPort' - The last port in the range.-portInfo-    :: PortInfo-portInfo =-    PortInfo'-    { _piFromPort = Nothing-    , _piProtocol = Nothing-    , _piToPort = Nothing-    }---- | The first port in the range.-piFromPort :: Lens' PortInfo (Maybe Natural)-piFromPort = lens _piFromPort (\ s a -> s{_piFromPort = a}) . mapping _Nat;---- | The protocol.-piProtocol :: Lens' PortInfo (Maybe NetworkProtocol)-piProtocol = lens _piProtocol (\ s a -> s{_piProtocol = a});---- | The last port in the range.-piToPort :: Lens' PortInfo (Maybe Natural)-piToPort = lens _piToPort (\ s a -> s{_piToPort = a}) . mapping _Nat;--instance Hashable PortInfo--instance NFData PortInfo--instance ToJSON PortInfo where-        toJSON PortInfo'{..}-          = object-              (catMaybes-                 [("fromPort" .=) <$> _piFromPort,-                  ("protocol" .=) <$> _piProtocol,-                  ("toPort" .=) <$> _piToPort])---- | Describes the AWS Region.------------ /See:/ 'regionInfo' smart constructor.-data RegionInfo = RegionInfo'-    { _riAvailabilityZones :: !(Maybe [AvailabilityZone])-    , _riName              :: !(Maybe RegionName)-    , _riDisplayName       :: !(Maybe Text)-    , _riContinentCode     :: !(Maybe Text)-    , _riDescription       :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'RegionInfo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'riAvailabilityZones' - The Availability Zones.------ * 'riName' - The region name (e.g., @us-east-1@ ).------ * 'riDisplayName' - The display name (e.g., @Virginia@ ).------ * 'riContinentCode' - The continent code (e.g., @NA@ , meaning North America).------ * 'riDescription' - The description of the AWS Region (e.g., @This region is recommended to serve users in the eastern United States and eastern Canada@ ).-regionInfo-    :: RegionInfo-regionInfo =-    RegionInfo'-    { _riAvailabilityZones = Nothing-    , _riName = Nothing-    , _riDisplayName = Nothing-    , _riContinentCode = Nothing-    , _riDescription = Nothing-    }---- | The Availability Zones.-riAvailabilityZones :: Lens' RegionInfo [AvailabilityZone]-riAvailabilityZones = lens _riAvailabilityZones (\ s a -> s{_riAvailabilityZones = a}) . _Default . _Coerce;---- | The region name (e.g., @us-east-1@ ).-riName :: Lens' RegionInfo (Maybe RegionName)-riName = lens _riName (\ s a -> s{_riName = a});---- | The display name (e.g., @Virginia@ ).-riDisplayName :: Lens' RegionInfo (Maybe Text)-riDisplayName = lens _riDisplayName (\ s a -> s{_riDisplayName = a});---- | The continent code (e.g., @NA@ , meaning North America).-riContinentCode :: Lens' RegionInfo (Maybe Text)-riContinentCode = lens _riContinentCode (\ s a -> s{_riContinentCode = a});---- | The description of the AWS Region (e.g., @This region is recommended to serve users in the eastern United States and eastern Canada@ ).-riDescription :: Lens' RegionInfo (Maybe Text)-riDescription = lens _riDescription (\ s a -> s{_riDescription = a});--instance FromJSON RegionInfo where-        parseJSON-          = withObject "RegionInfo"-              (\ x ->-                 RegionInfo' <$>-                   (x .:? "availabilityZones" .!= mempty) <*>-                     (x .:? "name")-                     <*> (x .:? "displayName")-                     <*> (x .:? "continentCode")-                     <*> (x .:? "description"))--instance Hashable RegionInfo--instance NFData RegionInfo---- | Describes the resource location.------------ /See:/ 'resourceLocation' smart constructor.-data ResourceLocation = ResourceLocation'-    { _rlRegionName       :: !(Maybe RegionName)-    , _rlAvailabilityZone :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'ResourceLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rlRegionName' - The AWS Region name.------ * 'rlAvailabilityZone' - The Availability Zone.-resourceLocation-    :: ResourceLocation-resourceLocation =-    ResourceLocation'-    { _rlRegionName = Nothing-    , _rlAvailabilityZone = Nothing-    }---- | The AWS Region name.-rlRegionName :: Lens' ResourceLocation (Maybe RegionName)-rlRegionName = lens _rlRegionName (\ s a -> s{_rlRegionName = a});---- | The Availability Zone.-rlAvailabilityZone :: Lens' ResourceLocation (Maybe Text)-rlAvailabilityZone = lens _rlAvailabilityZone (\ s a -> s{_rlAvailabilityZone = a});--instance FromJSON ResourceLocation where-        parseJSON-          = withObject "ResourceLocation"-              (\ x ->-                 ResourceLocation' <$>-                   (x .:? "regionName") <*> (x .:? "availabilityZone"))--instance Hashable ResourceLocation--instance NFData ResourceLocation---- | Describes the static IP.------------ /See:/ 'staticIP' smart constructor.-data StaticIP = StaticIP'-    { _siIpAddress    :: !(Maybe Text)-    , _siResourceType :: !(Maybe ResourceType)-    , _siArn          :: !(Maybe Text)-    , _siCreatedAt    :: !(Maybe POSIX)-    , _siLocation     :: !(Maybe ResourceLocation)-    , _siIsAttached   :: !(Maybe Bool)-    , _siName         :: !(Maybe Text)-    , _siSupportCode  :: !(Maybe Text)-    , _siAttachedTo   :: !(Maybe Text)-    } deriving (Eq,Read,Show,Data,Typeable,Generic)---- | Creates a value of 'StaticIP' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'siIpAddress' - The static IP address.------ * 'siResourceType' - The resource type (usually @StaticIp@ ).------ * 'siArn' - The Amazon Resource Name (ARN) of the static IP (e.g., @arn:aws:lightsail:us-east-1:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE@ ).------ * 'siCreatedAt' - The timestamp when the static IP was created (e.g., @1479735304.222@ ).------ * 'siLocation' - The region and Availability Zone where the static IP was created.------ * 'siIsAttached' - A Boolean value indicating whether the static IP is attached.------ * 'siName' - The name of the static IP (e.g., @StaticIP-Virginia-EXAMPLE@ ).------ * 'siSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.------ * 'siAttachedTo' - The instance where the static IP is attached (e.g., @Amazon_Linux-1GB-Virginia-1@ ).-staticIP-    :: StaticIP-staticIP =-    StaticIP'-    { _siIpAddress = Nothing-    , _siResourceType = Nothing-    , _siArn = Nothing-    , _siCreatedAt = Nothing-    , _siLocation = Nothing-    , _siIsAttached = Nothing-    , _siName = Nothing-    , _siSupportCode = Nothing-    , _siAttachedTo = Nothing-    }---- | The static IP address.-siIpAddress :: Lens' StaticIP (Maybe Text)-siIpAddress = lens _siIpAddress (\ s a -> s{_siIpAddress = a});---- | The resource type (usually @StaticIp@ ).-siResourceType :: Lens' StaticIP (Maybe ResourceType)-siResourceType = lens _siResourceType (\ s a -> s{_siResourceType = a});---- | The Amazon Resource Name (ARN) of the static IP (e.g., @arn:aws:lightsail:us-east-1:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE@ ).-siArn :: Lens' StaticIP (Maybe Text)-siArn = lens _siArn (\ s a -> s{_siArn = a});---- | The timestamp when the static IP was created (e.g., @1479735304.222@ ).-siCreatedAt :: Lens' StaticIP (Maybe UTCTime)-siCreatedAt = lens _siCreatedAt (\ s a -> s{_siCreatedAt = a}) . mapping _Time;---- | The region and Availability Zone where the static IP was created.-siLocation :: Lens' StaticIP (Maybe ResourceLocation)-siLocation = lens _siLocation (\ s a -> s{_siLocation = a});---- | A Boolean value indicating whether the static IP is attached.-siIsAttached :: Lens' StaticIP (Maybe Bool)-siIsAttached = lens _siIsAttached (\ s a -> s{_siIsAttached = a});---- | The name of the static IP (e.g., @StaticIP-Virginia-EXAMPLE@ ).-siName :: Lens' StaticIP (Maybe Text)-siName = lens _siName (\ s a -> s{_siName = a});---- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.-siSupportCode :: Lens' StaticIP (Maybe Text)-siSupportCode = lens _siSupportCode (\ s a -> s{_siSupportCode = a});---- | The instance where the static IP is attached (e.g., @Amazon_Linux-1GB-Virginia-1@ ).-siAttachedTo :: Lens' StaticIP (Maybe Text)-siAttachedTo = lens _siAttachedTo (\ s a -> s{_siAttachedTo = a});--instance FromJSON StaticIP where-        parseJSON-          = withObject "StaticIP"-              (\ x ->-                 StaticIP' <$>-                   (x .:? "ipAddress") <*> (x .:? "resourceType") <*>-                     (x .:? "arn")-                     <*> (x .:? "createdAt")-                     <*> (x .:? "location")-                     <*> (x .:? "isAttached")-                     <*> (x .:? "name")-                     <*> (x .:? "supportCode")-                     <*> (x .:? "attachedTo"))--instance Hashable StaticIP--instance NFData StaticIP+-- 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.Lightsail.Types.Product where++import Network.AWS.Lens+import Network.AWS.Lightsail.Types.Sum+import Network.AWS.Prelude++-- | Describes an Availability Zone.+--+--+--+-- /See:/ 'availabilityZone' smart constructor.+data AvailabilityZone = AvailabilityZone'+  { _azState    :: !(Maybe Text)+  , _azZoneName :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'AvailabilityZone' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'azState' - The state of the Availability Zone.+--+-- * 'azZoneName' - The name of the Availability Zone. The format is @us-east-1a@ (case-sensitive).+availabilityZone+    :: AvailabilityZone+availabilityZone = AvailabilityZone' {_azState = Nothing, _azZoneName = Nothing}+++-- | The state of the Availability Zone.+azState :: Lens' AvailabilityZone (Maybe Text)+azState = lens _azState (\ s a -> s{_azState = a});++-- | The name of the Availability Zone. The format is @us-east-1a@ (case-sensitive).+azZoneName :: Lens' AvailabilityZone (Maybe Text)+azZoneName = lens _azZoneName (\ s a -> s{_azZoneName = a});++instance FromJSON AvailabilityZone where+        parseJSON+          = withObject "AvailabilityZone"+              (\ x ->+                 AvailabilityZone' <$>+                   (x .:? "state") <*> (x .:? "zoneName"))++instance Hashable AvailabilityZone where++instance NFData AvailabilityZone where++-- | Describes a blueprint (a virtual private server image).+--+--+--+-- /See:/ 'blueprint' smart constructor.+data Blueprint = Blueprint'+  { _bVersionCode :: !(Maybe Text)+  , _bPlatform    :: !(Maybe InstancePlatform)+  , _bGroup       :: !(Maybe Text)+  , _bMinPower    :: !(Maybe Int)+  , _bProductURL  :: !(Maybe Text)+  , _bLicenseURL  :: !(Maybe Text)+  , _bName        :: !(Maybe Text)+  , _bVersion     :: !(Maybe Text)+  , _bBlueprintId :: !(Maybe Text)+  , _bType        :: !(Maybe BlueprintType)+  , _bIsActive    :: !(Maybe Bool)+  , _bDescription :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Blueprint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bVersionCode' - The version code.+--+-- * 'bPlatform' - The operating system platform (either Linux/Unix-based or Windows Server-based) of the blueprint.+--+-- * 'bGroup' - The group name of the blueprint (e.g., @amazon-linux@ ).+--+-- * 'bMinPower' - The minimum bundle power required to run this blueprint. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500. @0@ indicates that the blueprint runs on all instance sizes.+--+-- * 'bProductURL' - The product URL to learn more about the image or blueprint.+--+-- * 'bLicenseURL' - The end-user license agreement URL for the image or blueprint.+--+-- * 'bName' - The friendly name of the blueprint (e.g., @Amazon Linux@ ).+--+-- * 'bVersion' - The version number of the operating system, application, or stack (e.g., @2016.03.0@ ).+--+-- * 'bBlueprintId' - The ID for the virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ).+--+-- * 'bType' - The type of the blueprint (e.g., @os@ or @app@ ).+--+-- * 'bIsActive' - A Boolean value indicating whether the blueprint is active. When you update your blueprints, you will inactivate old blueprints and keep the most recent versions active.+--+-- * 'bDescription' - The description of the blueprint.+blueprint+    :: Blueprint+blueprint =+  Blueprint'+  { _bVersionCode = Nothing+  , _bPlatform = Nothing+  , _bGroup = Nothing+  , _bMinPower = Nothing+  , _bProductURL = Nothing+  , _bLicenseURL = Nothing+  , _bName = Nothing+  , _bVersion = Nothing+  , _bBlueprintId = Nothing+  , _bType = Nothing+  , _bIsActive = Nothing+  , _bDescription = Nothing+  }+++-- | The version code.+bVersionCode :: Lens' Blueprint (Maybe Text)+bVersionCode = lens _bVersionCode (\ s a -> s{_bVersionCode = a});++-- | The operating system platform (either Linux/Unix-based or Windows Server-based) of the blueprint.+bPlatform :: Lens' Blueprint (Maybe InstancePlatform)+bPlatform = lens _bPlatform (\ s a -> s{_bPlatform = a});++-- | The group name of the blueprint (e.g., @amazon-linux@ ).+bGroup :: Lens' Blueprint (Maybe Text)+bGroup = lens _bGroup (\ s a -> s{_bGroup = a});++-- | The minimum bundle power required to run this blueprint. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500. @0@ indicates that the blueprint runs on all instance sizes.+bMinPower :: Lens' Blueprint (Maybe Int)+bMinPower = lens _bMinPower (\ s a -> s{_bMinPower = a});++-- | The product URL to learn more about the image or blueprint.+bProductURL :: Lens' Blueprint (Maybe Text)+bProductURL = lens _bProductURL (\ s a -> s{_bProductURL = a});++-- | The end-user license agreement URL for the image or blueprint.+bLicenseURL :: Lens' Blueprint (Maybe Text)+bLicenseURL = lens _bLicenseURL (\ s a -> s{_bLicenseURL = a});++-- | The friendly name of the blueprint (e.g., @Amazon Linux@ ).+bName :: Lens' Blueprint (Maybe Text)+bName = lens _bName (\ s a -> s{_bName = a});++-- | The version number of the operating system, application, or stack (e.g., @2016.03.0@ ).+bVersion :: Lens' Blueprint (Maybe Text)+bVersion = lens _bVersion (\ s a -> s{_bVersion = a});++-- | The ID for the virtual private server image (e.g., @app_wordpress_4_4@ or @app_lamp_7_0@ ).+bBlueprintId :: Lens' Blueprint (Maybe Text)+bBlueprintId = lens _bBlueprintId (\ s a -> s{_bBlueprintId = a});++-- | The type of the blueprint (e.g., @os@ or @app@ ).+bType :: Lens' Blueprint (Maybe BlueprintType)+bType = lens _bType (\ s a -> s{_bType = a});++-- | A Boolean value indicating whether the blueprint is active. When you update your blueprints, you will inactivate old blueprints and keep the most recent versions active.+bIsActive :: Lens' Blueprint (Maybe Bool)+bIsActive = lens _bIsActive (\ s a -> s{_bIsActive = a});++-- | The description of the blueprint.+bDescription :: Lens' Blueprint (Maybe Text)+bDescription = lens _bDescription (\ s a -> s{_bDescription = a});++instance FromJSON Blueprint where+        parseJSON+          = withObject "Blueprint"+              (\ x ->+                 Blueprint' <$>+                   (x .:? "versionCode") <*> (x .:? "platform") <*>+                     (x .:? "group")+                     <*> (x .:? "minPower")+                     <*> (x .:? "productUrl")+                     <*> (x .:? "licenseUrl")+                     <*> (x .:? "name")+                     <*> (x .:? "version")+                     <*> (x .:? "blueprintId")+                     <*> (x .:? "type")+                     <*> (x .:? "isActive")+                     <*> (x .:? "description"))++instance Hashable Blueprint where++instance NFData Blueprint where++-- | Describes a bundle, which is a set of specs describing your virtual private server (or /instance/ ).+--+--+--+-- /See:/ 'bundle' smart constructor.+data Bundle = Bundle'+  { _bunCpuCount             :: !(Maybe Int)+  , _bunTransferPerMonthInGb :: !(Maybe Int)+  , _bunBundleId             :: !(Maybe Text)+  , _bunInstanceType         :: !(Maybe Text)+  , _bunName                 :: !(Maybe Text)+  , _bunPower                :: !(Maybe Int)+  , _bunDiskSizeInGb         :: !(Maybe Int)+  , _bunSupportedPlatforms   :: !(Maybe [InstancePlatform])+  , _bunPrice                :: !(Maybe Double)+  , _bunIsActive             :: !(Maybe Bool)+  , _bunRamSizeInGb          :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Bundle' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'bunCpuCount' - The number of vCPUs included in the bundle (e.g., @2@ ).+--+-- * 'bunTransferPerMonthInGb' - The data transfer rate per month in GB (e.g., @2000@ ).+--+-- * 'bunBundleId' - The bundle ID (e.g., @micro_1_0@ ).+--+-- * 'bunInstanceType' - The Amazon EC2 instance type (e.g., @t2.micro@ ).+--+-- * 'bunName' - A friendly name for the bundle (e.g., @Micro@ ).+--+-- * 'bunPower' - A numeric value that represents the power of the bundle (e.g., @500@ ). You can use the bundle's power value in conjunction with a blueprint's minimum power value to determine whether the blueprint will run on the bundle. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500.+--+-- * 'bunDiskSizeInGb' - The size of the SSD (e.g., @30@ ).+--+-- * 'bunSupportedPlatforms' - The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only launch a @WINDOWS@ bundle on a blueprint that supports the @WINDOWS@ platform. @LINUX_UNIX@ blueprints require a @LINUX_UNIX@ bundle.+--+-- * 'bunPrice' - The price in US dollars (e.g., @5.0@ ).+--+-- * 'bunIsActive' - A Boolean value indicating whether the bundle is active.+--+-- * 'bunRamSizeInGb' - The amount of RAM in GB (e.g., @2.0@ ).+bundle+    :: Bundle+bundle =+  Bundle'+  { _bunCpuCount = Nothing+  , _bunTransferPerMonthInGb = Nothing+  , _bunBundleId = Nothing+  , _bunInstanceType = Nothing+  , _bunName = Nothing+  , _bunPower = Nothing+  , _bunDiskSizeInGb = Nothing+  , _bunSupportedPlatforms = Nothing+  , _bunPrice = Nothing+  , _bunIsActive = Nothing+  , _bunRamSizeInGb = Nothing+  }+++-- | The number of vCPUs included in the bundle (e.g., @2@ ).+bunCpuCount :: Lens' Bundle (Maybe Int)+bunCpuCount = lens _bunCpuCount (\ s a -> s{_bunCpuCount = a});++-- | The data transfer rate per month in GB (e.g., @2000@ ).+bunTransferPerMonthInGb :: Lens' Bundle (Maybe Int)+bunTransferPerMonthInGb = lens _bunTransferPerMonthInGb (\ s a -> s{_bunTransferPerMonthInGb = a});++-- | The bundle ID (e.g., @micro_1_0@ ).+bunBundleId :: Lens' Bundle (Maybe Text)+bunBundleId = lens _bunBundleId (\ s a -> s{_bunBundleId = a});++-- | The Amazon EC2 instance type (e.g., @t2.micro@ ).+bunInstanceType :: Lens' Bundle (Maybe Text)+bunInstanceType = lens _bunInstanceType (\ s a -> s{_bunInstanceType = a});++-- | A friendly name for the bundle (e.g., @Micro@ ).+bunName :: Lens' Bundle (Maybe Text)+bunName = lens _bunName (\ s a -> s{_bunName = a});++-- | A numeric value that represents the power of the bundle (e.g., @500@ ). You can use the bundle's power value in conjunction with a blueprint's minimum power value to determine whether the blueprint will run on the bundle. For example, you need a bundle with a power value of 500 or more to create an instance that uses a blueprint with a minimum power value of 500.+bunPower :: Lens' Bundle (Maybe Int)+bunPower = lens _bunPower (\ s a -> s{_bunPower = a});++-- | The size of the SSD (e.g., @30@ ).+bunDiskSizeInGb :: Lens' Bundle (Maybe Int)+bunDiskSizeInGb = lens _bunDiskSizeInGb (\ s a -> s{_bunDiskSizeInGb = a});++-- | The operating system platform (Linux/Unix-based or Windows Server-based) that the bundle supports. You can only launch a @WINDOWS@ bundle on a blueprint that supports the @WINDOWS@ platform. @LINUX_UNIX@ blueprints require a @LINUX_UNIX@ bundle.+bunSupportedPlatforms :: Lens' Bundle [InstancePlatform]+bunSupportedPlatforms = lens _bunSupportedPlatforms (\ s a -> s{_bunSupportedPlatforms = a}) . _Default . _Coerce;++-- | The price in US dollars (e.g., @5.0@ ).+bunPrice :: Lens' Bundle (Maybe Double)+bunPrice = lens _bunPrice (\ s a -> s{_bunPrice = a});++-- | A Boolean value indicating whether the bundle is active.+bunIsActive :: Lens' Bundle (Maybe Bool)+bunIsActive = lens _bunIsActive (\ s a -> s{_bunIsActive = a});++-- | The amount of RAM in GB (e.g., @2.0@ ).+bunRamSizeInGb :: Lens' Bundle (Maybe Double)+bunRamSizeInGb = lens _bunRamSizeInGb (\ s a -> s{_bunRamSizeInGb = a});++instance FromJSON Bundle where+        parseJSON+          = withObject "Bundle"+              (\ x ->+                 Bundle' <$>+                   (x .:? "cpuCount") <*> (x .:? "transferPerMonthInGb")+                     <*> (x .:? "bundleId")+                     <*> (x .:? "instanceType")+                     <*> (x .:? "name")+                     <*> (x .:? "power")+                     <*> (x .:? "diskSizeInGb")+                     <*> (x .:? "supportedPlatforms" .!= mempty)+                     <*> (x .:? "price")+                     <*> (x .:? "isActive")+                     <*> (x .:? "ramSizeInGb"))++instance Hashable Bundle where++instance NFData Bundle where++-- | Describes the hard disk (an SSD).+--+--+--+-- /See:/ 'disk' smart constructor.+data Disk = Disk'+  { _dResourceType    :: !(Maybe ResourceType)+  , _dArn             :: !(Maybe Text)+  , _dPath            :: !(Maybe Text)+  , _dCreatedAt       :: !(Maybe POSIX)+  , _dLocation        :: !(Maybe ResourceLocation)+  , _dIops            :: !(Maybe Int)+  , _dIsAttached      :: !(Maybe Bool)+  , _dAttachmentState :: !(Maybe Text)+  , _dName            :: !(Maybe Text)+  , _dSizeInGb        :: !(Maybe Int)+  , _dSupportCode     :: !(Maybe Text)+  , _dIsSystemDisk    :: !(Maybe Bool)+  , _dAttachedTo      :: !(Maybe Text)+  , _dGbInUse         :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Disk' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dResourceType' - The resource type of the disk.+--+-- * 'dArn' - The Amazon Resource Name (ARN) of the disk.+--+-- * 'dPath' - The disk path.+--+-- * 'dCreatedAt' - The date when the disk was created.+--+-- * 'dLocation' - The region and Availability Zone where the disk is located.+--+-- * 'dIops' - The input/output operations per second (IOPS) of the disk.+--+-- * 'dIsAttached' - A Boolean value indicating whether the disk is attached.+--+-- * 'dAttachmentState' - The attachment state of the disk.+--+-- * 'dName' - The name of the disk.+--+-- * 'dSizeInGb' - The size of the disk in GB.+--+-- * 'dSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'dIsSystemDisk' - A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).+--+-- * 'dAttachedTo' - The resources to which the disk is attached.+--+-- * 'dGbInUse' - The number of GB in use by the disk.+disk+    :: Disk+disk =+  Disk'+  { _dResourceType = Nothing+  , _dArn = Nothing+  , _dPath = Nothing+  , _dCreatedAt = Nothing+  , _dLocation = Nothing+  , _dIops = Nothing+  , _dIsAttached = Nothing+  , _dAttachmentState = Nothing+  , _dName = Nothing+  , _dSizeInGb = Nothing+  , _dSupportCode = Nothing+  , _dIsSystemDisk = Nothing+  , _dAttachedTo = Nothing+  , _dGbInUse = Nothing+  }+++-- | The resource type of the disk.+dResourceType :: Lens' Disk (Maybe ResourceType)+dResourceType = lens _dResourceType (\ s a -> s{_dResourceType = a});++-- | The Amazon Resource Name (ARN) of the disk.+dArn :: Lens' Disk (Maybe Text)+dArn = lens _dArn (\ s a -> s{_dArn = a});++-- | The disk path.+dPath :: Lens' Disk (Maybe Text)+dPath = lens _dPath (\ s a -> s{_dPath = a});++-- | The date when the disk was created.+dCreatedAt :: Lens' Disk (Maybe UTCTime)+dCreatedAt = lens _dCreatedAt (\ s a -> s{_dCreatedAt = a}) . mapping _Time;++-- | The region and Availability Zone where the disk is located.+dLocation :: Lens' Disk (Maybe ResourceLocation)+dLocation = lens _dLocation (\ s a -> s{_dLocation = a});++-- | The input/output operations per second (IOPS) of the disk.+dIops :: Lens' Disk (Maybe Int)+dIops = lens _dIops (\ s a -> s{_dIops = a});++-- | A Boolean value indicating whether the disk is attached.+dIsAttached :: Lens' Disk (Maybe Bool)+dIsAttached = lens _dIsAttached (\ s a -> s{_dIsAttached = a});++-- | The attachment state of the disk.+dAttachmentState :: Lens' Disk (Maybe Text)+dAttachmentState = lens _dAttachmentState (\ s a -> s{_dAttachmentState = a});++-- | The name of the disk.+dName :: Lens' Disk (Maybe Text)+dName = lens _dName (\ s a -> s{_dName = a});++-- | The size of the disk in GB.+dSizeInGb :: Lens' Disk (Maybe Int)+dSizeInGb = lens _dSizeInGb (\ s a -> s{_dSizeInGb = a});++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+dSupportCode :: Lens' Disk (Maybe Text)+dSupportCode = lens _dSupportCode (\ s a -> s{_dSupportCode = a});++-- | A Boolean value indicating whether this disk is a system disk (has an operating system loaded on it).+dIsSystemDisk :: Lens' Disk (Maybe Bool)+dIsSystemDisk = lens _dIsSystemDisk (\ s a -> s{_dIsSystemDisk = a});++-- | The resources to which the disk is attached.+dAttachedTo :: Lens' Disk (Maybe Text)+dAttachedTo = lens _dAttachedTo (\ s a -> s{_dAttachedTo = a});++-- | The number of GB in use by the disk.+dGbInUse :: Lens' Disk (Maybe Int)+dGbInUse = lens _dGbInUse (\ s a -> s{_dGbInUse = a});++instance FromJSON Disk where+        parseJSON+          = withObject "Disk"+              (\ x ->+                 Disk' <$>+                   (x .:? "resourceType") <*> (x .:? "arn") <*>+                     (x .:? "path")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "iops")+                     <*> (x .:? "isAttached")+                     <*> (x .:? "attachmentState")+                     <*> (x .:? "name")+                     <*> (x .:? "sizeInGb")+                     <*> (x .:? "supportCode")+                     <*> (x .:? "isSystemDisk")+                     <*> (x .:? "attachedTo")+                     <*> (x .:? "gbInUse"))++instance Hashable Disk where++instance NFData Disk where++-- | Describes a domain where you are storing recordsets in Lightsail.+--+--+--+-- /See:/ 'domain' smart constructor.+data Domain = Domain'+  { _domResourceType  :: !(Maybe ResourceType)+  , _domDomainEntries :: !(Maybe [DomainEntry])+  , _domArn           :: !(Maybe Text)+  , _domCreatedAt     :: !(Maybe POSIX)+  , _domLocation      :: !(Maybe ResourceLocation)+  , _domName          :: !(Maybe Text)+  , _domSupportCode   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Domain' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'domResourceType' - The resource type.+--+-- * 'domDomainEntries' - An array of key-value pairs containing information about the domain entries.+--+-- * 'domArn' - The Amazon Resource Name (ARN) of the domain recordset (e.g., @arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE@ ).+--+-- * 'domCreatedAt' - The date when the domain recordset was created.+--+-- * 'domLocation' - The AWS Region and Availability Zones where the domain recordset was created.+--+-- * 'domName' - The name of the domain.+--+-- * 'domSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+domain+    :: Domain+domain =+  Domain'+  { _domResourceType = Nothing+  , _domDomainEntries = Nothing+  , _domArn = Nothing+  , _domCreatedAt = Nothing+  , _domLocation = Nothing+  , _domName = Nothing+  , _domSupportCode = Nothing+  }+++-- | The resource type.+domResourceType :: Lens' Domain (Maybe ResourceType)+domResourceType = lens _domResourceType (\ s a -> s{_domResourceType = a});++-- | An array of key-value pairs containing information about the domain entries.+domDomainEntries :: Lens' Domain [DomainEntry]+domDomainEntries = lens _domDomainEntries (\ s a -> s{_domDomainEntries = a}) . _Default . _Coerce;++-- | The Amazon Resource Name (ARN) of the domain recordset (e.g., @arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE@ ).+domArn :: Lens' Domain (Maybe Text)+domArn = lens _domArn (\ s a -> s{_domArn = a});++-- | The date when the domain recordset was created.+domCreatedAt :: Lens' Domain (Maybe UTCTime)+domCreatedAt = lens _domCreatedAt (\ s a -> s{_domCreatedAt = a}) . mapping _Time;++-- | The AWS Region and Availability Zones where the domain recordset was created.+domLocation :: Lens' Domain (Maybe ResourceLocation)+domLocation = lens _domLocation (\ s a -> s{_domLocation = a});++-- | The name of the domain.+domName :: Lens' Domain (Maybe Text)+domName = lens _domName (\ s a -> s{_domName = a});++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+domSupportCode :: Lens' Domain (Maybe Text)+domSupportCode = lens _domSupportCode (\ s a -> s{_domSupportCode = a});++instance FromJSON Domain where+        parseJSON+          = withObject "Domain"+              (\ x ->+                 Domain' <$>+                   (x .:? "resourceType") <*>+                     (x .:? "domainEntries" .!= mempty)+                     <*> (x .:? "arn")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "name")+                     <*> (x .:? "supportCode"))++instance Hashable Domain where++instance NFData Domain where++-- | Describes a domain recordset entry.+--+--+--+-- /See:/ 'domainEntry' smart constructor.+data DomainEntry = DomainEntry'+  { _deName    :: !(Maybe Text)+  , _deId      :: !(Maybe Text)+  , _deOptions :: !(Maybe (Map Text Text))+  , _deType    :: !(Maybe Text)+  , _deTarget  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'DomainEntry' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'deName' - The name of the domain.+--+-- * 'deId' - The ID of the domain recordset entry.+--+-- * 'deOptions' - The options for the domain entry.+--+-- * 'deType' - The type of domain entry (e.g., @SOA@ or @NS@ ).+--+-- * 'deTarget' - The target AWS name server (e.g., @ns-111.awsdns-22.com.@ ).+domainEntry+    :: DomainEntry+domainEntry =+  DomainEntry'+  { _deName = Nothing+  , _deId = Nothing+  , _deOptions = Nothing+  , _deType = Nothing+  , _deTarget = Nothing+  }+++-- | The name of the domain.+deName :: Lens' DomainEntry (Maybe Text)+deName = lens _deName (\ s a -> s{_deName = a});++-- | The ID of the domain recordset entry.+deId :: Lens' DomainEntry (Maybe Text)+deId = lens _deId (\ s a -> s{_deId = a});++-- | The options for the domain entry.+deOptions :: Lens' DomainEntry (HashMap Text Text)+deOptions = lens _deOptions (\ s a -> s{_deOptions = a}) . _Default . _Map;++-- | The type of domain entry (e.g., @SOA@ or @NS@ ).+deType :: Lens' DomainEntry (Maybe Text)+deType = lens _deType (\ s a -> s{_deType = a});++-- | The target AWS name server (e.g., @ns-111.awsdns-22.com.@ ).+deTarget :: Lens' DomainEntry (Maybe Text)+deTarget = lens _deTarget (\ s a -> s{_deTarget = a});++instance FromJSON DomainEntry where+        parseJSON+          = withObject "DomainEntry"+              (\ x ->+                 DomainEntry' <$>+                   (x .:? "name") <*> (x .:? "id") <*>+                     (x .:? "options" .!= mempty)+                     <*> (x .:? "type")+                     <*> (x .:? "target"))++instance Hashable DomainEntry where++instance NFData DomainEntry where++instance ToJSON DomainEntry where+        toJSON DomainEntry'{..}+          = object+              (catMaybes+                 [("name" .=) <$> _deName, ("id" .=) <$> _deId,+                  ("options" .=) <$> _deOptions,+                  ("type" .=) <$> _deType,+                  ("target" .=) <$> _deTarget])++-- | Describes an instance (a virtual private server).+--+--+--+-- /See:/ 'instance'' smart constructor.+data Instance = Instance'+  { _iState            :: !(Maybe InstanceState)+  , _iIpv6Address      :: !(Maybe Text)+  , _iResourceType     :: !(Maybe ResourceType)+  , _iArn              :: !(Maybe Text)+  , _iCreatedAt        :: !(Maybe POSIX)+  , _iLocation         :: !(Maybe ResourceLocation)+  , _iSshKeyName       :: !(Maybe Text)+  , _iUsername         :: !(Maybe Text)+  , _iNetworking       :: !(Maybe InstanceNetworking)+  , _iBundleId         :: !(Maybe Text)+  , _iName             :: !(Maybe Text)+  , _iSupportCode      :: !(Maybe Text)+  , _iBlueprintId      :: !(Maybe Text)+  , _iPrivateIPAddress :: !(Maybe Text)+  , _iBlueprintName    :: !(Maybe Text)+  , _iIsStaticIP       :: !(Maybe Bool)+  , _iPublicIPAddress  :: !(Maybe Text)+  , _iHardware         :: !(Maybe InstanceHardware)+  } 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:+--+-- * 'iState' - The status code and the state (e.g., @running@ ) for the instance.+--+-- * 'iIpv6Address' - The IPv6 address of the instance.+--+-- * 'iResourceType' - The type of resource (usually @Instance@ ).+--+-- * 'iArn' - The Amazon Resource Name (ARN) of the instance (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE@ ).+--+-- * 'iCreatedAt' - The timestamp when the instance was created (e.g., @1479734909.17@ ).+--+-- * 'iLocation' - The region name and availability zone where the instance is located.+--+-- * 'iSshKeyName' - The name of the SSH key being used to connect to the instance (e.g., @LightsailDefaultKeyPair@ ).+--+-- * 'iUsername' - The user name for connecting to the instance (e.g., @ec2-user@ ).+--+-- * 'iNetworking' - Information about the public ports and monthly data transfer rates for the instance.+--+-- * 'iBundleId' - The bundle for the instance (e.g., @micro_1_0@ ).+--+-- * 'iName' - The name the user gave the instance (e.g., @Amazon_Linux-1GB-Virginia-1@ ).+--+-- * 'iSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'iBlueprintId' - The blueprint ID (e.g., @os_amlinux_2016_03@ ).+--+-- * 'iPrivateIPAddress' - The private IP address of the instance.+--+-- * 'iBlueprintName' - The friendly name of the blueprint (e.g., @Amazon Linux@ ).+--+-- * 'iIsStaticIP' - A Boolean value indicating whether this instance has a static IP assigned to it.+--+-- * 'iPublicIPAddress' - The public IP address of the instance.+--+-- * 'iHardware' - The size of the vCPU and the amount of RAM for the instance.+instance'+    :: Instance+instance' =+  Instance'+  { _iState = Nothing+  , _iIpv6Address = Nothing+  , _iResourceType = Nothing+  , _iArn = Nothing+  , _iCreatedAt = Nothing+  , _iLocation = Nothing+  , _iSshKeyName = Nothing+  , _iUsername = Nothing+  , _iNetworking = Nothing+  , _iBundleId = Nothing+  , _iName = Nothing+  , _iSupportCode = Nothing+  , _iBlueprintId = Nothing+  , _iPrivateIPAddress = Nothing+  , _iBlueprintName = Nothing+  , _iIsStaticIP = Nothing+  , _iPublicIPAddress = Nothing+  , _iHardware = Nothing+  }+++-- | The status code and the state (e.g., @running@ ) for the instance.+iState :: Lens' Instance (Maybe InstanceState)+iState = lens _iState (\ s a -> s{_iState = a});++-- | The IPv6 address of the instance.+iIpv6Address :: Lens' Instance (Maybe Text)+iIpv6Address = lens _iIpv6Address (\ s a -> s{_iIpv6Address = a});++-- | The type of resource (usually @Instance@ ).+iResourceType :: Lens' Instance (Maybe ResourceType)+iResourceType = lens _iResourceType (\ s a -> s{_iResourceType = a});++-- | The Amazon Resource Name (ARN) of the instance (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/244ad76f-8aad-4741-809f-12345EXAMPLE@ ).+iArn :: Lens' Instance (Maybe Text)+iArn = lens _iArn (\ s a -> s{_iArn = a});++-- | The timestamp when the instance was created (e.g., @1479734909.17@ ).+iCreatedAt :: Lens' Instance (Maybe UTCTime)+iCreatedAt = lens _iCreatedAt (\ s a -> s{_iCreatedAt = a}) . mapping _Time;++-- | The region name and availability zone where the instance is located.+iLocation :: Lens' Instance (Maybe ResourceLocation)+iLocation = lens _iLocation (\ s a -> s{_iLocation = a});++-- | The name of the SSH key being used to connect to the instance (e.g., @LightsailDefaultKeyPair@ ).+iSshKeyName :: Lens' Instance (Maybe Text)+iSshKeyName = lens _iSshKeyName (\ s a -> s{_iSshKeyName = a});++-- | The user name for connecting to the instance (e.g., @ec2-user@ ).+iUsername :: Lens' Instance (Maybe Text)+iUsername = lens _iUsername (\ s a -> s{_iUsername = a});++-- | Information about the public ports and monthly data transfer rates for the instance.+iNetworking :: Lens' Instance (Maybe InstanceNetworking)+iNetworking = lens _iNetworking (\ s a -> s{_iNetworking = a});++-- | The bundle for the instance (e.g., @micro_1_0@ ).+iBundleId :: Lens' Instance (Maybe Text)+iBundleId = lens _iBundleId (\ s a -> s{_iBundleId = a});++-- | The name the user gave the instance (e.g., @Amazon_Linux-1GB-Virginia-1@ ).+iName :: Lens' Instance (Maybe Text)+iName = lens _iName (\ s a -> s{_iName = a});++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+iSupportCode :: Lens' Instance (Maybe Text)+iSupportCode = lens _iSupportCode (\ s a -> s{_iSupportCode = a});++-- | The blueprint ID (e.g., @os_amlinux_2016_03@ ).+iBlueprintId :: Lens' Instance (Maybe Text)+iBlueprintId = lens _iBlueprintId (\ s a -> s{_iBlueprintId = a});++-- | The private IP address of the instance.+iPrivateIPAddress :: Lens' Instance (Maybe Text)+iPrivateIPAddress = lens _iPrivateIPAddress (\ s a -> s{_iPrivateIPAddress = a});++-- | The friendly name of the blueprint (e.g., @Amazon Linux@ ).+iBlueprintName :: Lens' Instance (Maybe Text)+iBlueprintName = lens _iBlueprintName (\ s a -> s{_iBlueprintName = a});++-- | A Boolean value indicating whether this instance has a static IP assigned to it.+iIsStaticIP :: Lens' Instance (Maybe Bool)+iIsStaticIP = lens _iIsStaticIP (\ s a -> s{_iIsStaticIP = a});++-- | The public IP address of the instance.+iPublicIPAddress :: Lens' Instance (Maybe Text)+iPublicIPAddress = lens _iPublicIPAddress (\ s a -> s{_iPublicIPAddress = a});++-- | The size of the vCPU and the amount of RAM for the instance.+iHardware :: Lens' Instance (Maybe InstanceHardware)+iHardware = lens _iHardware (\ s a -> s{_iHardware = a});++instance FromJSON Instance where+        parseJSON+          = withObject "Instance"+              (\ x ->+                 Instance' <$>+                   (x .:? "state") <*> (x .:? "ipv6Address") <*>+                     (x .:? "resourceType")+                     <*> (x .:? "arn")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "sshKeyName")+                     <*> (x .:? "username")+                     <*> (x .:? "networking")+                     <*> (x .:? "bundleId")+                     <*> (x .:? "name")+                     <*> (x .:? "supportCode")+                     <*> (x .:? "blueprintId")+                     <*> (x .:? "privateIpAddress")+                     <*> (x .:? "blueprintName")+                     <*> (x .:? "isStaticIp")+                     <*> (x .:? "publicIpAddress")+                     <*> (x .:? "hardware"))++instance Hashable Instance where++instance NFData Instance where++-- | The parameters for gaining temporary access to one of your Amazon Lightsail instances.+--+--+--+-- /See:/ 'instanceAccessDetails' smart constructor.+data InstanceAccessDetails = InstanceAccessDetails'+  { _iadCertKey      :: !(Maybe Text)+  , _iadIpAddress    :: !(Maybe Text)+  , _iadPrivateKey   :: !(Maybe Text)+  , _iadExpiresAt    :: !(Maybe POSIX)+  , _iadUsername     :: !(Maybe Text)+  , _iadProtocol     :: !(Maybe InstanceAccessProtocol)+  , _iadPasswordData :: !(Maybe PasswordData)+  , _iadPassword     :: !(Maybe Text)+  , _iadInstanceName :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceAccessDetails' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'iadCertKey' - For SSH access, the public key to use when accessing your instance For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey-cert.pub@ .+--+-- * 'iadIpAddress' - The public IP address of the Amazon Lightsail instance.+--+-- * 'iadPrivateKey' - For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey@ ).+--+-- * 'iadExpiresAt' - For SSH access, the date on which the temporary keys expire.+--+-- * 'iadUsername' - The user name to use when logging in to the Amazon Lightsail instance.+--+-- * 'iadProtocol' - The protocol for these Amazon Lightsail instance access details.+--+-- * 'iadPasswordData' - For a Windows Server-based instance, an object with the data you can use to retrieve your password. This is only needed if @password@ is empty and the instance is not new (and therefore the password is not ready yet). When you create an instance, it can take up to 15 minutes for the instance to be ready.+--+-- * 'iadPassword' - For RDP access, the password for your Amazon Lightsail instance. Password will be an empty string if the password for your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.+--+-- * 'iadInstanceName' - The name of this Amazon Lightsail instance.+instanceAccessDetails+    :: InstanceAccessDetails+instanceAccessDetails =+  InstanceAccessDetails'+  { _iadCertKey = Nothing+  , _iadIpAddress = Nothing+  , _iadPrivateKey = Nothing+  , _iadExpiresAt = Nothing+  , _iadUsername = Nothing+  , _iadProtocol = Nothing+  , _iadPasswordData = Nothing+  , _iadPassword = Nothing+  , _iadInstanceName = Nothing+  }+++-- | For SSH access, the public key to use when accessing your instance For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey-cert.pub@ .+iadCertKey :: Lens' InstanceAccessDetails (Maybe Text)+iadCertKey = lens _iadCertKey (\ s a -> s{_iadCertKey = a});++-- | The public IP address of the Amazon Lightsail instance.+iadIpAddress :: Lens' InstanceAccessDetails (Maybe Text)+iadIpAddress = lens _iadIpAddress (\ s a -> s{_iadIpAddress = a});++-- | For SSH access, the temporary private key. For OpenSSH clients (e.g., command line SSH), you should save this value to @tempkey@ ).+iadPrivateKey :: Lens' InstanceAccessDetails (Maybe Text)+iadPrivateKey = lens _iadPrivateKey (\ s a -> s{_iadPrivateKey = a});++-- | For SSH access, the date on which the temporary keys expire.+iadExpiresAt :: Lens' InstanceAccessDetails (Maybe UTCTime)+iadExpiresAt = lens _iadExpiresAt (\ s a -> s{_iadExpiresAt = a}) . mapping _Time;++-- | The user name to use when logging in to the Amazon Lightsail instance.+iadUsername :: Lens' InstanceAccessDetails (Maybe Text)+iadUsername = lens _iadUsername (\ s a -> s{_iadUsername = a});++-- | The protocol for these Amazon Lightsail instance access details.+iadProtocol :: Lens' InstanceAccessDetails (Maybe InstanceAccessProtocol)+iadProtocol = lens _iadProtocol (\ s a -> s{_iadProtocol = a});++-- | For a Windows Server-based instance, an object with the data you can use to retrieve your password. This is only needed if @password@ is empty and the instance is not new (and therefore the password is not ready yet). When you create an instance, it can take up to 15 minutes for the instance to be ready.+iadPasswordData :: Lens' InstanceAccessDetails (Maybe PasswordData)+iadPasswordData = lens _iadPasswordData (\ s a -> s{_iadPasswordData = a});++-- | For RDP access, the password for your Amazon Lightsail instance. Password will be an empty string if the password for your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.+iadPassword :: Lens' InstanceAccessDetails (Maybe Text)+iadPassword = lens _iadPassword (\ s a -> s{_iadPassword = a});++-- | The name of this Amazon Lightsail instance.+iadInstanceName :: Lens' InstanceAccessDetails (Maybe Text)+iadInstanceName = lens _iadInstanceName (\ s a -> s{_iadInstanceName = a});++instance FromJSON InstanceAccessDetails where+        parseJSON+          = withObject "InstanceAccessDetails"+              (\ x ->+                 InstanceAccessDetails' <$>+                   (x .:? "certKey") <*> (x .:? "ipAddress") <*>+                     (x .:? "privateKey")+                     <*> (x .:? "expiresAt")+                     <*> (x .:? "username")+                     <*> (x .:? "protocol")+                     <*> (x .:? "passwordData")+                     <*> (x .:? "password")+                     <*> (x .:? "instanceName"))++instance Hashable InstanceAccessDetails where++instance NFData InstanceAccessDetails where++-- | Describes the hardware for the instance.+--+--+--+-- /See:/ 'instanceHardware' smart constructor.+data InstanceHardware = InstanceHardware'+  { _ihCpuCount    :: !(Maybe Int)+  , _ihDisks       :: !(Maybe [Disk])+  , _ihRamSizeInGb :: !(Maybe Double)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceHardware' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ihCpuCount' - The number of vCPUs the instance has.+--+-- * 'ihDisks' - The disks attached to the instance.+--+-- * 'ihRamSizeInGb' - The amount of RAM in GB on the instance (e.g., @1.0@ ).+instanceHardware+    :: InstanceHardware+instanceHardware =+  InstanceHardware'+  {_ihCpuCount = Nothing, _ihDisks = Nothing, _ihRamSizeInGb = Nothing}+++-- | The number of vCPUs the instance has.+ihCpuCount :: Lens' InstanceHardware (Maybe Int)+ihCpuCount = lens _ihCpuCount (\ s a -> s{_ihCpuCount = a});++-- | The disks attached to the instance.+ihDisks :: Lens' InstanceHardware [Disk]+ihDisks = lens _ihDisks (\ s a -> s{_ihDisks = a}) . _Default . _Coerce;++-- | The amount of RAM in GB on the instance (e.g., @1.0@ ).+ihRamSizeInGb :: Lens' InstanceHardware (Maybe Double)+ihRamSizeInGb = lens _ihRamSizeInGb (\ s a -> s{_ihRamSizeInGb = a});++instance FromJSON InstanceHardware where+        parseJSON+          = withObject "InstanceHardware"+              (\ x ->+                 InstanceHardware' <$>+                   (x .:? "cpuCount") <*> (x .:? "disks" .!= mempty) <*>+                     (x .:? "ramSizeInGb"))++instance Hashable InstanceHardware where++instance NFData InstanceHardware where++-- | Describes monthly data transfer rates and port information for an instance.+--+--+--+-- /See:/ 'instanceNetworking' smart constructor.+data InstanceNetworking = InstanceNetworking'+  { _inMonthlyTransfer :: !(Maybe MonthlyTransfer)+  , _inPorts           :: !(Maybe [InstancePortInfo])+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceNetworking' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'inMonthlyTransfer' - The amount of data in GB allocated for monthly data transfers.+--+-- * 'inPorts' - An array of key-value pairs containing information about the ports on the instance.+instanceNetworking+    :: InstanceNetworking+instanceNetworking =+  InstanceNetworking' {_inMonthlyTransfer = Nothing, _inPorts = Nothing}+++-- | The amount of data in GB allocated for monthly data transfers.+inMonthlyTransfer :: Lens' InstanceNetworking (Maybe MonthlyTransfer)+inMonthlyTransfer = lens _inMonthlyTransfer (\ s a -> s{_inMonthlyTransfer = a});++-- | An array of key-value pairs containing information about the ports on the instance.+inPorts :: Lens' InstanceNetworking [InstancePortInfo]+inPorts = lens _inPorts (\ s a -> s{_inPorts = a}) . _Default . _Coerce;++instance FromJSON InstanceNetworking where+        parseJSON+          = withObject "InstanceNetworking"+              (\ x ->+                 InstanceNetworking' <$>+                   (x .:? "monthlyTransfer") <*>+                     (x .:? "ports" .!= mempty))++instance Hashable InstanceNetworking where++instance NFData InstanceNetworking where++-- | Describes information about the instance ports.+--+--+--+-- /See:/ 'instancePortInfo' smart constructor.+data InstancePortInfo = InstancePortInfo'+  { _ipiFromPort        :: !(Maybe Nat)+  , _ipiCommonName      :: !(Maybe Text)+  , _ipiProtocol        :: !(Maybe NetworkProtocol)+  , _ipiAccessDirection :: !(Maybe AccessDirection)+  , _ipiAccessType      :: !(Maybe PortAccessType)+  , _ipiToPort          :: !(Maybe Nat)+  , _ipiAccessFrom      :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstancePortInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipiFromPort' - The first port in the range.+--+-- * 'ipiCommonName' - The common name.+--+-- * 'ipiProtocol' - The protocol being used. Can be one of the following.     * @tcp@ - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.     * @all@ - All transport layer protocol types. For more general information, see <https://en.wikipedia.org/wiki/Transport_layer Transport layer> on Wikipedia.     * @udp@ - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.+--+-- * 'ipiAccessDirection' - The access direction (@inbound@ or @outbound@ ).+--+-- * 'ipiAccessType' - The type of access (@Public@ or @Private@ ).+--+-- * 'ipiToPort' - The last port in the range.+--+-- * 'ipiAccessFrom' - The location from which access is allowed (e.g., @Anywhere (0.0.0.0/0)@ ).+instancePortInfo+    :: InstancePortInfo+instancePortInfo =+  InstancePortInfo'+  { _ipiFromPort = Nothing+  , _ipiCommonName = Nothing+  , _ipiProtocol = Nothing+  , _ipiAccessDirection = Nothing+  , _ipiAccessType = Nothing+  , _ipiToPort = Nothing+  , _ipiAccessFrom = Nothing+  }+++-- | The first port in the range.+ipiFromPort :: Lens' InstancePortInfo (Maybe Natural)+ipiFromPort = lens _ipiFromPort (\ s a -> s{_ipiFromPort = a}) . mapping _Nat;++-- | The common name.+ipiCommonName :: Lens' InstancePortInfo (Maybe Text)+ipiCommonName = lens _ipiCommonName (\ s a -> s{_ipiCommonName = a});++-- | The protocol being used. Can be one of the following.     * @tcp@ - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.     * @all@ - All transport layer protocol types. For more general information, see <https://en.wikipedia.org/wiki/Transport_layer Transport layer> on Wikipedia.     * @udp@ - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.+ipiProtocol :: Lens' InstancePortInfo (Maybe NetworkProtocol)+ipiProtocol = lens _ipiProtocol (\ s a -> s{_ipiProtocol = a});++-- | The access direction (@inbound@ or @outbound@ ).+ipiAccessDirection :: Lens' InstancePortInfo (Maybe AccessDirection)+ipiAccessDirection = lens _ipiAccessDirection (\ s a -> s{_ipiAccessDirection = a});++-- | The type of access (@Public@ or @Private@ ).+ipiAccessType :: Lens' InstancePortInfo (Maybe PortAccessType)+ipiAccessType = lens _ipiAccessType (\ s a -> s{_ipiAccessType = a});++-- | The last port in the range.+ipiToPort :: Lens' InstancePortInfo (Maybe Natural)+ipiToPort = lens _ipiToPort (\ s a -> s{_ipiToPort = a}) . mapping _Nat;++-- | The location from which access is allowed (e.g., @Anywhere (0.0.0.0/0)@ ).+ipiAccessFrom :: Lens' InstancePortInfo (Maybe Text)+ipiAccessFrom = lens _ipiAccessFrom (\ s a -> s{_ipiAccessFrom = a});++instance FromJSON InstancePortInfo where+        parseJSON+          = withObject "InstancePortInfo"+              (\ x ->+                 InstancePortInfo' <$>+                   (x .:? "fromPort") <*> (x .:? "commonName") <*>+                     (x .:? "protocol")+                     <*> (x .:? "accessDirection")+                     <*> (x .:? "accessType")+                     <*> (x .:? "toPort")+                     <*> (x .:? "accessFrom"))++instance Hashable InstancePortInfo where++instance NFData InstancePortInfo where++-- | Describes the port state.+--+--+--+-- /See:/ 'instancePortState' smart constructor.+data InstancePortState = InstancePortState'+  { _ipsFromPort :: !(Maybe Nat)+  , _ipsState    :: !(Maybe PortState)+  , _ipsProtocol :: !(Maybe NetworkProtocol)+  , _ipsToPort   :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstancePortState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ipsFromPort' - The first port in the range.+--+-- * 'ipsState' - Specifies whether the instance port is @open@ or @closed@ .+--+-- * 'ipsProtocol' - The protocol being used. Can be one of the following.     * @tcp@ - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.     * @all@ - All transport layer protocol types. For more general information, see <https://en.wikipedia.org/wiki/Transport_layer Transport layer> on Wikipedia.     * @udp@ - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.+--+-- * 'ipsToPort' - The last port in the range.+instancePortState+    :: InstancePortState+instancePortState =+  InstancePortState'+  { _ipsFromPort = Nothing+  , _ipsState = Nothing+  , _ipsProtocol = Nothing+  , _ipsToPort = Nothing+  }+++-- | The first port in the range.+ipsFromPort :: Lens' InstancePortState (Maybe Natural)+ipsFromPort = lens _ipsFromPort (\ s a -> s{_ipsFromPort = a}) . mapping _Nat;++-- | Specifies whether the instance port is @open@ or @closed@ .+ipsState :: Lens' InstancePortState (Maybe PortState)+ipsState = lens _ipsState (\ s a -> s{_ipsState = a});++-- | The protocol being used. Can be one of the following.     * @tcp@ - Transmission Control Protocol (TCP) provides reliable, ordered, and error-checked delivery of streamed data between applications running on hosts communicating by an IP network. If you have an application that doesn't require reliable data stream service, use UDP instead.     * @all@ - All transport layer protocol types. For more general information, see <https://en.wikipedia.org/wiki/Transport_layer Transport layer> on Wikipedia.     * @udp@ - With User Datagram Protocol (UDP), computer applications can send messages (or datagrams) to other hosts on an Internet Protocol (IP) network. Prior communications are not required to set up transmission channels or data paths. Applications that don't require reliable data stream service can use UDP, which provides a connectionless datagram service that emphasizes reduced latency over reliability. If you do require reliable data stream service, use TCP instead.+ipsProtocol :: Lens' InstancePortState (Maybe NetworkProtocol)+ipsProtocol = lens _ipsProtocol (\ s a -> s{_ipsProtocol = a});++-- | The last port in the range.+ipsToPort :: Lens' InstancePortState (Maybe Natural)+ipsToPort = lens _ipsToPort (\ s a -> s{_ipsToPort = a}) . mapping _Nat;++instance FromJSON InstancePortState where+        parseJSON+          = withObject "InstancePortState"+              (\ x ->+                 InstancePortState' <$>+                   (x .:? "fromPort") <*> (x .:? "state") <*>+                     (x .:? "protocol")+                     <*> (x .:? "toPort"))++instance Hashable InstancePortState where++instance NFData InstancePortState where++-- | Describes the snapshot of the virtual private server, or /instance/ .+--+--+--+-- /See:/ 'instanceSnapshot' smart constructor.+data InstanceSnapshot = InstanceSnapshot'+  { _insFromBlueprintId  :: !(Maybe Text)+  , _insState            :: !(Maybe InstanceSnapshotState)+  , _insResourceType     :: !(Maybe ResourceType)+  , _insArn              :: !(Maybe Text)+  , _insCreatedAt        :: !(Maybe POSIX)+  , _insLocation         :: !(Maybe ResourceLocation)+  , _insProgress         :: !(Maybe Text)+  , _insName             :: !(Maybe Text)+  , _insFromBundleId     :: !(Maybe Text)+  , _insSizeInGb         :: !(Maybe Int)+  , _insSupportCode      :: !(Maybe Text)+  , _insFromInstanceARN  :: !(Maybe Text)+  , _insFromInstanceName :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'insFromBlueprintId' - The blueprint ID from which you created the snapshot (e.g., @os_debian_8_3@ ). A blueprint is a virtual private server (or /instance/ ) image used to create instances quickly.+--+-- * 'insState' - The state the snapshot is in.+--+-- * 'insResourceType' - The type of resource (usually @InstanceSnapshot@ ).+--+-- * 'insArn' - The Amazon Resource Name (ARN) of the snapshot (e.g., @arn:aws:lightsail:us-east-1:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE@ ).+--+-- * 'insCreatedAt' - The timestamp when the snapshot was created (e.g., @1479907467.024@ ).+--+-- * 'insLocation' - The region name and availability zone where you created the snapshot.+--+-- * 'insProgress' - The progress of the snapshot.+--+-- * 'insName' - The name of the snapshot.+--+-- * 'insFromBundleId' - The bundle ID from which you created the snapshot (e.g., @micro_1_0@ ).+--+-- * 'insSizeInGb' - The size in GB of the SSD.+--+-- * 'insSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'insFromInstanceARN' - The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE@ ).+--+-- * 'insFromInstanceName' - The instance from which the snapshot was created.+instanceSnapshot+    :: InstanceSnapshot+instanceSnapshot =+  InstanceSnapshot'+  { _insFromBlueprintId = Nothing+  , _insState = Nothing+  , _insResourceType = Nothing+  , _insArn = Nothing+  , _insCreatedAt = Nothing+  , _insLocation = Nothing+  , _insProgress = Nothing+  , _insName = Nothing+  , _insFromBundleId = Nothing+  , _insSizeInGb = Nothing+  , _insSupportCode = Nothing+  , _insFromInstanceARN = Nothing+  , _insFromInstanceName = Nothing+  }+++-- | The blueprint ID from which you created the snapshot (e.g., @os_debian_8_3@ ). A blueprint is a virtual private server (or /instance/ ) image used to create instances quickly.+insFromBlueprintId :: Lens' InstanceSnapshot (Maybe Text)+insFromBlueprintId = lens _insFromBlueprintId (\ s a -> s{_insFromBlueprintId = a});++-- | The state the snapshot is in.+insState :: Lens' InstanceSnapshot (Maybe InstanceSnapshotState)+insState = lens _insState (\ s a -> s{_insState = a});++-- | The type of resource (usually @InstanceSnapshot@ ).+insResourceType :: Lens' InstanceSnapshot (Maybe ResourceType)+insResourceType = lens _insResourceType (\ s a -> s{_insResourceType = a});++-- | The Amazon Resource Name (ARN) of the snapshot (e.g., @arn:aws:lightsail:us-east-1:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE@ ).+insArn :: Lens' InstanceSnapshot (Maybe Text)+insArn = lens _insArn (\ s a -> s{_insArn = a});++-- | The timestamp when the snapshot was created (e.g., @1479907467.024@ ).+insCreatedAt :: Lens' InstanceSnapshot (Maybe UTCTime)+insCreatedAt = lens _insCreatedAt (\ s a -> s{_insCreatedAt = a}) . mapping _Time;++-- | The region name and availability zone where you created the snapshot.+insLocation :: Lens' InstanceSnapshot (Maybe ResourceLocation)+insLocation = lens _insLocation (\ s a -> s{_insLocation = a});++-- | The progress of the snapshot.+insProgress :: Lens' InstanceSnapshot (Maybe Text)+insProgress = lens _insProgress (\ s a -> s{_insProgress = a});++-- | The name of the snapshot.+insName :: Lens' InstanceSnapshot (Maybe Text)+insName = lens _insName (\ s a -> s{_insName = a});++-- | The bundle ID from which you created the snapshot (e.g., @micro_1_0@ ).+insFromBundleId :: Lens' InstanceSnapshot (Maybe Text)+insFromBundleId = lens _insFromBundleId (\ s a -> s{_insFromBundleId = a});++-- | The size in GB of the SSD.+insSizeInGb :: Lens' InstanceSnapshot (Maybe Int)+insSizeInGb = lens _insSizeInGb (\ s a -> s{_insSizeInGb = a});++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+insSupportCode :: Lens' InstanceSnapshot (Maybe Text)+insSupportCode = lens _insSupportCode (\ s a -> s{_insSupportCode = a});++-- | The Amazon Resource Name (ARN) of the instance from which the snapshot was created (e.g., @arn:aws:lightsail:us-east-1:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE@ ).+insFromInstanceARN :: Lens' InstanceSnapshot (Maybe Text)+insFromInstanceARN = lens _insFromInstanceARN (\ s a -> s{_insFromInstanceARN = a});++-- | The instance from which the snapshot was created.+insFromInstanceName :: Lens' InstanceSnapshot (Maybe Text)+insFromInstanceName = lens _insFromInstanceName (\ s a -> s{_insFromInstanceName = a});++instance FromJSON InstanceSnapshot where+        parseJSON+          = withObject "InstanceSnapshot"+              (\ x ->+                 InstanceSnapshot' <$>+                   (x .:? "fromBlueprintId") <*> (x .:? "state") <*>+                     (x .:? "resourceType")+                     <*> (x .:? "arn")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "progress")+                     <*> (x .:? "name")+                     <*> (x .:? "fromBundleId")+                     <*> (x .:? "sizeInGb")+                     <*> (x .:? "supportCode")+                     <*> (x .:? "fromInstanceArn")+                     <*> (x .:? "fromInstanceName"))++instance Hashable InstanceSnapshot where++instance NFData InstanceSnapshot where++-- | Describes the virtual private server (or /instance/ ) status.+--+--+--+-- /See:/ 'instanceState' smart constructor.+data InstanceState = InstanceState'+  { _isName :: !(Maybe Text)+  , _isCode :: !(Maybe Int)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'InstanceState' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'isName' - The state of the instance (e.g., @running@ or @pending@ ).+--+-- * 'isCode' - The status code for the instance.+instanceState+    :: InstanceState+instanceState = InstanceState' {_isName = Nothing, _isCode = Nothing}+++-- | The state of the instance (e.g., @running@ or @pending@ ).+isName :: Lens' InstanceState (Maybe Text)+isName = lens _isName (\ s a -> s{_isName = a});++-- | The status code for the instance.+isCode :: Lens' InstanceState (Maybe Int)+isCode = lens _isCode (\ s a -> s{_isCode = a});++instance FromJSON InstanceState where+        parseJSON+          = withObject "InstanceState"+              (\ x ->+                 InstanceState' <$> (x .:? "name") <*> (x .:? "code"))++instance Hashable InstanceState where++instance NFData InstanceState where++-- | Describes the SSH key pair.+--+--+--+-- /See:/ 'keyPair' smart constructor.+data KeyPair = KeyPair'+  { _kpResourceType :: !(Maybe ResourceType)+  , _kpArn          :: !(Maybe Text)+  , _kpCreatedAt    :: !(Maybe POSIX)+  , _kpLocation     :: !(Maybe ResourceLocation)+  , _kpFingerprint  :: !(Maybe Text)+  , _kpName         :: !(Maybe Text)+  , _kpSupportCode  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'KeyPair' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'kpResourceType' - The resource type (usually @KeyPair@ ).+--+-- * 'kpArn' - The Amazon Resource Name (ARN) of the key pair (e.g., @arn:aws:lightsail:us-east-1:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE@ ).+--+-- * 'kpCreatedAt' - The timestamp when the key pair was created (e.g., @1479816991.349@ ).+--+-- * 'kpLocation' - The region name and Availability Zone where the key pair was created.+--+-- * 'kpFingerprint' - The RSA fingerprint of the key pair.+--+-- * 'kpName' - The friendly name of the SSH key pair.+--+-- * 'kpSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+keyPair+    :: KeyPair+keyPair =+  KeyPair'+  { _kpResourceType = Nothing+  , _kpArn = Nothing+  , _kpCreatedAt = Nothing+  , _kpLocation = Nothing+  , _kpFingerprint = Nothing+  , _kpName = Nothing+  , _kpSupportCode = Nothing+  }+++-- | The resource type (usually @KeyPair@ ).+kpResourceType :: Lens' KeyPair (Maybe ResourceType)+kpResourceType = lens _kpResourceType (\ s a -> s{_kpResourceType = a});++-- | The Amazon Resource Name (ARN) of the key pair (e.g., @arn:aws:lightsail:us-east-1:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE@ ).+kpArn :: Lens' KeyPair (Maybe Text)+kpArn = lens _kpArn (\ s a -> s{_kpArn = a});++-- | The timestamp when the key pair was created (e.g., @1479816991.349@ ).+kpCreatedAt :: Lens' KeyPair (Maybe UTCTime)+kpCreatedAt = lens _kpCreatedAt (\ s a -> s{_kpCreatedAt = a}) . mapping _Time;++-- | The region name and Availability Zone where the key pair was created.+kpLocation :: Lens' KeyPair (Maybe ResourceLocation)+kpLocation = lens _kpLocation (\ s a -> s{_kpLocation = a});++-- | The RSA fingerprint of the key pair.+kpFingerprint :: Lens' KeyPair (Maybe Text)+kpFingerprint = lens _kpFingerprint (\ s a -> s{_kpFingerprint = a});++-- | The friendly name of the SSH key pair.+kpName :: Lens' KeyPair (Maybe Text)+kpName = lens _kpName (\ s a -> s{_kpName = a});++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+kpSupportCode :: Lens' KeyPair (Maybe Text)+kpSupportCode = lens _kpSupportCode (\ s a -> s{_kpSupportCode = a});++instance FromJSON KeyPair where+        parseJSON+          = withObject "KeyPair"+              (\ x ->+                 KeyPair' <$>+                   (x .:? "resourceType") <*> (x .:? "arn") <*>+                     (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "fingerprint")+                     <*> (x .:? "name")+                     <*> (x .:? "supportCode"))++instance Hashable KeyPair where++instance NFData KeyPair where++-- | Describes the metric data point.+--+--+--+-- /See:/ 'metricDatapoint' smart constructor.+data MetricDatapoint = MetricDatapoint'+  { _mdSampleCount :: !(Maybe Double)+  , _mdMaximum     :: !(Maybe Double)+  , _mdAverage     :: !(Maybe Double)+  , _mdMinimum     :: !(Maybe Double)+  , _mdSum         :: !(Maybe Double)+  , _mdTimestamp   :: !(Maybe POSIX)+  , _mdUnit        :: !(Maybe MetricUnit)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MetricDatapoint' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mdSampleCount' - The sample count.+--+-- * 'mdMaximum' - The maximum.+--+-- * 'mdAverage' - The average.+--+-- * 'mdMinimum' - The minimum.+--+-- * 'mdSum' - The sum.+--+-- * 'mdTimestamp' - The timestamp (e.g., @1479816991.349@ ).+--+-- * 'mdUnit' - The unit.+metricDatapoint+    :: MetricDatapoint+metricDatapoint =+  MetricDatapoint'+  { _mdSampleCount = Nothing+  , _mdMaximum = Nothing+  , _mdAverage = Nothing+  , _mdMinimum = Nothing+  , _mdSum = Nothing+  , _mdTimestamp = Nothing+  , _mdUnit = Nothing+  }+++-- | The sample count.+mdSampleCount :: Lens' MetricDatapoint (Maybe Double)+mdSampleCount = lens _mdSampleCount (\ s a -> s{_mdSampleCount = a});++-- | The maximum.+mdMaximum :: Lens' MetricDatapoint (Maybe Double)+mdMaximum = lens _mdMaximum (\ s a -> s{_mdMaximum = a});++-- | The average.+mdAverage :: Lens' MetricDatapoint (Maybe Double)+mdAverage = lens _mdAverage (\ s a -> s{_mdAverage = a});++-- | The minimum.+mdMinimum :: Lens' MetricDatapoint (Maybe Double)+mdMinimum = lens _mdMinimum (\ s a -> s{_mdMinimum = a});++-- | The sum.+mdSum :: Lens' MetricDatapoint (Maybe Double)+mdSum = lens _mdSum (\ s a -> s{_mdSum = a});++-- | The timestamp (e.g., @1479816991.349@ ).+mdTimestamp :: Lens' MetricDatapoint (Maybe UTCTime)+mdTimestamp = lens _mdTimestamp (\ s a -> s{_mdTimestamp = a}) . mapping _Time;++-- | The unit.+mdUnit :: Lens' MetricDatapoint (Maybe MetricUnit)+mdUnit = lens _mdUnit (\ s a -> s{_mdUnit = a});++instance FromJSON MetricDatapoint where+        parseJSON+          = withObject "MetricDatapoint"+              (\ x ->+                 MetricDatapoint' <$>+                   (x .:? "sampleCount") <*> (x .:? "maximum") <*>+                     (x .:? "average")+                     <*> (x .:? "minimum")+                     <*> (x .:? "sum")+                     <*> (x .:? "timestamp")+                     <*> (x .:? "unit"))++instance Hashable MetricDatapoint where++instance NFData MetricDatapoint where++-- | Describes the monthly data transfer in and out of your virtual private server (or /instance/ ).+--+--+--+-- /See:/ 'monthlyTransfer' smart constructor.+newtype MonthlyTransfer = MonthlyTransfer'+  { _mtGbPerMonthAllocated :: Maybe Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'MonthlyTransfer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'mtGbPerMonthAllocated' - The amount allocated per month (in GB).+monthlyTransfer+    :: MonthlyTransfer+monthlyTransfer = MonthlyTransfer' {_mtGbPerMonthAllocated = Nothing}+++-- | The amount allocated per month (in GB).+mtGbPerMonthAllocated :: Lens' MonthlyTransfer (Maybe Int)+mtGbPerMonthAllocated = lens _mtGbPerMonthAllocated (\ s a -> s{_mtGbPerMonthAllocated = a});++instance FromJSON MonthlyTransfer where+        parseJSON+          = withObject "MonthlyTransfer"+              (\ x ->+                 MonthlyTransfer' <$> (x .:? "gbPerMonthAllocated"))++instance Hashable MonthlyTransfer where++instance NFData MonthlyTransfer where++-- | Describes the API operation.+--+--+--+-- /See:/ 'operation' smart constructor.+data Operation = Operation'+  { _oStatus           :: !(Maybe OperationStatus)+  , _oOperationDetails :: !(Maybe Text)+  , _oResourceType     :: !(Maybe ResourceType)+  , _oCreatedAt        :: !(Maybe POSIX)+  , _oResourceName     :: !(Maybe Text)+  , _oLocation         :: !(Maybe ResourceLocation)+  , _oStatusChangedAt  :: !(Maybe POSIX)+  , _oErrorDetails     :: !(Maybe Text)+  , _oErrorCode        :: !(Maybe Text)+  , _oId               :: !(Maybe Text)+  , _oOperationType    :: !(Maybe OperationType)+  , _oIsTerminal       :: !(Maybe Bool)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'Operation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'oStatus' - The status of the operation.+--+-- * 'oOperationDetails' - Details about the operation (e.g., @Debian-1GB-Virginia-1@ ).+--+-- * 'oResourceType' - The resource type.+--+-- * 'oCreatedAt' - The timestamp when the operation was initialized (e.g., @1479816991.349@ ).+--+-- * 'oResourceName' - The resource name.+--+-- * 'oLocation' - The region and Availability Zone.+--+-- * 'oStatusChangedAt' - The timestamp when the status was changed (e.g., @1479816991.349@ ).+--+-- * 'oErrorDetails' - The error details.+--+-- * 'oErrorCode' - The error code.+--+-- * 'oId' - The ID of the operation.+--+-- * 'oOperationType' - The type of operation.+--+-- * 'oIsTerminal' - A Boolean value indicating whether the operation is terminal.+operation+    :: Operation+operation =+  Operation'+  { _oStatus = Nothing+  , _oOperationDetails = Nothing+  , _oResourceType = Nothing+  , _oCreatedAt = Nothing+  , _oResourceName = Nothing+  , _oLocation = Nothing+  , _oStatusChangedAt = Nothing+  , _oErrorDetails = Nothing+  , _oErrorCode = Nothing+  , _oId = Nothing+  , _oOperationType = Nothing+  , _oIsTerminal = Nothing+  }+++-- | The status of the operation.+oStatus :: Lens' Operation (Maybe OperationStatus)+oStatus = lens _oStatus (\ s a -> s{_oStatus = a});++-- | Details about the operation (e.g., @Debian-1GB-Virginia-1@ ).+oOperationDetails :: Lens' Operation (Maybe Text)+oOperationDetails = lens _oOperationDetails (\ s a -> s{_oOperationDetails = a});++-- | The resource type.+oResourceType :: Lens' Operation (Maybe ResourceType)+oResourceType = lens _oResourceType (\ s a -> s{_oResourceType = a});++-- | The timestamp when the operation was initialized (e.g., @1479816991.349@ ).+oCreatedAt :: Lens' Operation (Maybe UTCTime)+oCreatedAt = lens _oCreatedAt (\ s a -> s{_oCreatedAt = a}) . mapping _Time;++-- | The resource name.+oResourceName :: Lens' Operation (Maybe Text)+oResourceName = lens _oResourceName (\ s a -> s{_oResourceName = a});++-- | The region and Availability Zone.+oLocation :: Lens' Operation (Maybe ResourceLocation)+oLocation = lens _oLocation (\ s a -> s{_oLocation = a});++-- | The timestamp when the status was changed (e.g., @1479816991.349@ ).+oStatusChangedAt :: Lens' Operation (Maybe UTCTime)+oStatusChangedAt = lens _oStatusChangedAt (\ s a -> s{_oStatusChangedAt = a}) . mapping _Time;++-- | The error details.+oErrorDetails :: Lens' Operation (Maybe Text)+oErrorDetails = lens _oErrorDetails (\ s a -> s{_oErrorDetails = a});++-- | The error code.+oErrorCode :: Lens' Operation (Maybe Text)+oErrorCode = lens _oErrorCode (\ s a -> s{_oErrorCode = a});++-- | The ID of the operation.+oId :: Lens' Operation (Maybe Text)+oId = lens _oId (\ s a -> s{_oId = a});++-- | The type of operation.+oOperationType :: Lens' Operation (Maybe OperationType)+oOperationType = lens _oOperationType (\ s a -> s{_oOperationType = a});++-- | A Boolean value indicating whether the operation is terminal.+oIsTerminal :: Lens' Operation (Maybe Bool)+oIsTerminal = lens _oIsTerminal (\ s a -> s{_oIsTerminal = a});++instance FromJSON Operation where+        parseJSON+          = withObject "Operation"+              (\ x ->+                 Operation' <$>+                   (x .:? "status") <*> (x .:? "operationDetails") <*>+                     (x .:? "resourceType")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "resourceName")+                     <*> (x .:? "location")+                     <*> (x .:? "statusChangedAt")+                     <*> (x .:? "errorDetails")+                     <*> (x .:? "errorCode")+                     <*> (x .:? "id")+                     <*> (x .:? "operationType")+                     <*> (x .:? "isTerminal"))++instance Hashable Operation where++instance NFData Operation where++-- | The password data for the Windows Server-based instance, including the ciphertext and the key pair name.+--+--+--+-- /See:/ 'passwordData' smart constructor.+data PasswordData = PasswordData'+  { _pdKeyPairName :: !(Maybe Text)+  , _pdCiphertext  :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PasswordData' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'pdKeyPairName' - The name of the key pair that you used when creating your instance. If no key pair name was specified when creating the instance, Lightsail uses the default key pair (@LightsailDefaultKeyPair@ ). If you are using a custom key pair, you need to use your own means of decrypting your password using the @ciphertext@ . Lightsail creates the ciphertext by encrypting your password with the public key part of this key pair.+--+-- * 'pdCiphertext' - The encrypted password. Ciphertext will be an empty string if access to your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.+passwordData+    :: PasswordData+passwordData = PasswordData' {_pdKeyPairName = Nothing, _pdCiphertext = Nothing}+++-- | The name of the key pair that you used when creating your instance. If no key pair name was specified when creating the instance, Lightsail uses the default key pair (@LightsailDefaultKeyPair@ ). If you are using a custom key pair, you need to use your own means of decrypting your password using the @ciphertext@ . Lightsail creates the ciphertext by encrypting your password with the public key part of this key pair.+pdKeyPairName :: Lens' PasswordData (Maybe Text)+pdKeyPairName = lens _pdKeyPairName (\ s a -> s{_pdKeyPairName = a});++-- | The encrypted password. Ciphertext will be an empty string if access to your new instance is not ready yet. When you create an instance, it can take up to 15 minutes for the instance to be ready.+pdCiphertext :: Lens' PasswordData (Maybe Text)+pdCiphertext = lens _pdCiphertext (\ s a -> s{_pdCiphertext = a});++instance FromJSON PasswordData where+        parseJSON+          = withObject "PasswordData"+              (\ x ->+                 PasswordData' <$>+                   (x .:? "keyPairName") <*> (x .:? "ciphertext"))++instance Hashable PasswordData where++instance NFData PasswordData where++-- | Describes information about the ports on your virtual private server (or /instance/ ).+--+--+--+-- /See:/ 'portInfo' smart constructor.+data PortInfo = PortInfo'+  { _piFromPort :: !(Maybe Nat)+  , _piProtocol :: !(Maybe NetworkProtocol)+  , _piToPort   :: !(Maybe Nat)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'PortInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'piFromPort' - The first port in the range.+--+-- * 'piProtocol' - The protocol.+--+-- * 'piToPort' - The last port in the range.+portInfo+    :: PortInfo+portInfo =+  PortInfo' {_piFromPort = Nothing, _piProtocol = Nothing, _piToPort = Nothing}+++-- | The first port in the range.+piFromPort :: Lens' PortInfo (Maybe Natural)+piFromPort = lens _piFromPort (\ s a -> s{_piFromPort = a}) . mapping _Nat;++-- | The protocol.+piProtocol :: Lens' PortInfo (Maybe NetworkProtocol)+piProtocol = lens _piProtocol (\ s a -> s{_piProtocol = a});++-- | The last port in the range.+piToPort :: Lens' PortInfo (Maybe Natural)+piToPort = lens _piToPort (\ s a -> s{_piToPort = a}) . mapping _Nat;++instance Hashable PortInfo where++instance NFData PortInfo where++instance ToJSON PortInfo where+        toJSON PortInfo'{..}+          = object+              (catMaybes+                 [("fromPort" .=) <$> _piFromPort,+                  ("protocol" .=) <$> _piProtocol,+                  ("toPort" .=) <$> _piToPort])++-- | Describes the AWS Region.+--+--+--+-- /See:/ 'regionInfo' smart constructor.+data RegionInfo = RegionInfo'+  { _riAvailabilityZones :: !(Maybe [AvailabilityZone])+  , _riName              :: !(Maybe RegionName)+  , _riDisplayName       :: !(Maybe Text)+  , _riContinentCode     :: !(Maybe Text)+  , _riDescription       :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'RegionInfo' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'riAvailabilityZones' - The Availability Zones. Follows the format @us-east-1a@ (case-sensitive).+--+-- * 'riName' - The region name (e.g., @us-east-1@ ).+--+-- * 'riDisplayName' - The display name (e.g., @Virginia@ ).+--+-- * 'riContinentCode' - The continent code (e.g., @NA@ , meaning North America).+--+-- * 'riDescription' - The description of the AWS Region (e.g., @This region is recommended to serve users in the eastern United States and eastern Canada@ ).+regionInfo+    :: RegionInfo+regionInfo =+  RegionInfo'+  { _riAvailabilityZones = Nothing+  , _riName = Nothing+  , _riDisplayName = Nothing+  , _riContinentCode = Nothing+  , _riDescription = Nothing+  }+++-- | The Availability Zones. Follows the format @us-east-1a@ (case-sensitive).+riAvailabilityZones :: Lens' RegionInfo [AvailabilityZone]+riAvailabilityZones = lens _riAvailabilityZones (\ s a -> s{_riAvailabilityZones = a}) . _Default . _Coerce;++-- | The region name (e.g., @us-east-1@ ).+riName :: Lens' RegionInfo (Maybe RegionName)+riName = lens _riName (\ s a -> s{_riName = a});++-- | The display name (e.g., @Virginia@ ).+riDisplayName :: Lens' RegionInfo (Maybe Text)+riDisplayName = lens _riDisplayName (\ s a -> s{_riDisplayName = a});++-- | The continent code (e.g., @NA@ , meaning North America).+riContinentCode :: Lens' RegionInfo (Maybe Text)+riContinentCode = lens _riContinentCode (\ s a -> s{_riContinentCode = a});++-- | The description of the AWS Region (e.g., @This region is recommended to serve users in the eastern United States and eastern Canada@ ).+riDescription :: Lens' RegionInfo (Maybe Text)+riDescription = lens _riDescription (\ s a -> s{_riDescription = a});++instance FromJSON RegionInfo where+        parseJSON+          = withObject "RegionInfo"+              (\ x ->+                 RegionInfo' <$>+                   (x .:? "availabilityZones" .!= mempty) <*>+                     (x .:? "name")+                     <*> (x .:? "displayName")+                     <*> (x .:? "continentCode")+                     <*> (x .:? "description"))++instance Hashable RegionInfo where++instance NFData RegionInfo where++-- | Describes the resource location.+--+--+--+-- /See:/ 'resourceLocation' smart constructor.+data ResourceLocation = ResourceLocation'+  { _rlRegionName       :: !(Maybe RegionName)+  , _rlAvailabilityZone :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'ResourceLocation' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rlRegionName' - The AWS Region name.+--+-- * 'rlAvailabilityZone' - The Availability Zone. Follows the format @us-east-1a@ (case-sensitive).+resourceLocation+    :: ResourceLocation+resourceLocation =+  ResourceLocation' {_rlRegionName = Nothing, _rlAvailabilityZone = Nothing}+++-- | The AWS Region name.+rlRegionName :: Lens' ResourceLocation (Maybe RegionName)+rlRegionName = lens _rlRegionName (\ s a -> s{_rlRegionName = a});++-- | The Availability Zone. Follows the format @us-east-1a@ (case-sensitive).+rlAvailabilityZone :: Lens' ResourceLocation (Maybe Text)+rlAvailabilityZone = lens _rlAvailabilityZone (\ s a -> s{_rlAvailabilityZone = a});++instance FromJSON ResourceLocation where+        parseJSON+          = withObject "ResourceLocation"+              (\ x ->+                 ResourceLocation' <$>+                   (x .:? "regionName") <*> (x .:? "availabilityZone"))++instance Hashable ResourceLocation where++instance NFData ResourceLocation where++-- | Describes the static IP.+--+--+--+-- /See:/ 'staticIP' smart constructor.+data StaticIP = StaticIP'+  { _siIpAddress    :: !(Maybe Text)+  , _siResourceType :: !(Maybe ResourceType)+  , _siArn          :: !(Maybe Text)+  , _siCreatedAt    :: !(Maybe POSIX)+  , _siLocation     :: !(Maybe ResourceLocation)+  , _siIsAttached   :: !(Maybe Bool)+  , _siName         :: !(Maybe Text)+  , _siSupportCode  :: !(Maybe Text)+  , _siAttachedTo   :: !(Maybe Text)+  } deriving (Eq, Read, Show, Data, Typeable, Generic)+++-- | Creates a value of 'StaticIP' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'siIpAddress' - The static IP address.+--+-- * 'siResourceType' - The resource type (usually @StaticIp@ ).+--+-- * 'siArn' - The Amazon Resource Name (ARN) of the static IP (e.g., @arn:aws:lightsail:us-east-1:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE@ ).+--+-- * 'siCreatedAt' - The timestamp when the static IP was created (e.g., @1479735304.222@ ).+--+-- * 'siLocation' - The region and Availability Zone where the static IP was created.+--+-- * 'siIsAttached' - A Boolean value indicating whether the static IP is attached.+--+-- * 'siName' - The name of the static IP (e.g., @StaticIP-Virginia-EXAMPLE@ ).+--+-- * 'siSupportCode' - The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+--+-- * 'siAttachedTo' - The instance where the static IP is attached (e.g., @Amazon_Linux-1GB-Virginia-1@ ).+staticIP+    :: StaticIP+staticIP =+  StaticIP'+  { _siIpAddress = Nothing+  , _siResourceType = Nothing+  , _siArn = Nothing+  , _siCreatedAt = Nothing+  , _siLocation = Nothing+  , _siIsAttached = Nothing+  , _siName = Nothing+  , _siSupportCode = Nothing+  , _siAttachedTo = Nothing+  }+++-- | The static IP address.+siIpAddress :: Lens' StaticIP (Maybe Text)+siIpAddress = lens _siIpAddress (\ s a -> s{_siIpAddress = a});++-- | The resource type (usually @StaticIp@ ).+siResourceType :: Lens' StaticIP (Maybe ResourceType)+siResourceType = lens _siResourceType (\ s a -> s{_siResourceType = a});++-- | The Amazon Resource Name (ARN) of the static IP (e.g., @arn:aws:lightsail:us-east-1:123456789101:StaticIp/9cbb4a9e-f8e3-4dfe-b57e-12345EXAMPLE@ ).+siArn :: Lens' StaticIP (Maybe Text)+siArn = lens _siArn (\ s a -> s{_siArn = a});++-- | The timestamp when the static IP was created (e.g., @1479735304.222@ ).+siCreatedAt :: Lens' StaticIP (Maybe UTCTime)+siCreatedAt = lens _siCreatedAt (\ s a -> s{_siCreatedAt = a}) . mapping _Time;++-- | The region and Availability Zone where the static IP was created.+siLocation :: Lens' StaticIP (Maybe ResourceLocation)+siLocation = lens _siLocation (\ s a -> s{_siLocation = a});++-- | A Boolean value indicating whether the static IP is attached.+siIsAttached :: Lens' StaticIP (Maybe Bool)+siIsAttached = lens _siIsAttached (\ s a -> s{_siIsAttached = a});++-- | The name of the static IP (e.g., @StaticIP-Virginia-EXAMPLE@ ).+siName :: Lens' StaticIP (Maybe Text)+siName = lens _siName (\ s a -> s{_siName = a});++-- | The support code. Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.+siSupportCode :: Lens' StaticIP (Maybe Text)+siSupportCode = lens _siSupportCode (\ s a -> s{_siSupportCode = a});++-- | The instance where the static IP is attached (e.g., @Amazon_Linux-1GB-Virginia-1@ ).+siAttachedTo :: Lens' StaticIP (Maybe Text)+siAttachedTo = lens _siAttachedTo (\ s a -> s{_siAttachedTo = a});++instance FromJSON StaticIP where+        parseJSON+          = withObject "StaticIP"+              (\ x ->+                 StaticIP' <$>+                   (x .:? "ipAddress") <*> (x .:? "resourceType") <*>+                     (x .:? "arn")+                     <*> (x .:? "createdAt")+                     <*> (x .:? "location")+                     <*> (x .:? "isAttached")+                     <*> (x .:? "name")+                     <*> (x .:? "supportCode")+                     <*> (x .:? "attachedTo"))++instance Hashable StaticIP where++instance NFData StaticIP where
gen/Network/AWS/Lightsail/Types/Sum.hs view
@@ -9,21 +9,22 @@  -- | -- Module      : Network.AWS.Lightsail.Types.Sum--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.Lightsail.Types.Sum where -import           Network.AWS.Prelude+import Network.AWS.Prelude  data AccessDirection-    = Inbound-    | Outbound-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Inbound+  | Outbound+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText AccessDirection where     parser = takeLowerText >>= \case         "inbound" -> pure Inbound@@ -46,10 +47,11 @@     parseJSON = parseJSONText "AccessDirection"  data BlueprintType-    = App-    | OS-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = App+  | OS+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText BlueprintType where     parser = takeLowerText >>= \case         "app" -> pure App@@ -72,10 +74,11 @@     parseJSON = parseJSONText "BlueprintType"  data InstanceAccessProtocol-    = Rdp-    | SSH-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Rdp+  | SSH+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText InstanceAccessProtocol where     parser = takeLowerText >>= \case         "rdp" -> pure Rdp@@ -101,14 +104,15 @@     parseJSON = parseJSONText "InstanceAccessProtocol"  data InstanceMetricName-    = CPUUtilization-    | NetworkIn-    | NetworkOut-    | StatusCheckFailed-    | StatusCheckFailedInstance-    | StatusCheckFailedSystem-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = CPUUtilization+  | NetworkIn+  | NetworkOut+  | StatusCheckFailed+  | StatusCheckFailedInstance+  | StatusCheckFailedSystem+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText InstanceMetricName where     parser = takeLowerText >>= \case         "cpuutilization" -> pure CPUUtilization@@ -141,12 +145,40 @@ instance FromJSON InstanceMetricName where     parseJSON = parseJSONText "InstanceMetricName" +data InstancePlatform+  = LinuxUnix+  | Windows+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+++instance FromText InstancePlatform where+    parser = takeLowerText >>= \case+        "linux_unix" -> pure LinuxUnix+        "windows" -> pure Windows+        e -> fromTextError $ "Failure parsing InstancePlatform from value: '" <> e+           <> "'. Accepted values: linux_unix, windows"++instance ToText InstancePlatform where+    toText = \case+        LinuxUnix -> "LINUX_UNIX"+        Windows -> "WINDOWS"++instance Hashable     InstancePlatform+instance NFData       InstancePlatform+instance ToByteString InstancePlatform+instance ToQuery      InstancePlatform+instance ToHeader     InstancePlatform++instance FromJSON InstancePlatform where+    parseJSON = parseJSONText "InstancePlatform"+ data InstanceSnapshotState-    = Available-    | Error'-    | Pending-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Available+  | Error'+  | Pending+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText InstanceSnapshotState where     parser = takeLowerText >>= \case         "available" -> pure Available@@ -171,13 +203,14 @@     parseJSON = parseJSONText "InstanceSnapshotState"  data MetricStatistic-    = Average-    | Maximum-    | Minimum-    | SampleCount-    | Sum-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Average+  | Maximum+  | Minimum+  | SampleCount+  | Sum+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText MetricStatistic where     parser = takeLowerText >>= \case         "average" -> pure Average@@ -206,35 +239,36 @@     toJSON = toJSONText  data MetricUnit-    = Bits-    | BitsSecond-    | Bytes-    | BytesSecond-    | Count-    | CountSecond-    | Gigabits-    | GigabitsSecond-    | Gigabytes-    | GigabytesSecond-    | Kilobits-    | KilobitsSecond-    | Kilobytes-    | KilobytesSecond-    | Megabits-    | MegabitsSecond-    | Megabytes-    | MegabytesSecond-    | Microseconds-    | Milliseconds-    | None-    | Percent-    | Seconds-    | Terabits-    | TerabitsSecond-    | Terabytes-    | TerabytesSecond-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Bits+  | BitsSecond+  | Bytes+  | BytesSecond+  | Count+  | CountSecond+  | Gigabits+  | GigabitsSecond+  | Gigabytes+  | GigabytesSecond+  | Kilobits+  | KilobitsSecond+  | Kilobytes+  | KilobytesSecond+  | Megabits+  | MegabitsSecond+  | Megabytes+  | MegabytesSecond+  | Microseconds+  | Milliseconds+  | None+  | Percent+  | Seconds+  | Terabits+  | TerabitsSecond+  | Terabytes+  | TerabytesSecond+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText MetricUnit where     parser = takeLowerText >>= \case         "bits" -> pure Bits@@ -310,11 +344,12 @@     parseJSON = parseJSONText "MetricUnit"  data NetworkProtocol-    = All-    | TCP-    | Udp-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = All+  | TCP+  | Udp+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText NetworkProtocol where     parser = takeLowerText >>= \case         "all" -> pure All@@ -342,12 +377,13 @@     parseJSON = parseJSONText "NetworkProtocol"  data OperationStatus-    = Completed-    | Failed-    | NotStarted-    | Started-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Completed+  | Failed+  | NotStarted+  | Started+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText OperationStatus where     parser = takeLowerText >>= \case         "completed" -> pure Completed@@ -374,26 +410,28 @@     parseJSON = parseJSONText "OperationStatus"  data OperationType-    = AllocateStaticIP-    | AttachStaticIP-    | CloseInstancePublicPorts-    | CreateDomain-    | CreateInstance-    | CreateInstanceSnapshot-    | CreateInstancesFromSnapshot-    | DeleteDomain-    | DeleteDomainEntry-    | DeleteInstance-    | DeleteInstanceSnapshot-    | DetachStaticIP-    | OpenInstancePublicPorts-    | RebootInstance-    | ReleaseStaticIP-    | StartInstance-    | StopInstance-    | UpdateDomainEntry-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = AllocateStaticIP+  | AttachStaticIP+  | CloseInstancePublicPorts+  | CreateDomain+  | CreateInstance+  | CreateInstanceSnapshot+  | CreateInstancesFromSnapshot+  | DeleteDomain+  | DeleteDomainEntry+  | DeleteInstance+  | DeleteInstanceSnapshot+  | DetachStaticIP+  | OpenInstancePublicPorts+  | PutInstancePublicPorts+  | RebootInstance+  | ReleaseStaticIP+  | StartInstance+  | StopInstance+  | UpdateDomainEntry+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText OperationType where     parser = takeLowerText >>= \case         "allocatestaticip" -> pure AllocateStaticIP@@ -409,13 +447,14 @@         "deleteinstancesnapshot" -> pure DeleteInstanceSnapshot         "detachstaticip" -> pure DetachStaticIP         "openinstancepublicports" -> pure OpenInstancePublicPorts+        "putinstancepublicports" -> pure PutInstancePublicPorts         "rebootinstance" -> pure RebootInstance         "releasestaticip" -> pure ReleaseStaticIP         "startinstance" -> pure StartInstance         "stopinstance" -> pure StopInstance         "updatedomainentry" -> pure UpdateDomainEntry         e -> fromTextError $ "Failure parsing OperationType from value: '" <> e-           <> "'. Accepted values: allocatestaticip, attachstaticip, closeinstancepublicports, createdomain, createinstance, createinstancesnapshot, createinstancesfromsnapshot, deletedomain, deletedomainentry, deleteinstance, deleteinstancesnapshot, detachstaticip, openinstancepublicports, rebootinstance, releasestaticip, startinstance, stopinstance, updatedomainentry"+           <> "'. Accepted values: allocatestaticip, attachstaticip, closeinstancepublicports, createdomain, createinstance, createinstancesnapshot, createinstancesfromsnapshot, deletedomain, deletedomainentry, deleteinstance, deleteinstancesnapshot, detachstaticip, openinstancepublicports, putinstancepublicports, rebootinstance, releasestaticip, startinstance, stopinstance, updatedomainentry"  instance ToText OperationType where     toText = \case@@ -432,6 +471,7 @@         DeleteInstanceSnapshot -> "DeleteInstanceSnapshot"         DetachStaticIP -> "DetachStaticIp"         OpenInstancePublicPorts -> "OpenInstancePublicPorts"+        PutInstancePublicPorts -> "PutInstancePublicPorts"         RebootInstance -> "RebootInstance"         ReleaseStaticIP -> "ReleaseStaticIp"         StartInstance -> "StartInstance"@@ -448,10 +488,11 @@     parseJSON = parseJSONText "OperationType"  data PortAccessType-    = Private-    | Public-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Private+  | Public+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText PortAccessType where     parser = takeLowerText >>= \case         "private" -> pure Private@@ -474,10 +515,11 @@     parseJSON = parseJSONText "PortAccessType"  data PortState-    = Closed-    | Open-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Closed+  | Open+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText PortState where     parser = takeLowerText >>= \case         "closed" -> pure Closed@@ -500,18 +542,20 @@     parseJSON = parseJSONText "PortState"  data RegionName-    = ApNortheast1-    | ApNortheast2-    | ApSouth1-    | ApSoutheast1-    | ApSoutheast2-    | EuCentral1-    | EuWest1-    | UsEast1-    | UsWest1-    | UsWest2-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = ApNortheast1+  | ApNortheast2+  | ApSouth1+  | ApSoutheast1+  | ApSoutheast2+  | EuCentral1+  | EuWest1+  | UsEast1+  | UsEast2+  | UsWest1+  | UsWest2+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic) + instance FromText RegionName where     parser = takeLowerText >>= \case         "ap-northeast-1" -> pure ApNortheast1@@ -522,10 +566,11 @@         "eu-central-1" -> pure EuCentral1         "eu-west-1" -> pure EuWest1         "us-east-1" -> pure UsEast1+        "us-east-2" -> pure UsEast2         "us-west-1" -> pure UsWest1         "us-west-2" -> pure UsWest2         e -> fromTextError $ "Failure parsing RegionName from value: '" <> e-           <> "'. Accepted values: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, us-east-1, us-west-1, us-west-2"+           <> "'. Accepted values: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, eu-central-1, eu-west-1, us-east-1, us-east-2, us-west-1, us-west-2"  instance ToText RegionName where     toText = \case@@ -537,6 +582,7 @@         EuCentral1 -> "eu-central-1"         EuWest1 -> "eu-west-1"         UsEast1 -> "us-east-1"+        UsEast2 -> "us-east-2"         UsWest1 -> "us-west-1"         UsWest2 -> "us-west-2" @@ -550,13 +596,14 @@     parseJSON = parseJSONText "RegionName"  data ResourceType-    = Domain-    | Instance-    | InstanceSnapshot-    | KeyPair-    | PeeredVPC-    | StaticIP-    deriving (Eq,Ord,Read,Show,Enum,Bounded,Data,Typeable,Generic)+  = Domain+  | Instance+  | InstanceSnapshot+  | KeyPair+  | PeeredVPC+  | StaticIP+  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)+  instance FromText ResourceType where     parser = takeLowerText >>= \case
gen/Network/AWS/Lightsail/UnpeerVPC.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.UnpeerVPC--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -35,24 +35,26 @@     , uvrsResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'unpeerVPC' smart constructor. data UnpeerVPC =-    UnpeerVPC'-    deriving (Eq,Read,Show,Data,Typeable,Generic)+  UnpeerVPC'+  deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'UnpeerVPC' with the minimum fields required to make a request. -- unpeerVPC     :: UnpeerVPC unpeerVPC = UnpeerVPC' + instance AWSRequest UnpeerVPC where         type Rs UnpeerVPC = UnpeerVPCResponse         request = postJSON lightsail@@ -62,9 +64,9 @@                  UnpeerVPCResponse' <$>                    (x .?> "operation") <*> (pure (fromEnum s))) -instance Hashable UnpeerVPC+instance Hashable UnpeerVPC where -instance NFData UnpeerVPC+instance NFData UnpeerVPC where  instance ToHeaders UnpeerVPC where         toHeaders@@ -86,10 +88,11 @@  -- | /See:/ 'unpeerVPCResponse' smart constructor. data UnpeerVPCResponse = UnpeerVPCResponse'-    { _uvrsOperation      :: !(Maybe Operation)-    , _uvrsResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _uvrsOperation      :: !(Maybe Operation)+  , _uvrsResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'UnpeerVPCResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -101,11 +104,10 @@     :: Int -- ^ 'uvrsResponseStatus'     -> UnpeerVPCResponse unpeerVPCResponse pResponseStatus_ =-    UnpeerVPCResponse'-    { _uvrsOperation = Nothing-    , _uvrsResponseStatus = pResponseStatus_-    }+  UnpeerVPCResponse'+  {_uvrsOperation = Nothing, _uvrsResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the request operation. uvrsOperation :: Lens' UnpeerVPCResponse (Maybe Operation) uvrsOperation = lens _uvrsOperation (\ s a -> s{_uvrsOperation = a});@@ -114,4 +116,4 @@ uvrsResponseStatus :: Lens' UnpeerVPCResponse Int uvrsResponseStatus = lens _uvrsResponseStatus (\ s a -> s{_uvrsResponseStatus = a}); -instance NFData UnpeerVPCResponse+instance NFData UnpeerVPCResponse where
gen/Network/AWS/Lightsail/UpdateDomainEntry.hs view
@@ -12,9 +12,9 @@  -- | -- Module      : Network.AWS.Lightsail.UpdateDomainEntry--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --@@ -38,19 +38,20 @@     , udersResponseStatus     ) where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Lightsail.Types.Product-import           Network.AWS.Prelude-import           Network.AWS.Request-import           Network.AWS.Response+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Lightsail.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response  -- | /See:/ 'updateDomainEntry' smart constructor. data UpdateDomainEntry = UpdateDomainEntry'-    { _udeDomainName  :: !Text-    , _udeDomainEntry :: !DomainEntry-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _udeDomainName  :: !Text+  , _udeDomainEntry :: !DomainEntry+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'UpdateDomainEntry' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -63,11 +64,10 @@     -> DomainEntry -- ^ 'udeDomainEntry'     -> UpdateDomainEntry updateDomainEntry pDomainName_ pDomainEntry_ =-    UpdateDomainEntry'-    { _udeDomainName = pDomainName_-    , _udeDomainEntry = pDomainEntry_-    }+  UpdateDomainEntry'+  {_udeDomainName = pDomainName_, _udeDomainEntry = pDomainEntry_} + -- | The name of the domain recordset to update. udeDomainName :: Lens' UpdateDomainEntry Text udeDomainName = lens _udeDomainName (\ s a -> s{_udeDomainName = a});@@ -86,9 +86,9 @@                    (x .?> "operations" .!@ mempty) <*>                      (pure (fromEnum s))) -instance Hashable UpdateDomainEntry+instance Hashable UpdateDomainEntry where -instance NFData UpdateDomainEntry+instance NFData UpdateDomainEntry where  instance ToHeaders UpdateDomainEntry where         toHeaders@@ -115,10 +115,11 @@  -- | /See:/ 'updateDomainEntryResponse' smart constructor. data UpdateDomainEntryResponse = UpdateDomainEntryResponse'-    { _udersOperations     :: !(Maybe [Operation])-    , _udersResponseStatus :: !Int-    } deriving (Eq,Read,Show,Data,Typeable,Generic)+  { _udersOperations     :: !(Maybe [Operation])+  , _udersResponseStatus :: !Int+  } deriving (Eq, Read, Show, Data, Typeable, Generic) + -- | Creates a value of 'UpdateDomainEntryResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired:@@ -130,11 +131,10 @@     :: Int -- ^ 'udersResponseStatus'     -> UpdateDomainEntryResponse updateDomainEntryResponse pResponseStatus_ =-    UpdateDomainEntryResponse'-    { _udersOperations = Nothing-    , _udersResponseStatus = pResponseStatus_-    }+  UpdateDomainEntryResponse'+  {_udersOperations = Nothing, _udersResponseStatus = pResponseStatus_} + -- | An array of key-value pairs containing information about the request operation. udersOperations :: Lens' UpdateDomainEntryResponse [Operation] udersOperations = lens _udersOperations (\ s a -> s{_udersOperations = a}) . _Default . _Coerce;@@ -143,4 +143,4 @@ udersResponseStatus :: Lens' UpdateDomainEntryResponse Int udersResponseStatus = lens _udersResponseStatus (\ s a -> s{_udersResponseStatus = a}); -instance NFData UpdateDomainEntryResponse+instance NFData UpdateDomainEntryResponse where
gen/Network/AWS/Lightsail/Waiters.hs view
@@ -7,15 +7,15 @@  -- | -- Module      : Network.AWS.Lightsail.Waiters--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Network.AWS.Lightsail.Waiters where -import           Network.AWS.Lens-import           Network.AWS.Lightsail.Types-import           Network.AWS.Prelude-import           Network.AWS.Waiter+import Network.AWS.Lens+import Network.AWS.Lightsail.Types+import Network.AWS.Prelude+import Network.AWS.Waiter
test/Main.hs view
@@ -2,9 +2,9 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) --
test/Test/AWS/Gen/Lightsail.hs view
@@ -5,20 +5,20 @@  -- | -- Module      : Test.AWS.Gen.Lightsail--- Copyright   : (c) 2013-2016 Brendan Hay+-- Copyright   : (c) 2013-2017 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com> -- Stability   : auto-generated -- Portability : non-portable (GHC extensions) -- module Test.AWS.Gen.Lightsail where  import Data.Proxy+import Network.AWS.Lightsail import Test.AWS.Fixture+import Test.AWS.Lightsail.Internal import Test.AWS.Prelude import Test.Tasty-import Network.AWS.Lightsail-import Test.AWS.Lightsail.Internal  -- Auto-generated: the actual test selection needs to be manually placed into -- the top-level so that real test data can be incrementally added.@@ -145,6 +145,9 @@ --         , requestGetKeyPair $ --             getKeyPair --+--         , requestPutInstancePublicPorts $+--             putInstancePublicPorts+-- --         , requestDetachStaticIP $ --             detachStaticIP --@@ -289,6 +292,9 @@ --         , responseGetKeyPair $ --             getKeyPairResponse --+--         , responsePutInstancePublicPorts $+--             putInstancePublicPortsResponse+-- --         , responseDetachStaticIP $ --             detachStaticIPResponse --@@ -513,6 +519,11 @@     "GetKeyPair"     "fixture/GetKeyPair.yaml" +requestPutInstancePublicPorts :: PutInstancePublicPorts -> TestTree+requestPutInstancePublicPorts = req+    "PutInstancePublicPorts"+    "fixture/PutInstancePublicPorts.yaml"+ requestDetachStaticIP :: DetachStaticIP -> TestTree requestDetachStaticIP = req     "DetachStaticIP"@@ -827,6 +838,13 @@     "fixture/GetKeyPairResponse.proto"     lightsail     (Proxy :: Proxy GetKeyPair)++responsePutInstancePublicPorts :: PutInstancePublicPortsResponse -> TestTree+responsePutInstancePublicPorts = res+    "PutInstancePublicPortsResponse"+    "fixture/PutInstancePublicPortsResponse.proto"+    lightsail+    (Proxy :: Proxy PutInstancePublicPorts)  responseDetachStaticIP :: DetachStaticIPResponse -> TestTree responseDetachStaticIP = res