amazonka-securitylake (empty) → 2.0
raw patch · 125 files changed
+11687/−0 lines, 125 filesdep +amazonka-coredep +amazonka-securitylakedep +amazonka-test
Dependencies added: amazonka-core, amazonka-securitylake, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-securitylake.cabal +136/−0
- fixture/CreateAwsLogSource.yaml +10/−0
- fixture/CreateAwsLogSourceResponse.proto +0/−0
- fixture/CreateCustomLogSource.yaml +10/−0
- fixture/CreateCustomLogSourceResponse.proto +0/−0
- fixture/CreateDatalake.yaml +10/−0
- fixture/CreateDatalakeAutoEnable.yaml +10/−0
- fixture/CreateDatalakeAutoEnableResponse.proto +0/−0
- fixture/CreateDatalakeDelegatedAdmin.yaml +10/−0
- fixture/CreateDatalakeDelegatedAdminResponse.proto +0/−0
- fixture/CreateDatalakeExceptionsSubscription.yaml +10/−0
- fixture/CreateDatalakeExceptionsSubscriptionResponse.proto +0/−0
- fixture/CreateDatalakeResponse.proto +0/−0
- fixture/CreateSubscriber.yaml +10/−0
- fixture/CreateSubscriberResponse.proto +0/−0
- fixture/CreateSubscriptionNotificationConfiguration.yaml +10/−0
- fixture/CreateSubscriptionNotificationConfigurationResponse.proto +0/−0
- fixture/DeleteAwsLogSource.yaml +10/−0
- fixture/DeleteAwsLogSourceResponse.proto +0/−0
- fixture/DeleteCustomLogSource.yaml +10/−0
- fixture/DeleteCustomLogSourceResponse.proto +0/−0
- fixture/DeleteDatalake.yaml +10/−0
- fixture/DeleteDatalakeAutoEnable.yaml +10/−0
- fixture/DeleteDatalakeAutoEnableResponse.proto +0/−0
- fixture/DeleteDatalakeDelegatedAdmin.yaml +10/−0
- fixture/DeleteDatalakeDelegatedAdminResponse.proto +0/−0
- fixture/DeleteDatalakeExceptionsSubscription.yaml +10/−0
- fixture/DeleteDatalakeExceptionsSubscriptionResponse.proto +0/−0
- fixture/DeleteDatalakeResponse.proto +0/−0
- fixture/DeleteSubscriber.yaml +10/−0
- fixture/DeleteSubscriberResponse.proto +0/−0
- fixture/DeleteSubscriptionNotificationConfiguration.yaml +10/−0
- fixture/DeleteSubscriptionNotificationConfigurationResponse.proto +0/−0
- fixture/GetDatalake.yaml +10/−0
- fixture/GetDatalakeAutoEnable.yaml +10/−0
- fixture/GetDatalakeAutoEnableResponse.proto +0/−0
- fixture/GetDatalakeExceptionsExpiry.yaml +10/−0
- fixture/GetDatalakeExceptionsExpiryResponse.proto +0/−0
- fixture/GetDatalakeExceptionsSubscription.yaml +10/−0
- fixture/GetDatalakeExceptionsSubscriptionResponse.proto +0/−0
- fixture/GetDatalakeResponse.proto +0/−0
- fixture/GetDatalakeStatus.yaml +10/−0
- fixture/GetDatalakeStatusResponse.proto +0/−0
- fixture/GetSubscriber.yaml +10/−0
- fixture/GetSubscriberResponse.proto +0/−0
- fixture/ListDatalakeExceptions.yaml +10/−0
- fixture/ListDatalakeExceptionsResponse.proto +0/−0
- fixture/ListLogSources.yaml +10/−0
- fixture/ListLogSourcesResponse.proto +0/−0
- fixture/ListSubscribers.yaml +10/−0
- fixture/ListSubscribersResponse.proto +0/−0
- fixture/UpdateDatalake.yaml +10/−0
- fixture/UpdateDatalakeExceptionsExpiry.yaml +10/−0
- fixture/UpdateDatalakeExceptionsExpiryResponse.proto +0/−0
- fixture/UpdateDatalakeExceptionsSubscription.yaml +10/−0
- fixture/UpdateDatalakeExceptionsSubscriptionResponse.proto +0/−0
- fixture/UpdateDatalakeResponse.proto +0/−0
- fixture/UpdateSubscriber.yaml +10/−0
- fixture/UpdateSubscriberResponse.proto +0/−0
- fixture/UpdateSubscriptionNotificationConfiguration.yaml +10/−0
- fixture/UpdateSubscriptionNotificationConfigurationResponse.proto +0/−0
- gen/Amazonka/SecurityLake.hs +440/−0
- gen/Amazonka/SecurityLake/CreateAwsLogSource.hs +261/−0
- gen/Amazonka/SecurityLake/CreateCustomLogSource.hs +346/−0
- gen/Amazonka/SecurityLake/CreateDatalake.hs +237/−0
- gen/Amazonka/SecurityLake/CreateDatalakeAutoEnable.hs +167/−0
- gen/Amazonka/SecurityLake/CreateDatalakeDelegatedAdmin.hs +165/−0
- gen/Amazonka/SecurityLake/CreateDatalakeExceptionsSubscription.hs +215/−0
- gen/Amazonka/SecurityLake/CreateSubscriber.hs +312/−0
- gen/Amazonka/SecurityLake/CreateSubscriptionNotificationConfiguration.hs +298/−0
- gen/Amazonka/SecurityLake/DeleteAwsLogSource.hs +262/−0
- gen/Amazonka/SecurityLake/DeleteCustomLogSource.hs +167/−0
- gen/Amazonka/SecurityLake/DeleteDatalake.hs +137/−0
- gen/Amazonka/SecurityLake/DeleteDatalakeAutoEnable.hs +178/−0
- gen/Amazonka/SecurityLake/DeleteDatalakeDelegatedAdmin.hs +157/−0
- gen/Amazonka/SecurityLake/DeleteDatalakeExceptionsSubscription.hs +173/−0
- gen/Amazonka/SecurityLake/DeleteSubscriber.hs +151/−0
- gen/Amazonka/SecurityLake/DeleteSubscriptionNotificationConfiguration.hs +182/−0
- gen/Amazonka/SecurityLake/GetDatalake.hs +144/−0
- gen/Amazonka/SecurityLake/GetDatalakeAutoEnable.hs +146/−0
- gen/Amazonka/SecurityLake/GetDatalakeExceptionsExpiry.hs +154/−0
- gen/Amazonka/SecurityLake/GetDatalakeExceptionsSubscription.hs +171/−0
- gen/Amazonka/SecurityLake/GetDatalakeStatus.hs +282/−0
- gen/Amazonka/SecurityLake/GetSubscriber.hs +161/−0
- gen/Amazonka/SecurityLake/Lens.hs +319/−0
- gen/Amazonka/SecurityLake/ListDatalakeExceptions.hs +275/−0
- gen/Amazonka/SecurityLake/ListLogSources.hs +297/−0
- gen/Amazonka/SecurityLake/ListSubscribers.hs +216/−0
- gen/Amazonka/SecurityLake/Types.hs +402/−0
- gen/Amazonka/SecurityLake/Types/AccessType.hs +71/−0
- gen/Amazonka/SecurityLake/Types/AccountSources.hs +123/−0
- gen/Amazonka/SecurityLake/Types/AutoEnableNewRegionConfiguration.hs +116/−0
- gen/Amazonka/SecurityLake/Types/AwsLogSourceType.hs +81/−0
- gen/Amazonka/SecurityLake/Types/Dimension.hs +76/−0
- gen/Amazonka/SecurityLake/Types/EndpointProtocol.hs +71/−0
- gen/Amazonka/SecurityLake/Types/Failures.hs +108/−0
- gen/Amazonka/SecurityLake/Types/FailuresResponse.hs +86/−0
- gen/Amazonka/SecurityLake/Types/HttpsMethod.hs +71/−0
- gen/Amazonka/SecurityLake/Types/LakeConfigurationRequest.hs +167/−0
- gen/Amazonka/SecurityLake/Types/LakeConfigurationResponse.hs +211/−0
- gen/Amazonka/SecurityLake/Types/LogsStatus.hs +92/−0
- gen/Amazonka/SecurityLake/Types/OcsfEventClass.hs +226/−0
- gen/Amazonka/SecurityLake/Types/ProtocolAndNotificationEndpoint.hs +97/−0
- gen/Amazonka/SecurityLake/Types/Region.hs +93/−0
- gen/Amazonka/SecurityLake/Types/RetentionSetting.hs +106/−0
- gen/Amazonka/SecurityLake/Types/SettingsStatus.hs +81/−0
- gen/Amazonka/SecurityLake/Types/SourceStatus.hs +76/−0
- gen/Amazonka/SecurityLake/Types/SourceType.hs +104/−0
- gen/Amazonka/SecurityLake/Types/StorageClass.hs +96/−0
- gen/Amazonka/SecurityLake/Types/SubscriberResource.hs +292/−0
- gen/Amazonka/SecurityLake/Types/SubscriptionProtocolType.hs +106/−0
- gen/Amazonka/SecurityLake/Types/SubscriptionStatus.hs +81/−0
- gen/Amazonka/SecurityLake/UpdateDatalake.hs +154/−0
- gen/Amazonka/SecurityLake/UpdateDatalakeExceptionsExpiry.hs +183/−0
- gen/Amazonka/SecurityLake/UpdateDatalakeExceptionsSubscription.hs +212/−0
- gen/Amazonka/SecurityLake/UpdateSubscriber.hs +234/−0
- gen/Amazonka/SecurityLake/UpdateSubscriptionNotificationConfiguration.hs +298/−0
- gen/Amazonka/SecurityLake/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/SecurityLake.hs +638/−0
- test/Test/Amazonka/SecurityLake.hs +20/−0
- test/Test/Amazonka/SecurityLake/Internal.hs +8/−0
+ LICENSE view
@@ -0,0 +1,367 @@+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.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon Security Lake SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-05-10@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-securitylake)+and the [AWS API Reference](https://aws.amazon.com/documentation/).++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, sending requests,+and receiving responses.++Lenses are used for constructing and manipulating types,+due to the depth of nesting of AWS types and transparency regarding+de/serialisation into more palatable Haskell values.+The provided lenses should be compatible with any of the major lens libraries+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++See [Amazonka.SecurityLake](http://hackage.haskell.org/package/amazonka-securitylake/docs/Amazonka-SecurityLake.html)+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.+++## 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-securitylake` 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.
+ amazonka-securitylake.cabal view
@@ -0,0 +1,136 @@+cabal-version: 2.2+name: amazonka-securitylake+version: 2.0+synopsis: Amazon Security Lake SDK.+homepage: https://github.com/brendanhay/amazonka+bug-reports: https://github.com/brendanhay/amazonka/issues+license: MPL-2.0+license-file: LICENSE+author: Brendan Hay+maintainer:+ Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright: Copyright (c) 2013-2023 Brendan Hay+category: AWS+build-type: Simple+extra-source-files:+ fixture/*.proto+ fixture/*.yaml+ README.md+ src/.gitkeep++description:+ Derived from API version @2018-05-10@ of the AWS service descriptions, licensed under Apache 2.0.+ .+ 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, sending requests, and receiving responses.+ .+ It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+ .+ Generated lenses can be found in "Amazonka.SecurityLake.Lens" and are+ suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+ .+ See "Amazonka.SecurityLake" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.++source-repository head+ type: git+ location: git://github.com/brendanhay/amazonka.git+ subdir: amazonka-securitylake++library+ default-language: Haskell2010+ hs-source-dirs: src gen+ ghc-options:+ -Wall -fwarn-incomplete-uni-patterns+ -fwarn-incomplete-record-updates -funbox-strict-fields++ exposed-modules:+ Amazonka.SecurityLake+ Amazonka.SecurityLake.CreateAwsLogSource+ Amazonka.SecurityLake.CreateCustomLogSource+ Amazonka.SecurityLake.CreateDatalake+ Amazonka.SecurityLake.CreateDatalakeAutoEnable+ Amazonka.SecurityLake.CreateDatalakeDelegatedAdmin+ Amazonka.SecurityLake.CreateDatalakeExceptionsSubscription+ Amazonka.SecurityLake.CreateSubscriber+ Amazonka.SecurityLake.CreateSubscriptionNotificationConfiguration+ Amazonka.SecurityLake.DeleteAwsLogSource+ Amazonka.SecurityLake.DeleteCustomLogSource+ Amazonka.SecurityLake.DeleteDatalake+ Amazonka.SecurityLake.DeleteDatalakeAutoEnable+ Amazonka.SecurityLake.DeleteDatalakeDelegatedAdmin+ Amazonka.SecurityLake.DeleteDatalakeExceptionsSubscription+ Amazonka.SecurityLake.DeleteSubscriber+ Amazonka.SecurityLake.DeleteSubscriptionNotificationConfiguration+ Amazonka.SecurityLake.GetDatalake+ Amazonka.SecurityLake.GetDatalakeAutoEnable+ Amazonka.SecurityLake.GetDatalakeExceptionsExpiry+ Amazonka.SecurityLake.GetDatalakeExceptionsSubscription+ Amazonka.SecurityLake.GetDatalakeStatus+ Amazonka.SecurityLake.GetSubscriber+ Amazonka.SecurityLake.Lens+ Amazonka.SecurityLake.ListDatalakeExceptions+ Amazonka.SecurityLake.ListLogSources+ Amazonka.SecurityLake.ListSubscribers+ Amazonka.SecurityLake.Types+ Amazonka.SecurityLake.Types.AccessType+ Amazonka.SecurityLake.Types.AccountSources+ Amazonka.SecurityLake.Types.AutoEnableNewRegionConfiguration+ Amazonka.SecurityLake.Types.AwsLogSourceType+ Amazonka.SecurityLake.Types.Dimension+ Amazonka.SecurityLake.Types.EndpointProtocol+ Amazonka.SecurityLake.Types.Failures+ Amazonka.SecurityLake.Types.FailuresResponse+ Amazonka.SecurityLake.Types.HttpsMethod+ Amazonka.SecurityLake.Types.LakeConfigurationRequest+ Amazonka.SecurityLake.Types.LakeConfigurationResponse+ Amazonka.SecurityLake.Types.LogsStatus+ Amazonka.SecurityLake.Types.OcsfEventClass+ Amazonka.SecurityLake.Types.ProtocolAndNotificationEndpoint+ Amazonka.SecurityLake.Types.Region+ Amazonka.SecurityLake.Types.RetentionSetting+ Amazonka.SecurityLake.Types.SettingsStatus+ Amazonka.SecurityLake.Types.SourceStatus+ Amazonka.SecurityLake.Types.SourceType+ Amazonka.SecurityLake.Types.StorageClass+ Amazonka.SecurityLake.Types.SubscriberResource+ Amazonka.SecurityLake.Types.SubscriptionProtocolType+ Amazonka.SecurityLake.Types.SubscriptionStatus+ Amazonka.SecurityLake.UpdateDatalake+ Amazonka.SecurityLake.UpdateDatalakeExceptionsExpiry+ Amazonka.SecurityLake.UpdateDatalakeExceptionsSubscription+ Amazonka.SecurityLake.UpdateSubscriber+ Amazonka.SecurityLake.UpdateSubscriptionNotificationConfiguration+ Amazonka.SecurityLake.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-securitylake-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -Wall -threaded++ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.Amazonka.Gen.SecurityLake+ Test.Amazonka.SecurityLake+ Test.Amazonka.SecurityLake.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-securitylake+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/CreateAwsLogSource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateAwsLogSourceResponse.proto view
+ fixture/CreateCustomLogSource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateCustomLogSourceResponse.proto view
+ fixture/CreateDatalake.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateDatalakeAutoEnable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateDatalakeAutoEnableResponse.proto view
+ fixture/CreateDatalakeDelegatedAdmin.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateDatalakeDelegatedAdminResponse.proto view
+ fixture/CreateDatalakeExceptionsSubscription.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateDatalakeExceptionsSubscriptionResponse.proto view
+ fixture/CreateDatalakeResponse.proto view
+ fixture/CreateSubscriber.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateSubscriberResponse.proto view
+ fixture/CreateSubscriptionNotificationConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/CreateSubscriptionNotificationConfigurationResponse.proto view
+ fixture/DeleteAwsLogSource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteAwsLogSourceResponse.proto view
+ fixture/DeleteCustomLogSource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteCustomLogSourceResponse.proto view
+ fixture/DeleteDatalake.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteDatalakeAutoEnable.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteDatalakeAutoEnableResponse.proto view
+ fixture/DeleteDatalakeDelegatedAdmin.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteDatalakeDelegatedAdminResponse.proto view
+ fixture/DeleteDatalakeExceptionsSubscription.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteDatalakeExceptionsSubscriptionResponse.proto view
+ fixture/DeleteDatalakeResponse.proto view
+ fixture/DeleteSubscriber.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteSubscriberResponse.proto view
+ fixture/DeleteSubscriptionNotificationConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/DeleteSubscriptionNotificationConfigurationResponse.proto view
+ fixture/GetDatalake.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetDatalakeAutoEnable.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetDatalakeAutoEnableResponse.proto view
+ fixture/GetDatalakeExceptionsExpiry.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetDatalakeExceptionsExpiryResponse.proto view
+ fixture/GetDatalakeExceptionsSubscription.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetDatalakeExceptionsSubscriptionResponse.proto view
+ fixture/GetDatalakeResponse.proto view
+ fixture/GetDatalakeStatus.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetDatalakeStatusResponse.proto view
+ fixture/GetSubscriber.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/GetSubscriberResponse.proto view
+ fixture/ListDatalakeExceptions.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListDatalakeExceptionsResponse.proto view
+ fixture/ListLogSources.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListLogSourcesResponse.proto view
+ fixture/ListSubscribers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/ListSubscribersResponse.proto view
+ fixture/UpdateDatalake.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateDatalakeExceptionsExpiry.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateDatalakeExceptionsExpiryResponse.proto view
+ fixture/UpdateDatalakeExceptionsSubscription.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateDatalakeExceptionsSubscriptionResponse.proto view
+ fixture/UpdateDatalakeResponse.proto view
+ fixture/UpdateSubscriber.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateSubscriberResponse.proto view
+ fixture/UpdateSubscriptionNotificationConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/securitylake/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: securitylake.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UpdateSubscriptionNotificationConfigurationResponse.proto view
+ gen/Amazonka/SecurityLake.hs view
@@ -0,0 +1,440 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.SecurityLake+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2018-05-10@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Security Lake is in preview release. Your use of the Security+-- Lake preview is subject to Section 2 of the+-- <http://aws.amazon.com/service-terms/ Amazon Web Services Service Terms>(\"Betas+-- and Previews\").+--+-- Amazon Security Lake is a fully managed security data lake service. You+-- can use Security Lake to automatically centralize security data from+-- cloud, on-premises, and custom sources into a data lake that\'s stored+-- in your Amazon Web Servicesaccount. Amazon Web Services Organizations is+-- an account management service that lets you consolidate multiple Amazon+-- Web Services accounts into an organization that you create and centrally+-- manage. With Organizations, you can create member accounts and invite+-- existing accounts to join your organization. Security Lake helps you+-- analyze security data for a more complete understanding of your security+-- posture across the entire organization. It can also help you improve the+-- protection of your workloads, applications, and data.+--+-- The data lake is backed by Amazon Simple Storage Service (Amazon S3)+-- buckets, and you retain ownership over your data.+--+-- Amazon Security Lake integrates with CloudTrail, a service that provides+-- a record of actions taken by a user, role, or an Amazon Web Services+-- service in Security Lake CloudTrail captures API calls for Security Lake+-- as events. The calls captured include calls from the Security Lake+-- console and code calls to the Security Lake API operations. If you+-- create a trail, you can enable continuous delivery of CloudTrail events+-- to an Amazon S3 bucket, including events for Security Lake. If you+-- don\'t configure a trail, you can still view the most recent events in+-- the CloudTrail console in Event history. Using the information collected+-- by CloudTrail you can determine the request that was made to Security+-- Lake, the IP address from which the request was made, who made the+-- request, when it was made, and additional details. To learn more about+-- Security Lake information in CloudTrail, see the+-- <https://docs.aws.amazon.com/security-lake/latest/userguide/securitylake-cloudtrail.html Amazon Security Lake User Guide>.+--+-- Security Lake automates the collection of security-related log and event+-- data from integrated Amazon Web Services and third-party services. It+-- also helps you manage the lifecycle of data with customizable retention+-- and replication settings. Security Lake converts ingested data into+-- Apache Parquet format and a standard open-source schema called the Open+-- Cybersecurity Schema Framework (OCSF).+--+-- Other Amazon Web Services and third-party services can subscribe to the+-- data that\'s stored in Security Lake for incident response and security+-- data analytics.+module Amazonka.SecurityLake+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** AccountNotFoundException+ _AccountNotFoundException,++ -- ** BucketNotFoundException+ _BucketNotFoundException,++ -- ** ConcurrentModificationException+ _ConcurrentModificationException,++ -- ** ConflictException+ _ConflictException,++ -- ** ConflictSourceNamesException+ _ConflictSourceNamesException,++ -- ** ConflictSubscriptionException+ _ConflictSubscriptionException,++ -- ** EventBridgeException+ _EventBridgeException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** InvalidInputException+ _InvalidInputException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** S3Exception+ _S3Exception,++ -- ** ServiceQuotaExceededException+ _ServiceQuotaExceededException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** CreateAwsLogSource+ CreateAwsLogSource (CreateAwsLogSource'),+ newCreateAwsLogSource,+ CreateAwsLogSourceResponse (CreateAwsLogSourceResponse'),+ newCreateAwsLogSourceResponse,++ -- ** CreateCustomLogSource+ CreateCustomLogSource (CreateCustomLogSource'),+ newCreateCustomLogSource,+ CreateCustomLogSourceResponse (CreateCustomLogSourceResponse'),+ newCreateCustomLogSourceResponse,++ -- ** CreateDatalake+ CreateDatalake (CreateDatalake'),+ newCreateDatalake,+ CreateDatalakeResponse (CreateDatalakeResponse'),+ newCreateDatalakeResponse,++ -- ** CreateDatalakeAutoEnable+ CreateDatalakeAutoEnable (CreateDatalakeAutoEnable'),+ newCreateDatalakeAutoEnable,+ CreateDatalakeAutoEnableResponse (CreateDatalakeAutoEnableResponse'),+ newCreateDatalakeAutoEnableResponse,++ -- ** CreateDatalakeDelegatedAdmin+ CreateDatalakeDelegatedAdmin (CreateDatalakeDelegatedAdmin'),+ newCreateDatalakeDelegatedAdmin,+ CreateDatalakeDelegatedAdminResponse (CreateDatalakeDelegatedAdminResponse'),+ newCreateDatalakeDelegatedAdminResponse,++ -- ** CreateDatalakeExceptionsSubscription+ CreateDatalakeExceptionsSubscription (CreateDatalakeExceptionsSubscription'),+ newCreateDatalakeExceptionsSubscription,+ CreateDatalakeExceptionsSubscriptionResponse (CreateDatalakeExceptionsSubscriptionResponse'),+ newCreateDatalakeExceptionsSubscriptionResponse,++ -- ** CreateSubscriber+ CreateSubscriber (CreateSubscriber'),+ newCreateSubscriber,+ CreateSubscriberResponse (CreateSubscriberResponse'),+ newCreateSubscriberResponse,++ -- ** CreateSubscriptionNotificationConfiguration+ CreateSubscriptionNotificationConfiguration (CreateSubscriptionNotificationConfiguration'),+ newCreateSubscriptionNotificationConfiguration,+ CreateSubscriptionNotificationConfigurationResponse (CreateSubscriptionNotificationConfigurationResponse'),+ newCreateSubscriptionNotificationConfigurationResponse,++ -- ** DeleteAwsLogSource+ DeleteAwsLogSource (DeleteAwsLogSource'),+ newDeleteAwsLogSource,+ DeleteAwsLogSourceResponse (DeleteAwsLogSourceResponse'),+ newDeleteAwsLogSourceResponse,++ -- ** DeleteCustomLogSource+ DeleteCustomLogSource (DeleteCustomLogSource'),+ newDeleteCustomLogSource,+ DeleteCustomLogSourceResponse (DeleteCustomLogSourceResponse'),+ newDeleteCustomLogSourceResponse,++ -- ** DeleteDatalake+ DeleteDatalake (DeleteDatalake'),+ newDeleteDatalake,+ DeleteDatalakeResponse (DeleteDatalakeResponse'),+ newDeleteDatalakeResponse,++ -- ** DeleteDatalakeAutoEnable+ DeleteDatalakeAutoEnable (DeleteDatalakeAutoEnable'),+ newDeleteDatalakeAutoEnable,+ DeleteDatalakeAutoEnableResponse (DeleteDatalakeAutoEnableResponse'),+ newDeleteDatalakeAutoEnableResponse,++ -- ** DeleteDatalakeDelegatedAdmin+ DeleteDatalakeDelegatedAdmin (DeleteDatalakeDelegatedAdmin'),+ newDeleteDatalakeDelegatedAdmin,+ DeleteDatalakeDelegatedAdminResponse (DeleteDatalakeDelegatedAdminResponse'),+ newDeleteDatalakeDelegatedAdminResponse,++ -- ** DeleteDatalakeExceptionsSubscription+ DeleteDatalakeExceptionsSubscription (DeleteDatalakeExceptionsSubscription'),+ newDeleteDatalakeExceptionsSubscription,+ DeleteDatalakeExceptionsSubscriptionResponse (DeleteDatalakeExceptionsSubscriptionResponse'),+ newDeleteDatalakeExceptionsSubscriptionResponse,++ -- ** DeleteSubscriber+ DeleteSubscriber (DeleteSubscriber'),+ newDeleteSubscriber,+ DeleteSubscriberResponse (DeleteSubscriberResponse'),+ newDeleteSubscriberResponse,++ -- ** DeleteSubscriptionNotificationConfiguration+ DeleteSubscriptionNotificationConfiguration (DeleteSubscriptionNotificationConfiguration'),+ newDeleteSubscriptionNotificationConfiguration,+ DeleteSubscriptionNotificationConfigurationResponse (DeleteSubscriptionNotificationConfigurationResponse'),+ newDeleteSubscriptionNotificationConfigurationResponse,++ -- ** GetDatalake+ GetDatalake (GetDatalake'),+ newGetDatalake,+ GetDatalakeResponse (GetDatalakeResponse'),+ newGetDatalakeResponse,++ -- ** GetDatalakeAutoEnable+ GetDatalakeAutoEnable (GetDatalakeAutoEnable'),+ newGetDatalakeAutoEnable,+ GetDatalakeAutoEnableResponse (GetDatalakeAutoEnableResponse'),+ newGetDatalakeAutoEnableResponse,++ -- ** GetDatalakeExceptionsExpiry+ GetDatalakeExceptionsExpiry (GetDatalakeExceptionsExpiry'),+ newGetDatalakeExceptionsExpiry,+ GetDatalakeExceptionsExpiryResponse (GetDatalakeExceptionsExpiryResponse'),+ newGetDatalakeExceptionsExpiryResponse,++ -- ** GetDatalakeExceptionsSubscription+ GetDatalakeExceptionsSubscription (GetDatalakeExceptionsSubscription'),+ newGetDatalakeExceptionsSubscription,+ GetDatalakeExceptionsSubscriptionResponse (GetDatalakeExceptionsSubscriptionResponse'),+ newGetDatalakeExceptionsSubscriptionResponse,++ -- ** GetDatalakeStatus (Paginated)+ GetDatalakeStatus (GetDatalakeStatus'),+ newGetDatalakeStatus,+ GetDatalakeStatusResponse (GetDatalakeStatusResponse'),+ newGetDatalakeStatusResponse,++ -- ** GetSubscriber+ GetSubscriber (GetSubscriber'),+ newGetSubscriber,+ GetSubscriberResponse (GetSubscriberResponse'),+ newGetSubscriberResponse,++ -- ** ListDatalakeExceptions (Paginated)+ ListDatalakeExceptions (ListDatalakeExceptions'),+ newListDatalakeExceptions,+ ListDatalakeExceptionsResponse (ListDatalakeExceptionsResponse'),+ newListDatalakeExceptionsResponse,++ -- ** ListLogSources (Paginated)+ ListLogSources (ListLogSources'),+ newListLogSources,+ ListLogSourcesResponse (ListLogSourcesResponse'),+ newListLogSourcesResponse,++ -- ** ListSubscribers (Paginated)+ ListSubscribers (ListSubscribers'),+ newListSubscribers,+ ListSubscribersResponse (ListSubscribersResponse'),+ newListSubscribersResponse,++ -- ** UpdateDatalake+ UpdateDatalake (UpdateDatalake'),+ newUpdateDatalake,+ UpdateDatalakeResponse (UpdateDatalakeResponse'),+ newUpdateDatalakeResponse,++ -- ** UpdateDatalakeExceptionsExpiry+ UpdateDatalakeExceptionsExpiry (UpdateDatalakeExceptionsExpiry'),+ newUpdateDatalakeExceptionsExpiry,+ UpdateDatalakeExceptionsExpiryResponse (UpdateDatalakeExceptionsExpiryResponse'),+ newUpdateDatalakeExceptionsExpiryResponse,++ -- ** UpdateDatalakeExceptionsSubscription+ UpdateDatalakeExceptionsSubscription (UpdateDatalakeExceptionsSubscription'),+ newUpdateDatalakeExceptionsSubscription,+ UpdateDatalakeExceptionsSubscriptionResponse (UpdateDatalakeExceptionsSubscriptionResponse'),+ newUpdateDatalakeExceptionsSubscriptionResponse,++ -- ** UpdateSubscriber+ UpdateSubscriber (UpdateSubscriber'),+ newUpdateSubscriber,+ UpdateSubscriberResponse (UpdateSubscriberResponse'),+ newUpdateSubscriberResponse,++ -- ** UpdateSubscriptionNotificationConfiguration+ UpdateSubscriptionNotificationConfiguration (UpdateSubscriptionNotificationConfiguration'),+ newUpdateSubscriptionNotificationConfiguration,+ UpdateSubscriptionNotificationConfigurationResponse (UpdateSubscriptionNotificationConfigurationResponse'),+ newUpdateSubscriptionNotificationConfigurationResponse,++ -- * Types++ -- ** AccessType+ AccessType (..),++ -- ** AwsLogSourceType+ AwsLogSourceType (..),++ -- ** Dimension+ Dimension (..),++ -- ** EndpointProtocol+ EndpointProtocol (..),++ -- ** HttpsMethod+ HttpsMethod (..),++ -- ** OcsfEventClass+ OcsfEventClass (..),++ -- ** Region+ Region (..),++ -- ** SettingsStatus+ SettingsStatus (..),++ -- ** SourceStatus+ SourceStatus (..),++ -- ** StorageClass+ StorageClass (..),++ -- ** SubscriptionProtocolType+ SubscriptionProtocolType (..),++ -- ** SubscriptionStatus+ SubscriptionStatus (..),++ -- ** AccountSources+ AccountSources (AccountSources'),+ newAccountSources,++ -- ** AutoEnableNewRegionConfiguration+ AutoEnableNewRegionConfiguration (AutoEnableNewRegionConfiguration'),+ newAutoEnableNewRegionConfiguration,++ -- ** Failures+ Failures (Failures'),+ newFailures,++ -- ** FailuresResponse+ FailuresResponse (FailuresResponse'),+ newFailuresResponse,++ -- ** LakeConfigurationRequest+ LakeConfigurationRequest (LakeConfigurationRequest'),+ newLakeConfigurationRequest,++ -- ** LakeConfigurationResponse+ LakeConfigurationResponse (LakeConfigurationResponse'),+ newLakeConfigurationResponse,++ -- ** LogsStatus+ LogsStatus (LogsStatus'),+ newLogsStatus,++ -- ** ProtocolAndNotificationEndpoint+ ProtocolAndNotificationEndpoint (ProtocolAndNotificationEndpoint'),+ newProtocolAndNotificationEndpoint,++ -- ** RetentionSetting+ RetentionSetting (RetentionSetting'),+ newRetentionSetting,++ -- ** SourceType+ SourceType (SourceType'),+ newSourceType,++ -- ** SubscriberResource+ SubscriberResource (SubscriberResource'),+ newSubscriberResource,+ )+where++import Amazonka.SecurityLake.CreateAwsLogSource+import Amazonka.SecurityLake.CreateCustomLogSource+import Amazonka.SecurityLake.CreateDatalake+import Amazonka.SecurityLake.CreateDatalakeAutoEnable+import Amazonka.SecurityLake.CreateDatalakeDelegatedAdmin+import Amazonka.SecurityLake.CreateDatalakeExceptionsSubscription+import Amazonka.SecurityLake.CreateSubscriber+import Amazonka.SecurityLake.CreateSubscriptionNotificationConfiguration+import Amazonka.SecurityLake.DeleteAwsLogSource+import Amazonka.SecurityLake.DeleteCustomLogSource+import Amazonka.SecurityLake.DeleteDatalake+import Amazonka.SecurityLake.DeleteDatalakeAutoEnable+import Amazonka.SecurityLake.DeleteDatalakeDelegatedAdmin+import Amazonka.SecurityLake.DeleteDatalakeExceptionsSubscription+import Amazonka.SecurityLake.DeleteSubscriber+import Amazonka.SecurityLake.DeleteSubscriptionNotificationConfiguration+import Amazonka.SecurityLake.GetDatalake+import Amazonka.SecurityLake.GetDatalakeAutoEnable+import Amazonka.SecurityLake.GetDatalakeExceptionsExpiry+import Amazonka.SecurityLake.GetDatalakeExceptionsSubscription+import Amazonka.SecurityLake.GetDatalakeStatus+import Amazonka.SecurityLake.GetSubscriber+import Amazonka.SecurityLake.Lens+import Amazonka.SecurityLake.ListDatalakeExceptions+import Amazonka.SecurityLake.ListLogSources+import Amazonka.SecurityLake.ListSubscribers+import Amazonka.SecurityLake.Types+import Amazonka.SecurityLake.UpdateDatalake+import Amazonka.SecurityLake.UpdateDatalakeExceptionsExpiry+import Amazonka.SecurityLake.UpdateDatalakeExceptionsSubscription+import Amazonka.SecurityLake.UpdateSubscriber+import Amazonka.SecurityLake.UpdateSubscriptionNotificationConfiguration+import Amazonka.SecurityLake.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 'SecurityLake'.++-- $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/Amazonka/SecurityLake/CreateAwsLogSource.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.CreateAwsLogSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a natively supported Amazon Web Service as an Amazon Security Lake+-- source. Enables source types for member accounts in required Amazon Web+-- Services Regions, based on the parameters you specify. You can choose+-- any source type in any Region for either accounts that are part of a+-- trusted organization or standalone accounts. At least one of the three+-- dimensions is a mandatory input to this API. However, you can supply any+-- combination of the three dimensions to this API.+--+-- By default, a dimension refers to the entire set. When you don\'t+-- provide a dimension, Security Lake assumes that the missing dimension+-- refers to the entire set. This is overridden when you supply any one of+-- the inputs. For instance, when you do not specify members, the API+-- enables all Security Lake member accounts for all sources. Similarly,+-- when you do not specify Regions, Security Lake is enabled for all the+-- Regions where Security Lake is available as a service.+--+-- You can use this API only to enable natively supported Amazon Web+-- Services as a source. Use @CreateCustomLogSource@ to enable data+-- collection from a custom source.+module Amazonka.SecurityLake.CreateAwsLogSource+ ( -- * Creating a Request+ CreateAwsLogSource (..),+ newCreateAwsLogSource,++ -- * Request Lenses+ createAwsLogSource_enableAllDimensions,+ createAwsLogSource_enableSingleDimension,+ createAwsLogSource_enableTwoDimensions,+ createAwsLogSource_inputOrder,++ -- * Destructuring the Response+ CreateAwsLogSourceResponse (..),+ newCreateAwsLogSourceResponse,++ -- * Response Lenses+ createAwsLogSourceResponse_failed,+ createAwsLogSourceResponse_processing,+ createAwsLogSourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newCreateAwsLogSource' smart constructor.+data CreateAwsLogSource = CreateAwsLogSource'+ { -- | Enables data collection from specific Amazon Web Services sources in all+ -- specific accounts and specific Regions.+ enableAllDimensions :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text [Prelude.Text])),+ -- | Enables data collection from all Amazon Web Services sources in specific+ -- accounts or Regions.+ enableSingleDimension :: Prelude.Maybe [Prelude.Text],+ -- | Enables data collection from specific Amazon Web Services sources in+ -- specific accounts or Regions.+ enableTwoDimensions :: Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]),+ -- | Specifies the input order to enable dimensions in Security Lake, namely+ -- Region, source type, and member account.+ inputOrder :: [Dimension]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAwsLogSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enableAllDimensions', 'createAwsLogSource_enableAllDimensions' - Enables data collection from specific Amazon Web Services sources in all+-- specific accounts and specific Regions.+--+-- 'enableSingleDimension', 'createAwsLogSource_enableSingleDimension' - Enables data collection from all Amazon Web Services sources in specific+-- accounts or Regions.+--+-- 'enableTwoDimensions', 'createAwsLogSource_enableTwoDimensions' - Enables data collection from specific Amazon Web Services sources in+-- specific accounts or Regions.+--+-- 'inputOrder', 'createAwsLogSource_inputOrder' - Specifies the input order to enable dimensions in Security Lake, namely+-- Region, source type, and member account.+newCreateAwsLogSource ::+ CreateAwsLogSource+newCreateAwsLogSource =+ CreateAwsLogSource'+ { enableAllDimensions =+ Prelude.Nothing,+ enableSingleDimension = Prelude.Nothing,+ enableTwoDimensions = Prelude.Nothing,+ inputOrder = Prelude.mempty+ }++-- | Enables data collection from specific Amazon Web Services sources in all+-- specific accounts and specific Regions.+createAwsLogSource_enableAllDimensions :: Lens.Lens' CreateAwsLogSource (Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text [Prelude.Text])))+createAwsLogSource_enableAllDimensions = Lens.lens (\CreateAwsLogSource' {enableAllDimensions} -> enableAllDimensions) (\s@CreateAwsLogSource' {} a -> s {enableAllDimensions = a} :: CreateAwsLogSource) Prelude.. Lens.mapping Lens.coerced++-- | Enables data collection from all Amazon Web Services sources in specific+-- accounts or Regions.+createAwsLogSource_enableSingleDimension :: Lens.Lens' CreateAwsLogSource (Prelude.Maybe [Prelude.Text])+createAwsLogSource_enableSingleDimension = Lens.lens (\CreateAwsLogSource' {enableSingleDimension} -> enableSingleDimension) (\s@CreateAwsLogSource' {} a -> s {enableSingleDimension = a} :: CreateAwsLogSource) Prelude.. Lens.mapping Lens.coerced++-- | Enables data collection from specific Amazon Web Services sources in+-- specific accounts or Regions.+createAwsLogSource_enableTwoDimensions :: Lens.Lens' CreateAwsLogSource (Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]))+createAwsLogSource_enableTwoDimensions = Lens.lens (\CreateAwsLogSource' {enableTwoDimensions} -> enableTwoDimensions) (\s@CreateAwsLogSource' {} a -> s {enableTwoDimensions = a} :: CreateAwsLogSource) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the input order to enable dimensions in Security Lake, namely+-- Region, source type, and member account.+createAwsLogSource_inputOrder :: Lens.Lens' CreateAwsLogSource [Dimension]+createAwsLogSource_inputOrder = Lens.lens (\CreateAwsLogSource' {inputOrder} -> inputOrder) (\s@CreateAwsLogSource' {} a -> s {inputOrder = a} :: CreateAwsLogSource) Prelude.. Lens.coerced++instance Core.AWSRequest CreateAwsLogSource where+ type+ AWSResponse CreateAwsLogSource =+ CreateAwsLogSourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAwsLogSourceResponse'+ Prelude.<$> (x Data..?> "failed" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "processing" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateAwsLogSource where+ hashWithSalt _salt CreateAwsLogSource' {..} =+ _salt+ `Prelude.hashWithSalt` enableAllDimensions+ `Prelude.hashWithSalt` enableSingleDimension+ `Prelude.hashWithSalt` enableTwoDimensions+ `Prelude.hashWithSalt` inputOrder++instance Prelude.NFData CreateAwsLogSource where+ rnf CreateAwsLogSource' {..} =+ Prelude.rnf enableAllDimensions+ `Prelude.seq` Prelude.rnf enableSingleDimension+ `Prelude.seq` Prelude.rnf enableTwoDimensions+ `Prelude.seq` Prelude.rnf inputOrder++instance Data.ToHeaders CreateAwsLogSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateAwsLogSource where+ toJSON CreateAwsLogSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("enableAllDimensions" Data..=)+ Prelude.<$> enableAllDimensions,+ ("enableSingleDimension" Data..=)+ Prelude.<$> enableSingleDimension,+ ("enableTwoDimensions" Data..=)+ Prelude.<$> enableTwoDimensions,+ Prelude.Just ("inputOrder" Data..= inputOrder)+ ]+ )++instance Data.ToPath CreateAwsLogSource where+ toPath = Prelude.const "/v1/logsources/aws"++instance Data.ToQuery CreateAwsLogSource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAwsLogSourceResponse' smart constructor.+data CreateAwsLogSourceResponse = CreateAwsLogSourceResponse'+ { -- | Lists all accounts in which enabling a natively supported Amazon Web+ -- Service as a Security Lake source failed. The failure occurred as these+ -- accounts are not part of an organization.+ failed :: Prelude.Maybe [Prelude.Text],+ -- | Lists the accounts that are in the process of enabling a natively+ -- supported Amazon Web Service as a Security Lake source.+ processing :: Prelude.Maybe [Prelude.Text],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAwsLogSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'failed', 'createAwsLogSourceResponse_failed' - Lists all accounts in which enabling a natively supported Amazon Web+-- Service as a Security Lake source failed. The failure occurred as these+-- accounts are not part of an organization.+--+-- 'processing', 'createAwsLogSourceResponse_processing' - Lists the accounts that are in the process of enabling a natively+-- supported Amazon Web Service as a Security Lake source.+--+-- 'httpStatus', 'createAwsLogSourceResponse_httpStatus' - The response's http status code.+newCreateAwsLogSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateAwsLogSourceResponse+newCreateAwsLogSourceResponse pHttpStatus_ =+ CreateAwsLogSourceResponse'+ { failed =+ Prelude.Nothing,+ processing = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Lists all accounts in which enabling a natively supported Amazon Web+-- Service as a Security Lake source failed. The failure occurred as these+-- accounts are not part of an organization.+createAwsLogSourceResponse_failed :: Lens.Lens' CreateAwsLogSourceResponse (Prelude.Maybe [Prelude.Text])+createAwsLogSourceResponse_failed = Lens.lens (\CreateAwsLogSourceResponse' {failed} -> failed) (\s@CreateAwsLogSourceResponse' {} a -> s {failed = a} :: CreateAwsLogSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | Lists the accounts that are in the process of enabling a natively+-- supported Amazon Web Service as a Security Lake source.+createAwsLogSourceResponse_processing :: Lens.Lens' CreateAwsLogSourceResponse (Prelude.Maybe [Prelude.Text])+createAwsLogSourceResponse_processing = Lens.lens (\CreateAwsLogSourceResponse' {processing} -> processing) (\s@CreateAwsLogSourceResponse' {} a -> s {processing = a} :: CreateAwsLogSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+createAwsLogSourceResponse_httpStatus :: Lens.Lens' CreateAwsLogSourceResponse Prelude.Int+createAwsLogSourceResponse_httpStatus = Lens.lens (\CreateAwsLogSourceResponse' {httpStatus} -> httpStatus) (\s@CreateAwsLogSourceResponse' {} a -> s {httpStatus = a} :: CreateAwsLogSourceResponse)++instance Prelude.NFData CreateAwsLogSourceResponse where+ rnf CreateAwsLogSourceResponse' {..} =+ Prelude.rnf failed+ `Prelude.seq` Prelude.rnf processing+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/CreateCustomLogSource.hs view
@@ -0,0 +1,346 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.CreateCustomLogSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a third-party custom source in Amazon Security Lake, from the+-- Amazon Web Services Region where you want to create a custom source.+-- Security Lake can collect logs and events from third-party custom+-- sources. After creating the appropriate IAM role to invoke Glue crawler,+-- use this API to add a custom source name in Security Lake. This+-- operation creates a partition in the Amazon S3 bucket for Security Lake+-- as the target location for log files from the custom source in addition+-- to an associated Glue table and an Glue crawler.+module Amazonka.SecurityLake.CreateCustomLogSource+ ( -- * Creating a Request+ CreateCustomLogSource (..),+ newCreateCustomLogSource,++ -- * Request Lenses+ createCustomLogSource_customSourceName,+ createCustomLogSource_eventClass,+ createCustomLogSource_glueInvocationRoleArn,+ createCustomLogSource_logProviderAccountId,++ -- * Destructuring the Response+ CreateCustomLogSourceResponse (..),+ newCreateCustomLogSourceResponse,++ -- * Response Lenses+ createCustomLogSourceResponse_httpStatus,+ createCustomLogSourceResponse_customDataLocation,+ createCustomLogSourceResponse_glueCrawlerName,+ createCustomLogSourceResponse_glueDatabaseName,+ createCustomLogSourceResponse_glueTableName,+ createCustomLogSourceResponse_logProviderAccessRoleArn,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newCreateCustomLogSource' smart constructor.+data CreateCustomLogSource = CreateCustomLogSource'+ { -- | The name for a third-party custom source. This must be a Regionally+ -- unique value.+ customSourceName :: Prelude.Text,+ -- | The Open Cybersecurity Schema Framework (OCSF) event class which+ -- describes the type of data that the custom source will send to Security+ -- Lake.+ eventClass :: OcsfEventClass,+ -- | The Amazon Resource Name (ARN) of the Identity and Access Management+ -- (IAM) role to be used by the Glue crawler. The recommended IAM policies+ -- are:+ --+ -- - The managed policy @AWSGlueServiceRole@+ --+ -- - A custom policy granting access to your Amazon S3 Data Lake+ glueInvocationRoleArn :: Prelude.Text,+ -- | The Amazon Web Services account ID of the custom source that will write+ -- logs and events into the Amazon S3 Data Lake.+ logProviderAccountId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCustomLogSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customSourceName', 'createCustomLogSource_customSourceName' - The name for a third-party custom source. This must be a Regionally+-- unique value.+--+-- 'eventClass', 'createCustomLogSource_eventClass' - The Open Cybersecurity Schema Framework (OCSF) event class which+-- describes the type of data that the custom source will send to Security+-- Lake.+--+-- 'glueInvocationRoleArn', 'createCustomLogSource_glueInvocationRoleArn' - The Amazon Resource Name (ARN) of the Identity and Access Management+-- (IAM) role to be used by the Glue crawler. The recommended IAM policies+-- are:+--+-- - The managed policy @AWSGlueServiceRole@+--+-- - A custom policy granting access to your Amazon S3 Data Lake+--+-- 'logProviderAccountId', 'createCustomLogSource_logProviderAccountId' - The Amazon Web Services account ID of the custom source that will write+-- logs and events into the Amazon S3 Data Lake.+newCreateCustomLogSource ::+ -- | 'customSourceName'+ Prelude.Text ->+ -- | 'eventClass'+ OcsfEventClass ->+ -- | 'glueInvocationRoleArn'+ Prelude.Text ->+ -- | 'logProviderAccountId'+ Prelude.Text ->+ CreateCustomLogSource+newCreateCustomLogSource+ pCustomSourceName_+ pEventClass_+ pGlueInvocationRoleArn_+ pLogProviderAccountId_ =+ CreateCustomLogSource'+ { customSourceName =+ pCustomSourceName_,+ eventClass = pEventClass_,+ glueInvocationRoleArn = pGlueInvocationRoleArn_,+ logProviderAccountId = pLogProviderAccountId_+ }++-- | The name for a third-party custom source. This must be a Regionally+-- unique value.+createCustomLogSource_customSourceName :: Lens.Lens' CreateCustomLogSource Prelude.Text+createCustomLogSource_customSourceName = Lens.lens (\CreateCustomLogSource' {customSourceName} -> customSourceName) (\s@CreateCustomLogSource' {} a -> s {customSourceName = a} :: CreateCustomLogSource)++-- | The Open Cybersecurity Schema Framework (OCSF) event class which+-- describes the type of data that the custom source will send to Security+-- Lake.+createCustomLogSource_eventClass :: Lens.Lens' CreateCustomLogSource OcsfEventClass+createCustomLogSource_eventClass = Lens.lens (\CreateCustomLogSource' {eventClass} -> eventClass) (\s@CreateCustomLogSource' {} a -> s {eventClass = a} :: CreateCustomLogSource)++-- | The Amazon Resource Name (ARN) of the Identity and Access Management+-- (IAM) role to be used by the Glue crawler. The recommended IAM policies+-- are:+--+-- - The managed policy @AWSGlueServiceRole@+--+-- - A custom policy granting access to your Amazon S3 Data Lake+createCustomLogSource_glueInvocationRoleArn :: Lens.Lens' CreateCustomLogSource Prelude.Text+createCustomLogSource_glueInvocationRoleArn = Lens.lens (\CreateCustomLogSource' {glueInvocationRoleArn} -> glueInvocationRoleArn) (\s@CreateCustomLogSource' {} a -> s {glueInvocationRoleArn = a} :: CreateCustomLogSource)++-- | The Amazon Web Services account ID of the custom source that will write+-- logs and events into the Amazon S3 Data Lake.+createCustomLogSource_logProviderAccountId :: Lens.Lens' CreateCustomLogSource Prelude.Text+createCustomLogSource_logProviderAccountId = Lens.lens (\CreateCustomLogSource' {logProviderAccountId} -> logProviderAccountId) (\s@CreateCustomLogSource' {} a -> s {logProviderAccountId = a} :: CreateCustomLogSource)++instance Core.AWSRequest CreateCustomLogSource where+ type+ AWSResponse CreateCustomLogSource =+ CreateCustomLogSourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateCustomLogSourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "customDataLocation")+ Prelude.<*> (x Data..:> "glueCrawlerName")+ Prelude.<*> (x Data..:> "glueDatabaseName")+ Prelude.<*> (x Data..:> "glueTableName")+ Prelude.<*> (x Data..:> "logProviderAccessRoleArn")+ )++instance Prelude.Hashable CreateCustomLogSource where+ hashWithSalt _salt CreateCustomLogSource' {..} =+ _salt+ `Prelude.hashWithSalt` customSourceName+ `Prelude.hashWithSalt` eventClass+ `Prelude.hashWithSalt` glueInvocationRoleArn+ `Prelude.hashWithSalt` logProviderAccountId++instance Prelude.NFData CreateCustomLogSource where+ rnf CreateCustomLogSource' {..} =+ Prelude.rnf customSourceName+ `Prelude.seq` Prelude.rnf eventClass+ `Prelude.seq` Prelude.rnf glueInvocationRoleArn+ `Prelude.seq` Prelude.rnf logProviderAccountId++instance Data.ToHeaders CreateCustomLogSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateCustomLogSource where+ toJSON CreateCustomLogSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("customSourceName" Data..= customSourceName),+ Prelude.Just ("eventClass" Data..= eventClass),+ Prelude.Just+ ( "glueInvocationRoleArn"+ Data..= glueInvocationRoleArn+ ),+ Prelude.Just+ ( "logProviderAccountId"+ Data..= logProviderAccountId+ )+ ]+ )++instance Data.ToPath CreateCustomLogSource where+ toPath = Prelude.const "/v1/logsources/custom"++instance Data.ToQuery CreateCustomLogSource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateCustomLogSourceResponse' smart constructor.+data CreateCustomLogSourceResponse = CreateCustomLogSourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The location of the partition in the Amazon S3 bucket for Security Lake.+ customDataLocation :: Prelude.Text,+ -- | The name of the Glue crawler.+ glueCrawlerName :: Prelude.Text,+ -- | The Glue database where results are written, such as:+ -- @arn:aws:daylight:us-east-1::database\/sometable\/*@.+ glueDatabaseName :: Prelude.Text,+ -- | The table name of the Glue crawler.+ glueTableName :: Prelude.Text,+ -- | The ARN of the IAM role to be used by the entity putting logs into your+ -- custom source partition. Security Lake will apply the correct access+ -- policies to this role, but you must first manually create the trust+ -- policy for this role. The IAM role name must start with the text+ -- \'Security Lake\'. The IAM role must trust the @logProviderAccountId@ to+ -- assume the role.+ logProviderAccessRoleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCustomLogSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createCustomLogSourceResponse_httpStatus' - The response's http status code.+--+-- 'customDataLocation', 'createCustomLogSourceResponse_customDataLocation' - The location of the partition in the Amazon S3 bucket for Security Lake.+--+-- 'glueCrawlerName', 'createCustomLogSourceResponse_glueCrawlerName' - The name of the Glue crawler.+--+-- 'glueDatabaseName', 'createCustomLogSourceResponse_glueDatabaseName' - The Glue database where results are written, such as:+-- @arn:aws:daylight:us-east-1::database\/sometable\/*@.+--+-- 'glueTableName', 'createCustomLogSourceResponse_glueTableName' - The table name of the Glue crawler.+--+-- 'logProviderAccessRoleArn', 'createCustomLogSourceResponse_logProviderAccessRoleArn' - The ARN of the IAM role to be used by the entity putting logs into your+-- custom source partition. Security Lake will apply the correct access+-- policies to this role, but you must first manually create the trust+-- policy for this role. The IAM role name must start with the text+-- \'Security Lake\'. The IAM role must trust the @logProviderAccountId@ to+-- assume the role.+newCreateCustomLogSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'customDataLocation'+ Prelude.Text ->+ -- | 'glueCrawlerName'+ Prelude.Text ->+ -- | 'glueDatabaseName'+ Prelude.Text ->+ -- | 'glueTableName'+ Prelude.Text ->+ -- | 'logProviderAccessRoleArn'+ Prelude.Text ->+ CreateCustomLogSourceResponse+newCreateCustomLogSourceResponse+ pHttpStatus_+ pCustomDataLocation_+ pGlueCrawlerName_+ pGlueDatabaseName_+ pGlueTableName_+ pLogProviderAccessRoleArn_ =+ CreateCustomLogSourceResponse'+ { httpStatus =+ pHttpStatus_,+ customDataLocation = pCustomDataLocation_,+ glueCrawlerName = pGlueCrawlerName_,+ glueDatabaseName = pGlueDatabaseName_,+ glueTableName = pGlueTableName_,+ logProviderAccessRoleArn =+ pLogProviderAccessRoleArn_+ }++-- | The response's http status code.+createCustomLogSourceResponse_httpStatus :: Lens.Lens' CreateCustomLogSourceResponse Prelude.Int+createCustomLogSourceResponse_httpStatus = Lens.lens (\CreateCustomLogSourceResponse' {httpStatus} -> httpStatus) (\s@CreateCustomLogSourceResponse' {} a -> s {httpStatus = a} :: CreateCustomLogSourceResponse)++-- | The location of the partition in the Amazon S3 bucket for Security Lake.+createCustomLogSourceResponse_customDataLocation :: Lens.Lens' CreateCustomLogSourceResponse Prelude.Text+createCustomLogSourceResponse_customDataLocation = Lens.lens (\CreateCustomLogSourceResponse' {customDataLocation} -> customDataLocation) (\s@CreateCustomLogSourceResponse' {} a -> s {customDataLocation = a} :: CreateCustomLogSourceResponse)++-- | The name of the Glue crawler.+createCustomLogSourceResponse_glueCrawlerName :: Lens.Lens' CreateCustomLogSourceResponse Prelude.Text+createCustomLogSourceResponse_glueCrawlerName = Lens.lens (\CreateCustomLogSourceResponse' {glueCrawlerName} -> glueCrawlerName) (\s@CreateCustomLogSourceResponse' {} a -> s {glueCrawlerName = a} :: CreateCustomLogSourceResponse)++-- | The Glue database where results are written, such as:+-- @arn:aws:daylight:us-east-1::database\/sometable\/*@.+createCustomLogSourceResponse_glueDatabaseName :: Lens.Lens' CreateCustomLogSourceResponse Prelude.Text+createCustomLogSourceResponse_glueDatabaseName = Lens.lens (\CreateCustomLogSourceResponse' {glueDatabaseName} -> glueDatabaseName) (\s@CreateCustomLogSourceResponse' {} a -> s {glueDatabaseName = a} :: CreateCustomLogSourceResponse)++-- | The table name of the Glue crawler.+createCustomLogSourceResponse_glueTableName :: Lens.Lens' CreateCustomLogSourceResponse Prelude.Text+createCustomLogSourceResponse_glueTableName = Lens.lens (\CreateCustomLogSourceResponse' {glueTableName} -> glueTableName) (\s@CreateCustomLogSourceResponse' {} a -> s {glueTableName = a} :: CreateCustomLogSourceResponse)++-- | The ARN of the IAM role to be used by the entity putting logs into your+-- custom source partition. Security Lake will apply the correct access+-- policies to this role, but you must first manually create the trust+-- policy for this role. The IAM role name must start with the text+-- \'Security Lake\'. The IAM role must trust the @logProviderAccountId@ to+-- assume the role.+createCustomLogSourceResponse_logProviderAccessRoleArn :: Lens.Lens' CreateCustomLogSourceResponse Prelude.Text+createCustomLogSourceResponse_logProviderAccessRoleArn = Lens.lens (\CreateCustomLogSourceResponse' {logProviderAccessRoleArn} -> logProviderAccessRoleArn) (\s@CreateCustomLogSourceResponse' {} a -> s {logProviderAccessRoleArn = a} :: CreateCustomLogSourceResponse)++instance Prelude.NFData CreateCustomLogSourceResponse where+ rnf CreateCustomLogSourceResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf customDataLocation+ `Prelude.seq` Prelude.rnf glueCrawlerName+ `Prelude.seq` Prelude.rnf glueDatabaseName+ `Prelude.seq` Prelude.rnf glueTableName+ `Prelude.seq` Prelude.rnf logProviderAccessRoleArn
+ gen/Amazonka/SecurityLake/CreateDatalake.hs view
@@ -0,0 +1,237 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.CreateDatalake+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Initializes an Amazon Security Lake instance with the provided (or+-- default) configuration. You can enable Security Lake in Amazon Web+-- Services Regions with customized settings before enabling log collection+-- in Regions. You can either use the @enableAll@ parameter to specify all+-- Regions or specify the Regions where you want to enable Security Lake.+-- To specify particular Regions, use the @Regions@ parameter and then+-- configure these Regions using the @configurations@ parameter. If you+-- have already enabled Security Lake in a Region when you call this+-- command, the command will update the Region if you provide new+-- configuration parameters. If you have not already enabled Security Lake+-- in the Region when you call this API, it will set up the data lake in+-- the Region with the specified configurations.+--+-- When you enable Security Lake, it starts ingesting security data after+-- the @CreateAwsLogSource@ call. This includes ingesting security data+-- from sources, storing data, and making data accessible to subscribers.+-- Security Lake also enables all the existing settings and resources that+-- it stores or maintains for your Amazon Web Services account in the+-- current Region, including security log and event data. For more+-- information, see the+-- <https://docs.aws.amazon.com/security-lake/latest/userguide/what-is-security-lake.html Amazon Security Lake User Guide>.+module Amazonka.SecurityLake.CreateDatalake+ ( -- * Creating a Request+ CreateDatalake (..),+ newCreateDatalake,++ -- * Request Lenses+ createDatalake_configurations,+ createDatalake_enableAll,+ createDatalake_metaStoreManagerRoleArn,+ createDatalake_regions,++ -- * Destructuring the Response+ CreateDatalakeResponse (..),+ newCreateDatalakeResponse,++ -- * Response Lenses+ createDatalakeResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newCreateDatalake' smart constructor.+data CreateDatalake = CreateDatalake'+ { -- | Specify the Region or Regions that will contribute data to the rollup+ -- region.+ configurations :: Prelude.Maybe (Prelude.HashMap Region LakeConfigurationRequest),+ -- | Enable Security Lake in all Regions.+ enableAll :: Prelude.Maybe Prelude.Bool,+ -- | The Amazon Resource Name (ARN) used to create and update the Glue table.+ -- This table contains partitions generated by the ingestion and+ -- normalization of Amazon Web Services log sources and custom sources.+ metaStoreManagerRoleArn :: Prelude.Maybe Prelude.Text,+ -- | Enable Security Lake in the specified Regions. To enable Security Lake+ -- in specific Amazon Web Services Regions, such as us-east-1 or+ -- ap-northeast-3, provide the Region codes. For a list of Region codes,+ -- see+ -- <https://docs.aws.amazon.com/general/latest/gr/securitylake.html Amazon Security Lake endpoints>+ -- in the Amazon Web Services General Reference.+ regions :: Prelude.Maybe [Region]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDatalake' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurations', 'createDatalake_configurations' - Specify the Region or Regions that will contribute data to the rollup+-- region.+--+-- 'enableAll', 'createDatalake_enableAll' - Enable Security Lake in all Regions.+--+-- 'metaStoreManagerRoleArn', 'createDatalake_metaStoreManagerRoleArn' - The Amazon Resource Name (ARN) used to create and update the Glue table.+-- This table contains partitions generated by the ingestion and+-- normalization of Amazon Web Services log sources and custom sources.+--+-- 'regions', 'createDatalake_regions' - Enable Security Lake in the specified Regions. To enable Security Lake+-- in specific Amazon Web Services Regions, such as us-east-1 or+-- ap-northeast-3, provide the Region codes. For a list of Region codes,+-- see+-- <https://docs.aws.amazon.com/general/latest/gr/securitylake.html Amazon Security Lake endpoints>+-- in the Amazon Web Services General Reference.+newCreateDatalake ::+ CreateDatalake+newCreateDatalake =+ CreateDatalake'+ { configurations = Prelude.Nothing,+ enableAll = Prelude.Nothing,+ metaStoreManagerRoleArn = Prelude.Nothing,+ regions = Prelude.Nothing+ }++-- | Specify the Region or Regions that will contribute data to the rollup+-- region.+createDatalake_configurations :: Lens.Lens' CreateDatalake (Prelude.Maybe (Prelude.HashMap Region LakeConfigurationRequest))+createDatalake_configurations = Lens.lens (\CreateDatalake' {configurations} -> configurations) (\s@CreateDatalake' {} a -> s {configurations = a} :: CreateDatalake) Prelude.. Lens.mapping Lens.coerced++-- | Enable Security Lake in all Regions.+createDatalake_enableAll :: Lens.Lens' CreateDatalake (Prelude.Maybe Prelude.Bool)+createDatalake_enableAll = Lens.lens (\CreateDatalake' {enableAll} -> enableAll) (\s@CreateDatalake' {} a -> s {enableAll = a} :: CreateDatalake)++-- | The Amazon Resource Name (ARN) used to create and update the Glue table.+-- This table contains partitions generated by the ingestion and+-- normalization of Amazon Web Services log sources and custom sources.+createDatalake_metaStoreManagerRoleArn :: Lens.Lens' CreateDatalake (Prelude.Maybe Prelude.Text)+createDatalake_metaStoreManagerRoleArn = Lens.lens (\CreateDatalake' {metaStoreManagerRoleArn} -> metaStoreManagerRoleArn) (\s@CreateDatalake' {} a -> s {metaStoreManagerRoleArn = a} :: CreateDatalake)++-- | Enable Security Lake in the specified Regions. To enable Security Lake+-- in specific Amazon Web Services Regions, such as us-east-1 or+-- ap-northeast-3, provide the Region codes. For a list of Region codes,+-- see+-- <https://docs.aws.amazon.com/general/latest/gr/securitylake.html Amazon Security Lake endpoints>+-- in the Amazon Web Services General Reference.+createDatalake_regions :: Lens.Lens' CreateDatalake (Prelude.Maybe [Region])+createDatalake_regions = Lens.lens (\CreateDatalake' {regions} -> regions) (\s@CreateDatalake' {} a -> s {regions = a} :: CreateDatalake) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest CreateDatalake where+ type+ AWSResponse CreateDatalake =+ CreateDatalakeResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ CreateDatalakeResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateDatalake where+ hashWithSalt _salt CreateDatalake' {..} =+ _salt+ `Prelude.hashWithSalt` configurations+ `Prelude.hashWithSalt` enableAll+ `Prelude.hashWithSalt` metaStoreManagerRoleArn+ `Prelude.hashWithSalt` regions++instance Prelude.NFData CreateDatalake where+ rnf CreateDatalake' {..} =+ Prelude.rnf configurations+ `Prelude.seq` Prelude.rnf enableAll+ `Prelude.seq` Prelude.rnf metaStoreManagerRoleArn+ `Prelude.seq` Prelude.rnf regions++instance Data.ToHeaders CreateDatalake where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDatalake where+ toJSON CreateDatalake' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("configurations" Data..=)+ Prelude.<$> configurations,+ ("enableAll" Data..=) Prelude.<$> enableAll,+ ("metaStoreManagerRoleArn" Data..=)+ Prelude.<$> metaStoreManagerRoleArn,+ ("regions" Data..=) Prelude.<$> regions+ ]+ )++instance Data.ToPath CreateDatalake where+ toPath = Prelude.const "/v1/datalake"++instance Data.ToQuery CreateDatalake where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDatalakeResponse' smart constructor.+data CreateDatalakeResponse = CreateDatalakeResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDatalakeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createDatalakeResponse_httpStatus' - The response's http status code.+newCreateDatalakeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateDatalakeResponse+newCreateDatalakeResponse pHttpStatus_ =+ CreateDatalakeResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+createDatalakeResponse_httpStatus :: Lens.Lens' CreateDatalakeResponse Prelude.Int+createDatalakeResponse_httpStatus = Lens.lens (\CreateDatalakeResponse' {httpStatus} -> httpStatus) (\s@CreateDatalakeResponse' {} a -> s {httpStatus = a} :: CreateDatalakeResponse)++instance Prelude.NFData CreateDatalakeResponse where+ rnf CreateDatalakeResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/CreateDatalakeAutoEnable.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.CreateDatalakeAutoEnable+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Automatically enables Amazon Security Lake for new member accounts in+-- your organization. Security Lake is not automatically enabled for any+-- existing member accounts in your organization.+module Amazonka.SecurityLake.CreateDatalakeAutoEnable+ ( -- * Creating a Request+ CreateDatalakeAutoEnable (..),+ newCreateDatalakeAutoEnable,++ -- * Request Lenses+ createDatalakeAutoEnable_configurationForNewAccounts,++ -- * Destructuring the Response+ CreateDatalakeAutoEnableResponse (..),+ newCreateDatalakeAutoEnableResponse,++ -- * Response Lenses+ createDatalakeAutoEnableResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newCreateDatalakeAutoEnable' smart constructor.+data CreateDatalakeAutoEnable = CreateDatalakeAutoEnable'+ { -- | Enable Security Lake with the specified configuration settings to begin+ -- collecting security data for new accounts in your organization.+ configurationForNewAccounts :: [AutoEnableNewRegionConfiguration]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDatalakeAutoEnable' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurationForNewAccounts', 'createDatalakeAutoEnable_configurationForNewAccounts' - Enable Security Lake with the specified configuration settings to begin+-- collecting security data for new accounts in your organization.+newCreateDatalakeAutoEnable ::+ CreateDatalakeAutoEnable+newCreateDatalakeAutoEnable =+ CreateDatalakeAutoEnable'+ { configurationForNewAccounts =+ Prelude.mempty+ }++-- | Enable Security Lake with the specified configuration settings to begin+-- collecting security data for new accounts in your organization.+createDatalakeAutoEnable_configurationForNewAccounts :: Lens.Lens' CreateDatalakeAutoEnable [AutoEnableNewRegionConfiguration]+createDatalakeAutoEnable_configurationForNewAccounts = Lens.lens (\CreateDatalakeAutoEnable' {configurationForNewAccounts} -> configurationForNewAccounts) (\s@CreateDatalakeAutoEnable' {} a -> s {configurationForNewAccounts = a} :: CreateDatalakeAutoEnable) Prelude.. Lens.coerced++instance Core.AWSRequest CreateDatalakeAutoEnable where+ type+ AWSResponse CreateDatalakeAutoEnable =+ CreateDatalakeAutoEnableResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ CreateDatalakeAutoEnableResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateDatalakeAutoEnable where+ hashWithSalt _salt CreateDatalakeAutoEnable' {..} =+ _salt+ `Prelude.hashWithSalt` configurationForNewAccounts++instance Prelude.NFData CreateDatalakeAutoEnable where+ rnf CreateDatalakeAutoEnable' {..} =+ Prelude.rnf configurationForNewAccounts++instance Data.ToHeaders CreateDatalakeAutoEnable where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDatalakeAutoEnable where+ toJSON CreateDatalakeAutoEnable' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "configurationForNewAccounts"+ Data..= configurationForNewAccounts+ )+ ]+ )++instance Data.ToPath CreateDatalakeAutoEnable where+ toPath = Prelude.const "/v1/datalake/autoenable"++instance Data.ToQuery CreateDatalakeAutoEnable where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDatalakeAutoEnableResponse' smart constructor.+data CreateDatalakeAutoEnableResponse = CreateDatalakeAutoEnableResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDatalakeAutoEnableResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createDatalakeAutoEnableResponse_httpStatus' - The response's http status code.+newCreateDatalakeAutoEnableResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateDatalakeAutoEnableResponse+newCreateDatalakeAutoEnableResponse pHttpStatus_ =+ CreateDatalakeAutoEnableResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+createDatalakeAutoEnableResponse_httpStatus :: Lens.Lens' CreateDatalakeAutoEnableResponse Prelude.Int+createDatalakeAutoEnableResponse_httpStatus = Lens.lens (\CreateDatalakeAutoEnableResponse' {httpStatus} -> httpStatus) (\s@CreateDatalakeAutoEnableResponse' {} a -> s {httpStatus = a} :: CreateDatalakeAutoEnableResponse)++instance+ Prelude.NFData+ CreateDatalakeAutoEnableResponse+ where+ rnf CreateDatalakeAutoEnableResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/CreateDatalakeDelegatedAdmin.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.CreateDatalakeDelegatedAdmin+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Designates the Amazon Security Lake delegated administrator account for+-- the organization. This API can only be called by the organization+-- management account. The organization management account cannot be the+-- delegated administrator account.+module Amazonka.SecurityLake.CreateDatalakeDelegatedAdmin+ ( -- * Creating a Request+ CreateDatalakeDelegatedAdmin (..),+ newCreateDatalakeDelegatedAdmin,++ -- * Request Lenses+ createDatalakeDelegatedAdmin_account,++ -- * Destructuring the Response+ CreateDatalakeDelegatedAdminResponse (..),+ newCreateDatalakeDelegatedAdminResponse,++ -- * Response Lenses+ createDatalakeDelegatedAdminResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newCreateDatalakeDelegatedAdmin' smart constructor.+data CreateDatalakeDelegatedAdmin = CreateDatalakeDelegatedAdmin'+ { -- | The Amazon Web Services account ID of the Security Lake delegated+ -- administrator.+ account :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDatalakeDelegatedAdmin' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'account', 'createDatalakeDelegatedAdmin_account' - The Amazon Web Services account ID of the Security Lake delegated+-- administrator.+newCreateDatalakeDelegatedAdmin ::+ -- | 'account'+ Prelude.Text ->+ CreateDatalakeDelegatedAdmin+newCreateDatalakeDelegatedAdmin pAccount_ =+ CreateDatalakeDelegatedAdmin' {account = pAccount_}++-- | The Amazon Web Services account ID of the Security Lake delegated+-- administrator.+createDatalakeDelegatedAdmin_account :: Lens.Lens' CreateDatalakeDelegatedAdmin Prelude.Text+createDatalakeDelegatedAdmin_account = Lens.lens (\CreateDatalakeDelegatedAdmin' {account} -> account) (\s@CreateDatalakeDelegatedAdmin' {} a -> s {account = a} :: CreateDatalakeDelegatedAdmin)++instance Core.AWSRequest CreateDatalakeDelegatedAdmin where+ type+ AWSResponse CreateDatalakeDelegatedAdmin =+ CreateDatalakeDelegatedAdminResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ CreateDatalakeDelegatedAdminResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ CreateDatalakeDelegatedAdmin+ where+ hashWithSalt _salt CreateDatalakeDelegatedAdmin' {..} =+ _salt `Prelude.hashWithSalt` account++instance Prelude.NFData CreateDatalakeDelegatedAdmin where+ rnf CreateDatalakeDelegatedAdmin' {..} =+ Prelude.rnf account++instance Data.ToHeaders CreateDatalakeDelegatedAdmin where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateDatalakeDelegatedAdmin where+ toJSON CreateDatalakeDelegatedAdmin' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("account" Data..= account)]+ )++instance Data.ToPath CreateDatalakeDelegatedAdmin where+ toPath = Prelude.const "/v1/datalake/delegate"++instance Data.ToQuery CreateDatalakeDelegatedAdmin where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDatalakeDelegatedAdminResponse' smart constructor.+data CreateDatalakeDelegatedAdminResponse = CreateDatalakeDelegatedAdminResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDatalakeDelegatedAdminResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createDatalakeDelegatedAdminResponse_httpStatus' - The response's http status code.+newCreateDatalakeDelegatedAdminResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateDatalakeDelegatedAdminResponse+newCreateDatalakeDelegatedAdminResponse pHttpStatus_ =+ CreateDatalakeDelegatedAdminResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+createDatalakeDelegatedAdminResponse_httpStatus :: Lens.Lens' CreateDatalakeDelegatedAdminResponse Prelude.Int+createDatalakeDelegatedAdminResponse_httpStatus = Lens.lens (\CreateDatalakeDelegatedAdminResponse' {httpStatus} -> httpStatus) (\s@CreateDatalakeDelegatedAdminResponse' {} a -> s {httpStatus = a} :: CreateDatalakeDelegatedAdminResponse)++instance+ Prelude.NFData+ CreateDatalakeDelegatedAdminResponse+ where+ rnf CreateDatalakeDelegatedAdminResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/CreateDatalakeExceptionsSubscription.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.CreateDatalakeExceptionsSubscription+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates the specified notification subscription in Amazon Security Lake+-- for the organization you specify.+module Amazonka.SecurityLake.CreateDatalakeExceptionsSubscription+ ( -- * Creating a Request+ CreateDatalakeExceptionsSubscription (..),+ newCreateDatalakeExceptionsSubscription,++ -- * Request Lenses+ createDatalakeExceptionsSubscription_notificationEndpoint,+ createDatalakeExceptionsSubscription_subscriptionProtocol,++ -- * Destructuring the Response+ CreateDatalakeExceptionsSubscriptionResponse (..),+ newCreateDatalakeExceptionsSubscriptionResponse,++ -- * Response Lenses+ createDatalakeExceptionsSubscriptionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newCreateDatalakeExceptionsSubscription' smart constructor.+data CreateDatalakeExceptionsSubscription = CreateDatalakeExceptionsSubscription'+ { -- | The Amazon Web Services account where you want to receive exception+ -- notifications.+ notificationEndpoint :: Prelude.Text,+ -- | The subscription protocol to which exception notifications are posted.+ subscriptionProtocol :: SubscriptionProtocolType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDatalakeExceptionsSubscription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'notificationEndpoint', 'createDatalakeExceptionsSubscription_notificationEndpoint' - The Amazon Web Services account where you want to receive exception+-- notifications.+--+-- 'subscriptionProtocol', 'createDatalakeExceptionsSubscription_subscriptionProtocol' - The subscription protocol to which exception notifications are posted.+newCreateDatalakeExceptionsSubscription ::+ -- | 'notificationEndpoint'+ Prelude.Text ->+ -- | 'subscriptionProtocol'+ SubscriptionProtocolType ->+ CreateDatalakeExceptionsSubscription+newCreateDatalakeExceptionsSubscription+ pNotificationEndpoint_+ pSubscriptionProtocol_ =+ CreateDatalakeExceptionsSubscription'+ { notificationEndpoint =+ pNotificationEndpoint_,+ subscriptionProtocol =+ pSubscriptionProtocol_+ }++-- | The Amazon Web Services account where you want to receive exception+-- notifications.+createDatalakeExceptionsSubscription_notificationEndpoint :: Lens.Lens' CreateDatalakeExceptionsSubscription Prelude.Text+createDatalakeExceptionsSubscription_notificationEndpoint = Lens.lens (\CreateDatalakeExceptionsSubscription' {notificationEndpoint} -> notificationEndpoint) (\s@CreateDatalakeExceptionsSubscription' {} a -> s {notificationEndpoint = a} :: CreateDatalakeExceptionsSubscription)++-- | The subscription protocol to which exception notifications are posted.+createDatalakeExceptionsSubscription_subscriptionProtocol :: Lens.Lens' CreateDatalakeExceptionsSubscription SubscriptionProtocolType+createDatalakeExceptionsSubscription_subscriptionProtocol = Lens.lens (\CreateDatalakeExceptionsSubscription' {subscriptionProtocol} -> subscriptionProtocol) (\s@CreateDatalakeExceptionsSubscription' {} a -> s {subscriptionProtocol = a} :: CreateDatalakeExceptionsSubscription)++instance+ Core.AWSRequest+ CreateDatalakeExceptionsSubscription+ where+ type+ AWSResponse CreateDatalakeExceptionsSubscription =+ CreateDatalakeExceptionsSubscriptionResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ CreateDatalakeExceptionsSubscriptionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ CreateDatalakeExceptionsSubscription+ where+ hashWithSalt+ _salt+ CreateDatalakeExceptionsSubscription' {..} =+ _salt+ `Prelude.hashWithSalt` notificationEndpoint+ `Prelude.hashWithSalt` subscriptionProtocol++instance+ Prelude.NFData+ CreateDatalakeExceptionsSubscription+ where+ rnf CreateDatalakeExceptionsSubscription' {..} =+ Prelude.rnf notificationEndpoint+ `Prelude.seq` Prelude.rnf subscriptionProtocol++instance+ Data.ToHeaders+ CreateDatalakeExceptionsSubscription+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ CreateDatalakeExceptionsSubscription+ where+ toJSON CreateDatalakeExceptionsSubscription' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "notificationEndpoint"+ Data..= notificationEndpoint+ ),+ Prelude.Just+ ( "subscriptionProtocol"+ Data..= subscriptionProtocol+ )+ ]+ )++instance+ Data.ToPath+ CreateDatalakeExceptionsSubscription+ where+ toPath =+ Prelude.const+ "/v1/datalake/exceptions/subscription"++instance+ Data.ToQuery+ CreateDatalakeExceptionsSubscription+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDatalakeExceptionsSubscriptionResponse' smart constructor.+data CreateDatalakeExceptionsSubscriptionResponse = CreateDatalakeExceptionsSubscriptionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDatalakeExceptionsSubscriptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createDatalakeExceptionsSubscriptionResponse_httpStatus' - The response's http status code.+newCreateDatalakeExceptionsSubscriptionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateDatalakeExceptionsSubscriptionResponse+newCreateDatalakeExceptionsSubscriptionResponse+ pHttpStatus_ =+ CreateDatalakeExceptionsSubscriptionResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+createDatalakeExceptionsSubscriptionResponse_httpStatus :: Lens.Lens' CreateDatalakeExceptionsSubscriptionResponse Prelude.Int+createDatalakeExceptionsSubscriptionResponse_httpStatus = Lens.lens (\CreateDatalakeExceptionsSubscriptionResponse' {httpStatus} -> httpStatus) (\s@CreateDatalakeExceptionsSubscriptionResponse' {} a -> s {httpStatus = a} :: CreateDatalakeExceptionsSubscriptionResponse)++instance+ Prelude.NFData+ CreateDatalakeExceptionsSubscriptionResponse+ where+ rnf CreateDatalakeExceptionsSubscriptionResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/CreateSubscriber.hs view
@@ -0,0 +1,312 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.CreateSubscriber+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a subscription permission for accounts that are already enabled+-- in Amazon Security Lake. You can create a subscriber with access to data+-- in the current Amazon Web Services Region.+module Amazonka.SecurityLake.CreateSubscriber+ ( -- * Creating a Request+ CreateSubscriber (..),+ newCreateSubscriber,++ -- * Request Lenses+ createSubscriber_accessTypes,+ createSubscriber_subscriberDescription,+ createSubscriber_accountId,+ createSubscriber_externalId,+ createSubscriber_sourceTypes,+ createSubscriber_subscriberName,++ -- * Destructuring the Response+ CreateSubscriberResponse (..),+ newCreateSubscriberResponse,++ -- * Response Lenses+ createSubscriberResponse_roleArn,+ createSubscriberResponse_s3BucketArn,+ createSubscriberResponse_snsArn,+ createSubscriberResponse_httpStatus,+ createSubscriberResponse_subscriptionId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newCreateSubscriber' smart constructor.+data CreateSubscriber = CreateSubscriber'+ { -- | The Amazon S3 or Lake Formation access type.+ accessTypes :: Prelude.Maybe [AccessType],+ -- | The description for your subscriber account in Security Lake.+ subscriberDescription :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services account ID used to access your data.+ accountId :: Prelude.Text,+ -- | The external ID of the subscriber. This lets the user that is assuming+ -- the role assert the circumstances in which they are operating. It also+ -- provides a way for the account owner to permit the role to be assumed+ -- only under specific circumstances.+ externalId :: Prelude.Text,+ -- | The supported Amazon Web Services from which logs and events are+ -- collected. Security Lake supports log and event collection for natively+ -- supported Amazon Web Services.+ sourceTypes :: [SourceType],+ -- | The name of your Security Lake subscriber account.+ subscriberName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSubscriber' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessTypes', 'createSubscriber_accessTypes' - The Amazon S3 or Lake Formation access type.+--+-- 'subscriberDescription', 'createSubscriber_subscriberDescription' - The description for your subscriber account in Security Lake.+--+-- 'accountId', 'createSubscriber_accountId' - The Amazon Web Services account ID used to access your data.+--+-- 'externalId', 'createSubscriber_externalId' - The external ID of the subscriber. This lets the user that is assuming+-- the role assert the circumstances in which they are operating. It also+-- provides a way for the account owner to permit the role to be assumed+-- only under specific circumstances.+--+-- 'sourceTypes', 'createSubscriber_sourceTypes' - The supported Amazon Web Services from which logs and events are+-- collected. Security Lake supports log and event collection for natively+-- supported Amazon Web Services.+--+-- 'subscriberName', 'createSubscriber_subscriberName' - The name of your Security Lake subscriber account.+newCreateSubscriber ::+ -- | 'accountId'+ Prelude.Text ->+ -- | 'externalId'+ Prelude.Text ->+ -- | 'subscriberName'+ Prelude.Text ->+ CreateSubscriber+newCreateSubscriber+ pAccountId_+ pExternalId_+ pSubscriberName_ =+ CreateSubscriber'+ { accessTypes = Prelude.Nothing,+ subscriberDescription = Prelude.Nothing,+ accountId = pAccountId_,+ externalId = pExternalId_,+ sourceTypes = Prelude.mempty,+ subscriberName = pSubscriberName_+ }++-- | The Amazon S3 or Lake Formation access type.+createSubscriber_accessTypes :: Lens.Lens' CreateSubscriber (Prelude.Maybe [AccessType])+createSubscriber_accessTypes = Lens.lens (\CreateSubscriber' {accessTypes} -> accessTypes) (\s@CreateSubscriber' {} a -> s {accessTypes = a} :: CreateSubscriber) Prelude.. Lens.mapping Lens.coerced++-- | The description for your subscriber account in Security Lake.+createSubscriber_subscriberDescription :: Lens.Lens' CreateSubscriber (Prelude.Maybe Prelude.Text)+createSubscriber_subscriberDescription = Lens.lens (\CreateSubscriber' {subscriberDescription} -> subscriberDescription) (\s@CreateSubscriber' {} a -> s {subscriberDescription = a} :: CreateSubscriber)++-- | The Amazon Web Services account ID used to access your data.+createSubscriber_accountId :: Lens.Lens' CreateSubscriber Prelude.Text+createSubscriber_accountId = Lens.lens (\CreateSubscriber' {accountId} -> accountId) (\s@CreateSubscriber' {} a -> s {accountId = a} :: CreateSubscriber)++-- | The external ID of the subscriber. This lets the user that is assuming+-- the role assert the circumstances in which they are operating. It also+-- provides a way for the account owner to permit the role to be assumed+-- only under specific circumstances.+createSubscriber_externalId :: Lens.Lens' CreateSubscriber Prelude.Text+createSubscriber_externalId = Lens.lens (\CreateSubscriber' {externalId} -> externalId) (\s@CreateSubscriber' {} a -> s {externalId = a} :: CreateSubscriber)++-- | The supported Amazon Web Services from which logs and events are+-- collected. Security Lake supports log and event collection for natively+-- supported Amazon Web Services.+createSubscriber_sourceTypes :: Lens.Lens' CreateSubscriber [SourceType]+createSubscriber_sourceTypes = Lens.lens (\CreateSubscriber' {sourceTypes} -> sourceTypes) (\s@CreateSubscriber' {} a -> s {sourceTypes = a} :: CreateSubscriber) Prelude.. Lens.coerced++-- | The name of your Security Lake subscriber account.+createSubscriber_subscriberName :: Lens.Lens' CreateSubscriber Prelude.Text+createSubscriber_subscriberName = Lens.lens (\CreateSubscriber' {subscriberName} -> subscriberName) (\s@CreateSubscriber' {} a -> s {subscriberName = a} :: CreateSubscriber)++instance Core.AWSRequest CreateSubscriber where+ type+ AWSResponse CreateSubscriber =+ CreateSubscriberResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateSubscriberResponse'+ Prelude.<$> (x Data..?> "roleArn")+ Prelude.<*> (x Data..?> "s3BucketArn")+ Prelude.<*> (x Data..?> "snsArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "subscriptionId")+ )++instance Prelude.Hashable CreateSubscriber where+ hashWithSalt _salt CreateSubscriber' {..} =+ _salt+ `Prelude.hashWithSalt` accessTypes+ `Prelude.hashWithSalt` subscriberDescription+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` externalId+ `Prelude.hashWithSalt` sourceTypes+ `Prelude.hashWithSalt` subscriberName++instance Prelude.NFData CreateSubscriber where+ rnf CreateSubscriber' {..} =+ Prelude.rnf accessTypes+ `Prelude.seq` Prelude.rnf subscriberDescription+ `Prelude.seq` Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf externalId+ `Prelude.seq` Prelude.rnf sourceTypes+ `Prelude.seq` Prelude.rnf subscriberName++instance Data.ToHeaders CreateSubscriber where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateSubscriber where+ toJSON CreateSubscriber' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("accessTypes" Data..=) Prelude.<$> accessTypes,+ ("subscriberDescription" Data..=)+ Prelude.<$> subscriberDescription,+ Prelude.Just ("accountId" Data..= accountId),+ Prelude.Just ("externalId" Data..= externalId),+ Prelude.Just ("sourceTypes" Data..= sourceTypes),+ Prelude.Just+ ("subscriberName" Data..= subscriberName)+ ]+ )++instance Data.ToPath CreateSubscriber where+ toPath = Prelude.const "/v1/subscribers"++instance Data.ToQuery CreateSubscriber where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSubscriberResponse' smart constructor.+data CreateSubscriberResponse = CreateSubscriberResponse'+ { -- | The Amazon Resource Name (ARN) created by you to provide to the+ -- subscriber. For more information about ARNs and how to use them in+ -- policies, see+ -- <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html IAM identifiers in the Identity and Access Management (IAM) User Guide>.+ -- .+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The ARN for the Amazon S3 bucket.+ s3BucketArn :: Prelude.Maybe Prelude.Text,+ -- | The ARN for the Amazon Simple Notification Service.+ snsArn :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The @subscriptionId@ created by the @CreateSubscriber@ API call.+ subscriptionId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSubscriberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'roleArn', 'createSubscriberResponse_roleArn' - The Amazon Resource Name (ARN) created by you to provide to the+-- subscriber. For more information about ARNs and how to use them in+-- policies, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html IAM identifiers in the Identity and Access Management (IAM) User Guide>.+-- .+--+-- 's3BucketArn', 'createSubscriberResponse_s3BucketArn' - The ARN for the Amazon S3 bucket.+--+-- 'snsArn', 'createSubscriberResponse_snsArn' - The ARN for the Amazon Simple Notification Service.+--+-- 'httpStatus', 'createSubscriberResponse_httpStatus' - The response's http status code.+--+-- 'subscriptionId', 'createSubscriberResponse_subscriptionId' - The @subscriptionId@ created by the @CreateSubscriber@ API call.+newCreateSubscriberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'subscriptionId'+ Prelude.Text ->+ CreateSubscriberResponse+newCreateSubscriberResponse+ pHttpStatus_+ pSubscriptionId_ =+ CreateSubscriberResponse'+ { roleArn =+ Prelude.Nothing,+ s3BucketArn = Prelude.Nothing,+ snsArn = Prelude.Nothing,+ httpStatus = pHttpStatus_,+ subscriptionId = pSubscriptionId_+ }++-- | The Amazon Resource Name (ARN) created by you to provide to the+-- subscriber. For more information about ARNs and how to use them in+-- policies, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html IAM identifiers in the Identity and Access Management (IAM) User Guide>.+-- .+createSubscriberResponse_roleArn :: Lens.Lens' CreateSubscriberResponse (Prelude.Maybe Prelude.Text)+createSubscriberResponse_roleArn = Lens.lens (\CreateSubscriberResponse' {roleArn} -> roleArn) (\s@CreateSubscriberResponse' {} a -> s {roleArn = a} :: CreateSubscriberResponse)++-- | The ARN for the Amazon S3 bucket.+createSubscriberResponse_s3BucketArn :: Lens.Lens' CreateSubscriberResponse (Prelude.Maybe Prelude.Text)+createSubscriberResponse_s3BucketArn = Lens.lens (\CreateSubscriberResponse' {s3BucketArn} -> s3BucketArn) (\s@CreateSubscriberResponse' {} a -> s {s3BucketArn = a} :: CreateSubscriberResponse)++-- | The ARN for the Amazon Simple Notification Service.+createSubscriberResponse_snsArn :: Lens.Lens' CreateSubscriberResponse (Prelude.Maybe Prelude.Text)+createSubscriberResponse_snsArn = Lens.lens (\CreateSubscriberResponse' {snsArn} -> snsArn) (\s@CreateSubscriberResponse' {} a -> s {snsArn = a} :: CreateSubscriberResponse)++-- | The response's http status code.+createSubscriberResponse_httpStatus :: Lens.Lens' CreateSubscriberResponse Prelude.Int+createSubscriberResponse_httpStatus = Lens.lens (\CreateSubscriberResponse' {httpStatus} -> httpStatus) (\s@CreateSubscriberResponse' {} a -> s {httpStatus = a} :: CreateSubscriberResponse)++-- | The @subscriptionId@ created by the @CreateSubscriber@ API call.+createSubscriberResponse_subscriptionId :: Lens.Lens' CreateSubscriberResponse Prelude.Text+createSubscriberResponse_subscriptionId = Lens.lens (\CreateSubscriberResponse' {subscriptionId} -> subscriptionId) (\s@CreateSubscriberResponse' {} a -> s {subscriptionId = a} :: CreateSubscriberResponse)++instance Prelude.NFData CreateSubscriberResponse where+ rnf CreateSubscriberResponse' {..} =+ Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf s3BucketArn+ `Prelude.seq` Prelude.rnf snsArn+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf subscriptionId
+ gen/Amazonka/SecurityLake/CreateSubscriptionNotificationConfiguration.hs view
@@ -0,0 +1,298 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.CreateSubscriptionNotificationConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Notifies the subscriber when new data is written to the data lake for+-- the sources that the subscriber consumes in Security Lake.+module Amazonka.SecurityLake.CreateSubscriptionNotificationConfiguration+ ( -- * Creating a Request+ CreateSubscriptionNotificationConfiguration (..),+ newCreateSubscriptionNotificationConfiguration,++ -- * Request Lenses+ createSubscriptionNotificationConfiguration_createSqs,+ createSubscriptionNotificationConfiguration_httpsApiKeyName,+ createSubscriptionNotificationConfiguration_httpsApiKeyValue,+ createSubscriptionNotificationConfiguration_httpsMethod,+ createSubscriptionNotificationConfiguration_roleArn,+ createSubscriptionNotificationConfiguration_subscriptionEndpoint,+ createSubscriptionNotificationConfiguration_subscriptionId,++ -- * Destructuring the Response+ CreateSubscriptionNotificationConfigurationResponse (..),+ newCreateSubscriptionNotificationConfigurationResponse,++ -- * Response Lenses+ createSubscriptionNotificationConfigurationResponse_queueArn,+ createSubscriptionNotificationConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newCreateSubscriptionNotificationConfiguration' smart constructor.+data CreateSubscriptionNotificationConfiguration = CreateSubscriptionNotificationConfiguration'+ { -- | Create an Amazon Simple Queue Service queue.+ createSqs :: Prelude.Maybe Prelude.Bool,+ -- | The key name for the notification subscription.+ httpsApiKeyName :: Prelude.Maybe Prelude.Text,+ -- | The key value for the notification subscription.+ httpsApiKeyValue :: Prelude.Maybe Prelude.Text,+ -- | The HTTPS method used for the notification subscription.+ httpsMethod :: Prelude.Maybe HttpsMethod,+ -- | The Amazon Resource Name (ARN) of the EventBridge API destinations IAM+ -- role that you created.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The subscription endpoint in Security Lake. If you prefer notification+ -- with an HTTPs endpoint, populate this field.+ subscriptionEndpoint :: Prelude.Maybe Prelude.Text,+ -- | The subscription ID for the notification subscription\/+ subscriptionId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSubscriptionNotificationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createSqs', 'createSubscriptionNotificationConfiguration_createSqs' - Create an Amazon Simple Queue Service queue.+--+-- 'httpsApiKeyName', 'createSubscriptionNotificationConfiguration_httpsApiKeyName' - The key name for the notification subscription.+--+-- 'httpsApiKeyValue', 'createSubscriptionNotificationConfiguration_httpsApiKeyValue' - The key value for the notification subscription.+--+-- 'httpsMethod', 'createSubscriptionNotificationConfiguration_httpsMethod' - The HTTPS method used for the notification subscription.+--+-- 'roleArn', 'createSubscriptionNotificationConfiguration_roleArn' - The Amazon Resource Name (ARN) of the EventBridge API destinations IAM+-- role that you created.+--+-- 'subscriptionEndpoint', 'createSubscriptionNotificationConfiguration_subscriptionEndpoint' - The subscription endpoint in Security Lake. If you prefer notification+-- with an HTTPs endpoint, populate this field.+--+-- 'subscriptionId', 'createSubscriptionNotificationConfiguration_subscriptionId' - The subscription ID for the notification subscription\/+newCreateSubscriptionNotificationConfiguration ::+ -- | 'subscriptionId'+ Prelude.Text ->+ CreateSubscriptionNotificationConfiguration+newCreateSubscriptionNotificationConfiguration+ pSubscriptionId_ =+ CreateSubscriptionNotificationConfiguration'+ { createSqs =+ Prelude.Nothing,+ httpsApiKeyName =+ Prelude.Nothing,+ httpsApiKeyValue =+ Prelude.Nothing,+ httpsMethod = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ subscriptionEndpoint =+ Prelude.Nothing,+ subscriptionId =+ pSubscriptionId_+ }++-- | Create an Amazon Simple Queue Service queue.+createSubscriptionNotificationConfiguration_createSqs :: Lens.Lens' CreateSubscriptionNotificationConfiguration (Prelude.Maybe Prelude.Bool)+createSubscriptionNotificationConfiguration_createSqs = Lens.lens (\CreateSubscriptionNotificationConfiguration' {createSqs} -> createSqs) (\s@CreateSubscriptionNotificationConfiguration' {} a -> s {createSqs = a} :: CreateSubscriptionNotificationConfiguration)++-- | The key name for the notification subscription.+createSubscriptionNotificationConfiguration_httpsApiKeyName :: Lens.Lens' CreateSubscriptionNotificationConfiguration (Prelude.Maybe Prelude.Text)+createSubscriptionNotificationConfiguration_httpsApiKeyName = Lens.lens (\CreateSubscriptionNotificationConfiguration' {httpsApiKeyName} -> httpsApiKeyName) (\s@CreateSubscriptionNotificationConfiguration' {} a -> s {httpsApiKeyName = a} :: CreateSubscriptionNotificationConfiguration)++-- | The key value for the notification subscription.+createSubscriptionNotificationConfiguration_httpsApiKeyValue :: Lens.Lens' CreateSubscriptionNotificationConfiguration (Prelude.Maybe Prelude.Text)+createSubscriptionNotificationConfiguration_httpsApiKeyValue = Lens.lens (\CreateSubscriptionNotificationConfiguration' {httpsApiKeyValue} -> httpsApiKeyValue) (\s@CreateSubscriptionNotificationConfiguration' {} a -> s {httpsApiKeyValue = a} :: CreateSubscriptionNotificationConfiguration)++-- | The HTTPS method used for the notification subscription.+createSubscriptionNotificationConfiguration_httpsMethod :: Lens.Lens' CreateSubscriptionNotificationConfiguration (Prelude.Maybe HttpsMethod)+createSubscriptionNotificationConfiguration_httpsMethod = Lens.lens (\CreateSubscriptionNotificationConfiguration' {httpsMethod} -> httpsMethod) (\s@CreateSubscriptionNotificationConfiguration' {} a -> s {httpsMethod = a} :: CreateSubscriptionNotificationConfiguration)++-- | The Amazon Resource Name (ARN) of the EventBridge API destinations IAM+-- role that you created.+createSubscriptionNotificationConfiguration_roleArn :: Lens.Lens' CreateSubscriptionNotificationConfiguration (Prelude.Maybe Prelude.Text)+createSubscriptionNotificationConfiguration_roleArn = Lens.lens (\CreateSubscriptionNotificationConfiguration' {roleArn} -> roleArn) (\s@CreateSubscriptionNotificationConfiguration' {} a -> s {roleArn = a} :: CreateSubscriptionNotificationConfiguration)++-- | The subscription endpoint in Security Lake. If you prefer notification+-- with an HTTPs endpoint, populate this field.+createSubscriptionNotificationConfiguration_subscriptionEndpoint :: Lens.Lens' CreateSubscriptionNotificationConfiguration (Prelude.Maybe Prelude.Text)+createSubscriptionNotificationConfiguration_subscriptionEndpoint = Lens.lens (\CreateSubscriptionNotificationConfiguration' {subscriptionEndpoint} -> subscriptionEndpoint) (\s@CreateSubscriptionNotificationConfiguration' {} a -> s {subscriptionEndpoint = a} :: CreateSubscriptionNotificationConfiguration)++-- | The subscription ID for the notification subscription\/+createSubscriptionNotificationConfiguration_subscriptionId :: Lens.Lens' CreateSubscriptionNotificationConfiguration Prelude.Text+createSubscriptionNotificationConfiguration_subscriptionId = Lens.lens (\CreateSubscriptionNotificationConfiguration' {subscriptionId} -> subscriptionId) (\s@CreateSubscriptionNotificationConfiguration' {} a -> s {subscriptionId = a} :: CreateSubscriptionNotificationConfiguration)++instance+ Core.AWSRequest+ CreateSubscriptionNotificationConfiguration+ where+ type+ AWSResponse+ CreateSubscriptionNotificationConfiguration =+ CreateSubscriptionNotificationConfigurationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateSubscriptionNotificationConfigurationResponse'+ Prelude.<$> (x Data..?> "queueArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ CreateSubscriptionNotificationConfiguration+ where+ hashWithSalt+ _salt+ CreateSubscriptionNotificationConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` createSqs+ `Prelude.hashWithSalt` httpsApiKeyName+ `Prelude.hashWithSalt` httpsApiKeyValue+ `Prelude.hashWithSalt` httpsMethod+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` subscriptionEndpoint+ `Prelude.hashWithSalt` subscriptionId++instance+ Prelude.NFData+ CreateSubscriptionNotificationConfiguration+ where+ rnf CreateSubscriptionNotificationConfiguration' {..} =+ Prelude.rnf createSqs+ `Prelude.seq` Prelude.rnf httpsApiKeyName+ `Prelude.seq` Prelude.rnf httpsApiKeyValue+ `Prelude.seq` Prelude.rnf httpsMethod+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf subscriptionEndpoint+ `Prelude.seq` Prelude.rnf subscriptionId++instance+ Data.ToHeaders+ CreateSubscriptionNotificationConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ CreateSubscriptionNotificationConfiguration+ where+ toJSON+ CreateSubscriptionNotificationConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("createSqs" Data..=) Prelude.<$> createSqs,+ ("httpsApiKeyName" Data..=)+ Prelude.<$> httpsApiKeyName,+ ("httpsApiKeyValue" Data..=)+ Prelude.<$> httpsApiKeyValue,+ ("httpsMethod" Data..=) Prelude.<$> httpsMethod,+ ("roleArn" Data..=) Prelude.<$> roleArn,+ ("subscriptionEndpoint" Data..=)+ Prelude.<$> subscriptionEndpoint+ ]+ )++instance+ Data.ToPath+ CreateSubscriptionNotificationConfiguration+ where+ toPath+ CreateSubscriptionNotificationConfiguration' {..} =+ Prelude.mconcat+ [ "/subscription-notifications/",+ Data.toBS subscriptionId+ ]++instance+ Data.ToQuery+ CreateSubscriptionNotificationConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSubscriptionNotificationConfigurationResponse' smart constructor.+data CreateSubscriptionNotificationConfigurationResponse = CreateSubscriptionNotificationConfigurationResponse'+ { -- | Returns the Amazon Resource Name (ARN) of the queue.+ queueArn :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSubscriptionNotificationConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'queueArn', 'createSubscriptionNotificationConfigurationResponse_queueArn' - Returns the Amazon Resource Name (ARN) of the queue.+--+-- 'httpStatus', 'createSubscriptionNotificationConfigurationResponse_httpStatus' - The response's http status code.+newCreateSubscriptionNotificationConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateSubscriptionNotificationConfigurationResponse+newCreateSubscriptionNotificationConfigurationResponse+ pHttpStatus_ =+ CreateSubscriptionNotificationConfigurationResponse'+ { queueArn =+ Prelude.Nothing,+ httpStatus =+ pHttpStatus_+ }++-- | Returns the Amazon Resource Name (ARN) of the queue.+createSubscriptionNotificationConfigurationResponse_queueArn :: Lens.Lens' CreateSubscriptionNotificationConfigurationResponse (Prelude.Maybe Prelude.Text)+createSubscriptionNotificationConfigurationResponse_queueArn = Lens.lens (\CreateSubscriptionNotificationConfigurationResponse' {queueArn} -> queueArn) (\s@CreateSubscriptionNotificationConfigurationResponse' {} a -> s {queueArn = a} :: CreateSubscriptionNotificationConfigurationResponse)++-- | The response's http status code.+createSubscriptionNotificationConfigurationResponse_httpStatus :: Lens.Lens' CreateSubscriptionNotificationConfigurationResponse Prelude.Int+createSubscriptionNotificationConfigurationResponse_httpStatus = Lens.lens (\CreateSubscriptionNotificationConfigurationResponse' {httpStatus} -> httpStatus) (\s@CreateSubscriptionNotificationConfigurationResponse' {} a -> s {httpStatus = a} :: CreateSubscriptionNotificationConfigurationResponse)++instance+ Prelude.NFData+ CreateSubscriptionNotificationConfigurationResponse+ where+ rnf+ CreateSubscriptionNotificationConfigurationResponse' {..} =+ Prelude.rnf queueArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/DeleteAwsLogSource.hs view
@@ -0,0 +1,262 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.DeleteAwsLogSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes a natively supported Amazon Web Service as an Amazon Security+-- Lake source. When you remove the source, Security Lake stops collecting+-- data from that source, and subscribers can no longer consume new data+-- from the source. Subscribers can still consume data that Security Lake+-- collected from the source before disablement.+--+-- You can choose any source type in any Amazon Web Services Region for+-- either accounts that are part of a trusted organization or standalone+-- accounts. At least one of the three dimensions is a mandatory input to+-- this API. However, you can supply any combination of the three+-- dimensions to this API.+--+-- By default, a dimension refers to the entire set. This is overridden+-- when you supply any one of the inputs. For instance, when you do not+-- specify members, the API disables all Security Lake member accounts for+-- sources. Similarly, when you do not specify Regions, Security Lake is+-- disabled for all the Regions where Security Lake is available as a+-- service.+--+-- When you don\'t provide a dimension, Security Lake assumes that the+-- missing dimension refers to the entire set. For example, if you don\'t+-- provide specific accounts, the API applies to the entire set of accounts+-- in your organization.+module Amazonka.SecurityLake.DeleteAwsLogSource+ ( -- * Creating a Request+ DeleteAwsLogSource (..),+ newDeleteAwsLogSource,++ -- * Request Lenses+ deleteAwsLogSource_disableAllDimensions,+ deleteAwsLogSource_disableSingleDimension,+ deleteAwsLogSource_disableTwoDimensions,+ deleteAwsLogSource_inputOrder,++ -- * Destructuring the Response+ DeleteAwsLogSourceResponse (..),+ newDeleteAwsLogSourceResponse,++ -- * Response Lenses+ deleteAwsLogSourceResponse_failed,+ deleteAwsLogSourceResponse_processing,+ deleteAwsLogSourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newDeleteAwsLogSource' smart constructor.+data DeleteAwsLogSource = DeleteAwsLogSource'+ { -- | Removes the specific Amazon Web Services sources from specific accounts+ -- and specific Regions.+ disableAllDimensions :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text [Prelude.Text])),+ -- | Removes all Amazon Web Services sources from specific accounts or+ -- Regions.+ disableSingleDimension :: Prelude.Maybe [Prelude.Text],+ -- | Remove a specific Amazon Web Services source from specific accounts or+ -- Regions.+ disableTwoDimensions :: Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]),+ -- | This is a mandatory input. Specify the input order to disable dimensions+ -- in Security Lake, namely Region (Amazon Web Services Region code, source+ -- type, and member (account ID of a specific Amazon Web Services account).+ inputOrder :: [Dimension]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAwsLogSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'disableAllDimensions', 'deleteAwsLogSource_disableAllDimensions' - Removes the specific Amazon Web Services sources from specific accounts+-- and specific Regions.+--+-- 'disableSingleDimension', 'deleteAwsLogSource_disableSingleDimension' - Removes all Amazon Web Services sources from specific accounts or+-- Regions.+--+-- 'disableTwoDimensions', 'deleteAwsLogSource_disableTwoDimensions' - Remove a specific Amazon Web Services source from specific accounts or+-- Regions.+--+-- 'inputOrder', 'deleteAwsLogSource_inputOrder' - This is a mandatory input. Specify the input order to disable dimensions+-- in Security Lake, namely Region (Amazon Web Services Region code, source+-- type, and member (account ID of a specific Amazon Web Services account).+newDeleteAwsLogSource ::+ DeleteAwsLogSource+newDeleteAwsLogSource =+ DeleteAwsLogSource'+ { disableAllDimensions =+ Prelude.Nothing,+ disableSingleDimension = Prelude.Nothing,+ disableTwoDimensions = Prelude.Nothing,+ inputOrder = Prelude.mempty+ }++-- | Removes the specific Amazon Web Services sources from specific accounts+-- and specific Regions.+deleteAwsLogSource_disableAllDimensions :: Lens.Lens' DeleteAwsLogSource (Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text [Prelude.Text])))+deleteAwsLogSource_disableAllDimensions = Lens.lens (\DeleteAwsLogSource' {disableAllDimensions} -> disableAllDimensions) (\s@DeleteAwsLogSource' {} a -> s {disableAllDimensions = a} :: DeleteAwsLogSource) Prelude.. Lens.mapping Lens.coerced++-- | Removes all Amazon Web Services sources from specific accounts or+-- Regions.+deleteAwsLogSource_disableSingleDimension :: Lens.Lens' DeleteAwsLogSource (Prelude.Maybe [Prelude.Text])+deleteAwsLogSource_disableSingleDimension = Lens.lens (\DeleteAwsLogSource' {disableSingleDimension} -> disableSingleDimension) (\s@DeleteAwsLogSource' {} a -> s {disableSingleDimension = a} :: DeleteAwsLogSource) Prelude.. Lens.mapping Lens.coerced++-- | Remove a specific Amazon Web Services source from specific accounts or+-- Regions.+deleteAwsLogSource_disableTwoDimensions :: Lens.Lens' DeleteAwsLogSource (Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]))+deleteAwsLogSource_disableTwoDimensions = Lens.lens (\DeleteAwsLogSource' {disableTwoDimensions} -> disableTwoDimensions) (\s@DeleteAwsLogSource' {} a -> s {disableTwoDimensions = a} :: DeleteAwsLogSource) Prelude.. Lens.mapping Lens.coerced++-- | This is a mandatory input. Specify the input order to disable dimensions+-- in Security Lake, namely Region (Amazon Web Services Region code, source+-- type, and member (account ID of a specific Amazon Web Services account).+deleteAwsLogSource_inputOrder :: Lens.Lens' DeleteAwsLogSource [Dimension]+deleteAwsLogSource_inputOrder = Lens.lens (\DeleteAwsLogSource' {inputOrder} -> inputOrder) (\s@DeleteAwsLogSource' {} a -> s {inputOrder = a} :: DeleteAwsLogSource) Prelude.. Lens.coerced++instance Core.AWSRequest DeleteAwsLogSource where+ type+ AWSResponse DeleteAwsLogSource =+ DeleteAwsLogSourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteAwsLogSourceResponse'+ Prelude.<$> (x Data..?> "failed" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "processing" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteAwsLogSource where+ hashWithSalt _salt DeleteAwsLogSource' {..} =+ _salt+ `Prelude.hashWithSalt` disableAllDimensions+ `Prelude.hashWithSalt` disableSingleDimension+ `Prelude.hashWithSalt` disableTwoDimensions+ `Prelude.hashWithSalt` inputOrder++instance Prelude.NFData DeleteAwsLogSource where+ rnf DeleteAwsLogSource' {..} =+ Prelude.rnf disableAllDimensions+ `Prelude.seq` Prelude.rnf disableSingleDimension+ `Prelude.seq` Prelude.rnf disableTwoDimensions+ `Prelude.seq` Prelude.rnf inputOrder++instance Data.ToHeaders DeleteAwsLogSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteAwsLogSource where+ toJSON DeleteAwsLogSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("disableAllDimensions" Data..=)+ Prelude.<$> disableAllDimensions,+ ("disableSingleDimension" Data..=)+ Prelude.<$> disableSingleDimension,+ ("disableTwoDimensions" Data..=)+ Prelude.<$> disableTwoDimensions,+ Prelude.Just ("inputOrder" Data..= inputOrder)+ ]+ )++instance Data.ToPath DeleteAwsLogSource where+ toPath = Prelude.const "/v1/logsources/aws/delete"++instance Data.ToQuery DeleteAwsLogSource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAwsLogSourceResponse' smart constructor.+data DeleteAwsLogSourceResponse = DeleteAwsLogSourceResponse'+ { -- | Deletion of the Amazon Web Services sources failed as the account is not+ -- a part of the organization.+ failed :: Prelude.Maybe [Prelude.Text],+ -- | Deletion of the Amazon Web Services sources is in progress.+ processing :: Prelude.Maybe [Prelude.Text],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAwsLogSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'failed', 'deleteAwsLogSourceResponse_failed' - Deletion of the Amazon Web Services sources failed as the account is not+-- a part of the organization.+--+-- 'processing', 'deleteAwsLogSourceResponse_processing' - Deletion of the Amazon Web Services sources is in progress.+--+-- 'httpStatus', 'deleteAwsLogSourceResponse_httpStatus' - The response's http status code.+newDeleteAwsLogSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteAwsLogSourceResponse+newDeleteAwsLogSourceResponse pHttpStatus_ =+ DeleteAwsLogSourceResponse'+ { failed =+ Prelude.Nothing,+ processing = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Deletion of the Amazon Web Services sources failed as the account is not+-- a part of the organization.+deleteAwsLogSourceResponse_failed :: Lens.Lens' DeleteAwsLogSourceResponse (Prelude.Maybe [Prelude.Text])+deleteAwsLogSourceResponse_failed = Lens.lens (\DeleteAwsLogSourceResponse' {failed} -> failed) (\s@DeleteAwsLogSourceResponse' {} a -> s {failed = a} :: DeleteAwsLogSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | Deletion of the Amazon Web Services sources is in progress.+deleteAwsLogSourceResponse_processing :: Lens.Lens' DeleteAwsLogSourceResponse (Prelude.Maybe [Prelude.Text])+deleteAwsLogSourceResponse_processing = Lens.lens (\DeleteAwsLogSourceResponse' {processing} -> processing) (\s@DeleteAwsLogSourceResponse' {} a -> s {processing = a} :: DeleteAwsLogSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+deleteAwsLogSourceResponse_httpStatus :: Lens.Lens' DeleteAwsLogSourceResponse Prelude.Int+deleteAwsLogSourceResponse_httpStatus = Lens.lens (\DeleteAwsLogSourceResponse' {httpStatus} -> httpStatus) (\s@DeleteAwsLogSourceResponse' {} a -> s {httpStatus = a} :: DeleteAwsLogSourceResponse)++instance Prelude.NFData DeleteAwsLogSourceResponse where+ rnf DeleteAwsLogSourceResponse' {..} =+ Prelude.rnf failed+ `Prelude.seq` Prelude.rnf processing+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/DeleteCustomLogSource.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.DeleteCustomLogSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes a custom log source from Amazon Security Lake.+module Amazonka.SecurityLake.DeleteCustomLogSource+ ( -- * Creating a Request+ DeleteCustomLogSource (..),+ newDeleteCustomLogSource,++ -- * Request Lenses+ deleteCustomLogSource_customSourceName,++ -- * Destructuring the Response+ DeleteCustomLogSourceResponse (..),+ newDeleteCustomLogSourceResponse,++ -- * Response Lenses+ deleteCustomLogSourceResponse_httpStatus,+ deleteCustomLogSourceResponse_customDataLocation,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newDeleteCustomLogSource' smart constructor.+data DeleteCustomLogSource = DeleteCustomLogSource'+ { -- | The custom source name for the custom log source.+ customSourceName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCustomLogSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customSourceName', 'deleteCustomLogSource_customSourceName' - The custom source name for the custom log source.+newDeleteCustomLogSource ::+ -- | 'customSourceName'+ Prelude.Text ->+ DeleteCustomLogSource+newDeleteCustomLogSource pCustomSourceName_ =+ DeleteCustomLogSource'+ { customSourceName =+ pCustomSourceName_+ }++-- | The custom source name for the custom log source.+deleteCustomLogSource_customSourceName :: Lens.Lens' DeleteCustomLogSource Prelude.Text+deleteCustomLogSource_customSourceName = Lens.lens (\DeleteCustomLogSource' {customSourceName} -> customSourceName) (\s@DeleteCustomLogSource' {} a -> s {customSourceName = a} :: DeleteCustomLogSource)++instance Core.AWSRequest DeleteCustomLogSource where+ type+ AWSResponse DeleteCustomLogSource =+ DeleteCustomLogSourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteCustomLogSourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "customDataLocation")+ )++instance Prelude.Hashable DeleteCustomLogSource where+ hashWithSalt _salt DeleteCustomLogSource' {..} =+ _salt `Prelude.hashWithSalt` customSourceName++instance Prelude.NFData DeleteCustomLogSource where+ rnf DeleteCustomLogSource' {..} =+ Prelude.rnf customSourceName++instance Data.ToHeaders DeleteCustomLogSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteCustomLogSource where+ toPath = Prelude.const "/v1/logsources/custom"++instance Data.ToQuery DeleteCustomLogSource where+ toQuery DeleteCustomLogSource' {..} =+ Prelude.mconcat+ ["customSourceName" Data.=: customSourceName]++-- | /See:/ 'newDeleteCustomLogSourceResponse' smart constructor.+data DeleteCustomLogSourceResponse = DeleteCustomLogSourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The location of the partition in the Amazon S3 bucket for Security Lake.+ customDataLocation :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCustomLogSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteCustomLogSourceResponse_httpStatus' - The response's http status code.+--+-- 'customDataLocation', 'deleteCustomLogSourceResponse_customDataLocation' - The location of the partition in the Amazon S3 bucket for Security Lake.+newDeleteCustomLogSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'customDataLocation'+ Prelude.Text ->+ DeleteCustomLogSourceResponse+newDeleteCustomLogSourceResponse+ pHttpStatus_+ pCustomDataLocation_ =+ DeleteCustomLogSourceResponse'+ { httpStatus =+ pHttpStatus_,+ customDataLocation = pCustomDataLocation_+ }++-- | The response's http status code.+deleteCustomLogSourceResponse_httpStatus :: Lens.Lens' DeleteCustomLogSourceResponse Prelude.Int+deleteCustomLogSourceResponse_httpStatus = Lens.lens (\DeleteCustomLogSourceResponse' {httpStatus} -> httpStatus) (\s@DeleteCustomLogSourceResponse' {} a -> s {httpStatus = a} :: DeleteCustomLogSourceResponse)++-- | The location of the partition in the Amazon S3 bucket for Security Lake.+deleteCustomLogSourceResponse_customDataLocation :: Lens.Lens' DeleteCustomLogSourceResponse Prelude.Text+deleteCustomLogSourceResponse_customDataLocation = Lens.lens (\DeleteCustomLogSourceResponse' {customDataLocation} -> customDataLocation) (\s@DeleteCustomLogSourceResponse' {} a -> s {customDataLocation = a} :: DeleteCustomLogSourceResponse)++instance Prelude.NFData DeleteCustomLogSourceResponse where+ rnf DeleteCustomLogSourceResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf customDataLocation
+ gen/Amazonka/SecurityLake/DeleteDatalake.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.DeleteDatalake+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- When you delete Amazon Security Lake from your account, Security Lake is+-- disabled in all Amazon Web Services Regions. Also, this API+-- automatically takes steps to remove the account from Security Lake .+--+-- This operation disables security data collection from sources, deletes+-- data stored, and stops making data accessible to subscribers. Security+-- Lake also deletes all the existing settings and resources that it stores+-- or maintains for your Amazon Web Services account in the current Region,+-- including security log and event data. The @DeleteDatalake@ operation+-- does not delete the Amazon S3 bucket, which is owned by your Amazon Web+-- Services account. For more information, see the+-- <https://docs.aws.amazon.com/security-lake/latest/userguide/disable-security-lake.html Amazon Security Lake User Guide>.+module Amazonka.SecurityLake.DeleteDatalake+ ( -- * Creating a Request+ DeleteDatalake (..),+ newDeleteDatalake,++ -- * Destructuring the Response+ DeleteDatalakeResponse (..),+ newDeleteDatalakeResponse,++ -- * Response Lenses+ deleteDatalakeResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newDeleteDatalake' smart constructor.+data DeleteDatalake = DeleteDatalake'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatalake' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteDatalake ::+ DeleteDatalake+newDeleteDatalake = DeleteDatalake'++instance Core.AWSRequest DeleteDatalake where+ type+ AWSResponse DeleteDatalake =+ DeleteDatalakeResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteDatalakeResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteDatalake where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DeleteDatalake where+ rnf _ = ()++instance Data.ToHeaders DeleteDatalake where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteDatalake where+ toPath = Prelude.const "/v1/datalake"++instance Data.ToQuery DeleteDatalake where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDatalakeResponse' smart constructor.+data DeleteDatalakeResponse = DeleteDatalakeResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatalakeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteDatalakeResponse_httpStatus' - The response's http status code.+newDeleteDatalakeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteDatalakeResponse+newDeleteDatalakeResponse pHttpStatus_ =+ DeleteDatalakeResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteDatalakeResponse_httpStatus :: Lens.Lens' DeleteDatalakeResponse Prelude.Int+deleteDatalakeResponse_httpStatus = Lens.lens (\DeleteDatalakeResponse' {httpStatus} -> httpStatus) (\s@DeleteDatalakeResponse' {} a -> s {httpStatus = a} :: DeleteDatalakeResponse)++instance Prelude.NFData DeleteDatalakeResponse where+ rnf DeleteDatalakeResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/DeleteDatalakeAutoEnable.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.DeleteDatalakeAutoEnable+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Automatically deletes Amazon Security Lake to stop collecting security+-- data. When you delete Amazon Security Lake from your account, Security+-- Lake is disabled in all Regions. Also, this API automatically takes+-- steps to remove the account from Security Lake .+--+-- This operation disables security data collection from sources, deletes+-- data stored, and stops making data accessible to subscribers. Security+-- Lake also deletes all the existing settings and resources that it stores+-- or maintains for your Amazon Web Services account in the current Region,+-- including security log and event data. The @DeleteDatalake@ operation+-- does not delete the Amazon S3 bucket, which is owned by your Amazon Web+-- Services account. For more information, see the+-- <https://docs.aws.amazon.com/security-lake/latest/userguide/disable-security-lake.html Amazon Security Lake User Guide>.+module Amazonka.SecurityLake.DeleteDatalakeAutoEnable+ ( -- * Creating a Request+ DeleteDatalakeAutoEnable (..),+ newDeleteDatalakeAutoEnable,++ -- * Request Lenses+ deleteDatalakeAutoEnable_removeFromConfigurationForNewAccounts,++ -- * Destructuring the Response+ DeleteDatalakeAutoEnableResponse (..),+ newDeleteDatalakeAutoEnableResponse,++ -- * Response Lenses+ deleteDatalakeAutoEnableResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newDeleteDatalakeAutoEnable' smart constructor.+data DeleteDatalakeAutoEnable = DeleteDatalakeAutoEnable'+ { -- | Delete Amazon Security Lake with the specified configuration settings to+ -- stop ingesting security data for new accounts in Security Lake.+ removeFromConfigurationForNewAccounts :: [AutoEnableNewRegionConfiguration]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatalakeAutoEnable' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'removeFromConfigurationForNewAccounts', 'deleteDatalakeAutoEnable_removeFromConfigurationForNewAccounts' - Delete Amazon Security Lake with the specified configuration settings to+-- stop ingesting security data for new accounts in Security Lake.+newDeleteDatalakeAutoEnable ::+ DeleteDatalakeAutoEnable+newDeleteDatalakeAutoEnable =+ DeleteDatalakeAutoEnable'+ { removeFromConfigurationForNewAccounts =+ Prelude.mempty+ }++-- | Delete Amazon Security Lake with the specified configuration settings to+-- stop ingesting security data for new accounts in Security Lake.+deleteDatalakeAutoEnable_removeFromConfigurationForNewAccounts :: Lens.Lens' DeleteDatalakeAutoEnable [AutoEnableNewRegionConfiguration]+deleteDatalakeAutoEnable_removeFromConfigurationForNewAccounts = Lens.lens (\DeleteDatalakeAutoEnable' {removeFromConfigurationForNewAccounts} -> removeFromConfigurationForNewAccounts) (\s@DeleteDatalakeAutoEnable' {} a -> s {removeFromConfigurationForNewAccounts = a} :: DeleteDatalakeAutoEnable) Prelude.. Lens.coerced++instance Core.AWSRequest DeleteDatalakeAutoEnable where+ type+ AWSResponse DeleteDatalakeAutoEnable =+ DeleteDatalakeAutoEnableResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteDatalakeAutoEnableResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteDatalakeAutoEnable where+ hashWithSalt _salt DeleteDatalakeAutoEnable' {..} =+ _salt+ `Prelude.hashWithSalt` removeFromConfigurationForNewAccounts++instance Prelude.NFData DeleteDatalakeAutoEnable where+ rnf DeleteDatalakeAutoEnable' {..} =+ Prelude.rnf removeFromConfigurationForNewAccounts++instance Data.ToHeaders DeleteDatalakeAutoEnable where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteDatalakeAutoEnable where+ toJSON DeleteDatalakeAutoEnable' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "removeFromConfigurationForNewAccounts"+ Data..= removeFromConfigurationForNewAccounts+ )+ ]+ )++instance Data.ToPath DeleteDatalakeAutoEnable where+ toPath =+ Prelude.const "/v1/datalake/autoenable/delete"++instance Data.ToQuery DeleteDatalakeAutoEnable where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDatalakeAutoEnableResponse' smart constructor.+data DeleteDatalakeAutoEnableResponse = DeleteDatalakeAutoEnableResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatalakeAutoEnableResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteDatalakeAutoEnableResponse_httpStatus' - The response's http status code.+newDeleteDatalakeAutoEnableResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteDatalakeAutoEnableResponse+newDeleteDatalakeAutoEnableResponse pHttpStatus_ =+ DeleteDatalakeAutoEnableResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteDatalakeAutoEnableResponse_httpStatus :: Lens.Lens' DeleteDatalakeAutoEnableResponse Prelude.Int+deleteDatalakeAutoEnableResponse_httpStatus = Lens.lens (\DeleteDatalakeAutoEnableResponse' {httpStatus} -> httpStatus) (\s@DeleteDatalakeAutoEnableResponse' {} a -> s {httpStatus = a} :: DeleteDatalakeAutoEnableResponse)++instance+ Prelude.NFData+ DeleteDatalakeAutoEnableResponse+ where+ rnf DeleteDatalakeAutoEnableResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/DeleteDatalakeDelegatedAdmin.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.DeleteDatalakeDelegatedAdmin+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the Amazon Security Lake delegated administrator account for the+-- organization. This API can only be called by the organization management+-- account. The organization management account cannot be the delegated+-- administrator account.+module Amazonka.SecurityLake.DeleteDatalakeDelegatedAdmin+ ( -- * Creating a Request+ DeleteDatalakeDelegatedAdmin (..),+ newDeleteDatalakeDelegatedAdmin,++ -- * Request Lenses+ deleteDatalakeDelegatedAdmin_account,++ -- * Destructuring the Response+ DeleteDatalakeDelegatedAdminResponse (..),+ newDeleteDatalakeDelegatedAdminResponse,++ -- * Response Lenses+ deleteDatalakeDelegatedAdminResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newDeleteDatalakeDelegatedAdmin' smart constructor.+data DeleteDatalakeDelegatedAdmin = DeleteDatalakeDelegatedAdmin'+ { -- | The account ID the Security Lake delegated administrator.+ account :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatalakeDelegatedAdmin' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'account', 'deleteDatalakeDelegatedAdmin_account' - The account ID the Security Lake delegated administrator.+newDeleteDatalakeDelegatedAdmin ::+ -- | 'account'+ Prelude.Text ->+ DeleteDatalakeDelegatedAdmin+newDeleteDatalakeDelegatedAdmin pAccount_ =+ DeleteDatalakeDelegatedAdmin' {account = pAccount_}++-- | The account ID the Security Lake delegated administrator.+deleteDatalakeDelegatedAdmin_account :: Lens.Lens' DeleteDatalakeDelegatedAdmin Prelude.Text+deleteDatalakeDelegatedAdmin_account = Lens.lens (\DeleteDatalakeDelegatedAdmin' {account} -> account) (\s@DeleteDatalakeDelegatedAdmin' {} a -> s {account = a} :: DeleteDatalakeDelegatedAdmin)++instance Core.AWSRequest DeleteDatalakeDelegatedAdmin where+ type+ AWSResponse DeleteDatalakeDelegatedAdmin =+ DeleteDatalakeDelegatedAdminResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteDatalakeDelegatedAdminResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DeleteDatalakeDelegatedAdmin+ where+ hashWithSalt _salt DeleteDatalakeDelegatedAdmin' {..} =+ _salt `Prelude.hashWithSalt` account++instance Prelude.NFData DeleteDatalakeDelegatedAdmin where+ rnf DeleteDatalakeDelegatedAdmin' {..} =+ Prelude.rnf account++instance Data.ToHeaders DeleteDatalakeDelegatedAdmin where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteDatalakeDelegatedAdmin where+ toPath DeleteDatalakeDelegatedAdmin' {..} =+ Prelude.mconcat+ ["/v1/datalake/delegate/", Data.toBS account]++instance Data.ToQuery DeleteDatalakeDelegatedAdmin where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDatalakeDelegatedAdminResponse' smart constructor.+data DeleteDatalakeDelegatedAdminResponse = DeleteDatalakeDelegatedAdminResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatalakeDelegatedAdminResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteDatalakeDelegatedAdminResponse_httpStatus' - The response's http status code.+newDeleteDatalakeDelegatedAdminResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteDatalakeDelegatedAdminResponse+newDeleteDatalakeDelegatedAdminResponse pHttpStatus_ =+ DeleteDatalakeDelegatedAdminResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteDatalakeDelegatedAdminResponse_httpStatus :: Lens.Lens' DeleteDatalakeDelegatedAdminResponse Prelude.Int+deleteDatalakeDelegatedAdminResponse_httpStatus = Lens.lens (\DeleteDatalakeDelegatedAdminResponse' {httpStatus} -> httpStatus) (\s@DeleteDatalakeDelegatedAdminResponse' {} a -> s {httpStatus = a} :: DeleteDatalakeDelegatedAdminResponse)++instance+ Prelude.NFData+ DeleteDatalakeDelegatedAdminResponse+ where+ rnf DeleteDatalakeDelegatedAdminResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/DeleteDatalakeExceptionsSubscription.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.DeleteDatalakeExceptionsSubscription+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified notification subscription in Amazon Security Lake+-- for the organization you specify.+module Amazonka.SecurityLake.DeleteDatalakeExceptionsSubscription+ ( -- * Creating a Request+ DeleteDatalakeExceptionsSubscription (..),+ newDeleteDatalakeExceptionsSubscription,++ -- * Destructuring the Response+ DeleteDatalakeExceptionsSubscriptionResponse (..),+ newDeleteDatalakeExceptionsSubscriptionResponse,++ -- * Response Lenses+ deleteDatalakeExceptionsSubscriptionResponse_httpStatus,+ deleteDatalakeExceptionsSubscriptionResponse_status,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newDeleteDatalakeExceptionsSubscription' smart constructor.+data DeleteDatalakeExceptionsSubscription = DeleteDatalakeExceptionsSubscription'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatalakeExceptionsSubscription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteDatalakeExceptionsSubscription ::+ DeleteDatalakeExceptionsSubscription+newDeleteDatalakeExceptionsSubscription =+ DeleteDatalakeExceptionsSubscription'++instance+ Core.AWSRequest+ DeleteDatalakeExceptionsSubscription+ where+ type+ AWSResponse DeleteDatalakeExceptionsSubscription =+ DeleteDatalakeExceptionsSubscriptionResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteDatalakeExceptionsSubscriptionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "status")+ )++instance+ Prelude.Hashable+ DeleteDatalakeExceptionsSubscription+ where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance+ Prelude.NFData+ DeleteDatalakeExceptionsSubscription+ where+ rnf _ = ()++instance+ Data.ToHeaders+ DeleteDatalakeExceptionsSubscription+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ DeleteDatalakeExceptionsSubscription+ where+ toPath =+ Prelude.const+ "/v1/datalake/exceptions/subscription"++instance+ Data.ToQuery+ DeleteDatalakeExceptionsSubscription+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDatalakeExceptionsSubscriptionResponse' smart constructor.+data DeleteDatalakeExceptionsSubscriptionResponse = DeleteDatalakeExceptionsSubscriptionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Retrieves the status of the delete Security Lake operation for an+ -- account.+ status :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDatalakeExceptionsSubscriptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteDatalakeExceptionsSubscriptionResponse_httpStatus' - The response's http status code.+--+-- 'status', 'deleteDatalakeExceptionsSubscriptionResponse_status' - Retrieves the status of the delete Security Lake operation for an+-- account.+newDeleteDatalakeExceptionsSubscriptionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'status'+ Prelude.Text ->+ DeleteDatalakeExceptionsSubscriptionResponse+newDeleteDatalakeExceptionsSubscriptionResponse+ pHttpStatus_+ pStatus_ =+ DeleteDatalakeExceptionsSubscriptionResponse'+ { httpStatus =+ pHttpStatus_,+ status = pStatus_+ }++-- | The response's http status code.+deleteDatalakeExceptionsSubscriptionResponse_httpStatus :: Lens.Lens' DeleteDatalakeExceptionsSubscriptionResponse Prelude.Int+deleteDatalakeExceptionsSubscriptionResponse_httpStatus = Lens.lens (\DeleteDatalakeExceptionsSubscriptionResponse' {httpStatus} -> httpStatus) (\s@DeleteDatalakeExceptionsSubscriptionResponse' {} a -> s {httpStatus = a} :: DeleteDatalakeExceptionsSubscriptionResponse)++-- | Retrieves the status of the delete Security Lake operation for an+-- account.+deleteDatalakeExceptionsSubscriptionResponse_status :: Lens.Lens' DeleteDatalakeExceptionsSubscriptionResponse Prelude.Text+deleteDatalakeExceptionsSubscriptionResponse_status = Lens.lens (\DeleteDatalakeExceptionsSubscriptionResponse' {status} -> status) (\s@DeleteDatalakeExceptionsSubscriptionResponse' {} a -> s {status = a} :: DeleteDatalakeExceptionsSubscriptionResponse)++instance+ Prelude.NFData+ DeleteDatalakeExceptionsSubscriptionResponse+ where+ rnf DeleteDatalakeExceptionsSubscriptionResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/SecurityLake/DeleteSubscriber.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.DeleteSubscriber+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the subscription permission for accounts that are already+-- enabled in Amazon Security Lake. You can delete a subscriber and remove+-- access to data in the current Amazon Web Services Region.+module Amazonka.SecurityLake.DeleteSubscriber+ ( -- * Creating a Request+ DeleteSubscriber (..),+ newDeleteSubscriber,++ -- * Request Lenses+ deleteSubscriber_id,++ -- * Destructuring the Response+ DeleteSubscriberResponse (..),+ newDeleteSubscriberResponse,++ -- * Response Lenses+ deleteSubscriberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newDeleteSubscriber' smart constructor.+data DeleteSubscriber = DeleteSubscriber'+ { -- | A value created by Security Lake that uniquely identifies your+ -- @DeleteSubscriber@ API request.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSubscriber' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'deleteSubscriber_id' - A value created by Security Lake that uniquely identifies your+-- @DeleteSubscriber@ API request.+newDeleteSubscriber ::+ -- | 'id'+ Prelude.Text ->+ DeleteSubscriber+newDeleteSubscriber pId_ =+ DeleteSubscriber' {id = pId_}++-- | A value created by Security Lake that uniquely identifies your+-- @DeleteSubscriber@ API request.+deleteSubscriber_id :: Lens.Lens' DeleteSubscriber Prelude.Text+deleteSubscriber_id = Lens.lens (\DeleteSubscriber' {id} -> id) (\s@DeleteSubscriber' {} a -> s {id = a} :: DeleteSubscriber)++instance Core.AWSRequest DeleteSubscriber where+ type+ AWSResponse DeleteSubscriber =+ DeleteSubscriberResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteSubscriberResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteSubscriber where+ hashWithSalt _salt DeleteSubscriber' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteSubscriber where+ rnf DeleteSubscriber' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteSubscriber where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteSubscriber where+ toPath = Prelude.const "/v1/subscribers"++instance Data.ToQuery DeleteSubscriber where+ toQuery DeleteSubscriber' {..} =+ Prelude.mconcat ["id" Data.=: id]++-- | /See:/ 'newDeleteSubscriberResponse' smart constructor.+data DeleteSubscriberResponse = DeleteSubscriberResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSubscriberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteSubscriberResponse_httpStatus' - The response's http status code.+newDeleteSubscriberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteSubscriberResponse+newDeleteSubscriberResponse pHttpStatus_ =+ DeleteSubscriberResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteSubscriberResponse_httpStatus :: Lens.Lens' DeleteSubscriberResponse Prelude.Int+deleteSubscriberResponse_httpStatus = Lens.lens (\DeleteSubscriberResponse' {httpStatus} -> httpStatus) (\s@DeleteSubscriberResponse' {} a -> s {httpStatus = a} :: DeleteSubscriberResponse)++instance Prelude.NFData DeleteSubscriberResponse where+ rnf DeleteSubscriberResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/DeleteSubscriptionNotificationConfiguration.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.DeleteSubscriptionNotificationConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified notification subscription in Amazon Security Lake+-- for the organization you specify.+module Amazonka.SecurityLake.DeleteSubscriptionNotificationConfiguration+ ( -- * Creating a Request+ DeleteSubscriptionNotificationConfiguration (..),+ newDeleteSubscriptionNotificationConfiguration,++ -- * Request Lenses+ deleteSubscriptionNotificationConfiguration_subscriptionId,++ -- * Destructuring the Response+ DeleteSubscriptionNotificationConfigurationResponse (..),+ newDeleteSubscriptionNotificationConfigurationResponse,++ -- * Response Lenses+ deleteSubscriptionNotificationConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newDeleteSubscriptionNotificationConfiguration' smart constructor.+data DeleteSubscriptionNotificationConfiguration = DeleteSubscriptionNotificationConfiguration'+ { -- | The ID of the Security Lake subscriber account.+ subscriptionId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSubscriptionNotificationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subscriptionId', 'deleteSubscriptionNotificationConfiguration_subscriptionId' - The ID of the Security Lake subscriber account.+newDeleteSubscriptionNotificationConfiguration ::+ -- | 'subscriptionId'+ Prelude.Text ->+ DeleteSubscriptionNotificationConfiguration+newDeleteSubscriptionNotificationConfiguration+ pSubscriptionId_ =+ DeleteSubscriptionNotificationConfiguration'+ { subscriptionId =+ pSubscriptionId_+ }++-- | The ID of the Security Lake subscriber account.+deleteSubscriptionNotificationConfiguration_subscriptionId :: Lens.Lens' DeleteSubscriptionNotificationConfiguration Prelude.Text+deleteSubscriptionNotificationConfiguration_subscriptionId = Lens.lens (\DeleteSubscriptionNotificationConfiguration' {subscriptionId} -> subscriptionId) (\s@DeleteSubscriptionNotificationConfiguration' {} a -> s {subscriptionId = a} :: DeleteSubscriptionNotificationConfiguration)++instance+ Core.AWSRequest+ DeleteSubscriptionNotificationConfiguration+ where+ type+ AWSResponse+ DeleteSubscriptionNotificationConfiguration =+ DeleteSubscriptionNotificationConfigurationResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteSubscriptionNotificationConfigurationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DeleteSubscriptionNotificationConfiguration+ where+ hashWithSalt+ _salt+ DeleteSubscriptionNotificationConfiguration' {..} =+ _salt `Prelude.hashWithSalt` subscriptionId++instance+ Prelude.NFData+ DeleteSubscriptionNotificationConfiguration+ where+ rnf DeleteSubscriptionNotificationConfiguration' {..} =+ Prelude.rnf subscriptionId++instance+ Data.ToHeaders+ DeleteSubscriptionNotificationConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ DeleteSubscriptionNotificationConfiguration+ where+ toPath+ DeleteSubscriptionNotificationConfiguration' {..} =+ Prelude.mconcat+ [ "/subscription-notifications/",+ Data.toBS subscriptionId+ ]++instance+ Data.ToQuery+ DeleteSubscriptionNotificationConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSubscriptionNotificationConfigurationResponse' smart constructor.+data DeleteSubscriptionNotificationConfigurationResponse = DeleteSubscriptionNotificationConfigurationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSubscriptionNotificationConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteSubscriptionNotificationConfigurationResponse_httpStatus' - The response's http status code.+newDeleteSubscriptionNotificationConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteSubscriptionNotificationConfigurationResponse+newDeleteSubscriptionNotificationConfigurationResponse+ pHttpStatus_ =+ DeleteSubscriptionNotificationConfigurationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteSubscriptionNotificationConfigurationResponse_httpStatus :: Lens.Lens' DeleteSubscriptionNotificationConfigurationResponse Prelude.Int+deleteSubscriptionNotificationConfigurationResponse_httpStatus = Lens.lens (\DeleteSubscriptionNotificationConfigurationResponse' {httpStatus} -> httpStatus) (\s@DeleteSubscriptionNotificationConfigurationResponse' {} a -> s {httpStatus = a} :: DeleteSubscriptionNotificationConfigurationResponse)++instance+ Prelude.NFData+ DeleteSubscriptionNotificationConfigurationResponse+ where+ rnf+ DeleteSubscriptionNotificationConfigurationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/GetDatalake.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.GetDatalake+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the Amazon Security Lake configuration object for the+-- specified Amazon Web Services account ID. You can use the @GetDatalake@+-- API to know whether Security Lake is enabled for the current Region.+-- This API does not take input parameters.+module Amazonka.SecurityLake.GetDatalake+ ( -- * Creating a Request+ GetDatalake (..),+ newGetDatalake,++ -- * Destructuring the Response+ GetDatalakeResponse (..),+ newGetDatalakeResponse,++ -- * Response Lenses+ getDatalakeResponse_httpStatus,+ getDatalakeResponse_configurations,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newGetDatalake' smart constructor.+data GetDatalake = GetDatalake'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDatalake' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetDatalake ::+ GetDatalake+newGetDatalake = GetDatalake'++instance Core.AWSRequest GetDatalake where+ type AWSResponse GetDatalake = GetDatalakeResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDatalakeResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "configurations"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable GetDatalake where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetDatalake where+ rnf _ = ()++instance Data.ToHeaders GetDatalake where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDatalake where+ toPath = Prelude.const "/v1/datalake"++instance Data.ToQuery GetDatalake where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDatalakeResponse' smart constructor.+data GetDatalakeResponse = GetDatalakeResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Retrieves the Security Lake configuration object.+ configurations :: Prelude.HashMap Region LakeConfigurationResponse+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDatalakeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getDatalakeResponse_httpStatus' - The response's http status code.+--+-- 'configurations', 'getDatalakeResponse_configurations' - Retrieves the Security Lake configuration object.+newGetDatalakeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDatalakeResponse+newGetDatalakeResponse pHttpStatus_ =+ GetDatalakeResponse'+ { httpStatus = pHttpStatus_,+ configurations = Prelude.mempty+ }++-- | The response's http status code.+getDatalakeResponse_httpStatus :: Lens.Lens' GetDatalakeResponse Prelude.Int+getDatalakeResponse_httpStatus = Lens.lens (\GetDatalakeResponse' {httpStatus} -> httpStatus) (\s@GetDatalakeResponse' {} a -> s {httpStatus = a} :: GetDatalakeResponse)++-- | Retrieves the Security Lake configuration object.+getDatalakeResponse_configurations :: Lens.Lens' GetDatalakeResponse (Prelude.HashMap Region LakeConfigurationResponse)+getDatalakeResponse_configurations = Lens.lens (\GetDatalakeResponse' {configurations} -> configurations) (\s@GetDatalakeResponse' {} a -> s {configurations = a} :: GetDatalakeResponse) Prelude.. Lens.coerced++instance Prelude.NFData GetDatalakeResponse where+ rnf GetDatalakeResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf configurations
+ gen/Amazonka/SecurityLake/GetDatalakeAutoEnable.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.GetDatalakeAutoEnable+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the configuration that will be automatically set up for+-- accounts added to the organization after the organization has onboarded+-- to Amazon Security Lake. This API does not take input parameters.+module Amazonka.SecurityLake.GetDatalakeAutoEnable+ ( -- * Creating a Request+ GetDatalakeAutoEnable (..),+ newGetDatalakeAutoEnable,++ -- * Destructuring the Response+ GetDatalakeAutoEnableResponse (..),+ newGetDatalakeAutoEnableResponse,++ -- * Response Lenses+ getDatalakeAutoEnableResponse_httpStatus,+ getDatalakeAutoEnableResponse_autoEnableNewAccounts,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newGetDatalakeAutoEnable' smart constructor.+data GetDatalakeAutoEnable = GetDatalakeAutoEnable'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDatalakeAutoEnable' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetDatalakeAutoEnable ::+ GetDatalakeAutoEnable+newGetDatalakeAutoEnable = GetDatalakeAutoEnable'++instance Core.AWSRequest GetDatalakeAutoEnable where+ type+ AWSResponse GetDatalakeAutoEnable =+ GetDatalakeAutoEnableResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDatalakeAutoEnableResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "autoEnableNewAccounts"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable GetDatalakeAutoEnable where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetDatalakeAutoEnable where+ rnf _ = ()++instance Data.ToHeaders GetDatalakeAutoEnable where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDatalakeAutoEnable where+ toPath = Prelude.const "/v1/datalake/autoenable"++instance Data.ToQuery GetDatalakeAutoEnable where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDatalakeAutoEnableResponse' smart constructor.+data GetDatalakeAutoEnableResponse = GetDatalakeAutoEnableResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The configuration for new accounts.+ autoEnableNewAccounts :: [AutoEnableNewRegionConfiguration]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDatalakeAutoEnableResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getDatalakeAutoEnableResponse_httpStatus' - The response's http status code.+--+-- 'autoEnableNewAccounts', 'getDatalakeAutoEnableResponse_autoEnableNewAccounts' - The configuration for new accounts.+newGetDatalakeAutoEnableResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDatalakeAutoEnableResponse+newGetDatalakeAutoEnableResponse pHttpStatus_ =+ GetDatalakeAutoEnableResponse'+ { httpStatus =+ pHttpStatus_,+ autoEnableNewAccounts = Prelude.mempty+ }++-- | The response's http status code.+getDatalakeAutoEnableResponse_httpStatus :: Lens.Lens' GetDatalakeAutoEnableResponse Prelude.Int+getDatalakeAutoEnableResponse_httpStatus = Lens.lens (\GetDatalakeAutoEnableResponse' {httpStatus} -> httpStatus) (\s@GetDatalakeAutoEnableResponse' {} a -> s {httpStatus = a} :: GetDatalakeAutoEnableResponse)++-- | The configuration for new accounts.+getDatalakeAutoEnableResponse_autoEnableNewAccounts :: Lens.Lens' GetDatalakeAutoEnableResponse [AutoEnableNewRegionConfiguration]+getDatalakeAutoEnableResponse_autoEnableNewAccounts = Lens.lens (\GetDatalakeAutoEnableResponse' {autoEnableNewAccounts} -> autoEnableNewAccounts) (\s@GetDatalakeAutoEnableResponse' {} a -> s {autoEnableNewAccounts = a} :: GetDatalakeAutoEnableResponse) Prelude.. Lens.coerced++instance Prelude.NFData GetDatalakeAutoEnableResponse where+ rnf GetDatalakeAutoEnableResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf autoEnableNewAccounts
+ gen/Amazonka/SecurityLake/GetDatalakeExceptionsExpiry.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.GetDatalakeExceptionsExpiry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the expiration period and time-to-live (TTL) for which the+-- exception message will remain. Exceptions are stored by default, for 2+-- weeks from when a record was created in Amazon Security Lake. This API+-- does not take input parameters.+module Amazonka.SecurityLake.GetDatalakeExceptionsExpiry+ ( -- * Creating a Request+ GetDatalakeExceptionsExpiry (..),+ newGetDatalakeExceptionsExpiry,++ -- * Destructuring the Response+ GetDatalakeExceptionsExpiryResponse (..),+ newGetDatalakeExceptionsExpiryResponse,++ -- * Response Lenses+ getDatalakeExceptionsExpiryResponse_httpStatus,+ getDatalakeExceptionsExpiryResponse_exceptionMessageExpiry,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newGetDatalakeExceptionsExpiry' smart constructor.+data GetDatalakeExceptionsExpiry = GetDatalakeExceptionsExpiry'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDatalakeExceptionsExpiry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetDatalakeExceptionsExpiry ::+ GetDatalakeExceptionsExpiry+newGetDatalakeExceptionsExpiry =+ GetDatalakeExceptionsExpiry'++instance Core.AWSRequest GetDatalakeExceptionsExpiry where+ type+ AWSResponse GetDatalakeExceptionsExpiry =+ GetDatalakeExceptionsExpiryResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDatalakeExceptionsExpiryResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "exceptionMessageExpiry")+ )++instance Prelude.Hashable GetDatalakeExceptionsExpiry where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetDatalakeExceptionsExpiry where+ rnf _ = ()++instance Data.ToHeaders GetDatalakeExceptionsExpiry where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDatalakeExceptionsExpiry where+ toPath =+ Prelude.const "/v1/datalake/exceptions/expiry"++instance Data.ToQuery GetDatalakeExceptionsExpiry where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDatalakeExceptionsExpiryResponse' smart constructor.+data GetDatalakeExceptionsExpiryResponse = GetDatalakeExceptionsExpiryResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The expiration period and time-to-live (TTL).+ exceptionMessageExpiry :: Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDatalakeExceptionsExpiryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getDatalakeExceptionsExpiryResponse_httpStatus' - The response's http status code.+--+-- 'exceptionMessageExpiry', 'getDatalakeExceptionsExpiryResponse_exceptionMessageExpiry' - The expiration period and time-to-live (TTL).+newGetDatalakeExceptionsExpiryResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'exceptionMessageExpiry'+ Prelude.Integer ->+ GetDatalakeExceptionsExpiryResponse+newGetDatalakeExceptionsExpiryResponse+ pHttpStatus_+ pExceptionMessageExpiry_ =+ GetDatalakeExceptionsExpiryResponse'+ { httpStatus =+ pHttpStatus_,+ exceptionMessageExpiry =+ pExceptionMessageExpiry_+ }++-- | The response's http status code.+getDatalakeExceptionsExpiryResponse_httpStatus :: Lens.Lens' GetDatalakeExceptionsExpiryResponse Prelude.Int+getDatalakeExceptionsExpiryResponse_httpStatus = Lens.lens (\GetDatalakeExceptionsExpiryResponse' {httpStatus} -> httpStatus) (\s@GetDatalakeExceptionsExpiryResponse' {} a -> s {httpStatus = a} :: GetDatalakeExceptionsExpiryResponse)++-- | The expiration period and time-to-live (TTL).+getDatalakeExceptionsExpiryResponse_exceptionMessageExpiry :: Lens.Lens' GetDatalakeExceptionsExpiryResponse Prelude.Integer+getDatalakeExceptionsExpiryResponse_exceptionMessageExpiry = Lens.lens (\GetDatalakeExceptionsExpiryResponse' {exceptionMessageExpiry} -> exceptionMessageExpiry) (\s@GetDatalakeExceptionsExpiryResponse' {} a -> s {exceptionMessageExpiry = a} :: GetDatalakeExceptionsExpiryResponse)++instance+ Prelude.NFData+ GetDatalakeExceptionsExpiryResponse+ where+ rnf GetDatalakeExceptionsExpiryResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf exceptionMessageExpiry
+ gen/Amazonka/SecurityLake/GetDatalakeExceptionsSubscription.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.GetDatalakeExceptionsSubscription+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the details of exception notifications for the account in+-- Amazon Security Lake.+module Amazonka.SecurityLake.GetDatalakeExceptionsSubscription+ ( -- * Creating a Request+ GetDatalakeExceptionsSubscription (..),+ newGetDatalakeExceptionsSubscription,++ -- * Destructuring the Response+ GetDatalakeExceptionsSubscriptionResponse (..),+ newGetDatalakeExceptionsSubscriptionResponse,++ -- * Response Lenses+ getDatalakeExceptionsSubscriptionResponse_httpStatus,+ getDatalakeExceptionsSubscriptionResponse_protocolAndNotificationEndpoint,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newGetDatalakeExceptionsSubscription' smart constructor.+data GetDatalakeExceptionsSubscription = GetDatalakeExceptionsSubscription'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDatalakeExceptionsSubscription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newGetDatalakeExceptionsSubscription ::+ GetDatalakeExceptionsSubscription+newGetDatalakeExceptionsSubscription =+ GetDatalakeExceptionsSubscription'++instance+ Core.AWSRequest+ GetDatalakeExceptionsSubscription+ where+ type+ AWSResponse GetDatalakeExceptionsSubscription =+ GetDatalakeExceptionsSubscriptionResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDatalakeExceptionsSubscriptionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "protocolAndNotificationEndpoint")+ )++instance+ Prelude.Hashable+ GetDatalakeExceptionsSubscription+ where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance+ Prelude.NFData+ GetDatalakeExceptionsSubscription+ where+ rnf _ = ()++instance+ Data.ToHeaders+ GetDatalakeExceptionsSubscription+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ GetDatalakeExceptionsSubscription+ where+ toPath =+ Prelude.const+ "/v1/datalake/exceptions/subscription"++instance+ Data.ToQuery+ GetDatalakeExceptionsSubscription+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDatalakeExceptionsSubscriptionResponse' smart constructor.+data GetDatalakeExceptionsSubscriptionResponse = GetDatalakeExceptionsSubscriptionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Retrieves the exception notification subscription information.+ protocolAndNotificationEndpoint :: ProtocolAndNotificationEndpoint+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDatalakeExceptionsSubscriptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getDatalakeExceptionsSubscriptionResponse_httpStatus' - The response's http status code.+--+-- 'protocolAndNotificationEndpoint', 'getDatalakeExceptionsSubscriptionResponse_protocolAndNotificationEndpoint' - Retrieves the exception notification subscription information.+newGetDatalakeExceptionsSubscriptionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'protocolAndNotificationEndpoint'+ ProtocolAndNotificationEndpoint ->+ GetDatalakeExceptionsSubscriptionResponse+newGetDatalakeExceptionsSubscriptionResponse+ pHttpStatus_+ pProtocolAndNotificationEndpoint_ =+ GetDatalakeExceptionsSubscriptionResponse'+ { httpStatus =+ pHttpStatus_,+ protocolAndNotificationEndpoint =+ pProtocolAndNotificationEndpoint_+ }++-- | The response's http status code.+getDatalakeExceptionsSubscriptionResponse_httpStatus :: Lens.Lens' GetDatalakeExceptionsSubscriptionResponse Prelude.Int+getDatalakeExceptionsSubscriptionResponse_httpStatus = Lens.lens (\GetDatalakeExceptionsSubscriptionResponse' {httpStatus} -> httpStatus) (\s@GetDatalakeExceptionsSubscriptionResponse' {} a -> s {httpStatus = a} :: GetDatalakeExceptionsSubscriptionResponse)++-- | Retrieves the exception notification subscription information.+getDatalakeExceptionsSubscriptionResponse_protocolAndNotificationEndpoint :: Lens.Lens' GetDatalakeExceptionsSubscriptionResponse ProtocolAndNotificationEndpoint+getDatalakeExceptionsSubscriptionResponse_protocolAndNotificationEndpoint = Lens.lens (\GetDatalakeExceptionsSubscriptionResponse' {protocolAndNotificationEndpoint} -> protocolAndNotificationEndpoint) (\s@GetDatalakeExceptionsSubscriptionResponse' {} a -> s {protocolAndNotificationEndpoint = a} :: GetDatalakeExceptionsSubscriptionResponse)++instance+ Prelude.NFData+ GetDatalakeExceptionsSubscriptionResponse+ where+ rnf GetDatalakeExceptionsSubscriptionResponse' {..} =+ Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf protocolAndNotificationEndpoint
+ gen/Amazonka/SecurityLake/GetDatalakeStatus.hs view
@@ -0,0 +1,282 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.GetDatalakeStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a snapshot of the current Region, including whether Amazon+-- Security Lake is enabled for those accounts and which sources Security+-- Lake is collecting data from.+--+-- This operation returns paginated results.+module Amazonka.SecurityLake.GetDatalakeStatus+ ( -- * Creating a Request+ GetDatalakeStatus (..),+ newGetDatalakeStatus,++ -- * Request Lenses+ getDatalakeStatus_accountSet,+ getDatalakeStatus_maxAccountResults,+ getDatalakeStatus_nextToken,++ -- * Destructuring the Response+ GetDatalakeStatusResponse (..),+ newGetDatalakeStatusResponse,++ -- * Response Lenses+ getDatalakeStatusResponse_nextToken,+ getDatalakeStatusResponse_httpStatus,+ getDatalakeStatusResponse_accountSourcesList,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newGetDatalakeStatus' smart constructor.+data GetDatalakeStatus = GetDatalakeStatus'+ { -- | The Amazon Web Services account ID for which a static snapshot of the+ -- current Amazon Web Services Region, including enabled accounts and log+ -- sources, is retrieved.+ accountSet :: Prelude.Maybe [Prelude.Text],+ -- | The maximum limit of accounts for which the static snapshot of the+ -- current Region, including enabled accounts and log sources, is+ -- retrieved.+ maxAccountResults :: Prelude.Maybe Prelude.Int,+ -- | Lists if there are more results available. The value of nextToken is a+ -- unique pagination token for each page. Repeat the call using the+ -- returned token to retrieve the next page. Keep all other arguments+ -- unchanged.+ --+ -- Each pagination token expires after 24 hours. Using an expired+ -- pagination token will return an HTTP 400 InvalidToken error.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDatalakeStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountSet', 'getDatalakeStatus_accountSet' - The Amazon Web Services account ID for which a static snapshot of the+-- current Amazon Web Services Region, including enabled accounts and log+-- sources, is retrieved.+--+-- 'maxAccountResults', 'getDatalakeStatus_maxAccountResults' - The maximum limit of accounts for which the static snapshot of the+-- current Region, including enabled accounts and log sources, is+-- retrieved.+--+-- 'nextToken', 'getDatalakeStatus_nextToken' - Lists if there are more results available. The value of nextToken is a+-- unique pagination token for each page. Repeat the call using the+-- returned token to retrieve the next page. Keep all other arguments+-- unchanged.+--+-- Each pagination token expires after 24 hours. Using an expired+-- pagination token will return an HTTP 400 InvalidToken error.+newGetDatalakeStatus ::+ GetDatalakeStatus+newGetDatalakeStatus =+ GetDatalakeStatus'+ { accountSet = Prelude.Nothing,+ maxAccountResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The Amazon Web Services account ID for which a static snapshot of the+-- current Amazon Web Services Region, including enabled accounts and log+-- sources, is retrieved.+getDatalakeStatus_accountSet :: Lens.Lens' GetDatalakeStatus (Prelude.Maybe [Prelude.Text])+getDatalakeStatus_accountSet = Lens.lens (\GetDatalakeStatus' {accountSet} -> accountSet) (\s@GetDatalakeStatus' {} a -> s {accountSet = a} :: GetDatalakeStatus) Prelude.. Lens.mapping Lens.coerced++-- | The maximum limit of accounts for which the static snapshot of the+-- current Region, including enabled accounts and log sources, is+-- retrieved.+getDatalakeStatus_maxAccountResults :: Lens.Lens' GetDatalakeStatus (Prelude.Maybe Prelude.Int)+getDatalakeStatus_maxAccountResults = Lens.lens (\GetDatalakeStatus' {maxAccountResults} -> maxAccountResults) (\s@GetDatalakeStatus' {} a -> s {maxAccountResults = a} :: GetDatalakeStatus)++-- | Lists if there are more results available. The value of nextToken is a+-- unique pagination token for each page. Repeat the call using the+-- returned token to retrieve the next page. Keep all other arguments+-- unchanged.+--+-- Each pagination token expires after 24 hours. Using an expired+-- pagination token will return an HTTP 400 InvalidToken error.+getDatalakeStatus_nextToken :: Lens.Lens' GetDatalakeStatus (Prelude.Maybe Prelude.Text)+getDatalakeStatus_nextToken = Lens.lens (\GetDatalakeStatus' {nextToken} -> nextToken) (\s@GetDatalakeStatus' {} a -> s {nextToken = a} :: GetDatalakeStatus)++instance Core.AWSPager GetDatalakeStatus where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? getDatalakeStatusResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. getDatalakeStatusResponse_accountSourcesList+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& getDatalakeStatus_nextToken+ Lens..~ rs+ Lens.^? getDatalakeStatusResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest GetDatalakeStatus where+ type+ AWSResponse GetDatalakeStatus =+ GetDatalakeStatusResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDatalakeStatusResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "accountSourcesList"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable GetDatalakeStatus where+ hashWithSalt _salt GetDatalakeStatus' {..} =+ _salt+ `Prelude.hashWithSalt` accountSet+ `Prelude.hashWithSalt` maxAccountResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData GetDatalakeStatus where+ rnf GetDatalakeStatus' {..} =+ Prelude.rnf accountSet+ `Prelude.seq` Prelude.rnf maxAccountResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders GetDatalakeStatus where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetDatalakeStatus where+ toJSON GetDatalakeStatus' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("accountSet" Data..=) Prelude.<$> accountSet,+ ("maxAccountResults" Data..=)+ Prelude.<$> maxAccountResults,+ ("nextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath GetDatalakeStatus where+ toPath = Prelude.const "/v1/datalake/status"++instance Data.ToQuery GetDatalakeStatus where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetDatalakeStatusResponse' smart constructor.+data GetDatalakeStatusResponse = GetDatalakeStatusResponse'+ { -- | Lists if there are more results available. The value of nextToken is a+ -- unique pagination token for each page. Repeat the call using the+ -- returned token to retrieve the next page. Keep all other arguments+ -- unchanged.+ --+ -- Each pagination token expires after 24 hours. Using an expired+ -- pagination token will return an HTTP 400 InvalidToken error.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The list of enabled accounts and enabled sources.+ accountSourcesList :: [AccountSources]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDatalakeStatusResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'getDatalakeStatusResponse_nextToken' - Lists if there are more results available. The value of nextToken is a+-- unique pagination token for each page. Repeat the call using the+-- returned token to retrieve the next page. Keep all other arguments+-- unchanged.+--+-- Each pagination token expires after 24 hours. Using an expired+-- pagination token will return an HTTP 400 InvalidToken error.+--+-- 'httpStatus', 'getDatalakeStatusResponse_httpStatus' - The response's http status code.+--+-- 'accountSourcesList', 'getDatalakeStatusResponse_accountSourcesList' - The list of enabled accounts and enabled sources.+newGetDatalakeStatusResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDatalakeStatusResponse+newGetDatalakeStatusResponse pHttpStatus_ =+ GetDatalakeStatusResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ accountSourcesList = Prelude.mempty+ }++-- | Lists if there are more results available. The value of nextToken is a+-- unique pagination token for each page. Repeat the call using the+-- returned token to retrieve the next page. Keep all other arguments+-- unchanged.+--+-- Each pagination token expires after 24 hours. Using an expired+-- pagination token will return an HTTP 400 InvalidToken error.+getDatalakeStatusResponse_nextToken :: Lens.Lens' GetDatalakeStatusResponse (Prelude.Maybe Prelude.Text)+getDatalakeStatusResponse_nextToken = Lens.lens (\GetDatalakeStatusResponse' {nextToken} -> nextToken) (\s@GetDatalakeStatusResponse' {} a -> s {nextToken = a} :: GetDatalakeStatusResponse)++-- | The response's http status code.+getDatalakeStatusResponse_httpStatus :: Lens.Lens' GetDatalakeStatusResponse Prelude.Int+getDatalakeStatusResponse_httpStatus = Lens.lens (\GetDatalakeStatusResponse' {httpStatus} -> httpStatus) (\s@GetDatalakeStatusResponse' {} a -> s {httpStatus = a} :: GetDatalakeStatusResponse)++-- | The list of enabled accounts and enabled sources.+getDatalakeStatusResponse_accountSourcesList :: Lens.Lens' GetDatalakeStatusResponse [AccountSources]+getDatalakeStatusResponse_accountSourcesList = Lens.lens (\GetDatalakeStatusResponse' {accountSourcesList} -> accountSourcesList) (\s@GetDatalakeStatusResponse' {} a -> s {accountSourcesList = a} :: GetDatalakeStatusResponse) Prelude.. Lens.coerced++instance Prelude.NFData GetDatalakeStatusResponse where+ rnf GetDatalakeStatusResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf accountSourcesList
+ gen/Amazonka/SecurityLake/GetSubscriber.hs view
@@ -0,0 +1,161 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.GetSubscriber+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the subscription information for the specified subscription+-- ID. You can get information about a specific subscriber.+module Amazonka.SecurityLake.GetSubscriber+ ( -- * Creating a Request+ GetSubscriber (..),+ newGetSubscriber,++ -- * Request Lenses+ getSubscriber_id,++ -- * Destructuring the Response+ GetSubscriberResponse (..),+ newGetSubscriberResponse,++ -- * Response Lenses+ getSubscriberResponse_subscriber,+ getSubscriberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newGetSubscriber' smart constructor.+data GetSubscriber = GetSubscriber'+ { -- | A value created by Amazon Security Lake that uniquely identifies your+ -- @GetSubscriber@ API request.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSubscriber' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'id', 'getSubscriber_id' - A value created by Amazon Security Lake that uniquely identifies your+-- @GetSubscriber@ API request.+newGetSubscriber ::+ -- | 'id'+ Prelude.Text ->+ GetSubscriber+newGetSubscriber pId_ = GetSubscriber' {id = pId_}++-- | A value created by Amazon Security Lake that uniquely identifies your+-- @GetSubscriber@ API request.+getSubscriber_id :: Lens.Lens' GetSubscriber Prelude.Text+getSubscriber_id = Lens.lens (\GetSubscriber' {id} -> id) (\s@GetSubscriber' {} a -> s {id = a} :: GetSubscriber)++instance Core.AWSRequest GetSubscriber where+ type+ AWSResponse GetSubscriber =+ GetSubscriberResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetSubscriberResponse'+ Prelude.<$> (x Data..?> "subscriber")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetSubscriber where+ hashWithSalt _salt GetSubscriber' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetSubscriber where+ rnf GetSubscriber' {..} = Prelude.rnf id++instance Data.ToHeaders GetSubscriber where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetSubscriber where+ toPath GetSubscriber' {..} =+ Prelude.mconcat ["/v1/subscribers/", Data.toBS id]++instance Data.ToQuery GetSubscriber where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSubscriberResponse' smart constructor.+data GetSubscriberResponse = GetSubscriberResponse'+ { -- | The subscription information for the specified subscription ID.+ subscriber :: Prelude.Maybe SubscriberResource,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSubscriberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subscriber', 'getSubscriberResponse_subscriber' - The subscription information for the specified subscription ID.+--+-- 'httpStatus', 'getSubscriberResponse_httpStatus' - The response's http status code.+newGetSubscriberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetSubscriberResponse+newGetSubscriberResponse pHttpStatus_ =+ GetSubscriberResponse'+ { subscriber =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The subscription information for the specified subscription ID.+getSubscriberResponse_subscriber :: Lens.Lens' GetSubscriberResponse (Prelude.Maybe SubscriberResource)+getSubscriberResponse_subscriber = Lens.lens (\GetSubscriberResponse' {subscriber} -> subscriber) (\s@GetSubscriberResponse' {} a -> s {subscriber = a} :: GetSubscriberResponse)++-- | The response's http status code.+getSubscriberResponse_httpStatus :: Lens.Lens' GetSubscriberResponse Prelude.Int+getSubscriberResponse_httpStatus = Lens.lens (\GetSubscriberResponse' {httpStatus} -> httpStatus) (\s@GetSubscriberResponse' {} a -> s {httpStatus = a} :: GetSubscriberResponse)++instance Prelude.NFData GetSubscriberResponse where+ rnf GetSubscriberResponse' {..} =+ Prelude.rnf subscriber+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/Lens.hs view
@@ -0,0 +1,319 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Lens+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Lens+ ( -- * Operations++ -- ** CreateAwsLogSource+ createAwsLogSource_enableAllDimensions,+ createAwsLogSource_enableSingleDimension,+ createAwsLogSource_enableTwoDimensions,+ createAwsLogSource_inputOrder,+ createAwsLogSourceResponse_failed,+ createAwsLogSourceResponse_processing,+ createAwsLogSourceResponse_httpStatus,++ -- ** CreateCustomLogSource+ createCustomLogSource_customSourceName,+ createCustomLogSource_eventClass,+ createCustomLogSource_glueInvocationRoleArn,+ createCustomLogSource_logProviderAccountId,+ createCustomLogSourceResponse_httpStatus,+ createCustomLogSourceResponse_customDataLocation,+ createCustomLogSourceResponse_glueCrawlerName,+ createCustomLogSourceResponse_glueDatabaseName,+ createCustomLogSourceResponse_glueTableName,+ createCustomLogSourceResponse_logProviderAccessRoleArn,++ -- ** CreateDatalake+ createDatalake_configurations,+ createDatalake_enableAll,+ createDatalake_metaStoreManagerRoleArn,+ createDatalake_regions,+ createDatalakeResponse_httpStatus,++ -- ** CreateDatalakeAutoEnable+ createDatalakeAutoEnable_configurationForNewAccounts,+ createDatalakeAutoEnableResponse_httpStatus,++ -- ** CreateDatalakeDelegatedAdmin+ createDatalakeDelegatedAdmin_account,+ createDatalakeDelegatedAdminResponse_httpStatus,++ -- ** CreateDatalakeExceptionsSubscription+ createDatalakeExceptionsSubscription_notificationEndpoint,+ createDatalakeExceptionsSubscription_subscriptionProtocol,+ createDatalakeExceptionsSubscriptionResponse_httpStatus,++ -- ** CreateSubscriber+ createSubscriber_accessTypes,+ createSubscriber_subscriberDescription,+ createSubscriber_accountId,+ createSubscriber_externalId,+ createSubscriber_sourceTypes,+ createSubscriber_subscriberName,+ createSubscriberResponse_roleArn,+ createSubscriberResponse_s3BucketArn,+ createSubscriberResponse_snsArn,+ createSubscriberResponse_httpStatus,+ createSubscriberResponse_subscriptionId,++ -- ** CreateSubscriptionNotificationConfiguration+ createSubscriptionNotificationConfiguration_createSqs,+ createSubscriptionNotificationConfiguration_httpsApiKeyName,+ createSubscriptionNotificationConfiguration_httpsApiKeyValue,+ createSubscriptionNotificationConfiguration_httpsMethod,+ createSubscriptionNotificationConfiguration_roleArn,+ createSubscriptionNotificationConfiguration_subscriptionEndpoint,+ createSubscriptionNotificationConfiguration_subscriptionId,+ createSubscriptionNotificationConfigurationResponse_queueArn,+ createSubscriptionNotificationConfigurationResponse_httpStatus,++ -- ** DeleteAwsLogSource+ deleteAwsLogSource_disableAllDimensions,+ deleteAwsLogSource_disableSingleDimension,+ deleteAwsLogSource_disableTwoDimensions,+ deleteAwsLogSource_inputOrder,+ deleteAwsLogSourceResponse_failed,+ deleteAwsLogSourceResponse_processing,+ deleteAwsLogSourceResponse_httpStatus,++ -- ** DeleteCustomLogSource+ deleteCustomLogSource_customSourceName,+ deleteCustomLogSourceResponse_httpStatus,+ deleteCustomLogSourceResponse_customDataLocation,++ -- ** DeleteDatalake+ deleteDatalakeResponse_httpStatus,++ -- ** DeleteDatalakeAutoEnable+ deleteDatalakeAutoEnable_removeFromConfigurationForNewAccounts,+ deleteDatalakeAutoEnableResponse_httpStatus,++ -- ** DeleteDatalakeDelegatedAdmin+ deleteDatalakeDelegatedAdmin_account,+ deleteDatalakeDelegatedAdminResponse_httpStatus,++ -- ** DeleteDatalakeExceptionsSubscription+ deleteDatalakeExceptionsSubscriptionResponse_httpStatus,+ deleteDatalakeExceptionsSubscriptionResponse_status,++ -- ** DeleteSubscriber+ deleteSubscriber_id,+ deleteSubscriberResponse_httpStatus,++ -- ** DeleteSubscriptionNotificationConfiguration+ deleteSubscriptionNotificationConfiguration_subscriptionId,+ deleteSubscriptionNotificationConfigurationResponse_httpStatus,++ -- ** GetDatalake+ getDatalakeResponse_httpStatus,+ getDatalakeResponse_configurations,++ -- ** GetDatalakeAutoEnable+ getDatalakeAutoEnableResponse_httpStatus,+ getDatalakeAutoEnableResponse_autoEnableNewAccounts,++ -- ** GetDatalakeExceptionsExpiry+ getDatalakeExceptionsExpiryResponse_httpStatus,+ getDatalakeExceptionsExpiryResponse_exceptionMessageExpiry,++ -- ** GetDatalakeExceptionsSubscription+ getDatalakeExceptionsSubscriptionResponse_httpStatus,+ getDatalakeExceptionsSubscriptionResponse_protocolAndNotificationEndpoint,++ -- ** GetDatalakeStatus+ getDatalakeStatus_accountSet,+ getDatalakeStatus_maxAccountResults,+ getDatalakeStatus_nextToken,+ getDatalakeStatusResponse_nextToken,+ getDatalakeStatusResponse_httpStatus,+ getDatalakeStatusResponse_accountSourcesList,++ -- ** GetSubscriber+ getSubscriber_id,+ getSubscriberResponse_subscriber,+ getSubscriberResponse_httpStatus,++ -- ** ListDatalakeExceptions+ listDatalakeExceptions_maxFailures,+ listDatalakeExceptions_nextToken,+ listDatalakeExceptions_regionSet,+ listDatalakeExceptionsResponse_nextToken,+ listDatalakeExceptionsResponse_httpStatus,+ listDatalakeExceptionsResponse_nonRetryableFailures,++ -- ** ListLogSources+ listLogSources_inputOrder,+ listLogSources_listAllDimensions,+ listLogSources_listSingleDimension,+ listLogSources_listTwoDimensions,+ listLogSources_maxResults,+ listLogSources_nextToken,+ listLogSourcesResponse_nextToken,+ listLogSourcesResponse_httpStatus,+ listLogSourcesResponse_regionSourceTypesAccountsList,++ -- ** ListSubscribers+ listSubscribers_maxResults,+ listSubscribers_nextToken,+ listSubscribersResponse_nextToken,+ listSubscribersResponse_httpStatus,+ listSubscribersResponse_subscribers,++ -- ** UpdateDatalake+ updateDatalake_configurations,+ updateDatalakeResponse_httpStatus,++ -- ** UpdateDatalakeExceptionsExpiry+ updateDatalakeExceptionsExpiry_exceptionMessageExpiry,+ updateDatalakeExceptionsExpiryResponse_httpStatus,++ -- ** UpdateDatalakeExceptionsSubscription+ updateDatalakeExceptionsSubscription_notificationEndpoint,+ updateDatalakeExceptionsSubscription_subscriptionProtocol,+ updateDatalakeExceptionsSubscriptionResponse_httpStatus,++ -- ** UpdateSubscriber+ updateSubscriber_externalId,+ updateSubscriber_subscriberDescription,+ updateSubscriber_subscriberName,+ updateSubscriber_id,+ updateSubscriber_sourceTypes,+ updateSubscriberResponse_subscriber,+ updateSubscriberResponse_httpStatus,++ -- ** UpdateSubscriptionNotificationConfiguration+ updateSubscriptionNotificationConfiguration_createSqs,+ updateSubscriptionNotificationConfiguration_httpsApiKeyName,+ updateSubscriptionNotificationConfiguration_httpsApiKeyValue,+ updateSubscriptionNotificationConfiguration_httpsMethod,+ updateSubscriptionNotificationConfiguration_roleArn,+ updateSubscriptionNotificationConfiguration_subscriptionEndpoint,+ updateSubscriptionNotificationConfiguration_subscriptionId,+ updateSubscriptionNotificationConfigurationResponse_queueArn,+ updateSubscriptionNotificationConfigurationResponse_httpStatus,++ -- * Types++ -- ** AccountSources+ accountSources_eventClass,+ accountSources_logsStatus,+ accountSources_account,+ accountSources_sourceType,++ -- ** AutoEnableNewRegionConfiguration+ autoEnableNewRegionConfiguration_region,+ autoEnableNewRegionConfiguration_sources,++ -- ** Failures+ failures_exceptionMessage,+ failures_remediation,+ failures_timestamp,++ -- ** FailuresResponse+ failuresResponse_failures,+ failuresResponse_region,++ -- ** LakeConfigurationRequest+ lakeConfigurationRequest_encryptionKey,+ lakeConfigurationRequest_replicationDestinationRegions,+ lakeConfigurationRequest_replicationRoleArn,+ lakeConfigurationRequest_retentionSettings,+ lakeConfigurationRequest_tagsMap,++ -- ** LakeConfigurationResponse+ lakeConfigurationResponse_encryptionKey,+ lakeConfigurationResponse_replicationDestinationRegions,+ lakeConfigurationResponse_replicationRoleArn,+ lakeConfigurationResponse_retentionSettings,+ lakeConfigurationResponse_s3BucketArn,+ lakeConfigurationResponse_status,+ lakeConfigurationResponse_tagsMap,++ -- ** LogsStatus+ logsStatus_healthStatus,+ logsStatus_pathToLogs,++ -- ** ProtocolAndNotificationEndpoint+ protocolAndNotificationEndpoint_endpoint,+ protocolAndNotificationEndpoint_protocol,++ -- ** RetentionSetting+ retentionSetting_retentionPeriod,+ retentionSetting_storageClass,++ -- ** SourceType+ sourceType_awsSourceType,+ sourceType_customSourceType,++ -- ** SubscriberResource+ subscriberResource_accessTypes,+ subscriberResource_createdAt,+ subscriberResource_externalId,+ subscriberResource_roleArn,+ subscriberResource_s3BucketArn,+ subscriberResource_snsArn,+ subscriberResource_subscriberDescription,+ subscriberResource_subscriberName,+ subscriberResource_subscriptionEndpoint,+ subscriberResource_subscriptionProtocol,+ subscriberResource_subscriptionStatus,+ subscriberResource_updatedAt,+ subscriberResource_accountId,+ subscriberResource_sourceTypes,+ subscriberResource_subscriptionId,+ )+where++import Amazonka.SecurityLake.CreateAwsLogSource+import Amazonka.SecurityLake.CreateCustomLogSource+import Amazonka.SecurityLake.CreateDatalake+import Amazonka.SecurityLake.CreateDatalakeAutoEnable+import Amazonka.SecurityLake.CreateDatalakeDelegatedAdmin+import Amazonka.SecurityLake.CreateDatalakeExceptionsSubscription+import Amazonka.SecurityLake.CreateSubscriber+import Amazonka.SecurityLake.CreateSubscriptionNotificationConfiguration+import Amazonka.SecurityLake.DeleteAwsLogSource+import Amazonka.SecurityLake.DeleteCustomLogSource+import Amazonka.SecurityLake.DeleteDatalake+import Amazonka.SecurityLake.DeleteDatalakeAutoEnable+import Amazonka.SecurityLake.DeleteDatalakeDelegatedAdmin+import Amazonka.SecurityLake.DeleteDatalakeExceptionsSubscription+import Amazonka.SecurityLake.DeleteSubscriber+import Amazonka.SecurityLake.DeleteSubscriptionNotificationConfiguration+import Amazonka.SecurityLake.GetDatalake+import Amazonka.SecurityLake.GetDatalakeAutoEnable+import Amazonka.SecurityLake.GetDatalakeExceptionsExpiry+import Amazonka.SecurityLake.GetDatalakeExceptionsSubscription+import Amazonka.SecurityLake.GetDatalakeStatus+import Amazonka.SecurityLake.GetSubscriber+import Amazonka.SecurityLake.ListDatalakeExceptions+import Amazonka.SecurityLake.ListLogSources+import Amazonka.SecurityLake.ListSubscribers+import Amazonka.SecurityLake.Types.AccountSources+import Amazonka.SecurityLake.Types.AutoEnableNewRegionConfiguration+import Amazonka.SecurityLake.Types.Failures+import Amazonka.SecurityLake.Types.FailuresResponse+import Amazonka.SecurityLake.Types.LakeConfigurationRequest+import Amazonka.SecurityLake.Types.LakeConfigurationResponse+import Amazonka.SecurityLake.Types.LogsStatus+import Amazonka.SecurityLake.Types.ProtocolAndNotificationEndpoint+import Amazonka.SecurityLake.Types.RetentionSetting+import Amazonka.SecurityLake.Types.SourceType+import Amazonka.SecurityLake.Types.SubscriberResource+import Amazonka.SecurityLake.UpdateDatalake+import Amazonka.SecurityLake.UpdateDatalakeExceptionsExpiry+import Amazonka.SecurityLake.UpdateDatalakeExceptionsSubscription+import Amazonka.SecurityLake.UpdateSubscriber+import Amazonka.SecurityLake.UpdateSubscriptionNotificationConfiguration
+ gen/Amazonka/SecurityLake/ListDatalakeExceptions.hs view
@@ -0,0 +1,275 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.ListDatalakeExceptions+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the Amazon Security Lake exceptions that you can use to find the+-- source of problems and fix them.+--+-- This operation returns paginated results.+module Amazonka.SecurityLake.ListDatalakeExceptions+ ( -- * Creating a Request+ ListDatalakeExceptions (..),+ newListDatalakeExceptions,++ -- * Request Lenses+ listDatalakeExceptions_maxFailures,+ listDatalakeExceptions_nextToken,+ listDatalakeExceptions_regionSet,++ -- * Destructuring the Response+ ListDatalakeExceptionsResponse (..),+ newListDatalakeExceptionsResponse,++ -- * Response Lenses+ listDatalakeExceptionsResponse_nextToken,+ listDatalakeExceptionsResponse_httpStatus,+ listDatalakeExceptionsResponse_nonRetryableFailures,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newListDatalakeExceptions' smart constructor.+data ListDatalakeExceptions = ListDatalakeExceptions'+ { -- | List the maximum number of failures in Security Lake.+ maxFailures :: Prelude.Maybe Prelude.Int,+ -- | List if there are more results available. The value of nextToken is a+ -- unique pagination token for each page. Repeat the call using the+ -- returned token to retrieve the next page. Keep all other arguments+ -- unchanged.+ --+ -- Each pagination token expires after 24 hours. Using an expired+ -- pagination token will return an HTTP 400 InvalidToken error.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | List the Amazon Web Services Regions from which exceptions are+ -- retrieved.+ regionSet :: Prelude.Maybe [Region]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDatalakeExceptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxFailures', 'listDatalakeExceptions_maxFailures' - List the maximum number of failures in Security Lake.+--+-- 'nextToken', 'listDatalakeExceptions_nextToken' - List if there are more results available. The value of nextToken is a+-- unique pagination token for each page. Repeat the call using the+-- returned token to retrieve the next page. Keep all other arguments+-- unchanged.+--+-- Each pagination token expires after 24 hours. Using an expired+-- pagination token will return an HTTP 400 InvalidToken error.+--+-- 'regionSet', 'listDatalakeExceptions_regionSet' - List the Amazon Web Services Regions from which exceptions are+-- retrieved.+newListDatalakeExceptions ::+ ListDatalakeExceptions+newListDatalakeExceptions =+ ListDatalakeExceptions'+ { maxFailures =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ regionSet = Prelude.Nothing+ }++-- | List the maximum number of failures in Security Lake.+listDatalakeExceptions_maxFailures :: Lens.Lens' ListDatalakeExceptions (Prelude.Maybe Prelude.Int)+listDatalakeExceptions_maxFailures = Lens.lens (\ListDatalakeExceptions' {maxFailures} -> maxFailures) (\s@ListDatalakeExceptions' {} a -> s {maxFailures = a} :: ListDatalakeExceptions)++-- | List if there are more results available. The value of nextToken is a+-- unique pagination token for each page. Repeat the call using the+-- returned token to retrieve the next page. Keep all other arguments+-- unchanged.+--+-- Each pagination token expires after 24 hours. Using an expired+-- pagination token will return an HTTP 400 InvalidToken error.+listDatalakeExceptions_nextToken :: Lens.Lens' ListDatalakeExceptions (Prelude.Maybe Prelude.Text)+listDatalakeExceptions_nextToken = Lens.lens (\ListDatalakeExceptions' {nextToken} -> nextToken) (\s@ListDatalakeExceptions' {} a -> s {nextToken = a} :: ListDatalakeExceptions)++-- | List the Amazon Web Services Regions from which exceptions are+-- retrieved.+listDatalakeExceptions_regionSet :: Lens.Lens' ListDatalakeExceptions (Prelude.Maybe [Region])+listDatalakeExceptions_regionSet = Lens.lens (\ListDatalakeExceptions' {regionSet} -> regionSet) (\s@ListDatalakeExceptions' {} a -> s {regionSet = a} :: ListDatalakeExceptions) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSPager ListDatalakeExceptions where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listDatalakeExceptionsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listDatalakeExceptionsResponse_nonRetryableFailures+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listDatalakeExceptions_nextToken+ Lens..~ rs+ Lens.^? listDatalakeExceptionsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListDatalakeExceptions where+ type+ AWSResponse ListDatalakeExceptions =+ ListDatalakeExceptionsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListDatalakeExceptionsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "nonRetryableFailures"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListDatalakeExceptions where+ hashWithSalt _salt ListDatalakeExceptions' {..} =+ _salt+ `Prelude.hashWithSalt` maxFailures+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` regionSet++instance Prelude.NFData ListDatalakeExceptions where+ rnf ListDatalakeExceptions' {..} =+ Prelude.rnf maxFailures+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf regionSet++instance Data.ToHeaders ListDatalakeExceptions where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListDatalakeExceptions where+ toJSON ListDatalakeExceptions' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxFailures" Data..=) Prelude.<$> maxFailures,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ ("regionSet" Data..=) Prelude.<$> regionSet+ ]+ )++instance Data.ToPath ListDatalakeExceptions where+ toPath = Prelude.const "/v1/datalake/exceptions"++instance Data.ToQuery ListDatalakeExceptions where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListDatalakeExceptionsResponse' smart constructor.+data ListDatalakeExceptionsResponse = ListDatalakeExceptionsResponse'+ { -- | List if there are more results available. The value of nextToken is a+ -- unique pagination token for each page. Repeat the call using the+ -- returned token to retrieve the next page. Keep all other arguments+ -- unchanged.+ --+ -- Each pagination token expires after 24 hours. Using an expired+ -- pagination token will return an HTTP 400 InvalidToken error.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Lists the failures that cannot be retried in the current Region.+ nonRetryableFailures :: [FailuresResponse]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListDatalakeExceptionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listDatalakeExceptionsResponse_nextToken' - List if there are more results available. The value of nextToken is a+-- unique pagination token for each page. Repeat the call using the+-- returned token to retrieve the next page. Keep all other arguments+-- unchanged.+--+-- Each pagination token expires after 24 hours. Using an expired+-- pagination token will return an HTTP 400 InvalidToken error.+--+-- 'httpStatus', 'listDatalakeExceptionsResponse_httpStatus' - The response's http status code.+--+-- 'nonRetryableFailures', 'listDatalakeExceptionsResponse_nonRetryableFailures' - Lists the failures that cannot be retried in the current Region.+newListDatalakeExceptionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListDatalakeExceptionsResponse+newListDatalakeExceptionsResponse pHttpStatus_ =+ ListDatalakeExceptionsResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ nonRetryableFailures = Prelude.mempty+ }++-- | List if there are more results available. The value of nextToken is a+-- unique pagination token for each page. Repeat the call using the+-- returned token to retrieve the next page. Keep all other arguments+-- unchanged.+--+-- Each pagination token expires after 24 hours. Using an expired+-- pagination token will return an HTTP 400 InvalidToken error.+listDatalakeExceptionsResponse_nextToken :: Lens.Lens' ListDatalakeExceptionsResponse (Prelude.Maybe Prelude.Text)+listDatalakeExceptionsResponse_nextToken = Lens.lens (\ListDatalakeExceptionsResponse' {nextToken} -> nextToken) (\s@ListDatalakeExceptionsResponse' {} a -> s {nextToken = a} :: ListDatalakeExceptionsResponse)++-- | The response's http status code.+listDatalakeExceptionsResponse_httpStatus :: Lens.Lens' ListDatalakeExceptionsResponse Prelude.Int+listDatalakeExceptionsResponse_httpStatus = Lens.lens (\ListDatalakeExceptionsResponse' {httpStatus} -> httpStatus) (\s@ListDatalakeExceptionsResponse' {} a -> s {httpStatus = a} :: ListDatalakeExceptionsResponse)++-- | Lists the failures that cannot be retried in the current Region.+listDatalakeExceptionsResponse_nonRetryableFailures :: Lens.Lens' ListDatalakeExceptionsResponse [FailuresResponse]+listDatalakeExceptionsResponse_nonRetryableFailures = Lens.lens (\ListDatalakeExceptionsResponse' {nonRetryableFailures} -> nonRetryableFailures) (\s@ListDatalakeExceptionsResponse' {} a -> s {nonRetryableFailures = a} :: ListDatalakeExceptionsResponse) Prelude.. Lens.coerced++instance+ Prelude.NFData+ ListDatalakeExceptionsResponse+ where+ rnf ListDatalakeExceptionsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf nonRetryableFailures
+ gen/Amazonka/SecurityLake/ListLogSources.hs view
@@ -0,0 +1,297 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.ListLogSources+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the log sources in the current Amazon Web Services Region.+--+-- This operation returns paginated results.+module Amazonka.SecurityLake.ListLogSources+ ( -- * Creating a Request+ ListLogSources (..),+ newListLogSources,++ -- * Request Lenses+ listLogSources_inputOrder,+ listLogSources_listAllDimensions,+ listLogSources_listSingleDimension,+ listLogSources_listTwoDimensions,+ listLogSources_maxResults,+ listLogSources_nextToken,++ -- * Destructuring the Response+ ListLogSourcesResponse (..),+ newListLogSourcesResponse,++ -- * Response Lenses+ listLogSourcesResponse_nextToken,+ listLogSourcesResponse_httpStatus,+ listLogSourcesResponse_regionSourceTypesAccountsList,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newListLogSources' smart constructor.+data ListLogSources = ListLogSources'+ { -- | Lists the log sources in input order, namely Region, source type, and+ -- member account.+ inputOrder :: Prelude.Maybe [Dimension],+ -- | List the view of log sources for enabled Amazon Security Lake accounts+ -- for specific Amazon Web Services sources from specific accounts and+ -- specific Regions.+ listAllDimensions :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text [Prelude.Text])),+ -- | List the view of log sources for enabled Security Lake accounts for all+ -- Amazon Web Services sources from specific accounts or specific Regions.+ listSingleDimension :: Prelude.Maybe [Prelude.Text],+ -- | Lists the view of log sources for enabled Security Lake accounts for+ -- specific Amazon Web Services sources from specific accounts or specific+ -- Regions.+ listTwoDimensions :: Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]),+ -- | The maximum number of accounts for which the log sources are displayed.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | If nextToken is returned, there are more results available. You can+ -- repeat the call using the returned token to retrieve the next page.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLogSources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputOrder', 'listLogSources_inputOrder' - Lists the log sources in input order, namely Region, source type, and+-- member account.+--+-- 'listAllDimensions', 'listLogSources_listAllDimensions' - List the view of log sources for enabled Amazon Security Lake accounts+-- for specific Amazon Web Services sources from specific accounts and+-- specific Regions.+--+-- 'listSingleDimension', 'listLogSources_listSingleDimension' - List the view of log sources for enabled Security Lake accounts for all+-- Amazon Web Services sources from specific accounts or specific Regions.+--+-- 'listTwoDimensions', 'listLogSources_listTwoDimensions' - Lists the view of log sources for enabled Security Lake accounts for+-- specific Amazon Web Services sources from specific accounts or specific+-- Regions.+--+-- 'maxResults', 'listLogSources_maxResults' - The maximum number of accounts for which the log sources are displayed.+--+-- 'nextToken', 'listLogSources_nextToken' - If nextToken is returned, there are more results available. You can+-- repeat the call using the returned token to retrieve the next page.+newListLogSources ::+ ListLogSources+newListLogSources =+ ListLogSources'+ { inputOrder = Prelude.Nothing,+ listAllDimensions = Prelude.Nothing,+ listSingleDimension = Prelude.Nothing,+ listTwoDimensions = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | Lists the log sources in input order, namely Region, source type, and+-- member account.+listLogSources_inputOrder :: Lens.Lens' ListLogSources (Prelude.Maybe [Dimension])+listLogSources_inputOrder = Lens.lens (\ListLogSources' {inputOrder} -> inputOrder) (\s@ListLogSources' {} a -> s {inputOrder = a} :: ListLogSources) Prelude.. Lens.mapping Lens.coerced++-- | List the view of log sources for enabled Amazon Security Lake accounts+-- for specific Amazon Web Services sources from specific accounts and+-- specific Regions.+listLogSources_listAllDimensions :: Lens.Lens' ListLogSources (Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text [Prelude.Text])))+listLogSources_listAllDimensions = Lens.lens (\ListLogSources' {listAllDimensions} -> listAllDimensions) (\s@ListLogSources' {} a -> s {listAllDimensions = a} :: ListLogSources) Prelude.. Lens.mapping Lens.coerced++-- | List the view of log sources for enabled Security Lake accounts for all+-- Amazon Web Services sources from specific accounts or specific Regions.+listLogSources_listSingleDimension :: Lens.Lens' ListLogSources (Prelude.Maybe [Prelude.Text])+listLogSources_listSingleDimension = Lens.lens (\ListLogSources' {listSingleDimension} -> listSingleDimension) (\s@ListLogSources' {} a -> s {listSingleDimension = a} :: ListLogSources) Prelude.. Lens.mapping Lens.coerced++-- | Lists the view of log sources for enabled Security Lake accounts for+-- specific Amazon Web Services sources from specific accounts or specific+-- Regions.+listLogSources_listTwoDimensions :: Lens.Lens' ListLogSources (Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]))+listLogSources_listTwoDimensions = Lens.lens (\ListLogSources' {listTwoDimensions} -> listTwoDimensions) (\s@ListLogSources' {} a -> s {listTwoDimensions = a} :: ListLogSources) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of accounts for which the log sources are displayed.+listLogSources_maxResults :: Lens.Lens' ListLogSources (Prelude.Maybe Prelude.Int)+listLogSources_maxResults = Lens.lens (\ListLogSources' {maxResults} -> maxResults) (\s@ListLogSources' {} a -> s {maxResults = a} :: ListLogSources)++-- | If nextToken is returned, there are more results available. You can+-- repeat the call using the returned token to retrieve the next page.+listLogSources_nextToken :: Lens.Lens' ListLogSources (Prelude.Maybe Prelude.Text)+listLogSources_nextToken = Lens.lens (\ListLogSources' {nextToken} -> nextToken) (\s@ListLogSources' {} a -> s {nextToken = a} :: ListLogSources)++instance Core.AWSPager ListLogSources where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listLogSourcesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^. listLogSourcesResponse_regionSourceTypesAccountsList+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listLogSources_nextToken+ Lens..~ rs+ Lens.^? listLogSourcesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListLogSources where+ type+ AWSResponse ListLogSources =+ ListLogSourcesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListLogSourcesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> ( x+ Data..?> "regionSourceTypesAccountsList"+ Core..!@ Prelude.mempty+ )+ )++instance Prelude.Hashable ListLogSources where+ hashWithSalt _salt ListLogSources' {..} =+ _salt+ `Prelude.hashWithSalt` inputOrder+ `Prelude.hashWithSalt` listAllDimensions+ `Prelude.hashWithSalt` listSingleDimension+ `Prelude.hashWithSalt` listTwoDimensions+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListLogSources where+ rnf ListLogSources' {..} =+ Prelude.rnf inputOrder+ `Prelude.seq` Prelude.rnf listAllDimensions+ `Prelude.seq` Prelude.rnf listSingleDimension+ `Prelude.seq` Prelude.rnf listTwoDimensions+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListLogSources where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListLogSources where+ toJSON ListLogSources' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("inputOrder" Data..=) Prelude.<$> inputOrder,+ ("listAllDimensions" Data..=)+ Prelude.<$> listAllDimensions,+ ("listSingleDimension" Data..=)+ Prelude.<$> listSingleDimension,+ ("listTwoDimensions" Data..=)+ Prelude.<$> listTwoDimensions,+ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListLogSources where+ toPath = Prelude.const "/v1/logsources/list"++instance Data.ToQuery ListLogSources where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListLogSourcesResponse' smart constructor.+data ListLogSourcesResponse = ListLogSourcesResponse'+ { -- | If nextToken is returned, there are more results available. You can+ -- repeat the call using the returned token to retrieve the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | Lists the log sources by Regions for enabled Security Lake accounts.+ regionSourceTypesAccountsList :: [Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text [Prelude.Text])]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLogSourcesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listLogSourcesResponse_nextToken' - If nextToken is returned, there are more results available. You can+-- repeat the call using the returned token to retrieve the next page.+--+-- 'httpStatus', 'listLogSourcesResponse_httpStatus' - The response's http status code.+--+-- 'regionSourceTypesAccountsList', 'listLogSourcesResponse_regionSourceTypesAccountsList' - Lists the log sources by Regions for enabled Security Lake accounts.+newListLogSourcesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListLogSourcesResponse+newListLogSourcesResponse pHttpStatus_ =+ ListLogSourcesResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ regionSourceTypesAccountsList = Prelude.mempty+ }++-- | If nextToken is returned, there are more results available. You can+-- repeat the call using the returned token to retrieve the next page.+listLogSourcesResponse_nextToken :: Lens.Lens' ListLogSourcesResponse (Prelude.Maybe Prelude.Text)+listLogSourcesResponse_nextToken = Lens.lens (\ListLogSourcesResponse' {nextToken} -> nextToken) (\s@ListLogSourcesResponse' {} a -> s {nextToken = a} :: ListLogSourcesResponse)++-- | The response's http status code.+listLogSourcesResponse_httpStatus :: Lens.Lens' ListLogSourcesResponse Prelude.Int+listLogSourcesResponse_httpStatus = Lens.lens (\ListLogSourcesResponse' {httpStatus} -> httpStatus) (\s@ListLogSourcesResponse' {} a -> s {httpStatus = a} :: ListLogSourcesResponse)++-- | Lists the log sources by Regions for enabled Security Lake accounts.+listLogSourcesResponse_regionSourceTypesAccountsList :: Lens.Lens' ListLogSourcesResponse [Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text [Prelude.Text])]+listLogSourcesResponse_regionSourceTypesAccountsList = Lens.lens (\ListLogSourcesResponse' {regionSourceTypesAccountsList} -> regionSourceTypesAccountsList) (\s@ListLogSourcesResponse' {} a -> s {regionSourceTypesAccountsList = a} :: ListLogSourcesResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListLogSourcesResponse where+ rnf ListLogSourcesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf regionSourceTypesAccountsList
+ gen/Amazonka/SecurityLake/ListSubscribers.hs view
@@ -0,0 +1,216 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.ListSubscribers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all subscribers for the specific Amazon Security Lake account ID.+-- You can retrieve a list of subscriptions associated with a specific+-- organization or Amazon Web Services account.+--+-- This operation returns paginated results.+module Amazonka.SecurityLake.ListSubscribers+ ( -- * Creating a Request+ ListSubscribers (..),+ newListSubscribers,++ -- * Request Lenses+ listSubscribers_maxResults,+ listSubscribers_nextToken,++ -- * Destructuring the Response+ ListSubscribersResponse (..),+ newListSubscribersResponse,++ -- * Response Lenses+ listSubscribersResponse_nextToken,+ listSubscribersResponse_httpStatus,+ listSubscribersResponse_subscribers,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newListSubscribers' smart constructor.+data ListSubscribers = ListSubscribers'+ { -- | The maximum number of accounts for which the configuration is displayed.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | If nextToken is returned, there are more results available. You can+ -- repeat the call using the returned token to retrieve the next page.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSubscribers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listSubscribers_maxResults' - The maximum number of accounts for which the configuration is displayed.+--+-- 'nextToken', 'listSubscribers_nextToken' - If nextToken is returned, there are more results available. You can+-- repeat the call using the returned token to retrieve the next page.+newListSubscribers ::+ ListSubscribers+newListSubscribers =+ ListSubscribers'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of accounts for which the configuration is displayed.+listSubscribers_maxResults :: Lens.Lens' ListSubscribers (Prelude.Maybe Prelude.Int)+listSubscribers_maxResults = Lens.lens (\ListSubscribers' {maxResults} -> maxResults) (\s@ListSubscribers' {} a -> s {maxResults = a} :: ListSubscribers)++-- | If nextToken is returned, there are more results available. You can+-- repeat the call using the returned token to retrieve the next page.+listSubscribers_nextToken :: Lens.Lens' ListSubscribers (Prelude.Maybe Prelude.Text)+listSubscribers_nextToken = Lens.lens (\ListSubscribers' {nextToken} -> nextToken) (\s@ListSubscribers' {} a -> s {nextToken = a} :: ListSubscribers)++instance Core.AWSPager ListSubscribers where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listSubscribersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ (rs Lens.^. listSubscribersResponse_subscribers) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listSubscribers_nextToken+ Lens..~ rs+ Lens.^? listSubscribersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListSubscribers where+ type+ AWSResponse ListSubscribers =+ ListSubscribersResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListSubscribersResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..?> "subscribers" Core..!@ Prelude.mempty)+ )++instance Prelude.Hashable ListSubscribers where+ hashWithSalt _salt ListSubscribers' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListSubscribers where+ rnf ListSubscribers' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListSubscribers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListSubscribers where+ toPath = Prelude.const "/v1/subscribers"++instance Data.ToQuery ListSubscribers where+ toQuery ListSubscribers' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListSubscribersResponse' smart constructor.+data ListSubscribersResponse = ListSubscribersResponse'+ { -- | If nextToken is returned, there are more results available. You can+ -- repeat the call using the returned token to retrieve the next page.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The subscribers available for the specified Security Lake account ID.+ subscribers :: [SubscriberResource]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSubscribersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listSubscribersResponse_nextToken' - If nextToken is returned, there are more results available. You can+-- repeat the call using the returned token to retrieve the next page.+--+-- 'httpStatus', 'listSubscribersResponse_httpStatus' - The response's http status code.+--+-- 'subscribers', 'listSubscribersResponse_subscribers' - The subscribers available for the specified Security Lake account ID.+newListSubscribersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListSubscribersResponse+newListSubscribersResponse pHttpStatus_ =+ ListSubscribersResponse'+ { nextToken =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ subscribers = Prelude.mempty+ }++-- | If nextToken is returned, there are more results available. You can+-- repeat the call using the returned token to retrieve the next page.+listSubscribersResponse_nextToken :: Lens.Lens' ListSubscribersResponse (Prelude.Maybe Prelude.Text)+listSubscribersResponse_nextToken = Lens.lens (\ListSubscribersResponse' {nextToken} -> nextToken) (\s@ListSubscribersResponse' {} a -> s {nextToken = a} :: ListSubscribersResponse)++-- | The response's http status code.+listSubscribersResponse_httpStatus :: Lens.Lens' ListSubscribersResponse Prelude.Int+listSubscribersResponse_httpStatus = Lens.lens (\ListSubscribersResponse' {httpStatus} -> httpStatus) (\s@ListSubscribersResponse' {} a -> s {httpStatus = a} :: ListSubscribersResponse)++-- | The subscribers available for the specified Security Lake account ID.+listSubscribersResponse_subscribers :: Lens.Lens' ListSubscribersResponse [SubscriberResource]+listSubscribersResponse_subscribers = Lens.lens (\ListSubscribersResponse' {subscribers} -> subscribers) (\s@ListSubscribersResponse' {} a -> s {subscribers = a} :: ListSubscribersResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListSubscribersResponse where+ rnf ListSubscribersResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf subscribers
+ gen/Amazonka/SecurityLake/Types.hs view
@@ -0,0 +1,402 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _AccountNotFoundException,+ _BucketNotFoundException,+ _ConcurrentModificationException,+ _ConflictException,+ _ConflictSourceNamesException,+ _ConflictSubscriptionException,+ _EventBridgeException,+ _InternalServerException,+ _InvalidInputException,+ _ResourceNotFoundException,+ _S3Exception,+ _ServiceQuotaExceededException,+ _ThrottlingException,+ _ValidationException,++ -- * AccessType+ AccessType (..),++ -- * AwsLogSourceType+ AwsLogSourceType (..),++ -- * Dimension+ Dimension (..),++ -- * EndpointProtocol+ EndpointProtocol (..),++ -- * HttpsMethod+ HttpsMethod (..),++ -- * OcsfEventClass+ OcsfEventClass (..),++ -- * Region+ Region (..),++ -- * SettingsStatus+ SettingsStatus (..),++ -- * SourceStatus+ SourceStatus (..),++ -- * StorageClass+ StorageClass (..),++ -- * SubscriptionProtocolType+ SubscriptionProtocolType (..),++ -- * SubscriptionStatus+ SubscriptionStatus (..),++ -- * AccountSources+ AccountSources (..),+ newAccountSources,+ accountSources_eventClass,+ accountSources_logsStatus,+ accountSources_account,+ accountSources_sourceType,++ -- * AutoEnableNewRegionConfiguration+ AutoEnableNewRegionConfiguration (..),+ newAutoEnableNewRegionConfiguration,+ autoEnableNewRegionConfiguration_region,+ autoEnableNewRegionConfiguration_sources,++ -- * Failures+ Failures (..),+ newFailures,+ failures_exceptionMessage,+ failures_remediation,+ failures_timestamp,++ -- * FailuresResponse+ FailuresResponse (..),+ newFailuresResponse,+ failuresResponse_failures,+ failuresResponse_region,++ -- * LakeConfigurationRequest+ LakeConfigurationRequest (..),+ newLakeConfigurationRequest,+ lakeConfigurationRequest_encryptionKey,+ lakeConfigurationRequest_replicationDestinationRegions,+ lakeConfigurationRequest_replicationRoleArn,+ lakeConfigurationRequest_retentionSettings,+ lakeConfigurationRequest_tagsMap,++ -- * LakeConfigurationResponse+ LakeConfigurationResponse (..),+ newLakeConfigurationResponse,+ lakeConfigurationResponse_encryptionKey,+ lakeConfigurationResponse_replicationDestinationRegions,+ lakeConfigurationResponse_replicationRoleArn,+ lakeConfigurationResponse_retentionSettings,+ lakeConfigurationResponse_s3BucketArn,+ lakeConfigurationResponse_status,+ lakeConfigurationResponse_tagsMap,++ -- * LogsStatus+ LogsStatus (..),+ newLogsStatus,+ logsStatus_healthStatus,+ logsStatus_pathToLogs,++ -- * ProtocolAndNotificationEndpoint+ ProtocolAndNotificationEndpoint (..),+ newProtocolAndNotificationEndpoint,+ protocolAndNotificationEndpoint_endpoint,+ protocolAndNotificationEndpoint_protocol,++ -- * RetentionSetting+ RetentionSetting (..),+ newRetentionSetting,+ retentionSetting_retentionPeriod,+ retentionSetting_storageClass,++ -- * SourceType+ SourceType (..),+ newSourceType,+ sourceType_awsSourceType,+ sourceType_customSourceType,++ -- * SubscriberResource+ SubscriberResource (..),+ newSubscriberResource,+ subscriberResource_accessTypes,+ subscriberResource_createdAt,+ subscriberResource_externalId,+ subscriberResource_roleArn,+ subscriberResource_s3BucketArn,+ subscriberResource_snsArn,+ subscriberResource_subscriberDescription,+ subscriberResource_subscriberName,+ subscriberResource_subscriptionEndpoint,+ subscriberResource_subscriptionProtocol,+ subscriberResource_subscriptionStatus,+ subscriberResource_updatedAt,+ subscriberResource_accountId,+ subscriberResource_sourceTypes,+ subscriberResource_subscriptionId,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import Amazonka.SecurityLake.Types.AccessType+import Amazonka.SecurityLake.Types.AccountSources+import Amazonka.SecurityLake.Types.AutoEnableNewRegionConfiguration+import Amazonka.SecurityLake.Types.AwsLogSourceType+import Amazonka.SecurityLake.Types.Dimension+import Amazonka.SecurityLake.Types.EndpointProtocol+import Amazonka.SecurityLake.Types.Failures+import Amazonka.SecurityLake.Types.FailuresResponse+import Amazonka.SecurityLake.Types.HttpsMethod+import Amazonka.SecurityLake.Types.LakeConfigurationRequest+import Amazonka.SecurityLake.Types.LakeConfigurationResponse+import Amazonka.SecurityLake.Types.LogsStatus+import Amazonka.SecurityLake.Types.OcsfEventClass+import Amazonka.SecurityLake.Types.ProtocolAndNotificationEndpoint+import Amazonka.SecurityLake.Types.Region+import Amazonka.SecurityLake.Types.RetentionSetting+import Amazonka.SecurityLake.Types.SettingsStatus+import Amazonka.SecurityLake.Types.SourceStatus+import Amazonka.SecurityLake.Types.SourceType+import Amazonka.SecurityLake.Types.StorageClass+import Amazonka.SecurityLake.Types.SubscriberResource+import Amazonka.SecurityLake.Types.SubscriptionProtocolType+import Amazonka.SecurityLake.Types.SubscriptionStatus+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-05-10@ of the Amazon Security Lake SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "SecurityLake",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "securitylake",+ Core.signingName = "securitylake",+ Core.version = "2018-05-10",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "SecurityLake",+ Core.retry = retry+ }+ where+ retry =+ Core.Exponential+ { Core.base = 5.0e-2,+ Core.growth = 2,+ Core.attempts = 5,+ Core.check = check+ }+ check e+ | Lens.has (Core.hasStatus 502) e =+ Prelude.Just "bad_gateway"+ | Lens.has (Core.hasStatus 504) e =+ Prelude.Just "gateway_timeout"+ | Lens.has (Core.hasStatus 500) e =+ Prelude.Just "general_server_error"+ | Lens.has (Core.hasStatus 509) e =+ Prelude.Just "limit_exceeded"+ | Lens.has+ ( Core.hasCode "RequestThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "request_throttled_exception"+ | Lens.has (Core.hasStatus 503) e =+ Prelude.Just "service_unavailable"+ | Lens.has+ ( Core.hasCode "ThrottledException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttled_exception"+ | Lens.has+ ( Core.hasCode "Throttling"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling"+ | Lens.has+ ( Core.hasCode "ThrottlingException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throttling_exception"+ | Lens.has+ ( Core.hasCode+ "ProvisionedThroughputExceededException"+ Prelude.. Core.hasStatus 400+ )+ e =+ Prelude.Just "throughput_exceeded"+ | Lens.has (Core.hasStatus 429) e =+ Prelude.Just "too_many_requests"+ | Prelude.otherwise = Prelude.Nothing++-- | You do not have sufficient access to perform this action. Access denied+-- errors appear when Amazon Security Lake explicitly or implicitly denies+-- an authorization request. An explicit denial occurs when a policy+-- contains a Deny statement for the specific Amazon Web Services action.+-- An implicit denial occurs when there is no applicable Deny statement and+-- also no applicable Allow statement.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"+ Prelude.. Core.hasStatus 403++-- | Amazon Security Lake cannot find an Amazon Web Services account with the+-- accountID that you specified, or the account whose credentials you used+-- to make this request isn\'t a member of an organization.+_AccountNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccountNotFoundException =+ Core._MatchServiceError+ defaultService+ "AccountNotFoundException"+ Prelude.. Core.hasStatus 403++-- | Amazon Security Lake generally returns 404 errors if the requested+-- object is missing from the bucket.+_BucketNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BucketNotFoundException =+ Core._MatchServiceError+ defaultService+ "BucketNotFoundException"+ Prelude.. Core.hasStatus 409++-- | More than one process tried to modify a resource at the same time.+_ConcurrentModificationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConcurrentModificationException =+ Core._MatchServiceError+ defaultService+ "ConcurrentModificationException"+ Prelude.. Core.hasStatus 409++-- | Occurs when a conflict with a previous successful write is detected.+-- This generally occurs when the previous write did not have time to+-- propagate to the host serving the current request. A retry (with+-- appropriate backoff logic) is the recommended response to this+-- exception.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"+ Prelude.. Core.hasStatus 409++-- | There was a conflict when you attempted to modify a Security Lake source+-- name.+_ConflictSourceNamesException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictSourceNamesException =+ Core._MatchServiceError+ defaultService+ "ConflictSourceNamesException"+ Prelude.. Core.hasStatus 400++-- | A conflicting subscription exception operation is in progress.+_ConflictSubscriptionException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictSubscriptionException =+ Core._MatchServiceError+ defaultService+ "ConflictSubscriptionException"+ Prelude.. Core.hasStatus 400++-- | Represents an error interacting with the Amazon EventBridge service.+_EventBridgeException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_EventBridgeException =+ Core._MatchServiceError+ defaultService+ "EventBridgeException"+ Prelude.. Core.hasStatus 400++-- | Internal service exceptions are sometimes caused by transient issues.+-- Before you start troubleshooting, perform the operation again.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"+ Prelude.. Core.hasStatus 500++-- | The request was rejected because a value that\'s not valid or is out of+-- range was supplied for an input parameter.+_InvalidInputException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidInputException =+ Core._MatchServiceError+ defaultService+ "InvalidInputException"+ Prelude.. Core.hasStatus 400++-- | The resource could not be found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | Provides an extension of the AmazonServiceException for errors reported+-- by Amazon S3 while processing a request. In particular, this class+-- provides access to the Amazon S3 extended request ID. If Amazon S3 is+-- incorrectly handling a request and you need to contact Amazon, this+-- extended request ID may provide useful debugging information.+_S3Exception :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_S3Exception =+ Core._MatchServiceError+ defaultService+ "S3Exception"+ Prelude.. Core.hasStatus 400++-- | You have exceeded your service quota. To perform the requested action,+-- remove some of the relevant resources, or use Service Quotas to request+-- a service quota increase.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceQuotaExceededException"+ Prelude.. Core.hasStatus 402++-- | The limit on the number of requests per second was exceeded.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"+ Prelude.. Core.hasStatus 429++-- | Your signing certificate could not be validated.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/SecurityLake/Types/AccessType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.AccessType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.AccessType+ ( AccessType+ ( ..,+ AccessType_LAKEFORMATION,+ AccessType_S3+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AccessType = AccessType'+ { fromAccessType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AccessType_LAKEFORMATION :: AccessType+pattern AccessType_LAKEFORMATION = AccessType' "LAKEFORMATION"++pattern AccessType_S3 :: AccessType+pattern AccessType_S3 = AccessType' "S3"++{-# COMPLETE+ AccessType_LAKEFORMATION,+ AccessType_S3,+ AccessType'+ #-}
+ gen/Amazonka/SecurityLake/Types/AccountSources.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.AccountSources+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.AccountSources where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SecurityLake.Types.LogsStatus+import Amazonka.SecurityLake.Types.OcsfEventClass++-- | Amazon Security Lake collects logs and events from supported Amazon Web+-- Services and custom sources. For the list of supported Amazon Web+-- Services, see the+-- <https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html Amazon Security Lake User Guide>.+--+-- /See:/ 'newAccountSources' smart constructor.+data AccountSources = AccountSources'+ { -- | Initializes a new instance of the Event class.+ eventClass :: Prelude.Maybe OcsfEventClass,+ -- | The log status for the Security Lake account.+ logsStatus :: Prelude.Maybe [LogsStatus],+ -- | The ID of the Security Lake account for which logs are collected.+ account :: Prelude.Text,+ -- | The supported Amazon Web Services from which logs and events are+ -- collected. Amazon Security Lake supports log and event collection for+ -- natively supported Amazon Web Services.+ sourceType :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccountSources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventClass', 'accountSources_eventClass' - Initializes a new instance of the Event class.+--+-- 'logsStatus', 'accountSources_logsStatus' - The log status for the Security Lake account.+--+-- 'account', 'accountSources_account' - The ID of the Security Lake account for which logs are collected.+--+-- 'sourceType', 'accountSources_sourceType' - The supported Amazon Web Services from which logs and events are+-- collected. Amazon Security Lake supports log and event collection for+-- natively supported Amazon Web Services.+newAccountSources ::+ -- | 'account'+ Prelude.Text ->+ -- | 'sourceType'+ Prelude.Text ->+ AccountSources+newAccountSources pAccount_ pSourceType_ =+ AccountSources'+ { eventClass = Prelude.Nothing,+ logsStatus = Prelude.Nothing,+ account = pAccount_,+ sourceType = pSourceType_+ }++-- | Initializes a new instance of the Event class.+accountSources_eventClass :: Lens.Lens' AccountSources (Prelude.Maybe OcsfEventClass)+accountSources_eventClass = Lens.lens (\AccountSources' {eventClass} -> eventClass) (\s@AccountSources' {} a -> s {eventClass = a} :: AccountSources)++-- | The log status for the Security Lake account.+accountSources_logsStatus :: Lens.Lens' AccountSources (Prelude.Maybe [LogsStatus])+accountSources_logsStatus = Lens.lens (\AccountSources' {logsStatus} -> logsStatus) (\s@AccountSources' {} a -> s {logsStatus = a} :: AccountSources) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the Security Lake account for which logs are collected.+accountSources_account :: Lens.Lens' AccountSources Prelude.Text+accountSources_account = Lens.lens (\AccountSources' {account} -> account) (\s@AccountSources' {} a -> s {account = a} :: AccountSources)++-- | The supported Amazon Web Services from which logs and events are+-- collected. Amazon Security Lake supports log and event collection for+-- natively supported Amazon Web Services.+accountSources_sourceType :: Lens.Lens' AccountSources Prelude.Text+accountSources_sourceType = Lens.lens (\AccountSources' {sourceType} -> sourceType) (\s@AccountSources' {} a -> s {sourceType = a} :: AccountSources)++instance Data.FromJSON AccountSources where+ parseJSON =+ Data.withObject+ "AccountSources"+ ( \x ->+ AccountSources'+ Prelude.<$> (x Data..:? "eventClass")+ Prelude.<*> (x Data..:? "logsStatus" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "account")+ Prelude.<*> (x Data..: "sourceType")+ )++instance Prelude.Hashable AccountSources where+ hashWithSalt _salt AccountSources' {..} =+ _salt+ `Prelude.hashWithSalt` eventClass+ `Prelude.hashWithSalt` logsStatus+ `Prelude.hashWithSalt` account+ `Prelude.hashWithSalt` sourceType++instance Prelude.NFData AccountSources where+ rnf AccountSources' {..} =+ Prelude.rnf eventClass+ `Prelude.seq` Prelude.rnf logsStatus+ `Prelude.seq` Prelude.rnf account+ `Prelude.seq` Prelude.rnf sourceType
+ gen/Amazonka/SecurityLake/Types/AutoEnableNewRegionConfiguration.hs view
@@ -0,0 +1,116 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.AutoEnableNewRegionConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.AutoEnableNewRegionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SecurityLake.Types.AwsLogSourceType+import Amazonka.SecurityLake.Types.Region++-- | Automatically enable new organization accounts as member accounts from+-- an Amazon Security Lake administrator account.+--+-- /See:/ 'newAutoEnableNewRegionConfiguration' smart constructor.+data AutoEnableNewRegionConfiguration = AutoEnableNewRegionConfiguration'+ { -- | The Amazon Web Services Regions where Security Lake is automatically+ -- enabled.+ region :: Region,+ -- | The Amazon Web Services sources that are automatically enabled in+ -- Security Lake.+ sources :: [AwsLogSourceType]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutoEnableNewRegionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'region', 'autoEnableNewRegionConfiguration_region' - The Amazon Web Services Regions where Security Lake is automatically+-- enabled.+--+-- 'sources', 'autoEnableNewRegionConfiguration_sources' - The Amazon Web Services sources that are automatically enabled in+-- Security Lake.+newAutoEnableNewRegionConfiguration ::+ -- | 'region'+ Region ->+ AutoEnableNewRegionConfiguration+newAutoEnableNewRegionConfiguration pRegion_ =+ AutoEnableNewRegionConfiguration'+ { region =+ pRegion_,+ sources = Prelude.mempty+ }++-- | The Amazon Web Services Regions where Security Lake is automatically+-- enabled.+autoEnableNewRegionConfiguration_region :: Lens.Lens' AutoEnableNewRegionConfiguration Region+autoEnableNewRegionConfiguration_region = Lens.lens (\AutoEnableNewRegionConfiguration' {region} -> region) (\s@AutoEnableNewRegionConfiguration' {} a -> s {region = a} :: AutoEnableNewRegionConfiguration)++-- | The Amazon Web Services sources that are automatically enabled in+-- Security Lake.+autoEnableNewRegionConfiguration_sources :: Lens.Lens' AutoEnableNewRegionConfiguration [AwsLogSourceType]+autoEnableNewRegionConfiguration_sources = Lens.lens (\AutoEnableNewRegionConfiguration' {sources} -> sources) (\s@AutoEnableNewRegionConfiguration' {} a -> s {sources = a} :: AutoEnableNewRegionConfiguration) Prelude.. Lens.coerced++instance+ Data.FromJSON+ AutoEnableNewRegionConfiguration+ where+ parseJSON =+ Data.withObject+ "AutoEnableNewRegionConfiguration"+ ( \x ->+ AutoEnableNewRegionConfiguration'+ Prelude.<$> (x Data..: "region")+ Prelude.<*> (x Data..:? "sources" Data..!= Prelude.mempty)+ )++instance+ Prelude.Hashable+ AutoEnableNewRegionConfiguration+ where+ hashWithSalt+ _salt+ AutoEnableNewRegionConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` region+ `Prelude.hashWithSalt` sources++instance+ Prelude.NFData+ AutoEnableNewRegionConfiguration+ where+ rnf AutoEnableNewRegionConfiguration' {..} =+ Prelude.rnf region+ `Prelude.seq` Prelude.rnf sources++instance Data.ToJSON AutoEnableNewRegionConfiguration where+ toJSON AutoEnableNewRegionConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("region" Data..= region),+ Prelude.Just ("sources" Data..= sources)+ ]+ )
+ gen/Amazonka/SecurityLake/Types/AwsLogSourceType.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.AwsLogSourceType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.AwsLogSourceType+ ( AwsLogSourceType+ ( ..,+ AwsLogSourceType_CLOUD_TRAIL,+ AwsLogSourceType_ROUTE53,+ AwsLogSourceType_SH_FINDINGS,+ AwsLogSourceType_VPC_FLOW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AwsLogSourceType = AwsLogSourceType'+ { fromAwsLogSourceType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern AwsLogSourceType_CLOUD_TRAIL :: AwsLogSourceType+pattern AwsLogSourceType_CLOUD_TRAIL = AwsLogSourceType' "CLOUD_TRAIL"++pattern AwsLogSourceType_ROUTE53 :: AwsLogSourceType+pattern AwsLogSourceType_ROUTE53 = AwsLogSourceType' "ROUTE53"++pattern AwsLogSourceType_SH_FINDINGS :: AwsLogSourceType+pattern AwsLogSourceType_SH_FINDINGS = AwsLogSourceType' "SH_FINDINGS"++pattern AwsLogSourceType_VPC_FLOW :: AwsLogSourceType+pattern AwsLogSourceType_VPC_FLOW = AwsLogSourceType' "VPC_FLOW"++{-# COMPLETE+ AwsLogSourceType_CLOUD_TRAIL,+ AwsLogSourceType_ROUTE53,+ AwsLogSourceType_SH_FINDINGS,+ AwsLogSourceType_VPC_FLOW,+ AwsLogSourceType'+ #-}
+ gen/Amazonka/SecurityLake/Types/Dimension.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.Dimension+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.Dimension+ ( Dimension+ ( ..,+ Dimension_MEMBER,+ Dimension_REGION,+ Dimension_SOURCE_TYPE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Dimension = Dimension'+ { fromDimension ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Dimension_MEMBER :: Dimension+pattern Dimension_MEMBER = Dimension' "MEMBER"++pattern Dimension_REGION :: Dimension+pattern Dimension_REGION = Dimension' "REGION"++pattern Dimension_SOURCE_TYPE :: Dimension+pattern Dimension_SOURCE_TYPE = Dimension' "SOURCE_TYPE"++{-# COMPLETE+ Dimension_MEMBER,+ Dimension_REGION,+ Dimension_SOURCE_TYPE,+ Dimension'+ #-}
+ gen/Amazonka/SecurityLake/Types/EndpointProtocol.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.EndpointProtocol+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.EndpointProtocol+ ( EndpointProtocol+ ( ..,+ EndpointProtocol_HTTPS,+ EndpointProtocol_SQS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EndpointProtocol = EndpointProtocol'+ { fromEndpointProtocol ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern EndpointProtocol_HTTPS :: EndpointProtocol+pattern EndpointProtocol_HTTPS = EndpointProtocol' "HTTPS"++pattern EndpointProtocol_SQS :: EndpointProtocol+pattern EndpointProtocol_SQS = EndpointProtocol' "SQS"++{-# COMPLETE+ EndpointProtocol_HTTPS,+ EndpointProtocol_SQS,+ EndpointProtocol'+ #-}
+ gen/Amazonka/SecurityLake/Types/Failures.hs view
@@ -0,0 +1,108 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.Failures+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.Failures where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | List of all failures.+--+-- /See:/ 'newFailures' smart constructor.+data Failures = Failures'+ { -- | List of all exception messages.+ exceptionMessage :: Prelude.Text,+ -- | List of all remediation steps for failures.+ remediation :: Prelude.Text,+ -- | This error can occur if you configure the wrong timestamp format, or if+ -- the subset of entries used for validation had errors or missing values.+ timestamp :: Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Failures' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'exceptionMessage', 'failures_exceptionMessage' - List of all exception messages.+--+-- 'remediation', 'failures_remediation' - List of all remediation steps for failures.+--+-- 'timestamp', 'failures_timestamp' - This error can occur if you configure the wrong timestamp format, or if+-- the subset of entries used for validation had errors or missing values.+newFailures ::+ -- | 'exceptionMessage'+ Prelude.Text ->+ -- | 'remediation'+ Prelude.Text ->+ -- | 'timestamp'+ Prelude.UTCTime ->+ Failures+newFailures+ pExceptionMessage_+ pRemediation_+ pTimestamp_ =+ Failures'+ { exceptionMessage = pExceptionMessage_,+ remediation = pRemediation_,+ timestamp = Data._Time Lens.# pTimestamp_+ }++-- | List of all exception messages.+failures_exceptionMessage :: Lens.Lens' Failures Prelude.Text+failures_exceptionMessage = Lens.lens (\Failures' {exceptionMessage} -> exceptionMessage) (\s@Failures' {} a -> s {exceptionMessage = a} :: Failures)++-- | List of all remediation steps for failures.+failures_remediation :: Lens.Lens' Failures Prelude.Text+failures_remediation = Lens.lens (\Failures' {remediation} -> remediation) (\s@Failures' {} a -> s {remediation = a} :: Failures)++-- | This error can occur if you configure the wrong timestamp format, or if+-- the subset of entries used for validation had errors or missing values.+failures_timestamp :: Lens.Lens' Failures Prelude.UTCTime+failures_timestamp = Lens.lens (\Failures' {timestamp} -> timestamp) (\s@Failures' {} a -> s {timestamp = a} :: Failures) Prelude.. Data._Time++instance Data.FromJSON Failures where+ parseJSON =+ Data.withObject+ "Failures"+ ( \x ->+ Failures'+ Prelude.<$> (x Data..: "exceptionMessage")+ Prelude.<*> (x Data..: "remediation")+ Prelude.<*> (x Data..: "timestamp")+ )++instance Prelude.Hashable Failures where+ hashWithSalt _salt Failures' {..} =+ _salt+ `Prelude.hashWithSalt` exceptionMessage+ `Prelude.hashWithSalt` remediation+ `Prelude.hashWithSalt` timestamp++instance Prelude.NFData Failures where+ rnf Failures' {..} =+ Prelude.rnf exceptionMessage+ `Prelude.seq` Prelude.rnf remediation+ `Prelude.seq` Prelude.rnf timestamp
+ gen/Amazonka/SecurityLake/Types/FailuresResponse.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.FailuresResponse+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.FailuresResponse where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SecurityLake.Types.Failures++-- | Response element for actions that make changes, namely create, update,+-- or delete actions.+--+-- /See:/ 'newFailuresResponse' smart constructor.+data FailuresResponse = FailuresResponse'+ { -- | List of all failures.+ failures :: Prelude.Maybe [Failures],+ -- | List of Amazon Web Services Regions where the failure occurred.+ region :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FailuresResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'failures', 'failuresResponse_failures' - List of all failures.+--+-- 'region', 'failuresResponse_region' - List of Amazon Web Services Regions where the failure occurred.+newFailuresResponse ::+ FailuresResponse+newFailuresResponse =+ FailuresResponse'+ { failures = Prelude.Nothing,+ region = Prelude.Nothing+ }++-- | List of all failures.+failuresResponse_failures :: Lens.Lens' FailuresResponse (Prelude.Maybe [Failures])+failuresResponse_failures = Lens.lens (\FailuresResponse' {failures} -> failures) (\s@FailuresResponse' {} a -> s {failures = a} :: FailuresResponse) Prelude.. Lens.mapping Lens.coerced++-- | List of Amazon Web Services Regions where the failure occurred.+failuresResponse_region :: Lens.Lens' FailuresResponse (Prelude.Maybe Prelude.Text)+failuresResponse_region = Lens.lens (\FailuresResponse' {region} -> region) (\s@FailuresResponse' {} a -> s {region = a} :: FailuresResponse)++instance Data.FromJSON FailuresResponse where+ parseJSON =+ Data.withObject+ "FailuresResponse"+ ( \x ->+ FailuresResponse'+ Prelude.<$> (x Data..:? "failures" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "region")+ )++instance Prelude.Hashable FailuresResponse where+ hashWithSalt _salt FailuresResponse' {..} =+ _salt+ `Prelude.hashWithSalt` failures+ `Prelude.hashWithSalt` region++instance Prelude.NFData FailuresResponse where+ rnf FailuresResponse' {..} =+ Prelude.rnf failures+ `Prelude.seq` Prelude.rnf region
+ gen/Amazonka/SecurityLake/Types/HttpsMethod.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.HttpsMethod+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.HttpsMethod+ ( HttpsMethod+ ( ..,+ HttpsMethod_POST,+ HttpsMethod_PUT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HttpsMethod = HttpsMethod'+ { fromHttpsMethod ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern HttpsMethod_POST :: HttpsMethod+pattern HttpsMethod_POST = HttpsMethod' "POST"++pattern HttpsMethod_PUT :: HttpsMethod+pattern HttpsMethod_PUT = HttpsMethod' "PUT"++{-# COMPLETE+ HttpsMethod_POST,+ HttpsMethod_PUT,+ HttpsMethod'+ #-}
+ gen/Amazonka/SecurityLake/Types/LakeConfigurationRequest.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.LakeConfigurationRequest+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.LakeConfigurationRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SecurityLake.Types.Region+import Amazonka.SecurityLake.Types.RetentionSetting++-- | Provides details of Amazon Security Lake configuration object.+--+-- /See:/ 'newLakeConfigurationRequest' smart constructor.+data LakeConfigurationRequest = LakeConfigurationRequest'+ { -- | The type of encryption key used by Amazon Security Lake to encrypt the+ -- Security Lake configuration object.+ encryptionKey :: Prelude.Maybe Prelude.Text,+ -- | Replication enables automatic, asynchronous copying of objects across+ -- Amazon S3 buckets. Amazon S3 buckets that are configured for object+ -- replication can be owned by the same Amazon Web Services account or by+ -- different accounts. You can replicate objects to a single destination+ -- bucket or to multiple destination buckets. The destination buckets can+ -- be in different Amazon Web Services Regions or within the same Region as+ -- the source bucket.+ --+ -- Set up one or more rollup Regions by providing the Region or Regions+ -- that should contribute to the central rollup Region.+ replicationDestinationRegions :: Prelude.Maybe [Region],+ -- | Replication settings for the Amazon S3 buckets. This parameter uses the+ -- Identity and Access Management (IAM) role you created that is managed by+ -- Security Lake, to ensure the replication setting is correct.+ replicationRoleArn :: Prelude.Maybe Prelude.Text,+ -- | Retention settings for the destination Amazon S3 buckets.+ retentionSettings :: Prelude.Maybe [RetentionSetting],+ -- | A tag is a label that you assign to an Amazon Web Services resource.+ -- Each tag consists of a key and an optional value, both of which you+ -- define.+ tagsMap :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LakeConfigurationRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'encryptionKey', 'lakeConfigurationRequest_encryptionKey' - The type of encryption key used by Amazon Security Lake to encrypt the+-- Security Lake configuration object.+--+-- 'replicationDestinationRegions', 'lakeConfigurationRequest_replicationDestinationRegions' - Replication enables automatic, asynchronous copying of objects across+-- Amazon S3 buckets. Amazon S3 buckets that are configured for object+-- replication can be owned by the same Amazon Web Services account or by+-- different accounts. You can replicate objects to a single destination+-- bucket or to multiple destination buckets. The destination buckets can+-- be in different Amazon Web Services Regions or within the same Region as+-- the source bucket.+--+-- Set up one or more rollup Regions by providing the Region or Regions+-- that should contribute to the central rollup Region.+--+-- 'replicationRoleArn', 'lakeConfigurationRequest_replicationRoleArn' - Replication settings for the Amazon S3 buckets. This parameter uses the+-- Identity and Access Management (IAM) role you created that is managed by+-- Security Lake, to ensure the replication setting is correct.+--+-- 'retentionSettings', 'lakeConfigurationRequest_retentionSettings' - Retention settings for the destination Amazon S3 buckets.+--+-- 'tagsMap', 'lakeConfigurationRequest_tagsMap' - A tag is a label that you assign to an Amazon Web Services resource.+-- Each tag consists of a key and an optional value, both of which you+-- define.+newLakeConfigurationRequest ::+ LakeConfigurationRequest+newLakeConfigurationRequest =+ LakeConfigurationRequest'+ { encryptionKey =+ Prelude.Nothing,+ replicationDestinationRegions = Prelude.Nothing,+ replicationRoleArn = Prelude.Nothing,+ retentionSettings = Prelude.Nothing,+ tagsMap = Prelude.Nothing+ }++-- | The type of encryption key used by Amazon Security Lake to encrypt the+-- Security Lake configuration object.+lakeConfigurationRequest_encryptionKey :: Lens.Lens' LakeConfigurationRequest (Prelude.Maybe Prelude.Text)+lakeConfigurationRequest_encryptionKey = Lens.lens (\LakeConfigurationRequest' {encryptionKey} -> encryptionKey) (\s@LakeConfigurationRequest' {} a -> s {encryptionKey = a} :: LakeConfigurationRequest)++-- | Replication enables automatic, asynchronous copying of objects across+-- Amazon S3 buckets. Amazon S3 buckets that are configured for object+-- replication can be owned by the same Amazon Web Services account or by+-- different accounts. You can replicate objects to a single destination+-- bucket or to multiple destination buckets. The destination buckets can+-- be in different Amazon Web Services Regions or within the same Region as+-- the source bucket.+--+-- Set up one or more rollup Regions by providing the Region or Regions+-- that should contribute to the central rollup Region.+lakeConfigurationRequest_replicationDestinationRegions :: Lens.Lens' LakeConfigurationRequest (Prelude.Maybe [Region])+lakeConfigurationRequest_replicationDestinationRegions = Lens.lens (\LakeConfigurationRequest' {replicationDestinationRegions} -> replicationDestinationRegions) (\s@LakeConfigurationRequest' {} a -> s {replicationDestinationRegions = a} :: LakeConfigurationRequest) Prelude.. Lens.mapping Lens.coerced++-- | Replication settings for the Amazon S3 buckets. This parameter uses the+-- Identity and Access Management (IAM) role you created that is managed by+-- Security Lake, to ensure the replication setting is correct.+lakeConfigurationRequest_replicationRoleArn :: Lens.Lens' LakeConfigurationRequest (Prelude.Maybe Prelude.Text)+lakeConfigurationRequest_replicationRoleArn = Lens.lens (\LakeConfigurationRequest' {replicationRoleArn} -> replicationRoleArn) (\s@LakeConfigurationRequest' {} a -> s {replicationRoleArn = a} :: LakeConfigurationRequest)++-- | Retention settings for the destination Amazon S3 buckets.+lakeConfigurationRequest_retentionSettings :: Lens.Lens' LakeConfigurationRequest (Prelude.Maybe [RetentionSetting])+lakeConfigurationRequest_retentionSettings = Lens.lens (\LakeConfigurationRequest' {retentionSettings} -> retentionSettings) (\s@LakeConfigurationRequest' {} a -> s {retentionSettings = a} :: LakeConfigurationRequest) Prelude.. Lens.mapping Lens.coerced++-- | A tag is a label that you assign to an Amazon Web Services resource.+-- Each tag consists of a key and an optional value, both of which you+-- define.+lakeConfigurationRequest_tagsMap :: Lens.Lens' LakeConfigurationRequest (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+lakeConfigurationRequest_tagsMap = Lens.lens (\LakeConfigurationRequest' {tagsMap} -> tagsMap) (\s@LakeConfigurationRequest' {} a -> s {tagsMap = a} :: LakeConfigurationRequest) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable LakeConfigurationRequest where+ hashWithSalt _salt LakeConfigurationRequest' {..} =+ _salt+ `Prelude.hashWithSalt` encryptionKey+ `Prelude.hashWithSalt` replicationDestinationRegions+ `Prelude.hashWithSalt` replicationRoleArn+ `Prelude.hashWithSalt` retentionSettings+ `Prelude.hashWithSalt` tagsMap++instance Prelude.NFData LakeConfigurationRequest where+ rnf LakeConfigurationRequest' {..} =+ Prelude.rnf encryptionKey+ `Prelude.seq` Prelude.rnf replicationDestinationRegions+ `Prelude.seq` Prelude.rnf replicationRoleArn+ `Prelude.seq` Prelude.rnf retentionSettings+ `Prelude.seq` Prelude.rnf tagsMap++instance Data.ToJSON LakeConfigurationRequest where+ toJSON LakeConfigurationRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("encryptionKey" Data..=) Prelude.<$> encryptionKey,+ ("replicationDestinationRegions" Data..=)+ Prelude.<$> replicationDestinationRegions,+ ("replicationRoleArn" Data..=)+ Prelude.<$> replicationRoleArn,+ ("retentionSettings" Data..=)+ Prelude.<$> retentionSettings,+ ("tagsMap" Data..=) Prelude.<$> tagsMap+ ]+ )
+ gen/Amazonka/SecurityLake/Types/LakeConfigurationResponse.hs view
@@ -0,0 +1,211 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.LakeConfigurationResponse+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.LakeConfigurationResponse where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SecurityLake.Types.Region+import Amazonka.SecurityLake.Types.RetentionSetting+import Amazonka.SecurityLake.Types.SettingsStatus++-- | Provides details of Amazon Security Lake lake configuration object.+--+-- /See:/ 'newLakeConfigurationResponse' smart constructor.+data LakeConfigurationResponse = LakeConfigurationResponse'+ { -- | The type of encryption key used by secure the Security Lake+ -- configuration object.+ encryptionKey :: Prelude.Maybe Prelude.Text,+ -- | Replication enables automatic, asynchronous copying of objects across+ -- Amazon S3 buckets. Amazon S3 buckets that are configured for object+ -- replication can be owned by the same Amazon Web Services account or by+ -- different accounts. You can replicate objects to a single destination+ -- bucket or to multiple destination buckets. The destination buckets can+ -- be in different Amazon Web Services Regions or within the same Region as+ -- the source bucket.+ --+ -- Set up one or more rollup Regions by providing the Region or Regions+ -- that should contribute to the central rollup Region.+ replicationDestinationRegions :: Prelude.Maybe [Region],+ -- | Replication settings for the Amazon S3 buckets. This parameter uses the+ -- IAM role you created that is managed by Security Lake, to ensure the+ -- replication setting is correct.+ replicationRoleArn :: Prelude.Maybe Prelude.Text,+ -- | Retention settings for the destination Amazon S3 buckets.+ retentionSettings :: Prelude.Maybe [RetentionSetting],+ -- | Amazon Resource Names (ARNs) uniquely identify Amazon Web Services+ -- resources. Security Lake requires an ARN when you need to specify a+ -- resource unambiguously across all of Amazon Web Services, such as in IAM+ -- policies, Amazon Relational Database Service (Amazon RDS) tags, and API+ -- calls.+ s3BucketArn :: Prelude.Maybe Prelude.Text,+ -- | Retrieves the status of the configuration operation for an account in+ -- Amazon Security Lake.+ status :: Prelude.Maybe SettingsStatus,+ -- | A tag is a label that you assign to an Amazon Web Services resource.+ -- Each tag consists of a key and an optional value, both of which you+ -- define.+ tagsMap :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LakeConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'encryptionKey', 'lakeConfigurationResponse_encryptionKey' - The type of encryption key used by secure the Security Lake+-- configuration object.+--+-- 'replicationDestinationRegions', 'lakeConfigurationResponse_replicationDestinationRegions' - Replication enables automatic, asynchronous copying of objects across+-- Amazon S3 buckets. Amazon S3 buckets that are configured for object+-- replication can be owned by the same Amazon Web Services account or by+-- different accounts. You can replicate objects to a single destination+-- bucket or to multiple destination buckets. The destination buckets can+-- be in different Amazon Web Services Regions or within the same Region as+-- the source bucket.+--+-- Set up one or more rollup Regions by providing the Region or Regions+-- that should contribute to the central rollup Region.+--+-- 'replicationRoleArn', 'lakeConfigurationResponse_replicationRoleArn' - Replication settings for the Amazon S3 buckets. This parameter uses the+-- IAM role you created that is managed by Security Lake, to ensure the+-- replication setting is correct.+--+-- 'retentionSettings', 'lakeConfigurationResponse_retentionSettings' - Retention settings for the destination Amazon S3 buckets.+--+-- 's3BucketArn', 'lakeConfigurationResponse_s3BucketArn' - Amazon Resource Names (ARNs) uniquely identify Amazon Web Services+-- resources. Security Lake requires an ARN when you need to specify a+-- resource unambiguously across all of Amazon Web Services, such as in IAM+-- policies, Amazon Relational Database Service (Amazon RDS) tags, and API+-- calls.+--+-- 'status', 'lakeConfigurationResponse_status' - Retrieves the status of the configuration operation for an account in+-- Amazon Security Lake.+--+-- 'tagsMap', 'lakeConfigurationResponse_tagsMap' - A tag is a label that you assign to an Amazon Web Services resource.+-- Each tag consists of a key and an optional value, both of which you+-- define.+newLakeConfigurationResponse ::+ LakeConfigurationResponse+newLakeConfigurationResponse =+ LakeConfigurationResponse'+ { encryptionKey =+ Prelude.Nothing,+ replicationDestinationRegions = Prelude.Nothing,+ replicationRoleArn = Prelude.Nothing,+ retentionSettings = Prelude.Nothing,+ s3BucketArn = Prelude.Nothing,+ status = Prelude.Nothing,+ tagsMap = Prelude.Nothing+ }++-- | The type of encryption key used by secure the Security Lake+-- configuration object.+lakeConfigurationResponse_encryptionKey :: Lens.Lens' LakeConfigurationResponse (Prelude.Maybe Prelude.Text)+lakeConfigurationResponse_encryptionKey = Lens.lens (\LakeConfigurationResponse' {encryptionKey} -> encryptionKey) (\s@LakeConfigurationResponse' {} a -> s {encryptionKey = a} :: LakeConfigurationResponse)++-- | Replication enables automatic, asynchronous copying of objects across+-- Amazon S3 buckets. Amazon S3 buckets that are configured for object+-- replication can be owned by the same Amazon Web Services account or by+-- different accounts. You can replicate objects to a single destination+-- bucket or to multiple destination buckets. The destination buckets can+-- be in different Amazon Web Services Regions or within the same Region as+-- the source bucket.+--+-- Set up one or more rollup Regions by providing the Region or Regions+-- that should contribute to the central rollup Region.+lakeConfigurationResponse_replicationDestinationRegions :: Lens.Lens' LakeConfigurationResponse (Prelude.Maybe [Region])+lakeConfigurationResponse_replicationDestinationRegions = Lens.lens (\LakeConfigurationResponse' {replicationDestinationRegions} -> replicationDestinationRegions) (\s@LakeConfigurationResponse' {} a -> s {replicationDestinationRegions = a} :: LakeConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | Replication settings for the Amazon S3 buckets. This parameter uses the+-- IAM role you created that is managed by Security Lake, to ensure the+-- replication setting is correct.+lakeConfigurationResponse_replicationRoleArn :: Lens.Lens' LakeConfigurationResponse (Prelude.Maybe Prelude.Text)+lakeConfigurationResponse_replicationRoleArn = Lens.lens (\LakeConfigurationResponse' {replicationRoleArn} -> replicationRoleArn) (\s@LakeConfigurationResponse' {} a -> s {replicationRoleArn = a} :: LakeConfigurationResponse)++-- | Retention settings for the destination Amazon S3 buckets.+lakeConfigurationResponse_retentionSettings :: Lens.Lens' LakeConfigurationResponse (Prelude.Maybe [RetentionSetting])+lakeConfigurationResponse_retentionSettings = Lens.lens (\LakeConfigurationResponse' {retentionSettings} -> retentionSettings) (\s@LakeConfigurationResponse' {} a -> s {retentionSettings = a} :: LakeConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | Amazon Resource Names (ARNs) uniquely identify Amazon Web Services+-- resources. Security Lake requires an ARN when you need to specify a+-- resource unambiguously across all of Amazon Web Services, such as in IAM+-- policies, Amazon Relational Database Service (Amazon RDS) tags, and API+-- calls.+lakeConfigurationResponse_s3BucketArn :: Lens.Lens' LakeConfigurationResponse (Prelude.Maybe Prelude.Text)+lakeConfigurationResponse_s3BucketArn = Lens.lens (\LakeConfigurationResponse' {s3BucketArn} -> s3BucketArn) (\s@LakeConfigurationResponse' {} a -> s {s3BucketArn = a} :: LakeConfigurationResponse)++-- | Retrieves the status of the configuration operation for an account in+-- Amazon Security Lake.+lakeConfigurationResponse_status :: Lens.Lens' LakeConfigurationResponse (Prelude.Maybe SettingsStatus)+lakeConfigurationResponse_status = Lens.lens (\LakeConfigurationResponse' {status} -> status) (\s@LakeConfigurationResponse' {} a -> s {status = a} :: LakeConfigurationResponse)++-- | A tag is a label that you assign to an Amazon Web Services resource.+-- Each tag consists of a key and an optional value, both of which you+-- define.+lakeConfigurationResponse_tagsMap :: Lens.Lens' LakeConfigurationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+lakeConfigurationResponse_tagsMap = Lens.lens (\LakeConfigurationResponse' {tagsMap} -> tagsMap) (\s@LakeConfigurationResponse' {} a -> s {tagsMap = a} :: LakeConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LakeConfigurationResponse where+ parseJSON =+ Data.withObject+ "LakeConfigurationResponse"+ ( \x ->+ LakeConfigurationResponse'+ Prelude.<$> (x Data..:? "encryptionKey")+ Prelude.<*> ( x+ Data..:? "replicationDestinationRegions"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "replicationRoleArn")+ Prelude.<*> ( x+ Data..:? "retentionSettings"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "s3BucketArn")+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "tagsMap" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable LakeConfigurationResponse where+ hashWithSalt _salt LakeConfigurationResponse' {..} =+ _salt+ `Prelude.hashWithSalt` encryptionKey+ `Prelude.hashWithSalt` replicationDestinationRegions+ `Prelude.hashWithSalt` replicationRoleArn+ `Prelude.hashWithSalt` retentionSettings+ `Prelude.hashWithSalt` s3BucketArn+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` tagsMap++instance Prelude.NFData LakeConfigurationResponse where+ rnf LakeConfigurationResponse' {..} =+ Prelude.rnf encryptionKey+ `Prelude.seq` Prelude.rnf replicationDestinationRegions+ `Prelude.seq` Prelude.rnf replicationRoleArn+ `Prelude.seq` Prelude.rnf retentionSettings+ `Prelude.seq` Prelude.rnf s3BucketArn+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf tagsMap
+ gen/Amazonka/SecurityLake/Types/LogsStatus.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.LogsStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.LogsStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SecurityLake.Types.SourceStatus++-- | Retrieves the Logs status for the Amazon Security Lake account.+--+-- /See:/ 'newLogsStatus' smart constructor.+data LogsStatus = LogsStatus'+ { -- | The health status of services, including error codes and patterns.+ healthStatus :: SourceStatus,+ -- | Defines path the stored logs are available which has information on your+ -- systems, applications, and services.+ pathToLogs :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LogsStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'healthStatus', 'logsStatus_healthStatus' - The health status of services, including error codes and patterns.+--+-- 'pathToLogs', 'logsStatus_pathToLogs' - Defines path the stored logs are available which has information on your+-- systems, applications, and services.+newLogsStatus ::+ -- | 'healthStatus'+ SourceStatus ->+ -- | 'pathToLogs'+ Prelude.Text ->+ LogsStatus+newLogsStatus pHealthStatus_ pPathToLogs_ =+ LogsStatus'+ { healthStatus = pHealthStatus_,+ pathToLogs = pPathToLogs_+ }++-- | The health status of services, including error codes and patterns.+logsStatus_healthStatus :: Lens.Lens' LogsStatus SourceStatus+logsStatus_healthStatus = Lens.lens (\LogsStatus' {healthStatus} -> healthStatus) (\s@LogsStatus' {} a -> s {healthStatus = a} :: LogsStatus)++-- | Defines path the stored logs are available which has information on your+-- systems, applications, and services.+logsStatus_pathToLogs :: Lens.Lens' LogsStatus Prelude.Text+logsStatus_pathToLogs = Lens.lens (\LogsStatus' {pathToLogs} -> pathToLogs) (\s@LogsStatus' {} a -> s {pathToLogs = a} :: LogsStatus)++instance Data.FromJSON LogsStatus where+ parseJSON =+ Data.withObject+ "LogsStatus"+ ( \x ->+ LogsStatus'+ Prelude.<$> (x Data..: "healthStatus")+ Prelude.<*> (x Data..: "pathToLogs")+ )++instance Prelude.Hashable LogsStatus where+ hashWithSalt _salt LogsStatus' {..} =+ _salt+ `Prelude.hashWithSalt` healthStatus+ `Prelude.hashWithSalt` pathToLogs++instance Prelude.NFData LogsStatus where+ rnf LogsStatus' {..} =+ Prelude.rnf healthStatus+ `Prelude.seq` Prelude.rnf pathToLogs
+ gen/Amazonka/SecurityLake/Types/OcsfEventClass.hs view
@@ -0,0 +1,226 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.OcsfEventClass+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.OcsfEventClass+ ( OcsfEventClass+ ( ..,+ OcsfEventClass_ACCESS_ACTIVITY,+ OcsfEventClass_ACCOUNT_CHANGE,+ OcsfEventClass_AUTHENTICATION,+ OcsfEventClass_AUTHORIZATION,+ OcsfEventClass_CLOUD_API,+ OcsfEventClass_CLOUD_STORAGE,+ OcsfEventClass_CONFIG_STATE,+ OcsfEventClass_CONTAINER_LIFECYCLE,+ OcsfEventClass_DATABASE_LIFECYCLE,+ OcsfEventClass_DHCP_ACTIVITY,+ OcsfEventClass_DNS_ACTIVITY,+ OcsfEventClass_ENTITY_MANAGEMENT_AUDIT,+ OcsfEventClass_FILE_ACTIVITY,+ OcsfEventClass_FTP_ACTIVITY,+ OcsfEventClass_HTTP_ACTIVITY,+ OcsfEventClass_INVENTORY_INFO,+ OcsfEventClass_KERNEL_ACTIVITY,+ OcsfEventClass_KERNEL_EXTENSION,+ OcsfEventClass_MEMORY_ACTIVITY,+ OcsfEventClass_MODULE_ACTIVITY,+ OcsfEventClass_NETWORK_ACTIVITY,+ OcsfEventClass_PROCESS_ACTIVITY,+ OcsfEventClass_RDP_ACTIVITY,+ OcsfEventClass_REGISTRY_KEY_ACTIVITY,+ OcsfEventClass_REGISTRY_VALUE_ACTIVITY,+ OcsfEventClass_RESOURCE_ACTIVITY,+ OcsfEventClass_RFB_ACTIVITY,+ OcsfEventClass_SCHEDULED_JOB_ACTIVITY,+ OcsfEventClass_SECURITY_FINDING,+ OcsfEventClass_SMB_ACTIVITY,+ OcsfEventClass_SMTP_ACTIVITY,+ OcsfEventClass_SSH_ACTIVITY,+ OcsfEventClass_VIRTUAL_MACHINE_ACTIVITY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OcsfEventClass = OcsfEventClass'+ { fromOcsfEventClass ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern OcsfEventClass_ACCESS_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_ACCESS_ACTIVITY = OcsfEventClass' "ACCESS_ACTIVITY"++pattern OcsfEventClass_ACCOUNT_CHANGE :: OcsfEventClass+pattern OcsfEventClass_ACCOUNT_CHANGE = OcsfEventClass' "ACCOUNT_CHANGE"++pattern OcsfEventClass_AUTHENTICATION :: OcsfEventClass+pattern OcsfEventClass_AUTHENTICATION = OcsfEventClass' "AUTHENTICATION"++pattern OcsfEventClass_AUTHORIZATION :: OcsfEventClass+pattern OcsfEventClass_AUTHORIZATION = OcsfEventClass' "AUTHORIZATION"++pattern OcsfEventClass_CLOUD_API :: OcsfEventClass+pattern OcsfEventClass_CLOUD_API = OcsfEventClass' "CLOUD_API"++pattern OcsfEventClass_CLOUD_STORAGE :: OcsfEventClass+pattern OcsfEventClass_CLOUD_STORAGE = OcsfEventClass' "CLOUD_STORAGE"++pattern OcsfEventClass_CONFIG_STATE :: OcsfEventClass+pattern OcsfEventClass_CONFIG_STATE = OcsfEventClass' "CONFIG_STATE"++pattern OcsfEventClass_CONTAINER_LIFECYCLE :: OcsfEventClass+pattern OcsfEventClass_CONTAINER_LIFECYCLE = OcsfEventClass' "CONTAINER_LIFECYCLE"++pattern OcsfEventClass_DATABASE_LIFECYCLE :: OcsfEventClass+pattern OcsfEventClass_DATABASE_LIFECYCLE = OcsfEventClass' "DATABASE_LIFECYCLE"++pattern OcsfEventClass_DHCP_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_DHCP_ACTIVITY = OcsfEventClass' "DHCP_ACTIVITY"++pattern OcsfEventClass_DNS_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_DNS_ACTIVITY = OcsfEventClass' "DNS_ACTIVITY"++pattern OcsfEventClass_ENTITY_MANAGEMENT_AUDIT :: OcsfEventClass+pattern OcsfEventClass_ENTITY_MANAGEMENT_AUDIT = OcsfEventClass' "ENTITY_MANAGEMENT_AUDIT"++pattern OcsfEventClass_FILE_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_FILE_ACTIVITY = OcsfEventClass' "FILE_ACTIVITY"++pattern OcsfEventClass_FTP_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_FTP_ACTIVITY = OcsfEventClass' "FTP_ACTIVITY"++pattern OcsfEventClass_HTTP_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_HTTP_ACTIVITY = OcsfEventClass' "HTTP_ACTIVITY"++pattern OcsfEventClass_INVENTORY_INFO :: OcsfEventClass+pattern OcsfEventClass_INVENTORY_INFO = OcsfEventClass' "INVENTORY_INFO"++pattern OcsfEventClass_KERNEL_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_KERNEL_ACTIVITY = OcsfEventClass' "KERNEL_ACTIVITY"++pattern OcsfEventClass_KERNEL_EXTENSION :: OcsfEventClass+pattern OcsfEventClass_KERNEL_EXTENSION = OcsfEventClass' "KERNEL_EXTENSION"++pattern OcsfEventClass_MEMORY_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_MEMORY_ACTIVITY = OcsfEventClass' "MEMORY_ACTIVITY"++pattern OcsfEventClass_MODULE_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_MODULE_ACTIVITY = OcsfEventClass' "MODULE_ACTIVITY"++pattern OcsfEventClass_NETWORK_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_NETWORK_ACTIVITY = OcsfEventClass' "NETWORK_ACTIVITY"++pattern OcsfEventClass_PROCESS_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_PROCESS_ACTIVITY = OcsfEventClass' "PROCESS_ACTIVITY"++pattern OcsfEventClass_RDP_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_RDP_ACTIVITY = OcsfEventClass' "RDP_ACTIVITY"++pattern OcsfEventClass_REGISTRY_KEY_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_REGISTRY_KEY_ACTIVITY = OcsfEventClass' "REGISTRY_KEY_ACTIVITY"++pattern OcsfEventClass_REGISTRY_VALUE_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_REGISTRY_VALUE_ACTIVITY = OcsfEventClass' "REGISTRY_VALUE_ACTIVITY"++pattern OcsfEventClass_RESOURCE_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_RESOURCE_ACTIVITY = OcsfEventClass' "RESOURCE_ACTIVITY"++pattern OcsfEventClass_RFB_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_RFB_ACTIVITY = OcsfEventClass' "RFB_ACTIVITY"++pattern OcsfEventClass_SCHEDULED_JOB_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_SCHEDULED_JOB_ACTIVITY = OcsfEventClass' "SCHEDULED_JOB_ACTIVITY"++pattern OcsfEventClass_SECURITY_FINDING :: OcsfEventClass+pattern OcsfEventClass_SECURITY_FINDING = OcsfEventClass' "SECURITY_FINDING"++pattern OcsfEventClass_SMB_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_SMB_ACTIVITY = OcsfEventClass' "SMB_ACTIVITY"++pattern OcsfEventClass_SMTP_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_SMTP_ACTIVITY = OcsfEventClass' "SMTP_ACTIVITY"++pattern OcsfEventClass_SSH_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_SSH_ACTIVITY = OcsfEventClass' "SSH_ACTIVITY"++pattern OcsfEventClass_VIRTUAL_MACHINE_ACTIVITY :: OcsfEventClass+pattern OcsfEventClass_VIRTUAL_MACHINE_ACTIVITY = OcsfEventClass' "VIRTUAL_MACHINE_ACTIVITY"++{-# COMPLETE+ OcsfEventClass_ACCESS_ACTIVITY,+ OcsfEventClass_ACCOUNT_CHANGE,+ OcsfEventClass_AUTHENTICATION,+ OcsfEventClass_AUTHORIZATION,+ OcsfEventClass_CLOUD_API,+ OcsfEventClass_CLOUD_STORAGE,+ OcsfEventClass_CONFIG_STATE,+ OcsfEventClass_CONTAINER_LIFECYCLE,+ OcsfEventClass_DATABASE_LIFECYCLE,+ OcsfEventClass_DHCP_ACTIVITY,+ OcsfEventClass_DNS_ACTIVITY,+ OcsfEventClass_ENTITY_MANAGEMENT_AUDIT,+ OcsfEventClass_FILE_ACTIVITY,+ OcsfEventClass_FTP_ACTIVITY,+ OcsfEventClass_HTTP_ACTIVITY,+ OcsfEventClass_INVENTORY_INFO,+ OcsfEventClass_KERNEL_ACTIVITY,+ OcsfEventClass_KERNEL_EXTENSION,+ OcsfEventClass_MEMORY_ACTIVITY,+ OcsfEventClass_MODULE_ACTIVITY,+ OcsfEventClass_NETWORK_ACTIVITY,+ OcsfEventClass_PROCESS_ACTIVITY,+ OcsfEventClass_RDP_ACTIVITY,+ OcsfEventClass_REGISTRY_KEY_ACTIVITY,+ OcsfEventClass_REGISTRY_VALUE_ACTIVITY,+ OcsfEventClass_RESOURCE_ACTIVITY,+ OcsfEventClass_RFB_ACTIVITY,+ OcsfEventClass_SCHEDULED_JOB_ACTIVITY,+ OcsfEventClass_SECURITY_FINDING,+ OcsfEventClass_SMB_ACTIVITY,+ OcsfEventClass_SMTP_ACTIVITY,+ OcsfEventClass_SSH_ACTIVITY,+ OcsfEventClass_VIRTUAL_MACHINE_ACTIVITY,+ OcsfEventClass'+ #-}
+ gen/Amazonka/SecurityLake/Types/ProtocolAndNotificationEndpoint.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.ProtocolAndNotificationEndpoint+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.ProtocolAndNotificationEndpoint where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Protocol used in Amazon Security Lake that dictates how notifications+-- are posted at the endpoint.+--+-- /See:/ 'newProtocolAndNotificationEndpoint' smart constructor.+data ProtocolAndNotificationEndpoint = ProtocolAndNotificationEndpoint'+ { -- | The account that is subscribed to receive exception notifications.+ endpoint :: Prelude.Maybe Prelude.Text,+ -- | The protocol to which notification messages are posted.+ protocol :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProtocolAndNotificationEndpoint' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endpoint', 'protocolAndNotificationEndpoint_endpoint' - The account that is subscribed to receive exception notifications.+--+-- 'protocol', 'protocolAndNotificationEndpoint_protocol' - The protocol to which notification messages are posted.+newProtocolAndNotificationEndpoint ::+ ProtocolAndNotificationEndpoint+newProtocolAndNotificationEndpoint =+ ProtocolAndNotificationEndpoint'+ { endpoint =+ Prelude.Nothing,+ protocol = Prelude.Nothing+ }++-- | The account that is subscribed to receive exception notifications.+protocolAndNotificationEndpoint_endpoint :: Lens.Lens' ProtocolAndNotificationEndpoint (Prelude.Maybe Prelude.Text)+protocolAndNotificationEndpoint_endpoint = Lens.lens (\ProtocolAndNotificationEndpoint' {endpoint} -> endpoint) (\s@ProtocolAndNotificationEndpoint' {} a -> s {endpoint = a} :: ProtocolAndNotificationEndpoint)++-- | The protocol to which notification messages are posted.+protocolAndNotificationEndpoint_protocol :: Lens.Lens' ProtocolAndNotificationEndpoint (Prelude.Maybe Prelude.Text)+protocolAndNotificationEndpoint_protocol = Lens.lens (\ProtocolAndNotificationEndpoint' {protocol} -> protocol) (\s@ProtocolAndNotificationEndpoint' {} a -> s {protocol = a} :: ProtocolAndNotificationEndpoint)++instance+ Data.FromJSON+ ProtocolAndNotificationEndpoint+ where+ parseJSON =+ Data.withObject+ "ProtocolAndNotificationEndpoint"+ ( \x ->+ ProtocolAndNotificationEndpoint'+ Prelude.<$> (x Data..:? "endpoint")+ Prelude.<*> (x Data..:? "protocol")+ )++instance+ Prelude.Hashable+ ProtocolAndNotificationEndpoint+ where+ hashWithSalt+ _salt+ ProtocolAndNotificationEndpoint' {..} =+ _salt+ `Prelude.hashWithSalt` endpoint+ `Prelude.hashWithSalt` protocol++instance+ Prelude.NFData+ ProtocolAndNotificationEndpoint+ where+ rnf ProtocolAndNotificationEndpoint' {..} =+ Prelude.rnf endpoint+ `Prelude.seq` Prelude.rnf protocol
+ gen/Amazonka/SecurityLake/Types/Region.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.Region+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.Region+ ( Region+ ( ..,+ Region_Ap_northeast_1,+ Region_Ap_southeast_2,+ Region_Eu_central_1,+ Region_Eu_west_1,+ Region_Us_east_1,+ Region_Us_east_2,+ Region_Us_west_2+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Region = Region' {fromRegion :: Data.Text}+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern Region_Ap_northeast_1 :: Region+pattern Region_Ap_northeast_1 = Region' "ap-northeast-1"++pattern Region_Ap_southeast_2 :: Region+pattern Region_Ap_southeast_2 = Region' "ap-southeast-2"++pattern Region_Eu_central_1 :: Region+pattern Region_Eu_central_1 = Region' "eu-central-1"++pattern Region_Eu_west_1 :: Region+pattern Region_Eu_west_1 = Region' "eu-west-1"++pattern Region_Us_east_1 :: Region+pattern Region_Us_east_1 = Region' "us-east-1"++pattern Region_Us_east_2 :: Region+pattern Region_Us_east_2 = Region' "us-east-2"++pattern Region_Us_west_2 :: Region+pattern Region_Us_west_2 = Region' "us-west-2"++{-# COMPLETE+ Region_Ap_northeast_1,+ Region_Ap_southeast_2,+ Region_Eu_central_1,+ Region_Eu_west_1,+ Region_Us_east_1,+ Region_Us_east_2,+ Region_Us_west_2,+ Region'+ #-}
+ gen/Amazonka/SecurityLake/Types/RetentionSetting.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.RetentionSetting+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.RetentionSetting where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SecurityLake.Types.StorageClass++-- | Retention settings for the destination Amazon S3 buckets in Amazon+-- Security Lake.+--+-- /See:/ 'newRetentionSetting' smart constructor.+data RetentionSetting = RetentionSetting'+ { -- | The retention period specifies a fixed period of time during which the+ -- Security Lake object remains locked. You can specify the retention+ -- period in days for one or more sources.+ retentionPeriod :: Prelude.Maybe Prelude.Natural,+ -- | The range of storage classes that you can choose from based on the data+ -- access, resiliency, and cost requirements of your workloads.+ storageClass :: Prelude.Maybe StorageClass+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RetentionSetting' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'retentionPeriod', 'retentionSetting_retentionPeriod' - The retention period specifies a fixed period of time during which the+-- Security Lake object remains locked. You can specify the retention+-- period in days for one or more sources.+--+-- 'storageClass', 'retentionSetting_storageClass' - The range of storage classes that you can choose from based on the data+-- access, resiliency, and cost requirements of your workloads.+newRetentionSetting ::+ RetentionSetting+newRetentionSetting =+ RetentionSetting'+ { retentionPeriod =+ Prelude.Nothing,+ storageClass = Prelude.Nothing+ }++-- | The retention period specifies a fixed period of time during which the+-- Security Lake object remains locked. You can specify the retention+-- period in days for one or more sources.+retentionSetting_retentionPeriod :: Lens.Lens' RetentionSetting (Prelude.Maybe Prelude.Natural)+retentionSetting_retentionPeriod = Lens.lens (\RetentionSetting' {retentionPeriod} -> retentionPeriod) (\s@RetentionSetting' {} a -> s {retentionPeriod = a} :: RetentionSetting)++-- | The range of storage classes that you can choose from based on the data+-- access, resiliency, and cost requirements of your workloads.+retentionSetting_storageClass :: Lens.Lens' RetentionSetting (Prelude.Maybe StorageClass)+retentionSetting_storageClass = Lens.lens (\RetentionSetting' {storageClass} -> storageClass) (\s@RetentionSetting' {} a -> s {storageClass = a} :: RetentionSetting)++instance Data.FromJSON RetentionSetting where+ parseJSON =+ Data.withObject+ "RetentionSetting"+ ( \x ->+ RetentionSetting'+ Prelude.<$> (x Data..:? "retentionPeriod")+ Prelude.<*> (x Data..:? "storageClass")+ )++instance Prelude.Hashable RetentionSetting where+ hashWithSalt _salt RetentionSetting' {..} =+ _salt+ `Prelude.hashWithSalt` retentionPeriod+ `Prelude.hashWithSalt` storageClass++instance Prelude.NFData RetentionSetting where+ rnf RetentionSetting' {..} =+ Prelude.rnf retentionPeriod+ `Prelude.seq` Prelude.rnf storageClass++instance Data.ToJSON RetentionSetting where+ toJSON RetentionSetting' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("retentionPeriod" Data..=)+ Prelude.<$> retentionPeriod,+ ("storageClass" Data..=) Prelude.<$> storageClass+ ]+ )
+ gen/Amazonka/SecurityLake/Types/SettingsStatus.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.SettingsStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.SettingsStatus+ ( SettingsStatus+ ( ..,+ SettingsStatus_COMPLETED,+ SettingsStatus_FAILED,+ SettingsStatus_INITIALIZED,+ SettingsStatus_PENDING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SettingsStatus = SettingsStatus'+ { fromSettingsStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern SettingsStatus_COMPLETED :: SettingsStatus+pattern SettingsStatus_COMPLETED = SettingsStatus' "COMPLETED"++pattern SettingsStatus_FAILED :: SettingsStatus+pattern SettingsStatus_FAILED = SettingsStatus' "FAILED"++pattern SettingsStatus_INITIALIZED :: SettingsStatus+pattern SettingsStatus_INITIALIZED = SettingsStatus' "INITIALIZED"++pattern SettingsStatus_PENDING :: SettingsStatus+pattern SettingsStatus_PENDING = SettingsStatus' "PENDING"++{-# COMPLETE+ SettingsStatus_COMPLETED,+ SettingsStatus_FAILED,+ SettingsStatus_INITIALIZED,+ SettingsStatus_PENDING,+ SettingsStatus'+ #-}
+ gen/Amazonka/SecurityLake/Types/SourceStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.SourceStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.SourceStatus+ ( SourceStatus+ ( ..,+ SourceStatus_ACTIVE,+ SourceStatus_DEACTIVATED,+ SourceStatus_PENDING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SourceStatus = SourceStatus'+ { fromSourceStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern SourceStatus_ACTIVE :: SourceStatus+pattern SourceStatus_ACTIVE = SourceStatus' "ACTIVE"++pattern SourceStatus_DEACTIVATED :: SourceStatus+pattern SourceStatus_DEACTIVATED = SourceStatus' "DEACTIVATED"++pattern SourceStatus_PENDING :: SourceStatus+pattern SourceStatus_PENDING = SourceStatus' "PENDING"++{-# COMPLETE+ SourceStatus_ACTIVE,+ SourceStatus_DEACTIVATED,+ SourceStatus_PENDING,+ SourceStatus'+ #-}
+ gen/Amazonka/SecurityLake/Types/SourceType.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.SourceType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.SourceType where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SecurityLake.Types.AwsLogSourceType++-- | The supported source types from which logs and events are collected in+-- Amazon Security Lake. For the list of supported Amazon Web Services, see+-- the+-- <https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html Amazon Security Lake User Guide>.+--+-- /See:/ 'newSourceType' smart constructor.+data SourceType = SourceType'+ { -- | Amazon Security Lake supports log and event collection for natively+ -- supported Amazon Web Services.+ awsSourceType :: Prelude.Maybe AwsLogSourceType,+ -- | Amazon Security Lake supports custom source types. For a detailed list,+ -- see the Amazon Security Lake User Guide.+ customSourceType :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceType' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'awsSourceType', 'sourceType_awsSourceType' - Amazon Security Lake supports log and event collection for natively+-- supported Amazon Web Services.+--+-- 'customSourceType', 'sourceType_customSourceType' - Amazon Security Lake supports custom source types. For a detailed list,+-- see the Amazon Security Lake User Guide.+newSourceType ::+ SourceType+newSourceType =+ SourceType'+ { awsSourceType = Prelude.Nothing,+ customSourceType = Prelude.Nothing+ }++-- | Amazon Security Lake supports log and event collection for natively+-- supported Amazon Web Services.+sourceType_awsSourceType :: Lens.Lens' SourceType (Prelude.Maybe AwsLogSourceType)+sourceType_awsSourceType = Lens.lens (\SourceType' {awsSourceType} -> awsSourceType) (\s@SourceType' {} a -> s {awsSourceType = a} :: SourceType)++-- | Amazon Security Lake supports custom source types. For a detailed list,+-- see the Amazon Security Lake User Guide.+sourceType_customSourceType :: Lens.Lens' SourceType (Prelude.Maybe Prelude.Text)+sourceType_customSourceType = Lens.lens (\SourceType' {customSourceType} -> customSourceType) (\s@SourceType' {} a -> s {customSourceType = a} :: SourceType)++instance Data.FromJSON SourceType where+ parseJSON =+ Data.withObject+ "SourceType"+ ( \x ->+ SourceType'+ Prelude.<$> (x Data..:? "awsSourceType")+ Prelude.<*> (x Data..:? "customSourceType")+ )++instance Prelude.Hashable SourceType where+ hashWithSalt _salt SourceType' {..} =+ _salt+ `Prelude.hashWithSalt` awsSourceType+ `Prelude.hashWithSalt` customSourceType++instance Prelude.NFData SourceType where+ rnf SourceType' {..} =+ Prelude.rnf awsSourceType+ `Prelude.seq` Prelude.rnf customSourceType++instance Data.ToJSON SourceType where+ toJSON SourceType' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("awsSourceType" Data..=) Prelude.<$> awsSourceType,+ ("customSourceType" Data..=)+ Prelude.<$> customSourceType+ ]+ )
+ gen/Amazonka/SecurityLake/Types/StorageClass.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.StorageClass+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.StorageClass+ ( StorageClass+ ( ..,+ StorageClass_DEEP_ARCHIVE,+ StorageClass_EXPIRE,+ StorageClass_GLACIER,+ StorageClass_GLACIER_IR,+ StorageClass_INTELLIGENT_TIERING,+ StorageClass_ONEZONE_IA,+ StorageClass_STANDARD_IA+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StorageClass = StorageClass'+ { fromStorageClass ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern StorageClass_DEEP_ARCHIVE :: StorageClass+pattern StorageClass_DEEP_ARCHIVE = StorageClass' "DEEP_ARCHIVE"++pattern StorageClass_EXPIRE :: StorageClass+pattern StorageClass_EXPIRE = StorageClass' "EXPIRE"++pattern StorageClass_GLACIER :: StorageClass+pattern StorageClass_GLACIER = StorageClass' "GLACIER"++pattern StorageClass_GLACIER_IR :: StorageClass+pattern StorageClass_GLACIER_IR = StorageClass' "GLACIER_IR"++pattern StorageClass_INTELLIGENT_TIERING :: StorageClass+pattern StorageClass_INTELLIGENT_TIERING = StorageClass' "INTELLIGENT_TIERING"++pattern StorageClass_ONEZONE_IA :: StorageClass+pattern StorageClass_ONEZONE_IA = StorageClass' "ONEZONE_IA"++pattern StorageClass_STANDARD_IA :: StorageClass+pattern StorageClass_STANDARD_IA = StorageClass' "STANDARD_IA"++{-# COMPLETE+ StorageClass_DEEP_ARCHIVE,+ StorageClass_EXPIRE,+ StorageClass_GLACIER,+ StorageClass_GLACIER_IR,+ StorageClass_INTELLIGENT_TIERING,+ StorageClass_ONEZONE_IA,+ StorageClass_STANDARD_IA,+ StorageClass'+ #-}
+ gen/Amazonka/SecurityLake/Types/SubscriberResource.hs view
@@ -0,0 +1,292 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.SubscriberResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.SubscriberResource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SecurityLake.Types.AccessType+import Amazonka.SecurityLake.Types.EndpointProtocol+import Amazonka.SecurityLake.Types.SourceType+import Amazonka.SecurityLake.Types.SubscriptionStatus++-- | Provides details about the Amazon Security Lake account subscription.+-- Subscribers are notified of new objects for a source as the data is+-- written to your Amazon S3 bucket for Security Lake.+--+-- /See:/ 'newSubscriberResource' smart constructor.+data SubscriberResource = SubscriberResource'+ { -- | You can choose to notify subscribers of new objects with an Amazon+ -- Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS+ -- endpoint provided by the subscriber.+ --+ -- Subscribers can consume data by directly querying Lake Formation tables+ -- in your Amazon S3 bucket through services like Amazon Athena. This+ -- subscription type is defined as @LAKEFORMATION@.+ accessTypes :: Prelude.Maybe [AccessType],+ -- | The date and time when the subscription was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The external ID of the subscriber. The external ID lets the user that is+ -- assuming the role assert the circumstances in which they are operating.+ -- It also provides a way for the account owner to permit the role to be+ -- assumed only under specific circumstances.+ externalId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) specifying the role of the subscriber.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The ARN for the Amazon S3 bucket.+ s3BucketArn :: Prelude.Maybe Prelude.Text,+ -- | The ARN for the Amazon Simple Notification Service.+ snsArn :: Prelude.Maybe Prelude.Text,+ -- | The subscriber descriptions for a subscriber account. The description+ -- for a subscriber includes @subscriberName@, @accountID@, @externalID@,+ -- and @subscriptionId@.+ subscriberDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of your Amazon Security Lake subscriber account.+ subscriberName :: Prelude.Maybe Prelude.Text,+ -- | The subscription endpoint to which exception messages are posted.+ subscriptionEndpoint :: Prelude.Maybe Prelude.Text,+ -- | The subscription protocol to which exception messages are posted.+ subscriptionProtocol :: Prelude.Maybe EndpointProtocol,+ -- | The subscription status of the Amazon Security Lake subscriber account.+ subscriptionStatus :: Prelude.Maybe SubscriptionStatus,+ -- | The date and time when the subscription was created.+ updatedAt :: Prelude.Maybe Data.ISO8601,+ -- | The Amazon Web Services account ID you are using to create your Amazon+ -- Security Lake account.+ accountId :: Prelude.Text,+ -- | Amazon Security Lake supports log and event collection for natively+ -- supported Amazon Web Services. For more information, see the Amazon+ -- Security Lake User Guide.+ sourceTypes :: [SourceType],+ -- | The subscription ID of the Amazon Security Lake subscriber account.+ subscriptionId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SubscriberResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessTypes', 'subscriberResource_accessTypes' - You can choose to notify subscribers of new objects with an Amazon+-- Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS+-- endpoint provided by the subscriber.+--+-- Subscribers can consume data by directly querying Lake Formation tables+-- in your Amazon S3 bucket through services like Amazon Athena. This+-- subscription type is defined as @LAKEFORMATION@.+--+-- 'createdAt', 'subscriberResource_createdAt' - The date and time when the subscription was created.+--+-- 'externalId', 'subscriberResource_externalId' - The external ID of the subscriber. The external ID lets the user that is+-- assuming the role assert the circumstances in which they are operating.+-- It also provides a way for the account owner to permit the role to be+-- assumed only under specific circumstances.+--+-- 'roleArn', 'subscriberResource_roleArn' - The Amazon Resource Name (ARN) specifying the role of the subscriber.+--+-- 's3BucketArn', 'subscriberResource_s3BucketArn' - The ARN for the Amazon S3 bucket.+--+-- 'snsArn', 'subscriberResource_snsArn' - The ARN for the Amazon Simple Notification Service.+--+-- 'subscriberDescription', 'subscriberResource_subscriberDescription' - The subscriber descriptions for a subscriber account. The description+-- for a subscriber includes @subscriberName@, @accountID@, @externalID@,+-- and @subscriptionId@.+--+-- 'subscriberName', 'subscriberResource_subscriberName' - The name of your Amazon Security Lake subscriber account.+--+-- 'subscriptionEndpoint', 'subscriberResource_subscriptionEndpoint' - The subscription endpoint to which exception messages are posted.+--+-- 'subscriptionProtocol', 'subscriberResource_subscriptionProtocol' - The subscription protocol to which exception messages are posted.+--+-- 'subscriptionStatus', 'subscriberResource_subscriptionStatus' - The subscription status of the Amazon Security Lake subscriber account.+--+-- 'updatedAt', 'subscriberResource_updatedAt' - The date and time when the subscription was created.+--+-- 'accountId', 'subscriberResource_accountId' - The Amazon Web Services account ID you are using to create your Amazon+-- Security Lake account.+--+-- 'sourceTypes', 'subscriberResource_sourceTypes' - Amazon Security Lake supports log and event collection for natively+-- supported Amazon Web Services. For more information, see the Amazon+-- Security Lake User Guide.+--+-- 'subscriptionId', 'subscriberResource_subscriptionId' - The subscription ID of the Amazon Security Lake subscriber account.+newSubscriberResource ::+ -- | 'accountId'+ Prelude.Text ->+ -- | 'subscriptionId'+ Prelude.Text ->+ SubscriberResource+newSubscriberResource pAccountId_ pSubscriptionId_ =+ SubscriberResource'+ { accessTypes = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ externalId = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ s3BucketArn = Prelude.Nothing,+ snsArn = Prelude.Nothing,+ subscriberDescription = Prelude.Nothing,+ subscriberName = Prelude.Nothing,+ subscriptionEndpoint = Prelude.Nothing,+ subscriptionProtocol = Prelude.Nothing,+ subscriptionStatus = Prelude.Nothing,+ updatedAt = Prelude.Nothing,+ accountId = pAccountId_,+ sourceTypes = Prelude.mempty,+ subscriptionId = pSubscriptionId_+ }++-- | You can choose to notify subscribers of new objects with an Amazon+-- Simple Queue Service (Amazon SQS) queue or through messaging to an HTTPS+-- endpoint provided by the subscriber.+--+-- Subscribers can consume data by directly querying Lake Formation tables+-- in your Amazon S3 bucket through services like Amazon Athena. This+-- subscription type is defined as @LAKEFORMATION@.+subscriberResource_accessTypes :: Lens.Lens' SubscriberResource (Prelude.Maybe [AccessType])+subscriberResource_accessTypes = Lens.lens (\SubscriberResource' {accessTypes} -> accessTypes) (\s@SubscriberResource' {} a -> s {accessTypes = a} :: SubscriberResource) Prelude.. Lens.mapping Lens.coerced++-- | The date and time when the subscription was created.+subscriberResource_createdAt :: Lens.Lens' SubscriberResource (Prelude.Maybe Prelude.UTCTime)+subscriberResource_createdAt = Lens.lens (\SubscriberResource' {createdAt} -> createdAt) (\s@SubscriberResource' {} a -> s {createdAt = a} :: SubscriberResource) Prelude.. Lens.mapping Data._Time++-- | The external ID of the subscriber. The external ID lets the user that is+-- assuming the role assert the circumstances in which they are operating.+-- It also provides a way for the account owner to permit the role to be+-- assumed only under specific circumstances.+subscriberResource_externalId :: Lens.Lens' SubscriberResource (Prelude.Maybe Prelude.Text)+subscriberResource_externalId = Lens.lens (\SubscriberResource' {externalId} -> externalId) (\s@SubscriberResource' {} a -> s {externalId = a} :: SubscriberResource)++-- | The Amazon Resource Name (ARN) specifying the role of the subscriber.+subscriberResource_roleArn :: Lens.Lens' SubscriberResource (Prelude.Maybe Prelude.Text)+subscriberResource_roleArn = Lens.lens (\SubscriberResource' {roleArn} -> roleArn) (\s@SubscriberResource' {} a -> s {roleArn = a} :: SubscriberResource)++-- | The ARN for the Amazon S3 bucket.+subscriberResource_s3BucketArn :: Lens.Lens' SubscriberResource (Prelude.Maybe Prelude.Text)+subscriberResource_s3BucketArn = Lens.lens (\SubscriberResource' {s3BucketArn} -> s3BucketArn) (\s@SubscriberResource' {} a -> s {s3BucketArn = a} :: SubscriberResource)++-- | The ARN for the Amazon Simple Notification Service.+subscriberResource_snsArn :: Lens.Lens' SubscriberResource (Prelude.Maybe Prelude.Text)+subscriberResource_snsArn = Lens.lens (\SubscriberResource' {snsArn} -> snsArn) (\s@SubscriberResource' {} a -> s {snsArn = a} :: SubscriberResource)++-- | The subscriber descriptions for a subscriber account. The description+-- for a subscriber includes @subscriberName@, @accountID@, @externalID@,+-- and @subscriptionId@.+subscriberResource_subscriberDescription :: Lens.Lens' SubscriberResource (Prelude.Maybe Prelude.Text)+subscriberResource_subscriberDescription = Lens.lens (\SubscriberResource' {subscriberDescription} -> subscriberDescription) (\s@SubscriberResource' {} a -> s {subscriberDescription = a} :: SubscriberResource)++-- | The name of your Amazon Security Lake subscriber account.+subscriberResource_subscriberName :: Lens.Lens' SubscriberResource (Prelude.Maybe Prelude.Text)+subscriberResource_subscriberName = Lens.lens (\SubscriberResource' {subscriberName} -> subscriberName) (\s@SubscriberResource' {} a -> s {subscriberName = a} :: SubscriberResource)++-- | The subscription endpoint to which exception messages are posted.+subscriberResource_subscriptionEndpoint :: Lens.Lens' SubscriberResource (Prelude.Maybe Prelude.Text)+subscriberResource_subscriptionEndpoint = Lens.lens (\SubscriberResource' {subscriptionEndpoint} -> subscriptionEndpoint) (\s@SubscriberResource' {} a -> s {subscriptionEndpoint = a} :: SubscriberResource)++-- | The subscription protocol to which exception messages are posted.+subscriberResource_subscriptionProtocol :: Lens.Lens' SubscriberResource (Prelude.Maybe EndpointProtocol)+subscriberResource_subscriptionProtocol = Lens.lens (\SubscriberResource' {subscriptionProtocol} -> subscriptionProtocol) (\s@SubscriberResource' {} a -> s {subscriptionProtocol = a} :: SubscriberResource)++-- | The subscription status of the Amazon Security Lake subscriber account.+subscriberResource_subscriptionStatus :: Lens.Lens' SubscriberResource (Prelude.Maybe SubscriptionStatus)+subscriberResource_subscriptionStatus = Lens.lens (\SubscriberResource' {subscriptionStatus} -> subscriptionStatus) (\s@SubscriberResource' {} a -> s {subscriptionStatus = a} :: SubscriberResource)++-- | The date and time when the subscription was created.+subscriberResource_updatedAt :: Lens.Lens' SubscriberResource (Prelude.Maybe Prelude.UTCTime)+subscriberResource_updatedAt = Lens.lens (\SubscriberResource' {updatedAt} -> updatedAt) (\s@SubscriberResource' {} a -> s {updatedAt = a} :: SubscriberResource) Prelude.. Lens.mapping Data._Time++-- | The Amazon Web Services account ID you are using to create your Amazon+-- Security Lake account.+subscriberResource_accountId :: Lens.Lens' SubscriberResource Prelude.Text+subscriberResource_accountId = Lens.lens (\SubscriberResource' {accountId} -> accountId) (\s@SubscriberResource' {} a -> s {accountId = a} :: SubscriberResource)++-- | Amazon Security Lake supports log and event collection for natively+-- supported Amazon Web Services. For more information, see the Amazon+-- Security Lake User Guide.+subscriberResource_sourceTypes :: Lens.Lens' SubscriberResource [SourceType]+subscriberResource_sourceTypes = Lens.lens (\SubscriberResource' {sourceTypes} -> sourceTypes) (\s@SubscriberResource' {} a -> s {sourceTypes = a} :: SubscriberResource) Prelude.. Lens.coerced++-- | The subscription ID of the Amazon Security Lake subscriber account.+subscriberResource_subscriptionId :: Lens.Lens' SubscriberResource Prelude.Text+subscriberResource_subscriptionId = Lens.lens (\SubscriberResource' {subscriptionId} -> subscriptionId) (\s@SubscriberResource' {} a -> s {subscriptionId = a} :: SubscriberResource)++instance Data.FromJSON SubscriberResource where+ parseJSON =+ Data.withObject+ "SubscriberResource"+ ( \x ->+ SubscriberResource'+ Prelude.<$> (x Data..:? "accessTypes" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "externalId")+ Prelude.<*> (x Data..:? "roleArn")+ Prelude.<*> (x Data..:? "s3BucketArn")+ Prelude.<*> (x Data..:? "snsArn")+ Prelude.<*> (x Data..:? "subscriberDescription")+ Prelude.<*> (x Data..:? "subscriberName")+ Prelude.<*> (x Data..:? "subscriptionEndpoint")+ Prelude.<*> (x Data..:? "subscriptionProtocol")+ Prelude.<*> (x Data..:? "subscriptionStatus")+ Prelude.<*> (x Data..:? "updatedAt")+ Prelude.<*> (x Data..: "accountId")+ Prelude.<*> (x Data..:? "sourceTypes" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "subscriptionId")+ )++instance Prelude.Hashable SubscriberResource where+ hashWithSalt _salt SubscriberResource' {..} =+ _salt+ `Prelude.hashWithSalt` accessTypes+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` externalId+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` s3BucketArn+ `Prelude.hashWithSalt` snsArn+ `Prelude.hashWithSalt` subscriberDescription+ `Prelude.hashWithSalt` subscriberName+ `Prelude.hashWithSalt` subscriptionEndpoint+ `Prelude.hashWithSalt` subscriptionProtocol+ `Prelude.hashWithSalt` subscriptionStatus+ `Prelude.hashWithSalt` updatedAt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` sourceTypes+ `Prelude.hashWithSalt` subscriptionId++instance Prelude.NFData SubscriberResource where+ rnf SubscriberResource' {..} =+ Prelude.rnf accessTypes+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf externalId+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf s3BucketArn+ `Prelude.seq` Prelude.rnf snsArn+ `Prelude.seq` Prelude.rnf subscriberDescription+ `Prelude.seq` Prelude.rnf subscriberName+ `Prelude.seq` Prelude.rnf subscriptionEndpoint+ `Prelude.seq` Prelude.rnf subscriptionProtocol+ `Prelude.seq` Prelude.rnf subscriptionStatus+ `Prelude.seq` Prelude.rnf updatedAt+ `Prelude.seq` Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf sourceTypes+ `Prelude.seq` Prelude.rnf subscriptionId
+ gen/Amazonka/SecurityLake/Types/SubscriptionProtocolType.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.SubscriptionProtocolType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.SubscriptionProtocolType+ ( SubscriptionProtocolType+ ( ..,+ SubscriptionProtocolType_APP,+ SubscriptionProtocolType_EMAIL,+ SubscriptionProtocolType_EMAIL_JSON,+ SubscriptionProtocolType_FIREHOSE,+ SubscriptionProtocolType_HTTP,+ SubscriptionProtocolType_HTTPS,+ SubscriptionProtocolType_LAMBDA,+ SubscriptionProtocolType_SMS,+ SubscriptionProtocolType_SQS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SubscriptionProtocolType = SubscriptionProtocolType'+ { fromSubscriptionProtocolType ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern SubscriptionProtocolType_APP :: SubscriptionProtocolType+pattern SubscriptionProtocolType_APP = SubscriptionProtocolType' "APP"++pattern SubscriptionProtocolType_EMAIL :: SubscriptionProtocolType+pattern SubscriptionProtocolType_EMAIL = SubscriptionProtocolType' "EMAIL"++pattern SubscriptionProtocolType_EMAIL_JSON :: SubscriptionProtocolType+pattern SubscriptionProtocolType_EMAIL_JSON = SubscriptionProtocolType' "EMAIL_JSON"++pattern SubscriptionProtocolType_FIREHOSE :: SubscriptionProtocolType+pattern SubscriptionProtocolType_FIREHOSE = SubscriptionProtocolType' "FIREHOSE"++pattern SubscriptionProtocolType_HTTP :: SubscriptionProtocolType+pattern SubscriptionProtocolType_HTTP = SubscriptionProtocolType' "HTTP"++pattern SubscriptionProtocolType_HTTPS :: SubscriptionProtocolType+pattern SubscriptionProtocolType_HTTPS = SubscriptionProtocolType' "HTTPS"++pattern SubscriptionProtocolType_LAMBDA :: SubscriptionProtocolType+pattern SubscriptionProtocolType_LAMBDA = SubscriptionProtocolType' "LAMBDA"++pattern SubscriptionProtocolType_SMS :: SubscriptionProtocolType+pattern SubscriptionProtocolType_SMS = SubscriptionProtocolType' "SMS"++pattern SubscriptionProtocolType_SQS :: SubscriptionProtocolType+pattern SubscriptionProtocolType_SQS = SubscriptionProtocolType' "SQS"++{-# COMPLETE+ SubscriptionProtocolType_APP,+ SubscriptionProtocolType_EMAIL,+ SubscriptionProtocolType_EMAIL_JSON,+ SubscriptionProtocolType_FIREHOSE,+ SubscriptionProtocolType_HTTP,+ SubscriptionProtocolType_HTTPS,+ SubscriptionProtocolType_LAMBDA,+ SubscriptionProtocolType_SMS,+ SubscriptionProtocolType_SQS,+ SubscriptionProtocolType'+ #-}
+ gen/Amazonka/SecurityLake/Types/SubscriptionStatus.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Types.SubscriptionStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Types.SubscriptionStatus+ ( SubscriptionStatus+ ( ..,+ SubscriptionStatus_ACTIVE,+ SubscriptionStatus_DEACTIVATED,+ SubscriptionStatus_PENDING,+ SubscriptionStatus_READY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SubscriptionStatus = SubscriptionStatus'+ { fromSubscriptionStatus ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern SubscriptionStatus_ACTIVE :: SubscriptionStatus+pattern SubscriptionStatus_ACTIVE = SubscriptionStatus' "ACTIVE"++pattern SubscriptionStatus_DEACTIVATED :: SubscriptionStatus+pattern SubscriptionStatus_DEACTIVATED = SubscriptionStatus' "DEACTIVATED"++pattern SubscriptionStatus_PENDING :: SubscriptionStatus+pattern SubscriptionStatus_PENDING = SubscriptionStatus' "PENDING"++pattern SubscriptionStatus_READY :: SubscriptionStatus+pattern SubscriptionStatus_READY = SubscriptionStatus' "READY"++{-# COMPLETE+ SubscriptionStatus_ACTIVE,+ SubscriptionStatus_DEACTIVATED,+ SubscriptionStatus_PENDING,+ SubscriptionStatus_READY,+ SubscriptionStatus'+ #-}
+ gen/Amazonka/SecurityLake/UpdateDatalake.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.UpdateDatalake+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Specifies where to store your security data and for how long. You can+-- add a rollup Region to consolidate data from multiple Amazon Web+-- Services Regions.+module Amazonka.SecurityLake.UpdateDatalake+ ( -- * Creating a Request+ UpdateDatalake (..),+ newUpdateDatalake,++ -- * Request Lenses+ updateDatalake_configurations,++ -- * Destructuring the Response+ UpdateDatalakeResponse (..),+ newUpdateDatalakeResponse,++ -- * Response Lenses+ updateDatalakeResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newUpdateDatalake' smart constructor.+data UpdateDatalake = UpdateDatalake'+ { -- | Specify the Region or Regions that will contribute data to the rollup+ -- region.+ configurations :: Prelude.HashMap Region LakeConfigurationRequest+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDatalake' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configurations', 'updateDatalake_configurations' - Specify the Region or Regions that will contribute data to the rollup+-- region.+newUpdateDatalake ::+ UpdateDatalake+newUpdateDatalake =+ UpdateDatalake' {configurations = Prelude.mempty}++-- | Specify the Region or Regions that will contribute data to the rollup+-- region.+updateDatalake_configurations :: Lens.Lens' UpdateDatalake (Prelude.HashMap Region LakeConfigurationRequest)+updateDatalake_configurations = Lens.lens (\UpdateDatalake' {configurations} -> configurations) (\s@UpdateDatalake' {} a -> s {configurations = a} :: UpdateDatalake) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateDatalake where+ type+ AWSResponse UpdateDatalake =+ UpdateDatalakeResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateDatalakeResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateDatalake where+ hashWithSalt _salt UpdateDatalake' {..} =+ _salt `Prelude.hashWithSalt` configurations++instance Prelude.NFData UpdateDatalake where+ rnf UpdateDatalake' {..} = Prelude.rnf configurations++instance Data.ToHeaders UpdateDatalake where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateDatalake where+ toJSON UpdateDatalake' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("configurations" Data..= configurations)+ ]+ )++instance Data.ToPath UpdateDatalake where+ toPath = Prelude.const "/v1/datalake"++instance Data.ToQuery UpdateDatalake where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDatalakeResponse' smart constructor.+data UpdateDatalakeResponse = UpdateDatalakeResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDatalakeResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateDatalakeResponse_httpStatus' - The response's http status code.+newUpdateDatalakeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateDatalakeResponse+newUpdateDatalakeResponse pHttpStatus_ =+ UpdateDatalakeResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+updateDatalakeResponse_httpStatus :: Lens.Lens' UpdateDatalakeResponse Prelude.Int+updateDatalakeResponse_httpStatus = Lens.lens (\UpdateDatalakeResponse' {httpStatus} -> httpStatus) (\s@UpdateDatalakeResponse' {} a -> s {httpStatus = a} :: UpdateDatalakeResponse)++instance Prelude.NFData UpdateDatalakeResponse where+ rnf UpdateDatalakeResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/UpdateDatalakeExceptionsExpiry.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.UpdateDatalakeExceptionsExpiry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update the expiration period for the exception message to your preferred+-- time, and control the time-to-live (TTL) for the exception message to+-- remain. Exceptions are stored by default for 2 weeks from when a record+-- was created in Amazon Security Lake.+module Amazonka.SecurityLake.UpdateDatalakeExceptionsExpiry+ ( -- * Creating a Request+ UpdateDatalakeExceptionsExpiry (..),+ newUpdateDatalakeExceptionsExpiry,++ -- * Request Lenses+ updateDatalakeExceptionsExpiry_exceptionMessageExpiry,++ -- * Destructuring the Response+ UpdateDatalakeExceptionsExpiryResponse (..),+ newUpdateDatalakeExceptionsExpiryResponse,++ -- * Response Lenses+ updateDatalakeExceptionsExpiryResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newUpdateDatalakeExceptionsExpiry' smart constructor.+data UpdateDatalakeExceptionsExpiry = UpdateDatalakeExceptionsExpiry'+ { -- | The time-to-live (TTL) for the exception message to remain.+ exceptionMessageExpiry :: Prelude.Natural+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDatalakeExceptionsExpiry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'exceptionMessageExpiry', 'updateDatalakeExceptionsExpiry_exceptionMessageExpiry' - The time-to-live (TTL) for the exception message to remain.+newUpdateDatalakeExceptionsExpiry ::+ -- | 'exceptionMessageExpiry'+ Prelude.Natural ->+ UpdateDatalakeExceptionsExpiry+newUpdateDatalakeExceptionsExpiry+ pExceptionMessageExpiry_ =+ UpdateDatalakeExceptionsExpiry'+ { exceptionMessageExpiry =+ pExceptionMessageExpiry_+ }++-- | The time-to-live (TTL) for the exception message to remain.+updateDatalakeExceptionsExpiry_exceptionMessageExpiry :: Lens.Lens' UpdateDatalakeExceptionsExpiry Prelude.Natural+updateDatalakeExceptionsExpiry_exceptionMessageExpiry = Lens.lens (\UpdateDatalakeExceptionsExpiry' {exceptionMessageExpiry} -> exceptionMessageExpiry) (\s@UpdateDatalakeExceptionsExpiry' {} a -> s {exceptionMessageExpiry = a} :: UpdateDatalakeExceptionsExpiry)++instance+ Core.AWSRequest+ UpdateDatalakeExceptionsExpiry+ where+ type+ AWSResponse UpdateDatalakeExceptionsExpiry =+ UpdateDatalakeExceptionsExpiryResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateDatalakeExceptionsExpiryResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ UpdateDatalakeExceptionsExpiry+ where+ hashWithSalt+ _salt+ UpdateDatalakeExceptionsExpiry' {..} =+ _salt `Prelude.hashWithSalt` exceptionMessageExpiry++instance+ Prelude.NFData+ UpdateDatalakeExceptionsExpiry+ where+ rnf UpdateDatalakeExceptionsExpiry' {..} =+ Prelude.rnf exceptionMessageExpiry++instance+ Data.ToHeaders+ UpdateDatalakeExceptionsExpiry+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateDatalakeExceptionsExpiry where+ toJSON UpdateDatalakeExceptionsExpiry' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "exceptionMessageExpiry"+ Data..= exceptionMessageExpiry+ )+ ]+ )++instance Data.ToPath UpdateDatalakeExceptionsExpiry where+ toPath =+ Prelude.const "/v1/datalake/exceptions/expiry"++instance Data.ToQuery UpdateDatalakeExceptionsExpiry where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDatalakeExceptionsExpiryResponse' smart constructor.+data UpdateDatalakeExceptionsExpiryResponse = UpdateDatalakeExceptionsExpiryResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDatalakeExceptionsExpiryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateDatalakeExceptionsExpiryResponse_httpStatus' - The response's http status code.+newUpdateDatalakeExceptionsExpiryResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateDatalakeExceptionsExpiryResponse+newUpdateDatalakeExceptionsExpiryResponse+ pHttpStatus_ =+ UpdateDatalakeExceptionsExpiryResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateDatalakeExceptionsExpiryResponse_httpStatus :: Lens.Lens' UpdateDatalakeExceptionsExpiryResponse Prelude.Int+updateDatalakeExceptionsExpiryResponse_httpStatus = Lens.lens (\UpdateDatalakeExceptionsExpiryResponse' {httpStatus} -> httpStatus) (\s@UpdateDatalakeExceptionsExpiryResponse' {} a -> s {httpStatus = a} :: UpdateDatalakeExceptionsExpiryResponse)++instance+ Prelude.NFData+ UpdateDatalakeExceptionsExpiryResponse+ where+ rnf UpdateDatalakeExceptionsExpiryResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/UpdateDatalakeExceptionsSubscription.hs view
@@ -0,0 +1,212 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.UpdateDatalakeExceptionsSubscription+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified notification subscription in Amazon Security Lake+-- for the organization you specify.+module Amazonka.SecurityLake.UpdateDatalakeExceptionsSubscription+ ( -- * Creating a Request+ UpdateDatalakeExceptionsSubscription (..),+ newUpdateDatalakeExceptionsSubscription,++ -- * Request Lenses+ updateDatalakeExceptionsSubscription_notificationEndpoint,+ updateDatalakeExceptionsSubscription_subscriptionProtocol,++ -- * Destructuring the Response+ UpdateDatalakeExceptionsSubscriptionResponse (..),+ newUpdateDatalakeExceptionsSubscriptionResponse,++ -- * Response Lenses+ updateDatalakeExceptionsSubscriptionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newUpdateDatalakeExceptionsSubscription' smart constructor.+data UpdateDatalakeExceptionsSubscription = UpdateDatalakeExceptionsSubscription'+ { -- | The account that is subscribed to receive exception notifications.+ notificationEndpoint :: Prelude.Text,+ -- | The subscription protocol to which exception messages are posted.+ subscriptionProtocol :: SubscriptionProtocolType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDatalakeExceptionsSubscription' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'notificationEndpoint', 'updateDatalakeExceptionsSubscription_notificationEndpoint' - The account that is subscribed to receive exception notifications.+--+-- 'subscriptionProtocol', 'updateDatalakeExceptionsSubscription_subscriptionProtocol' - The subscription protocol to which exception messages are posted.+newUpdateDatalakeExceptionsSubscription ::+ -- | 'notificationEndpoint'+ Prelude.Text ->+ -- | 'subscriptionProtocol'+ SubscriptionProtocolType ->+ UpdateDatalakeExceptionsSubscription+newUpdateDatalakeExceptionsSubscription+ pNotificationEndpoint_+ pSubscriptionProtocol_ =+ UpdateDatalakeExceptionsSubscription'+ { notificationEndpoint =+ pNotificationEndpoint_,+ subscriptionProtocol =+ pSubscriptionProtocol_+ }++-- | The account that is subscribed to receive exception notifications.+updateDatalakeExceptionsSubscription_notificationEndpoint :: Lens.Lens' UpdateDatalakeExceptionsSubscription Prelude.Text+updateDatalakeExceptionsSubscription_notificationEndpoint = Lens.lens (\UpdateDatalakeExceptionsSubscription' {notificationEndpoint} -> notificationEndpoint) (\s@UpdateDatalakeExceptionsSubscription' {} a -> s {notificationEndpoint = a} :: UpdateDatalakeExceptionsSubscription)++-- | The subscription protocol to which exception messages are posted.+updateDatalakeExceptionsSubscription_subscriptionProtocol :: Lens.Lens' UpdateDatalakeExceptionsSubscription SubscriptionProtocolType+updateDatalakeExceptionsSubscription_subscriptionProtocol = Lens.lens (\UpdateDatalakeExceptionsSubscription' {subscriptionProtocol} -> subscriptionProtocol) (\s@UpdateDatalakeExceptionsSubscription' {} a -> s {subscriptionProtocol = a} :: UpdateDatalakeExceptionsSubscription)++instance+ Core.AWSRequest+ UpdateDatalakeExceptionsSubscription+ where+ type+ AWSResponse UpdateDatalakeExceptionsSubscription =+ UpdateDatalakeExceptionsSubscriptionResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateDatalakeExceptionsSubscriptionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ UpdateDatalakeExceptionsSubscription+ where+ hashWithSalt+ _salt+ UpdateDatalakeExceptionsSubscription' {..} =+ _salt+ `Prelude.hashWithSalt` notificationEndpoint+ `Prelude.hashWithSalt` subscriptionProtocol++instance+ Prelude.NFData+ UpdateDatalakeExceptionsSubscription+ where+ rnf UpdateDatalakeExceptionsSubscription' {..} =+ Prelude.rnf notificationEndpoint+ `Prelude.seq` Prelude.rnf subscriptionProtocol++instance+ Data.ToHeaders+ UpdateDatalakeExceptionsSubscription+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ UpdateDatalakeExceptionsSubscription+ where+ toJSON UpdateDatalakeExceptionsSubscription' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "notificationEndpoint"+ Data..= notificationEndpoint+ ),+ Prelude.Just+ ( "subscriptionProtocol"+ Data..= subscriptionProtocol+ )+ ]+ )++instance+ Data.ToPath+ UpdateDatalakeExceptionsSubscription+ where+ toPath =+ Prelude.const+ "/v1/datalake/exceptions/subscription"++instance+ Data.ToQuery+ UpdateDatalakeExceptionsSubscription+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDatalakeExceptionsSubscriptionResponse' smart constructor.+data UpdateDatalakeExceptionsSubscriptionResponse = UpdateDatalakeExceptionsSubscriptionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDatalakeExceptionsSubscriptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateDatalakeExceptionsSubscriptionResponse_httpStatus' - The response's http status code.+newUpdateDatalakeExceptionsSubscriptionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateDatalakeExceptionsSubscriptionResponse+newUpdateDatalakeExceptionsSubscriptionResponse+ pHttpStatus_ =+ UpdateDatalakeExceptionsSubscriptionResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateDatalakeExceptionsSubscriptionResponse_httpStatus :: Lens.Lens' UpdateDatalakeExceptionsSubscriptionResponse Prelude.Int+updateDatalakeExceptionsSubscriptionResponse_httpStatus = Lens.lens (\UpdateDatalakeExceptionsSubscriptionResponse' {httpStatus} -> httpStatus) (\s@UpdateDatalakeExceptionsSubscriptionResponse' {} a -> s {httpStatus = a} :: UpdateDatalakeExceptionsSubscriptionResponse)++instance+ Prelude.NFData+ UpdateDatalakeExceptionsSubscriptionResponse+ where+ rnf UpdateDatalakeExceptionsSubscriptionResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/UpdateSubscriber.hs view
@@ -0,0 +1,234 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.UpdateSubscriber+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing subscription for the given Amazon Security Lake+-- account ID. You can update a subscriber by changing the sources that the+-- subscriber consumes data from.+module Amazonka.SecurityLake.UpdateSubscriber+ ( -- * Creating a Request+ UpdateSubscriber (..),+ newUpdateSubscriber,++ -- * Request Lenses+ updateSubscriber_externalId,+ updateSubscriber_subscriberDescription,+ updateSubscriber_subscriberName,+ updateSubscriber_id,+ updateSubscriber_sourceTypes,++ -- * Destructuring the Response+ UpdateSubscriberResponse (..),+ newUpdateSubscriberResponse,++ -- * Response Lenses+ updateSubscriberResponse_subscriber,+ updateSubscriberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newUpdateSubscriber' smart constructor.+data UpdateSubscriber = UpdateSubscriber'+ { -- | The external ID of the Security Lake account.+ externalId :: Prelude.Maybe Prelude.Text,+ -- | The description of the Security Lake account subscriber.+ subscriberDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of the Security Lake account subscriber.+ subscriberName :: Prelude.Maybe Prelude.Text,+ -- | A value created by Security Lake that uniquely identifies your+ -- subscription.+ id :: Prelude.Text,+ -- | The supported Amazon Web Services from which logs and events are+ -- collected. For the list of supported Amazon Web Services, see the+ -- <https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html Amazon Security Lake User Guide>.+ sourceTypes :: [SourceType]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSubscriber' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'externalId', 'updateSubscriber_externalId' - The external ID of the Security Lake account.+--+-- 'subscriberDescription', 'updateSubscriber_subscriberDescription' - The description of the Security Lake account subscriber.+--+-- 'subscriberName', 'updateSubscriber_subscriberName' - The name of the Security Lake account subscriber.+--+-- 'id', 'updateSubscriber_id' - A value created by Security Lake that uniquely identifies your+-- subscription.+--+-- 'sourceTypes', 'updateSubscriber_sourceTypes' - The supported Amazon Web Services from which logs and events are+-- collected. For the list of supported Amazon Web Services, see the+-- <https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html Amazon Security Lake User Guide>.+newUpdateSubscriber ::+ -- | 'id'+ Prelude.Text ->+ UpdateSubscriber+newUpdateSubscriber pId_ =+ UpdateSubscriber'+ { externalId = Prelude.Nothing,+ subscriberDescription = Prelude.Nothing,+ subscriberName = Prelude.Nothing,+ id = pId_,+ sourceTypes = Prelude.mempty+ }++-- | The external ID of the Security Lake account.+updateSubscriber_externalId :: Lens.Lens' UpdateSubscriber (Prelude.Maybe Prelude.Text)+updateSubscriber_externalId = Lens.lens (\UpdateSubscriber' {externalId} -> externalId) (\s@UpdateSubscriber' {} a -> s {externalId = a} :: UpdateSubscriber)++-- | The description of the Security Lake account subscriber.+updateSubscriber_subscriberDescription :: Lens.Lens' UpdateSubscriber (Prelude.Maybe Prelude.Text)+updateSubscriber_subscriberDescription = Lens.lens (\UpdateSubscriber' {subscriberDescription} -> subscriberDescription) (\s@UpdateSubscriber' {} a -> s {subscriberDescription = a} :: UpdateSubscriber)++-- | The name of the Security Lake account subscriber.+updateSubscriber_subscriberName :: Lens.Lens' UpdateSubscriber (Prelude.Maybe Prelude.Text)+updateSubscriber_subscriberName = Lens.lens (\UpdateSubscriber' {subscriberName} -> subscriberName) (\s@UpdateSubscriber' {} a -> s {subscriberName = a} :: UpdateSubscriber)++-- | A value created by Security Lake that uniquely identifies your+-- subscription.+updateSubscriber_id :: Lens.Lens' UpdateSubscriber Prelude.Text+updateSubscriber_id = Lens.lens (\UpdateSubscriber' {id} -> id) (\s@UpdateSubscriber' {} a -> s {id = a} :: UpdateSubscriber)++-- | The supported Amazon Web Services from which logs and events are+-- collected. For the list of supported Amazon Web Services, see the+-- <https://docs.aws.amazon.com/security-lake/latest/userguide/internal-sources.html Amazon Security Lake User Guide>.+updateSubscriber_sourceTypes :: Lens.Lens' UpdateSubscriber [SourceType]+updateSubscriber_sourceTypes = Lens.lens (\UpdateSubscriber' {sourceTypes} -> sourceTypes) (\s@UpdateSubscriber' {} a -> s {sourceTypes = a} :: UpdateSubscriber) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateSubscriber where+ type+ AWSResponse UpdateSubscriber =+ UpdateSubscriberResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateSubscriberResponse'+ Prelude.<$> (x Data..?> "subscriber")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateSubscriber where+ hashWithSalt _salt UpdateSubscriber' {..} =+ _salt+ `Prelude.hashWithSalt` externalId+ `Prelude.hashWithSalt` subscriberDescription+ `Prelude.hashWithSalt` subscriberName+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` sourceTypes++instance Prelude.NFData UpdateSubscriber where+ rnf UpdateSubscriber' {..} =+ Prelude.rnf externalId+ `Prelude.seq` Prelude.rnf subscriberDescription+ `Prelude.seq` Prelude.rnf subscriberName+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf sourceTypes++instance Data.ToHeaders UpdateSubscriber where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateSubscriber where+ toJSON UpdateSubscriber' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("externalId" Data..=) Prelude.<$> externalId,+ ("subscriberDescription" Data..=)+ Prelude.<$> subscriberDescription,+ ("subscriberName" Data..=)+ Prelude.<$> subscriberName,+ Prelude.Just ("sourceTypes" Data..= sourceTypes)+ ]+ )++instance Data.ToPath UpdateSubscriber where+ toPath UpdateSubscriber' {..} =+ Prelude.mconcat ["/v1/subscribers/", Data.toBS id]++instance Data.ToQuery UpdateSubscriber where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSubscriberResponse' smart constructor.+data UpdateSubscriberResponse = UpdateSubscriberResponse'+ { -- | The account of the subscriber.+ subscriber :: Prelude.Maybe SubscriberResource,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSubscriberResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subscriber', 'updateSubscriberResponse_subscriber' - The account of the subscriber.+--+-- 'httpStatus', 'updateSubscriberResponse_httpStatus' - The response's http status code.+newUpdateSubscriberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateSubscriberResponse+newUpdateSubscriberResponse pHttpStatus_ =+ UpdateSubscriberResponse'+ { subscriber =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The account of the subscriber.+updateSubscriberResponse_subscriber :: Lens.Lens' UpdateSubscriberResponse (Prelude.Maybe SubscriberResource)+updateSubscriberResponse_subscriber = Lens.lens (\UpdateSubscriberResponse' {subscriber} -> subscriber) (\s@UpdateSubscriberResponse' {} a -> s {subscriber = a} :: UpdateSubscriberResponse)++-- | The response's http status code.+updateSubscriberResponse_httpStatus :: Lens.Lens' UpdateSubscriberResponse Prelude.Int+updateSubscriberResponse_httpStatus = Lens.lens (\UpdateSubscriberResponse' {httpStatus} -> httpStatus) (\s@UpdateSubscriberResponse' {} a -> s {httpStatus = a} :: UpdateSubscriberResponse)++instance Prelude.NFData UpdateSubscriberResponse where+ rnf UpdateSubscriberResponse' {..} =+ Prelude.rnf subscriber+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/UpdateSubscriptionNotificationConfiguration.hs view
@@ -0,0 +1,298 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.UpdateSubscriptionNotificationConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new subscription notification or adds the existing+-- subscription notification setting for the specified subscription ID.+module Amazonka.SecurityLake.UpdateSubscriptionNotificationConfiguration+ ( -- * Creating a Request+ UpdateSubscriptionNotificationConfiguration (..),+ newUpdateSubscriptionNotificationConfiguration,++ -- * Request Lenses+ updateSubscriptionNotificationConfiguration_createSqs,+ updateSubscriptionNotificationConfiguration_httpsApiKeyName,+ updateSubscriptionNotificationConfiguration_httpsApiKeyValue,+ updateSubscriptionNotificationConfiguration_httpsMethod,+ updateSubscriptionNotificationConfiguration_roleArn,+ updateSubscriptionNotificationConfiguration_subscriptionEndpoint,+ updateSubscriptionNotificationConfiguration_subscriptionId,++ -- * Destructuring the Response+ UpdateSubscriptionNotificationConfigurationResponse (..),+ newUpdateSubscriptionNotificationConfigurationResponse,++ -- * Response Lenses+ updateSubscriptionNotificationConfigurationResponse_queueArn,+ updateSubscriptionNotificationConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SecurityLake.Types++-- | /See:/ 'newUpdateSubscriptionNotificationConfiguration' smart constructor.+data UpdateSubscriptionNotificationConfiguration = UpdateSubscriptionNotificationConfiguration'+ { -- | Create a new subscription notification for the specified subscription ID+ -- in Amazon Security Lake.+ createSqs :: Prelude.Maybe Prelude.Bool,+ -- | The key name for the subscription notification.+ httpsApiKeyName :: Prelude.Maybe Prelude.Text,+ -- | The key value for the subscription notification.+ httpsApiKeyValue :: Prelude.Maybe Prelude.Text,+ -- | The HTTPS method used for the subscription notification.+ httpsMethod :: Prelude.Maybe HttpsMethod,+ -- | The Amazon Resource Name (ARN) specifying the role of the subscriber.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The subscription endpoint in Security Lake.+ subscriptionEndpoint :: Prelude.Maybe Prelude.Text,+ -- | The subscription ID for which the subscription notification is+ -- specified.+ subscriptionId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSubscriptionNotificationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createSqs', 'updateSubscriptionNotificationConfiguration_createSqs' - Create a new subscription notification for the specified subscription ID+-- in Amazon Security Lake.+--+-- 'httpsApiKeyName', 'updateSubscriptionNotificationConfiguration_httpsApiKeyName' - The key name for the subscription notification.+--+-- 'httpsApiKeyValue', 'updateSubscriptionNotificationConfiguration_httpsApiKeyValue' - The key value for the subscription notification.+--+-- 'httpsMethod', 'updateSubscriptionNotificationConfiguration_httpsMethod' - The HTTPS method used for the subscription notification.+--+-- 'roleArn', 'updateSubscriptionNotificationConfiguration_roleArn' - The Amazon Resource Name (ARN) specifying the role of the subscriber.+--+-- 'subscriptionEndpoint', 'updateSubscriptionNotificationConfiguration_subscriptionEndpoint' - The subscription endpoint in Security Lake.+--+-- 'subscriptionId', 'updateSubscriptionNotificationConfiguration_subscriptionId' - The subscription ID for which the subscription notification is+-- specified.+newUpdateSubscriptionNotificationConfiguration ::+ -- | 'subscriptionId'+ Prelude.Text ->+ UpdateSubscriptionNotificationConfiguration+newUpdateSubscriptionNotificationConfiguration+ pSubscriptionId_ =+ UpdateSubscriptionNotificationConfiguration'+ { createSqs =+ Prelude.Nothing,+ httpsApiKeyName =+ Prelude.Nothing,+ httpsApiKeyValue =+ Prelude.Nothing,+ httpsMethod = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ subscriptionEndpoint =+ Prelude.Nothing,+ subscriptionId =+ pSubscriptionId_+ }++-- | Create a new subscription notification for the specified subscription ID+-- in Amazon Security Lake.+updateSubscriptionNotificationConfiguration_createSqs :: Lens.Lens' UpdateSubscriptionNotificationConfiguration (Prelude.Maybe Prelude.Bool)+updateSubscriptionNotificationConfiguration_createSqs = Lens.lens (\UpdateSubscriptionNotificationConfiguration' {createSqs} -> createSqs) (\s@UpdateSubscriptionNotificationConfiguration' {} a -> s {createSqs = a} :: UpdateSubscriptionNotificationConfiguration)++-- | The key name for the subscription notification.+updateSubscriptionNotificationConfiguration_httpsApiKeyName :: Lens.Lens' UpdateSubscriptionNotificationConfiguration (Prelude.Maybe Prelude.Text)+updateSubscriptionNotificationConfiguration_httpsApiKeyName = Lens.lens (\UpdateSubscriptionNotificationConfiguration' {httpsApiKeyName} -> httpsApiKeyName) (\s@UpdateSubscriptionNotificationConfiguration' {} a -> s {httpsApiKeyName = a} :: UpdateSubscriptionNotificationConfiguration)++-- | The key value for the subscription notification.+updateSubscriptionNotificationConfiguration_httpsApiKeyValue :: Lens.Lens' UpdateSubscriptionNotificationConfiguration (Prelude.Maybe Prelude.Text)+updateSubscriptionNotificationConfiguration_httpsApiKeyValue = Lens.lens (\UpdateSubscriptionNotificationConfiguration' {httpsApiKeyValue} -> httpsApiKeyValue) (\s@UpdateSubscriptionNotificationConfiguration' {} a -> s {httpsApiKeyValue = a} :: UpdateSubscriptionNotificationConfiguration)++-- | The HTTPS method used for the subscription notification.+updateSubscriptionNotificationConfiguration_httpsMethod :: Lens.Lens' UpdateSubscriptionNotificationConfiguration (Prelude.Maybe HttpsMethod)+updateSubscriptionNotificationConfiguration_httpsMethod = Lens.lens (\UpdateSubscriptionNotificationConfiguration' {httpsMethod} -> httpsMethod) (\s@UpdateSubscriptionNotificationConfiguration' {} a -> s {httpsMethod = a} :: UpdateSubscriptionNotificationConfiguration)++-- | The Amazon Resource Name (ARN) specifying the role of the subscriber.+updateSubscriptionNotificationConfiguration_roleArn :: Lens.Lens' UpdateSubscriptionNotificationConfiguration (Prelude.Maybe Prelude.Text)+updateSubscriptionNotificationConfiguration_roleArn = Lens.lens (\UpdateSubscriptionNotificationConfiguration' {roleArn} -> roleArn) (\s@UpdateSubscriptionNotificationConfiguration' {} a -> s {roleArn = a} :: UpdateSubscriptionNotificationConfiguration)++-- | The subscription endpoint in Security Lake.+updateSubscriptionNotificationConfiguration_subscriptionEndpoint :: Lens.Lens' UpdateSubscriptionNotificationConfiguration (Prelude.Maybe Prelude.Text)+updateSubscriptionNotificationConfiguration_subscriptionEndpoint = Lens.lens (\UpdateSubscriptionNotificationConfiguration' {subscriptionEndpoint} -> subscriptionEndpoint) (\s@UpdateSubscriptionNotificationConfiguration' {} a -> s {subscriptionEndpoint = a} :: UpdateSubscriptionNotificationConfiguration)++-- | The subscription ID for which the subscription notification is+-- specified.+updateSubscriptionNotificationConfiguration_subscriptionId :: Lens.Lens' UpdateSubscriptionNotificationConfiguration Prelude.Text+updateSubscriptionNotificationConfiguration_subscriptionId = Lens.lens (\UpdateSubscriptionNotificationConfiguration' {subscriptionId} -> subscriptionId) (\s@UpdateSubscriptionNotificationConfiguration' {} a -> s {subscriptionId = a} :: UpdateSubscriptionNotificationConfiguration)++instance+ Core.AWSRequest+ UpdateSubscriptionNotificationConfiguration+ where+ type+ AWSResponse+ UpdateSubscriptionNotificationConfiguration =+ UpdateSubscriptionNotificationConfigurationResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateSubscriptionNotificationConfigurationResponse'+ Prelude.<$> (x Data..?> "queueArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ UpdateSubscriptionNotificationConfiguration+ where+ hashWithSalt+ _salt+ UpdateSubscriptionNotificationConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` createSqs+ `Prelude.hashWithSalt` httpsApiKeyName+ `Prelude.hashWithSalt` httpsApiKeyValue+ `Prelude.hashWithSalt` httpsMethod+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` subscriptionEndpoint+ `Prelude.hashWithSalt` subscriptionId++instance+ Prelude.NFData+ UpdateSubscriptionNotificationConfiguration+ where+ rnf UpdateSubscriptionNotificationConfiguration' {..} =+ Prelude.rnf createSqs+ `Prelude.seq` Prelude.rnf httpsApiKeyName+ `Prelude.seq` Prelude.rnf httpsApiKeyValue+ `Prelude.seq` Prelude.rnf httpsMethod+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf subscriptionEndpoint+ `Prelude.seq` Prelude.rnf subscriptionId++instance+ Data.ToHeaders+ UpdateSubscriptionNotificationConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ UpdateSubscriptionNotificationConfiguration+ where+ toJSON+ UpdateSubscriptionNotificationConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("createSqs" Data..=) Prelude.<$> createSqs,+ ("httpsApiKeyName" Data..=)+ Prelude.<$> httpsApiKeyName,+ ("httpsApiKeyValue" Data..=)+ Prelude.<$> httpsApiKeyValue,+ ("httpsMethod" Data..=) Prelude.<$> httpsMethod,+ ("roleArn" Data..=) Prelude.<$> roleArn,+ ("subscriptionEndpoint" Data..=)+ Prelude.<$> subscriptionEndpoint+ ]+ )++instance+ Data.ToPath+ UpdateSubscriptionNotificationConfiguration+ where+ toPath+ UpdateSubscriptionNotificationConfiguration' {..} =+ Prelude.mconcat+ [ "/subscription-notifications/",+ Data.toBS subscriptionId+ ]++instance+ Data.ToQuery+ UpdateSubscriptionNotificationConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSubscriptionNotificationConfigurationResponse' smart constructor.+data UpdateSubscriptionNotificationConfigurationResponse = UpdateSubscriptionNotificationConfigurationResponse'+ { -- | Returns the ARN of the queue.+ queueArn :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSubscriptionNotificationConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'queueArn', 'updateSubscriptionNotificationConfigurationResponse_queueArn' - Returns the ARN of the queue.+--+-- 'httpStatus', 'updateSubscriptionNotificationConfigurationResponse_httpStatus' - The response's http status code.+newUpdateSubscriptionNotificationConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateSubscriptionNotificationConfigurationResponse+newUpdateSubscriptionNotificationConfigurationResponse+ pHttpStatus_ =+ UpdateSubscriptionNotificationConfigurationResponse'+ { queueArn =+ Prelude.Nothing,+ httpStatus =+ pHttpStatus_+ }++-- | Returns the ARN of the queue.+updateSubscriptionNotificationConfigurationResponse_queueArn :: Lens.Lens' UpdateSubscriptionNotificationConfigurationResponse (Prelude.Maybe Prelude.Text)+updateSubscriptionNotificationConfigurationResponse_queueArn = Lens.lens (\UpdateSubscriptionNotificationConfigurationResponse' {queueArn} -> queueArn) (\s@UpdateSubscriptionNotificationConfigurationResponse' {} a -> s {queueArn = a} :: UpdateSubscriptionNotificationConfigurationResponse)++-- | The response's http status code.+updateSubscriptionNotificationConfigurationResponse_httpStatus :: Lens.Lens' UpdateSubscriptionNotificationConfigurationResponse Prelude.Int+updateSubscriptionNotificationConfigurationResponse_httpStatus = Lens.lens (\UpdateSubscriptionNotificationConfigurationResponse' {httpStatus} -> httpStatus) (\s@UpdateSubscriptionNotificationConfigurationResponse' {} a -> s {httpStatus = a} :: UpdateSubscriptionNotificationConfigurationResponse)++instance+ Prelude.NFData+ UpdateSubscriptionNotificationConfigurationResponse+ where+ rnf+ UpdateSubscriptionNotificationConfigurationResponse' {..} =+ Prelude.rnf queueArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SecurityLake/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.SecurityLake.Waiters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SecurityLake.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SecurityLake.Lens+import Amazonka.SecurityLake.Types
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.SecurityLake+import Test.Amazonka.SecurityLake.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "SecurityLake"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/SecurityLake.hs view
@@ -0,0 +1,638 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Test.Amazonka.Gen.SecurityLake+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.SecurityLake where++import Amazonka.SecurityLake+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.SecurityLake.Internal+import Test.Tasty++-- 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"+-- [ requestCreateAwsLogSource $+-- newCreateAwsLogSource+--+-- , requestCreateCustomLogSource $+-- newCreateCustomLogSource+--+-- , requestCreateDatalake $+-- newCreateDatalake+--+-- , requestCreateDatalakeAutoEnable $+-- newCreateDatalakeAutoEnable+--+-- , requestCreateDatalakeDelegatedAdmin $+-- newCreateDatalakeDelegatedAdmin+--+-- , requestCreateDatalakeExceptionsSubscription $+-- newCreateDatalakeExceptionsSubscription+--+-- , requestCreateSubscriber $+-- newCreateSubscriber+--+-- , requestCreateSubscriptionNotificationConfiguration $+-- newCreateSubscriptionNotificationConfiguration+--+-- , requestDeleteAwsLogSource $+-- newDeleteAwsLogSource+--+-- , requestDeleteCustomLogSource $+-- newDeleteCustomLogSource+--+-- , requestDeleteDatalake $+-- newDeleteDatalake+--+-- , requestDeleteDatalakeAutoEnable $+-- newDeleteDatalakeAutoEnable+--+-- , requestDeleteDatalakeDelegatedAdmin $+-- newDeleteDatalakeDelegatedAdmin+--+-- , requestDeleteDatalakeExceptionsSubscription $+-- newDeleteDatalakeExceptionsSubscription+--+-- , requestDeleteSubscriber $+-- newDeleteSubscriber+--+-- , requestDeleteSubscriptionNotificationConfiguration $+-- newDeleteSubscriptionNotificationConfiguration+--+-- , requestGetDatalake $+-- newGetDatalake+--+-- , requestGetDatalakeAutoEnable $+-- newGetDatalakeAutoEnable+--+-- , requestGetDatalakeExceptionsExpiry $+-- newGetDatalakeExceptionsExpiry+--+-- , requestGetDatalakeExceptionsSubscription $+-- newGetDatalakeExceptionsSubscription+--+-- , requestGetDatalakeStatus $+-- newGetDatalakeStatus+--+-- , requestGetSubscriber $+-- newGetSubscriber+--+-- , requestListDatalakeExceptions $+-- newListDatalakeExceptions+--+-- , requestListLogSources $+-- newListLogSources+--+-- , requestListSubscribers $+-- newListSubscribers+--+-- , requestUpdateDatalake $+-- newUpdateDatalake+--+-- , requestUpdateDatalakeExceptionsExpiry $+-- newUpdateDatalakeExceptionsExpiry+--+-- , requestUpdateDatalakeExceptionsSubscription $+-- newUpdateDatalakeExceptionsSubscription+--+-- , requestUpdateSubscriber $+-- newUpdateSubscriber+--+-- , requestUpdateSubscriptionNotificationConfiguration $+-- newUpdateSubscriptionNotificationConfiguration+--+-- ]++-- , testGroup "response"+-- [ responseCreateAwsLogSource $+-- newCreateAwsLogSourceResponse+--+-- , responseCreateCustomLogSource $+-- newCreateCustomLogSourceResponse+--+-- , responseCreateDatalake $+-- newCreateDatalakeResponse+--+-- , responseCreateDatalakeAutoEnable $+-- newCreateDatalakeAutoEnableResponse+--+-- , responseCreateDatalakeDelegatedAdmin $+-- newCreateDatalakeDelegatedAdminResponse+--+-- , responseCreateDatalakeExceptionsSubscription $+-- newCreateDatalakeExceptionsSubscriptionResponse+--+-- , responseCreateSubscriber $+-- newCreateSubscriberResponse+--+-- , responseCreateSubscriptionNotificationConfiguration $+-- newCreateSubscriptionNotificationConfigurationResponse+--+-- , responseDeleteAwsLogSource $+-- newDeleteAwsLogSourceResponse+--+-- , responseDeleteCustomLogSource $+-- newDeleteCustomLogSourceResponse+--+-- , responseDeleteDatalake $+-- newDeleteDatalakeResponse+--+-- , responseDeleteDatalakeAutoEnable $+-- newDeleteDatalakeAutoEnableResponse+--+-- , responseDeleteDatalakeDelegatedAdmin $+-- newDeleteDatalakeDelegatedAdminResponse+--+-- , responseDeleteDatalakeExceptionsSubscription $+-- newDeleteDatalakeExceptionsSubscriptionResponse+--+-- , responseDeleteSubscriber $+-- newDeleteSubscriberResponse+--+-- , responseDeleteSubscriptionNotificationConfiguration $+-- newDeleteSubscriptionNotificationConfigurationResponse+--+-- , responseGetDatalake $+-- newGetDatalakeResponse+--+-- , responseGetDatalakeAutoEnable $+-- newGetDatalakeAutoEnableResponse+--+-- , responseGetDatalakeExceptionsExpiry $+-- newGetDatalakeExceptionsExpiryResponse+--+-- , responseGetDatalakeExceptionsSubscription $+-- newGetDatalakeExceptionsSubscriptionResponse+--+-- , responseGetDatalakeStatus $+-- newGetDatalakeStatusResponse+--+-- , responseGetSubscriber $+-- newGetSubscriberResponse+--+-- , responseListDatalakeExceptions $+-- newListDatalakeExceptionsResponse+--+-- , responseListLogSources $+-- newListLogSourcesResponse+--+-- , responseListSubscribers $+-- newListSubscribersResponse+--+-- , responseUpdateDatalake $+-- newUpdateDatalakeResponse+--+-- , responseUpdateDatalakeExceptionsExpiry $+-- newUpdateDatalakeExceptionsExpiryResponse+--+-- , responseUpdateDatalakeExceptionsSubscription $+-- newUpdateDatalakeExceptionsSubscriptionResponse+--+-- , responseUpdateSubscriber $+-- newUpdateSubscriberResponse+--+-- , responseUpdateSubscriptionNotificationConfiguration $+-- newUpdateSubscriptionNotificationConfigurationResponse+--+-- ]+-- ]++-- Requests++requestCreateAwsLogSource :: CreateAwsLogSource -> TestTree+requestCreateAwsLogSource =+ req+ "CreateAwsLogSource"+ "fixture/CreateAwsLogSource.yaml"++requestCreateCustomLogSource :: CreateCustomLogSource -> TestTree+requestCreateCustomLogSource =+ req+ "CreateCustomLogSource"+ "fixture/CreateCustomLogSource.yaml"++requestCreateDatalake :: CreateDatalake -> TestTree+requestCreateDatalake =+ req+ "CreateDatalake"+ "fixture/CreateDatalake.yaml"++requestCreateDatalakeAutoEnable :: CreateDatalakeAutoEnable -> TestTree+requestCreateDatalakeAutoEnable =+ req+ "CreateDatalakeAutoEnable"+ "fixture/CreateDatalakeAutoEnable.yaml"++requestCreateDatalakeDelegatedAdmin :: CreateDatalakeDelegatedAdmin -> TestTree+requestCreateDatalakeDelegatedAdmin =+ req+ "CreateDatalakeDelegatedAdmin"+ "fixture/CreateDatalakeDelegatedAdmin.yaml"++requestCreateDatalakeExceptionsSubscription :: CreateDatalakeExceptionsSubscription -> TestTree+requestCreateDatalakeExceptionsSubscription =+ req+ "CreateDatalakeExceptionsSubscription"+ "fixture/CreateDatalakeExceptionsSubscription.yaml"++requestCreateSubscriber :: CreateSubscriber -> TestTree+requestCreateSubscriber =+ req+ "CreateSubscriber"+ "fixture/CreateSubscriber.yaml"++requestCreateSubscriptionNotificationConfiguration :: CreateSubscriptionNotificationConfiguration -> TestTree+requestCreateSubscriptionNotificationConfiguration =+ req+ "CreateSubscriptionNotificationConfiguration"+ "fixture/CreateSubscriptionNotificationConfiguration.yaml"++requestDeleteAwsLogSource :: DeleteAwsLogSource -> TestTree+requestDeleteAwsLogSource =+ req+ "DeleteAwsLogSource"+ "fixture/DeleteAwsLogSource.yaml"++requestDeleteCustomLogSource :: DeleteCustomLogSource -> TestTree+requestDeleteCustomLogSource =+ req+ "DeleteCustomLogSource"+ "fixture/DeleteCustomLogSource.yaml"++requestDeleteDatalake :: DeleteDatalake -> TestTree+requestDeleteDatalake =+ req+ "DeleteDatalake"+ "fixture/DeleteDatalake.yaml"++requestDeleteDatalakeAutoEnable :: DeleteDatalakeAutoEnable -> TestTree+requestDeleteDatalakeAutoEnable =+ req+ "DeleteDatalakeAutoEnable"+ "fixture/DeleteDatalakeAutoEnable.yaml"++requestDeleteDatalakeDelegatedAdmin :: DeleteDatalakeDelegatedAdmin -> TestTree+requestDeleteDatalakeDelegatedAdmin =+ req+ "DeleteDatalakeDelegatedAdmin"+ "fixture/DeleteDatalakeDelegatedAdmin.yaml"++requestDeleteDatalakeExceptionsSubscription :: DeleteDatalakeExceptionsSubscription -> TestTree+requestDeleteDatalakeExceptionsSubscription =+ req+ "DeleteDatalakeExceptionsSubscription"+ "fixture/DeleteDatalakeExceptionsSubscription.yaml"++requestDeleteSubscriber :: DeleteSubscriber -> TestTree+requestDeleteSubscriber =+ req+ "DeleteSubscriber"+ "fixture/DeleteSubscriber.yaml"++requestDeleteSubscriptionNotificationConfiguration :: DeleteSubscriptionNotificationConfiguration -> TestTree+requestDeleteSubscriptionNotificationConfiguration =+ req+ "DeleteSubscriptionNotificationConfiguration"+ "fixture/DeleteSubscriptionNotificationConfiguration.yaml"++requestGetDatalake :: GetDatalake -> TestTree+requestGetDatalake =+ req+ "GetDatalake"+ "fixture/GetDatalake.yaml"++requestGetDatalakeAutoEnable :: GetDatalakeAutoEnable -> TestTree+requestGetDatalakeAutoEnable =+ req+ "GetDatalakeAutoEnable"+ "fixture/GetDatalakeAutoEnable.yaml"++requestGetDatalakeExceptionsExpiry :: GetDatalakeExceptionsExpiry -> TestTree+requestGetDatalakeExceptionsExpiry =+ req+ "GetDatalakeExceptionsExpiry"+ "fixture/GetDatalakeExceptionsExpiry.yaml"++requestGetDatalakeExceptionsSubscription :: GetDatalakeExceptionsSubscription -> TestTree+requestGetDatalakeExceptionsSubscription =+ req+ "GetDatalakeExceptionsSubscription"+ "fixture/GetDatalakeExceptionsSubscription.yaml"++requestGetDatalakeStatus :: GetDatalakeStatus -> TestTree+requestGetDatalakeStatus =+ req+ "GetDatalakeStatus"+ "fixture/GetDatalakeStatus.yaml"++requestGetSubscriber :: GetSubscriber -> TestTree+requestGetSubscriber =+ req+ "GetSubscriber"+ "fixture/GetSubscriber.yaml"++requestListDatalakeExceptions :: ListDatalakeExceptions -> TestTree+requestListDatalakeExceptions =+ req+ "ListDatalakeExceptions"+ "fixture/ListDatalakeExceptions.yaml"++requestListLogSources :: ListLogSources -> TestTree+requestListLogSources =+ req+ "ListLogSources"+ "fixture/ListLogSources.yaml"++requestListSubscribers :: ListSubscribers -> TestTree+requestListSubscribers =+ req+ "ListSubscribers"+ "fixture/ListSubscribers.yaml"++requestUpdateDatalake :: UpdateDatalake -> TestTree+requestUpdateDatalake =+ req+ "UpdateDatalake"+ "fixture/UpdateDatalake.yaml"++requestUpdateDatalakeExceptionsExpiry :: UpdateDatalakeExceptionsExpiry -> TestTree+requestUpdateDatalakeExceptionsExpiry =+ req+ "UpdateDatalakeExceptionsExpiry"+ "fixture/UpdateDatalakeExceptionsExpiry.yaml"++requestUpdateDatalakeExceptionsSubscription :: UpdateDatalakeExceptionsSubscription -> TestTree+requestUpdateDatalakeExceptionsSubscription =+ req+ "UpdateDatalakeExceptionsSubscription"+ "fixture/UpdateDatalakeExceptionsSubscription.yaml"++requestUpdateSubscriber :: UpdateSubscriber -> TestTree+requestUpdateSubscriber =+ req+ "UpdateSubscriber"+ "fixture/UpdateSubscriber.yaml"++requestUpdateSubscriptionNotificationConfiguration :: UpdateSubscriptionNotificationConfiguration -> TestTree+requestUpdateSubscriptionNotificationConfiguration =+ req+ "UpdateSubscriptionNotificationConfiguration"+ "fixture/UpdateSubscriptionNotificationConfiguration.yaml"++-- Responses++responseCreateAwsLogSource :: CreateAwsLogSourceResponse -> TestTree+responseCreateAwsLogSource =+ res+ "CreateAwsLogSourceResponse"+ "fixture/CreateAwsLogSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAwsLogSource)++responseCreateCustomLogSource :: CreateCustomLogSourceResponse -> TestTree+responseCreateCustomLogSource =+ res+ "CreateCustomLogSourceResponse"+ "fixture/CreateCustomLogSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateCustomLogSource)++responseCreateDatalake :: CreateDatalakeResponse -> TestTree+responseCreateDatalake =+ res+ "CreateDatalakeResponse"+ "fixture/CreateDatalakeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDatalake)++responseCreateDatalakeAutoEnable :: CreateDatalakeAutoEnableResponse -> TestTree+responseCreateDatalakeAutoEnable =+ res+ "CreateDatalakeAutoEnableResponse"+ "fixture/CreateDatalakeAutoEnableResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDatalakeAutoEnable)++responseCreateDatalakeDelegatedAdmin :: CreateDatalakeDelegatedAdminResponse -> TestTree+responseCreateDatalakeDelegatedAdmin =+ res+ "CreateDatalakeDelegatedAdminResponse"+ "fixture/CreateDatalakeDelegatedAdminResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDatalakeDelegatedAdmin)++responseCreateDatalakeExceptionsSubscription :: CreateDatalakeExceptionsSubscriptionResponse -> TestTree+responseCreateDatalakeExceptionsSubscription =+ res+ "CreateDatalakeExceptionsSubscriptionResponse"+ "fixture/CreateDatalakeExceptionsSubscriptionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateDatalakeExceptionsSubscription)++responseCreateSubscriber :: CreateSubscriberResponse -> TestTree+responseCreateSubscriber =+ res+ "CreateSubscriberResponse"+ "fixture/CreateSubscriberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateSubscriber)++responseCreateSubscriptionNotificationConfiguration :: CreateSubscriptionNotificationConfigurationResponse -> TestTree+responseCreateSubscriptionNotificationConfiguration =+ res+ "CreateSubscriptionNotificationConfigurationResponse"+ "fixture/CreateSubscriptionNotificationConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateSubscriptionNotificationConfiguration)++responseDeleteAwsLogSource :: DeleteAwsLogSourceResponse -> TestTree+responseDeleteAwsLogSource =+ res+ "DeleteAwsLogSourceResponse"+ "fixture/DeleteAwsLogSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAwsLogSource)++responseDeleteCustomLogSource :: DeleteCustomLogSourceResponse -> TestTree+responseDeleteCustomLogSource =+ res+ "DeleteCustomLogSourceResponse"+ "fixture/DeleteCustomLogSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteCustomLogSource)++responseDeleteDatalake :: DeleteDatalakeResponse -> TestTree+responseDeleteDatalake =+ res+ "DeleteDatalakeResponse"+ "fixture/DeleteDatalakeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDatalake)++responseDeleteDatalakeAutoEnable :: DeleteDatalakeAutoEnableResponse -> TestTree+responseDeleteDatalakeAutoEnable =+ res+ "DeleteDatalakeAutoEnableResponse"+ "fixture/DeleteDatalakeAutoEnableResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDatalakeAutoEnable)++responseDeleteDatalakeDelegatedAdmin :: DeleteDatalakeDelegatedAdminResponse -> TestTree+responseDeleteDatalakeDelegatedAdmin =+ res+ "DeleteDatalakeDelegatedAdminResponse"+ "fixture/DeleteDatalakeDelegatedAdminResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDatalakeDelegatedAdmin)++responseDeleteDatalakeExceptionsSubscription :: DeleteDatalakeExceptionsSubscriptionResponse -> TestTree+responseDeleteDatalakeExceptionsSubscription =+ res+ "DeleteDatalakeExceptionsSubscriptionResponse"+ "fixture/DeleteDatalakeExceptionsSubscriptionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteDatalakeExceptionsSubscription)++responseDeleteSubscriber :: DeleteSubscriberResponse -> TestTree+responseDeleteSubscriber =+ res+ "DeleteSubscriberResponse"+ "fixture/DeleteSubscriberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteSubscriber)++responseDeleteSubscriptionNotificationConfiguration :: DeleteSubscriptionNotificationConfigurationResponse -> TestTree+responseDeleteSubscriptionNotificationConfiguration =+ res+ "DeleteSubscriptionNotificationConfigurationResponse"+ "fixture/DeleteSubscriptionNotificationConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteSubscriptionNotificationConfiguration)++responseGetDatalake :: GetDatalakeResponse -> TestTree+responseGetDatalake =+ res+ "GetDatalakeResponse"+ "fixture/GetDatalakeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDatalake)++responseGetDatalakeAutoEnable :: GetDatalakeAutoEnableResponse -> TestTree+responseGetDatalakeAutoEnable =+ res+ "GetDatalakeAutoEnableResponse"+ "fixture/GetDatalakeAutoEnableResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDatalakeAutoEnable)++responseGetDatalakeExceptionsExpiry :: GetDatalakeExceptionsExpiryResponse -> TestTree+responseGetDatalakeExceptionsExpiry =+ res+ "GetDatalakeExceptionsExpiryResponse"+ "fixture/GetDatalakeExceptionsExpiryResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDatalakeExceptionsExpiry)++responseGetDatalakeExceptionsSubscription :: GetDatalakeExceptionsSubscriptionResponse -> TestTree+responseGetDatalakeExceptionsSubscription =+ res+ "GetDatalakeExceptionsSubscriptionResponse"+ "fixture/GetDatalakeExceptionsSubscriptionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDatalakeExceptionsSubscription)++responseGetDatalakeStatus :: GetDatalakeStatusResponse -> TestTree+responseGetDatalakeStatus =+ res+ "GetDatalakeStatusResponse"+ "fixture/GetDatalakeStatusResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDatalakeStatus)++responseGetSubscriber :: GetSubscriberResponse -> TestTree+responseGetSubscriber =+ res+ "GetSubscriberResponse"+ "fixture/GetSubscriberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetSubscriber)++responseListDatalakeExceptions :: ListDatalakeExceptionsResponse -> TestTree+responseListDatalakeExceptions =+ res+ "ListDatalakeExceptionsResponse"+ "fixture/ListDatalakeExceptionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListDatalakeExceptions)++responseListLogSources :: ListLogSourcesResponse -> TestTree+responseListLogSources =+ res+ "ListLogSourcesResponse"+ "fixture/ListLogSourcesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListLogSources)++responseListSubscribers :: ListSubscribersResponse -> TestTree+responseListSubscribers =+ res+ "ListSubscribersResponse"+ "fixture/ListSubscribersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListSubscribers)++responseUpdateDatalake :: UpdateDatalakeResponse -> TestTree+responseUpdateDatalake =+ res+ "UpdateDatalakeResponse"+ "fixture/UpdateDatalakeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateDatalake)++responseUpdateDatalakeExceptionsExpiry :: UpdateDatalakeExceptionsExpiryResponse -> TestTree+responseUpdateDatalakeExceptionsExpiry =+ res+ "UpdateDatalakeExceptionsExpiryResponse"+ "fixture/UpdateDatalakeExceptionsExpiryResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateDatalakeExceptionsExpiry)++responseUpdateDatalakeExceptionsSubscription :: UpdateDatalakeExceptionsSubscriptionResponse -> TestTree+responseUpdateDatalakeExceptionsSubscription =+ res+ "UpdateDatalakeExceptionsSubscriptionResponse"+ "fixture/UpdateDatalakeExceptionsSubscriptionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateDatalakeExceptionsSubscription)++responseUpdateSubscriber :: UpdateSubscriberResponse -> TestTree+responseUpdateSubscriber =+ res+ "UpdateSubscriberResponse"+ "fixture/UpdateSubscriberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateSubscriber)++responseUpdateSubscriptionNotificationConfiguration :: UpdateSubscriptionNotificationConfigurationResponse -> TestTree+responseUpdateSubscriptionNotificationConfiguration =+ res+ "UpdateSubscriptionNotificationConfigurationResponse"+ "fixture/UpdateSubscriptionNotificationConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateSubscriptionNotificationConfiguration)
+ test/Test/Amazonka/SecurityLake.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.SecurityLake+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.SecurityLake+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/SecurityLake/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.SecurityLake.Internal+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.SecurityLake.Internal where