amazonka-ds (empty) → 1.0.0
raw patch · 30 files changed
+5144/−0 lines, 30 filesdep +amazonka-coredep +amazonka-dsdep +amazonka-testsetup-changed
Dependencies added: amazonka-core, amazonka-ds, amazonka-test, base, bytestring, lens, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +373/−0
- README.md +46/−0
- Setup.hs +2/−0
- amazonka-ds.cabal +102/−0
- gen/Network/AWS/DirectoryService.hs +300/−0
- gen/Network/AWS/DirectoryService/ConnectDirectory.hs +184/−0
- gen/Network/AWS/DirectoryService/CreateAlias.hs +160/−0
- gen/Network/AWS/DirectoryService/CreateComputer.hs +178/−0
- gen/Network/AWS/DirectoryService/CreateDirectory.hs +184/−0
- gen/Network/AWS/DirectoryService/CreateSnapshot.hs +142/−0
- gen/Network/AWS/DirectoryService/DeleteDirectory.hs +130/−0
- gen/Network/AWS/DirectoryService/DeleteSnapshot.hs +130/−0
- gen/Network/AWS/DirectoryService/DescribeDirectories.hs +189/−0
- gen/Network/AWS/DirectoryService/DescribeSnapshots.hs +188/−0
- gen/Network/AWS/DirectoryService/DisableRadius.hs +121/−0
- gen/Network/AWS/DirectoryService/DisableSSO.hs +151/−0
- gen/Network/AWS/DirectoryService/EnableRadius.hs +134/−0
- gen/Network/AWS/DirectoryService/EnableSSO.hs +151/−0
- gen/Network/AWS/DirectoryService/GetDirectoryLimits.hs +118/−0
- gen/Network/AWS/DirectoryService/GetSnapshotLimits.hs +131/−0
- gen/Network/AWS/DirectoryService/RestoreFromSnapshot.hs +130/−0
- gen/Network/AWS/DirectoryService/Types.hs +261/−0
- gen/Network/AWS/DirectoryService/Types/Product.hs +853/−0
- gen/Network/AWS/DirectoryService/Types/Sum.hs +240/−0
- gen/Network/AWS/DirectoryService/UpdateRadius.hs +135/−0
- gen/Network/AWS/DirectoryService/Waiters.hs +20/−0
- test/Main.hs +21/−0
- test/Test/AWS/DirectoryService.hs +26/−0
- test/Test/AWS/DirectoryService/Internal.hs +16/−0
- test/Test/AWS/Gen/DirectoryService.hs +328/−0
+ LICENSE view
@@ -0,0 +1,373 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.++Exhibit B - "Incompatible With Secondary Licenses" Notice+---------------------------------------------------------++ This Source Code Form is "Incompatible With Secondary Licenses", as+ defined by the Mozilla Public License, v. 2.0.
+ README.md view
@@ -0,0 +1,46 @@+# Amazon Directory Service SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version++`1.0.0`+++## Description++AWS Directory Service++This is the /AWS Directory Service API Reference/. This guide provides+detailed information about AWS Directory Service operations, data types,+parameters, and errors.++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-ds)+and the [AWS API Reference](http://docs.aws.amazon.com/directoryservice/latest/devguide/welcome.html).++The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+which provides mechanisms for specifying AuthN/AuthZ information and sending requests.++Use of lenses is required for constructing and manipulating types.+This is due to the amount of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-ds` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).++Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.+Source files subject to this contain an additional licensing clause in their header.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ amazonka-ds.cabal view
@@ -0,0 +1,102 @@+name: amazonka-ds+version: 1.0.0+synopsis: Amazon Directory Service SDK.+homepage: https://github.com/brendanhay/amazonka+license: OtherLicense+license-file: LICENSE+author: Brendan Hay+maintainer: Brendan Hay <brendan.g.hay@gmail.com>+copyright: Copyright (c) 2013-2015 Brendan Hay+category: Network, AWS, Cloud, Distributed Computing+build-type: Simple+extra-source-files: README.md+cabal-version: >= 1.10++description:+ AWS Directory Service++ This is the /AWS Directory Service API Reference/. This guide provides+ detailed information about AWS Directory Service operations, data types,+ parameters, and errors.+ .+ The types from this library are intended to be used with+ <http://hackage.haskell.org/package/amazonka amazonka>, which provides+ mechanisms for specifying AuthN/AuthZ information and sending requests.+ .+ Use of lenses is required for constructing and manipulating types.+ This is due to the amount of nesting of AWS types and transparency regarding+ de/serialisation into more palatable Haskell values.+ The provided lenses should be compatible with any of the major lens libraries+ such as <http://hackage.haskell.org/package/lens lens> or+ <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Network.AWS.DirectoryService" and the <http://docs.aws.amazon.com/directoryservice/latest/devguide/welcome.html AWS API Reference>+ to get started.++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git++library+ default-language: Haskell2010+ hs-source-dirs: src gen++ ghc-options: -Wall++ exposed-modules:+ Network.AWS.DirectoryService+ , Network.AWS.DirectoryService.ConnectDirectory+ , Network.AWS.DirectoryService.CreateAlias+ , Network.AWS.DirectoryService.CreateComputer+ , Network.AWS.DirectoryService.CreateDirectory+ , Network.AWS.DirectoryService.CreateSnapshot+ , Network.AWS.DirectoryService.DeleteDirectory+ , Network.AWS.DirectoryService.DeleteSnapshot+ , Network.AWS.DirectoryService.DescribeDirectories+ , Network.AWS.DirectoryService.DescribeSnapshots+ , Network.AWS.DirectoryService.DisableRadius+ , Network.AWS.DirectoryService.DisableSSO+ , Network.AWS.DirectoryService.EnableRadius+ , Network.AWS.DirectoryService.EnableSSO+ , Network.AWS.DirectoryService.GetDirectoryLimits+ , Network.AWS.DirectoryService.GetSnapshotLimits+ , Network.AWS.DirectoryService.RestoreFromSnapshot+ , Network.AWS.DirectoryService.Types+ , Network.AWS.DirectoryService.UpdateRadius+ , Network.AWS.DirectoryService.Waiters++ other-modules:+ Network.AWS.DirectoryService.Types.Product+ , Network.AWS.DirectoryService.Types.Sum++ build-depends:+ amazonka-core == 1.0.0.*+ , base >= 4.7 && < 5++test-suite amazonka-ds-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs++ ghc-options: -Wall -threaded++ -- This is not comprehensive if modules have manually been added.+ -- It exists to ensure cabal 'somewhat' detects test module changes.+ other-modules:+ Test.AWS.DirectoryService+ , Test.AWS.Gen.DirectoryService+ , Test.AWS.DirectoryService.Internal++ build-depends:+ amazonka-core == 1.0.0+ , amazonka-test == 1.0.0+ , amazonka-ds == 1.0.0+ , base+ , bytestring+ , lens+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ gen/Network/AWS/DirectoryService.hs view
@@ -0,0 +1,300 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.DirectoryService+-- Copyright : (c) 2013-2015 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)+--+-- AWS Directory Service+--+-- This is the /AWS Directory Service API Reference/. This guide provides+-- detailed information about AWS Directory Service operations, data types,+-- parameters, and errors.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/welcome.html AWS API Reference>+module Network.AWS.DirectoryService+ (+ -- * Service+ DirectoryService++ -- * Errors+ -- $errors++ -- ** AuthenticationFailedException+ , _AuthenticationFailedException++ -- ** DirectoryUnavailableException+ , _DirectoryUnavailableException++ -- ** InvalidParameterException+ , _InvalidParameterException++ -- ** UnsupportedOperationException+ , _UnsupportedOperationException++ -- ** EntityAlreadyExistsException+ , _EntityAlreadyExistsException++ -- ** DirectoryLimitExceededException+ , _DirectoryLimitExceededException++ -- ** EntityDoesNotExistException+ , _EntityDoesNotExistException++ -- ** InsufficientPermissionsException+ , _InsufficientPermissionsException++ -- ** InvalidNextTokenException+ , _InvalidNextTokenException++ -- ** ServiceException+ , _ServiceException++ -- ** SnapshotLimitExceededException+ , _SnapshotLimitExceededException++ -- ** ClientException+ , _ClientException++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** GetSnapshotLimits+ , module Network.AWS.DirectoryService.GetSnapshotLimits++ -- ** ConnectDirectory+ , module Network.AWS.DirectoryService.ConnectDirectory++ -- ** DescribeDirectories+ , module Network.AWS.DirectoryService.DescribeDirectories++ -- ** CreateAlias+ , module Network.AWS.DirectoryService.CreateAlias++ -- ** CreateDirectory+ , module Network.AWS.DirectoryService.CreateDirectory++ -- ** EnableSSO+ , module Network.AWS.DirectoryService.EnableSSO++ -- ** EnableRadius+ , module Network.AWS.DirectoryService.EnableRadius++ -- ** DisableRadius+ , module Network.AWS.DirectoryService.DisableRadius++ -- ** DescribeSnapshots+ , module Network.AWS.DirectoryService.DescribeSnapshots++ -- ** RestoreFromSnapshot+ , module Network.AWS.DirectoryService.RestoreFromSnapshot++ -- ** DeleteSnapshot+ , module Network.AWS.DirectoryService.DeleteSnapshot++ -- ** CreateSnapshot+ , module Network.AWS.DirectoryService.CreateSnapshot++ -- ** DeleteDirectory+ , module Network.AWS.DirectoryService.DeleteDirectory++ -- ** DisableSSO+ , module Network.AWS.DirectoryService.DisableSSO++ -- ** CreateComputer+ , module Network.AWS.DirectoryService.CreateComputer++ -- ** GetDirectoryLimits+ , module Network.AWS.DirectoryService.GetDirectoryLimits++ -- ** UpdateRadius+ , module Network.AWS.DirectoryService.UpdateRadius++ -- * Types++ -- ** DirectorySize+ , DirectorySize (..)++ -- ** DirectoryStage+ , DirectoryStage (..)++ -- ** DirectoryType+ , DirectoryType (..)++ -- ** RadiusAuthenticationProtocol+ , RadiusAuthenticationProtocol (..)++ -- ** RadiusStatus+ , RadiusStatus (..)++ -- ** SnapshotStatus+ , SnapshotStatus (..)++ -- ** SnapshotType+ , SnapshotType (..)++ -- ** Attribute+ , Attribute+ , attribute+ , aValue+ , aName++ -- ** Computer+ , Computer+ , computer+ , cComputerId+ , cComputerAttributes+ , cComputerName++ -- ** DirectoryConnectSettings+ , DirectoryConnectSettings+ , directoryConnectSettings+ , dcsVPCId+ , dcsSubnetIds+ , dcsCustomerDNSIPs+ , dcsCustomerUserName++ -- ** DirectoryConnectSettingsDescription+ , DirectoryConnectSettingsDescription+ , directoryConnectSettingsDescription+ , dcsdCustomerUserName+ , dcsdSubnetIds+ , dcsdVPCId+ , dcsdConnectIPs+ , dcsdSecurityGroupId+ , dcsdAvailabilityZones++ -- ** DirectoryDescription+ , DirectoryDescription+ , directoryDescription+ , ddRadiusStatus+ , ddDirectoryId+ , ddStage+ , ddAccessURL+ , ddShortName+ , ddSize+ , ddRadiusSettings+ , ddLaunchTime+ , ddAlias+ , ddName+ , ddSSOEnabled+ , ddStageLastUpdatedDateTime+ , ddStageReason+ , ddDNSIPAddrs+ , ddVPCSettings+ , ddType+ , ddConnectSettings+ , ddDescription++ -- ** DirectoryLimits+ , DirectoryLimits+ , directoryLimits+ , dlConnectedDirectoriesCurrentCount+ , dlConnectedDirectoriesLimit+ , dlConnectedDirectoriesLimitReached+ , dlCloudOnlyDirectoriesLimit+ , dlCloudOnlyDirectoriesCurrentCount+ , dlCloudOnlyDirectoriesLimitReached++ -- ** DirectoryVPCSettings+ , DirectoryVPCSettings+ , directoryVPCSettings+ , dvsVPCId+ , dvsSubnetIds++ -- ** DirectoryVPCSettingsDescription+ , DirectoryVPCSettingsDescription+ , directoryVPCSettingsDescription+ , dvsdSubnetIds+ , dvsdVPCId+ , dvsdSecurityGroupId+ , dvsdAvailabilityZones++ -- ** RadiusSettings+ , RadiusSettings+ , radiusSettings+ , rsDisplayLabel+ , rsRadiusServers+ , rsRadiusRetries+ , rsAuthenticationProtocol+ , rsUseSameUsername+ , rsSharedSecret+ , rsRadiusTimeout+ , rsRadiusPort++ -- ** Snapshot+ , Snapshot+ , snapshot+ , sDirectoryId+ , sStatus+ , sStartTime+ , sName+ , sType+ , sSnapshotId++ -- ** SnapshotLimits+ , SnapshotLimits+ , snapshotLimits+ , slManualSnapshotsLimitReached+ , slManualSnapshotsCurrentCount+ , slManualSnapshotsLimit+ ) where++import Network.AWS.DirectoryService.ConnectDirectory+import Network.AWS.DirectoryService.CreateAlias+import Network.AWS.DirectoryService.CreateComputer+import Network.AWS.DirectoryService.CreateDirectory+import Network.AWS.DirectoryService.CreateSnapshot+import Network.AWS.DirectoryService.DeleteDirectory+import Network.AWS.DirectoryService.DeleteSnapshot+import Network.AWS.DirectoryService.DescribeDirectories+import Network.AWS.DirectoryService.DescribeSnapshots+import Network.AWS.DirectoryService.DisableRadius+import Network.AWS.DirectoryService.DisableSSO+import Network.AWS.DirectoryService.EnableRadius+import Network.AWS.DirectoryService.EnableSSO+import Network.AWS.DirectoryService.GetDirectoryLimits+import Network.AWS.DirectoryService.GetSnapshotLimits+import Network.AWS.DirectoryService.RestoreFromSnapshot+import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.UpdateRadius+import Network.AWS.DirectoryService.Waiters++{- $errors+Error matchers are designed for use with the functions provided by+<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+This allows catching (and rethrowing) service specific errors returned+by 'DirectoryService'.+-}++{- $operations+Some AWS operations return results that are incomplete and require subsequent+requests in order to obtain the entire result set. The process of sending+subsequent requests to continue where a previous request left off is called+pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+1000 objects at a time, and you must send subsequent requests with the+appropriate Marker in order to retrieve the next page of results.++Operations that have an 'AWSPager' instance can transparently perform subsequent+requests, correctly setting Markers and other request facets to iterate through+the entire result set of a truncated API operation. Operations which support+this have an additional note in the documentation.++Many operations have the ability to filter results on the server side. See the+individual operation parameters for details.+-}++{- $waiters+Waiters poll by repeatedly sending a request until some remote success condition+configured by the 'Wait' specification is fulfilled. The 'Wait' specification+determines how many attempts should be made, in addition to delay and retry strategies.+-}
+ gen/Network/AWS/DirectoryService/ConnectDirectory.hs view
@@ -0,0 +1,184 @@+{-# 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.DirectoryService.ConnectDirectory+-- Copyright : (c) 2013-2015 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)+--+-- Creates an AD Connector to connect an on-premises directory.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_ConnectDirectory.html AWS API Reference> for ConnectDirectory.+module Network.AWS.DirectoryService.ConnectDirectory+ (+ -- * Creating a Request+ connectDirectory+ , ConnectDirectory+ -- * Request Lenses+ , cdShortName+ , cdDescription+ , cdName+ , cdPassword+ , cdSize+ , cdConnectSettings++ -- * Destructuring the Response+ , connectDirectoryResponse+ , ConnectDirectoryResponse+ -- * Response Lenses+ , cdrsDirectoryId+ , cdrsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the ConnectDirectory operation.+--+-- /See:/ 'connectDirectory' smart constructor.+data ConnectDirectory = ConnectDirectory'+ { _cdShortName :: !(Maybe Text)+ , _cdDescription :: !(Maybe Text)+ , _cdName :: !Text+ , _cdPassword :: !(Sensitive Text)+ , _cdSize :: !DirectorySize+ , _cdConnectSettings :: !DirectoryConnectSettings+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConnectDirectory' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdShortName'+--+-- * 'cdDescription'+--+-- * 'cdName'+--+-- * 'cdPassword'+--+-- * 'cdSize'+--+-- * 'cdConnectSettings'+connectDirectory+ :: Text -- ^ 'cdName'+ -> Text -- ^ 'cdPassword'+ -> DirectorySize -- ^ 'cdSize'+ -> DirectoryConnectSettings -- ^ 'cdConnectSettings'+ -> ConnectDirectory+connectDirectory pName_ pPassword_ pSize_ pConnectSettings_ =+ ConnectDirectory'+ { _cdShortName = Nothing+ , _cdDescription = Nothing+ , _cdName = pName_+ , _cdPassword = _Sensitive # pPassword_+ , _cdSize = pSize_+ , _cdConnectSettings = pConnectSettings_+ }++-- | The NetBIOS name of the on-premises directory, such as 'CORP'.+cdShortName :: Lens' ConnectDirectory (Maybe Text)+cdShortName = lens _cdShortName (\ s a -> s{_cdShortName = a});++-- | A textual description for the directory.+cdDescription :: Lens' ConnectDirectory (Maybe Text)+cdDescription = lens _cdDescription (\ s a -> s{_cdDescription = a});++-- | The fully-qualified name of the on-premises directory, such as+-- 'corp.example.com'.+cdName :: Lens' ConnectDirectory Text+cdName = lens _cdName (\ s a -> s{_cdName = a});++-- | The password for the on-premises user account.+cdPassword :: Lens' ConnectDirectory Text+cdPassword = lens _cdPassword (\ s a -> s{_cdPassword = a}) . _Sensitive;++-- | The size of the directory.+cdSize :: Lens' ConnectDirectory DirectorySize+cdSize = lens _cdSize (\ s a -> s{_cdSize = a});++-- | A DirectoryConnectSettings object that contains additional information+-- for the operation.+cdConnectSettings :: Lens' ConnectDirectory DirectoryConnectSettings+cdConnectSettings = lens _cdConnectSettings (\ s a -> s{_cdConnectSettings = a});++instance AWSRequest ConnectDirectory where+ type Sv ConnectDirectory = DirectoryService+ type Rs ConnectDirectory = ConnectDirectoryResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ ConnectDirectoryResponse' <$>+ (x .?> "DirectoryId") <*> (pure (fromEnum s)))++instance ToHeaders ConnectDirectory where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.ConnectDirectory" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON ConnectDirectory where+ toJSON ConnectDirectory'{..}+ = object+ ["ShortName" .= _cdShortName,+ "Description" .= _cdDescription, "Name" .= _cdName,+ "Password" .= _cdPassword, "Size" .= _cdSize,+ "ConnectSettings" .= _cdConnectSettings]++instance ToPath ConnectDirectory where+ toPath = const "/"++instance ToQuery ConnectDirectory where+ toQuery = const mempty++-- | Contains the results of the ConnectDirectory operation.+--+-- /See:/ 'connectDirectoryResponse' smart constructor.+data ConnectDirectoryResponse = ConnectDirectoryResponse'+ { _cdrsDirectoryId :: !(Maybe Text)+ , _cdrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'ConnectDirectoryResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cdrsDirectoryId'+--+-- * 'cdrsStatus'+connectDirectoryResponse+ :: Int -- ^ 'cdrsStatus'+ -> ConnectDirectoryResponse+connectDirectoryResponse pStatus_ =+ ConnectDirectoryResponse'+ { _cdrsDirectoryId = Nothing+ , _cdrsStatus = pStatus_+ }++-- | The identifier of the new directory.+cdrsDirectoryId :: Lens' ConnectDirectoryResponse (Maybe Text)+cdrsDirectoryId = lens _cdrsDirectoryId (\ s a -> s{_cdrsDirectoryId = a});++-- | The response status code.+cdrsStatus :: Lens' ConnectDirectoryResponse Int+cdrsStatus = lens _cdrsStatus (\ s a -> s{_cdrsStatus = a});
+ gen/Network/AWS/DirectoryService/CreateAlias.hs view
@@ -0,0 +1,160 @@+{-# 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.DirectoryService.CreateAlias+-- Copyright : (c) 2013-2015 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)+--+-- Creates an alias for a directory and assigns the alias to the directory.+-- The alias is used to construct the access URL for the directory, such as+-- 'http:\/\/\<alias>.awsapps.com'.+--+-- After an alias has been created, it cannot be deleted or reused, so this+-- operation should only be used when absolutely necessary.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_CreateAlias.html AWS API Reference> for CreateAlias.+module Network.AWS.DirectoryService.CreateAlias+ (+ -- * Creating a Request+ createAlias+ , CreateAlias+ -- * Request Lenses+ , caDirectoryId+ , caAlias++ -- * Destructuring the Response+ , createAliasResponse+ , CreateAliasResponse+ -- * Response Lenses+ , carsDirectoryId+ , carsAlias+ , carsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the CreateAlias operation.+--+-- /See:/ 'createAlias' smart constructor.+data CreateAlias = CreateAlias'+ { _caDirectoryId :: !Text+ , _caAlias :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateAlias' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'caDirectoryId'+--+-- * 'caAlias'+createAlias+ :: Text -- ^ 'caDirectoryId'+ -> Text -- ^ 'caAlias'+ -> CreateAlias+createAlias pDirectoryId_ pAlias_ =+ CreateAlias'+ { _caDirectoryId = pDirectoryId_+ , _caAlias = pAlias_+ }++-- | The identifier of the directory to create the alias for.+caDirectoryId :: Lens' CreateAlias Text+caDirectoryId = lens _caDirectoryId (\ s a -> s{_caDirectoryId = a});++-- | The requested alias.+--+-- The alias must be unique amongst all aliases in AWS. This operation will+-- throw an 'EntityAlreadyExistsException' if this alias already exists.+caAlias :: Lens' CreateAlias Text+caAlias = lens _caAlias (\ s a -> s{_caAlias = a});++instance AWSRequest CreateAlias where+ type Sv CreateAlias = DirectoryService+ type Rs CreateAlias = CreateAliasResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ CreateAliasResponse' <$>+ (x .?> "DirectoryId") <*> (x .?> "Alias") <*>+ (pure (fromEnum s)))++instance ToHeaders CreateAlias where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.CreateAlias" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateAlias where+ toJSON CreateAlias'{..}+ = object+ ["DirectoryId" .= _caDirectoryId,+ "Alias" .= _caAlias]++instance ToPath CreateAlias where+ toPath = const "/"++instance ToQuery CreateAlias where+ toQuery = const mempty++-- | Contains the results of the CreateAlias operation.+--+-- /See:/ 'createAliasResponse' smart constructor.+data CreateAliasResponse = CreateAliasResponse'+ { _carsDirectoryId :: !(Maybe Text)+ , _carsAlias :: !(Maybe Text)+ , _carsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateAliasResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'carsDirectoryId'+--+-- * 'carsAlias'+--+-- * 'carsStatus'+createAliasResponse+ :: Int -- ^ 'carsStatus'+ -> CreateAliasResponse+createAliasResponse pStatus_ =+ CreateAliasResponse'+ { _carsDirectoryId = Nothing+ , _carsAlias = Nothing+ , _carsStatus = pStatus_+ }++-- | The identifier of the directory.+carsDirectoryId :: Lens' CreateAliasResponse (Maybe Text)+carsDirectoryId = lens _carsDirectoryId (\ s a -> s{_carsDirectoryId = a});++-- | The alias for the directory.+carsAlias :: Lens' CreateAliasResponse (Maybe Text)+carsAlias = lens _carsAlias (\ s a -> s{_carsAlias = a});++-- | The response status code.+carsStatus :: Lens' CreateAliasResponse Int+carsStatus = lens _carsStatus (\ s a -> s{_carsStatus = a});
+ gen/Network/AWS/DirectoryService/CreateComputer.hs view
@@ -0,0 +1,178 @@+{-# 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.DirectoryService.CreateComputer+-- Copyright : (c) 2013-2015 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)+--+-- Creates a computer account in the specified directory, and joins the+-- computer to the directory.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_CreateComputer.html AWS API Reference> for CreateComputer.+module Network.AWS.DirectoryService.CreateComputer+ (+ -- * Creating a Request+ createComputer+ , CreateComputer+ -- * Request Lenses+ , ccComputerAttributes+ , ccOrganizationalUnitDistinguishedName+ , ccDirectoryId+ , ccComputerName+ , ccPassword++ -- * Destructuring the Response+ , createComputerResponse+ , CreateComputerResponse+ -- * Response Lenses+ , ccrsComputer+ , ccrsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the CreateComputer operation.+--+-- /See:/ 'createComputer' smart constructor.+data CreateComputer = CreateComputer'+ { _ccComputerAttributes :: !(Maybe [Attribute])+ , _ccOrganizationalUnitDistinguishedName :: !(Maybe Text)+ , _ccDirectoryId :: !Text+ , _ccComputerName :: !Text+ , _ccPassword :: !(Sensitive Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateComputer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccComputerAttributes'+--+-- * 'ccOrganizationalUnitDistinguishedName'+--+-- * 'ccDirectoryId'+--+-- * 'ccComputerName'+--+-- * 'ccPassword'+createComputer+ :: Text -- ^ 'ccDirectoryId'+ -> Text -- ^ 'ccComputerName'+ -> Text -- ^ 'ccPassword'+ -> CreateComputer+createComputer pDirectoryId_ pComputerName_ pPassword_ =+ CreateComputer'+ { _ccComputerAttributes = Nothing+ , _ccOrganizationalUnitDistinguishedName = Nothing+ , _ccDirectoryId = pDirectoryId_+ , _ccComputerName = pComputerName_+ , _ccPassword = _Sensitive # pPassword_+ }++-- | An array of Attribute objects that contain any LDAP attributes to apply+-- to the computer account.+ccComputerAttributes :: Lens' CreateComputer [Attribute]+ccComputerAttributes = lens _ccComputerAttributes (\ s a -> s{_ccComputerAttributes = a}) . _Default . _Coerce;++-- | The fully-qualified distinguished name of the organizational unit to+-- place the computer account in.+ccOrganizationalUnitDistinguishedName :: Lens' CreateComputer (Maybe Text)+ccOrganizationalUnitDistinguishedName = lens _ccOrganizationalUnitDistinguishedName (\ s a -> s{_ccOrganizationalUnitDistinguishedName = a});++-- | The identifier of the directory to create the computer account in.+ccDirectoryId :: Lens' CreateComputer Text+ccDirectoryId = lens _ccDirectoryId (\ s a -> s{_ccDirectoryId = a});++-- | The name of the computer account.+ccComputerName :: Lens' CreateComputer Text+ccComputerName = lens _ccComputerName (\ s a -> s{_ccComputerName = a});++-- | A one-time password that is used to join the computer to the directory.+-- You should generate a random, strong password to use for this parameter.+ccPassword :: Lens' CreateComputer Text+ccPassword = lens _ccPassword (\ s a -> s{_ccPassword = a}) . _Sensitive;++instance AWSRequest CreateComputer where+ type Sv CreateComputer = DirectoryService+ type Rs CreateComputer = CreateComputerResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ CreateComputerResponse' <$>+ (x .?> "Computer") <*> (pure (fromEnum s)))++instance ToHeaders CreateComputer where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.CreateComputer" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateComputer where+ toJSON CreateComputer'{..}+ = object+ ["ComputerAttributes" .= _ccComputerAttributes,+ "OrganizationalUnitDistinguishedName" .=+ _ccOrganizationalUnitDistinguishedName,+ "DirectoryId" .= _ccDirectoryId,+ "ComputerName" .= _ccComputerName,+ "Password" .= _ccPassword]++instance ToPath CreateComputer where+ toPath = const "/"++instance ToQuery CreateComputer where+ toQuery = const mempty++-- | Contains the results for the CreateComputer operation.+--+-- /See:/ 'createComputerResponse' smart constructor.+data CreateComputerResponse = CreateComputerResponse'+ { _ccrsComputer :: !(Maybe Computer)+ , _ccrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateComputerResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ccrsComputer'+--+-- * 'ccrsStatus'+createComputerResponse+ :: Int -- ^ 'ccrsStatus'+ -> CreateComputerResponse+createComputerResponse pStatus_ =+ CreateComputerResponse'+ { _ccrsComputer = Nothing+ , _ccrsStatus = pStatus_+ }++-- | A Computer object the represents the computer account.+ccrsComputer :: Lens' CreateComputerResponse (Maybe Computer)+ccrsComputer = lens _ccrsComputer (\ s a -> s{_ccrsComputer = a});++-- | The response status code.+ccrsStatus :: Lens' CreateComputerResponse Int+ccrsStatus = lens _ccrsStatus (\ s a -> s{_ccrsStatus = a});
+ gen/Network/AWS/DirectoryService/CreateDirectory.hs view
@@ -0,0 +1,184 @@+{-# 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.DirectoryService.CreateDirectory+-- Copyright : (c) 2013-2015 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)+--+-- Creates a Simple AD directory.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_CreateDirectory.html AWS API Reference> for CreateDirectory.+module Network.AWS.DirectoryService.CreateDirectory+ (+ -- * Creating a Request+ createDirectory+ , CreateDirectory+ -- * Request Lenses+ , cShortName+ , cVPCSettings+ , cDescription+ , cName+ , cPassword+ , cSize++ -- * Destructuring the Response+ , createDirectoryResponse+ , CreateDirectoryResponse+ -- * Response Lenses+ , crsDirectoryId+ , crsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the CreateDirectory operation.+--+-- /See:/ 'createDirectory' smart constructor.+data CreateDirectory = CreateDirectory'+ { _cShortName :: !(Maybe Text)+ , _cVPCSettings :: !(Maybe DirectoryVPCSettings)+ , _cDescription :: !(Maybe Text)+ , _cName :: !Text+ , _cPassword :: !(Sensitive Text)+ , _cSize :: !DirectorySize+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateDirectory' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cShortName'+--+-- * 'cVPCSettings'+--+-- * 'cDescription'+--+-- * 'cName'+--+-- * 'cPassword'+--+-- * 'cSize'+createDirectory+ :: Text -- ^ 'cName'+ -> Text -- ^ 'cPassword'+ -> DirectorySize -- ^ 'cSize'+ -> CreateDirectory+createDirectory pName_ pPassword_ pSize_ =+ CreateDirectory'+ { _cShortName = Nothing+ , _cVPCSettings = Nothing+ , _cDescription = Nothing+ , _cName = pName_+ , _cPassword = _Sensitive # pPassword_+ , _cSize = pSize_+ }++-- | The short name of the directory, such as 'CORP'.+cShortName :: Lens' CreateDirectory (Maybe Text)+cShortName = lens _cShortName (\ s a -> s{_cShortName = a});++-- | A DirectoryVpcSettings object that contains additional information for+-- the operation.+cVPCSettings :: Lens' CreateDirectory (Maybe DirectoryVPCSettings)+cVPCSettings = lens _cVPCSettings (\ s a -> s{_cVPCSettings = a});++-- | A textual description for the directory.+cDescription :: Lens' CreateDirectory (Maybe Text)+cDescription = lens _cDescription (\ s a -> s{_cDescription = a});++-- | The fully qualified name for the directory, such as 'corp.example.com'.+cName :: Lens' CreateDirectory Text+cName = lens _cName (\ s a -> s{_cName = a});++-- | The password for the directory administrator. The directory creation+-- process creates a directory administrator account with the username+-- 'Administrator' and this password.+cPassword :: Lens' CreateDirectory Text+cPassword = lens _cPassword (\ s a -> s{_cPassword = a}) . _Sensitive;++-- | The size of the directory.+cSize :: Lens' CreateDirectory DirectorySize+cSize = lens _cSize (\ s a -> s{_cSize = a});++instance AWSRequest CreateDirectory where+ type Sv CreateDirectory = DirectoryService+ type Rs CreateDirectory = CreateDirectoryResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ CreateDirectoryResponse' <$>+ (x .?> "DirectoryId") <*> (pure (fromEnum s)))++instance ToHeaders CreateDirectory where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.CreateDirectory" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateDirectory where+ toJSON CreateDirectory'{..}+ = object+ ["ShortName" .= _cShortName,+ "VpcSettings" .= _cVPCSettings,+ "Description" .= _cDescription, "Name" .= _cName,+ "Password" .= _cPassword, "Size" .= _cSize]++instance ToPath CreateDirectory where+ toPath = const "/"++instance ToQuery CreateDirectory where+ toQuery = const mempty++-- | Contains the results of the CreateDirectory operation.+--+-- /See:/ 'createDirectoryResponse' smart constructor.+data CreateDirectoryResponse = CreateDirectoryResponse'+ { _crsDirectoryId :: !(Maybe Text)+ , _crsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateDirectoryResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'crsDirectoryId'+--+-- * 'crsStatus'+createDirectoryResponse+ :: Int -- ^ 'crsStatus'+ -> CreateDirectoryResponse+createDirectoryResponse pStatus_ =+ CreateDirectoryResponse'+ { _crsDirectoryId = Nothing+ , _crsStatus = pStatus_+ }++-- | The identifier of the directory that was created.+crsDirectoryId :: Lens' CreateDirectoryResponse (Maybe Text)+crsDirectoryId = lens _crsDirectoryId (\ s a -> s{_crsDirectoryId = a});++-- | The response status code.+crsStatus :: Lens' CreateDirectoryResponse Int+crsStatus = lens _crsStatus (\ s a -> s{_crsStatus = a});
+ gen/Network/AWS/DirectoryService/CreateSnapshot.hs view
@@ -0,0 +1,142 @@+{-# 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.DirectoryService.CreateSnapshot+-- Copyright : (c) 2013-2015 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)+--+-- Creates a snapshot of an existing directory.+--+-- You cannot take snapshots of extended or connected directories.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_CreateSnapshot.html AWS API Reference> for CreateSnapshot.+module Network.AWS.DirectoryService.CreateSnapshot+ (+ -- * Creating a Request+ createSnapshot+ , CreateSnapshot+ -- * Request Lenses+ , csName+ , csDirectoryId++ -- * Destructuring the Response+ , createSnapshotResponse+ , CreateSnapshotResponse+ -- * Response Lenses+ , csrsSnapshotId+ , csrsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the CreateSnapshot operation.+--+-- /See:/ 'createSnapshot' smart constructor.+data CreateSnapshot = CreateSnapshot'+ { _csName :: !(Maybe Text)+ , _csDirectoryId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csName'+--+-- * 'csDirectoryId'+createSnapshot+ :: Text -- ^ 'csDirectoryId'+ -> CreateSnapshot+createSnapshot pDirectoryId_ =+ CreateSnapshot'+ { _csName = Nothing+ , _csDirectoryId = pDirectoryId_+ }++-- | The descriptive name to apply to the snapshot.+csName :: Lens' CreateSnapshot (Maybe Text)+csName = lens _csName (\ s a -> s{_csName = a});++-- | The identifier of the directory to take a snapshot of.+csDirectoryId :: Lens' CreateSnapshot Text+csDirectoryId = lens _csDirectoryId (\ s a -> s{_csDirectoryId = a});++instance AWSRequest CreateSnapshot where+ type Sv CreateSnapshot = DirectoryService+ type Rs CreateSnapshot = CreateSnapshotResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ CreateSnapshotResponse' <$>+ (x .?> "SnapshotId") <*> (pure (fromEnum s)))++instance ToHeaders CreateSnapshot where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.CreateSnapshot" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON CreateSnapshot where+ toJSON CreateSnapshot'{..}+ = object+ ["Name" .= _csName, "DirectoryId" .= _csDirectoryId]++instance ToPath CreateSnapshot where+ toPath = const "/"++instance ToQuery CreateSnapshot where+ toQuery = const mempty++-- | Contains the results of the CreateSnapshot operation.+--+-- /See:/ 'createSnapshotResponse' smart constructor.+data CreateSnapshotResponse = CreateSnapshotResponse'+ { _csrsSnapshotId :: !(Maybe Text)+ , _csrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'CreateSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'csrsSnapshotId'+--+-- * 'csrsStatus'+createSnapshotResponse+ :: Int -- ^ 'csrsStatus'+ -> CreateSnapshotResponse+createSnapshotResponse pStatus_ =+ CreateSnapshotResponse'+ { _csrsSnapshotId = Nothing+ , _csrsStatus = pStatus_+ }++-- | The identifier of the snapshot that was created.+csrsSnapshotId :: Lens' CreateSnapshotResponse (Maybe Text)+csrsSnapshotId = lens _csrsSnapshotId (\ s a -> s{_csrsSnapshotId = a});++-- | The response status code.+csrsStatus :: Lens' CreateSnapshotResponse Int+csrsStatus = lens _csrsStatus (\ s a -> s{_csrsStatus = a});
+ gen/Network/AWS/DirectoryService/DeleteDirectory.hs view
@@ -0,0 +1,130 @@+{-# 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.DirectoryService.DeleteDirectory+-- Copyright : (c) 2013-2015 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)+--+-- Deletes an AWS Directory Service directory.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_DeleteDirectory.html AWS API Reference> for DeleteDirectory.+module Network.AWS.DirectoryService.DeleteDirectory+ (+ -- * Creating a Request+ deleteDirectory+ , DeleteDirectory+ -- * Request Lenses+ , dDirectoryId++ -- * Destructuring the Response+ , deleteDirectoryResponse+ , DeleteDirectoryResponse+ -- * Response Lenses+ , drsDirectoryId+ , drsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the DeleteDirectory operation.+--+-- /See:/ 'deleteDirectory' smart constructor.+newtype DeleteDirectory = DeleteDirectory'+ { _dDirectoryId :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDirectory' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dDirectoryId'+deleteDirectory+ :: Text -- ^ 'dDirectoryId'+ -> DeleteDirectory+deleteDirectory pDirectoryId_ =+ DeleteDirectory'+ { _dDirectoryId = pDirectoryId_+ }++-- | The identifier of the directory to delete.+dDirectoryId :: Lens' DeleteDirectory Text+dDirectoryId = lens _dDirectoryId (\ s a -> s{_dDirectoryId = a});++instance AWSRequest DeleteDirectory where+ type Sv DeleteDirectory = DirectoryService+ type Rs DeleteDirectory = DeleteDirectoryResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ DeleteDirectoryResponse' <$>+ (x .?> "DirectoryId") <*> (pure (fromEnum s)))++instance ToHeaders DeleteDirectory where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.DeleteDirectory" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteDirectory where+ toJSON DeleteDirectory'{..}+ = object ["DirectoryId" .= _dDirectoryId]++instance ToPath DeleteDirectory where+ toPath = const "/"++instance ToQuery DeleteDirectory where+ toQuery = const mempty++-- | Contains the results of the DeleteDirectory operation.+--+-- /See:/ 'deleteDirectoryResponse' smart constructor.+data DeleteDirectoryResponse = DeleteDirectoryResponse'+ { _drsDirectoryId :: !(Maybe Text)+ , _drsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteDirectoryResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drsDirectoryId'+--+-- * 'drsStatus'+deleteDirectoryResponse+ :: Int -- ^ 'drsStatus'+ -> DeleteDirectoryResponse+deleteDirectoryResponse pStatus_ =+ DeleteDirectoryResponse'+ { _drsDirectoryId = Nothing+ , _drsStatus = pStatus_+ }++-- | The directory identifier.+drsDirectoryId :: Lens' DeleteDirectoryResponse (Maybe Text)+drsDirectoryId = lens _drsDirectoryId (\ s a -> s{_drsDirectoryId = a});++-- | The response status code.+drsStatus :: Lens' DeleteDirectoryResponse Int+drsStatus = lens _drsStatus (\ s a -> s{_drsStatus = a});
+ gen/Network/AWS/DirectoryService/DeleteSnapshot.hs view
@@ -0,0 +1,130 @@+{-# 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.DirectoryService.DeleteSnapshot+-- Copyright : (c) 2013-2015 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)+--+-- Deletes a directory snapshot.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_DeleteSnapshot.html AWS API Reference> for DeleteSnapshot.+module Network.AWS.DirectoryService.DeleteSnapshot+ (+ -- * Creating a Request+ deleteSnapshot+ , DeleteSnapshot+ -- * Request Lenses+ , dsSnapshotId++ -- * Destructuring the Response+ , deleteSnapshotResponse+ , DeleteSnapshotResponse+ -- * Response Lenses+ , dsrsSnapshotId+ , dsrsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the DeleteSnapshot operation.+--+-- /See:/ 'deleteSnapshot' smart constructor.+newtype DeleteSnapshot = DeleteSnapshot'+ { _dsSnapshotId :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsSnapshotId'+deleteSnapshot+ :: Text -- ^ 'dsSnapshotId'+ -> DeleteSnapshot+deleteSnapshot pSnapshotId_ =+ DeleteSnapshot'+ { _dsSnapshotId = pSnapshotId_+ }++-- | The identifier of the directory snapshot to be deleted.+dsSnapshotId :: Lens' DeleteSnapshot Text+dsSnapshotId = lens _dsSnapshotId (\ s a -> s{_dsSnapshotId = a});++instance AWSRequest DeleteSnapshot where+ type Sv DeleteSnapshot = DirectoryService+ type Rs DeleteSnapshot = DeleteSnapshotResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ DeleteSnapshotResponse' <$>+ (x .?> "SnapshotId") <*> (pure (fromEnum s)))++instance ToHeaders DeleteSnapshot where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.DeleteSnapshot" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DeleteSnapshot where+ toJSON DeleteSnapshot'{..}+ = object ["SnapshotId" .= _dsSnapshotId]++instance ToPath DeleteSnapshot where+ toPath = const "/"++instance ToQuery DeleteSnapshot where+ toQuery = const mempty++-- | Contains the results of the DeleteSnapshot operation.+--+-- /See:/ 'deleteSnapshotResponse' smart constructor.+data DeleteSnapshotResponse = DeleteSnapshotResponse'+ { _dsrsSnapshotId :: !(Maybe Text)+ , _dsrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DeleteSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsrsSnapshotId'+--+-- * 'dsrsStatus'+deleteSnapshotResponse+ :: Int -- ^ 'dsrsStatus'+ -> DeleteSnapshotResponse+deleteSnapshotResponse pStatus_ =+ DeleteSnapshotResponse'+ { _dsrsSnapshotId = Nothing+ , _dsrsStatus = pStatus_+ }++-- | The identifier of the directory snapshot that was deleted.+dsrsSnapshotId :: Lens' DeleteSnapshotResponse (Maybe Text)+dsrsSnapshotId = lens _dsrsSnapshotId (\ s a -> s{_dsrsSnapshotId = a});++-- | The response status code.+dsrsStatus :: Lens' DeleteSnapshotResponse Int+dsrsStatus = lens _dsrsStatus (\ s a -> s{_dsrsStatus = a});
+ gen/Network/AWS/DirectoryService/DescribeDirectories.hs view
@@ -0,0 +1,189 @@+{-# 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.DirectoryService.DescribeDirectories+-- Copyright : (c) 2013-2015 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)+--+-- Obtains information about the directories that belong to this account.+--+-- You can retrieve information about specific directories by passing the+-- directory identifiers in the /DirectoryIds/ parameter. Otherwise, all+-- directories that belong to the current account are returned.+--+-- This operation supports pagination with the use of the /NextToken/+-- request and response parameters. If more results are available, the+-- /DescribeDirectoriesResult.NextToken/ member contains a token that you+-- pass in the next call to DescribeDirectories to retrieve the next set of+-- items.+--+-- You can also specify a maximum number of return results with the /Limit/+-- parameter.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_DescribeDirectories.html AWS API Reference> for DescribeDirectories.+module Network.AWS.DirectoryService.DescribeDirectories+ (+ -- * Creating a Request+ describeDirectories+ , DescribeDirectories+ -- * Request Lenses+ , ddNextToken+ , ddDirectoryIds+ , ddLimit++ -- * Destructuring the Response+ , describeDirectoriesResponse+ , DescribeDirectoriesResponse+ -- * Response Lenses+ , ddrsDirectoryDescriptions+ , ddrsNextToken+ , ddrsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the DescribeDirectories operation.+--+-- /See:/ 'describeDirectories' smart constructor.+data DescribeDirectories = DescribeDirectories'+ { _ddNextToken :: !(Maybe Text)+ , _ddDirectoryIds :: !(Maybe [Text])+ , _ddLimit :: !(Maybe Nat)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeDirectories' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddNextToken'+--+-- * 'ddDirectoryIds'+--+-- * 'ddLimit'+describeDirectories+ :: DescribeDirectories+describeDirectories =+ DescribeDirectories'+ { _ddNextToken = Nothing+ , _ddDirectoryIds = Nothing+ , _ddLimit = Nothing+ }++-- | The /DescribeDirectoriesResult.NextToken/ value from a previous call to+-- DescribeDirectories. Pass null if this is the first call.+ddNextToken :: Lens' DescribeDirectories (Maybe Text)+ddNextToken = lens _ddNextToken (\ s a -> s{_ddNextToken = a});++-- | A list of identifiers of the directories to obtain the information for.+-- If this member is null, all directories that belong to the current+-- account are returned.+--+-- An empty list results in an 'InvalidParameterException' being thrown.+ddDirectoryIds :: Lens' DescribeDirectories [Text]+ddDirectoryIds = lens _ddDirectoryIds (\ s a -> s{_ddDirectoryIds = a}) . _Default . _Coerce;++-- | The maximum number of items to return. If this value is zero, the+-- maximum number of items is specified by the limitations of the+-- operation.+ddLimit :: Lens' DescribeDirectories (Maybe Natural)+ddLimit = lens _ddLimit (\ s a -> s{_ddLimit = a}) . mapping _Nat;++instance AWSRequest DescribeDirectories where+ type Sv DescribeDirectories = DirectoryService+ type Rs DescribeDirectories =+ DescribeDirectoriesResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ DescribeDirectoriesResponse' <$>+ (x .?> "DirectoryDescriptions" .!@ mempty) <*>+ (x .?> "NextToken")+ <*> (pure (fromEnum s)))++instance ToHeaders DescribeDirectories where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.DescribeDirectories" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeDirectories where+ toJSON DescribeDirectories'{..}+ = object+ ["NextToken" .= _ddNextToken,+ "DirectoryIds" .= _ddDirectoryIds,+ "Limit" .= _ddLimit]++instance ToPath DescribeDirectories where+ toPath = const "/"++instance ToQuery DescribeDirectories where+ toQuery = const mempty++-- | Contains the results of the DescribeDirectories operation.+--+-- /See:/ 'describeDirectoriesResponse' smart constructor.+data DescribeDirectoriesResponse = DescribeDirectoriesResponse'+ { _ddrsDirectoryDescriptions :: !(Maybe [DirectoryDescription])+ , _ddrsNextToken :: !(Maybe Text)+ , _ddrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeDirectoriesResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddrsDirectoryDescriptions'+--+-- * 'ddrsNextToken'+--+-- * 'ddrsStatus'+describeDirectoriesResponse+ :: Int -- ^ 'ddrsStatus'+ -> DescribeDirectoriesResponse+describeDirectoriesResponse pStatus_ =+ DescribeDirectoriesResponse'+ { _ddrsDirectoryDescriptions = Nothing+ , _ddrsNextToken = Nothing+ , _ddrsStatus = pStatus_+ }++-- | The list of DirectoryDescription objects that were retrieved.+--+-- It is possible that this list contains less than the number of items+-- specified in the /Limit/ member of the request. This occurs if there are+-- less than the requested number of items left to retrieve, or if the+-- limitations of the operation have been exceeded.+ddrsDirectoryDescriptions :: Lens' DescribeDirectoriesResponse [DirectoryDescription]+ddrsDirectoryDescriptions = lens _ddrsDirectoryDescriptions (\ s a -> s{_ddrsDirectoryDescriptions = a}) . _Default . _Coerce;++-- | If not null, more results are available. Pass this value for the+-- /NextToken/ parameter in a subsequent call to DescribeDirectories to+-- retrieve the next set of items.+ddrsNextToken :: Lens' DescribeDirectoriesResponse (Maybe Text)+ddrsNextToken = lens _ddrsNextToken (\ s a -> s{_ddrsNextToken = a});++-- | The response status code.+ddrsStatus :: Lens' DescribeDirectoriesResponse Int+ddrsStatus = lens _ddrsStatus (\ s a -> s{_ddrsStatus = a});
+ gen/Network/AWS/DirectoryService/DescribeSnapshots.hs view
@@ -0,0 +1,188 @@+{-# 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.DirectoryService.DescribeSnapshots+-- Copyright : (c) 2013-2015 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)+--+-- Obtains information about the directory snapshots that belong to this+-- account.+--+-- This operation supports pagination with the use of the /NextToken/+-- request and response parameters. If more results are available, the+-- /DescribeSnapshots.NextToken/ member contains a token that you pass in+-- the next call to DescribeSnapshots to retrieve the next set of items.+--+-- You can also specify a maximum number of return results with the /Limit/+-- parameter.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_DescribeSnapshots.html AWS API Reference> for DescribeSnapshots.+module Network.AWS.DirectoryService.DescribeSnapshots+ (+ -- * Creating a Request+ describeSnapshots+ , DescribeSnapshots+ -- * Request Lenses+ , dsDirectoryId+ , dsNextToken+ , dsSnapshotIds+ , dsLimit++ -- * Destructuring the Response+ , describeSnapshotsResponse+ , DescribeSnapshotsResponse+ -- * Response Lenses+ , dssrsNextToken+ , dssrsSnapshots+ , dssrsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the DescribeSnapshots operation.+--+-- /See:/ 'describeSnapshots' smart constructor.+data DescribeSnapshots = DescribeSnapshots'+ { _dsDirectoryId :: !(Maybe Text)+ , _dsNextToken :: !(Maybe Text)+ , _dsSnapshotIds :: !(Maybe [Text])+ , _dsLimit :: !(Maybe Nat)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSnapshots' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dsDirectoryId'+--+-- * 'dsNextToken'+--+-- * 'dsSnapshotIds'+--+-- * 'dsLimit'+describeSnapshots+ :: DescribeSnapshots+describeSnapshots =+ DescribeSnapshots'+ { _dsDirectoryId = Nothing+ , _dsNextToken = Nothing+ , _dsSnapshotIds = Nothing+ , _dsLimit = Nothing+ }++-- | The identifier of the directory to retrieve snapshot information for.+dsDirectoryId :: Lens' DescribeSnapshots (Maybe Text)+dsDirectoryId = lens _dsDirectoryId (\ s a -> s{_dsDirectoryId = a});++-- | The /DescribeSnapshotsResult.NextToken/ value from a previous call to+-- DescribeSnapshots. Pass null if this is the first call.+dsNextToken :: Lens' DescribeSnapshots (Maybe Text)+dsNextToken = lens _dsNextToken (\ s a -> s{_dsNextToken = a});++-- | A list of identifiers of the snapshots to obtain the information for. If+-- this member is null or empty, all snapshots are returned using the+-- /Limit/ and /NextToken/ members.+dsSnapshotIds :: Lens' DescribeSnapshots [Text]+dsSnapshotIds = lens _dsSnapshotIds (\ s a -> s{_dsSnapshotIds = a}) . _Default . _Coerce;++-- | The maximum number of objects to return.+dsLimit :: Lens' DescribeSnapshots (Maybe Natural)+dsLimit = lens _dsLimit (\ s a -> s{_dsLimit = a}) . mapping _Nat;++instance AWSRequest DescribeSnapshots where+ type Sv DescribeSnapshots = DirectoryService+ type Rs DescribeSnapshots = DescribeSnapshotsResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ DescribeSnapshotsResponse' <$>+ (x .?> "NextToken") <*>+ (x .?> "Snapshots" .!@ mempty)+ <*> (pure (fromEnum s)))++instance ToHeaders DescribeSnapshots where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.DescribeSnapshots" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DescribeSnapshots where+ toJSON DescribeSnapshots'{..}+ = object+ ["DirectoryId" .= _dsDirectoryId,+ "NextToken" .= _dsNextToken,+ "SnapshotIds" .= _dsSnapshotIds, "Limit" .= _dsLimit]++instance ToPath DescribeSnapshots where+ toPath = const "/"++instance ToQuery DescribeSnapshots where+ toQuery = const mempty++-- | Contains the results of the DescribeSnapshots operation.+--+-- /See:/ 'describeSnapshotsResponse' smart constructor.+data DescribeSnapshotsResponse = DescribeSnapshotsResponse'+ { _dssrsNextToken :: !(Maybe Text)+ , _dssrsSnapshots :: !(Maybe [Snapshot])+ , _dssrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DescribeSnapshotsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dssrsNextToken'+--+-- * 'dssrsSnapshots'+--+-- * 'dssrsStatus'+describeSnapshotsResponse+ :: Int -- ^ 'dssrsStatus'+ -> DescribeSnapshotsResponse+describeSnapshotsResponse pStatus_ =+ DescribeSnapshotsResponse'+ { _dssrsNextToken = Nothing+ , _dssrsSnapshots = Nothing+ , _dssrsStatus = pStatus_+ }++-- | If not null, more results are available. Pass this value in the+-- /NextToken/ member of a subsequent call to DescribeSnapshots.+dssrsNextToken :: Lens' DescribeSnapshotsResponse (Maybe Text)+dssrsNextToken = lens _dssrsNextToken (\ s a -> s{_dssrsNextToken = a});++-- | The list of Snapshot objects that were retrieved.+--+-- It is possible that this list contains less than the number of items+-- specified in the /Limit/ member of the request. This occurs if there are+-- less than the requested number of items left to retrieve, or if the+-- limitations of the operation have been exceeded.+dssrsSnapshots :: Lens' DescribeSnapshotsResponse [Snapshot]+dssrsSnapshots = lens _dssrsSnapshots (\ s a -> s{_dssrsSnapshots = a}) . _Default . _Coerce;++-- | The response status code.+dssrsStatus :: Lens' DescribeSnapshotsResponse Int+dssrsStatus = lens _dssrsStatus (\ s a -> s{_dssrsStatus = a});
+ gen/Network/AWS/DirectoryService/DisableRadius.hs view
@@ -0,0 +1,121 @@+{-# 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.DirectoryService.DisableRadius+-- Copyright : (c) 2013-2015 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)+--+-- Disables multi-factor authentication (MFA) with Remote Authentication+-- Dial In User Service (RADIUS) for an AD Connector directory.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_DisableRadius.html AWS API Reference> for DisableRadius.+module Network.AWS.DirectoryService.DisableRadius+ (+ -- * Creating a Request+ disableRadius+ , DisableRadius+ -- * Request Lenses+ , drDirectoryId++ -- * Destructuring the Response+ , disableRadiusResponse+ , DisableRadiusResponse+ -- * Response Lenses+ , drrsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the DisableRadius operation.+--+-- /See:/ 'disableRadius' smart constructor.+newtype DisableRadius = DisableRadius'+ { _drDirectoryId :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableRadius' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drDirectoryId'+disableRadius+ :: Text -- ^ 'drDirectoryId'+ -> DisableRadius+disableRadius pDirectoryId_ =+ DisableRadius'+ { _drDirectoryId = pDirectoryId_+ }++-- | The identifier of the directory to disable MFA for.+drDirectoryId :: Lens' DisableRadius Text+drDirectoryId = lens _drDirectoryId (\ s a -> s{_drDirectoryId = a});++instance AWSRequest DisableRadius where+ type Sv DisableRadius = DirectoryService+ type Rs DisableRadius = DisableRadiusResponse+ request = postJSON+ response+ = receiveEmpty+ (\ s h x ->+ DisableRadiusResponse' <$> (pure (fromEnum s)))++instance ToHeaders DisableRadius where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.DisableRadius" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DisableRadius where+ toJSON DisableRadius'{..}+ = object ["DirectoryId" .= _drDirectoryId]++instance ToPath DisableRadius where+ toPath = const "/"++instance ToQuery DisableRadius where+ toQuery = const mempty++-- | Contains the results of the DisableRadius operation.+--+-- /See:/ 'disableRadiusResponse' smart constructor.+newtype DisableRadiusResponse = DisableRadiusResponse'+ { _drrsStatus :: Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableRadiusResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'drrsStatus'+disableRadiusResponse+ :: Int -- ^ 'drrsStatus'+ -> DisableRadiusResponse+disableRadiusResponse pStatus_ =+ DisableRadiusResponse'+ { _drrsStatus = pStatus_+ }++-- | The response status code.+drrsStatus :: Lens' DisableRadiusResponse Int+drrsStatus = lens _drrsStatus (\ s a -> s{_drrsStatus = a});
+ gen/Network/AWS/DirectoryService/DisableSSO.hs view
@@ -0,0 +1,151 @@+{-# 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.DirectoryService.DisableSSO+-- Copyright : (c) 2013-2015 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)+--+-- Disables single-sign on for a directory.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_DisableSSO.html AWS API Reference> for DisableSSO.+module Network.AWS.DirectoryService.DisableSSO+ (+ -- * Creating a Request+ disableSSO+ , DisableSSO+ -- * Request Lenses+ , dssoUserName+ , dssoPassword+ , dssoDirectoryId++ -- * Destructuring the Response+ , disableSSOResponse+ , DisableSSOResponse+ -- * Response Lenses+ , dssorsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the DisableSso operation.+--+-- /See:/ 'disableSSO' smart constructor.+data DisableSSO = DisableSSO'+ { _dssoUserName :: !(Maybe Text)+ , _dssoPassword :: !(Maybe (Sensitive Text))+ , _dssoDirectoryId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableSSO' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dssoUserName'+--+-- * 'dssoPassword'+--+-- * 'dssoDirectoryId'+disableSSO+ :: Text -- ^ 'dssoDirectoryId'+ -> DisableSSO+disableSSO pDirectoryId_ =+ DisableSSO'+ { _dssoUserName = Nothing+ , _dssoPassword = Nothing+ , _dssoDirectoryId = pDirectoryId_+ }++-- | The username of an alternate account to use to disable single-sign on.+-- This is only used for AD Connector directories. This account must have+-- privileges to remove a service principle name.+--+-- If the AD Connector service account does not have privileges to remove a+-- service principle name, you can specify an alternate account with the+-- /UserName/ and /Password/ parameters. These credentials are only used to+-- disable single sign-on and are not stored by the service. The AD+-- Connector service account is not changed.+dssoUserName :: Lens' DisableSSO (Maybe Text)+dssoUserName = lens _dssoUserName (\ s a -> s{_dssoUserName = a});++-- | The password of an alternate account to use to disable single-sign on.+-- This is only used for AD Connector directories. See the /UserName/+-- parameter for more information.+dssoPassword :: Lens' DisableSSO (Maybe Text)+dssoPassword = lens _dssoPassword (\ s a -> s{_dssoPassword = a}) . mapping _Sensitive;++-- | The identifier of the directory to disable single-sign on for.+dssoDirectoryId :: Lens' DisableSSO Text+dssoDirectoryId = lens _dssoDirectoryId (\ s a -> s{_dssoDirectoryId = a});++instance AWSRequest DisableSSO where+ type Sv DisableSSO = DirectoryService+ type Rs DisableSSO = DisableSSOResponse+ request = postJSON+ response+ = receiveEmpty+ (\ s h x ->+ DisableSSOResponse' <$> (pure (fromEnum s)))++instance ToHeaders DisableSSO where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.DisableSso" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON DisableSSO where+ toJSON DisableSSO'{..}+ = object+ ["UserName" .= _dssoUserName,+ "Password" .= _dssoPassword,+ "DirectoryId" .= _dssoDirectoryId]++instance ToPath DisableSSO where+ toPath = const "/"++instance ToQuery DisableSSO where+ toQuery = const mempty++-- | Contains the results of the DisableSso operation.+--+-- /See:/ 'disableSSOResponse' smart constructor.+newtype DisableSSOResponse = DisableSSOResponse'+ { _dssorsStatus :: Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DisableSSOResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dssorsStatus'+disableSSOResponse+ :: Int -- ^ 'dssorsStatus'+ -> DisableSSOResponse+disableSSOResponse pStatus_ =+ DisableSSOResponse'+ { _dssorsStatus = pStatus_+ }++-- | The response status code.+dssorsStatus :: Lens' DisableSSOResponse Int+dssorsStatus = lens _dssorsStatus (\ s a -> s{_dssorsStatus = a});
+ gen/Network/AWS/DirectoryService/EnableRadius.hs view
@@ -0,0 +1,134 @@+{-# 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.DirectoryService.EnableRadius+-- Copyright : (c) 2013-2015 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)+--+-- Enables multi-factor authentication (MFA) with Remote Authentication+-- Dial In User Service (RADIUS) for an AD Connector directory.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_EnableRadius.html AWS API Reference> for EnableRadius.+module Network.AWS.DirectoryService.EnableRadius+ (+ -- * Creating a Request+ enableRadius+ , EnableRadius+ -- * Request Lenses+ , erDirectoryId+ , erRadiusSettings++ -- * Destructuring the Response+ , enableRadiusResponse+ , EnableRadiusResponse+ -- * Response Lenses+ , errsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the EnableRadius operation.+--+-- /See:/ 'enableRadius' smart constructor.+data EnableRadius = EnableRadius'+ { _erDirectoryId :: !Text+ , _erRadiusSettings :: !RadiusSettings+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableRadius' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'erDirectoryId'+--+-- * 'erRadiusSettings'+enableRadius+ :: Text -- ^ 'erDirectoryId'+ -> RadiusSettings -- ^ 'erRadiusSettings'+ -> EnableRadius+enableRadius pDirectoryId_ pRadiusSettings_ =+ EnableRadius'+ { _erDirectoryId = pDirectoryId_+ , _erRadiusSettings = pRadiusSettings_+ }++-- | The identifier of the directory to enable MFA for.+erDirectoryId :: Lens' EnableRadius Text+erDirectoryId = lens _erDirectoryId (\ s a -> s{_erDirectoryId = a});++-- | A RadiusSettings object that contains information about the RADIUS+-- server.+erRadiusSettings :: Lens' EnableRadius RadiusSettings+erRadiusSettings = lens _erRadiusSettings (\ s a -> s{_erRadiusSettings = a});++instance AWSRequest EnableRadius where+ type Sv EnableRadius = DirectoryService+ type Rs EnableRadius = EnableRadiusResponse+ request = postJSON+ response+ = receiveEmpty+ (\ s h x ->+ EnableRadiusResponse' <$> (pure (fromEnum s)))++instance ToHeaders EnableRadius where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.EnableRadius" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON EnableRadius where+ toJSON EnableRadius'{..}+ = object+ ["DirectoryId" .= _erDirectoryId,+ "RadiusSettings" .= _erRadiusSettings]++instance ToPath EnableRadius where+ toPath = const "/"++instance ToQuery EnableRadius where+ toQuery = const mempty++-- | Contains the results of the EnableRadius operation.+--+-- /See:/ 'enableRadiusResponse' smart constructor.+newtype EnableRadiusResponse = EnableRadiusResponse'+ { _errsStatus :: Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableRadiusResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'errsStatus'+enableRadiusResponse+ :: Int -- ^ 'errsStatus'+ -> EnableRadiusResponse+enableRadiusResponse pStatus_ =+ EnableRadiusResponse'+ { _errsStatus = pStatus_+ }++-- | The response status code.+errsStatus :: Lens' EnableRadiusResponse Int+errsStatus = lens _errsStatus (\ s a -> s{_errsStatus = a});
+ gen/Network/AWS/DirectoryService/EnableSSO.hs view
@@ -0,0 +1,151 @@+{-# 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.DirectoryService.EnableSSO+-- Copyright : (c) 2013-2015 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)+--+-- Enables single-sign on for a directory.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_EnableSSO.html AWS API Reference> for EnableSSO.+module Network.AWS.DirectoryService.EnableSSO+ (+ -- * Creating a Request+ enableSSO+ , EnableSSO+ -- * Request Lenses+ , esUserName+ , esPassword+ , esDirectoryId++ -- * Destructuring the Response+ , enableSSOResponse+ , EnableSSOResponse+ -- * Response Lenses+ , esrsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the EnableSso operation.+--+-- /See:/ 'enableSSO' smart constructor.+data EnableSSO = EnableSSO'+ { _esUserName :: !(Maybe Text)+ , _esPassword :: !(Maybe (Sensitive Text))+ , _esDirectoryId :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableSSO' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'esUserName'+--+-- * 'esPassword'+--+-- * 'esDirectoryId'+enableSSO+ :: Text -- ^ 'esDirectoryId'+ -> EnableSSO+enableSSO pDirectoryId_ =+ EnableSSO'+ { _esUserName = Nothing+ , _esPassword = Nothing+ , _esDirectoryId = pDirectoryId_+ }++-- | The username of an alternate account to use to enable single-sign on.+-- This is only used for AD Connector directories. This account must have+-- privileges to add a service principle name.+--+-- If the AD Connector service account does not have privileges to add a+-- service principle name, you can specify an alternate account with the+-- /UserName/ and /Password/ parameters. These credentials are only used to+-- enable single sign-on and are not stored by the service. The AD+-- Connector service account is not changed.+esUserName :: Lens' EnableSSO (Maybe Text)+esUserName = lens _esUserName (\ s a -> s{_esUserName = a});++-- | The password of an alternate account to use to enable single-sign on.+-- This is only used for AD Connector directories. See the /UserName/+-- parameter for more information.+esPassword :: Lens' EnableSSO (Maybe Text)+esPassword = lens _esPassword (\ s a -> s{_esPassword = a}) . mapping _Sensitive;++-- | The identifier of the directory to enable single-sign on for.+esDirectoryId :: Lens' EnableSSO Text+esDirectoryId = lens _esDirectoryId (\ s a -> s{_esDirectoryId = a});++instance AWSRequest EnableSSO where+ type Sv EnableSSO = DirectoryService+ type Rs EnableSSO = EnableSSOResponse+ request = postJSON+ response+ = receiveEmpty+ (\ s h x ->+ EnableSSOResponse' <$> (pure (fromEnum s)))++instance ToHeaders EnableSSO where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.EnableSso" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON EnableSSO where+ toJSON EnableSSO'{..}+ = object+ ["UserName" .= _esUserName,+ "Password" .= _esPassword,+ "DirectoryId" .= _esDirectoryId]++instance ToPath EnableSSO where+ toPath = const "/"++instance ToQuery EnableSSO where+ toQuery = const mempty++-- | Contains the results of the EnableSso operation.+--+-- /See:/ 'enableSSOResponse' smart constructor.+newtype EnableSSOResponse = EnableSSOResponse'+ { _esrsStatus :: Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'EnableSSOResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'esrsStatus'+enableSSOResponse+ :: Int -- ^ 'esrsStatus'+ -> EnableSSOResponse+enableSSOResponse pStatus_ =+ EnableSSOResponse'+ { _esrsStatus = pStatus_+ }++-- | The response status code.+esrsStatus :: Lens' EnableSSOResponse Int+esrsStatus = lens _esrsStatus (\ s a -> s{_esrsStatus = a});
+ gen/Network/AWS/DirectoryService/GetDirectoryLimits.hs view
@@ -0,0 +1,118 @@+{-# 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.DirectoryService.GetDirectoryLimits+-- Copyright : (c) 2013-2015 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)+--+-- Obtains directory limit information for the current region.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_GetDirectoryLimits.html AWS API Reference> for GetDirectoryLimits.+module Network.AWS.DirectoryService.GetDirectoryLimits+ (+ -- * Creating a Request+ getDirectoryLimits+ , GetDirectoryLimits++ -- * Destructuring the Response+ , getDirectoryLimitsResponse+ , GetDirectoryLimitsResponse+ -- * Response Lenses+ , gdlrsDirectoryLimits+ , gdlrsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the GetDirectoryLimits operation.+--+-- /See:/ 'getDirectoryLimits' smart constructor.+data GetDirectoryLimits =+ GetDirectoryLimits'+ deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDirectoryLimits' with the minimum fields required to make a request.+--+getDirectoryLimits+ :: GetDirectoryLimits+getDirectoryLimits = GetDirectoryLimits'++instance AWSRequest GetDirectoryLimits where+ type Sv GetDirectoryLimits = DirectoryService+ type Rs GetDirectoryLimits =+ GetDirectoryLimitsResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ GetDirectoryLimitsResponse' <$>+ (x .?> "DirectoryLimits") <*> (pure (fromEnum s)))++instance ToHeaders GetDirectoryLimits where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.GetDirectoryLimits" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetDirectoryLimits where+ toJSON = const (Object mempty)++instance ToPath GetDirectoryLimits where+ toPath = const "/"++instance ToQuery GetDirectoryLimits where+ toQuery = const mempty++-- | Contains the results of the GetDirectoryLimits operation.+--+-- /See:/ 'getDirectoryLimitsResponse' smart constructor.+data GetDirectoryLimitsResponse = GetDirectoryLimitsResponse'+ { _gdlrsDirectoryLimits :: !(Maybe DirectoryLimits)+ , _gdlrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetDirectoryLimitsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gdlrsDirectoryLimits'+--+-- * 'gdlrsStatus'+getDirectoryLimitsResponse+ :: Int -- ^ 'gdlrsStatus'+ -> GetDirectoryLimitsResponse+getDirectoryLimitsResponse pStatus_ =+ GetDirectoryLimitsResponse'+ { _gdlrsDirectoryLimits = Nothing+ , _gdlrsStatus = pStatus_+ }++-- | A DirectoryLimits object that contains the directory limits for the+-- current region.+gdlrsDirectoryLimits :: Lens' GetDirectoryLimitsResponse (Maybe DirectoryLimits)+gdlrsDirectoryLimits = lens _gdlrsDirectoryLimits (\ s a -> s{_gdlrsDirectoryLimits = a});++-- | The response status code.+gdlrsStatus :: Lens' GetDirectoryLimitsResponse Int+gdlrsStatus = lens _gdlrsStatus (\ s a -> s{_gdlrsStatus = a});
+ gen/Network/AWS/DirectoryService/GetSnapshotLimits.hs view
@@ -0,0 +1,131 @@+{-# 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.DirectoryService.GetSnapshotLimits+-- Copyright : (c) 2013-2015 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)+--+-- Obtains the manual snapshot limits for a directory.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_GetSnapshotLimits.html AWS API Reference> for GetSnapshotLimits.+module Network.AWS.DirectoryService.GetSnapshotLimits+ (+ -- * Creating a Request+ getSnapshotLimits+ , GetSnapshotLimits+ -- * Request Lenses+ , gslDirectoryId++ -- * Destructuring the Response+ , getSnapshotLimitsResponse+ , GetSnapshotLimitsResponse+ -- * Response Lenses+ , gslrsSnapshotLimits+ , gslrsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the GetSnapshotLimits operation.+--+-- /See:/ 'getSnapshotLimits' smart constructor.+newtype GetSnapshotLimits = GetSnapshotLimits'+ { _gslDirectoryId :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetSnapshotLimits' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gslDirectoryId'+getSnapshotLimits+ :: Text -- ^ 'gslDirectoryId'+ -> GetSnapshotLimits+getSnapshotLimits pDirectoryId_ =+ GetSnapshotLimits'+ { _gslDirectoryId = pDirectoryId_+ }++-- | Contains the identifier of the directory to obtain the limits for.+gslDirectoryId :: Lens' GetSnapshotLimits Text+gslDirectoryId = lens _gslDirectoryId (\ s a -> s{_gslDirectoryId = a});++instance AWSRequest GetSnapshotLimits where+ type Sv GetSnapshotLimits = DirectoryService+ type Rs GetSnapshotLimits = GetSnapshotLimitsResponse+ request = postJSON+ response+ = receiveJSON+ (\ s h x ->+ GetSnapshotLimitsResponse' <$>+ (x .?> "SnapshotLimits") <*> (pure (fromEnum s)))++instance ToHeaders GetSnapshotLimits where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.GetSnapshotLimits" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON GetSnapshotLimits where+ toJSON GetSnapshotLimits'{..}+ = object ["DirectoryId" .= _gslDirectoryId]++instance ToPath GetSnapshotLimits where+ toPath = const "/"++instance ToQuery GetSnapshotLimits where+ toQuery = const mempty++-- | Contains the results of the GetSnapshotLimits operation.+--+-- /See:/ 'getSnapshotLimitsResponse' smart constructor.+data GetSnapshotLimitsResponse = GetSnapshotLimitsResponse'+ { _gslrsSnapshotLimits :: !(Maybe SnapshotLimits)+ , _gslrsStatus :: !Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'GetSnapshotLimitsResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'gslrsSnapshotLimits'+--+-- * 'gslrsStatus'+getSnapshotLimitsResponse+ :: Int -- ^ 'gslrsStatus'+ -> GetSnapshotLimitsResponse+getSnapshotLimitsResponse pStatus_ =+ GetSnapshotLimitsResponse'+ { _gslrsSnapshotLimits = Nothing+ , _gslrsStatus = pStatus_+ }++-- | A SnapshotLimits object that contains the manual snapshot limits for the+-- specified directory.+gslrsSnapshotLimits :: Lens' GetSnapshotLimitsResponse (Maybe SnapshotLimits)+gslrsSnapshotLimits = lens _gslrsSnapshotLimits (\ s a -> s{_gslrsSnapshotLimits = a});++-- | The response status code.+gslrsStatus :: Lens' GetSnapshotLimitsResponse Int+gslrsStatus = lens _gslrsStatus (\ s a -> s{_gslrsStatus = a});
+ gen/Network/AWS/DirectoryService/RestoreFromSnapshot.hs view
@@ -0,0 +1,130 @@+{-# 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.DirectoryService.RestoreFromSnapshot+-- Copyright : (c) 2013-2015 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)+--+-- Restores a directory using an existing directory snapshot.+--+-- When you restore a directory from a snapshot, any changes made to the+-- directory after the snapshot date are overwritten.+--+-- This action returns as soon as the restore operation is initiated. You+-- can monitor the progress of the restore operation by calling the+-- DescribeDirectories operation with the directory identifier. When the+-- __DirectoryDescription.Stage__ value changes to 'Active', the restore+-- operation is complete.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_RestoreFromSnapshot.html AWS API Reference> for RestoreFromSnapshot.+module Network.AWS.DirectoryService.RestoreFromSnapshot+ (+ -- * Creating a Request+ restoreFromSnapshot+ , RestoreFromSnapshot+ -- * Request Lenses+ , rfsSnapshotId++ -- * Destructuring the Response+ , restoreFromSnapshotResponse+ , RestoreFromSnapshotResponse+ -- * Response Lenses+ , rfsrsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | An object representing the inputs for the RestoreFromSnapshot operation.+--+-- /See:/ 'restoreFromSnapshot' smart constructor.+newtype RestoreFromSnapshot = RestoreFromSnapshot'+ { _rfsSnapshotId :: Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RestoreFromSnapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rfsSnapshotId'+restoreFromSnapshot+ :: Text -- ^ 'rfsSnapshotId'+ -> RestoreFromSnapshot+restoreFromSnapshot pSnapshotId_ =+ RestoreFromSnapshot'+ { _rfsSnapshotId = pSnapshotId_+ }++-- | The identifier of the snapshot to restore from.+rfsSnapshotId :: Lens' RestoreFromSnapshot Text+rfsSnapshotId = lens _rfsSnapshotId (\ s a -> s{_rfsSnapshotId = a});++instance AWSRequest RestoreFromSnapshot where+ type Sv RestoreFromSnapshot = DirectoryService+ type Rs RestoreFromSnapshot =+ RestoreFromSnapshotResponse+ request = postJSON+ response+ = receiveEmpty+ (\ s h x ->+ RestoreFromSnapshotResponse' <$> (pure (fromEnum s)))++instance ToHeaders RestoreFromSnapshot where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.RestoreFromSnapshot" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON RestoreFromSnapshot where+ toJSON RestoreFromSnapshot'{..}+ = object ["SnapshotId" .= _rfsSnapshotId]++instance ToPath RestoreFromSnapshot where+ toPath = const "/"++instance ToQuery RestoreFromSnapshot where+ toQuery = const mempty++-- | Contains the results of the RestoreFromSnapshot operation.+--+-- /See:/ 'restoreFromSnapshotResponse' smart constructor.+newtype RestoreFromSnapshotResponse = RestoreFromSnapshotResponse'+ { _rfsrsStatus :: Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RestoreFromSnapshotResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rfsrsStatus'+restoreFromSnapshotResponse+ :: Int -- ^ 'rfsrsStatus'+ -> RestoreFromSnapshotResponse+restoreFromSnapshotResponse pStatus_ =+ RestoreFromSnapshotResponse'+ { _rfsrsStatus = pStatus_+ }++-- | The response status code.+rfsrsStatus :: Lens' RestoreFromSnapshotResponse Int+rfsrsStatus = lens _rfsrsStatus (\ s a -> s{_rfsrsStatus = a});
+ gen/Network/AWS/DirectoryService/Types.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.DirectoryService.Types+-- Copyright : (c) 2013-2015 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.DirectoryService.Types+ (+ -- * Service+ DirectoryService++ -- * Errors+ , _AuthenticationFailedException+ , _DirectoryUnavailableException+ , _InvalidParameterException+ , _UnsupportedOperationException+ , _EntityAlreadyExistsException+ , _DirectoryLimitExceededException+ , _EntityDoesNotExistException+ , _InsufficientPermissionsException+ , _InvalidNextTokenException+ , _ServiceException+ , _SnapshotLimitExceededException+ , _ClientException++ -- * DirectorySize+ , DirectorySize (..)++ -- * DirectoryStage+ , DirectoryStage (..)++ -- * DirectoryType+ , DirectoryType (..)++ -- * RadiusAuthenticationProtocol+ , RadiusAuthenticationProtocol (..)++ -- * RadiusStatus+ , RadiusStatus (..)++ -- * SnapshotStatus+ , SnapshotStatus (..)++ -- * SnapshotType+ , SnapshotType (..)++ -- * Attribute+ , Attribute+ , attribute+ , aValue+ , aName++ -- * Computer+ , Computer+ , computer+ , cComputerId+ , cComputerAttributes+ , cComputerName++ -- * DirectoryConnectSettings+ , DirectoryConnectSettings+ , directoryConnectSettings+ , dcsVPCId+ , dcsSubnetIds+ , dcsCustomerDNSIPs+ , dcsCustomerUserName++ -- * DirectoryConnectSettingsDescription+ , DirectoryConnectSettingsDescription+ , directoryConnectSettingsDescription+ , dcsdCustomerUserName+ , dcsdSubnetIds+ , dcsdVPCId+ , dcsdConnectIPs+ , dcsdSecurityGroupId+ , dcsdAvailabilityZones++ -- * DirectoryDescription+ , DirectoryDescription+ , directoryDescription+ , ddRadiusStatus+ , ddDirectoryId+ , ddStage+ , ddAccessURL+ , ddShortName+ , ddSize+ , ddRadiusSettings+ , ddLaunchTime+ , ddAlias+ , ddName+ , ddSSOEnabled+ , ddStageLastUpdatedDateTime+ , ddStageReason+ , ddDNSIPAddrs+ , ddVPCSettings+ , ddType+ , ddConnectSettings+ , ddDescription++ -- * DirectoryLimits+ , DirectoryLimits+ , directoryLimits+ , dlConnectedDirectoriesCurrentCount+ , dlConnectedDirectoriesLimit+ , dlConnectedDirectoriesLimitReached+ , dlCloudOnlyDirectoriesLimit+ , dlCloudOnlyDirectoriesCurrentCount+ , dlCloudOnlyDirectoriesLimitReached++ -- * DirectoryVPCSettings+ , DirectoryVPCSettings+ , directoryVPCSettings+ , dvsVPCId+ , dvsSubnetIds++ -- * DirectoryVPCSettingsDescription+ , DirectoryVPCSettingsDescription+ , directoryVPCSettingsDescription+ , dvsdSubnetIds+ , dvsdVPCId+ , dvsdSecurityGroupId+ , dvsdAvailabilityZones++ -- * RadiusSettings+ , RadiusSettings+ , radiusSettings+ , rsDisplayLabel+ , rsRadiusServers+ , rsRadiusRetries+ , rsAuthenticationProtocol+ , rsUseSameUsername+ , rsSharedSecret+ , rsRadiusTimeout+ , rsRadiusPort++ -- * Snapshot+ , Snapshot+ , snapshot+ , sDirectoryId+ , sStatus+ , sStartTime+ , sName+ , sType+ , sSnapshotId++ -- * SnapshotLimits+ , SnapshotLimits+ , snapshotLimits+ , slManualSnapshotsLimitReached+ , slManualSnapshotsCurrentCount+ , slManualSnapshotsLimit+ ) where++import Network.AWS.DirectoryService.Types.Product+import Network.AWS.DirectoryService.Types.Sum+import Network.AWS.Prelude+import Network.AWS.Sign.V4++-- | Version @2015-04-16@ of the Amazon Directory Service SDK.+data DirectoryService++instance AWSService DirectoryService where+ type Sg DirectoryService = V4+ service = const svc+ where+ svc =+ Service+ { _svcAbbrev = "DirectoryService"+ , _svcPrefix = "ds"+ , _svcVersion = "2015-04-16"+ , _svcEndpoint = defaultEndpoint svc+ , _svcTimeout = Just 70+ , _svcStatus = statusSuccess+ , _svcError = parseJSONError+ , _svcRetry = retry+ }+ retry =+ Exponential+ { _retryBase = 5.0e-2+ , _retryGrowth = 2+ , _retryAttempts = 5+ , _retryCheck = check+ }+ check e+ | has (hasCode "ThrottlingException" . hasStatus 400) e =+ Just "throttling_exception"+ | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"+ | has (hasStatus 503) e = Just "service_unavailable"+ | has (hasStatus 500) e = Just "general_server_error"+ | has (hasStatus 509) e = Just "limit_exceeded"+ | otherwise = Nothing++-- | An authentication error occurred.+_AuthenticationFailedException :: AsError a => Getting (First ServiceError) a ServiceError+_AuthenticationFailedException =+ _ServiceError . hasCode "AuthenticationFailedException"++-- | The specified directory is unavailable or could not be found.+_DirectoryUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError+_DirectoryUnavailableException =+ _ServiceError . hasCode "DirectoryUnavailableException"++-- | One or more parameters are not valid.+_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidParameterException =+ _ServiceError . hasCode "InvalidParameterException"++-- | The operation is not supported.+_UnsupportedOperationException :: AsError a => Getting (First ServiceError) a ServiceError+_UnsupportedOperationException =+ _ServiceError . hasCode "UnsupportedOperationException"++-- | The specified entity already exists.+_EntityAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError+_EntityAlreadyExistsException =+ _ServiceError . hasCode "EntityAlreadyExistsException"++-- | The maximum number of directories in the region has been reached. You+-- can use the GetDirectoryLimits operation to determine your directory+-- limits in the region.+_DirectoryLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError+_DirectoryLimitExceededException =+ _ServiceError . hasCode "DirectoryLimitExceededException"++-- | The specified entity could not be found.+_EntityDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError+_EntityDoesNotExistException =+ _ServiceError . hasCode "EntityDoesNotExistException"++-- | The account does not have sufficient permission to perform the+-- operation.+_InsufficientPermissionsException :: AsError a => Getting (First ServiceError) a ServiceError+_InsufficientPermissionsException =+ _ServiceError . hasCode "InsufficientPermissionsException"++-- | The /NextToken/ value is not valid.+_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError+_InvalidNextTokenException =+ _ServiceError . hasCode "InvalidNextTokenException"++-- | An exception has occurred in AWS Directory Service.+_ServiceException :: AsError a => Getting (First ServiceError) a ServiceError+_ServiceException = _ServiceError . hasCode "ServiceException"++-- | The maximum number of manual snapshots for the directory has been+-- reached. You can use the GetSnapshotLimits operation to determine the+-- snapshot limits for a directory.+_SnapshotLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError+_SnapshotLimitExceededException =+ _ServiceError . hasCode "SnapshotLimitExceededException"++-- | A client exception has occurred.+_ClientException :: AsError a => Getting (First ServiceError) a ServiceError+_ClientException = _ServiceError . hasCode "ClientException"
+ gen/Network/AWS/DirectoryService/Types/Product.hs view
@@ -0,0 +1,853 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.DirectoryService.Types.Product+-- Copyright : (c) 2013-2015 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.DirectoryService.Types.Product where++import Network.AWS.DirectoryService.Types.Sum+import Network.AWS.Prelude++-- | Represents a named directory attribute.+--+-- /See:/ 'attribute' smart constructor.+data Attribute = Attribute'+ { _aValue :: !(Maybe Text)+ , _aName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Attribute' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'aValue'+--+-- * 'aName'+attribute+ :: Attribute+attribute =+ Attribute'+ { _aValue = Nothing+ , _aName = Nothing+ }++-- | The value of the attribute.+aValue :: Lens' Attribute (Maybe Text)+aValue = lens _aValue (\ s a -> s{_aValue = a});++-- | The name of the attribute.+aName :: Lens' Attribute (Maybe Text)+aName = lens _aName (\ s a -> s{_aName = a});++instance FromJSON Attribute where+ parseJSON+ = withObject "Attribute"+ (\ x ->+ Attribute' <$> (x .:? "Value") <*> (x .:? "Name"))++instance ToJSON Attribute where+ toJSON Attribute'{..}+ = object ["Value" .= _aValue, "Name" .= _aName]++-- | Contains information about a computer account in a directory.+--+-- /See:/ 'computer' smart constructor.+data Computer = Computer'+ { _cComputerId :: !(Maybe Text)+ , _cComputerAttributes :: !(Maybe [Attribute])+ , _cComputerName :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Computer' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'cComputerId'+--+-- * 'cComputerAttributes'+--+-- * 'cComputerName'+computer+ :: Computer+computer =+ Computer'+ { _cComputerId = Nothing+ , _cComputerAttributes = Nothing+ , _cComputerName = Nothing+ }++-- | The identifier of the computer.+cComputerId :: Lens' Computer (Maybe Text)+cComputerId = lens _cComputerId (\ s a -> s{_cComputerId = a});++-- | An array of Attribute objects that contain the LDAP attributes that+-- belong to the computer account.+cComputerAttributes :: Lens' Computer [Attribute]+cComputerAttributes = lens _cComputerAttributes (\ s a -> s{_cComputerAttributes = a}) . _Default . _Coerce;++-- | The computer name.+cComputerName :: Lens' Computer (Maybe Text)+cComputerName = lens _cComputerName (\ s a -> s{_cComputerName = a});++instance FromJSON Computer where+ parseJSON+ = withObject "Computer"+ (\ x ->+ Computer' <$>+ (x .:? "ComputerId") <*>+ (x .:? "ComputerAttributes" .!= mempty)+ <*> (x .:? "ComputerName"))++-- | Contains information for the ConnectDirectory operation when an AD+-- Connector directory is being created.+--+-- /See:/ 'directoryConnectSettings' smart constructor.+data DirectoryConnectSettings = DirectoryConnectSettings'+ { _dcsVPCId :: !Text+ , _dcsSubnetIds :: ![Text]+ , _dcsCustomerDNSIPs :: ![Text]+ , _dcsCustomerUserName :: !Text+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectoryConnectSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcsVPCId'+--+-- * 'dcsSubnetIds'+--+-- * 'dcsCustomerDNSIPs'+--+-- * 'dcsCustomerUserName'+directoryConnectSettings+ :: Text -- ^ 'dcsVPCId'+ -> Text -- ^ 'dcsCustomerUserName'+ -> DirectoryConnectSettings+directoryConnectSettings pVPCId_ pCustomerUserName_ =+ DirectoryConnectSettings'+ { _dcsVPCId = pVPCId_+ , _dcsSubnetIds = mempty+ , _dcsCustomerDNSIPs = mempty+ , _dcsCustomerUserName = pCustomerUserName_+ }++-- | The identifier of the VPC that the AD Connector is created in.+dcsVPCId :: Lens' DirectoryConnectSettings Text+dcsVPCId = lens _dcsVPCId (\ s a -> s{_dcsVPCId = a});++-- | A list of subnet identifiers in the VPC that the AD Connector is created+-- in.+dcsSubnetIds :: Lens' DirectoryConnectSettings [Text]+dcsSubnetIds = lens _dcsSubnetIds (\ s a -> s{_dcsSubnetIds = a}) . _Coerce;++-- | A list of one or more IP addresses of DNS servers or domain controllers+-- in the on-premises directory.+dcsCustomerDNSIPs :: Lens' DirectoryConnectSettings [Text]+dcsCustomerDNSIPs = lens _dcsCustomerDNSIPs (\ s a -> s{_dcsCustomerDNSIPs = a}) . _Coerce;++-- | The username of an account in the on-premises directory that is used to+-- connect to the directory. This account must have the following+-- privileges:+--+-- - Read users and groups+-- - Create computer objects+-- - Join computers to the domain+dcsCustomerUserName :: Lens' DirectoryConnectSettings Text+dcsCustomerUserName = lens _dcsCustomerUserName (\ s a -> s{_dcsCustomerUserName = a});++instance ToJSON DirectoryConnectSettings where+ toJSON DirectoryConnectSettings'{..}+ = object+ ["VpcId" .= _dcsVPCId, "SubnetIds" .= _dcsSubnetIds,+ "CustomerDnsIps" .= _dcsCustomerDNSIPs,+ "CustomerUserName" .= _dcsCustomerUserName]++-- | Contains information about an AD Connector directory.+--+-- /See:/ 'directoryConnectSettingsDescription' smart constructor.+data DirectoryConnectSettingsDescription = DirectoryConnectSettingsDescription'+ { _dcsdCustomerUserName :: !(Maybe Text)+ , _dcsdSubnetIds :: !(Maybe [Text])+ , _dcsdVPCId :: !(Maybe Text)+ , _dcsdConnectIPs :: !(Maybe [Text])+ , _dcsdSecurityGroupId :: !(Maybe Text)+ , _dcsdAvailabilityZones :: !(Maybe [Text])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectoryConnectSettingsDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dcsdCustomerUserName'+--+-- * 'dcsdSubnetIds'+--+-- * 'dcsdVPCId'+--+-- * 'dcsdConnectIPs'+--+-- * 'dcsdSecurityGroupId'+--+-- * 'dcsdAvailabilityZones'+directoryConnectSettingsDescription+ :: DirectoryConnectSettingsDescription+directoryConnectSettingsDescription =+ DirectoryConnectSettingsDescription'+ { _dcsdCustomerUserName = Nothing+ , _dcsdSubnetIds = Nothing+ , _dcsdVPCId = Nothing+ , _dcsdConnectIPs = Nothing+ , _dcsdSecurityGroupId = Nothing+ , _dcsdAvailabilityZones = Nothing+ }++-- | The username of the service account in the on-premises directory.+dcsdCustomerUserName :: Lens' DirectoryConnectSettingsDescription (Maybe Text)+dcsdCustomerUserName = lens _dcsdCustomerUserName (\ s a -> s{_dcsdCustomerUserName = a});++-- | A list of subnet identifiers in the VPC that the AD connector is in.+dcsdSubnetIds :: Lens' DirectoryConnectSettingsDescription [Text]+dcsdSubnetIds = lens _dcsdSubnetIds (\ s a -> s{_dcsdSubnetIds = a}) . _Default . _Coerce;++-- | The identifier of the VPC that the AD Connector is in.+dcsdVPCId :: Lens' DirectoryConnectSettingsDescription (Maybe Text)+dcsdVPCId = lens _dcsdVPCId (\ s a -> s{_dcsdVPCId = a});++-- | The IP addresses of the AD Connector servers.+dcsdConnectIPs :: Lens' DirectoryConnectSettingsDescription [Text]+dcsdConnectIPs = lens _dcsdConnectIPs (\ s a -> s{_dcsdConnectIPs = a}) . _Default . _Coerce;++-- | The security group identifier for the AD Connector directory.+dcsdSecurityGroupId :: Lens' DirectoryConnectSettingsDescription (Maybe Text)+dcsdSecurityGroupId = lens _dcsdSecurityGroupId (\ s a -> s{_dcsdSecurityGroupId = a});++-- | A list of the Availability Zones that the directory is in.+dcsdAvailabilityZones :: Lens' DirectoryConnectSettingsDescription [Text]+dcsdAvailabilityZones = lens _dcsdAvailabilityZones (\ s a -> s{_dcsdAvailabilityZones = a}) . _Default . _Coerce;++instance FromJSON DirectoryConnectSettingsDescription+ where+ parseJSON+ = withObject "DirectoryConnectSettingsDescription"+ (\ x ->+ DirectoryConnectSettingsDescription' <$>+ (x .:? "CustomerUserName") <*>+ (x .:? "SubnetIds" .!= mempty)+ <*> (x .:? "VpcId")+ <*> (x .:? "ConnectIps" .!= mempty)+ <*> (x .:? "SecurityGroupId")+ <*> (x .:? "AvailabilityZones" .!= mempty))++-- | Contains information about an AWS Directory Service directory.+--+-- /See:/ 'directoryDescription' smart constructor.+data DirectoryDescription = DirectoryDescription'+ { _ddRadiusStatus :: !(Maybe RadiusStatus)+ , _ddDirectoryId :: !(Maybe Text)+ , _ddStage :: !(Maybe DirectoryStage)+ , _ddAccessURL :: !(Maybe Text)+ , _ddShortName :: !(Maybe Text)+ , _ddSize :: !(Maybe DirectorySize)+ , _ddRadiusSettings :: !(Maybe RadiusSettings)+ , _ddLaunchTime :: !(Maybe POSIX)+ , _ddAlias :: !(Maybe Text)+ , _ddName :: !(Maybe Text)+ , _ddSSOEnabled :: !(Maybe Bool)+ , _ddStageLastUpdatedDateTime :: !(Maybe POSIX)+ , _ddStageReason :: !(Maybe Text)+ , _ddDNSIPAddrs :: !(Maybe [Text])+ , _ddVPCSettings :: !(Maybe DirectoryVPCSettingsDescription)+ , _ddType :: !(Maybe DirectoryType)+ , _ddConnectSettings :: !(Maybe DirectoryConnectSettingsDescription)+ , _ddDescription :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectoryDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'ddRadiusStatus'+--+-- * 'ddDirectoryId'+--+-- * 'ddStage'+--+-- * 'ddAccessURL'+--+-- * 'ddShortName'+--+-- * 'ddSize'+--+-- * 'ddRadiusSettings'+--+-- * 'ddLaunchTime'+--+-- * 'ddAlias'+--+-- * 'ddName'+--+-- * 'ddSSOEnabled'+--+-- * 'ddStageLastUpdatedDateTime'+--+-- * 'ddStageReason'+--+-- * 'ddDNSIPAddrs'+--+-- * 'ddVPCSettings'+--+-- * 'ddType'+--+-- * 'ddConnectSettings'+--+-- * 'ddDescription'+directoryDescription+ :: DirectoryDescription+directoryDescription =+ DirectoryDescription'+ { _ddRadiusStatus = Nothing+ , _ddDirectoryId = Nothing+ , _ddStage = Nothing+ , _ddAccessURL = Nothing+ , _ddShortName = Nothing+ , _ddSize = Nothing+ , _ddRadiusSettings = Nothing+ , _ddLaunchTime = Nothing+ , _ddAlias = Nothing+ , _ddName = Nothing+ , _ddSSOEnabled = Nothing+ , _ddStageLastUpdatedDateTime = Nothing+ , _ddStageReason = Nothing+ , _ddDNSIPAddrs = Nothing+ , _ddVPCSettings = Nothing+ , _ddType = Nothing+ , _ddConnectSettings = Nothing+ , _ddDescription = Nothing+ }++-- | The status of the RADIUS MFA server connection.+ddRadiusStatus :: Lens' DirectoryDescription (Maybe RadiusStatus)+ddRadiusStatus = lens _ddRadiusStatus (\ s a -> s{_ddRadiusStatus = a});++-- | The directory identifier.+ddDirectoryId :: Lens' DirectoryDescription (Maybe Text)+ddDirectoryId = lens _ddDirectoryId (\ s a -> s{_ddDirectoryId = a});++-- | The current stage of the directory.+ddStage :: Lens' DirectoryDescription (Maybe DirectoryStage)+ddStage = lens _ddStage (\ s a -> s{_ddStage = a});++-- | The access URL for the directory, such as+-- 'http:\/\/\<alias>.awsapps.com'.+ddAccessURL :: Lens' DirectoryDescription (Maybe Text)+ddAccessURL = lens _ddAccessURL (\ s a -> s{_ddAccessURL = a});++-- | The short name of the directory.+ddShortName :: Lens' DirectoryDescription (Maybe Text)+ddShortName = lens _ddShortName (\ s a -> s{_ddShortName = a});++-- | The directory size.+ddSize :: Lens' DirectoryDescription (Maybe DirectorySize)+ddSize = lens _ddSize (\ s a -> s{_ddSize = a});++-- | A RadiusSettings object that contains information about the RADIUS+-- server configured for this directory.+ddRadiusSettings :: Lens' DirectoryDescription (Maybe RadiusSettings)+ddRadiusSettings = lens _ddRadiusSettings (\ s a -> s{_ddRadiusSettings = a});++-- | Specifies when the directory was created.+ddLaunchTime :: Lens' DirectoryDescription (Maybe UTCTime)+ddLaunchTime = lens _ddLaunchTime (\ s a -> s{_ddLaunchTime = a}) . mapping _Time;++-- | The alias for the directory.+ddAlias :: Lens' DirectoryDescription (Maybe Text)+ddAlias = lens _ddAlias (\ s a -> s{_ddAlias = a});++-- | The fully-qualified name of the directory.+ddName :: Lens' DirectoryDescription (Maybe Text)+ddName = lens _ddName (\ s a -> s{_ddName = a});++-- | Indicates if single-sign on is enabled for the directory. For more+-- information, see EnableSso and DisableSso.+ddSSOEnabled :: Lens' DirectoryDescription (Maybe Bool)+ddSSOEnabled = lens _ddSSOEnabled (\ s a -> s{_ddSSOEnabled = a});++-- | The date and time that the stage was last updated.+ddStageLastUpdatedDateTime :: Lens' DirectoryDescription (Maybe UTCTime)+ddStageLastUpdatedDateTime = lens _ddStageLastUpdatedDateTime (\ s a -> s{_ddStageLastUpdatedDateTime = a}) . mapping _Time;++-- | Additional information about the directory stage.+ddStageReason :: Lens' DirectoryDescription (Maybe Text)+ddStageReason = lens _ddStageReason (\ s a -> s{_ddStageReason = a});++-- | The IP addresses of the DNS servers for the directory. For a Simple AD+-- directory, these are the IP addresses of the Simple AD directory+-- servers. For an AD Connector directory, these are the IP addresses of+-- the DNS servers or domain controllers in the on-premises directory that+-- the AD Connector is connected to.+ddDNSIPAddrs :: Lens' DirectoryDescription [Text]+ddDNSIPAddrs = lens _ddDNSIPAddrs (\ s a -> s{_ddDNSIPAddrs = a}) . _Default . _Coerce;++-- | A DirectoryVpcSettingsDescription object that contains additional+-- information about a Simple AD directory. This member is only present if+-- the directory is a Simple AD directory.+ddVPCSettings :: Lens' DirectoryDescription (Maybe DirectoryVPCSettingsDescription)+ddVPCSettings = lens _ddVPCSettings (\ s a -> s{_ddVPCSettings = a});++-- | The directory size.+ddType :: Lens' DirectoryDescription (Maybe DirectoryType)+ddType = lens _ddType (\ s a -> s{_ddType = a});++-- | A DirectoryConnectSettingsDescription object that contains additional+-- information about an AD Connector directory. This member is only present+-- if the directory is an AD Connector directory.+ddConnectSettings :: Lens' DirectoryDescription (Maybe DirectoryConnectSettingsDescription)+ddConnectSettings = lens _ddConnectSettings (\ s a -> s{_ddConnectSettings = a});++-- | The textual description for the directory.+ddDescription :: Lens' DirectoryDescription (Maybe Text)+ddDescription = lens _ddDescription (\ s a -> s{_ddDescription = a});++instance FromJSON DirectoryDescription where+ parseJSON+ = withObject "DirectoryDescription"+ (\ x ->+ DirectoryDescription' <$>+ (x .:? "RadiusStatus") <*> (x .:? "DirectoryId") <*>+ (x .:? "Stage")+ <*> (x .:? "AccessUrl")+ <*> (x .:? "ShortName")+ <*> (x .:? "Size")+ <*> (x .:? "RadiusSettings")+ <*> (x .:? "LaunchTime")+ <*> (x .:? "Alias")+ <*> (x .:? "Name")+ <*> (x .:? "SsoEnabled")+ <*> (x .:? "StageLastUpdatedDateTime")+ <*> (x .:? "StageReason")+ <*> (x .:? "DnsIpAddrs" .!= mempty)+ <*> (x .:? "VpcSettings")+ <*> (x .:? "Type")+ <*> (x .:? "ConnectSettings")+ <*> (x .:? "Description"))++-- | Contains directory limit information for a region.+--+-- /See:/ 'directoryLimits' smart constructor.+data DirectoryLimits = DirectoryLimits'+ { _dlConnectedDirectoriesCurrentCount :: !(Maybe Nat)+ , _dlConnectedDirectoriesLimit :: !(Maybe Nat)+ , _dlConnectedDirectoriesLimitReached :: !(Maybe Bool)+ , _dlCloudOnlyDirectoriesLimit :: !(Maybe Nat)+ , _dlCloudOnlyDirectoriesCurrentCount :: !(Maybe Nat)+ , _dlCloudOnlyDirectoriesLimitReached :: !(Maybe Bool)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectoryLimits' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dlConnectedDirectoriesCurrentCount'+--+-- * 'dlConnectedDirectoriesLimit'+--+-- * 'dlConnectedDirectoriesLimitReached'+--+-- * 'dlCloudOnlyDirectoriesLimit'+--+-- * 'dlCloudOnlyDirectoriesCurrentCount'+--+-- * 'dlCloudOnlyDirectoriesLimitReached'+directoryLimits+ :: DirectoryLimits+directoryLimits =+ DirectoryLimits'+ { _dlConnectedDirectoriesCurrentCount = Nothing+ , _dlConnectedDirectoriesLimit = Nothing+ , _dlConnectedDirectoriesLimitReached = Nothing+ , _dlCloudOnlyDirectoriesLimit = Nothing+ , _dlCloudOnlyDirectoriesCurrentCount = Nothing+ , _dlCloudOnlyDirectoriesLimitReached = Nothing+ }++-- | The current number of connected directories in the region.+dlConnectedDirectoriesCurrentCount :: Lens' DirectoryLimits (Maybe Natural)+dlConnectedDirectoriesCurrentCount = lens _dlConnectedDirectoriesCurrentCount (\ s a -> s{_dlConnectedDirectoriesCurrentCount = a}) . mapping _Nat;++-- | The maximum number of connected directories allowed in the region.+dlConnectedDirectoriesLimit :: Lens' DirectoryLimits (Maybe Natural)+dlConnectedDirectoriesLimit = lens _dlConnectedDirectoriesLimit (\ s a -> s{_dlConnectedDirectoriesLimit = a}) . mapping _Nat;++-- | Indicates if the connected directory limit has been reached.+dlConnectedDirectoriesLimitReached :: Lens' DirectoryLimits (Maybe Bool)+dlConnectedDirectoriesLimitReached = lens _dlConnectedDirectoriesLimitReached (\ s a -> s{_dlConnectedDirectoriesLimitReached = a});++-- | The maximum number of cloud directories allowed in the region.+dlCloudOnlyDirectoriesLimit :: Lens' DirectoryLimits (Maybe Natural)+dlCloudOnlyDirectoriesLimit = lens _dlCloudOnlyDirectoriesLimit (\ s a -> s{_dlCloudOnlyDirectoriesLimit = a}) . mapping _Nat;++-- | The current number of cloud directories in the region.+dlCloudOnlyDirectoriesCurrentCount :: Lens' DirectoryLimits (Maybe Natural)+dlCloudOnlyDirectoriesCurrentCount = lens _dlCloudOnlyDirectoriesCurrentCount (\ s a -> s{_dlCloudOnlyDirectoriesCurrentCount = a}) . mapping _Nat;++-- | Indicates if the cloud directory limit has been reached.+dlCloudOnlyDirectoriesLimitReached :: Lens' DirectoryLimits (Maybe Bool)+dlCloudOnlyDirectoriesLimitReached = lens _dlCloudOnlyDirectoriesLimitReached (\ s a -> s{_dlCloudOnlyDirectoriesLimitReached = a});++instance FromJSON DirectoryLimits where+ parseJSON+ = withObject "DirectoryLimits"+ (\ x ->+ DirectoryLimits' <$>+ (x .:? "ConnectedDirectoriesCurrentCount") <*>+ (x .:? "ConnectedDirectoriesLimit")+ <*> (x .:? "ConnectedDirectoriesLimitReached")+ <*> (x .:? "CloudOnlyDirectoriesLimit")+ <*> (x .:? "CloudOnlyDirectoriesCurrentCount")+ <*> (x .:? "CloudOnlyDirectoriesLimitReached"))++-- | Contains information for the CreateDirectory operation when a Simple AD+-- directory is being created.+--+-- /See:/ 'directoryVPCSettings' smart constructor.+data DirectoryVPCSettings = DirectoryVPCSettings'+ { _dvsVPCId :: !Text+ , _dvsSubnetIds :: ![Text]+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectoryVPCSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvsVPCId'+--+-- * 'dvsSubnetIds'+directoryVPCSettings+ :: Text -- ^ 'dvsVPCId'+ -> DirectoryVPCSettings+directoryVPCSettings pVPCId_ =+ DirectoryVPCSettings'+ { _dvsVPCId = pVPCId_+ , _dvsSubnetIds = mempty+ }++-- | The identifier of the VPC to create the Simple AD directory in.+dvsVPCId :: Lens' DirectoryVPCSettings Text+dvsVPCId = lens _dvsVPCId (\ s a -> s{_dvsVPCId = a});++-- | The identifiers of the subnets for the directory servers. The two+-- subnets must be in different Availability Zones. AWS Directory Service+-- creates a directory server and a DNS server in each of these subnets.+dvsSubnetIds :: Lens' DirectoryVPCSettings [Text]+dvsSubnetIds = lens _dvsSubnetIds (\ s a -> s{_dvsSubnetIds = a}) . _Coerce;++instance ToJSON DirectoryVPCSettings where+ toJSON DirectoryVPCSettings'{..}+ = object+ ["VpcId" .= _dvsVPCId, "SubnetIds" .= _dvsSubnetIds]++-- | Contains information about a Simple AD directory.+--+-- /See:/ 'directoryVPCSettingsDescription' smart constructor.+data DirectoryVPCSettingsDescription = DirectoryVPCSettingsDescription'+ { _dvsdSubnetIds :: !(Maybe [Text])+ , _dvsdVPCId :: !(Maybe Text)+ , _dvsdSecurityGroupId :: !(Maybe Text)+ , _dvsdAvailabilityZones :: !(Maybe [Text])+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'DirectoryVPCSettingsDescription' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'dvsdSubnetIds'+--+-- * 'dvsdVPCId'+--+-- * 'dvsdSecurityGroupId'+--+-- * 'dvsdAvailabilityZones'+directoryVPCSettingsDescription+ :: DirectoryVPCSettingsDescription+directoryVPCSettingsDescription =+ DirectoryVPCSettingsDescription'+ { _dvsdSubnetIds = Nothing+ , _dvsdVPCId = Nothing+ , _dvsdSecurityGroupId = Nothing+ , _dvsdAvailabilityZones = Nothing+ }++-- | The identifiers of the subnets for the directory servers.+dvsdSubnetIds :: Lens' DirectoryVPCSettingsDescription [Text]+dvsdSubnetIds = lens _dvsdSubnetIds (\ s a -> s{_dvsdSubnetIds = a}) . _Default . _Coerce;++-- | The identifier of the VPC that the directory is in.+dvsdVPCId :: Lens' DirectoryVPCSettingsDescription (Maybe Text)+dvsdVPCId = lens _dvsdVPCId (\ s a -> s{_dvsdVPCId = a});++-- | The security group identifier for the directory.+dvsdSecurityGroupId :: Lens' DirectoryVPCSettingsDescription (Maybe Text)+dvsdSecurityGroupId = lens _dvsdSecurityGroupId (\ s a -> s{_dvsdSecurityGroupId = a});++-- | The list of Availability Zones that the directory is in.+dvsdAvailabilityZones :: Lens' DirectoryVPCSettingsDescription [Text]+dvsdAvailabilityZones = lens _dvsdAvailabilityZones (\ s a -> s{_dvsdAvailabilityZones = a}) . _Default . _Coerce;++instance FromJSON DirectoryVPCSettingsDescription+ where+ parseJSON+ = withObject "DirectoryVPCSettingsDescription"+ (\ x ->+ DirectoryVPCSettingsDescription' <$>+ (x .:? "SubnetIds" .!= mempty) <*> (x .:? "VpcId")+ <*> (x .:? "SecurityGroupId")+ <*> (x .:? "AvailabilityZones" .!= mempty))++-- | Contains information about a Remote Authentication Dial In User Service+-- (RADIUS) server.+--+-- /See:/ 'radiusSettings' smart constructor.+data RadiusSettings = RadiusSettings'+ { _rsDisplayLabel :: !(Maybe Text)+ , _rsRadiusServers :: !(Maybe [Text])+ , _rsRadiusRetries :: !(Maybe Nat)+ , _rsAuthenticationProtocol :: !(Maybe RadiusAuthenticationProtocol)+ , _rsUseSameUsername :: !(Maybe Bool)+ , _rsSharedSecret :: !(Maybe (Sensitive Text))+ , _rsRadiusTimeout :: !(Maybe Nat)+ , _rsRadiusPort :: !(Maybe Nat)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'RadiusSettings' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'rsDisplayLabel'+--+-- * 'rsRadiusServers'+--+-- * 'rsRadiusRetries'+--+-- * 'rsAuthenticationProtocol'+--+-- * 'rsUseSameUsername'+--+-- * 'rsSharedSecret'+--+-- * 'rsRadiusTimeout'+--+-- * 'rsRadiusPort'+radiusSettings+ :: RadiusSettings+radiusSettings =+ RadiusSettings'+ { _rsDisplayLabel = Nothing+ , _rsRadiusServers = Nothing+ , _rsRadiusRetries = Nothing+ , _rsAuthenticationProtocol = Nothing+ , _rsUseSameUsername = Nothing+ , _rsSharedSecret = Nothing+ , _rsRadiusTimeout = Nothing+ , _rsRadiusPort = Nothing+ }++-- | Not currently used.+rsDisplayLabel :: Lens' RadiusSettings (Maybe Text)+rsDisplayLabel = lens _rsDisplayLabel (\ s a -> s{_rsDisplayLabel = a});++-- | An array of strings that contains the IP addresses of the RADIUS server+-- endpoints, or the IP addresses of your RADIUS server load balancer.+rsRadiusServers :: Lens' RadiusSettings [Text]+rsRadiusServers = lens _rsRadiusServers (\ s a -> s{_rsRadiusServers = a}) . _Default . _Coerce;++-- | The maximum number of times that communication with the RADIUS server is+-- attempted.+rsRadiusRetries :: Lens' RadiusSettings (Maybe Natural)+rsRadiusRetries = lens _rsRadiusRetries (\ s a -> s{_rsRadiusRetries = a}) . mapping _Nat;++-- | The protocol specified for your RADIUS endpoints.+rsAuthenticationProtocol :: Lens' RadiusSettings (Maybe RadiusAuthenticationProtocol)+rsAuthenticationProtocol = lens _rsAuthenticationProtocol (\ s a -> s{_rsAuthenticationProtocol = a});++-- | Not currently used.+rsUseSameUsername :: Lens' RadiusSettings (Maybe Bool)+rsUseSameUsername = lens _rsUseSameUsername (\ s a -> s{_rsUseSameUsername = a});++-- | The shared secret code that was specified when your RADIUS endpoints+-- were created.+rsSharedSecret :: Lens' RadiusSettings (Maybe Text)+rsSharedSecret = lens _rsSharedSecret (\ s a -> s{_rsSharedSecret = a}) . mapping _Sensitive;++-- | The amount of time, in seconds, to wait for the RADIUS server to+-- respond.+rsRadiusTimeout :: Lens' RadiusSettings (Maybe Natural)+rsRadiusTimeout = lens _rsRadiusTimeout (\ s a -> s{_rsRadiusTimeout = a}) . mapping _Nat;++-- | The port that your RADIUS server is using for communications. Your+-- on-premises network must allow inbound traffic over this port from the+-- AWS Directory Service servers.+rsRadiusPort :: Lens' RadiusSettings (Maybe Natural)+rsRadiusPort = lens _rsRadiusPort (\ s a -> s{_rsRadiusPort = a}) . mapping _Nat;++instance FromJSON RadiusSettings where+ parseJSON+ = withObject "RadiusSettings"+ (\ x ->+ RadiusSettings' <$>+ (x .:? "DisplayLabel") <*>+ (x .:? "RadiusServers" .!= mempty)+ <*> (x .:? "RadiusRetries")+ <*> (x .:? "AuthenticationProtocol")+ <*> (x .:? "UseSameUsername")+ <*> (x .:? "SharedSecret")+ <*> (x .:? "RadiusTimeout")+ <*> (x .:? "RadiusPort"))++instance ToJSON RadiusSettings where+ toJSON RadiusSettings'{..}+ = object+ ["DisplayLabel" .= _rsDisplayLabel,+ "RadiusServers" .= _rsRadiusServers,+ "RadiusRetries" .= _rsRadiusRetries,+ "AuthenticationProtocol" .=+ _rsAuthenticationProtocol,+ "UseSameUsername" .= _rsUseSameUsername,+ "SharedSecret" .= _rsSharedSecret,+ "RadiusTimeout" .= _rsRadiusTimeout,+ "RadiusPort" .= _rsRadiusPort]++-- | Describes a directory snapshot.+--+-- /See:/ 'snapshot' smart constructor.+data Snapshot = Snapshot'+ { _sDirectoryId :: !(Maybe Text)+ , _sStatus :: !(Maybe SnapshotStatus)+ , _sStartTime :: !(Maybe POSIX)+ , _sName :: !(Maybe Text)+ , _sType :: !(Maybe SnapshotType)+ , _sSnapshotId :: !(Maybe Text)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'Snapshot' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'sDirectoryId'+--+-- * 'sStatus'+--+-- * 'sStartTime'+--+-- * 'sName'+--+-- * 'sType'+--+-- * 'sSnapshotId'+snapshot+ :: Snapshot+snapshot =+ Snapshot'+ { _sDirectoryId = Nothing+ , _sStatus = Nothing+ , _sStartTime = Nothing+ , _sName = Nothing+ , _sType = Nothing+ , _sSnapshotId = Nothing+ }++-- | The directory identifier.+sDirectoryId :: Lens' Snapshot (Maybe Text)+sDirectoryId = lens _sDirectoryId (\ s a -> s{_sDirectoryId = a});++-- | The snapshot status.+sStatus :: Lens' Snapshot (Maybe SnapshotStatus)+sStatus = lens _sStatus (\ s a -> s{_sStatus = a});++-- | The date and time that the snapshot was taken.+sStartTime :: Lens' Snapshot (Maybe UTCTime)+sStartTime = lens _sStartTime (\ s a -> s{_sStartTime = a}) . mapping _Time;++-- | The descriptive name of the snapshot.+sName :: Lens' Snapshot (Maybe Text)+sName = lens _sName (\ s a -> s{_sName = a});++-- | The snapshot type.+sType :: Lens' Snapshot (Maybe SnapshotType)+sType = lens _sType (\ s a -> s{_sType = a});++-- | The snapshot identifier.+sSnapshotId :: Lens' Snapshot (Maybe Text)+sSnapshotId = lens _sSnapshotId (\ s a -> s{_sSnapshotId = a});++instance FromJSON Snapshot where+ parseJSON+ = withObject "Snapshot"+ (\ x ->+ Snapshot' <$>+ (x .:? "DirectoryId") <*> (x .:? "Status") <*>+ (x .:? "StartTime")+ <*> (x .:? "Name")+ <*> (x .:? "Type")+ <*> (x .:? "SnapshotId"))++-- | Contains manual snapshot limit information for a directory.+--+-- /See:/ 'snapshotLimits' smart constructor.+data SnapshotLimits = SnapshotLimits'+ { _slManualSnapshotsLimitReached :: !(Maybe Bool)+ , _slManualSnapshotsCurrentCount :: !(Maybe Nat)+ , _slManualSnapshotsLimit :: !(Maybe Nat)+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'SnapshotLimits' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'slManualSnapshotsLimitReached'+--+-- * 'slManualSnapshotsCurrentCount'+--+-- * 'slManualSnapshotsLimit'+snapshotLimits+ :: SnapshotLimits+snapshotLimits =+ SnapshotLimits'+ { _slManualSnapshotsLimitReached = Nothing+ , _slManualSnapshotsCurrentCount = Nothing+ , _slManualSnapshotsLimit = Nothing+ }++-- | Indicates if the manual snapshot limit has been reached.+slManualSnapshotsLimitReached :: Lens' SnapshotLimits (Maybe Bool)+slManualSnapshotsLimitReached = lens _slManualSnapshotsLimitReached (\ s a -> s{_slManualSnapshotsLimitReached = a});++-- | The current number of manual snapshots of the directory.+slManualSnapshotsCurrentCount :: Lens' SnapshotLimits (Maybe Natural)+slManualSnapshotsCurrentCount = lens _slManualSnapshotsCurrentCount (\ s a -> s{_slManualSnapshotsCurrentCount = a}) . mapping _Nat;++-- | The maximum number of manual snapshots allowed.+slManualSnapshotsLimit :: Lens' SnapshotLimits (Maybe Natural)+slManualSnapshotsLimit = lens _slManualSnapshotsLimit (\ s a -> s{_slManualSnapshotsLimit = a}) . mapping _Nat;++instance FromJSON SnapshotLimits where+ parseJSON+ = withObject "SnapshotLimits"+ (\ x ->+ SnapshotLimits' <$>+ (x .:? "ManualSnapshotsLimitReached") <*>+ (x .:? "ManualSnapshotsCurrentCount")+ <*> (x .:? "ManualSnapshotsLimit"))
+ gen/Network/AWS/DirectoryService/Types/Sum.hs view
@@ -0,0 +1,240 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.DirectoryService.Types.Sum+-- Copyright : (c) 2013-2015 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.DirectoryService.Types.Sum where++import Network.AWS.Prelude++data DirectorySize+ = Large+ | Small+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText DirectorySize where+ parser = takeLowerText >>= \case+ "large" -> pure Large+ "small" -> pure Small+ e -> fromTextError $ "Failure parsing DirectorySize from value: '" <> e+ <> "'. Accepted values: large, small"++instance ToText DirectorySize where+ toText = \case+ Large -> "large"+ Small -> "small"++instance Hashable DirectorySize+instance ToByteString DirectorySize+instance ToQuery DirectorySize+instance ToHeader DirectorySize++instance ToJSON DirectorySize where+ toJSON = toJSONText++instance FromJSON DirectorySize where+ parseJSON = parseJSONText "DirectorySize"++data DirectoryStage+ = DSActive+ | DSCreated+ | DSCreating+ | DSDeleted+ | DSDeleting+ | DSFailed+ | DSImpaired+ | DSInoperable+ | DSRequested+ | DSRestoreFailed+ | DSRestoring+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText DirectoryStage where+ parser = takeLowerText >>= \case+ "active" -> pure DSActive+ "created" -> pure DSCreated+ "creating" -> pure DSCreating+ "deleted" -> pure DSDeleted+ "deleting" -> pure DSDeleting+ "failed" -> pure DSFailed+ "impaired" -> pure DSImpaired+ "inoperable" -> pure DSInoperable+ "requested" -> pure DSRequested+ "restorefailed" -> pure DSRestoreFailed+ "restoring" -> pure DSRestoring+ e -> fromTextError $ "Failure parsing DirectoryStage from value: '" <> e+ <> "'. Accepted values: active, created, creating, deleted, deleting, failed, impaired, inoperable, requested, restorefailed, restoring"++instance ToText DirectoryStage where+ toText = \case+ DSActive -> "active"+ DSCreated -> "created"+ DSCreating -> "creating"+ DSDeleted -> "deleted"+ DSDeleting -> "deleting"+ DSFailed -> "failed"+ DSImpaired -> "impaired"+ DSInoperable -> "inoperable"+ DSRequested -> "requested"+ DSRestoreFailed -> "restorefailed"+ DSRestoring -> "restoring"++instance Hashable DirectoryStage+instance ToByteString DirectoryStage+instance ToQuery DirectoryStage+instance ToHeader DirectoryStage++instance FromJSON DirectoryStage where+ parseJSON = parseJSONText "DirectoryStage"++data DirectoryType+ = ADConnector+ | SimpleAD+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText DirectoryType where+ parser = takeLowerText >>= \case+ "adconnector" -> pure ADConnector+ "simplead" -> pure SimpleAD+ e -> fromTextError $ "Failure parsing DirectoryType from value: '" <> e+ <> "'. Accepted values: adconnector, simplead"++instance ToText DirectoryType where+ toText = \case+ ADConnector -> "adconnector"+ SimpleAD -> "simplead"++instance Hashable DirectoryType+instance ToByteString DirectoryType+instance ToQuery DirectoryType+instance ToHeader DirectoryType++instance FromJSON DirectoryType where+ parseJSON = parseJSONText "DirectoryType"++data RadiusAuthenticationProtocol+ = Chap+ | MsCHAPV1+ | MsCHAPV2+ | Pap+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText RadiusAuthenticationProtocol where+ parser = takeLowerText >>= \case+ "chap" -> pure Chap+ "ms-chapv1" -> pure MsCHAPV1+ "ms-chapv2" -> pure MsCHAPV2+ "pap" -> pure Pap+ e -> fromTextError $ "Failure parsing RadiusAuthenticationProtocol from value: '" <> e+ <> "'. Accepted values: chap, ms-chapv1, ms-chapv2, pap"++instance ToText RadiusAuthenticationProtocol where+ toText = \case+ Chap -> "chap"+ MsCHAPV1 -> "ms-chapv1"+ MsCHAPV2 -> "ms-chapv2"+ Pap -> "pap"++instance Hashable RadiusAuthenticationProtocol+instance ToByteString RadiusAuthenticationProtocol+instance ToQuery RadiusAuthenticationProtocol+instance ToHeader RadiusAuthenticationProtocol++instance ToJSON RadiusAuthenticationProtocol where+ toJSON = toJSONText++instance FromJSON RadiusAuthenticationProtocol where+ parseJSON = parseJSONText "RadiusAuthenticationProtocol"++data RadiusStatus+ = Completed+ | Creating+ | Failed+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText RadiusStatus where+ parser = takeLowerText >>= \case+ "completed" -> pure Completed+ "creating" -> pure Creating+ "failed" -> pure Failed+ e -> fromTextError $ "Failure parsing RadiusStatus from value: '" <> e+ <> "'. Accepted values: completed, creating, failed"++instance ToText RadiusStatus where+ toText = \case+ Completed -> "completed"+ Creating -> "creating"+ Failed -> "failed"++instance Hashable RadiusStatus+instance ToByteString RadiusStatus+instance ToQuery RadiusStatus+instance ToHeader RadiusStatus++instance FromJSON RadiusStatus where+ parseJSON = parseJSONText "RadiusStatus"++data SnapshotStatus+ = SSCompleted+ | SSCreating+ | SSFailed+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText SnapshotStatus where+ parser = takeLowerText >>= \case+ "completed" -> pure SSCompleted+ "creating" -> pure SSCreating+ "failed" -> pure SSFailed+ e -> fromTextError $ "Failure parsing SnapshotStatus from value: '" <> e+ <> "'. Accepted values: completed, creating, failed"++instance ToText SnapshotStatus where+ toText = \case+ SSCompleted -> "completed"+ SSCreating -> "creating"+ SSFailed -> "failed"++instance Hashable SnapshotStatus+instance ToByteString SnapshotStatus+instance ToQuery SnapshotStatus+instance ToHeader SnapshotStatus++instance FromJSON SnapshotStatus where+ parseJSON = parseJSONText "SnapshotStatus"++data SnapshotType+ = Auto+ | Manual+ deriving (Eq,Ord,Read,Show,Enum,Data,Typeable,Generic)++instance FromText SnapshotType where+ parser = takeLowerText >>= \case+ "auto" -> pure Auto+ "manual" -> pure Manual+ e -> fromTextError $ "Failure parsing SnapshotType from value: '" <> e+ <> "'. Accepted values: auto, manual"++instance ToText SnapshotType where+ toText = \case+ Auto -> "auto"+ Manual -> "manual"++instance Hashable SnapshotType+instance ToByteString SnapshotType+instance ToQuery SnapshotType+instance ToHeader SnapshotType++instance FromJSON SnapshotType where+ parseJSON = parseJSONText "SnapshotType"
+ gen/Network/AWS/DirectoryService/UpdateRadius.hs view
@@ -0,0 +1,135 @@+{-# 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.DirectoryService.UpdateRadius+-- Copyright : (c) 2013-2015 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)+--+-- Updates the Remote Authentication Dial In User Service (RADIUS) server+-- information for an AD Connector directory.+--+-- /See:/ <http://docs.aws.amazon.com/directoryservice/latest/devguide/API_UpdateRadius.html AWS API Reference> for UpdateRadius.+module Network.AWS.DirectoryService.UpdateRadius+ (+ -- * Creating a Request+ updateRadius+ , UpdateRadius+ -- * Request Lenses+ , urDirectoryId+ , urRadiusSettings++ -- * Destructuring the Response+ , updateRadiusResponse+ , UpdateRadiusResponse+ -- * Response Lenses+ , urrsStatus+ ) where++import Network.AWS.DirectoryService.Types+import Network.AWS.DirectoryService.Types.Product+import Network.AWS.Prelude+import Network.AWS.Request+import Network.AWS.Response++-- | Contains the inputs for the UpdateRadius operation.+--+-- /See:/ 'updateRadius' smart constructor.+data UpdateRadius = UpdateRadius'+ { _urDirectoryId :: !Text+ , _urRadiusSettings :: !RadiusSettings+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateRadius' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urDirectoryId'+--+-- * 'urRadiusSettings'+updateRadius+ :: Text -- ^ 'urDirectoryId'+ -> RadiusSettings -- ^ 'urRadiusSettings'+ -> UpdateRadius+updateRadius pDirectoryId_ pRadiusSettings_ =+ UpdateRadius'+ { _urDirectoryId = pDirectoryId_+ , _urRadiusSettings = pRadiusSettings_+ }++-- | The identifier of the directory to update the RADIUS server information+-- for.+urDirectoryId :: Lens' UpdateRadius Text+urDirectoryId = lens _urDirectoryId (\ s a -> s{_urDirectoryId = a});++-- | A RadiusSettings object that contains information about the RADIUS+-- server.+urRadiusSettings :: Lens' UpdateRadius RadiusSettings+urRadiusSettings = lens _urRadiusSettings (\ s a -> s{_urRadiusSettings = a});++instance AWSRequest UpdateRadius where+ type Sv UpdateRadius = DirectoryService+ type Rs UpdateRadius = UpdateRadiusResponse+ request = postJSON+ response+ = receiveEmpty+ (\ s h x ->+ UpdateRadiusResponse' <$> (pure (fromEnum s)))++instance ToHeaders UpdateRadius where+ toHeaders+ = const+ (mconcat+ ["X-Amz-Target" =#+ ("DirectoryService_20150416.UpdateRadius" ::+ ByteString),+ "Content-Type" =#+ ("application/x-amz-json-1.1" :: ByteString)])++instance ToJSON UpdateRadius where+ toJSON UpdateRadius'{..}+ = object+ ["DirectoryId" .= _urDirectoryId,+ "RadiusSettings" .= _urRadiusSettings]++instance ToPath UpdateRadius where+ toPath = const "/"++instance ToQuery UpdateRadius where+ toQuery = const mempty++-- | Contains the results of the UpdateRadius operation.+--+-- /See:/ 'updateRadiusResponse' smart constructor.+newtype UpdateRadiusResponse = UpdateRadiusResponse'+ { _urrsStatus :: Int+ } deriving (Eq,Read,Show,Data,Typeable,Generic)++-- | Creates a value of 'UpdateRadiusResponse' with the minimum fields required to make a request.+--+-- Use one of the following lenses to modify other fields as desired:+--+-- * 'urrsStatus'+updateRadiusResponse+ :: Int -- ^ 'urrsStatus'+ -> UpdateRadiusResponse+updateRadiusResponse pStatus_ =+ UpdateRadiusResponse'+ { _urrsStatus = pStatus_+ }++-- | The response status code.+urrsStatus :: Lens' UpdateRadiusResponse Int+urrsStatus = lens _urrsStatus (\ s a -> s{_urrsStatus = a});
+ gen/Network/AWS/DirectoryService/Waiters.hs view
@@ -0,0 +1,20 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TypeFamilies #-}++{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Network.AWS.DirectoryService.Waiters+-- Copyright : (c) 2013-2015 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.DirectoryService.Waiters where++import Network.AWS.DirectoryService.Types+import Network.AWS.Prelude+import Network.AWS.Waiter
+ test/Main.hs view
@@ -0,0 +1,21 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2015 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 Main (main) where++import Test.Tasty+import Test.AWS.DirectoryService+import Test.AWS.DirectoryService.Internal++main :: IO ()+main = defaultMain $ testGroup "DirectoryService"+ [ testGroup "tests" tests+ , testGroup "fixtures" fixtures+ ]
+ test/Test/AWS/DirectoryService.hs view
@@ -0,0 +1,26 @@+{-# LANGUAGE OverloadedStrings #-}++-- Module : Test.AWS.DirectoryService+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.DirectoryService+ ( tests+ , fixtures+ ) where++import Network.AWS.DirectoryService+import Test.AWS.Gen.DirectoryService+import Test.Tasty++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/AWS/DirectoryService/Internal.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Module : Test.AWS.DirectoryService.Internal+-- Copyright : (c) 2013-2015 Brendan Hay+-- License : This Source Code Form is subject to the terms of+-- the Mozilla Public License, v. 2.0.+-- A copy of the MPL can be found in the LICENSE file or+-- you can obtain it at http://mozilla.org/MPL/2.0/.+-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>+-- Stability : experimental+-- Portability : non-portable (GHC extensions)++module Test.AWS.DirectoryService.Internal where++import Test.AWS.Prelude
+ test/Test/AWS/Gen/DirectoryService.hs view
@@ -0,0 +1,328 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.AWS.Gen.DirectoryService+-- Copyright : (c) 2013-2015 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 Test.AWS.Gen.DirectoryService where++import Data.Proxy+import Test.AWS.Fixture+import Test.AWS.Prelude+import Test.Tasty+import Network.AWS.DirectoryService+import Test.AWS.DirectoryService.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.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ testGetSnapshotLimits $+-- getSnapshotLimits+--+-- , testConnectDirectory $+-- connectDirectory+--+-- , testDescribeDirectories $+-- describeDirectories+--+-- , testCreateAlias $+-- createAlias+--+-- , testCreateDirectory $+-- createDirectory+--+-- , testEnableSSO $+-- enableSSO+--+-- , testEnableRadius $+-- enableRadius+--+-- , testDisableRadius $+-- disableRadius+--+-- , testDescribeSnapshots $+-- describeSnapshots+--+-- , testRestoreFromSnapshot $+-- restoreFromSnapshot+--+-- , testDeleteSnapshot $+-- deleteSnapshot+--+-- , testCreateSnapshot $+-- createSnapshot+--+-- , testDeleteDirectory $+-- deleteDirectory+--+-- , testDisableSSO $+-- disableSSO+--+-- , testCreateComputer $+-- createComputer+--+-- , testGetDirectoryLimits $+-- getDirectoryLimits+--+-- , testUpdateRadius $+-- updateRadius+--+-- ]++-- , testGroup "response"+-- [ testGetSnapshotLimitsResponse $+-- getSnapshotLimitsResponse+--+-- , testConnectDirectoryResponse $+-- connectDirectoryResponse+--+-- , testDescribeDirectoriesResponse $+-- describeDirectoriesResponse+--+-- , testCreateAliasResponse $+-- createAliasResponse+--+-- , testCreateDirectoryResponse $+-- createDirectoryResponse+--+-- , testEnableSSOResponse $+-- enableSSOResponse+--+-- , testEnableRadiusResponse $+-- enableRadiusResponse+--+-- , testDisableRadiusResponse $+-- disableRadiusResponse+--+-- , testDescribeSnapshotsResponse $+-- describeSnapshotsResponse+--+-- , testRestoreFromSnapshotResponse $+-- restoreFromSnapshotResponse+--+-- , testDeleteSnapshotResponse $+-- deleteSnapshotResponse+--+-- , testCreateSnapshotResponse $+-- createSnapshotResponse+--+-- , testDeleteDirectoryResponse $+-- deleteDirectoryResponse+--+-- , testDisableSSOResponse $+-- disableSSOResponse+--+-- , testCreateComputerResponse $+-- createComputerResponse+--+-- , testGetDirectoryLimitsResponse $+-- getDirectoryLimitsResponse+--+-- , testUpdateRadiusResponse $+-- updateRadiusResponse+--+-- ]+-- ]++-- Requests++testGetSnapshotLimits :: GetSnapshotLimits -> TestTree+testGetSnapshotLimits = req+ "GetSnapshotLimits"+ "fixture/GetSnapshotLimits"++testConnectDirectory :: ConnectDirectory -> TestTree+testConnectDirectory = req+ "ConnectDirectory"+ "fixture/ConnectDirectory"++testDescribeDirectories :: DescribeDirectories -> TestTree+testDescribeDirectories = req+ "DescribeDirectories"+ "fixture/DescribeDirectories"++testCreateAlias :: CreateAlias -> TestTree+testCreateAlias = req+ "CreateAlias"+ "fixture/CreateAlias"++testCreateDirectory :: CreateDirectory -> TestTree+testCreateDirectory = req+ "CreateDirectory"+ "fixture/CreateDirectory"++testEnableSSO :: EnableSSO -> TestTree+testEnableSSO = req+ "EnableSSO"+ "fixture/EnableSSO"++testEnableRadius :: EnableRadius -> TestTree+testEnableRadius = req+ "EnableRadius"+ "fixture/EnableRadius"++testDisableRadius :: DisableRadius -> TestTree+testDisableRadius = req+ "DisableRadius"+ "fixture/DisableRadius"++testDescribeSnapshots :: DescribeSnapshots -> TestTree+testDescribeSnapshots = req+ "DescribeSnapshots"+ "fixture/DescribeSnapshots"++testRestoreFromSnapshot :: RestoreFromSnapshot -> TestTree+testRestoreFromSnapshot = req+ "RestoreFromSnapshot"+ "fixture/RestoreFromSnapshot"++testDeleteSnapshot :: DeleteSnapshot -> TestTree+testDeleteSnapshot = req+ "DeleteSnapshot"+ "fixture/DeleteSnapshot"++testCreateSnapshot :: CreateSnapshot -> TestTree+testCreateSnapshot = req+ "CreateSnapshot"+ "fixture/CreateSnapshot"++testDeleteDirectory :: DeleteDirectory -> TestTree+testDeleteDirectory = req+ "DeleteDirectory"+ "fixture/DeleteDirectory"++testDisableSSO :: DisableSSO -> TestTree+testDisableSSO = req+ "DisableSSO"+ "fixture/DisableSSO"++testCreateComputer :: CreateComputer -> TestTree+testCreateComputer = req+ "CreateComputer"+ "fixture/CreateComputer"++testGetDirectoryLimits :: GetDirectoryLimits -> TestTree+testGetDirectoryLimits = req+ "GetDirectoryLimits"+ "fixture/GetDirectoryLimits"++testUpdateRadius :: UpdateRadius -> TestTree+testUpdateRadius = req+ "UpdateRadius"+ "fixture/UpdateRadius"++-- Responses++testGetSnapshotLimitsResponse :: GetSnapshotLimitsResponse -> TestTree+testGetSnapshotLimitsResponse = res+ "GetSnapshotLimitsResponse"+ "fixture/GetSnapshotLimitsResponse"+ (Proxy :: Proxy GetSnapshotLimits)++testConnectDirectoryResponse :: ConnectDirectoryResponse -> TestTree+testConnectDirectoryResponse = res+ "ConnectDirectoryResponse"+ "fixture/ConnectDirectoryResponse"+ (Proxy :: Proxy ConnectDirectory)++testDescribeDirectoriesResponse :: DescribeDirectoriesResponse -> TestTree+testDescribeDirectoriesResponse = res+ "DescribeDirectoriesResponse"+ "fixture/DescribeDirectoriesResponse"+ (Proxy :: Proxy DescribeDirectories)++testCreateAliasResponse :: CreateAliasResponse -> TestTree+testCreateAliasResponse = res+ "CreateAliasResponse"+ "fixture/CreateAliasResponse"+ (Proxy :: Proxy CreateAlias)++testCreateDirectoryResponse :: CreateDirectoryResponse -> TestTree+testCreateDirectoryResponse = res+ "CreateDirectoryResponse"+ "fixture/CreateDirectoryResponse"+ (Proxy :: Proxy CreateDirectory)++testEnableSSOResponse :: EnableSSOResponse -> TestTree+testEnableSSOResponse = res+ "EnableSSOResponse"+ "fixture/EnableSSOResponse"+ (Proxy :: Proxy EnableSSO)++testEnableRadiusResponse :: EnableRadiusResponse -> TestTree+testEnableRadiusResponse = res+ "EnableRadiusResponse"+ "fixture/EnableRadiusResponse"+ (Proxy :: Proxy EnableRadius)++testDisableRadiusResponse :: DisableRadiusResponse -> TestTree+testDisableRadiusResponse = res+ "DisableRadiusResponse"+ "fixture/DisableRadiusResponse"+ (Proxy :: Proxy DisableRadius)++testDescribeSnapshotsResponse :: DescribeSnapshotsResponse -> TestTree+testDescribeSnapshotsResponse = res+ "DescribeSnapshotsResponse"+ "fixture/DescribeSnapshotsResponse"+ (Proxy :: Proxy DescribeSnapshots)++testRestoreFromSnapshotResponse :: RestoreFromSnapshotResponse -> TestTree+testRestoreFromSnapshotResponse = res+ "RestoreFromSnapshotResponse"+ "fixture/RestoreFromSnapshotResponse"+ (Proxy :: Proxy RestoreFromSnapshot)++testDeleteSnapshotResponse :: DeleteSnapshotResponse -> TestTree+testDeleteSnapshotResponse = res+ "DeleteSnapshotResponse"+ "fixture/DeleteSnapshotResponse"+ (Proxy :: Proxy DeleteSnapshot)++testCreateSnapshotResponse :: CreateSnapshotResponse -> TestTree+testCreateSnapshotResponse = res+ "CreateSnapshotResponse"+ "fixture/CreateSnapshotResponse"+ (Proxy :: Proxy CreateSnapshot)++testDeleteDirectoryResponse :: DeleteDirectoryResponse -> TestTree+testDeleteDirectoryResponse = res+ "DeleteDirectoryResponse"+ "fixture/DeleteDirectoryResponse"+ (Proxy :: Proxy DeleteDirectory)++testDisableSSOResponse :: DisableSSOResponse -> TestTree+testDisableSSOResponse = res+ "DisableSSOResponse"+ "fixture/DisableSSOResponse"+ (Proxy :: Proxy DisableSSO)++testCreateComputerResponse :: CreateComputerResponse -> TestTree+testCreateComputerResponse = res+ "CreateComputerResponse"+ "fixture/CreateComputerResponse"+ (Proxy :: Proxy CreateComputer)++testGetDirectoryLimitsResponse :: GetDirectoryLimitsResponse -> TestTree+testGetDirectoryLimitsResponse = res+ "GetDirectoryLimitsResponse"+ "fixture/GetDirectoryLimitsResponse"+ (Proxy :: Proxy GetDirectoryLimits)++testUpdateRadiusResponse :: UpdateRadiusResponse -> TestTree+testUpdateRadiusResponse = res+ "UpdateRadiusResponse"+ "fixture/UpdateRadiusResponse"+ (Proxy :: Proxy UpdateRadius)