amazonka-auditmanager (empty) → 2.0
raw patch · 270 files changed
+27707/−0 lines, 270 filesdep +amazonka-auditmanagerdep +amazonka-coredep +amazonka-test
Dependencies added: amazonka-auditmanager, amazonka-core, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-auditmanager.cabal +219/−0
- fixture/AssociateAssessmentReportEvidenceFolder.yaml +10/−0
- fixture/AssociateAssessmentReportEvidenceFolderResponse.proto +0/−0
- fixture/BatchAssociateAssessmentReportEvidence.yaml +10/−0
- fixture/BatchAssociateAssessmentReportEvidenceResponse.proto +0/−0
- fixture/BatchCreateDelegationByAssessment.yaml +10/−0
- fixture/BatchCreateDelegationByAssessmentResponse.proto +0/−0
- fixture/BatchDeleteDelegationByAssessment.yaml +10/−0
- fixture/BatchDeleteDelegationByAssessmentResponse.proto +0/−0
- fixture/BatchDisassociateAssessmentReportEvidence.yaml +10/−0
- fixture/BatchDisassociateAssessmentReportEvidenceResponse.proto +0/−0
- fixture/BatchImportEvidenceToAssessmentControl.yaml +10/−0
- fixture/BatchImportEvidenceToAssessmentControlResponse.proto +0/−0
- fixture/CreateAssessment.yaml +10/−0
- fixture/CreateAssessmentFramework.yaml +10/−0
- fixture/CreateAssessmentFrameworkResponse.proto +0/−0
- fixture/CreateAssessmentReport.yaml +10/−0
- fixture/CreateAssessmentReportResponse.proto +0/−0
- fixture/CreateAssessmentResponse.proto +0/−0
- fixture/CreateControl.yaml +10/−0
- fixture/CreateControlResponse.proto +0/−0
- fixture/DeleteAssessment.yaml +10/−0
- fixture/DeleteAssessmentFramework.yaml +10/−0
- fixture/DeleteAssessmentFrameworkResponse.proto +0/−0
- fixture/DeleteAssessmentFrameworkShare.yaml +10/−0
- fixture/DeleteAssessmentFrameworkShareResponse.proto +0/−0
- fixture/DeleteAssessmentReport.yaml +10/−0
- fixture/DeleteAssessmentReportResponse.proto +0/−0
- fixture/DeleteAssessmentResponse.proto +0/−0
- fixture/DeleteControl.yaml +10/−0
- fixture/DeleteControlResponse.proto +0/−0
- fixture/DeregisterAccount.yaml +10/−0
- fixture/DeregisterAccountResponse.proto +0/−0
- fixture/DeregisterOrganizationAdminAccount.yaml +10/−0
- fixture/DeregisterOrganizationAdminAccountResponse.proto +0/−0
- fixture/DisassociateAssessmentReportEvidenceFolder.yaml +10/−0
- fixture/DisassociateAssessmentReportEvidenceFolderResponse.proto +0/−0
- fixture/GetAccountStatus.yaml +10/−0
- fixture/GetAccountStatusResponse.proto +0/−0
- fixture/GetAssessment.yaml +10/−0
- fixture/GetAssessmentFramework.yaml +10/−0
- fixture/GetAssessmentFrameworkResponse.proto +0/−0
- fixture/GetAssessmentReportUrl.yaml +10/−0
- fixture/GetAssessmentReportUrlResponse.proto +0/−0
- fixture/GetAssessmentResponse.proto +0/−0
- fixture/GetChangeLogs.yaml +10/−0
- fixture/GetChangeLogsResponse.proto +0/−0
- fixture/GetControl.yaml +10/−0
- fixture/GetControlResponse.proto +0/−0
- fixture/GetDelegations.yaml +10/−0
- fixture/GetDelegationsResponse.proto +0/−0
- fixture/GetEvidence.yaml +10/−0
- fixture/GetEvidenceByEvidenceFolder.yaml +10/−0
- fixture/GetEvidenceByEvidenceFolderResponse.proto +0/−0
- fixture/GetEvidenceFolder.yaml +10/−0
- fixture/GetEvidenceFolderResponse.proto +0/−0
- fixture/GetEvidenceFoldersByAssessment.yaml +10/−0
- fixture/GetEvidenceFoldersByAssessmentControl.yaml +10/−0
- fixture/GetEvidenceFoldersByAssessmentControlResponse.proto +0/−0
- fixture/GetEvidenceFoldersByAssessmentResponse.proto +0/−0
- fixture/GetEvidenceResponse.proto +0/−0
- fixture/GetInsights.yaml +10/−0
- fixture/GetInsightsByAssessment.yaml +10/−0
- fixture/GetInsightsByAssessmentResponse.proto +0/−0
- fixture/GetInsightsResponse.proto +0/−0
- fixture/GetOrganizationAdminAccount.yaml +10/−0
- fixture/GetOrganizationAdminAccountResponse.proto +0/−0
- fixture/GetServicesInScope.yaml +10/−0
- fixture/GetServicesInScopeResponse.proto +0/−0
- fixture/GetSettings.yaml +10/−0
- fixture/GetSettingsResponse.proto +0/−0
- fixture/ListAssessmentControlInsightsByControlDomain.yaml +10/−0
- fixture/ListAssessmentControlInsightsByControlDomainResponse.proto +0/−0
- fixture/ListAssessmentFrameworkShareRequests.yaml +10/−0
- fixture/ListAssessmentFrameworkShareRequestsResponse.proto +0/−0
- fixture/ListAssessmentFrameworks.yaml +10/−0
- fixture/ListAssessmentFrameworksResponse.proto +0/−0
- fixture/ListAssessmentReports.yaml +10/−0
- fixture/ListAssessmentReportsResponse.proto +0/−0
- fixture/ListAssessments.yaml +10/−0
- fixture/ListAssessmentsResponse.proto +0/−0
- fixture/ListControlDomainInsights.yaml +10/−0
- fixture/ListControlDomainInsightsByAssessment.yaml +10/−0
- fixture/ListControlDomainInsightsByAssessmentResponse.proto +0/−0
- fixture/ListControlDomainInsightsResponse.proto +0/−0
- fixture/ListControlInsightsByControlDomain.yaml +10/−0
- fixture/ListControlInsightsByControlDomainResponse.proto +0/−0
- fixture/ListControls.yaml +10/−0
- fixture/ListControlsResponse.proto +0/−0
- fixture/ListKeywordsForDataSource.yaml +10/−0
- fixture/ListKeywordsForDataSourceResponse.proto +0/−0
- fixture/ListNotifications.yaml +10/−0
- fixture/ListNotificationsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/RegisterAccount.yaml +10/−0
- fixture/RegisterAccountResponse.proto +0/−0
- fixture/RegisterOrganizationAdminAccount.yaml +10/−0
- fixture/RegisterOrganizationAdminAccountResponse.proto +0/−0
- fixture/StartAssessmentFrameworkShare.yaml +10/−0
- fixture/StartAssessmentFrameworkShareResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateAssessment.yaml +10/−0
- fixture/UpdateAssessmentControl.yaml +10/−0
- fixture/UpdateAssessmentControlResponse.proto +0/−0
- fixture/UpdateAssessmentControlSetStatus.yaml +10/−0
- fixture/UpdateAssessmentControlSetStatusResponse.proto +0/−0
- fixture/UpdateAssessmentFramework.yaml +10/−0
- fixture/UpdateAssessmentFrameworkResponse.proto +0/−0
- fixture/UpdateAssessmentFrameworkShare.yaml +10/−0
- fixture/UpdateAssessmentFrameworkShareResponse.proto +0/−0
- fixture/UpdateAssessmentResponse.proto +0/−0
- fixture/UpdateAssessmentStatus.yaml +10/−0
- fixture/UpdateAssessmentStatusResponse.proto +0/−0
- fixture/UpdateControl.yaml +10/−0
- fixture/UpdateControlResponse.proto +0/−0
- fixture/UpdateSettings.yaml +10/−0
- fixture/UpdateSettingsResponse.proto +0/−0
- fixture/ValidateAssessmentReportIntegrity.yaml +10/−0
- fixture/ValidateAssessmentReportIntegrityResponse.proto +0/−0
- gen/Amazonka/AuditManager.hs +814/−0
- gen/Amazonka/AuditManager/AssociateAssessmentReportEvidenceFolder.hs +211/−0
- gen/Amazonka/AuditManager/BatchAssociateAssessmentReportEvidence.hs +252/−0
- gen/Amazonka/AuditManager/BatchCreateDelegationByAssessment.hs +237/−0
- gen/Amazonka/AuditManager/BatchDeleteDelegationByAssessment.hs +222/−0
- gen/Amazonka/AuditManager/BatchDisassociateAssessmentReportEvidence.hs +253/−0
- gen/Amazonka/AuditManager/BatchImportEvidenceToAssessmentControl.hs +283/−0
- gen/Amazonka/AuditManager/CreateAssessment.hs +265/−0
- gen/Amazonka/AuditManager/CreateAssessmentFramework.hs +234/−0
- gen/Amazonka/AuditManager/CreateAssessmentReport.hs +273/−0
- gen/Amazonka/AuditManager/CreateControl.hs +256/−0
- gen/Amazonka/AuditManager/DeleteAssessment.hs +147/−0
- gen/Amazonka/AuditManager/DeleteAssessmentFramework.hs +154/−0
- gen/Amazonka/AuditManager/DeleteAssessmentFrameworkShare.hs +192/−0
- gen/Amazonka/AuditManager/DeleteAssessmentReport.hs +200/−0
- gen/Amazonka/AuditManager/DeleteControl.hs +143/−0
- gen/Amazonka/AuditManager/DeregisterAccount.hs +155/−0
- gen/Amazonka/AuditManager/DeregisterOrganizationAdminAccount.hs +252/−0
- gen/Amazonka/AuditManager/DisassociateAssessmentReportEvidenceFolder.hs +213/−0
- gen/Amazonka/AuditManager/GetAccountStatus.hs +140/−0
- gen/Amazonka/AuditManager/GetAssessment.hs +169/−0
- gen/Amazonka/AuditManager/GetAssessmentFramework.hs +166/−0
- gen/Amazonka/AuditManager/GetAssessmentReportUrl.hs +187/−0
- gen/Amazonka/AuditManager/GetChangeLogs.hs +235/−0
- gen/Amazonka/AuditManager/GetControl.hs +155/−0
- gen/Amazonka/AuditManager/GetDelegations.hs +190/−0
- gen/Amazonka/AuditManager/GetEvidence.hs +214/−0
- gen/Amazonka/AuditManager/GetEvidenceByEvidenceFolder.hs +251/−0
- gen/Amazonka/AuditManager/GetEvidenceFolder.hs +201/−0
- gen/Amazonka/AuditManager/GetEvidenceFoldersByAssessment.hs +235/−0
- gen/Amazonka/AuditManager/GetEvidenceFoldersByAssessmentControl.hs +277/−0
- gen/Amazonka/AuditManager/GetInsights.hs +138/−0
- gen/Amazonka/AuditManager/GetInsightsByAssessment.hs +169/−0
- gen/Amazonka/AuditManager/GetOrganizationAdminAccount.hs +159/−0
- gen/Amazonka/AuditManager/GetServicesInScope.hs +149/−0
- gen/Amazonka/AuditManager/GetSettings.hs +155/−0
- gen/Amazonka/AuditManager/Lens.hs +958/−0
- gen/Amazonka/AuditManager/ListAssessmentControlInsightsByControlDomain.hs +267/−0
- gen/Amazonka/AuditManager/ListAssessmentFrameworkShareRequests.hs +241/−0
- gen/Amazonka/AuditManager/ListAssessmentFrameworks.hs +216/−0
- gen/Amazonka/AuditManager/ListAssessmentReports.hs +197/−0
- gen/Amazonka/AuditManager/ListAssessments.hs +206/−0
- gen/Amazonka/AuditManager/ListControlDomainInsights.hs +206/−0
- gen/Amazonka/AuditManager/ListControlDomainInsightsByAssessment.hs +247/−0
- gen/Amazonka/AuditManager/ListControlInsightsByControlDomain.hs +243/−0
- gen/Amazonka/AuditManager/ListControls.hs +209/−0
- gen/Amazonka/AuditManager/ListKeywordsForDataSource.hs +210/−0
- gen/Amazonka/AuditManager/ListNotifications.hs +190/−0
- gen/Amazonka/AuditManager/ListTagsForResource.hs +159/−0
- gen/Amazonka/AuditManager/RegisterAccount.hs +181/−0
- gen/Amazonka/AuditManager/RegisterOrganizationAdminAccount.hs +206/−0
- gen/Amazonka/AuditManager/StartAssessmentFrameworkShare.hs +275/−0
- gen/Amazonka/AuditManager/TagResource.hs +163/−0
- gen/Amazonka/AuditManager/Types.hs +808/−0
- gen/Amazonka/AuditManager/Types/AWSAccount.hs +110/−0
- gen/Amazonka/AuditManager/Types/AWSService.hs +74/−0
- gen/Amazonka/AuditManager/Types/AccountStatus.hs +76/−0
- gen/Amazonka/AuditManager/Types/ActionEnum.hs +101/−0
- gen/Amazonka/AuditManager/Types/Assessment.hs +125/−0
- gen/Amazonka/AuditManager/Types/AssessmentControl.hs +176/−0
- gen/Amazonka/AuditManager/Types/AssessmentControlSet.hs +169/−0
- gen/Amazonka/AuditManager/Types/AssessmentEvidenceFolder.hs +307/−0
- gen/Amazonka/AuditManager/Types/AssessmentFramework.hs +110/−0
- gen/Amazonka/AuditManager/Types/AssessmentFrameworkMetadata.hs +197/−0
- gen/Amazonka/AuditManager/Types/AssessmentFrameworkShareRequest.hs +262/−0
- gen/Amazonka/AuditManager/Types/AssessmentMetadata.hs +204/−0
- gen/Amazonka/AuditManager/Types/AssessmentMetadataItem.hs +164/−0
- gen/Amazonka/AuditManager/Types/AssessmentReport.hs +173/−0
- gen/Amazonka/AuditManager/Types/AssessmentReportDestinationType.hs +66/−0
- gen/Amazonka/AuditManager/Types/AssessmentReportEvidenceError.hs +101/−0
- gen/Amazonka/AuditManager/Types/AssessmentReportMetadata.hs +159/−0
- gen/Amazonka/AuditManager/Types/AssessmentReportStatus.hs +76/−0
- gen/Amazonka/AuditManager/Types/AssessmentReportsDestination.hs +100/−0
- gen/Amazonka/AuditManager/Types/AssessmentStatus.hs +71/−0
- gen/Amazonka/AuditManager/Types/BatchCreateDelegationByAssessmentError.hs +116/−0
- gen/Amazonka/AuditManager/Types/BatchDeleteDelegationByAssessmentError.hs +115/−0
- gen/Amazonka/AuditManager/Types/BatchImportEvidenceToAssessmentControlError.hs +118/−0
- gen/Amazonka/AuditManager/Types/ChangeLog.hs +132/−0
- gen/Amazonka/AuditManager/Types/Control.hs +248/−0
- gen/Amazonka/AuditManager/Types/ControlComment.hs +97/−0
- gen/Amazonka/AuditManager/Types/ControlDomainInsights.hs +143/−0
- gen/Amazonka/AuditManager/Types/ControlInsightsMetadataByAssessmentItem.hs +140/−0
- gen/Amazonka/AuditManager/Types/ControlInsightsMetadataItem.hs +117/−0
- gen/Amazonka/AuditManager/Types/ControlMappingSource.hs +183/−0
- gen/Amazonka/AuditManager/Types/ControlMetadata.hs +136/−0
- gen/Amazonka/AuditManager/Types/ControlResponse.hs +81/−0
- gen/Amazonka/AuditManager/Types/ControlSet.hs +100/−0
- gen/Amazonka/AuditManager/Types/ControlSetStatus.hs +76/−0
- gen/Amazonka/AuditManager/Types/ControlStatus.hs +76/−0
- gen/Amazonka/AuditManager/Types/ControlType.hs +71/−0
- gen/Amazonka/AuditManager/Types/CreateAssessmentFrameworkControl.hs +76/−0
- gen/Amazonka/AuditManager/Types/CreateAssessmentFrameworkControlSet.hs +101/−0
- gen/Amazonka/AuditManager/Types/CreateControlMappingSource.hs +159/−0
- gen/Amazonka/AuditManager/Types/CreateDelegationRequest.hs +142/−0
- gen/Amazonka/AuditManager/Types/Delegation.hs +221/−0
- gen/Amazonka/AuditManager/Types/DelegationMetadata.hs +145/−0
- gen/Amazonka/AuditManager/Types/DelegationStatus.hs +76/−0
- gen/Amazonka/AuditManager/Types/DeleteResources.hs +71/−0
- gen/Amazonka/AuditManager/Types/DeregistrationPolicy.hs +133/−0
- gen/Amazonka/AuditManager/Types/Evidence.hs +308/−0
- gen/Amazonka/AuditManager/Types/EvidenceFinderBackfillStatus.hs +76/−0
- gen/Amazonka/AuditManager/Types/EvidenceFinderEnablement.hs +215/−0
- gen/Amazonka/AuditManager/Types/EvidenceFinderEnablementStatus.hs +81/−0
- gen/Amazonka/AuditManager/Types/EvidenceInsights.hs +140/−0
- gen/Amazonka/AuditManager/Types/Framework.hs +234/−0
- gen/Amazonka/AuditManager/Types/FrameworkMetadata.hs +112/−0
- gen/Amazonka/AuditManager/Types/FrameworkType.hs +71/−0
- gen/Amazonka/AuditManager/Types/Insights.hs +212/−0
- gen/Amazonka/AuditManager/Types/InsightsByAssessment.hs +200/−0
- gen/Amazonka/AuditManager/Types/KeywordInputType.hs +66/−0
- gen/Amazonka/AuditManager/Types/ManualEvidence.hs +77/−0
- gen/Amazonka/AuditManager/Types/Notification.hs +158/−0
- gen/Amazonka/AuditManager/Types/ObjectTypeEnum.hs +86/−0
- gen/Amazonka/AuditManager/Types/Resource.hs +144/−0
- gen/Amazonka/AuditManager/Types/Role.hs +118/−0
- gen/Amazonka/AuditManager/Types/RoleType.hs +71/−0
- gen/Amazonka/AuditManager/Types/Scope.hs +102/−0
- gen/Amazonka/AuditManager/Types/ServiceMetadata.hs +111/−0
- gen/Amazonka/AuditManager/Types/SettingAttribute.hs +96/−0
- gen/Amazonka/AuditManager/Types/Settings.hs +158/−0
- gen/Amazonka/AuditManager/Types/ShareRequestAction.hs +76/−0
- gen/Amazonka/AuditManager/Types/ShareRequestStatus.hs +101/−0
- gen/Amazonka/AuditManager/Types/ShareRequestType.hs +71/−0
- gen/Amazonka/AuditManager/Types/SourceFrequency.hs +76/−0
- gen/Amazonka/AuditManager/Types/SourceKeyword.hs +237/−0
- gen/Amazonka/AuditManager/Types/SourceSetUpOption.hs +71/−0
- gen/Amazonka/AuditManager/Types/SourceType.hs +86/−0
- gen/Amazonka/AuditManager/Types/URL.hs +85/−0
- gen/Amazonka/AuditManager/Types/UpdateAssessmentFrameworkControlSet.hs +116/−0
- gen/Amazonka/AuditManager/UntagResource.hs +163/−0
- gen/Amazonka/AuditManager/UpdateAssessment.hs +247/−0
- gen/Amazonka/AuditManager/UpdateAssessmentControl.hs +240/−0
- gen/Amazonka/AuditManager/UpdateAssessmentControlSetStatus.hs +248/−0
- gen/Amazonka/AuditManager/UpdateAssessmentFramework.hs +237/−0
- gen/Amazonka/AuditManager/UpdateAssessmentFrameworkShare.hs +230/−0
- gen/Amazonka/AuditManager/UpdateAssessmentStatus.hs +191/−0
- gen/Amazonka/AuditManager/UpdateControl.hs +264/−0
- gen/Amazonka/AuditManager/UpdateSettings.hs +275/−0
- gen/Amazonka/AuditManager/ValidateAssessmentReportIntegrity.hs +262/−0
- gen/Amazonka/AuditManager/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/AuditManager.hs +20/−0
- test/Test/Amazonka/AuditManager/Internal.hs +8/−0
- test/Test/Amazonka/Gen/AuditManager.hs +1258/−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 Audit Manager SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2017-07-25@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-auditmanager)+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.AuditManager](http://hackage.haskell.org/package/amazonka-auditmanager/docs/Amazonka-AuditManager.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-auditmanager` 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-auditmanager.cabal view
@@ -0,0 +1,219 @@+cabal-version: 2.2+name: amazonka-auditmanager+version: 2.0+synopsis: Amazon Audit Manager 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 @2017-07-25@ 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.AuditManager.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.AuditManager" 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-auditmanager++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.AuditManager+ Amazonka.AuditManager.AssociateAssessmentReportEvidenceFolder+ Amazonka.AuditManager.BatchAssociateAssessmentReportEvidence+ Amazonka.AuditManager.BatchCreateDelegationByAssessment+ Amazonka.AuditManager.BatchDeleteDelegationByAssessment+ Amazonka.AuditManager.BatchDisassociateAssessmentReportEvidence+ Amazonka.AuditManager.BatchImportEvidenceToAssessmentControl+ Amazonka.AuditManager.CreateAssessment+ Amazonka.AuditManager.CreateAssessmentFramework+ Amazonka.AuditManager.CreateAssessmentReport+ Amazonka.AuditManager.CreateControl+ Amazonka.AuditManager.DeleteAssessment+ Amazonka.AuditManager.DeleteAssessmentFramework+ Amazonka.AuditManager.DeleteAssessmentFrameworkShare+ Amazonka.AuditManager.DeleteAssessmentReport+ Amazonka.AuditManager.DeleteControl+ Amazonka.AuditManager.DeregisterAccount+ Amazonka.AuditManager.DeregisterOrganizationAdminAccount+ Amazonka.AuditManager.DisassociateAssessmentReportEvidenceFolder+ Amazonka.AuditManager.GetAccountStatus+ Amazonka.AuditManager.GetAssessment+ Amazonka.AuditManager.GetAssessmentFramework+ Amazonka.AuditManager.GetAssessmentReportUrl+ Amazonka.AuditManager.GetChangeLogs+ Amazonka.AuditManager.GetControl+ Amazonka.AuditManager.GetDelegations+ Amazonka.AuditManager.GetEvidence+ Amazonka.AuditManager.GetEvidenceByEvidenceFolder+ Amazonka.AuditManager.GetEvidenceFolder+ Amazonka.AuditManager.GetEvidenceFoldersByAssessment+ Amazonka.AuditManager.GetEvidenceFoldersByAssessmentControl+ Amazonka.AuditManager.GetInsights+ Amazonka.AuditManager.GetInsightsByAssessment+ Amazonka.AuditManager.GetOrganizationAdminAccount+ Amazonka.AuditManager.GetServicesInScope+ Amazonka.AuditManager.GetSettings+ Amazonka.AuditManager.Lens+ Amazonka.AuditManager.ListAssessmentControlInsightsByControlDomain+ Amazonka.AuditManager.ListAssessmentFrameworks+ Amazonka.AuditManager.ListAssessmentFrameworkShareRequests+ Amazonka.AuditManager.ListAssessmentReports+ Amazonka.AuditManager.ListAssessments+ Amazonka.AuditManager.ListControlDomainInsights+ Amazonka.AuditManager.ListControlDomainInsightsByAssessment+ Amazonka.AuditManager.ListControlInsightsByControlDomain+ Amazonka.AuditManager.ListControls+ Amazonka.AuditManager.ListKeywordsForDataSource+ Amazonka.AuditManager.ListNotifications+ Amazonka.AuditManager.ListTagsForResource+ Amazonka.AuditManager.RegisterAccount+ Amazonka.AuditManager.RegisterOrganizationAdminAccount+ Amazonka.AuditManager.StartAssessmentFrameworkShare+ Amazonka.AuditManager.TagResource+ Amazonka.AuditManager.Types+ Amazonka.AuditManager.Types.AccountStatus+ Amazonka.AuditManager.Types.ActionEnum+ Amazonka.AuditManager.Types.Assessment+ Amazonka.AuditManager.Types.AssessmentControl+ Amazonka.AuditManager.Types.AssessmentControlSet+ Amazonka.AuditManager.Types.AssessmentEvidenceFolder+ Amazonka.AuditManager.Types.AssessmentFramework+ Amazonka.AuditManager.Types.AssessmentFrameworkMetadata+ Amazonka.AuditManager.Types.AssessmentFrameworkShareRequest+ Amazonka.AuditManager.Types.AssessmentMetadata+ Amazonka.AuditManager.Types.AssessmentMetadataItem+ Amazonka.AuditManager.Types.AssessmentReport+ Amazonka.AuditManager.Types.AssessmentReportDestinationType+ Amazonka.AuditManager.Types.AssessmentReportEvidenceError+ Amazonka.AuditManager.Types.AssessmentReportMetadata+ Amazonka.AuditManager.Types.AssessmentReportsDestination+ Amazonka.AuditManager.Types.AssessmentReportStatus+ Amazonka.AuditManager.Types.AssessmentStatus+ Amazonka.AuditManager.Types.AWSAccount+ Amazonka.AuditManager.Types.AWSService+ Amazonka.AuditManager.Types.BatchCreateDelegationByAssessmentError+ Amazonka.AuditManager.Types.BatchDeleteDelegationByAssessmentError+ Amazonka.AuditManager.Types.BatchImportEvidenceToAssessmentControlError+ Amazonka.AuditManager.Types.ChangeLog+ Amazonka.AuditManager.Types.Control+ Amazonka.AuditManager.Types.ControlComment+ Amazonka.AuditManager.Types.ControlDomainInsights+ Amazonka.AuditManager.Types.ControlInsightsMetadataByAssessmentItem+ Amazonka.AuditManager.Types.ControlInsightsMetadataItem+ Amazonka.AuditManager.Types.ControlMappingSource+ Amazonka.AuditManager.Types.ControlMetadata+ Amazonka.AuditManager.Types.ControlResponse+ Amazonka.AuditManager.Types.ControlSet+ Amazonka.AuditManager.Types.ControlSetStatus+ Amazonka.AuditManager.Types.ControlStatus+ Amazonka.AuditManager.Types.ControlType+ Amazonka.AuditManager.Types.CreateAssessmentFrameworkControl+ Amazonka.AuditManager.Types.CreateAssessmentFrameworkControlSet+ Amazonka.AuditManager.Types.CreateControlMappingSource+ Amazonka.AuditManager.Types.CreateDelegationRequest+ Amazonka.AuditManager.Types.Delegation+ Amazonka.AuditManager.Types.DelegationMetadata+ Amazonka.AuditManager.Types.DelegationStatus+ Amazonka.AuditManager.Types.DeleteResources+ Amazonka.AuditManager.Types.DeregistrationPolicy+ Amazonka.AuditManager.Types.Evidence+ Amazonka.AuditManager.Types.EvidenceFinderBackfillStatus+ Amazonka.AuditManager.Types.EvidenceFinderEnablement+ Amazonka.AuditManager.Types.EvidenceFinderEnablementStatus+ Amazonka.AuditManager.Types.EvidenceInsights+ Amazonka.AuditManager.Types.Framework+ Amazonka.AuditManager.Types.FrameworkMetadata+ Amazonka.AuditManager.Types.FrameworkType+ Amazonka.AuditManager.Types.Insights+ Amazonka.AuditManager.Types.InsightsByAssessment+ Amazonka.AuditManager.Types.KeywordInputType+ Amazonka.AuditManager.Types.ManualEvidence+ Amazonka.AuditManager.Types.Notification+ Amazonka.AuditManager.Types.ObjectTypeEnum+ Amazonka.AuditManager.Types.Resource+ Amazonka.AuditManager.Types.Role+ Amazonka.AuditManager.Types.RoleType+ Amazonka.AuditManager.Types.Scope+ Amazonka.AuditManager.Types.ServiceMetadata+ Amazonka.AuditManager.Types.SettingAttribute+ Amazonka.AuditManager.Types.Settings+ Amazonka.AuditManager.Types.ShareRequestAction+ Amazonka.AuditManager.Types.ShareRequestStatus+ Amazonka.AuditManager.Types.ShareRequestType+ Amazonka.AuditManager.Types.SourceFrequency+ Amazonka.AuditManager.Types.SourceKeyword+ Amazonka.AuditManager.Types.SourceSetUpOption+ Amazonka.AuditManager.Types.SourceType+ Amazonka.AuditManager.Types.UpdateAssessmentFrameworkControlSet+ Amazonka.AuditManager.Types.URL+ Amazonka.AuditManager.UntagResource+ Amazonka.AuditManager.UpdateAssessment+ Amazonka.AuditManager.UpdateAssessmentControl+ Amazonka.AuditManager.UpdateAssessmentControlSetStatus+ Amazonka.AuditManager.UpdateAssessmentFramework+ Amazonka.AuditManager.UpdateAssessmentFrameworkShare+ Amazonka.AuditManager.UpdateAssessmentStatus+ Amazonka.AuditManager.UpdateControl+ Amazonka.AuditManager.UpdateSettings+ Amazonka.AuditManager.ValidateAssessmentReportIntegrity+ Amazonka.AuditManager.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-auditmanager-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.AuditManager+ Test.Amazonka.AuditManager.Internal+ Test.Amazonka.Gen.AuditManager++ build-depends:+ , amazonka-auditmanager+ , amazonka-core >=2.0 && <2.1+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/AssociateAssessmentReportEvidenceFolder.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/AssociateAssessmentReportEvidenceFolderResponse.proto view
+ fixture/BatchAssociateAssessmentReportEvidence.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/BatchAssociateAssessmentReportEvidenceResponse.proto view
+ fixture/BatchCreateDelegationByAssessment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/BatchCreateDelegationByAssessmentResponse.proto view
+ fixture/BatchDeleteDelegationByAssessment.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/BatchDeleteDelegationByAssessmentResponse.proto view
+ fixture/BatchDisassociateAssessmentReportEvidence.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/BatchDisassociateAssessmentReportEvidenceResponse.proto view
+ fixture/BatchImportEvidenceToAssessmentControl.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/BatchImportEvidenceToAssessmentControlResponse.proto view
+ fixture/CreateAssessment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/CreateAssessmentFramework.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/CreateAssessmentFrameworkResponse.proto view
+ fixture/CreateAssessmentReport.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/CreateAssessmentReportResponse.proto view
+ fixture/CreateAssessmentResponse.proto view
+ fixture/CreateControl.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/CreateControlResponse.proto view
+ fixture/DeleteAssessment.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/DeleteAssessmentFramework.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/DeleteAssessmentFrameworkResponse.proto view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/DeleteAssessmentReport.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/DeleteAssessmentReportResponse.proto view
+ fixture/DeleteAssessmentResponse.proto view
+ fixture/DeleteControl.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/DeleteControlResponse.proto view
+ fixture/DeregisterAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/DeregisterAccountResponse.proto view
+ fixture/DeregisterOrganizationAdminAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/DeregisterOrganizationAdminAccountResponse.proto view
+ fixture/DisassociateAssessmentReportEvidenceFolder.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/DisassociateAssessmentReportEvidenceFolderResponse.proto view
+ fixture/GetAccountStatus.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetAccountStatusResponse.proto view
+ fixture/GetAssessment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetAssessmentFramework.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetAssessmentFrameworkResponse.proto view
+ fixture/GetAssessmentReportUrl.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetAssessmentReportUrlResponse.proto view
+ fixture/GetAssessmentResponse.proto view
+ fixture/GetChangeLogs.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetChangeLogsResponse.proto view
+ fixture/GetControl.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetControlResponse.proto view
+ fixture/GetDelegations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetDelegationsResponse.proto view
+ fixture/GetEvidence.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetEvidenceByEvidenceFolder.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetEvidenceByEvidenceFolderResponse.proto view
+ fixture/GetEvidenceFolder.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetEvidenceFolderResponse.proto view
+ fixture/GetEvidenceFoldersByAssessment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetEvidenceFoldersByAssessmentControl.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetEvidenceFoldersByAssessmentControlResponse.proto view
+ fixture/GetEvidenceFoldersByAssessmentResponse.proto view
+ fixture/GetEvidenceResponse.proto view
+ fixture/GetInsights.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetInsightsByAssessment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetInsightsByAssessmentResponse.proto view
+ fixture/GetInsightsResponse.proto view
+ fixture/GetOrganizationAdminAccount.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetOrganizationAdminAccountResponse.proto view
+ fixture/GetServicesInScope.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetServicesInScopeResponse.proto view
+ fixture/GetSettings.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/GetSettingsResponse.proto view
+ fixture/ListAssessmentControlInsightsByControlDomain.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/ListAssessmentControlInsightsByControlDomainResponse.proto view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/ListAssessmentFrameworks.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/ListAssessmentFrameworksResponse.proto view
+ fixture/ListAssessmentReports.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/ListAssessmentReportsResponse.proto view
+ fixture/ListAssessments.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/ListAssessmentsResponse.proto view
+ fixture/ListControlDomainInsights.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/ListControlDomainInsightsByAssessment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/ListControlDomainInsightsByAssessmentResponse.proto view
+ fixture/ListControlDomainInsightsResponse.proto view
+ fixture/ListControlInsightsByControlDomain.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/ListControlInsightsByControlDomainResponse.proto view
+ fixture/ListControls.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/ListControlsResponse.proto view
+ fixture/ListKeywordsForDataSource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/ListKeywordsForDataSourceResponse.proto view
+ fixture/ListNotifications.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/ListNotificationsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/ListTagsForResourceResponse.proto view
+ fixture/RegisterAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/RegisterAccountResponse.proto view
+ fixture/RegisterOrganizationAdminAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/RegisterOrganizationAdminAccountResponse.proto view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/UntagResourceResponse.proto view
+ fixture/UpdateAssessment.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/UpdateAssessmentControl.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/UpdateAssessmentControlResponse.proto view
+ fixture/UpdateAssessmentControlSetStatus.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/UpdateAssessmentControlSetStatusResponse.proto view
+ fixture/UpdateAssessmentFramework.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/UpdateAssessmentFrameworkResponse.proto view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/UpdateAssessmentResponse.proto view
+ fixture/UpdateAssessmentStatus.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/UpdateAssessmentStatusResponse.proto view
+ fixture/UpdateControl.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/UpdateControlResponse.proto view
+ fixture/UpdateSettings.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/UpdateSettingsResponse.proto view
+ fixture/ValidateAssessmentReportIntegrity.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/auditmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: auditmanager.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/ValidateAssessmentReportIntegrityResponse.proto view
+ gen/Amazonka/AuditManager.hs view
@@ -0,0 +1,814 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.AuditManager+-- 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 @2017-07-25@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Welcome to the Audit Manager API reference. This guide is for developers+-- who need detailed information about the Audit Manager API operations,+-- data types, and errors.+--+-- Audit Manager is a service that provides automated evidence collection+-- so that you can continually audit your Amazon Web Services usage. You+-- can use it to assess the effectiveness of your controls, manage risk,+-- and simplify compliance.+--+-- Audit Manager provides prebuilt frameworks that structure and automate+-- assessments for a given compliance standard. Frameworks include a+-- prebuilt collection of controls with descriptions and testing+-- procedures. These controls are grouped according to the requirements of+-- the specified compliance standard or regulation. You can also customize+-- frameworks and controls to support internal audits with specific+-- requirements.+--+-- Use the following links to get started with the Audit Manager API:+--+-- - <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_Operations.html Actions>:+-- An alphabetical list of all Audit Manager API operations.+--+-- - <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_Types.html Data types>:+-- An alphabetical list of all Audit Manager data types.+--+-- - <https://docs.aws.amazon.com/audit-manager/latest/APIReference/CommonParameters.html Common parameters>:+-- Parameters that all operations can use.+--+-- - <https://docs.aws.amazon.com/audit-manager/latest/APIReference/CommonErrors.html Common errors>:+-- Client and server errors that all operations can return.+--+-- If you\'re new to Audit Manager, we recommend that you review the+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/what-is.html Audit Manager User Guide>.+module Amazonka.AuditManager+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceQuotaExceededException+ _ServiceQuotaExceededException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** AssociateAssessmentReportEvidenceFolder+ AssociateAssessmentReportEvidenceFolder (AssociateAssessmentReportEvidenceFolder'),+ newAssociateAssessmentReportEvidenceFolder,+ AssociateAssessmentReportEvidenceFolderResponse (AssociateAssessmentReportEvidenceFolderResponse'),+ newAssociateAssessmentReportEvidenceFolderResponse,++ -- ** BatchAssociateAssessmentReportEvidence+ BatchAssociateAssessmentReportEvidence (BatchAssociateAssessmentReportEvidence'),+ newBatchAssociateAssessmentReportEvidence,+ BatchAssociateAssessmentReportEvidenceResponse (BatchAssociateAssessmentReportEvidenceResponse'),+ newBatchAssociateAssessmentReportEvidenceResponse,++ -- ** BatchCreateDelegationByAssessment+ BatchCreateDelegationByAssessment (BatchCreateDelegationByAssessment'),+ newBatchCreateDelegationByAssessment,+ BatchCreateDelegationByAssessmentResponse (BatchCreateDelegationByAssessmentResponse'),+ newBatchCreateDelegationByAssessmentResponse,++ -- ** BatchDeleteDelegationByAssessment+ BatchDeleteDelegationByAssessment (BatchDeleteDelegationByAssessment'),+ newBatchDeleteDelegationByAssessment,+ BatchDeleteDelegationByAssessmentResponse (BatchDeleteDelegationByAssessmentResponse'),+ newBatchDeleteDelegationByAssessmentResponse,++ -- ** BatchDisassociateAssessmentReportEvidence+ BatchDisassociateAssessmentReportEvidence (BatchDisassociateAssessmentReportEvidence'),+ newBatchDisassociateAssessmentReportEvidence,+ BatchDisassociateAssessmentReportEvidenceResponse (BatchDisassociateAssessmentReportEvidenceResponse'),+ newBatchDisassociateAssessmentReportEvidenceResponse,++ -- ** BatchImportEvidenceToAssessmentControl+ BatchImportEvidenceToAssessmentControl (BatchImportEvidenceToAssessmentControl'),+ newBatchImportEvidenceToAssessmentControl,+ BatchImportEvidenceToAssessmentControlResponse (BatchImportEvidenceToAssessmentControlResponse'),+ newBatchImportEvidenceToAssessmentControlResponse,++ -- ** CreateAssessment+ CreateAssessment (CreateAssessment'),+ newCreateAssessment,+ CreateAssessmentResponse (CreateAssessmentResponse'),+ newCreateAssessmentResponse,++ -- ** CreateAssessmentFramework+ CreateAssessmentFramework (CreateAssessmentFramework'),+ newCreateAssessmentFramework,+ CreateAssessmentFrameworkResponse (CreateAssessmentFrameworkResponse'),+ newCreateAssessmentFrameworkResponse,++ -- ** CreateAssessmentReport+ CreateAssessmentReport (CreateAssessmentReport'),+ newCreateAssessmentReport,+ CreateAssessmentReportResponse (CreateAssessmentReportResponse'),+ newCreateAssessmentReportResponse,++ -- ** CreateControl+ CreateControl (CreateControl'),+ newCreateControl,+ CreateControlResponse (CreateControlResponse'),+ newCreateControlResponse,++ -- ** DeleteAssessment+ DeleteAssessment (DeleteAssessment'),+ newDeleteAssessment,+ DeleteAssessmentResponse (DeleteAssessmentResponse'),+ newDeleteAssessmentResponse,++ -- ** DeleteAssessmentFramework+ DeleteAssessmentFramework (DeleteAssessmentFramework'),+ newDeleteAssessmentFramework,+ DeleteAssessmentFrameworkResponse (DeleteAssessmentFrameworkResponse'),+ newDeleteAssessmentFrameworkResponse,++ -- ** DeleteAssessmentFrameworkShare+ DeleteAssessmentFrameworkShare (DeleteAssessmentFrameworkShare'),+ newDeleteAssessmentFrameworkShare,+ DeleteAssessmentFrameworkShareResponse (DeleteAssessmentFrameworkShareResponse'),+ newDeleteAssessmentFrameworkShareResponse,++ -- ** DeleteAssessmentReport+ DeleteAssessmentReport (DeleteAssessmentReport'),+ newDeleteAssessmentReport,+ DeleteAssessmentReportResponse (DeleteAssessmentReportResponse'),+ newDeleteAssessmentReportResponse,++ -- ** DeleteControl+ DeleteControl (DeleteControl'),+ newDeleteControl,+ DeleteControlResponse (DeleteControlResponse'),+ newDeleteControlResponse,++ -- ** DeregisterAccount+ DeregisterAccount (DeregisterAccount'),+ newDeregisterAccount,+ DeregisterAccountResponse (DeregisterAccountResponse'),+ newDeregisterAccountResponse,++ -- ** DeregisterOrganizationAdminAccount+ DeregisterOrganizationAdminAccount (DeregisterOrganizationAdminAccount'),+ newDeregisterOrganizationAdminAccount,+ DeregisterOrganizationAdminAccountResponse (DeregisterOrganizationAdminAccountResponse'),+ newDeregisterOrganizationAdminAccountResponse,++ -- ** DisassociateAssessmentReportEvidenceFolder+ DisassociateAssessmentReportEvidenceFolder (DisassociateAssessmentReportEvidenceFolder'),+ newDisassociateAssessmentReportEvidenceFolder,+ DisassociateAssessmentReportEvidenceFolderResponse (DisassociateAssessmentReportEvidenceFolderResponse'),+ newDisassociateAssessmentReportEvidenceFolderResponse,++ -- ** GetAccountStatus+ GetAccountStatus (GetAccountStatus'),+ newGetAccountStatus,+ GetAccountStatusResponse (GetAccountStatusResponse'),+ newGetAccountStatusResponse,++ -- ** GetAssessment+ GetAssessment (GetAssessment'),+ newGetAssessment,+ GetAssessmentResponse (GetAssessmentResponse'),+ newGetAssessmentResponse,++ -- ** GetAssessmentFramework+ GetAssessmentFramework (GetAssessmentFramework'),+ newGetAssessmentFramework,+ GetAssessmentFrameworkResponse (GetAssessmentFrameworkResponse'),+ newGetAssessmentFrameworkResponse,++ -- ** GetAssessmentReportUrl+ GetAssessmentReportUrl (GetAssessmentReportUrl'),+ newGetAssessmentReportUrl,+ GetAssessmentReportUrlResponse (GetAssessmentReportUrlResponse'),+ newGetAssessmentReportUrlResponse,++ -- ** GetChangeLogs+ GetChangeLogs (GetChangeLogs'),+ newGetChangeLogs,+ GetChangeLogsResponse (GetChangeLogsResponse'),+ newGetChangeLogsResponse,++ -- ** GetControl+ GetControl (GetControl'),+ newGetControl,+ GetControlResponse (GetControlResponse'),+ newGetControlResponse,++ -- ** GetDelegations+ GetDelegations (GetDelegations'),+ newGetDelegations,+ GetDelegationsResponse (GetDelegationsResponse'),+ newGetDelegationsResponse,++ -- ** GetEvidence+ GetEvidence (GetEvidence'),+ newGetEvidence,+ GetEvidenceResponse (GetEvidenceResponse'),+ newGetEvidenceResponse,++ -- ** GetEvidenceByEvidenceFolder+ GetEvidenceByEvidenceFolder (GetEvidenceByEvidenceFolder'),+ newGetEvidenceByEvidenceFolder,+ GetEvidenceByEvidenceFolderResponse (GetEvidenceByEvidenceFolderResponse'),+ newGetEvidenceByEvidenceFolderResponse,++ -- ** GetEvidenceFolder+ GetEvidenceFolder (GetEvidenceFolder'),+ newGetEvidenceFolder,+ GetEvidenceFolderResponse (GetEvidenceFolderResponse'),+ newGetEvidenceFolderResponse,++ -- ** GetEvidenceFoldersByAssessment+ GetEvidenceFoldersByAssessment (GetEvidenceFoldersByAssessment'),+ newGetEvidenceFoldersByAssessment,+ GetEvidenceFoldersByAssessmentResponse (GetEvidenceFoldersByAssessmentResponse'),+ newGetEvidenceFoldersByAssessmentResponse,++ -- ** GetEvidenceFoldersByAssessmentControl+ GetEvidenceFoldersByAssessmentControl (GetEvidenceFoldersByAssessmentControl'),+ newGetEvidenceFoldersByAssessmentControl,+ GetEvidenceFoldersByAssessmentControlResponse (GetEvidenceFoldersByAssessmentControlResponse'),+ newGetEvidenceFoldersByAssessmentControlResponse,++ -- ** GetInsights+ GetInsights (GetInsights'),+ newGetInsights,+ GetInsightsResponse (GetInsightsResponse'),+ newGetInsightsResponse,++ -- ** GetInsightsByAssessment+ GetInsightsByAssessment (GetInsightsByAssessment'),+ newGetInsightsByAssessment,+ GetInsightsByAssessmentResponse (GetInsightsByAssessmentResponse'),+ newGetInsightsByAssessmentResponse,++ -- ** GetOrganizationAdminAccount+ GetOrganizationAdminAccount (GetOrganizationAdminAccount'),+ newGetOrganizationAdminAccount,+ GetOrganizationAdminAccountResponse (GetOrganizationAdminAccountResponse'),+ newGetOrganizationAdminAccountResponse,++ -- ** GetServicesInScope+ GetServicesInScope (GetServicesInScope'),+ newGetServicesInScope,+ GetServicesInScopeResponse (GetServicesInScopeResponse'),+ newGetServicesInScopeResponse,++ -- ** GetSettings+ GetSettings (GetSettings'),+ newGetSettings,+ GetSettingsResponse (GetSettingsResponse'),+ newGetSettingsResponse,++ -- ** ListAssessmentControlInsightsByControlDomain+ ListAssessmentControlInsightsByControlDomain (ListAssessmentControlInsightsByControlDomain'),+ newListAssessmentControlInsightsByControlDomain,+ ListAssessmentControlInsightsByControlDomainResponse (ListAssessmentControlInsightsByControlDomainResponse'),+ newListAssessmentControlInsightsByControlDomainResponse,++ -- ** ListAssessmentFrameworkShareRequests+ ListAssessmentFrameworkShareRequests (ListAssessmentFrameworkShareRequests'),+ newListAssessmentFrameworkShareRequests,+ ListAssessmentFrameworkShareRequestsResponse (ListAssessmentFrameworkShareRequestsResponse'),+ newListAssessmentFrameworkShareRequestsResponse,++ -- ** ListAssessmentFrameworks+ ListAssessmentFrameworks (ListAssessmentFrameworks'),+ newListAssessmentFrameworks,+ ListAssessmentFrameworksResponse (ListAssessmentFrameworksResponse'),+ newListAssessmentFrameworksResponse,++ -- ** ListAssessmentReports+ ListAssessmentReports (ListAssessmentReports'),+ newListAssessmentReports,+ ListAssessmentReportsResponse (ListAssessmentReportsResponse'),+ newListAssessmentReportsResponse,++ -- ** ListAssessments+ ListAssessments (ListAssessments'),+ newListAssessments,+ ListAssessmentsResponse (ListAssessmentsResponse'),+ newListAssessmentsResponse,++ -- ** ListControlDomainInsights+ ListControlDomainInsights (ListControlDomainInsights'),+ newListControlDomainInsights,+ ListControlDomainInsightsResponse (ListControlDomainInsightsResponse'),+ newListControlDomainInsightsResponse,++ -- ** ListControlDomainInsightsByAssessment+ ListControlDomainInsightsByAssessment (ListControlDomainInsightsByAssessment'),+ newListControlDomainInsightsByAssessment,+ ListControlDomainInsightsByAssessmentResponse (ListControlDomainInsightsByAssessmentResponse'),+ newListControlDomainInsightsByAssessmentResponse,++ -- ** ListControlInsightsByControlDomain+ ListControlInsightsByControlDomain (ListControlInsightsByControlDomain'),+ newListControlInsightsByControlDomain,+ ListControlInsightsByControlDomainResponse (ListControlInsightsByControlDomainResponse'),+ newListControlInsightsByControlDomainResponse,++ -- ** ListControls+ ListControls (ListControls'),+ newListControls,+ ListControlsResponse (ListControlsResponse'),+ newListControlsResponse,++ -- ** ListKeywordsForDataSource+ ListKeywordsForDataSource (ListKeywordsForDataSource'),+ newListKeywordsForDataSource,+ ListKeywordsForDataSourceResponse (ListKeywordsForDataSourceResponse'),+ newListKeywordsForDataSourceResponse,++ -- ** ListNotifications+ ListNotifications (ListNotifications'),+ newListNotifications,+ ListNotificationsResponse (ListNotificationsResponse'),+ newListNotificationsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** RegisterAccount+ RegisterAccount (RegisterAccount'),+ newRegisterAccount,+ RegisterAccountResponse (RegisterAccountResponse'),+ newRegisterAccountResponse,++ -- ** RegisterOrganizationAdminAccount+ RegisterOrganizationAdminAccount (RegisterOrganizationAdminAccount'),+ newRegisterOrganizationAdminAccount,+ RegisterOrganizationAdminAccountResponse (RegisterOrganizationAdminAccountResponse'),+ newRegisterOrganizationAdminAccountResponse,++ -- ** StartAssessmentFrameworkShare+ StartAssessmentFrameworkShare (StartAssessmentFrameworkShare'),+ newStartAssessmentFrameworkShare,+ StartAssessmentFrameworkShareResponse (StartAssessmentFrameworkShareResponse'),+ newStartAssessmentFrameworkShareResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateAssessment+ UpdateAssessment (UpdateAssessment'),+ newUpdateAssessment,+ UpdateAssessmentResponse (UpdateAssessmentResponse'),+ newUpdateAssessmentResponse,++ -- ** UpdateAssessmentControl+ UpdateAssessmentControl (UpdateAssessmentControl'),+ newUpdateAssessmentControl,+ UpdateAssessmentControlResponse (UpdateAssessmentControlResponse'),+ newUpdateAssessmentControlResponse,++ -- ** UpdateAssessmentControlSetStatus+ UpdateAssessmentControlSetStatus (UpdateAssessmentControlSetStatus'),+ newUpdateAssessmentControlSetStatus,+ UpdateAssessmentControlSetStatusResponse (UpdateAssessmentControlSetStatusResponse'),+ newUpdateAssessmentControlSetStatusResponse,++ -- ** UpdateAssessmentFramework+ UpdateAssessmentFramework (UpdateAssessmentFramework'),+ newUpdateAssessmentFramework,+ UpdateAssessmentFrameworkResponse (UpdateAssessmentFrameworkResponse'),+ newUpdateAssessmentFrameworkResponse,++ -- ** UpdateAssessmentFrameworkShare+ UpdateAssessmentFrameworkShare (UpdateAssessmentFrameworkShare'),+ newUpdateAssessmentFrameworkShare,+ UpdateAssessmentFrameworkShareResponse (UpdateAssessmentFrameworkShareResponse'),+ newUpdateAssessmentFrameworkShareResponse,++ -- ** UpdateAssessmentStatus+ UpdateAssessmentStatus (UpdateAssessmentStatus'),+ newUpdateAssessmentStatus,+ UpdateAssessmentStatusResponse (UpdateAssessmentStatusResponse'),+ newUpdateAssessmentStatusResponse,++ -- ** UpdateControl+ UpdateControl (UpdateControl'),+ newUpdateControl,+ UpdateControlResponse (UpdateControlResponse'),+ newUpdateControlResponse,++ -- ** UpdateSettings+ UpdateSettings (UpdateSettings'),+ newUpdateSettings,+ UpdateSettingsResponse (UpdateSettingsResponse'),+ newUpdateSettingsResponse,++ -- ** ValidateAssessmentReportIntegrity+ ValidateAssessmentReportIntegrity (ValidateAssessmentReportIntegrity'),+ newValidateAssessmentReportIntegrity,+ ValidateAssessmentReportIntegrityResponse (ValidateAssessmentReportIntegrityResponse'),+ newValidateAssessmentReportIntegrityResponse,++ -- * Types++ -- ** AccountStatus+ AccountStatus (..),++ -- ** ActionEnum+ ActionEnum (..),++ -- ** AssessmentReportDestinationType+ AssessmentReportDestinationType (..),++ -- ** AssessmentReportStatus+ AssessmentReportStatus (..),++ -- ** AssessmentStatus+ AssessmentStatus (..),++ -- ** ControlResponse+ ControlResponse (..),++ -- ** ControlSetStatus+ ControlSetStatus (..),++ -- ** ControlStatus+ ControlStatus (..),++ -- ** ControlType+ ControlType (..),++ -- ** DelegationStatus+ DelegationStatus (..),++ -- ** DeleteResources+ DeleteResources (..),++ -- ** EvidenceFinderBackfillStatus+ EvidenceFinderBackfillStatus (..),++ -- ** EvidenceFinderEnablementStatus+ EvidenceFinderEnablementStatus (..),++ -- ** FrameworkType+ FrameworkType (..),++ -- ** KeywordInputType+ KeywordInputType (..),++ -- ** ObjectTypeEnum+ ObjectTypeEnum (..),++ -- ** RoleType+ RoleType (..),++ -- ** SettingAttribute+ SettingAttribute (..),++ -- ** ShareRequestAction+ ShareRequestAction (..),++ -- ** ShareRequestStatus+ ShareRequestStatus (..),++ -- ** ShareRequestType+ ShareRequestType (..),++ -- ** SourceFrequency+ SourceFrequency (..),++ -- ** SourceSetUpOption+ SourceSetUpOption (..),++ -- ** SourceType+ SourceType (..),++ -- ** AWSAccount+ AWSAccount (AWSAccount'),+ newAWSAccount,++ -- ** AWSService+ AWSService (AWSService'),+ newAWSService,++ -- ** Assessment+ Assessment (Assessment'),+ newAssessment,++ -- ** AssessmentControl+ AssessmentControl (AssessmentControl'),+ newAssessmentControl,++ -- ** AssessmentControlSet+ AssessmentControlSet (AssessmentControlSet'),+ newAssessmentControlSet,++ -- ** AssessmentEvidenceFolder+ AssessmentEvidenceFolder (AssessmentEvidenceFolder'),+ newAssessmentEvidenceFolder,++ -- ** AssessmentFramework+ AssessmentFramework (AssessmentFramework'),+ newAssessmentFramework,++ -- ** AssessmentFrameworkMetadata+ AssessmentFrameworkMetadata (AssessmentFrameworkMetadata'),+ newAssessmentFrameworkMetadata,++ -- ** AssessmentFrameworkShareRequest+ AssessmentFrameworkShareRequest (AssessmentFrameworkShareRequest'),+ newAssessmentFrameworkShareRequest,++ -- ** AssessmentMetadata+ AssessmentMetadata (AssessmentMetadata'),+ newAssessmentMetadata,++ -- ** AssessmentMetadataItem+ AssessmentMetadataItem (AssessmentMetadataItem'),+ newAssessmentMetadataItem,++ -- ** AssessmentReport+ AssessmentReport (AssessmentReport'),+ newAssessmentReport,++ -- ** AssessmentReportEvidenceError+ AssessmentReportEvidenceError (AssessmentReportEvidenceError'),+ newAssessmentReportEvidenceError,++ -- ** AssessmentReportMetadata+ AssessmentReportMetadata (AssessmentReportMetadata'),+ newAssessmentReportMetadata,++ -- ** AssessmentReportsDestination+ AssessmentReportsDestination (AssessmentReportsDestination'),+ newAssessmentReportsDestination,++ -- ** BatchCreateDelegationByAssessmentError+ BatchCreateDelegationByAssessmentError (BatchCreateDelegationByAssessmentError'),+ newBatchCreateDelegationByAssessmentError,++ -- ** BatchDeleteDelegationByAssessmentError+ BatchDeleteDelegationByAssessmentError (BatchDeleteDelegationByAssessmentError'),+ newBatchDeleteDelegationByAssessmentError,++ -- ** BatchImportEvidenceToAssessmentControlError+ BatchImportEvidenceToAssessmentControlError (BatchImportEvidenceToAssessmentControlError'),+ newBatchImportEvidenceToAssessmentControlError,++ -- ** ChangeLog+ ChangeLog (ChangeLog'),+ newChangeLog,++ -- ** Control+ Control (Control'),+ newControl,++ -- ** ControlComment+ ControlComment (ControlComment'),+ newControlComment,++ -- ** ControlDomainInsights+ ControlDomainInsights (ControlDomainInsights'),+ newControlDomainInsights,++ -- ** ControlInsightsMetadataByAssessmentItem+ ControlInsightsMetadataByAssessmentItem (ControlInsightsMetadataByAssessmentItem'),+ newControlInsightsMetadataByAssessmentItem,++ -- ** ControlInsightsMetadataItem+ ControlInsightsMetadataItem (ControlInsightsMetadataItem'),+ newControlInsightsMetadataItem,++ -- ** ControlMappingSource+ ControlMappingSource (ControlMappingSource'),+ newControlMappingSource,++ -- ** ControlMetadata+ ControlMetadata (ControlMetadata'),+ newControlMetadata,++ -- ** ControlSet+ ControlSet (ControlSet'),+ newControlSet,++ -- ** CreateAssessmentFrameworkControl+ CreateAssessmentFrameworkControl (CreateAssessmentFrameworkControl'),+ newCreateAssessmentFrameworkControl,++ -- ** CreateAssessmentFrameworkControlSet+ CreateAssessmentFrameworkControlSet (CreateAssessmentFrameworkControlSet'),+ newCreateAssessmentFrameworkControlSet,++ -- ** CreateControlMappingSource+ CreateControlMappingSource (CreateControlMappingSource'),+ newCreateControlMappingSource,++ -- ** CreateDelegationRequest+ CreateDelegationRequest (CreateDelegationRequest'),+ newCreateDelegationRequest,++ -- ** Delegation+ Delegation (Delegation'),+ newDelegation,++ -- ** DelegationMetadata+ DelegationMetadata (DelegationMetadata'),+ newDelegationMetadata,++ -- ** DeregistrationPolicy+ DeregistrationPolicy (DeregistrationPolicy'),+ newDeregistrationPolicy,++ -- ** Evidence+ Evidence (Evidence'),+ newEvidence,++ -- ** EvidenceFinderEnablement+ EvidenceFinderEnablement (EvidenceFinderEnablement'),+ newEvidenceFinderEnablement,++ -- ** EvidenceInsights+ EvidenceInsights (EvidenceInsights'),+ newEvidenceInsights,++ -- ** Framework+ Framework (Framework'),+ newFramework,++ -- ** FrameworkMetadata+ FrameworkMetadata (FrameworkMetadata'),+ newFrameworkMetadata,++ -- ** Insights+ Insights (Insights'),+ newInsights,++ -- ** InsightsByAssessment+ InsightsByAssessment (InsightsByAssessment'),+ newInsightsByAssessment,++ -- ** ManualEvidence+ ManualEvidence (ManualEvidence'),+ newManualEvidence,++ -- ** Notification+ Notification (Notification'),+ newNotification,++ -- ** Resource+ Resource (Resource'),+ newResource,++ -- ** Role+ Role (Role'),+ newRole,++ -- ** Scope+ Scope (Scope'),+ newScope,++ -- ** ServiceMetadata+ ServiceMetadata (ServiceMetadata'),+ newServiceMetadata,++ -- ** Settings+ Settings (Settings'),+ newSettings,++ -- ** SourceKeyword+ SourceKeyword (SourceKeyword'),+ newSourceKeyword,++ -- ** URL+ URL (URL'),+ newURL,++ -- ** UpdateAssessmentFrameworkControlSet+ UpdateAssessmentFrameworkControlSet (UpdateAssessmentFrameworkControlSet'),+ newUpdateAssessmentFrameworkControlSet,+ )+where++import Amazonka.AuditManager.AssociateAssessmentReportEvidenceFolder+import Amazonka.AuditManager.BatchAssociateAssessmentReportEvidence+import Amazonka.AuditManager.BatchCreateDelegationByAssessment+import Amazonka.AuditManager.BatchDeleteDelegationByAssessment+import Amazonka.AuditManager.BatchDisassociateAssessmentReportEvidence+import Amazonka.AuditManager.BatchImportEvidenceToAssessmentControl+import Amazonka.AuditManager.CreateAssessment+import Amazonka.AuditManager.CreateAssessmentFramework+import Amazonka.AuditManager.CreateAssessmentReport+import Amazonka.AuditManager.CreateControl+import Amazonka.AuditManager.DeleteAssessment+import Amazonka.AuditManager.DeleteAssessmentFramework+import Amazonka.AuditManager.DeleteAssessmentFrameworkShare+import Amazonka.AuditManager.DeleteAssessmentReport+import Amazonka.AuditManager.DeleteControl+import Amazonka.AuditManager.DeregisterAccount+import Amazonka.AuditManager.DeregisterOrganizationAdminAccount+import Amazonka.AuditManager.DisassociateAssessmentReportEvidenceFolder+import Amazonka.AuditManager.GetAccountStatus+import Amazonka.AuditManager.GetAssessment+import Amazonka.AuditManager.GetAssessmentFramework+import Amazonka.AuditManager.GetAssessmentReportUrl+import Amazonka.AuditManager.GetChangeLogs+import Amazonka.AuditManager.GetControl+import Amazonka.AuditManager.GetDelegations+import Amazonka.AuditManager.GetEvidence+import Amazonka.AuditManager.GetEvidenceByEvidenceFolder+import Amazonka.AuditManager.GetEvidenceFolder+import Amazonka.AuditManager.GetEvidenceFoldersByAssessment+import Amazonka.AuditManager.GetEvidenceFoldersByAssessmentControl+import Amazonka.AuditManager.GetInsights+import Amazonka.AuditManager.GetInsightsByAssessment+import Amazonka.AuditManager.GetOrganizationAdminAccount+import Amazonka.AuditManager.GetServicesInScope+import Amazonka.AuditManager.GetSettings+import Amazonka.AuditManager.Lens+import Amazonka.AuditManager.ListAssessmentControlInsightsByControlDomain+import Amazonka.AuditManager.ListAssessmentFrameworkShareRequests+import Amazonka.AuditManager.ListAssessmentFrameworks+import Amazonka.AuditManager.ListAssessmentReports+import Amazonka.AuditManager.ListAssessments+import Amazonka.AuditManager.ListControlDomainInsights+import Amazonka.AuditManager.ListControlDomainInsightsByAssessment+import Amazonka.AuditManager.ListControlInsightsByControlDomain+import Amazonka.AuditManager.ListControls+import Amazonka.AuditManager.ListKeywordsForDataSource+import Amazonka.AuditManager.ListNotifications+import Amazonka.AuditManager.ListTagsForResource+import Amazonka.AuditManager.RegisterAccount+import Amazonka.AuditManager.RegisterOrganizationAdminAccount+import Amazonka.AuditManager.StartAssessmentFrameworkShare+import Amazonka.AuditManager.TagResource+import Amazonka.AuditManager.Types+import Amazonka.AuditManager.UntagResource+import Amazonka.AuditManager.UpdateAssessment+import Amazonka.AuditManager.UpdateAssessmentControl+import Amazonka.AuditManager.UpdateAssessmentControlSetStatus+import Amazonka.AuditManager.UpdateAssessmentFramework+import Amazonka.AuditManager.UpdateAssessmentFrameworkShare+import Amazonka.AuditManager.UpdateAssessmentStatus+import Amazonka.AuditManager.UpdateControl+import Amazonka.AuditManager.UpdateSettings+import Amazonka.AuditManager.ValidateAssessmentReportIntegrity+import Amazonka.AuditManager.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 'AuditManager'.++-- $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/AuditManager/AssociateAssessmentReportEvidenceFolder.hs view
@@ -0,0 +1,211 @@+{-# 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.AuditManager.AssociateAssessmentReportEvidenceFolder+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates an evidence folder to an assessment report in an Audit+-- Manager assessment.+module Amazonka.AuditManager.AssociateAssessmentReportEvidenceFolder+ ( -- * Creating a Request+ AssociateAssessmentReportEvidenceFolder (..),+ newAssociateAssessmentReportEvidenceFolder,++ -- * Request Lenses+ associateAssessmentReportEvidenceFolder_assessmentId,+ associateAssessmentReportEvidenceFolder_evidenceFolderId,++ -- * Destructuring the Response+ AssociateAssessmentReportEvidenceFolderResponse (..),+ newAssociateAssessmentReportEvidenceFolderResponse,++ -- * Response Lenses+ associateAssessmentReportEvidenceFolderResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newAssociateAssessmentReportEvidenceFolder' smart constructor.+data AssociateAssessmentReportEvidenceFolder = AssociateAssessmentReportEvidenceFolder'+ { -- | The identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The identifier for the folder that the evidence is stored in.+ evidenceFolderId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateAssessmentReportEvidenceFolder' 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:+--+-- 'assessmentId', 'associateAssessmentReportEvidenceFolder_assessmentId' - The identifier for the assessment.+--+-- 'evidenceFolderId', 'associateAssessmentReportEvidenceFolder_evidenceFolderId' - The identifier for the folder that the evidence is stored in.+newAssociateAssessmentReportEvidenceFolder ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'evidenceFolderId'+ Prelude.Text ->+ AssociateAssessmentReportEvidenceFolder+newAssociateAssessmentReportEvidenceFolder+ pAssessmentId_+ pEvidenceFolderId_ =+ AssociateAssessmentReportEvidenceFolder'+ { assessmentId =+ pAssessmentId_,+ evidenceFolderId =+ pEvidenceFolderId_+ }++-- | The identifier for the assessment.+associateAssessmentReportEvidenceFolder_assessmentId :: Lens.Lens' AssociateAssessmentReportEvidenceFolder Prelude.Text+associateAssessmentReportEvidenceFolder_assessmentId = Lens.lens (\AssociateAssessmentReportEvidenceFolder' {assessmentId} -> assessmentId) (\s@AssociateAssessmentReportEvidenceFolder' {} a -> s {assessmentId = a} :: AssociateAssessmentReportEvidenceFolder)++-- | The identifier for the folder that the evidence is stored in.+associateAssessmentReportEvidenceFolder_evidenceFolderId :: Lens.Lens' AssociateAssessmentReportEvidenceFolder Prelude.Text+associateAssessmentReportEvidenceFolder_evidenceFolderId = Lens.lens (\AssociateAssessmentReportEvidenceFolder' {evidenceFolderId} -> evidenceFolderId) (\s@AssociateAssessmentReportEvidenceFolder' {} a -> s {evidenceFolderId = a} :: AssociateAssessmentReportEvidenceFolder)++instance+ Core.AWSRequest+ AssociateAssessmentReportEvidenceFolder+ where+ type+ AWSResponse+ AssociateAssessmentReportEvidenceFolder =+ AssociateAssessmentReportEvidenceFolderResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ AssociateAssessmentReportEvidenceFolderResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ AssociateAssessmentReportEvidenceFolder+ where+ hashWithSalt+ _salt+ AssociateAssessmentReportEvidenceFolder' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` evidenceFolderId++instance+ Prelude.NFData+ AssociateAssessmentReportEvidenceFolder+ where+ rnf AssociateAssessmentReportEvidenceFolder' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf evidenceFolderId++instance+ Data.ToHeaders+ AssociateAssessmentReportEvidenceFolder+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ AssociateAssessmentReportEvidenceFolder+ where+ toJSON AssociateAssessmentReportEvidenceFolder' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("evidenceFolderId" Data..= evidenceFolderId)+ ]+ )++instance+ Data.ToPath+ AssociateAssessmentReportEvidenceFolder+ where+ toPath AssociateAssessmentReportEvidenceFolder' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/associateToAssessmentReport"+ ]++instance+ Data.ToQuery+ AssociateAssessmentReportEvidenceFolder+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateAssessmentReportEvidenceFolderResponse' smart constructor.+data AssociateAssessmentReportEvidenceFolderResponse = AssociateAssessmentReportEvidenceFolderResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateAssessmentReportEvidenceFolderResponse' 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', 'associateAssessmentReportEvidenceFolderResponse_httpStatus' - The response's http status code.+newAssociateAssessmentReportEvidenceFolderResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AssociateAssessmentReportEvidenceFolderResponse+newAssociateAssessmentReportEvidenceFolderResponse+ pHttpStatus_ =+ AssociateAssessmentReportEvidenceFolderResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+associateAssessmentReportEvidenceFolderResponse_httpStatus :: Lens.Lens' AssociateAssessmentReportEvidenceFolderResponse Prelude.Int+associateAssessmentReportEvidenceFolderResponse_httpStatus = Lens.lens (\AssociateAssessmentReportEvidenceFolderResponse' {httpStatus} -> httpStatus) (\s@AssociateAssessmentReportEvidenceFolderResponse' {} a -> s {httpStatus = a} :: AssociateAssessmentReportEvidenceFolderResponse)++instance+ Prelude.NFData+ AssociateAssessmentReportEvidenceFolderResponse+ where+ rnf+ AssociateAssessmentReportEvidenceFolderResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/BatchAssociateAssessmentReportEvidence.hs view
@@ -0,0 +1,252 @@+{-# 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.AuditManager.BatchAssociateAssessmentReportEvidence+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a list of evidence to an assessment report in an Audit+-- Manager assessment.+module Amazonka.AuditManager.BatchAssociateAssessmentReportEvidence+ ( -- * Creating a Request+ BatchAssociateAssessmentReportEvidence (..),+ newBatchAssociateAssessmentReportEvidence,++ -- * Request Lenses+ batchAssociateAssessmentReportEvidence_assessmentId,+ batchAssociateAssessmentReportEvidence_evidenceFolderId,+ batchAssociateAssessmentReportEvidence_evidenceIds,++ -- * Destructuring the Response+ BatchAssociateAssessmentReportEvidenceResponse (..),+ newBatchAssociateAssessmentReportEvidenceResponse,++ -- * Response Lenses+ batchAssociateAssessmentReportEvidenceResponse_errors,+ batchAssociateAssessmentReportEvidenceResponse_evidenceIds,+ batchAssociateAssessmentReportEvidenceResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newBatchAssociateAssessmentReportEvidence' smart constructor.+data BatchAssociateAssessmentReportEvidence = BatchAssociateAssessmentReportEvidence'+ { -- | The identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The identifier for the folder that the evidence is stored in.+ evidenceFolderId :: Prelude.Text,+ -- | The list of evidence identifiers.+ evidenceIds :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchAssociateAssessmentReportEvidence' 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:+--+-- 'assessmentId', 'batchAssociateAssessmentReportEvidence_assessmentId' - The identifier for the assessment.+--+-- 'evidenceFolderId', 'batchAssociateAssessmentReportEvidence_evidenceFolderId' - The identifier for the folder that the evidence is stored in.+--+-- 'evidenceIds', 'batchAssociateAssessmentReportEvidence_evidenceIds' - The list of evidence identifiers.+newBatchAssociateAssessmentReportEvidence ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'evidenceFolderId'+ Prelude.Text ->+ BatchAssociateAssessmentReportEvidence+newBatchAssociateAssessmentReportEvidence+ pAssessmentId_+ pEvidenceFolderId_ =+ BatchAssociateAssessmentReportEvidence'+ { assessmentId =+ pAssessmentId_,+ evidenceFolderId =+ pEvidenceFolderId_,+ evidenceIds = Prelude.mempty+ }++-- | The identifier for the assessment.+batchAssociateAssessmentReportEvidence_assessmentId :: Lens.Lens' BatchAssociateAssessmentReportEvidence Prelude.Text+batchAssociateAssessmentReportEvidence_assessmentId = Lens.lens (\BatchAssociateAssessmentReportEvidence' {assessmentId} -> assessmentId) (\s@BatchAssociateAssessmentReportEvidence' {} a -> s {assessmentId = a} :: BatchAssociateAssessmentReportEvidence)++-- | The identifier for the folder that the evidence is stored in.+batchAssociateAssessmentReportEvidence_evidenceFolderId :: Lens.Lens' BatchAssociateAssessmentReportEvidence Prelude.Text+batchAssociateAssessmentReportEvidence_evidenceFolderId = Lens.lens (\BatchAssociateAssessmentReportEvidence' {evidenceFolderId} -> evidenceFolderId) (\s@BatchAssociateAssessmentReportEvidence' {} a -> s {evidenceFolderId = a} :: BatchAssociateAssessmentReportEvidence)++-- | The list of evidence identifiers.+batchAssociateAssessmentReportEvidence_evidenceIds :: Lens.Lens' BatchAssociateAssessmentReportEvidence [Prelude.Text]+batchAssociateAssessmentReportEvidence_evidenceIds = Lens.lens (\BatchAssociateAssessmentReportEvidence' {evidenceIds} -> evidenceIds) (\s@BatchAssociateAssessmentReportEvidence' {} a -> s {evidenceIds = a} :: BatchAssociateAssessmentReportEvidence) Prelude.. Lens.coerced++instance+ Core.AWSRequest+ BatchAssociateAssessmentReportEvidence+ where+ type+ AWSResponse+ BatchAssociateAssessmentReportEvidence =+ BatchAssociateAssessmentReportEvidenceResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchAssociateAssessmentReportEvidenceResponse'+ Prelude.<$> (x Data..?> "errors" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "evidenceIds" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ BatchAssociateAssessmentReportEvidence+ where+ hashWithSalt+ _salt+ BatchAssociateAssessmentReportEvidence' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` evidenceFolderId+ `Prelude.hashWithSalt` evidenceIds++instance+ Prelude.NFData+ BatchAssociateAssessmentReportEvidence+ where+ rnf BatchAssociateAssessmentReportEvidence' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf evidenceFolderId+ `Prelude.seq` Prelude.rnf evidenceIds++instance+ Data.ToHeaders+ BatchAssociateAssessmentReportEvidence+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ BatchAssociateAssessmentReportEvidence+ where+ toJSON BatchAssociateAssessmentReportEvidence' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("evidenceFolderId" Data..= evidenceFolderId),+ Prelude.Just ("evidenceIds" Data..= evidenceIds)+ ]+ )++instance+ Data.ToPath+ BatchAssociateAssessmentReportEvidence+ where+ toPath BatchAssociateAssessmentReportEvidence' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/batchAssociateToAssessmentReport"+ ]++instance+ Data.ToQuery+ BatchAssociateAssessmentReportEvidence+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchAssociateAssessmentReportEvidenceResponse' smart constructor.+data BatchAssociateAssessmentReportEvidenceResponse = BatchAssociateAssessmentReportEvidenceResponse'+ { -- | A list of errors that the @BatchAssociateAssessmentReportEvidence@ API+ -- returned.+ errors :: Prelude.Maybe [AssessmentReportEvidenceError],+ -- | The list of evidence identifiers.+ evidenceIds :: 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 'BatchAssociateAssessmentReportEvidenceResponse' 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:+--+-- 'errors', 'batchAssociateAssessmentReportEvidenceResponse_errors' - A list of errors that the @BatchAssociateAssessmentReportEvidence@ API+-- returned.+--+-- 'evidenceIds', 'batchAssociateAssessmentReportEvidenceResponse_evidenceIds' - The list of evidence identifiers.+--+-- 'httpStatus', 'batchAssociateAssessmentReportEvidenceResponse_httpStatus' - The response's http status code.+newBatchAssociateAssessmentReportEvidenceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchAssociateAssessmentReportEvidenceResponse+newBatchAssociateAssessmentReportEvidenceResponse+ pHttpStatus_ =+ BatchAssociateAssessmentReportEvidenceResponse'+ { errors =+ Prelude.Nothing,+ evidenceIds =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of errors that the @BatchAssociateAssessmentReportEvidence@ API+-- returned.+batchAssociateAssessmentReportEvidenceResponse_errors :: Lens.Lens' BatchAssociateAssessmentReportEvidenceResponse (Prelude.Maybe [AssessmentReportEvidenceError])+batchAssociateAssessmentReportEvidenceResponse_errors = Lens.lens (\BatchAssociateAssessmentReportEvidenceResponse' {errors} -> errors) (\s@BatchAssociateAssessmentReportEvidenceResponse' {} a -> s {errors = a} :: BatchAssociateAssessmentReportEvidenceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The list of evidence identifiers.+batchAssociateAssessmentReportEvidenceResponse_evidenceIds :: Lens.Lens' BatchAssociateAssessmentReportEvidenceResponse (Prelude.Maybe [Prelude.Text])+batchAssociateAssessmentReportEvidenceResponse_evidenceIds = Lens.lens (\BatchAssociateAssessmentReportEvidenceResponse' {evidenceIds} -> evidenceIds) (\s@BatchAssociateAssessmentReportEvidenceResponse' {} a -> s {evidenceIds = a} :: BatchAssociateAssessmentReportEvidenceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchAssociateAssessmentReportEvidenceResponse_httpStatus :: Lens.Lens' BatchAssociateAssessmentReportEvidenceResponse Prelude.Int+batchAssociateAssessmentReportEvidenceResponse_httpStatus = Lens.lens (\BatchAssociateAssessmentReportEvidenceResponse' {httpStatus} -> httpStatus) (\s@BatchAssociateAssessmentReportEvidenceResponse' {} a -> s {httpStatus = a} :: BatchAssociateAssessmentReportEvidenceResponse)++instance+ Prelude.NFData+ BatchAssociateAssessmentReportEvidenceResponse+ where+ rnf+ BatchAssociateAssessmentReportEvidenceResponse' {..} =+ Prelude.rnf errors+ `Prelude.seq` Prelude.rnf evidenceIds+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/BatchCreateDelegationByAssessment.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.AuditManager.BatchCreateDelegationByAssessment+-- 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 batch of delegations for an assessment in Audit Manager.+module Amazonka.AuditManager.BatchCreateDelegationByAssessment+ ( -- * Creating a Request+ BatchCreateDelegationByAssessment (..),+ newBatchCreateDelegationByAssessment,++ -- * Request Lenses+ batchCreateDelegationByAssessment_createDelegationRequests,+ batchCreateDelegationByAssessment_assessmentId,++ -- * Destructuring the Response+ BatchCreateDelegationByAssessmentResponse (..),+ newBatchCreateDelegationByAssessmentResponse,++ -- * Response Lenses+ batchCreateDelegationByAssessmentResponse_delegations,+ batchCreateDelegationByAssessmentResponse_errors,+ batchCreateDelegationByAssessmentResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newBatchCreateDelegationByAssessment' smart constructor.+data BatchCreateDelegationByAssessment = BatchCreateDelegationByAssessment'+ { -- | The API request to batch create delegations in Audit Manager.+ createDelegationRequests :: Prelude.NonEmpty CreateDelegationRequest,+ -- | The identifier for the assessment.+ assessmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchCreateDelegationByAssessment' 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:+--+-- 'createDelegationRequests', 'batchCreateDelegationByAssessment_createDelegationRequests' - The API request to batch create delegations in Audit Manager.+--+-- 'assessmentId', 'batchCreateDelegationByAssessment_assessmentId' - The identifier for the assessment.+newBatchCreateDelegationByAssessment ::+ -- | 'createDelegationRequests'+ Prelude.NonEmpty CreateDelegationRequest ->+ -- | 'assessmentId'+ Prelude.Text ->+ BatchCreateDelegationByAssessment+newBatchCreateDelegationByAssessment+ pCreateDelegationRequests_+ pAssessmentId_ =+ BatchCreateDelegationByAssessment'+ { createDelegationRequests =+ Lens.coerced+ Lens.# pCreateDelegationRequests_,+ assessmentId = pAssessmentId_+ }++-- | The API request to batch create delegations in Audit Manager.+batchCreateDelegationByAssessment_createDelegationRequests :: Lens.Lens' BatchCreateDelegationByAssessment (Prelude.NonEmpty CreateDelegationRequest)+batchCreateDelegationByAssessment_createDelegationRequests = Lens.lens (\BatchCreateDelegationByAssessment' {createDelegationRequests} -> createDelegationRequests) (\s@BatchCreateDelegationByAssessment' {} a -> s {createDelegationRequests = a} :: BatchCreateDelegationByAssessment) Prelude.. Lens.coerced++-- | The identifier for the assessment.+batchCreateDelegationByAssessment_assessmentId :: Lens.Lens' BatchCreateDelegationByAssessment Prelude.Text+batchCreateDelegationByAssessment_assessmentId = Lens.lens (\BatchCreateDelegationByAssessment' {assessmentId} -> assessmentId) (\s@BatchCreateDelegationByAssessment' {} a -> s {assessmentId = a} :: BatchCreateDelegationByAssessment)++instance+ Core.AWSRequest+ BatchCreateDelegationByAssessment+ where+ type+ AWSResponse BatchCreateDelegationByAssessment =+ BatchCreateDelegationByAssessmentResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchCreateDelegationByAssessmentResponse'+ Prelude.<$> (x Data..?> "delegations" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "errors" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ BatchCreateDelegationByAssessment+ where+ hashWithSalt+ _salt+ BatchCreateDelegationByAssessment' {..} =+ _salt+ `Prelude.hashWithSalt` createDelegationRequests+ `Prelude.hashWithSalt` assessmentId++instance+ Prelude.NFData+ BatchCreateDelegationByAssessment+ where+ rnf BatchCreateDelegationByAssessment' {..} =+ Prelude.rnf createDelegationRequests+ `Prelude.seq` Prelude.rnf assessmentId++instance+ Data.ToHeaders+ BatchCreateDelegationByAssessment+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ BatchCreateDelegationByAssessment+ where+ toJSON BatchCreateDelegationByAssessment' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "createDelegationRequests"+ Data..= createDelegationRequests+ )+ ]+ )++instance+ Data.ToPath+ BatchCreateDelegationByAssessment+ where+ toPath BatchCreateDelegationByAssessment' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/delegations"+ ]++instance+ Data.ToQuery+ BatchCreateDelegationByAssessment+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchCreateDelegationByAssessmentResponse' smart constructor.+data BatchCreateDelegationByAssessmentResponse = BatchCreateDelegationByAssessmentResponse'+ { -- | The delegations that are associated with the assessment.+ delegations :: Prelude.Maybe [Delegation],+ -- | A list of errors that the @BatchCreateDelegationByAssessment@ API+ -- returned.+ errors :: Prelude.Maybe [BatchCreateDelegationByAssessmentError],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchCreateDelegationByAssessmentResponse' 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:+--+-- 'delegations', 'batchCreateDelegationByAssessmentResponse_delegations' - The delegations that are associated with the assessment.+--+-- 'errors', 'batchCreateDelegationByAssessmentResponse_errors' - A list of errors that the @BatchCreateDelegationByAssessment@ API+-- returned.+--+-- 'httpStatus', 'batchCreateDelegationByAssessmentResponse_httpStatus' - The response's http status code.+newBatchCreateDelegationByAssessmentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchCreateDelegationByAssessmentResponse+newBatchCreateDelegationByAssessmentResponse+ pHttpStatus_ =+ BatchCreateDelegationByAssessmentResponse'+ { delegations =+ Prelude.Nothing,+ errors = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The delegations that are associated with the assessment.+batchCreateDelegationByAssessmentResponse_delegations :: Lens.Lens' BatchCreateDelegationByAssessmentResponse (Prelude.Maybe [Delegation])+batchCreateDelegationByAssessmentResponse_delegations = Lens.lens (\BatchCreateDelegationByAssessmentResponse' {delegations} -> delegations) (\s@BatchCreateDelegationByAssessmentResponse' {} a -> s {delegations = a} :: BatchCreateDelegationByAssessmentResponse) Prelude.. Lens.mapping Lens.coerced++-- | A list of errors that the @BatchCreateDelegationByAssessment@ API+-- returned.+batchCreateDelegationByAssessmentResponse_errors :: Lens.Lens' BatchCreateDelegationByAssessmentResponse (Prelude.Maybe [BatchCreateDelegationByAssessmentError])+batchCreateDelegationByAssessmentResponse_errors = Lens.lens (\BatchCreateDelegationByAssessmentResponse' {errors} -> errors) (\s@BatchCreateDelegationByAssessmentResponse' {} a -> s {errors = a} :: BatchCreateDelegationByAssessmentResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchCreateDelegationByAssessmentResponse_httpStatus :: Lens.Lens' BatchCreateDelegationByAssessmentResponse Prelude.Int+batchCreateDelegationByAssessmentResponse_httpStatus = Lens.lens (\BatchCreateDelegationByAssessmentResponse' {httpStatus} -> httpStatus) (\s@BatchCreateDelegationByAssessmentResponse' {} a -> s {httpStatus = a} :: BatchCreateDelegationByAssessmentResponse)++instance+ Prelude.NFData+ BatchCreateDelegationByAssessmentResponse+ where+ rnf BatchCreateDelegationByAssessmentResponse' {..} =+ Prelude.rnf delegations+ `Prelude.seq` Prelude.rnf errors+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/BatchDeleteDelegationByAssessment.hs view
@@ -0,0 +1,222 @@+{-# 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.AuditManager.BatchDeleteDelegationByAssessment+-- 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 a batch of delegations for an assessment in Audit Manager.+module Amazonka.AuditManager.BatchDeleteDelegationByAssessment+ ( -- * Creating a Request+ BatchDeleteDelegationByAssessment (..),+ newBatchDeleteDelegationByAssessment,++ -- * Request Lenses+ batchDeleteDelegationByAssessment_delegationIds,+ batchDeleteDelegationByAssessment_assessmentId,++ -- * Destructuring the Response+ BatchDeleteDelegationByAssessmentResponse (..),+ newBatchDeleteDelegationByAssessmentResponse,++ -- * Response Lenses+ batchDeleteDelegationByAssessmentResponse_errors,+ batchDeleteDelegationByAssessmentResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newBatchDeleteDelegationByAssessment' smart constructor.+data BatchDeleteDelegationByAssessment = BatchDeleteDelegationByAssessment'+ { -- | The identifiers for the delegations.+ delegationIds :: Prelude.NonEmpty Prelude.Text,+ -- | The identifier for the assessment.+ assessmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDeleteDelegationByAssessment' 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:+--+-- 'delegationIds', 'batchDeleteDelegationByAssessment_delegationIds' - The identifiers for the delegations.+--+-- 'assessmentId', 'batchDeleteDelegationByAssessment_assessmentId' - The identifier for the assessment.+newBatchDeleteDelegationByAssessment ::+ -- | 'delegationIds'+ Prelude.NonEmpty Prelude.Text ->+ -- | 'assessmentId'+ Prelude.Text ->+ BatchDeleteDelegationByAssessment+newBatchDeleteDelegationByAssessment+ pDelegationIds_+ pAssessmentId_ =+ BatchDeleteDelegationByAssessment'+ { delegationIds =+ Lens.coerced Lens.# pDelegationIds_,+ assessmentId = pAssessmentId_+ }++-- | The identifiers for the delegations.+batchDeleteDelegationByAssessment_delegationIds :: Lens.Lens' BatchDeleteDelegationByAssessment (Prelude.NonEmpty Prelude.Text)+batchDeleteDelegationByAssessment_delegationIds = Lens.lens (\BatchDeleteDelegationByAssessment' {delegationIds} -> delegationIds) (\s@BatchDeleteDelegationByAssessment' {} a -> s {delegationIds = a} :: BatchDeleteDelegationByAssessment) Prelude.. Lens.coerced++-- | The identifier for the assessment.+batchDeleteDelegationByAssessment_assessmentId :: Lens.Lens' BatchDeleteDelegationByAssessment Prelude.Text+batchDeleteDelegationByAssessment_assessmentId = Lens.lens (\BatchDeleteDelegationByAssessment' {assessmentId} -> assessmentId) (\s@BatchDeleteDelegationByAssessment' {} a -> s {assessmentId = a} :: BatchDeleteDelegationByAssessment)++instance+ Core.AWSRequest+ BatchDeleteDelegationByAssessment+ where+ type+ AWSResponse BatchDeleteDelegationByAssessment =+ BatchDeleteDelegationByAssessmentResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchDeleteDelegationByAssessmentResponse'+ Prelude.<$> (x Data..?> "errors" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ BatchDeleteDelegationByAssessment+ where+ hashWithSalt+ _salt+ BatchDeleteDelegationByAssessment' {..} =+ _salt+ `Prelude.hashWithSalt` delegationIds+ `Prelude.hashWithSalt` assessmentId++instance+ Prelude.NFData+ BatchDeleteDelegationByAssessment+ where+ rnf BatchDeleteDelegationByAssessment' {..} =+ Prelude.rnf delegationIds+ `Prelude.seq` Prelude.rnf assessmentId++instance+ Data.ToHeaders+ BatchDeleteDelegationByAssessment+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ BatchDeleteDelegationByAssessment+ where+ toJSON BatchDeleteDelegationByAssessment' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("delegationIds" Data..= delegationIds)+ ]+ )++instance+ Data.ToPath+ BatchDeleteDelegationByAssessment+ where+ toPath BatchDeleteDelegationByAssessment' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/delegations"+ ]++instance+ Data.ToQuery+ BatchDeleteDelegationByAssessment+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchDeleteDelegationByAssessmentResponse' smart constructor.+data BatchDeleteDelegationByAssessmentResponse = BatchDeleteDelegationByAssessmentResponse'+ { -- | A list of errors that the @BatchDeleteDelegationByAssessment@ API+ -- returned.+ errors :: Prelude.Maybe [BatchDeleteDelegationByAssessmentError],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDeleteDelegationByAssessmentResponse' 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:+--+-- 'errors', 'batchDeleteDelegationByAssessmentResponse_errors' - A list of errors that the @BatchDeleteDelegationByAssessment@ API+-- returned.+--+-- 'httpStatus', 'batchDeleteDelegationByAssessmentResponse_httpStatus' - The response's http status code.+newBatchDeleteDelegationByAssessmentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchDeleteDelegationByAssessmentResponse+newBatchDeleteDelegationByAssessmentResponse+ pHttpStatus_ =+ BatchDeleteDelegationByAssessmentResponse'+ { errors =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of errors that the @BatchDeleteDelegationByAssessment@ API+-- returned.+batchDeleteDelegationByAssessmentResponse_errors :: Lens.Lens' BatchDeleteDelegationByAssessmentResponse (Prelude.Maybe [BatchDeleteDelegationByAssessmentError])+batchDeleteDelegationByAssessmentResponse_errors = Lens.lens (\BatchDeleteDelegationByAssessmentResponse' {errors} -> errors) (\s@BatchDeleteDelegationByAssessmentResponse' {} a -> s {errors = a} :: BatchDeleteDelegationByAssessmentResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchDeleteDelegationByAssessmentResponse_httpStatus :: Lens.Lens' BatchDeleteDelegationByAssessmentResponse Prelude.Int+batchDeleteDelegationByAssessmentResponse_httpStatus = Lens.lens (\BatchDeleteDelegationByAssessmentResponse' {httpStatus} -> httpStatus) (\s@BatchDeleteDelegationByAssessmentResponse' {} a -> s {httpStatus = a} :: BatchDeleteDelegationByAssessmentResponse)++instance+ Prelude.NFData+ BatchDeleteDelegationByAssessmentResponse+ where+ rnf BatchDeleteDelegationByAssessmentResponse' {..} =+ Prelude.rnf errors+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/BatchDisassociateAssessmentReportEvidence.hs view
@@ -0,0 +1,253 @@+{-# 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.AuditManager.BatchDisassociateAssessmentReportEvidence+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a list of evidence from an assessment report in Audit+-- Manager.+module Amazonka.AuditManager.BatchDisassociateAssessmentReportEvidence+ ( -- * Creating a Request+ BatchDisassociateAssessmentReportEvidence (..),+ newBatchDisassociateAssessmentReportEvidence,++ -- * Request Lenses+ batchDisassociateAssessmentReportEvidence_assessmentId,+ batchDisassociateAssessmentReportEvidence_evidenceFolderId,+ batchDisassociateAssessmentReportEvidence_evidenceIds,++ -- * Destructuring the Response+ BatchDisassociateAssessmentReportEvidenceResponse (..),+ newBatchDisassociateAssessmentReportEvidenceResponse,++ -- * Response Lenses+ batchDisassociateAssessmentReportEvidenceResponse_errors,+ batchDisassociateAssessmentReportEvidenceResponse_evidenceIds,+ batchDisassociateAssessmentReportEvidenceResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newBatchDisassociateAssessmentReportEvidence' smart constructor.+data BatchDisassociateAssessmentReportEvidence = BatchDisassociateAssessmentReportEvidence'+ { -- | The identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The identifier for the folder that the evidence is stored in.+ evidenceFolderId :: Prelude.Text,+ -- | The list of evidence identifiers.+ evidenceIds :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDisassociateAssessmentReportEvidence' 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:+--+-- 'assessmentId', 'batchDisassociateAssessmentReportEvidence_assessmentId' - The identifier for the assessment.+--+-- 'evidenceFolderId', 'batchDisassociateAssessmentReportEvidence_evidenceFolderId' - The identifier for the folder that the evidence is stored in.+--+-- 'evidenceIds', 'batchDisassociateAssessmentReportEvidence_evidenceIds' - The list of evidence identifiers.+newBatchDisassociateAssessmentReportEvidence ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'evidenceFolderId'+ Prelude.Text ->+ BatchDisassociateAssessmentReportEvidence+newBatchDisassociateAssessmentReportEvidence+ pAssessmentId_+ pEvidenceFolderId_ =+ BatchDisassociateAssessmentReportEvidence'+ { assessmentId =+ pAssessmentId_,+ evidenceFolderId =+ pEvidenceFolderId_,+ evidenceIds = Prelude.mempty+ }++-- | The identifier for the assessment.+batchDisassociateAssessmentReportEvidence_assessmentId :: Lens.Lens' BatchDisassociateAssessmentReportEvidence Prelude.Text+batchDisassociateAssessmentReportEvidence_assessmentId = Lens.lens (\BatchDisassociateAssessmentReportEvidence' {assessmentId} -> assessmentId) (\s@BatchDisassociateAssessmentReportEvidence' {} a -> s {assessmentId = a} :: BatchDisassociateAssessmentReportEvidence)++-- | The identifier for the folder that the evidence is stored in.+batchDisassociateAssessmentReportEvidence_evidenceFolderId :: Lens.Lens' BatchDisassociateAssessmentReportEvidence Prelude.Text+batchDisassociateAssessmentReportEvidence_evidenceFolderId = Lens.lens (\BatchDisassociateAssessmentReportEvidence' {evidenceFolderId} -> evidenceFolderId) (\s@BatchDisassociateAssessmentReportEvidence' {} a -> s {evidenceFolderId = a} :: BatchDisassociateAssessmentReportEvidence)++-- | The list of evidence identifiers.+batchDisassociateAssessmentReportEvidence_evidenceIds :: Lens.Lens' BatchDisassociateAssessmentReportEvidence [Prelude.Text]+batchDisassociateAssessmentReportEvidence_evidenceIds = Lens.lens (\BatchDisassociateAssessmentReportEvidence' {evidenceIds} -> evidenceIds) (\s@BatchDisassociateAssessmentReportEvidence' {} a -> s {evidenceIds = a} :: BatchDisassociateAssessmentReportEvidence) Prelude.. Lens.coerced++instance+ Core.AWSRequest+ BatchDisassociateAssessmentReportEvidence+ where+ type+ AWSResponse+ BatchDisassociateAssessmentReportEvidence =+ BatchDisassociateAssessmentReportEvidenceResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchDisassociateAssessmentReportEvidenceResponse'+ Prelude.<$> (x Data..?> "errors" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "evidenceIds" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ BatchDisassociateAssessmentReportEvidence+ where+ hashWithSalt+ _salt+ BatchDisassociateAssessmentReportEvidence' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` evidenceFolderId+ `Prelude.hashWithSalt` evidenceIds++instance+ Prelude.NFData+ BatchDisassociateAssessmentReportEvidence+ where+ rnf BatchDisassociateAssessmentReportEvidence' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf evidenceFolderId+ `Prelude.seq` Prelude.rnf evidenceIds++instance+ Data.ToHeaders+ BatchDisassociateAssessmentReportEvidence+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ BatchDisassociateAssessmentReportEvidence+ where+ toJSON BatchDisassociateAssessmentReportEvidence' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("evidenceFolderId" Data..= evidenceFolderId),+ Prelude.Just ("evidenceIds" Data..= evidenceIds)+ ]+ )++instance+ Data.ToPath+ BatchDisassociateAssessmentReportEvidence+ where+ toPath BatchDisassociateAssessmentReportEvidence' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/batchDisassociateFromAssessmentReport"+ ]++instance+ Data.ToQuery+ BatchDisassociateAssessmentReportEvidence+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchDisassociateAssessmentReportEvidenceResponse' smart constructor.+data BatchDisassociateAssessmentReportEvidenceResponse = BatchDisassociateAssessmentReportEvidenceResponse'+ { -- | A list of errors that the @BatchDisassociateAssessmentReportEvidence@+ -- API returned.+ errors :: Prelude.Maybe [AssessmentReportEvidenceError],+ -- | The identifier for the evidence.+ evidenceIds :: 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 'BatchDisassociateAssessmentReportEvidenceResponse' 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:+--+-- 'errors', 'batchDisassociateAssessmentReportEvidenceResponse_errors' - A list of errors that the @BatchDisassociateAssessmentReportEvidence@+-- API returned.+--+-- 'evidenceIds', 'batchDisassociateAssessmentReportEvidenceResponse_evidenceIds' - The identifier for the evidence.+--+-- 'httpStatus', 'batchDisassociateAssessmentReportEvidenceResponse_httpStatus' - The response's http status code.+newBatchDisassociateAssessmentReportEvidenceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchDisassociateAssessmentReportEvidenceResponse+newBatchDisassociateAssessmentReportEvidenceResponse+ pHttpStatus_ =+ BatchDisassociateAssessmentReportEvidenceResponse'+ { errors =+ Prelude.Nothing,+ evidenceIds =+ Prelude.Nothing,+ httpStatus =+ pHttpStatus_+ }++-- | A list of errors that the @BatchDisassociateAssessmentReportEvidence@+-- API returned.+batchDisassociateAssessmentReportEvidenceResponse_errors :: Lens.Lens' BatchDisassociateAssessmentReportEvidenceResponse (Prelude.Maybe [AssessmentReportEvidenceError])+batchDisassociateAssessmentReportEvidenceResponse_errors = Lens.lens (\BatchDisassociateAssessmentReportEvidenceResponse' {errors} -> errors) (\s@BatchDisassociateAssessmentReportEvidenceResponse' {} a -> s {errors = a} :: BatchDisassociateAssessmentReportEvidenceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The identifier for the evidence.+batchDisassociateAssessmentReportEvidenceResponse_evidenceIds :: Lens.Lens' BatchDisassociateAssessmentReportEvidenceResponse (Prelude.Maybe [Prelude.Text])+batchDisassociateAssessmentReportEvidenceResponse_evidenceIds = Lens.lens (\BatchDisassociateAssessmentReportEvidenceResponse' {evidenceIds} -> evidenceIds) (\s@BatchDisassociateAssessmentReportEvidenceResponse' {} a -> s {evidenceIds = a} :: BatchDisassociateAssessmentReportEvidenceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchDisassociateAssessmentReportEvidenceResponse_httpStatus :: Lens.Lens' BatchDisassociateAssessmentReportEvidenceResponse Prelude.Int+batchDisassociateAssessmentReportEvidenceResponse_httpStatus = Lens.lens (\BatchDisassociateAssessmentReportEvidenceResponse' {httpStatus} -> httpStatus) (\s@BatchDisassociateAssessmentReportEvidenceResponse' {} a -> s {httpStatus = a} :: BatchDisassociateAssessmentReportEvidenceResponse)++instance+ Prelude.NFData+ BatchDisassociateAssessmentReportEvidenceResponse+ where+ rnf+ BatchDisassociateAssessmentReportEvidenceResponse' {..} =+ Prelude.rnf errors+ `Prelude.seq` Prelude.rnf evidenceIds+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/BatchImportEvidenceToAssessmentControl.hs view
@@ -0,0 +1,283 @@+{-# 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.AuditManager.BatchImportEvidenceToAssessmentControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Uploads one or more pieces of evidence to a control in an Audit Manager+-- assessment. You can upload manual evidence from any Amazon Simple+-- Storage Service (Amazon S3) bucket by specifying the S3 URI of the+-- evidence.+--+-- You must upload manual evidence to your S3 bucket before you can upload+-- it to your assessment. For instructions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html PutObject>+-- in the /Amazon Simple Storage Service API Reference./+--+-- The following restrictions apply to this action:+--+-- - Maximum size of an individual evidence file: 100 MB+--+-- - Number of daily manual evidence uploads per control: 100+--+-- - Supported file formats: See+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/upload-evidence.html#supported-manual-evidence-files Supported file types for manual evidence>+-- in the /Audit Manager User Guide/+--+-- For more information about Audit Manager service restrictions, see+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/service-quotas.html Quotas and restrictions for Audit Manager>.+module Amazonka.AuditManager.BatchImportEvidenceToAssessmentControl+ ( -- * Creating a Request+ BatchImportEvidenceToAssessmentControl (..),+ newBatchImportEvidenceToAssessmentControl,++ -- * Request Lenses+ batchImportEvidenceToAssessmentControl_assessmentId,+ batchImportEvidenceToAssessmentControl_controlSetId,+ batchImportEvidenceToAssessmentControl_controlId,+ batchImportEvidenceToAssessmentControl_manualEvidence,++ -- * Destructuring the Response+ BatchImportEvidenceToAssessmentControlResponse (..),+ newBatchImportEvidenceToAssessmentControlResponse,++ -- * Response Lenses+ batchImportEvidenceToAssessmentControlResponse_errors,+ batchImportEvidenceToAssessmentControlResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newBatchImportEvidenceToAssessmentControl' smart constructor.+data BatchImportEvidenceToAssessmentControl = BatchImportEvidenceToAssessmentControl'+ { -- | The identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The identifier for the control set.+ controlSetId :: Prelude.Text,+ -- | The identifier for the control.+ controlId :: Prelude.Text,+ -- | The list of manual evidence objects.+ manualEvidence :: Prelude.NonEmpty ManualEvidence+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchImportEvidenceToAssessmentControl' 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:+--+-- 'assessmentId', 'batchImportEvidenceToAssessmentControl_assessmentId' - The identifier for the assessment.+--+-- 'controlSetId', 'batchImportEvidenceToAssessmentControl_controlSetId' - The identifier for the control set.+--+-- 'controlId', 'batchImportEvidenceToAssessmentControl_controlId' - The identifier for the control.+--+-- 'manualEvidence', 'batchImportEvidenceToAssessmentControl_manualEvidence' - The list of manual evidence objects.+newBatchImportEvidenceToAssessmentControl ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'controlSetId'+ Prelude.Text ->+ -- | 'controlId'+ Prelude.Text ->+ -- | 'manualEvidence'+ Prelude.NonEmpty ManualEvidence ->+ BatchImportEvidenceToAssessmentControl+newBatchImportEvidenceToAssessmentControl+ pAssessmentId_+ pControlSetId_+ pControlId_+ pManualEvidence_ =+ BatchImportEvidenceToAssessmentControl'+ { assessmentId =+ pAssessmentId_,+ controlSetId = pControlSetId_,+ controlId = pControlId_,+ manualEvidence =+ Lens.coerced+ Lens.# pManualEvidence_+ }++-- | The identifier for the assessment.+batchImportEvidenceToAssessmentControl_assessmentId :: Lens.Lens' BatchImportEvidenceToAssessmentControl Prelude.Text+batchImportEvidenceToAssessmentControl_assessmentId = Lens.lens (\BatchImportEvidenceToAssessmentControl' {assessmentId} -> assessmentId) (\s@BatchImportEvidenceToAssessmentControl' {} a -> s {assessmentId = a} :: BatchImportEvidenceToAssessmentControl)++-- | The identifier for the control set.+batchImportEvidenceToAssessmentControl_controlSetId :: Lens.Lens' BatchImportEvidenceToAssessmentControl Prelude.Text+batchImportEvidenceToAssessmentControl_controlSetId = Lens.lens (\BatchImportEvidenceToAssessmentControl' {controlSetId} -> controlSetId) (\s@BatchImportEvidenceToAssessmentControl' {} a -> s {controlSetId = a} :: BatchImportEvidenceToAssessmentControl)++-- | The identifier for the control.+batchImportEvidenceToAssessmentControl_controlId :: Lens.Lens' BatchImportEvidenceToAssessmentControl Prelude.Text+batchImportEvidenceToAssessmentControl_controlId = Lens.lens (\BatchImportEvidenceToAssessmentControl' {controlId} -> controlId) (\s@BatchImportEvidenceToAssessmentControl' {} a -> s {controlId = a} :: BatchImportEvidenceToAssessmentControl)++-- | The list of manual evidence objects.+batchImportEvidenceToAssessmentControl_manualEvidence :: Lens.Lens' BatchImportEvidenceToAssessmentControl (Prelude.NonEmpty ManualEvidence)+batchImportEvidenceToAssessmentControl_manualEvidence = Lens.lens (\BatchImportEvidenceToAssessmentControl' {manualEvidence} -> manualEvidence) (\s@BatchImportEvidenceToAssessmentControl' {} a -> s {manualEvidence = a} :: BatchImportEvidenceToAssessmentControl) Prelude.. Lens.coerced++instance+ Core.AWSRequest+ BatchImportEvidenceToAssessmentControl+ where+ type+ AWSResponse+ BatchImportEvidenceToAssessmentControl =+ BatchImportEvidenceToAssessmentControlResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchImportEvidenceToAssessmentControlResponse'+ Prelude.<$> (x Data..?> "errors" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ BatchImportEvidenceToAssessmentControl+ where+ hashWithSalt+ _salt+ BatchImportEvidenceToAssessmentControl' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` controlSetId+ `Prelude.hashWithSalt` controlId+ `Prelude.hashWithSalt` manualEvidence++instance+ Prelude.NFData+ BatchImportEvidenceToAssessmentControl+ where+ rnf BatchImportEvidenceToAssessmentControl' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf controlSetId+ `Prelude.seq` Prelude.rnf controlId+ `Prelude.seq` Prelude.rnf manualEvidence++instance+ Data.ToHeaders+ BatchImportEvidenceToAssessmentControl+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ BatchImportEvidenceToAssessmentControl+ where+ toJSON BatchImportEvidenceToAssessmentControl' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("manualEvidence" Data..= manualEvidence)+ ]+ )++instance+ Data.ToPath+ BatchImportEvidenceToAssessmentControl+ where+ toPath BatchImportEvidenceToAssessmentControl' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/controlSets/",+ Data.toBS controlSetId,+ "/controls/",+ Data.toBS controlId,+ "/evidence"+ ]++instance+ Data.ToQuery+ BatchImportEvidenceToAssessmentControl+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchImportEvidenceToAssessmentControlResponse' smart constructor.+data BatchImportEvidenceToAssessmentControlResponse = BatchImportEvidenceToAssessmentControlResponse'+ { -- | A list of errors that the @BatchImportEvidenceToAssessmentControl@ API+ -- returned.+ errors :: Prelude.Maybe [BatchImportEvidenceToAssessmentControlError],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchImportEvidenceToAssessmentControlResponse' 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:+--+-- 'errors', 'batchImportEvidenceToAssessmentControlResponse_errors' - A list of errors that the @BatchImportEvidenceToAssessmentControl@ API+-- returned.+--+-- 'httpStatus', 'batchImportEvidenceToAssessmentControlResponse_httpStatus' - The response's http status code.+newBatchImportEvidenceToAssessmentControlResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchImportEvidenceToAssessmentControlResponse+newBatchImportEvidenceToAssessmentControlResponse+ pHttpStatus_ =+ BatchImportEvidenceToAssessmentControlResponse'+ { errors =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of errors that the @BatchImportEvidenceToAssessmentControl@ API+-- returned.+batchImportEvidenceToAssessmentControlResponse_errors :: Lens.Lens' BatchImportEvidenceToAssessmentControlResponse (Prelude.Maybe [BatchImportEvidenceToAssessmentControlError])+batchImportEvidenceToAssessmentControlResponse_errors = Lens.lens (\BatchImportEvidenceToAssessmentControlResponse' {errors} -> errors) (\s@BatchImportEvidenceToAssessmentControlResponse' {} a -> s {errors = a} :: BatchImportEvidenceToAssessmentControlResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchImportEvidenceToAssessmentControlResponse_httpStatus :: Lens.Lens' BatchImportEvidenceToAssessmentControlResponse Prelude.Int+batchImportEvidenceToAssessmentControlResponse_httpStatus = Lens.lens (\BatchImportEvidenceToAssessmentControlResponse' {httpStatus} -> httpStatus) (\s@BatchImportEvidenceToAssessmentControlResponse' {} a -> s {httpStatus = a} :: BatchImportEvidenceToAssessmentControlResponse)++instance+ Prelude.NFData+ BatchImportEvidenceToAssessmentControlResponse+ where+ rnf+ BatchImportEvidenceToAssessmentControlResponse' {..} =+ Prelude.rnf errors+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/CreateAssessment.hs view
@@ -0,0 +1,265 @@+{-# 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.AuditManager.CreateAssessment+-- 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 an assessment in Audit Manager.+module Amazonka.AuditManager.CreateAssessment+ ( -- * Creating a Request+ CreateAssessment (..),+ newCreateAssessment,++ -- * Request Lenses+ createAssessment_description,+ createAssessment_tags,+ createAssessment_name,+ createAssessment_assessmentReportsDestination,+ createAssessment_scope,+ createAssessment_roles,+ createAssessment_frameworkId,++ -- * Destructuring the Response+ CreateAssessmentResponse (..),+ newCreateAssessmentResponse,++ -- * Response Lenses+ createAssessmentResponse_assessment,+ createAssessmentResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newCreateAssessment' smart constructor.+data CreateAssessment = CreateAssessment'+ { -- | The optional description of the assessment to be created.+ description :: Prelude.Maybe Prelude.Text,+ -- | The tags that are associated with the assessment.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the assessment to be created.+ name :: Prelude.Text,+ -- | The assessment report storage destination for the assessment that\'s+ -- being created.+ assessmentReportsDestination :: AssessmentReportsDestination,+ scope :: Scope,+ -- | The list of roles for the assessment.+ roles :: [Role],+ -- | The identifier for the framework that the assessment will be created+ -- from.+ frameworkId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssessment' 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:+--+-- 'description', 'createAssessment_description' - The optional description of the assessment to be created.+--+-- 'tags', 'createAssessment_tags' - The tags that are associated with the assessment.+--+-- 'name', 'createAssessment_name' - The name of the assessment to be created.+--+-- 'assessmentReportsDestination', 'createAssessment_assessmentReportsDestination' - The assessment report storage destination for the assessment that\'s+-- being created.+--+-- 'scope', 'createAssessment_scope' - Undocumented member.+--+-- 'roles', 'createAssessment_roles' - The list of roles for the assessment.+--+-- 'frameworkId', 'createAssessment_frameworkId' - The identifier for the framework that the assessment will be created+-- from.+newCreateAssessment ::+ -- | 'name'+ Prelude.Text ->+ -- | 'assessmentReportsDestination'+ AssessmentReportsDestination ->+ -- | 'scope'+ Scope ->+ -- | 'frameworkId'+ Prelude.Text ->+ CreateAssessment+newCreateAssessment+ pName_+ pAssessmentReportsDestination_+ pScope_+ pFrameworkId_ =+ CreateAssessment'+ { description = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_,+ assessmentReportsDestination =+ pAssessmentReportsDestination_,+ scope = pScope_,+ roles = Prelude.mempty,+ frameworkId = pFrameworkId_+ }++-- | The optional description of the assessment to be created.+createAssessment_description :: Lens.Lens' CreateAssessment (Prelude.Maybe Prelude.Text)+createAssessment_description = Lens.lens (\CreateAssessment' {description} -> description) (\s@CreateAssessment' {} a -> s {description = a} :: CreateAssessment)++-- | The tags that are associated with the assessment.+createAssessment_tags :: Lens.Lens' CreateAssessment (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createAssessment_tags = Lens.lens (\CreateAssessment' {tags} -> tags) (\s@CreateAssessment' {} a -> s {tags = a} :: CreateAssessment) Prelude.. Lens.mapping Lens.coerced++-- | The name of the assessment to be created.+createAssessment_name :: Lens.Lens' CreateAssessment Prelude.Text+createAssessment_name = Lens.lens (\CreateAssessment' {name} -> name) (\s@CreateAssessment' {} a -> s {name = a} :: CreateAssessment)++-- | The assessment report storage destination for the assessment that\'s+-- being created.+createAssessment_assessmentReportsDestination :: Lens.Lens' CreateAssessment AssessmentReportsDestination+createAssessment_assessmentReportsDestination = Lens.lens (\CreateAssessment' {assessmentReportsDestination} -> assessmentReportsDestination) (\s@CreateAssessment' {} a -> s {assessmentReportsDestination = a} :: CreateAssessment)++-- | Undocumented member.+createAssessment_scope :: Lens.Lens' CreateAssessment Scope+createAssessment_scope = Lens.lens (\CreateAssessment' {scope} -> scope) (\s@CreateAssessment' {} a -> s {scope = a} :: CreateAssessment)++-- | The list of roles for the assessment.+createAssessment_roles :: Lens.Lens' CreateAssessment [Role]+createAssessment_roles = Lens.lens (\CreateAssessment' {roles} -> roles) (\s@CreateAssessment' {} a -> s {roles = a} :: CreateAssessment) Prelude.. Lens.coerced++-- | The identifier for the framework that the assessment will be created+-- from.+createAssessment_frameworkId :: Lens.Lens' CreateAssessment Prelude.Text+createAssessment_frameworkId = Lens.lens (\CreateAssessment' {frameworkId} -> frameworkId) (\s@CreateAssessment' {} a -> s {frameworkId = a} :: CreateAssessment)++instance Core.AWSRequest CreateAssessment where+ type+ AWSResponse CreateAssessment =+ CreateAssessmentResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAssessmentResponse'+ Prelude.<$> (x Data..?> "assessment")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateAssessment where+ hashWithSalt _salt CreateAssessment' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` assessmentReportsDestination+ `Prelude.hashWithSalt` scope+ `Prelude.hashWithSalt` roles+ `Prelude.hashWithSalt` frameworkId++instance Prelude.NFData CreateAssessment where+ rnf CreateAssessment' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf assessmentReportsDestination+ `Prelude.seq` Prelude.rnf scope+ `Prelude.seq` Prelude.rnf roles+ `Prelude.seq` Prelude.rnf frameworkId++instance Data.ToHeaders CreateAssessment where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateAssessment where+ toJSON CreateAssessment' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("name" Data..= name),+ Prelude.Just+ ( "assessmentReportsDestination"+ Data..= assessmentReportsDestination+ ),+ Prelude.Just ("scope" Data..= scope),+ Prelude.Just ("roles" Data..= roles),+ Prelude.Just ("frameworkId" Data..= frameworkId)+ ]+ )++instance Data.ToPath CreateAssessment where+ toPath = Prelude.const "/assessments"++instance Data.ToQuery CreateAssessment where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAssessmentResponse' smart constructor.+data CreateAssessmentResponse = CreateAssessmentResponse'+ { assessment :: Prelude.Maybe Assessment,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssessmentResponse' 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:+--+-- 'assessment', 'createAssessmentResponse_assessment' - Undocumented member.+--+-- 'httpStatus', 'createAssessmentResponse_httpStatus' - The response's http status code.+newCreateAssessmentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateAssessmentResponse+newCreateAssessmentResponse pHttpStatus_ =+ CreateAssessmentResponse'+ { assessment =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+createAssessmentResponse_assessment :: Lens.Lens' CreateAssessmentResponse (Prelude.Maybe Assessment)+createAssessmentResponse_assessment = Lens.lens (\CreateAssessmentResponse' {assessment} -> assessment) (\s@CreateAssessmentResponse' {} a -> s {assessment = a} :: CreateAssessmentResponse)++-- | The response's http status code.+createAssessmentResponse_httpStatus :: Lens.Lens' CreateAssessmentResponse Prelude.Int+createAssessmentResponse_httpStatus = Lens.lens (\CreateAssessmentResponse' {httpStatus} -> httpStatus) (\s@CreateAssessmentResponse' {} a -> s {httpStatus = a} :: CreateAssessmentResponse)++instance Prelude.NFData CreateAssessmentResponse where+ rnf CreateAssessmentResponse' {..} =+ Prelude.rnf assessment+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/CreateAssessmentFramework.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.AuditManager.CreateAssessmentFramework+-- 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 custom framework in Audit Manager.+module Amazonka.AuditManager.CreateAssessmentFramework+ ( -- * Creating a Request+ CreateAssessmentFramework (..),+ newCreateAssessmentFramework,++ -- * Request Lenses+ createAssessmentFramework_complianceType,+ createAssessmentFramework_description,+ createAssessmentFramework_tags,+ createAssessmentFramework_name,+ createAssessmentFramework_controlSets,++ -- * Destructuring the Response+ CreateAssessmentFrameworkResponse (..),+ newCreateAssessmentFrameworkResponse,++ -- * Response Lenses+ createAssessmentFrameworkResponse_framework,+ createAssessmentFrameworkResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newCreateAssessmentFramework' smart constructor.+data CreateAssessmentFramework = CreateAssessmentFramework'+ { -- | The compliance type that the new custom framework supports, such as CIS+ -- or HIPAA.+ complianceType :: Prelude.Maybe Prelude.Text,+ -- | An optional description for the new custom framework.+ description :: Prelude.Maybe Prelude.Text,+ -- | The tags that are associated with the framework.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the new custom framework.+ name :: Prelude.Text,+ -- | The control sets that are associated with the framework.+ controlSets :: Prelude.NonEmpty CreateAssessmentFrameworkControlSet+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssessmentFramework' 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:+--+-- 'complianceType', 'createAssessmentFramework_complianceType' - The compliance type that the new custom framework supports, such as CIS+-- or HIPAA.+--+-- 'description', 'createAssessmentFramework_description' - An optional description for the new custom framework.+--+-- 'tags', 'createAssessmentFramework_tags' - The tags that are associated with the framework.+--+-- 'name', 'createAssessmentFramework_name' - The name of the new custom framework.+--+-- 'controlSets', 'createAssessmentFramework_controlSets' - The control sets that are associated with the framework.+newCreateAssessmentFramework ::+ -- | 'name'+ Prelude.Text ->+ -- | 'controlSets'+ Prelude.NonEmpty CreateAssessmentFrameworkControlSet ->+ CreateAssessmentFramework+newCreateAssessmentFramework pName_ pControlSets_ =+ CreateAssessmentFramework'+ { complianceType =+ Prelude.Nothing,+ description = Prelude.Nothing,+ tags = Prelude.Nothing,+ name = pName_,+ controlSets = Lens.coerced Lens.# pControlSets_+ }++-- | The compliance type that the new custom framework supports, such as CIS+-- or HIPAA.+createAssessmentFramework_complianceType :: Lens.Lens' CreateAssessmentFramework (Prelude.Maybe Prelude.Text)+createAssessmentFramework_complianceType = Lens.lens (\CreateAssessmentFramework' {complianceType} -> complianceType) (\s@CreateAssessmentFramework' {} a -> s {complianceType = a} :: CreateAssessmentFramework)++-- | An optional description for the new custom framework.+createAssessmentFramework_description :: Lens.Lens' CreateAssessmentFramework (Prelude.Maybe Prelude.Text)+createAssessmentFramework_description = Lens.lens (\CreateAssessmentFramework' {description} -> description) (\s@CreateAssessmentFramework' {} a -> s {description = a} :: CreateAssessmentFramework)++-- | The tags that are associated with the framework.+createAssessmentFramework_tags :: Lens.Lens' CreateAssessmentFramework (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createAssessmentFramework_tags = Lens.lens (\CreateAssessmentFramework' {tags} -> tags) (\s@CreateAssessmentFramework' {} a -> s {tags = a} :: CreateAssessmentFramework) Prelude.. Lens.mapping Lens.coerced++-- | The name of the new custom framework.+createAssessmentFramework_name :: Lens.Lens' CreateAssessmentFramework Prelude.Text+createAssessmentFramework_name = Lens.lens (\CreateAssessmentFramework' {name} -> name) (\s@CreateAssessmentFramework' {} a -> s {name = a} :: CreateAssessmentFramework)++-- | The control sets that are associated with the framework.+createAssessmentFramework_controlSets :: Lens.Lens' CreateAssessmentFramework (Prelude.NonEmpty CreateAssessmentFrameworkControlSet)+createAssessmentFramework_controlSets = Lens.lens (\CreateAssessmentFramework' {controlSets} -> controlSets) (\s@CreateAssessmentFramework' {} a -> s {controlSets = a} :: CreateAssessmentFramework) Prelude.. Lens.coerced++instance Core.AWSRequest CreateAssessmentFramework where+ type+ AWSResponse CreateAssessmentFramework =+ CreateAssessmentFrameworkResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAssessmentFrameworkResponse'+ Prelude.<$> (x Data..?> "framework")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateAssessmentFramework where+ hashWithSalt _salt CreateAssessmentFramework' {..} =+ _salt+ `Prelude.hashWithSalt` complianceType+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` controlSets++instance Prelude.NFData CreateAssessmentFramework where+ rnf CreateAssessmentFramework' {..} =+ Prelude.rnf complianceType+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf controlSets++instance Data.ToHeaders CreateAssessmentFramework where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateAssessmentFramework where+ toJSON CreateAssessmentFramework' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("complianceType" Data..=)+ Prelude.<$> complianceType,+ ("description" Data..=) Prelude.<$> description,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("controlSets" Data..= controlSets)+ ]+ )++instance Data.ToPath CreateAssessmentFramework where+ toPath = Prelude.const "/assessmentFrameworks"++instance Data.ToQuery CreateAssessmentFramework where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAssessmentFrameworkResponse' smart constructor.+data CreateAssessmentFrameworkResponse = CreateAssessmentFrameworkResponse'+ { -- | The name of the new framework that the @CreateAssessmentFramework@ API+ -- returned.+ framework :: Prelude.Maybe Framework,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssessmentFrameworkResponse' 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:+--+-- 'framework', 'createAssessmentFrameworkResponse_framework' - The name of the new framework that the @CreateAssessmentFramework@ API+-- returned.+--+-- 'httpStatus', 'createAssessmentFrameworkResponse_httpStatus' - The response's http status code.+newCreateAssessmentFrameworkResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateAssessmentFrameworkResponse+newCreateAssessmentFrameworkResponse pHttpStatus_ =+ CreateAssessmentFrameworkResponse'+ { framework =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The name of the new framework that the @CreateAssessmentFramework@ API+-- returned.+createAssessmentFrameworkResponse_framework :: Lens.Lens' CreateAssessmentFrameworkResponse (Prelude.Maybe Framework)+createAssessmentFrameworkResponse_framework = Lens.lens (\CreateAssessmentFrameworkResponse' {framework} -> framework) (\s@CreateAssessmentFrameworkResponse' {} a -> s {framework = a} :: CreateAssessmentFrameworkResponse)++-- | The response's http status code.+createAssessmentFrameworkResponse_httpStatus :: Lens.Lens' CreateAssessmentFrameworkResponse Prelude.Int+createAssessmentFrameworkResponse_httpStatus = Lens.lens (\CreateAssessmentFrameworkResponse' {httpStatus} -> httpStatus) (\s@CreateAssessmentFrameworkResponse' {} a -> s {httpStatus = a} :: CreateAssessmentFrameworkResponse)++instance+ Prelude.NFData+ CreateAssessmentFrameworkResponse+ where+ rnf CreateAssessmentFrameworkResponse' {..} =+ Prelude.rnf framework+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/CreateAssessmentReport.hs view
@@ -0,0 +1,273 @@+{-# 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.AuditManager.CreateAssessmentReport+-- 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 an assessment report for the specified assessment.+module Amazonka.AuditManager.CreateAssessmentReport+ ( -- * Creating a Request+ CreateAssessmentReport (..),+ newCreateAssessmentReport,++ -- * Request Lenses+ createAssessmentReport_description,+ createAssessmentReport_queryStatement,+ createAssessmentReport_name,+ createAssessmentReport_assessmentId,++ -- * Destructuring the Response+ CreateAssessmentReportResponse (..),+ newCreateAssessmentReportResponse,++ -- * Response Lenses+ createAssessmentReportResponse_assessmentReport,+ createAssessmentReportResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newCreateAssessmentReport' smart constructor.+data CreateAssessmentReport = CreateAssessmentReport'+ { -- | The description of the assessment report.+ description :: Prelude.Maybe Prelude.Text,+ -- | A SQL statement that represents an evidence finder query.+ --+ -- Provide this parameter when you want to generate an assessment report+ -- from the results of an evidence finder search query. When you use this+ -- parameter, Audit Manager generates a one-time report using only the+ -- evidence from the query output. This report does not include any+ -- assessment evidence that was manually+ -- <https://docs.aws.amazon.com/audit-manager/latest/userguide/generate-assessment-report.html#generate-assessment-report-include-evidence added to a report using the console>,+ -- or+ -- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_BatchAssociateAssessmentReportEvidence.html associated with a report using the API>.+ --+ -- To use this parameter, the+ -- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_EvidenceFinderEnablement.html#auditmanager-Type-EvidenceFinderEnablement-enablementStatus enablementStatus>+ -- of evidence finder must be @ENABLED@.+ --+ -- For examples and help resolving @queryStatement@ validation exceptions,+ -- see+ -- <https://docs.aws.amazon.com/audit-manager/latest/userguide/evidence-finder-issues.html#querystatement-exceptions Troubleshooting evidence finder issues>+ -- in the /Audit Manager User Guide./+ queryStatement :: Prelude.Maybe Prelude.Text,+ -- | The name of the new assessment report.+ name :: Prelude.Text,+ -- | The identifier for the assessment.+ assessmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssessmentReport' 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:+--+-- 'description', 'createAssessmentReport_description' - The description of the assessment report.+--+-- 'queryStatement', 'createAssessmentReport_queryStatement' - A SQL statement that represents an evidence finder query.+--+-- Provide this parameter when you want to generate an assessment report+-- from the results of an evidence finder search query. When you use this+-- parameter, Audit Manager generates a one-time report using only the+-- evidence from the query output. This report does not include any+-- assessment evidence that was manually+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/generate-assessment-report.html#generate-assessment-report-include-evidence added to a report using the console>,+-- or+-- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_BatchAssociateAssessmentReportEvidence.html associated with a report using the API>.+--+-- To use this parameter, the+-- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_EvidenceFinderEnablement.html#auditmanager-Type-EvidenceFinderEnablement-enablementStatus enablementStatus>+-- of evidence finder must be @ENABLED@.+--+-- For examples and help resolving @queryStatement@ validation exceptions,+-- see+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/evidence-finder-issues.html#querystatement-exceptions Troubleshooting evidence finder issues>+-- in the /Audit Manager User Guide./+--+-- 'name', 'createAssessmentReport_name' - The name of the new assessment report.+--+-- 'assessmentId', 'createAssessmentReport_assessmentId' - The identifier for the assessment.+newCreateAssessmentReport ::+ -- | 'name'+ Prelude.Text ->+ -- | 'assessmentId'+ Prelude.Text ->+ CreateAssessmentReport+newCreateAssessmentReport pName_ pAssessmentId_ =+ CreateAssessmentReport'+ { description =+ Prelude.Nothing,+ queryStatement = Prelude.Nothing,+ name = pName_,+ assessmentId = pAssessmentId_+ }++-- | The description of the assessment report.+createAssessmentReport_description :: Lens.Lens' CreateAssessmentReport (Prelude.Maybe Prelude.Text)+createAssessmentReport_description = Lens.lens (\CreateAssessmentReport' {description} -> description) (\s@CreateAssessmentReport' {} a -> s {description = a} :: CreateAssessmentReport)++-- | A SQL statement that represents an evidence finder query.+--+-- Provide this parameter when you want to generate an assessment report+-- from the results of an evidence finder search query. When you use this+-- parameter, Audit Manager generates a one-time report using only the+-- evidence from the query output. This report does not include any+-- assessment evidence that was manually+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/generate-assessment-report.html#generate-assessment-report-include-evidence added to a report using the console>,+-- or+-- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_BatchAssociateAssessmentReportEvidence.html associated with a report using the API>.+--+-- To use this parameter, the+-- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_EvidenceFinderEnablement.html#auditmanager-Type-EvidenceFinderEnablement-enablementStatus enablementStatus>+-- of evidence finder must be @ENABLED@.+--+-- For examples and help resolving @queryStatement@ validation exceptions,+-- see+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/evidence-finder-issues.html#querystatement-exceptions Troubleshooting evidence finder issues>+-- in the /Audit Manager User Guide./+createAssessmentReport_queryStatement :: Lens.Lens' CreateAssessmentReport (Prelude.Maybe Prelude.Text)+createAssessmentReport_queryStatement = Lens.lens (\CreateAssessmentReport' {queryStatement} -> queryStatement) (\s@CreateAssessmentReport' {} a -> s {queryStatement = a} :: CreateAssessmentReport)++-- | The name of the new assessment report.+createAssessmentReport_name :: Lens.Lens' CreateAssessmentReport Prelude.Text+createAssessmentReport_name = Lens.lens (\CreateAssessmentReport' {name} -> name) (\s@CreateAssessmentReport' {} a -> s {name = a} :: CreateAssessmentReport)++-- | The identifier for the assessment.+createAssessmentReport_assessmentId :: Lens.Lens' CreateAssessmentReport Prelude.Text+createAssessmentReport_assessmentId = Lens.lens (\CreateAssessmentReport' {assessmentId} -> assessmentId) (\s@CreateAssessmentReport' {} a -> s {assessmentId = a} :: CreateAssessmentReport)++instance Core.AWSRequest CreateAssessmentReport where+ type+ AWSResponse CreateAssessmentReport =+ CreateAssessmentReportResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAssessmentReportResponse'+ Prelude.<$> (x Data..?> "assessmentReport")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateAssessmentReport where+ hashWithSalt _salt CreateAssessmentReport' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` queryStatement+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` assessmentId++instance Prelude.NFData CreateAssessmentReport where+ rnf CreateAssessmentReport' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf queryStatement+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf assessmentId++instance Data.ToHeaders CreateAssessmentReport where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateAssessmentReport where+ toJSON CreateAssessmentReport' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("queryStatement" Data..=)+ Prelude.<$> queryStatement,+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath CreateAssessmentReport where+ toPath CreateAssessmentReport' {..} =+ Prelude.mconcat+ ["/assessments/", Data.toBS assessmentId, "/reports"]++instance Data.ToQuery CreateAssessmentReport where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAssessmentReportResponse' smart constructor.+data CreateAssessmentReportResponse = CreateAssessmentReportResponse'+ { -- | The new assessment report that the @CreateAssessmentReport@ API+ -- returned.+ assessmentReport :: Prelude.Maybe AssessmentReport,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssessmentReportResponse' 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:+--+-- 'assessmentReport', 'createAssessmentReportResponse_assessmentReport' - The new assessment report that the @CreateAssessmentReport@ API+-- returned.+--+-- 'httpStatus', 'createAssessmentReportResponse_httpStatus' - The response's http status code.+newCreateAssessmentReportResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateAssessmentReportResponse+newCreateAssessmentReportResponse pHttpStatus_ =+ CreateAssessmentReportResponse'+ { assessmentReport =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The new assessment report that the @CreateAssessmentReport@ API+-- returned.+createAssessmentReportResponse_assessmentReport :: Lens.Lens' CreateAssessmentReportResponse (Prelude.Maybe AssessmentReport)+createAssessmentReportResponse_assessmentReport = Lens.lens (\CreateAssessmentReportResponse' {assessmentReport} -> assessmentReport) (\s@CreateAssessmentReportResponse' {} a -> s {assessmentReport = a} :: CreateAssessmentReportResponse)++-- | The response's http status code.+createAssessmentReportResponse_httpStatus :: Lens.Lens' CreateAssessmentReportResponse Prelude.Int+createAssessmentReportResponse_httpStatus = Lens.lens (\CreateAssessmentReportResponse' {httpStatus} -> httpStatus) (\s@CreateAssessmentReportResponse' {} a -> s {httpStatus = a} :: CreateAssessmentReportResponse)++instance+ Prelude.NFData+ CreateAssessmentReportResponse+ where+ rnf CreateAssessmentReportResponse' {..} =+ Prelude.rnf assessmentReport+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/CreateControl.hs view
@@ -0,0 +1,256 @@+{-# 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.AuditManager.CreateControl+-- 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 custom control in Audit Manager.+module Amazonka.AuditManager.CreateControl+ ( -- * Creating a Request+ CreateControl (..),+ newCreateControl,++ -- * Request Lenses+ createControl_actionPlanInstructions,+ createControl_actionPlanTitle,+ createControl_description,+ createControl_tags,+ createControl_testingInformation,+ createControl_name,+ createControl_controlMappingSources,++ -- * Destructuring the Response+ CreateControlResponse (..),+ newCreateControlResponse,++ -- * Response Lenses+ createControlResponse_control,+ createControlResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newCreateControl' smart constructor.+data CreateControl = CreateControl'+ { -- | The recommended actions to carry out if the control isn\'t fulfilled.+ actionPlanInstructions :: Prelude.Maybe Prelude.Text,+ -- | The title of the action plan for remediating the control.+ actionPlanTitle :: Prelude.Maybe Prelude.Text,+ -- | The description of the control.+ description :: Prelude.Maybe Prelude.Text,+ -- | The tags that are associated with the control.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The steps to follow to determine if the control is satisfied.+ testingInformation :: Prelude.Maybe Prelude.Text,+ -- | The name of the control.+ name :: Prelude.Text,+ -- | The data mapping sources for the control.+ controlMappingSources :: Prelude.NonEmpty CreateControlMappingSource+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateControl' 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:+--+-- 'actionPlanInstructions', 'createControl_actionPlanInstructions' - The recommended actions to carry out if the control isn\'t fulfilled.+--+-- 'actionPlanTitle', 'createControl_actionPlanTitle' - The title of the action plan for remediating the control.+--+-- 'description', 'createControl_description' - The description of the control.+--+-- 'tags', 'createControl_tags' - The tags that are associated with the control.+--+-- 'testingInformation', 'createControl_testingInformation' - The steps to follow to determine if the control is satisfied.+--+-- 'name', 'createControl_name' - The name of the control.+--+-- 'controlMappingSources', 'createControl_controlMappingSources' - The data mapping sources for the control.+newCreateControl ::+ -- | 'name'+ Prelude.Text ->+ -- | 'controlMappingSources'+ Prelude.NonEmpty CreateControlMappingSource ->+ CreateControl+newCreateControl pName_ pControlMappingSources_ =+ CreateControl'+ { actionPlanInstructions =+ Prelude.Nothing,+ actionPlanTitle = Prelude.Nothing,+ description = Prelude.Nothing,+ tags = Prelude.Nothing,+ testingInformation = Prelude.Nothing,+ name = pName_,+ controlMappingSources =+ Lens.coerced Lens.# pControlMappingSources_+ }++-- | The recommended actions to carry out if the control isn\'t fulfilled.+createControl_actionPlanInstructions :: Lens.Lens' CreateControl (Prelude.Maybe Prelude.Text)+createControl_actionPlanInstructions = Lens.lens (\CreateControl' {actionPlanInstructions} -> actionPlanInstructions) (\s@CreateControl' {} a -> s {actionPlanInstructions = a} :: CreateControl)++-- | The title of the action plan for remediating the control.+createControl_actionPlanTitle :: Lens.Lens' CreateControl (Prelude.Maybe Prelude.Text)+createControl_actionPlanTitle = Lens.lens (\CreateControl' {actionPlanTitle} -> actionPlanTitle) (\s@CreateControl' {} a -> s {actionPlanTitle = a} :: CreateControl)++-- | The description of the control.+createControl_description :: Lens.Lens' CreateControl (Prelude.Maybe Prelude.Text)+createControl_description = Lens.lens (\CreateControl' {description} -> description) (\s@CreateControl' {} a -> s {description = a} :: CreateControl)++-- | The tags that are associated with the control.+createControl_tags :: Lens.Lens' CreateControl (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createControl_tags = Lens.lens (\CreateControl' {tags} -> tags) (\s@CreateControl' {} a -> s {tags = a} :: CreateControl) Prelude.. Lens.mapping Lens.coerced++-- | The steps to follow to determine if the control is satisfied.+createControl_testingInformation :: Lens.Lens' CreateControl (Prelude.Maybe Prelude.Text)+createControl_testingInformation = Lens.lens (\CreateControl' {testingInformation} -> testingInformation) (\s@CreateControl' {} a -> s {testingInformation = a} :: CreateControl)++-- | The name of the control.+createControl_name :: Lens.Lens' CreateControl Prelude.Text+createControl_name = Lens.lens (\CreateControl' {name} -> name) (\s@CreateControl' {} a -> s {name = a} :: CreateControl)++-- | The data mapping sources for the control.+createControl_controlMappingSources :: Lens.Lens' CreateControl (Prelude.NonEmpty CreateControlMappingSource)+createControl_controlMappingSources = Lens.lens (\CreateControl' {controlMappingSources} -> controlMappingSources) (\s@CreateControl' {} a -> s {controlMappingSources = a} :: CreateControl) Prelude.. Lens.coerced++instance Core.AWSRequest CreateControl where+ type+ AWSResponse CreateControl =+ CreateControlResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateControlResponse'+ Prelude.<$> (x Data..?> "control")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateControl where+ hashWithSalt _salt CreateControl' {..} =+ _salt+ `Prelude.hashWithSalt` actionPlanInstructions+ `Prelude.hashWithSalt` actionPlanTitle+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` testingInformation+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` controlMappingSources++instance Prelude.NFData CreateControl where+ rnf CreateControl' {..} =+ Prelude.rnf actionPlanInstructions+ `Prelude.seq` Prelude.rnf actionPlanTitle+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf testingInformation+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf controlMappingSources++instance Data.ToHeaders CreateControl where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateControl where+ toJSON CreateControl' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("actionPlanInstructions" Data..=)+ Prelude.<$> actionPlanInstructions,+ ("actionPlanTitle" Data..=)+ Prelude.<$> actionPlanTitle,+ ("description" Data..=) Prelude.<$> description,+ ("tags" Data..=) Prelude.<$> tags,+ ("testingInformation" Data..=)+ Prelude.<$> testingInformation,+ Prelude.Just ("name" Data..= name),+ Prelude.Just+ ( "controlMappingSources"+ Data..= controlMappingSources+ )+ ]+ )++instance Data.ToPath CreateControl where+ toPath = Prelude.const "/controls"++instance Data.ToQuery CreateControl where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateControlResponse' smart constructor.+data CreateControlResponse = CreateControlResponse'+ { -- | The new control that the @CreateControl@ API returned.+ control :: Prelude.Maybe Control,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateControlResponse' 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:+--+-- 'control', 'createControlResponse_control' - The new control that the @CreateControl@ API returned.+--+-- 'httpStatus', 'createControlResponse_httpStatus' - The response's http status code.+newCreateControlResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateControlResponse+newCreateControlResponse pHttpStatus_ =+ CreateControlResponse'+ { control = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The new control that the @CreateControl@ API returned.+createControlResponse_control :: Lens.Lens' CreateControlResponse (Prelude.Maybe Control)+createControlResponse_control = Lens.lens (\CreateControlResponse' {control} -> control) (\s@CreateControlResponse' {} a -> s {control = a} :: CreateControlResponse)++-- | The response's http status code.+createControlResponse_httpStatus :: Lens.Lens' CreateControlResponse Prelude.Int+createControlResponse_httpStatus = Lens.lens (\CreateControlResponse' {httpStatus} -> httpStatus) (\s@CreateControlResponse' {} a -> s {httpStatus = a} :: CreateControlResponse)++instance Prelude.NFData CreateControlResponse where+ rnf CreateControlResponse' {..} =+ Prelude.rnf control+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/DeleteAssessment.hs view
@@ -0,0 +1,147 @@+{-# 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.AuditManager.DeleteAssessment+-- 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 an assessment in Audit Manager.+module Amazonka.AuditManager.DeleteAssessment+ ( -- * Creating a Request+ DeleteAssessment (..),+ newDeleteAssessment,++ -- * Request Lenses+ deleteAssessment_assessmentId,++ -- * Destructuring the Response+ DeleteAssessmentResponse (..),+ newDeleteAssessmentResponse,++ -- * Response Lenses+ deleteAssessmentResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newDeleteAssessment' smart constructor.+data DeleteAssessment = DeleteAssessment'+ { -- | The identifier for the assessment.+ assessmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssessment' 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:+--+-- 'assessmentId', 'deleteAssessment_assessmentId' - The identifier for the assessment.+newDeleteAssessment ::+ -- | 'assessmentId'+ Prelude.Text ->+ DeleteAssessment+newDeleteAssessment pAssessmentId_ =+ DeleteAssessment' {assessmentId = pAssessmentId_}++-- | The identifier for the assessment.+deleteAssessment_assessmentId :: Lens.Lens' DeleteAssessment Prelude.Text+deleteAssessment_assessmentId = Lens.lens (\DeleteAssessment' {assessmentId} -> assessmentId) (\s@DeleteAssessment' {} a -> s {assessmentId = a} :: DeleteAssessment)++instance Core.AWSRequest DeleteAssessment where+ type+ AWSResponse DeleteAssessment =+ DeleteAssessmentResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteAssessmentResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteAssessment where+ hashWithSalt _salt DeleteAssessment' {..} =+ _salt `Prelude.hashWithSalt` assessmentId++instance Prelude.NFData DeleteAssessment where+ rnf DeleteAssessment' {..} = Prelude.rnf assessmentId++instance Data.ToHeaders DeleteAssessment where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteAssessment where+ toPath DeleteAssessment' {..} =+ Prelude.mconcat+ ["/assessments/", Data.toBS assessmentId]++instance Data.ToQuery DeleteAssessment where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAssessmentResponse' smart constructor.+data DeleteAssessmentResponse = DeleteAssessmentResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssessmentResponse' 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', 'deleteAssessmentResponse_httpStatus' - The response's http status code.+newDeleteAssessmentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteAssessmentResponse+newDeleteAssessmentResponse pHttpStatus_ =+ DeleteAssessmentResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteAssessmentResponse_httpStatus :: Lens.Lens' DeleteAssessmentResponse Prelude.Int+deleteAssessmentResponse_httpStatus = Lens.lens (\DeleteAssessmentResponse' {httpStatus} -> httpStatus) (\s@DeleteAssessmentResponse' {} a -> s {httpStatus = a} :: DeleteAssessmentResponse)++instance Prelude.NFData DeleteAssessmentResponse where+ rnf DeleteAssessmentResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/DeleteAssessmentFramework.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.AuditManager.DeleteAssessmentFramework+-- 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 a custom framework in Audit Manager.+module Amazonka.AuditManager.DeleteAssessmentFramework+ ( -- * Creating a Request+ DeleteAssessmentFramework (..),+ newDeleteAssessmentFramework,++ -- * Request Lenses+ deleteAssessmentFramework_frameworkId,++ -- * Destructuring the Response+ DeleteAssessmentFrameworkResponse (..),+ newDeleteAssessmentFrameworkResponse,++ -- * Response Lenses+ deleteAssessmentFrameworkResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newDeleteAssessmentFramework' smart constructor.+data DeleteAssessmentFramework = DeleteAssessmentFramework'+ { -- | The identifier for the custom framework.+ frameworkId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssessmentFramework' 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:+--+-- 'frameworkId', 'deleteAssessmentFramework_frameworkId' - The identifier for the custom framework.+newDeleteAssessmentFramework ::+ -- | 'frameworkId'+ Prelude.Text ->+ DeleteAssessmentFramework+newDeleteAssessmentFramework pFrameworkId_ =+ DeleteAssessmentFramework'+ { frameworkId =+ pFrameworkId_+ }++-- | The identifier for the custom framework.+deleteAssessmentFramework_frameworkId :: Lens.Lens' DeleteAssessmentFramework Prelude.Text+deleteAssessmentFramework_frameworkId = Lens.lens (\DeleteAssessmentFramework' {frameworkId} -> frameworkId) (\s@DeleteAssessmentFramework' {} a -> s {frameworkId = a} :: DeleteAssessmentFramework)++instance Core.AWSRequest DeleteAssessmentFramework where+ type+ AWSResponse DeleteAssessmentFramework =+ DeleteAssessmentFrameworkResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteAssessmentFrameworkResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteAssessmentFramework where+ hashWithSalt _salt DeleteAssessmentFramework' {..} =+ _salt `Prelude.hashWithSalt` frameworkId++instance Prelude.NFData DeleteAssessmentFramework where+ rnf DeleteAssessmentFramework' {..} =+ Prelude.rnf frameworkId++instance Data.ToHeaders DeleteAssessmentFramework where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteAssessmentFramework where+ toPath DeleteAssessmentFramework' {..} =+ Prelude.mconcat+ ["/assessmentFrameworks/", Data.toBS frameworkId]++instance Data.ToQuery DeleteAssessmentFramework where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAssessmentFrameworkResponse' smart constructor.+data DeleteAssessmentFrameworkResponse = DeleteAssessmentFrameworkResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssessmentFrameworkResponse' 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', 'deleteAssessmentFrameworkResponse_httpStatus' - The response's http status code.+newDeleteAssessmentFrameworkResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteAssessmentFrameworkResponse+newDeleteAssessmentFrameworkResponse pHttpStatus_ =+ DeleteAssessmentFrameworkResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteAssessmentFrameworkResponse_httpStatus :: Lens.Lens' DeleteAssessmentFrameworkResponse Prelude.Int+deleteAssessmentFrameworkResponse_httpStatus = Lens.lens (\DeleteAssessmentFrameworkResponse' {httpStatus} -> httpStatus) (\s@DeleteAssessmentFrameworkResponse' {} a -> s {httpStatus = a} :: DeleteAssessmentFrameworkResponse)++instance+ Prelude.NFData+ DeleteAssessmentFrameworkResponse+ where+ rnf DeleteAssessmentFrameworkResponse' {..} =+ Prelude.rnf httpStatus
@@ -0,0 +1,192 @@+{-# 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.AuditManager.DeleteAssessmentFrameworkShare+-- 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 a share request for a custom framework in Audit Manager.+module Amazonka.AuditManager.DeleteAssessmentFrameworkShare+ ( -- * Creating a Request+ DeleteAssessmentFrameworkShare (..),+ newDeleteAssessmentFrameworkShare,++ -- * Request Lenses+ deleteAssessmentFrameworkShare_requestId,+ deleteAssessmentFrameworkShare_requestType,++ -- * Destructuring the Response+ DeleteAssessmentFrameworkShareResponse (..),+ newDeleteAssessmentFrameworkShareResponse,++ -- * Response Lenses+ deleteAssessmentFrameworkShareResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newDeleteAssessmentFrameworkShare' smart constructor.+data DeleteAssessmentFrameworkShare = DeleteAssessmentFrameworkShare'+ { -- | The unique identifier for the share request to be deleted.+ requestId :: Prelude.Text,+ -- | Specifies whether the share request is a sent request or a received+ -- request.+ requestType :: ShareRequestType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssessmentFrameworkShare' 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:+--+-- 'requestId', 'deleteAssessmentFrameworkShare_requestId' - The unique identifier for the share request to be deleted.+--+-- 'requestType', 'deleteAssessmentFrameworkShare_requestType' - Specifies whether the share request is a sent request or a received+-- request.+newDeleteAssessmentFrameworkShare ::+ -- | 'requestId'+ Prelude.Text ->+ -- | 'requestType'+ ShareRequestType ->+ DeleteAssessmentFrameworkShare+newDeleteAssessmentFrameworkShare+ pRequestId_+ pRequestType_ =+ DeleteAssessmentFrameworkShare'+ { requestId =+ pRequestId_,+ requestType = pRequestType_+ }++-- | The unique identifier for the share request to be deleted.+deleteAssessmentFrameworkShare_requestId :: Lens.Lens' DeleteAssessmentFrameworkShare Prelude.Text+deleteAssessmentFrameworkShare_requestId = Lens.lens (\DeleteAssessmentFrameworkShare' {requestId} -> requestId) (\s@DeleteAssessmentFrameworkShare' {} a -> s {requestId = a} :: DeleteAssessmentFrameworkShare)++-- | Specifies whether the share request is a sent request or a received+-- request.+deleteAssessmentFrameworkShare_requestType :: Lens.Lens' DeleteAssessmentFrameworkShare ShareRequestType+deleteAssessmentFrameworkShare_requestType = Lens.lens (\DeleteAssessmentFrameworkShare' {requestType} -> requestType) (\s@DeleteAssessmentFrameworkShare' {} a -> s {requestType = a} :: DeleteAssessmentFrameworkShare)++instance+ Core.AWSRequest+ DeleteAssessmentFrameworkShare+ where+ type+ AWSResponse DeleteAssessmentFrameworkShare =+ DeleteAssessmentFrameworkShareResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteAssessmentFrameworkShareResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DeleteAssessmentFrameworkShare+ where+ hashWithSalt+ _salt+ DeleteAssessmentFrameworkShare' {..} =+ _salt+ `Prelude.hashWithSalt` requestId+ `Prelude.hashWithSalt` requestType++instance+ Prelude.NFData+ DeleteAssessmentFrameworkShare+ where+ rnf DeleteAssessmentFrameworkShare' {..} =+ Prelude.rnf requestId+ `Prelude.seq` Prelude.rnf requestType++instance+ Data.ToHeaders+ DeleteAssessmentFrameworkShare+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteAssessmentFrameworkShare where+ toPath DeleteAssessmentFrameworkShare' {..} =+ Prelude.mconcat+ [ "/assessmentFrameworkShareRequests/",+ Data.toBS requestId+ ]++instance Data.ToQuery DeleteAssessmentFrameworkShare where+ toQuery DeleteAssessmentFrameworkShare' {..} =+ Prelude.mconcat ["requestType" Data.=: requestType]++-- | /See:/ 'newDeleteAssessmentFrameworkShareResponse' smart constructor.+data DeleteAssessmentFrameworkShareResponse = DeleteAssessmentFrameworkShareResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssessmentFrameworkShareResponse' 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', 'deleteAssessmentFrameworkShareResponse_httpStatus' - The response's http status code.+newDeleteAssessmentFrameworkShareResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteAssessmentFrameworkShareResponse+newDeleteAssessmentFrameworkShareResponse+ pHttpStatus_ =+ DeleteAssessmentFrameworkShareResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteAssessmentFrameworkShareResponse_httpStatus :: Lens.Lens' DeleteAssessmentFrameworkShareResponse Prelude.Int+deleteAssessmentFrameworkShareResponse_httpStatus = Lens.lens (\DeleteAssessmentFrameworkShareResponse' {httpStatus} -> httpStatus) (\s@DeleteAssessmentFrameworkShareResponse' {} a -> s {httpStatus = a} :: DeleteAssessmentFrameworkShareResponse)++instance+ Prelude.NFData+ DeleteAssessmentFrameworkShareResponse+ where+ rnf DeleteAssessmentFrameworkShareResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/DeleteAssessmentReport.hs view
@@ -0,0 +1,200 @@+{-# 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.AuditManager.DeleteAssessmentReport+-- 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 an assessment report in Audit Manager.+--+-- When you run the @DeleteAssessmentReport@ operation, Audit Manager+-- attempts to delete the following data:+--+-- 1. The specified assessment report that’s stored in your S3 bucket+--+-- 2. The associated metadata that’s stored in Audit Manager+--+-- If Audit Manager can’t access the assessment report in your S3 bucket,+-- the report isn’t deleted. In this event, the @DeleteAssessmentReport@+-- operation doesn’t fail. Instead, it proceeds to delete the associated+-- metadata only. You must then delete the assessment report from the S3+-- bucket yourself.+--+-- This scenario happens when Audit Manager receives a @403 (Forbidden)@ or+-- @404 (Not Found)@ error from Amazon S3. To avoid this, make sure that+-- your S3 bucket is available, and that you configured the correct+-- permissions for Audit Manager to delete resources in your S3 bucket. For+-- an example permissions policy that you can use, see+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/security_iam_id-based-policy-examples.html#full-administrator-access-assessment-report-destination Assessment report destination permissions>+-- in the /Audit Manager User Guide/. For information about the issues that+-- could cause a @403 (Forbidden)@ or @404 (Not Found@) error from Amazon+-- S3, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList List of Error Codes>+-- in the /Amazon Simple Storage Service API Reference/.+module Amazonka.AuditManager.DeleteAssessmentReport+ ( -- * Creating a Request+ DeleteAssessmentReport (..),+ newDeleteAssessmentReport,++ -- * Request Lenses+ deleteAssessmentReport_assessmentId,+ deleteAssessmentReport_assessmentReportId,++ -- * Destructuring the Response+ DeleteAssessmentReportResponse (..),+ newDeleteAssessmentReportResponse,++ -- * Response Lenses+ deleteAssessmentReportResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newDeleteAssessmentReport' smart constructor.+data DeleteAssessmentReport = DeleteAssessmentReport'+ { -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The unique identifier for the assessment report.+ assessmentReportId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssessmentReport' 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:+--+-- 'assessmentId', 'deleteAssessmentReport_assessmentId' - The unique identifier for the assessment.+--+-- 'assessmentReportId', 'deleteAssessmentReport_assessmentReportId' - The unique identifier for the assessment report.+newDeleteAssessmentReport ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'assessmentReportId'+ Prelude.Text ->+ DeleteAssessmentReport+newDeleteAssessmentReport+ pAssessmentId_+ pAssessmentReportId_ =+ DeleteAssessmentReport'+ { assessmentId =+ pAssessmentId_,+ assessmentReportId = pAssessmentReportId_+ }++-- | The unique identifier for the assessment.+deleteAssessmentReport_assessmentId :: Lens.Lens' DeleteAssessmentReport Prelude.Text+deleteAssessmentReport_assessmentId = Lens.lens (\DeleteAssessmentReport' {assessmentId} -> assessmentId) (\s@DeleteAssessmentReport' {} a -> s {assessmentId = a} :: DeleteAssessmentReport)++-- | The unique identifier for the assessment report.+deleteAssessmentReport_assessmentReportId :: Lens.Lens' DeleteAssessmentReport Prelude.Text+deleteAssessmentReport_assessmentReportId = Lens.lens (\DeleteAssessmentReport' {assessmentReportId} -> assessmentReportId) (\s@DeleteAssessmentReport' {} a -> s {assessmentReportId = a} :: DeleteAssessmentReport)++instance Core.AWSRequest DeleteAssessmentReport where+ type+ AWSResponse DeleteAssessmentReport =+ DeleteAssessmentReportResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteAssessmentReportResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteAssessmentReport where+ hashWithSalt _salt DeleteAssessmentReport' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` assessmentReportId++instance Prelude.NFData DeleteAssessmentReport where+ rnf DeleteAssessmentReport' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf assessmentReportId++instance Data.ToHeaders DeleteAssessmentReport where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteAssessmentReport where+ toPath DeleteAssessmentReport' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/reports/",+ Data.toBS assessmentReportId+ ]++instance Data.ToQuery DeleteAssessmentReport where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAssessmentReportResponse' smart constructor.+data DeleteAssessmentReportResponse = DeleteAssessmentReportResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAssessmentReportResponse' 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', 'deleteAssessmentReportResponse_httpStatus' - The response's http status code.+newDeleteAssessmentReportResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteAssessmentReportResponse+newDeleteAssessmentReportResponse pHttpStatus_ =+ DeleteAssessmentReportResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteAssessmentReportResponse_httpStatus :: Lens.Lens' DeleteAssessmentReportResponse Prelude.Int+deleteAssessmentReportResponse_httpStatus = Lens.lens (\DeleteAssessmentReportResponse' {httpStatus} -> httpStatus) (\s@DeleteAssessmentReportResponse' {} a -> s {httpStatus = a} :: DeleteAssessmentReportResponse)++instance+ Prelude.NFData+ DeleteAssessmentReportResponse+ where+ rnf DeleteAssessmentReportResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/DeleteControl.hs view
@@ -0,0 +1,143 @@+{-# 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.AuditManager.DeleteControl+-- 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 a custom control in Audit Manager.+module Amazonka.AuditManager.DeleteControl+ ( -- * Creating a Request+ DeleteControl (..),+ newDeleteControl,++ -- * Request Lenses+ deleteControl_controlId,++ -- * Destructuring the Response+ DeleteControlResponse (..),+ newDeleteControlResponse,++ -- * Response Lenses+ deleteControlResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newDeleteControl' smart constructor.+data DeleteControl = DeleteControl'+ { -- | The unique identifier for the control.+ controlId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteControl' 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:+--+-- 'controlId', 'deleteControl_controlId' - The unique identifier for the control.+newDeleteControl ::+ -- | 'controlId'+ Prelude.Text ->+ DeleteControl+newDeleteControl pControlId_ =+ DeleteControl' {controlId = pControlId_}++-- | The unique identifier for the control.+deleteControl_controlId :: Lens.Lens' DeleteControl Prelude.Text+deleteControl_controlId = Lens.lens (\DeleteControl' {controlId} -> controlId) (\s@DeleteControl' {} a -> s {controlId = a} :: DeleteControl)++instance Core.AWSRequest DeleteControl where+ type+ AWSResponse DeleteControl =+ DeleteControlResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteControlResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteControl where+ hashWithSalt _salt DeleteControl' {..} =+ _salt `Prelude.hashWithSalt` controlId++instance Prelude.NFData DeleteControl where+ rnf DeleteControl' {..} = Prelude.rnf controlId++instance Data.ToHeaders DeleteControl where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteControl where+ toPath DeleteControl' {..} =+ Prelude.mconcat ["/controls/", Data.toBS controlId]++instance Data.ToQuery DeleteControl where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteControlResponse' smart constructor.+data DeleteControlResponse = DeleteControlResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteControlResponse' 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', 'deleteControlResponse_httpStatus' - The response's http status code.+newDeleteControlResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteControlResponse+newDeleteControlResponse pHttpStatus_ =+ DeleteControlResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteControlResponse_httpStatus :: Lens.Lens' DeleteControlResponse Prelude.Int+deleteControlResponse_httpStatus = Lens.lens (\DeleteControlResponse' {httpStatus} -> httpStatus) (\s@DeleteControlResponse' {} a -> s {httpStatus = a} :: DeleteControlResponse)++instance Prelude.NFData DeleteControlResponse where+ rnf DeleteControlResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/DeregisterAccount.hs view
@@ -0,0 +1,155 @@+{-# 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.AuditManager.DeregisterAccount+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deregisters an account in Audit Manager.+--+-- Before you deregister, you can use the+-- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_UpdateSettings.html UpdateSettings>+-- API operation to set your preferred data retention policy. By default,+-- Audit Manager retains your data. If you want to delete your data, you+-- can use the @DeregistrationPolicy@ attribute to request the deletion of+-- your data.+--+-- For more information about data retention, see+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/data-protection.html Data Protection>+-- in the /Audit Manager User Guide/.+module Amazonka.AuditManager.DeregisterAccount+ ( -- * Creating a Request+ DeregisterAccount (..),+ newDeregisterAccount,++ -- * Destructuring the Response+ DeregisterAccountResponse (..),+ newDeregisterAccountResponse,++ -- * Response Lenses+ deregisterAccountResponse_status,+ deregisterAccountResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newDeregisterAccount' smart constructor.+data DeregisterAccount = DeregisterAccount'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeregisterAccount' 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.+newDeregisterAccount ::+ DeregisterAccount+newDeregisterAccount = DeregisterAccount'++instance Core.AWSRequest DeregisterAccount where+ type+ AWSResponse DeregisterAccount =+ DeregisterAccountResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeregisterAccountResponse'+ Prelude.<$> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeregisterAccount where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DeregisterAccount where+ rnf _ = ()++instance Data.ToHeaders DeregisterAccount where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeregisterAccount where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath DeregisterAccount where+ toPath = Prelude.const "/account/deregisterAccount"++instance Data.ToQuery DeregisterAccount where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeregisterAccountResponse' smart constructor.+data DeregisterAccountResponse = DeregisterAccountResponse'+ { -- | The registration status of the account.+ status :: Prelude.Maybe AccountStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeregisterAccountResponse' 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:+--+-- 'status', 'deregisterAccountResponse_status' - The registration status of the account.+--+-- 'httpStatus', 'deregisterAccountResponse_httpStatus' - The response's http status code.+newDeregisterAccountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeregisterAccountResponse+newDeregisterAccountResponse pHttpStatus_ =+ DeregisterAccountResponse'+ { status =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The registration status of the account.+deregisterAccountResponse_status :: Lens.Lens' DeregisterAccountResponse (Prelude.Maybe AccountStatus)+deregisterAccountResponse_status = Lens.lens (\DeregisterAccountResponse' {status} -> status) (\s@DeregisterAccountResponse' {} a -> s {status = a} :: DeregisterAccountResponse)++-- | The response's http status code.+deregisterAccountResponse_httpStatus :: Lens.Lens' DeregisterAccountResponse Prelude.Int+deregisterAccountResponse_httpStatus = Lens.lens (\DeregisterAccountResponse' {httpStatus} -> httpStatus) (\s@DeregisterAccountResponse' {} a -> s {httpStatus = a} :: DeregisterAccountResponse)++instance Prelude.NFData DeregisterAccountResponse where+ rnf DeregisterAccountResponse' {..} =+ Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/DeregisterOrganizationAdminAccount.hs view
@@ -0,0 +1,252 @@+{-# 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.AuditManager.DeregisterOrganizationAdminAccount+-- 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 the specified Amazon Web Services account as a delegated+-- administrator for Audit Manager.+--+-- When you remove a delegated administrator from your Audit Manager+-- settings, you continue to have access to the evidence that you+-- previously collected under that account. This is also the case when you+-- deregister a delegated administrator from Organizations. However, Audit+-- Manager stops collecting and attaching evidence to that delegated+-- administrator account moving forward.+--+-- Keep in mind the following cleanup task if you use evidence finder:+--+-- Before you use your management account to remove a delegated+-- administrator, make sure that the current delegated administrator+-- account signs in to Audit Manager and disables evidence finder first.+-- Disabling evidence finder automatically deletes the event data store+-- that was created in their account when they enabled evidence finder. If+-- this task isn’t completed, the event data store remains in their+-- account. In this case, we recommend that the original delegated+-- administrator goes to CloudTrail Lake and manually+-- <https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-eds-disable-termination.html deletes the event data store>.+--+-- This cleanup task is necessary to ensure that you don\'t end up with+-- multiple event data stores. Audit Manager ignores an unused event data+-- store after you remove or change a delegated administrator account.+-- However, the unused event data store continues to incur storage costs+-- from CloudTrail Lake if you don\'t delete it.+--+-- When you deregister a delegated administrator account for Audit Manager,+-- the data for that account isn’t deleted. If you want to delete resource+-- data for a delegated administrator account, you must perform that task+-- separately before you deregister the account. Either, you can do this in+-- the Audit Manager console. Or, you can use one of the delete API+-- operations that are provided by Audit Manager.+--+-- To delete your Audit Manager resource data, see the following+-- instructions:+--+-- - <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteAssessment.html DeleteAssessment>+-- (see also:+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/delete-assessment.html Deleting an assessment>+-- in the /Audit Manager User Guide/)+--+-- - <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteAssessmentFramework.html DeleteAssessmentFramework>+-- (see also:+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/delete-custom-framework.html Deleting a custom framework>+-- in the /Audit Manager User Guide/)+--+-- - <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteAssessmentFrameworkShare.html DeleteAssessmentFrameworkShare>+-- (see also:+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/deleting-shared-framework-requests.html Deleting a share request>+-- in the /Audit Manager User Guide/)+--+-- - <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteAssessmentReport.html DeleteAssessmentReport>+-- (see also:+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/generate-assessment-report.html#delete-assessment-report-steps Deleting an assessment report>+-- in the /Audit Manager User Guide/)+--+-- - <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeleteControl.html DeleteControl>+-- (see also:+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/delete-controls.html Deleting a custom control>+-- in the /Audit Manager User Guide/)+--+-- At this time, Audit Manager doesn\'t provide an option to delete+-- evidence for a specific delegated administrator. Instead, when your+-- management account deregisters Audit Manager, we perform a cleanup for+-- the current delegated administrator account at the time of+-- deregistration.+module Amazonka.AuditManager.DeregisterOrganizationAdminAccount+ ( -- * Creating a Request+ DeregisterOrganizationAdminAccount (..),+ newDeregisterOrganizationAdminAccount,++ -- * Request Lenses+ deregisterOrganizationAdminAccount_adminAccountId,++ -- * Destructuring the Response+ DeregisterOrganizationAdminAccountResponse (..),+ newDeregisterOrganizationAdminAccountResponse,++ -- * Response Lenses+ deregisterOrganizationAdminAccountResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newDeregisterOrganizationAdminAccount' smart constructor.+data DeregisterOrganizationAdminAccount = DeregisterOrganizationAdminAccount'+ { -- | The identifier for the administrator account.+ adminAccountId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeregisterOrganizationAdminAccount' 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:+--+-- 'adminAccountId', 'deregisterOrganizationAdminAccount_adminAccountId' - The identifier for the administrator account.+newDeregisterOrganizationAdminAccount ::+ DeregisterOrganizationAdminAccount+newDeregisterOrganizationAdminAccount =+ DeregisterOrganizationAdminAccount'+ { adminAccountId =+ Prelude.Nothing+ }++-- | The identifier for the administrator account.+deregisterOrganizationAdminAccount_adminAccountId :: Lens.Lens' DeregisterOrganizationAdminAccount (Prelude.Maybe Prelude.Text)+deregisterOrganizationAdminAccount_adminAccountId = Lens.lens (\DeregisterOrganizationAdminAccount' {adminAccountId} -> adminAccountId) (\s@DeregisterOrganizationAdminAccount' {} a -> s {adminAccountId = a} :: DeregisterOrganizationAdminAccount)++instance+ Core.AWSRequest+ DeregisterOrganizationAdminAccount+ where+ type+ AWSResponse DeregisterOrganizationAdminAccount =+ DeregisterOrganizationAdminAccountResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeregisterOrganizationAdminAccountResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DeregisterOrganizationAdminAccount+ where+ hashWithSalt+ _salt+ DeregisterOrganizationAdminAccount' {..} =+ _salt `Prelude.hashWithSalt` adminAccountId++instance+ Prelude.NFData+ DeregisterOrganizationAdminAccount+ where+ rnf DeregisterOrganizationAdminAccount' {..} =+ Prelude.rnf adminAccountId++instance+ Data.ToHeaders+ DeregisterOrganizationAdminAccount+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ DeregisterOrganizationAdminAccount+ where+ toJSON DeregisterOrganizationAdminAccount' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("adminAccountId" Data..=)+ Prelude.<$> adminAccountId+ ]+ )++instance+ Data.ToPath+ DeregisterOrganizationAdminAccount+ where+ toPath =+ Prelude.const+ "/account/deregisterOrganizationAdminAccount"++instance+ Data.ToQuery+ DeregisterOrganizationAdminAccount+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeregisterOrganizationAdminAccountResponse' smart constructor.+data DeregisterOrganizationAdminAccountResponse = DeregisterOrganizationAdminAccountResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeregisterOrganizationAdminAccountResponse' 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', 'deregisterOrganizationAdminAccountResponse_httpStatus' - The response's http status code.+newDeregisterOrganizationAdminAccountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeregisterOrganizationAdminAccountResponse+newDeregisterOrganizationAdminAccountResponse+ pHttpStatus_ =+ DeregisterOrganizationAdminAccountResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deregisterOrganizationAdminAccountResponse_httpStatus :: Lens.Lens' DeregisterOrganizationAdminAccountResponse Prelude.Int+deregisterOrganizationAdminAccountResponse_httpStatus = Lens.lens (\DeregisterOrganizationAdminAccountResponse' {httpStatus} -> httpStatus) (\s@DeregisterOrganizationAdminAccountResponse' {} a -> s {httpStatus = a} :: DeregisterOrganizationAdminAccountResponse)++instance+ Prelude.NFData+ DeregisterOrganizationAdminAccountResponse+ where+ rnf DeregisterOrganizationAdminAccountResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/DisassociateAssessmentReportEvidenceFolder.hs view
@@ -0,0 +1,213 @@+{-# 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.AuditManager.DisassociateAssessmentReportEvidenceFolder+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates an evidence folder from the specified assessment report in+-- Audit Manager.+module Amazonka.AuditManager.DisassociateAssessmentReportEvidenceFolder+ ( -- * Creating a Request+ DisassociateAssessmentReportEvidenceFolder (..),+ newDisassociateAssessmentReportEvidenceFolder,++ -- * Request Lenses+ disassociateAssessmentReportEvidenceFolder_assessmentId,+ disassociateAssessmentReportEvidenceFolder_evidenceFolderId,++ -- * Destructuring the Response+ DisassociateAssessmentReportEvidenceFolderResponse (..),+ newDisassociateAssessmentReportEvidenceFolderResponse,++ -- * Response Lenses+ disassociateAssessmentReportEvidenceFolderResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newDisassociateAssessmentReportEvidenceFolder' smart constructor.+data DisassociateAssessmentReportEvidenceFolder = DisassociateAssessmentReportEvidenceFolder'+ { -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The unique identifier for the folder that the evidence is stored in.+ evidenceFolderId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateAssessmentReportEvidenceFolder' 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:+--+-- 'assessmentId', 'disassociateAssessmentReportEvidenceFolder_assessmentId' - The unique identifier for the assessment.+--+-- 'evidenceFolderId', 'disassociateAssessmentReportEvidenceFolder_evidenceFolderId' - The unique identifier for the folder that the evidence is stored in.+newDisassociateAssessmentReportEvidenceFolder ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'evidenceFolderId'+ Prelude.Text ->+ DisassociateAssessmentReportEvidenceFolder+newDisassociateAssessmentReportEvidenceFolder+ pAssessmentId_+ pEvidenceFolderId_ =+ DisassociateAssessmentReportEvidenceFolder'+ { assessmentId =+ pAssessmentId_,+ evidenceFolderId =+ pEvidenceFolderId_+ }++-- | The unique identifier for the assessment.+disassociateAssessmentReportEvidenceFolder_assessmentId :: Lens.Lens' DisassociateAssessmentReportEvidenceFolder Prelude.Text+disassociateAssessmentReportEvidenceFolder_assessmentId = Lens.lens (\DisassociateAssessmentReportEvidenceFolder' {assessmentId} -> assessmentId) (\s@DisassociateAssessmentReportEvidenceFolder' {} a -> s {assessmentId = a} :: DisassociateAssessmentReportEvidenceFolder)++-- | The unique identifier for the folder that the evidence is stored in.+disassociateAssessmentReportEvidenceFolder_evidenceFolderId :: Lens.Lens' DisassociateAssessmentReportEvidenceFolder Prelude.Text+disassociateAssessmentReportEvidenceFolder_evidenceFolderId = Lens.lens (\DisassociateAssessmentReportEvidenceFolder' {evidenceFolderId} -> evidenceFolderId) (\s@DisassociateAssessmentReportEvidenceFolder' {} a -> s {evidenceFolderId = a} :: DisassociateAssessmentReportEvidenceFolder)++instance+ Core.AWSRequest+ DisassociateAssessmentReportEvidenceFolder+ where+ type+ AWSResponse+ DisassociateAssessmentReportEvidenceFolder =+ DisassociateAssessmentReportEvidenceFolderResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DisassociateAssessmentReportEvidenceFolderResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DisassociateAssessmentReportEvidenceFolder+ where+ hashWithSalt+ _salt+ DisassociateAssessmentReportEvidenceFolder' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` evidenceFolderId++instance+ Prelude.NFData+ DisassociateAssessmentReportEvidenceFolder+ where+ rnf DisassociateAssessmentReportEvidenceFolder' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf evidenceFolderId++instance+ Data.ToHeaders+ DisassociateAssessmentReportEvidenceFolder+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ DisassociateAssessmentReportEvidenceFolder+ where+ toJSON+ DisassociateAssessmentReportEvidenceFolder' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("evidenceFolderId" Data..= evidenceFolderId)+ ]+ )++instance+ Data.ToPath+ DisassociateAssessmentReportEvidenceFolder+ where+ toPath+ DisassociateAssessmentReportEvidenceFolder' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/disassociateFromAssessmentReport"+ ]++instance+ Data.ToQuery+ DisassociateAssessmentReportEvidenceFolder+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateAssessmentReportEvidenceFolderResponse' smart constructor.+data DisassociateAssessmentReportEvidenceFolderResponse = DisassociateAssessmentReportEvidenceFolderResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateAssessmentReportEvidenceFolderResponse' 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', 'disassociateAssessmentReportEvidenceFolderResponse_httpStatus' - The response's http status code.+newDisassociateAssessmentReportEvidenceFolderResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociateAssessmentReportEvidenceFolderResponse+newDisassociateAssessmentReportEvidenceFolderResponse+ pHttpStatus_ =+ DisassociateAssessmentReportEvidenceFolderResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+disassociateAssessmentReportEvidenceFolderResponse_httpStatus :: Lens.Lens' DisassociateAssessmentReportEvidenceFolderResponse Prelude.Int+disassociateAssessmentReportEvidenceFolderResponse_httpStatus = Lens.lens (\DisassociateAssessmentReportEvidenceFolderResponse' {httpStatus} -> httpStatus) (\s@DisassociateAssessmentReportEvidenceFolderResponse' {} a -> s {httpStatus = a} :: DisassociateAssessmentReportEvidenceFolderResponse)++instance+ Prelude.NFData+ DisassociateAssessmentReportEvidenceFolderResponse+ where+ rnf+ DisassociateAssessmentReportEvidenceFolderResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetAccountStatus.hs view
@@ -0,0 +1,140 @@+{-# 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.AuditManager.GetAccountStatus+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the registration status of an account in Audit Manager.+module Amazonka.AuditManager.GetAccountStatus+ ( -- * Creating a Request+ GetAccountStatus (..),+ newGetAccountStatus,++ -- * Destructuring the Response+ GetAccountStatusResponse (..),+ newGetAccountStatusResponse,++ -- * Response Lenses+ getAccountStatusResponse_status,+ getAccountStatusResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetAccountStatus' smart constructor.+data GetAccountStatus = GetAccountStatus'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccountStatus' 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.+newGetAccountStatus ::+ GetAccountStatus+newGetAccountStatus = GetAccountStatus'++instance Core.AWSRequest GetAccountStatus where+ type+ AWSResponse GetAccountStatus =+ GetAccountStatusResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAccountStatusResponse'+ Prelude.<$> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetAccountStatus where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetAccountStatus where+ rnf _ = ()++instance Data.ToHeaders GetAccountStatus where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetAccountStatus where+ toPath = Prelude.const "/account/status"++instance Data.ToQuery GetAccountStatus where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAccountStatusResponse' smart constructor.+data GetAccountStatusResponse = GetAccountStatusResponse'+ { -- | The status of the Amazon Web Services account.+ status :: Prelude.Maybe AccountStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAccountStatusResponse' 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:+--+-- 'status', 'getAccountStatusResponse_status' - The status of the Amazon Web Services account.+--+-- 'httpStatus', 'getAccountStatusResponse_httpStatus' - The response's http status code.+newGetAccountStatusResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAccountStatusResponse+newGetAccountStatusResponse pHttpStatus_ =+ GetAccountStatusResponse'+ { status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The status of the Amazon Web Services account.+getAccountStatusResponse_status :: Lens.Lens' GetAccountStatusResponse (Prelude.Maybe AccountStatus)+getAccountStatusResponse_status = Lens.lens (\GetAccountStatusResponse' {status} -> status) (\s@GetAccountStatusResponse' {} a -> s {status = a} :: GetAccountStatusResponse)++-- | The response's http status code.+getAccountStatusResponse_httpStatus :: Lens.Lens' GetAccountStatusResponse Prelude.Int+getAccountStatusResponse_httpStatus = Lens.lens (\GetAccountStatusResponse' {httpStatus} -> httpStatus) (\s@GetAccountStatusResponse' {} a -> s {httpStatus = a} :: GetAccountStatusResponse)++instance Prelude.NFData GetAccountStatusResponse where+ rnf GetAccountStatusResponse' {..} =+ Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetAssessment.hs view
@@ -0,0 +1,169 @@+{-# 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.AuditManager.GetAssessment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an assessment from Audit Manager.+module Amazonka.AuditManager.GetAssessment+ ( -- * Creating a Request+ GetAssessment (..),+ newGetAssessment,++ -- * Request Lenses+ getAssessment_assessmentId,++ -- * Destructuring the Response+ GetAssessmentResponse (..),+ newGetAssessmentResponse,++ -- * Response Lenses+ getAssessmentResponse_assessment,+ getAssessmentResponse_userRole,+ getAssessmentResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetAssessment' smart constructor.+data GetAssessment = GetAssessment'+ { -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssessment' 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:+--+-- 'assessmentId', 'getAssessment_assessmentId' - The unique identifier for the assessment.+newGetAssessment ::+ -- | 'assessmentId'+ Prelude.Text ->+ GetAssessment+newGetAssessment pAssessmentId_ =+ GetAssessment' {assessmentId = pAssessmentId_}++-- | The unique identifier for the assessment.+getAssessment_assessmentId :: Lens.Lens' GetAssessment Prelude.Text+getAssessment_assessmentId = Lens.lens (\GetAssessment' {assessmentId} -> assessmentId) (\s@GetAssessment' {} a -> s {assessmentId = a} :: GetAssessment)++instance Core.AWSRequest GetAssessment where+ type+ AWSResponse GetAssessment =+ GetAssessmentResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAssessmentResponse'+ Prelude.<$> (x Data..?> "assessment")+ Prelude.<*> (x Data..?> "userRole")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetAssessment where+ hashWithSalt _salt GetAssessment' {..} =+ _salt `Prelude.hashWithSalt` assessmentId++instance Prelude.NFData GetAssessment where+ rnf GetAssessment' {..} = Prelude.rnf assessmentId++instance Data.ToHeaders GetAssessment where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetAssessment where+ toPath GetAssessment' {..} =+ Prelude.mconcat+ ["/assessments/", Data.toBS assessmentId]++instance Data.ToQuery GetAssessment where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAssessmentResponse' smart constructor.+data GetAssessmentResponse = GetAssessmentResponse'+ { assessment :: Prelude.Maybe Assessment,+ userRole :: Prelude.Maybe Role,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssessmentResponse' 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:+--+-- 'assessment', 'getAssessmentResponse_assessment' - Undocumented member.+--+-- 'userRole', 'getAssessmentResponse_userRole' - Undocumented member.+--+-- 'httpStatus', 'getAssessmentResponse_httpStatus' - The response's http status code.+newGetAssessmentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAssessmentResponse+newGetAssessmentResponse pHttpStatus_ =+ GetAssessmentResponse'+ { assessment =+ Prelude.Nothing,+ userRole = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+getAssessmentResponse_assessment :: Lens.Lens' GetAssessmentResponse (Prelude.Maybe Assessment)+getAssessmentResponse_assessment = Lens.lens (\GetAssessmentResponse' {assessment} -> assessment) (\s@GetAssessmentResponse' {} a -> s {assessment = a} :: GetAssessmentResponse)++-- | Undocumented member.+getAssessmentResponse_userRole :: Lens.Lens' GetAssessmentResponse (Prelude.Maybe Role)+getAssessmentResponse_userRole = Lens.lens (\GetAssessmentResponse' {userRole} -> userRole) (\s@GetAssessmentResponse' {} a -> s {userRole = a} :: GetAssessmentResponse)++-- | The response's http status code.+getAssessmentResponse_httpStatus :: Lens.Lens' GetAssessmentResponse Prelude.Int+getAssessmentResponse_httpStatus = Lens.lens (\GetAssessmentResponse' {httpStatus} -> httpStatus) (\s@GetAssessmentResponse' {} a -> s {httpStatus = a} :: GetAssessmentResponse)++instance Prelude.NFData GetAssessmentResponse where+ rnf GetAssessmentResponse' {..} =+ Prelude.rnf assessment+ `Prelude.seq` Prelude.rnf userRole+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetAssessmentFramework.hs view
@@ -0,0 +1,166 @@+{-# 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.AuditManager.GetAssessmentFramework+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a framework from Audit Manager.+module Amazonka.AuditManager.GetAssessmentFramework+ ( -- * Creating a Request+ GetAssessmentFramework (..),+ newGetAssessmentFramework,++ -- * Request Lenses+ getAssessmentFramework_frameworkId,++ -- * Destructuring the Response+ GetAssessmentFrameworkResponse (..),+ newGetAssessmentFrameworkResponse,++ -- * Response Lenses+ getAssessmentFrameworkResponse_framework,+ getAssessmentFrameworkResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetAssessmentFramework' smart constructor.+data GetAssessmentFramework = GetAssessmentFramework'+ { -- | The identifier for the framework.+ frameworkId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssessmentFramework' 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:+--+-- 'frameworkId', 'getAssessmentFramework_frameworkId' - The identifier for the framework.+newGetAssessmentFramework ::+ -- | 'frameworkId'+ Prelude.Text ->+ GetAssessmentFramework+newGetAssessmentFramework pFrameworkId_ =+ GetAssessmentFramework'+ { frameworkId =+ pFrameworkId_+ }++-- | The identifier for the framework.+getAssessmentFramework_frameworkId :: Lens.Lens' GetAssessmentFramework Prelude.Text+getAssessmentFramework_frameworkId = Lens.lens (\GetAssessmentFramework' {frameworkId} -> frameworkId) (\s@GetAssessmentFramework' {} a -> s {frameworkId = a} :: GetAssessmentFramework)++instance Core.AWSRequest GetAssessmentFramework where+ type+ AWSResponse GetAssessmentFramework =+ GetAssessmentFrameworkResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAssessmentFrameworkResponse'+ Prelude.<$> (x Data..?> "framework")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetAssessmentFramework where+ hashWithSalt _salt GetAssessmentFramework' {..} =+ _salt `Prelude.hashWithSalt` frameworkId++instance Prelude.NFData GetAssessmentFramework where+ rnf GetAssessmentFramework' {..} =+ Prelude.rnf frameworkId++instance Data.ToHeaders GetAssessmentFramework where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetAssessmentFramework where+ toPath GetAssessmentFramework' {..} =+ Prelude.mconcat+ ["/assessmentFrameworks/", Data.toBS frameworkId]++instance Data.ToQuery GetAssessmentFramework where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAssessmentFrameworkResponse' smart constructor.+data GetAssessmentFrameworkResponse = GetAssessmentFrameworkResponse'+ { -- | The framework that the @GetAssessmentFramework@ API returned.+ framework :: Prelude.Maybe Framework,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssessmentFrameworkResponse' 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:+--+-- 'framework', 'getAssessmentFrameworkResponse_framework' - The framework that the @GetAssessmentFramework@ API returned.+--+-- 'httpStatus', 'getAssessmentFrameworkResponse_httpStatus' - The response's http status code.+newGetAssessmentFrameworkResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAssessmentFrameworkResponse+newGetAssessmentFrameworkResponse pHttpStatus_ =+ GetAssessmentFrameworkResponse'+ { framework =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The framework that the @GetAssessmentFramework@ API returned.+getAssessmentFrameworkResponse_framework :: Lens.Lens' GetAssessmentFrameworkResponse (Prelude.Maybe Framework)+getAssessmentFrameworkResponse_framework = Lens.lens (\GetAssessmentFrameworkResponse' {framework} -> framework) (\s@GetAssessmentFrameworkResponse' {} a -> s {framework = a} :: GetAssessmentFrameworkResponse)++-- | The response's http status code.+getAssessmentFrameworkResponse_httpStatus :: Lens.Lens' GetAssessmentFrameworkResponse Prelude.Int+getAssessmentFrameworkResponse_httpStatus = Lens.lens (\GetAssessmentFrameworkResponse' {httpStatus} -> httpStatus) (\s@GetAssessmentFrameworkResponse' {} a -> s {httpStatus = a} :: GetAssessmentFrameworkResponse)++instance+ Prelude.NFData+ GetAssessmentFrameworkResponse+ where+ rnf GetAssessmentFrameworkResponse' {..} =+ Prelude.rnf framework+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetAssessmentReportUrl.hs view
@@ -0,0 +1,187 @@+{-# 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.AuditManager.GetAssessmentReportUrl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the URL of an assessment report in Audit Manager.+module Amazonka.AuditManager.GetAssessmentReportUrl+ ( -- * Creating a Request+ GetAssessmentReportUrl (..),+ newGetAssessmentReportUrl,++ -- * Request Lenses+ getAssessmentReportUrl_assessmentReportId,+ getAssessmentReportUrl_assessmentId,++ -- * Destructuring the Response+ GetAssessmentReportUrlResponse (..),+ newGetAssessmentReportUrlResponse,++ -- * Response Lenses+ getAssessmentReportUrlResponse_preSignedUrl,+ getAssessmentReportUrlResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetAssessmentReportUrl' smart constructor.+data GetAssessmentReportUrl = GetAssessmentReportUrl'+ { -- | The unique identifier for the assessment report.+ assessmentReportId :: Prelude.Text,+ -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssessmentReportUrl' 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:+--+-- 'assessmentReportId', 'getAssessmentReportUrl_assessmentReportId' - The unique identifier for the assessment report.+--+-- 'assessmentId', 'getAssessmentReportUrl_assessmentId' - The unique identifier for the assessment.+newGetAssessmentReportUrl ::+ -- | 'assessmentReportId'+ Prelude.Text ->+ -- | 'assessmentId'+ Prelude.Text ->+ GetAssessmentReportUrl+newGetAssessmentReportUrl+ pAssessmentReportId_+ pAssessmentId_ =+ GetAssessmentReportUrl'+ { assessmentReportId =+ pAssessmentReportId_,+ assessmentId = pAssessmentId_+ }++-- | The unique identifier for the assessment report.+getAssessmentReportUrl_assessmentReportId :: Lens.Lens' GetAssessmentReportUrl Prelude.Text+getAssessmentReportUrl_assessmentReportId = Lens.lens (\GetAssessmentReportUrl' {assessmentReportId} -> assessmentReportId) (\s@GetAssessmentReportUrl' {} a -> s {assessmentReportId = a} :: GetAssessmentReportUrl)++-- | The unique identifier for the assessment.+getAssessmentReportUrl_assessmentId :: Lens.Lens' GetAssessmentReportUrl Prelude.Text+getAssessmentReportUrl_assessmentId = Lens.lens (\GetAssessmentReportUrl' {assessmentId} -> assessmentId) (\s@GetAssessmentReportUrl' {} a -> s {assessmentId = a} :: GetAssessmentReportUrl)++instance Core.AWSRequest GetAssessmentReportUrl where+ type+ AWSResponse GetAssessmentReportUrl =+ GetAssessmentReportUrlResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAssessmentReportUrlResponse'+ Prelude.<$> (x Data..?> "preSignedUrl")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetAssessmentReportUrl where+ hashWithSalt _salt GetAssessmentReportUrl' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentReportId+ `Prelude.hashWithSalt` assessmentId++instance Prelude.NFData GetAssessmentReportUrl where+ rnf GetAssessmentReportUrl' {..} =+ Prelude.rnf assessmentReportId+ `Prelude.seq` Prelude.rnf assessmentId++instance Data.ToHeaders GetAssessmentReportUrl where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetAssessmentReportUrl where+ toPath GetAssessmentReportUrl' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/reports/",+ Data.toBS assessmentReportId,+ "/url"+ ]++instance Data.ToQuery GetAssessmentReportUrl where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAssessmentReportUrlResponse' smart constructor.+data GetAssessmentReportUrlResponse = GetAssessmentReportUrlResponse'+ { preSignedUrl :: Prelude.Maybe URL,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAssessmentReportUrlResponse' 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:+--+-- 'preSignedUrl', 'getAssessmentReportUrlResponse_preSignedUrl' - Undocumented member.+--+-- 'httpStatus', 'getAssessmentReportUrlResponse_httpStatus' - The response's http status code.+newGetAssessmentReportUrlResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAssessmentReportUrlResponse+newGetAssessmentReportUrlResponse pHttpStatus_ =+ GetAssessmentReportUrlResponse'+ { preSignedUrl =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+getAssessmentReportUrlResponse_preSignedUrl :: Lens.Lens' GetAssessmentReportUrlResponse (Prelude.Maybe URL)+getAssessmentReportUrlResponse_preSignedUrl = Lens.lens (\GetAssessmentReportUrlResponse' {preSignedUrl} -> preSignedUrl) (\s@GetAssessmentReportUrlResponse' {} a -> s {preSignedUrl = a} :: GetAssessmentReportUrlResponse)++-- | The response's http status code.+getAssessmentReportUrlResponse_httpStatus :: Lens.Lens' GetAssessmentReportUrlResponse Prelude.Int+getAssessmentReportUrlResponse_httpStatus = Lens.lens (\GetAssessmentReportUrlResponse' {httpStatus} -> httpStatus) (\s@GetAssessmentReportUrlResponse' {} a -> s {httpStatus = a} :: GetAssessmentReportUrlResponse)++instance+ Prelude.NFData+ GetAssessmentReportUrlResponse+ where+ rnf GetAssessmentReportUrlResponse' {..} =+ Prelude.rnf preSignedUrl+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetChangeLogs.hs view
@@ -0,0 +1,235 @@+{-# 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.AuditManager.GetChangeLogs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of changelogs from Audit Manager.+module Amazonka.AuditManager.GetChangeLogs+ ( -- * Creating a Request+ GetChangeLogs (..),+ newGetChangeLogs,++ -- * Request Lenses+ getChangeLogs_controlId,+ getChangeLogs_controlSetId,+ getChangeLogs_maxResults,+ getChangeLogs_nextToken,+ getChangeLogs_assessmentId,++ -- * Destructuring the Response+ GetChangeLogsResponse (..),+ newGetChangeLogsResponse,++ -- * Response Lenses+ getChangeLogsResponse_changeLogs,+ getChangeLogsResponse_nextToken,+ getChangeLogsResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetChangeLogs' smart constructor.+data GetChangeLogs = GetChangeLogs'+ { -- | The unique identifier for the control.+ controlId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the control set.+ controlSetId :: Prelude.Maybe Prelude.Text,+ -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetChangeLogs' 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:+--+-- 'controlId', 'getChangeLogs_controlId' - The unique identifier for the control.+--+-- 'controlSetId', 'getChangeLogs_controlSetId' - The unique identifier for the control set.+--+-- 'maxResults', 'getChangeLogs_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'getChangeLogs_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'assessmentId', 'getChangeLogs_assessmentId' - The unique identifier for the assessment.+newGetChangeLogs ::+ -- | 'assessmentId'+ Prelude.Text ->+ GetChangeLogs+newGetChangeLogs pAssessmentId_ =+ GetChangeLogs'+ { controlId = Prelude.Nothing,+ controlSetId = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ assessmentId = pAssessmentId_+ }++-- | The unique identifier for the control.+getChangeLogs_controlId :: Lens.Lens' GetChangeLogs (Prelude.Maybe Prelude.Text)+getChangeLogs_controlId = Lens.lens (\GetChangeLogs' {controlId} -> controlId) (\s@GetChangeLogs' {} a -> s {controlId = a} :: GetChangeLogs)++-- | The unique identifier for the control set.+getChangeLogs_controlSetId :: Lens.Lens' GetChangeLogs (Prelude.Maybe Prelude.Text)+getChangeLogs_controlSetId = Lens.lens (\GetChangeLogs' {controlSetId} -> controlSetId) (\s@GetChangeLogs' {} a -> s {controlSetId = a} :: GetChangeLogs)++-- | Represents the maximum number of results on a page or for an API request+-- call.+getChangeLogs_maxResults :: Lens.Lens' GetChangeLogs (Prelude.Maybe Prelude.Natural)+getChangeLogs_maxResults = Lens.lens (\GetChangeLogs' {maxResults} -> maxResults) (\s@GetChangeLogs' {} a -> s {maxResults = a} :: GetChangeLogs)++-- | The pagination token that\'s used to fetch the next set of results.+getChangeLogs_nextToken :: Lens.Lens' GetChangeLogs (Prelude.Maybe Prelude.Text)+getChangeLogs_nextToken = Lens.lens (\GetChangeLogs' {nextToken} -> nextToken) (\s@GetChangeLogs' {} a -> s {nextToken = a} :: GetChangeLogs)++-- | The unique identifier for the assessment.+getChangeLogs_assessmentId :: Lens.Lens' GetChangeLogs Prelude.Text+getChangeLogs_assessmentId = Lens.lens (\GetChangeLogs' {assessmentId} -> assessmentId) (\s@GetChangeLogs' {} a -> s {assessmentId = a} :: GetChangeLogs)++instance Core.AWSRequest GetChangeLogs where+ type+ AWSResponse GetChangeLogs =+ GetChangeLogsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetChangeLogsResponse'+ Prelude.<$> (x Data..?> "changeLogs" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetChangeLogs where+ hashWithSalt _salt GetChangeLogs' {..} =+ _salt+ `Prelude.hashWithSalt` controlId+ `Prelude.hashWithSalt` controlSetId+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` assessmentId++instance Prelude.NFData GetChangeLogs where+ rnf GetChangeLogs' {..} =+ Prelude.rnf controlId+ `Prelude.seq` Prelude.rnf controlSetId+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf assessmentId++instance Data.ToHeaders GetChangeLogs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetChangeLogs where+ toPath GetChangeLogs' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/changelogs"+ ]++instance Data.ToQuery GetChangeLogs where+ toQuery GetChangeLogs' {..} =+ Prelude.mconcat+ [ "controlId" Data.=: controlId,+ "controlSetId" Data.=: controlSetId,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newGetChangeLogsResponse' smart constructor.+data GetChangeLogsResponse = GetChangeLogsResponse'+ { -- | The list of user activity for the control.+ changeLogs :: Prelude.Maybe [ChangeLog],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'GetChangeLogsResponse' 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:+--+-- 'changeLogs', 'getChangeLogsResponse_changeLogs' - The list of user activity for the control.+--+-- 'nextToken', 'getChangeLogsResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'getChangeLogsResponse_httpStatus' - The response's http status code.+newGetChangeLogsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetChangeLogsResponse+newGetChangeLogsResponse pHttpStatus_ =+ GetChangeLogsResponse'+ { changeLogs =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of user activity for the control.+getChangeLogsResponse_changeLogs :: Lens.Lens' GetChangeLogsResponse (Prelude.Maybe [ChangeLog])+getChangeLogsResponse_changeLogs = Lens.lens (\GetChangeLogsResponse' {changeLogs} -> changeLogs) (\s@GetChangeLogsResponse' {} a -> s {changeLogs = a} :: GetChangeLogsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+getChangeLogsResponse_nextToken :: Lens.Lens' GetChangeLogsResponse (Prelude.Maybe Prelude.Text)+getChangeLogsResponse_nextToken = Lens.lens (\GetChangeLogsResponse' {nextToken} -> nextToken) (\s@GetChangeLogsResponse' {} a -> s {nextToken = a} :: GetChangeLogsResponse)++-- | The response's http status code.+getChangeLogsResponse_httpStatus :: Lens.Lens' GetChangeLogsResponse Prelude.Int+getChangeLogsResponse_httpStatus = Lens.lens (\GetChangeLogsResponse' {httpStatus} -> httpStatus) (\s@GetChangeLogsResponse' {} a -> s {httpStatus = a} :: GetChangeLogsResponse)++instance Prelude.NFData GetChangeLogsResponse where+ rnf GetChangeLogsResponse' {..} =+ Prelude.rnf changeLogs+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetControl.hs view
@@ -0,0 +1,155 @@+{-# 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.AuditManager.GetControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a control from Audit Manager.+module Amazonka.AuditManager.GetControl+ ( -- * Creating a Request+ GetControl (..),+ newGetControl,++ -- * Request Lenses+ getControl_controlId,++ -- * Destructuring the Response+ GetControlResponse (..),+ newGetControlResponse,++ -- * Response Lenses+ getControlResponse_control,+ getControlResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetControl' smart constructor.+data GetControl = GetControl'+ { -- | The identifier for the control.+ controlId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetControl' 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:+--+-- 'controlId', 'getControl_controlId' - The identifier for the control.+newGetControl ::+ -- | 'controlId'+ Prelude.Text ->+ GetControl+newGetControl pControlId_ =+ GetControl' {controlId = pControlId_}++-- | The identifier for the control.+getControl_controlId :: Lens.Lens' GetControl Prelude.Text+getControl_controlId = Lens.lens (\GetControl' {controlId} -> controlId) (\s@GetControl' {} a -> s {controlId = a} :: GetControl)++instance Core.AWSRequest GetControl where+ type AWSResponse GetControl = GetControlResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetControlResponse'+ Prelude.<$> (x Data..?> "control")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetControl where+ hashWithSalt _salt GetControl' {..} =+ _salt `Prelude.hashWithSalt` controlId++instance Prelude.NFData GetControl where+ rnf GetControl' {..} = Prelude.rnf controlId++instance Data.ToHeaders GetControl where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetControl where+ toPath GetControl' {..} =+ Prelude.mconcat ["/controls/", Data.toBS controlId]++instance Data.ToQuery GetControl where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetControlResponse' smart constructor.+data GetControlResponse = GetControlResponse'+ { -- | The name of the control that the @GetControl@ API returned.+ control :: Prelude.Maybe Control,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetControlResponse' 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:+--+-- 'control', 'getControlResponse_control' - The name of the control that the @GetControl@ API returned.+--+-- 'httpStatus', 'getControlResponse_httpStatus' - The response's http status code.+newGetControlResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetControlResponse+newGetControlResponse pHttpStatus_ =+ GetControlResponse'+ { control = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The name of the control that the @GetControl@ API returned.+getControlResponse_control :: Lens.Lens' GetControlResponse (Prelude.Maybe Control)+getControlResponse_control = Lens.lens (\GetControlResponse' {control} -> control) (\s@GetControlResponse' {} a -> s {control = a} :: GetControlResponse)++-- | The response's http status code.+getControlResponse_httpStatus :: Lens.Lens' GetControlResponse Prelude.Int+getControlResponse_httpStatus = Lens.lens (\GetControlResponse' {httpStatus} -> httpStatus) (\s@GetControlResponse' {} a -> s {httpStatus = a} :: GetControlResponse)++instance Prelude.NFData GetControlResponse where+ rnf GetControlResponse' {..} =+ Prelude.rnf control+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetDelegations.hs view
@@ -0,0 +1,190 @@+{-# 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.AuditManager.GetDelegations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of delegations from an audit owner to a delegate.+module Amazonka.AuditManager.GetDelegations+ ( -- * Creating a Request+ GetDelegations (..),+ newGetDelegations,++ -- * Request Lenses+ getDelegations_maxResults,+ getDelegations_nextToken,++ -- * Destructuring the Response+ GetDelegationsResponse (..),+ newGetDelegationsResponse,++ -- * Response Lenses+ getDelegationsResponse_delegations,+ getDelegationsResponse_nextToken,+ getDelegationsResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetDelegations' smart constructor.+data GetDelegations = GetDelegations'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDelegations' 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', 'getDelegations_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'getDelegations_nextToken' - The pagination token that\'s used to fetch the next set of results.+newGetDelegations ::+ GetDelegations+newGetDelegations =+ GetDelegations'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+getDelegations_maxResults :: Lens.Lens' GetDelegations (Prelude.Maybe Prelude.Natural)+getDelegations_maxResults = Lens.lens (\GetDelegations' {maxResults} -> maxResults) (\s@GetDelegations' {} a -> s {maxResults = a} :: GetDelegations)++-- | The pagination token that\'s used to fetch the next set of results.+getDelegations_nextToken :: Lens.Lens' GetDelegations (Prelude.Maybe Prelude.Text)+getDelegations_nextToken = Lens.lens (\GetDelegations' {nextToken} -> nextToken) (\s@GetDelegations' {} a -> s {nextToken = a} :: GetDelegations)++instance Core.AWSRequest GetDelegations where+ type+ AWSResponse GetDelegations =+ GetDelegationsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetDelegationsResponse'+ Prelude.<$> (x Data..?> "delegations" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetDelegations where+ hashWithSalt _salt GetDelegations' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData GetDelegations where+ rnf GetDelegations' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders GetDelegations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetDelegations where+ toPath = Prelude.const "/delegations"++instance Data.ToQuery GetDelegations where+ toQuery GetDelegations' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newGetDelegationsResponse' smart constructor.+data GetDelegationsResponse = GetDelegationsResponse'+ { -- | The list of delegations that the @GetDelegations@ API returned.+ delegations :: Prelude.Maybe [DelegationMetadata],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'GetDelegationsResponse' 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:+--+-- 'delegations', 'getDelegationsResponse_delegations' - The list of delegations that the @GetDelegations@ API returned.+--+-- 'nextToken', 'getDelegationsResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'getDelegationsResponse_httpStatus' - The response's http status code.+newGetDelegationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetDelegationsResponse+newGetDelegationsResponse pHttpStatus_ =+ GetDelegationsResponse'+ { delegations =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of delegations that the @GetDelegations@ API returned.+getDelegationsResponse_delegations :: Lens.Lens' GetDelegationsResponse (Prelude.Maybe [DelegationMetadata])+getDelegationsResponse_delegations = Lens.lens (\GetDelegationsResponse' {delegations} -> delegations) (\s@GetDelegationsResponse' {} a -> s {delegations = a} :: GetDelegationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+getDelegationsResponse_nextToken :: Lens.Lens' GetDelegationsResponse (Prelude.Maybe Prelude.Text)+getDelegationsResponse_nextToken = Lens.lens (\GetDelegationsResponse' {nextToken} -> nextToken) (\s@GetDelegationsResponse' {} a -> s {nextToken = a} :: GetDelegationsResponse)++-- | The response's http status code.+getDelegationsResponse_httpStatus :: Lens.Lens' GetDelegationsResponse Prelude.Int+getDelegationsResponse_httpStatus = Lens.lens (\GetDelegationsResponse' {httpStatus} -> httpStatus) (\s@GetDelegationsResponse' {} a -> s {httpStatus = a} :: GetDelegationsResponse)++instance Prelude.NFData GetDelegationsResponse where+ rnf GetDelegationsResponse' {..} =+ Prelude.rnf delegations+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetEvidence.hs view
@@ -0,0 +1,214 @@+{-# 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.AuditManager.GetEvidence+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns evidence from Audit Manager.+module Amazonka.AuditManager.GetEvidence+ ( -- * Creating a Request+ GetEvidence (..),+ newGetEvidence,++ -- * Request Lenses+ getEvidence_assessmentId,+ getEvidence_controlSetId,+ getEvidence_evidenceFolderId,+ getEvidence_evidenceId,++ -- * Destructuring the Response+ GetEvidenceResponse (..),+ newGetEvidenceResponse,++ -- * Response Lenses+ getEvidenceResponse_evidence,+ getEvidenceResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetEvidence' smart constructor.+data GetEvidence = GetEvidence'+ { -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The unique identifier for the control set.+ controlSetId :: Prelude.Text,+ -- | The unique identifier for the folder that the evidence is stored in.+ evidenceFolderId :: Prelude.Text,+ -- | The unique identifier for the evidence.+ evidenceId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEvidence' 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:+--+-- 'assessmentId', 'getEvidence_assessmentId' - The unique identifier for the assessment.+--+-- 'controlSetId', 'getEvidence_controlSetId' - The unique identifier for the control set.+--+-- 'evidenceFolderId', 'getEvidence_evidenceFolderId' - The unique identifier for the folder that the evidence is stored in.+--+-- 'evidenceId', 'getEvidence_evidenceId' - The unique identifier for the evidence.+newGetEvidence ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'controlSetId'+ Prelude.Text ->+ -- | 'evidenceFolderId'+ Prelude.Text ->+ -- | 'evidenceId'+ Prelude.Text ->+ GetEvidence+newGetEvidence+ pAssessmentId_+ pControlSetId_+ pEvidenceFolderId_+ pEvidenceId_ =+ GetEvidence'+ { assessmentId = pAssessmentId_,+ controlSetId = pControlSetId_,+ evidenceFolderId = pEvidenceFolderId_,+ evidenceId = pEvidenceId_+ }++-- | The unique identifier for the assessment.+getEvidence_assessmentId :: Lens.Lens' GetEvidence Prelude.Text+getEvidence_assessmentId = Lens.lens (\GetEvidence' {assessmentId} -> assessmentId) (\s@GetEvidence' {} a -> s {assessmentId = a} :: GetEvidence)++-- | The unique identifier for the control set.+getEvidence_controlSetId :: Lens.Lens' GetEvidence Prelude.Text+getEvidence_controlSetId = Lens.lens (\GetEvidence' {controlSetId} -> controlSetId) (\s@GetEvidence' {} a -> s {controlSetId = a} :: GetEvidence)++-- | The unique identifier for the folder that the evidence is stored in.+getEvidence_evidenceFolderId :: Lens.Lens' GetEvidence Prelude.Text+getEvidence_evidenceFolderId = Lens.lens (\GetEvidence' {evidenceFolderId} -> evidenceFolderId) (\s@GetEvidence' {} a -> s {evidenceFolderId = a} :: GetEvidence)++-- | The unique identifier for the evidence.+getEvidence_evidenceId :: Lens.Lens' GetEvidence Prelude.Text+getEvidence_evidenceId = Lens.lens (\GetEvidence' {evidenceId} -> evidenceId) (\s@GetEvidence' {} a -> s {evidenceId = a} :: GetEvidence)++instance Core.AWSRequest GetEvidence where+ type AWSResponse GetEvidence = GetEvidenceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetEvidenceResponse'+ Prelude.<$> (x Data..?> "evidence")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetEvidence where+ hashWithSalt _salt GetEvidence' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` controlSetId+ `Prelude.hashWithSalt` evidenceFolderId+ `Prelude.hashWithSalt` evidenceId++instance Prelude.NFData GetEvidence where+ rnf GetEvidence' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf controlSetId+ `Prelude.seq` Prelude.rnf evidenceFolderId+ `Prelude.seq` Prelude.rnf evidenceId++instance Data.ToHeaders GetEvidence where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetEvidence where+ toPath GetEvidence' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/controlSets/",+ Data.toBS controlSetId,+ "/evidenceFolders/",+ Data.toBS evidenceFolderId,+ "/evidence/",+ Data.toBS evidenceId+ ]++instance Data.ToQuery GetEvidence where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetEvidenceResponse' smart constructor.+data GetEvidenceResponse = GetEvidenceResponse'+ { -- | The evidence that the @GetEvidence@ API returned.+ evidence :: Prelude.Maybe Evidence,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEvidenceResponse' 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:+--+-- 'evidence', 'getEvidenceResponse_evidence' - The evidence that the @GetEvidence@ API returned.+--+-- 'httpStatus', 'getEvidenceResponse_httpStatus' - The response's http status code.+newGetEvidenceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetEvidenceResponse+newGetEvidenceResponse pHttpStatus_ =+ GetEvidenceResponse'+ { evidence = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The evidence that the @GetEvidence@ API returned.+getEvidenceResponse_evidence :: Lens.Lens' GetEvidenceResponse (Prelude.Maybe Evidence)+getEvidenceResponse_evidence = Lens.lens (\GetEvidenceResponse' {evidence} -> evidence) (\s@GetEvidenceResponse' {} a -> s {evidence = a} :: GetEvidenceResponse)++-- | The response's http status code.+getEvidenceResponse_httpStatus :: Lens.Lens' GetEvidenceResponse Prelude.Int+getEvidenceResponse_httpStatus = Lens.lens (\GetEvidenceResponse' {httpStatus} -> httpStatus) (\s@GetEvidenceResponse' {} a -> s {httpStatus = a} :: GetEvidenceResponse)++instance Prelude.NFData GetEvidenceResponse where+ rnf GetEvidenceResponse' {..} =+ Prelude.rnf evidence+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetEvidenceByEvidenceFolder.hs view
@@ -0,0 +1,251 @@+{-# 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.AuditManager.GetEvidenceByEvidenceFolder+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns all evidence from a specified evidence folder in Audit Manager.+module Amazonka.AuditManager.GetEvidenceByEvidenceFolder+ ( -- * Creating a Request+ GetEvidenceByEvidenceFolder (..),+ newGetEvidenceByEvidenceFolder,++ -- * Request Lenses+ getEvidenceByEvidenceFolder_maxResults,+ getEvidenceByEvidenceFolder_nextToken,+ getEvidenceByEvidenceFolder_assessmentId,+ getEvidenceByEvidenceFolder_controlSetId,+ getEvidenceByEvidenceFolder_evidenceFolderId,++ -- * Destructuring the Response+ GetEvidenceByEvidenceFolderResponse (..),+ newGetEvidenceByEvidenceFolderResponse,++ -- * Response Lenses+ getEvidenceByEvidenceFolderResponse_evidence,+ getEvidenceByEvidenceFolderResponse_nextToken,+ getEvidenceByEvidenceFolderResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetEvidenceByEvidenceFolder' smart constructor.+data GetEvidenceByEvidenceFolder = GetEvidenceByEvidenceFolder'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The identifier for the control set.+ controlSetId :: Prelude.Text,+ -- | The unique identifier for the folder that the evidence is stored in.+ evidenceFolderId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEvidenceByEvidenceFolder' 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', 'getEvidenceByEvidenceFolder_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'getEvidenceByEvidenceFolder_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'assessmentId', 'getEvidenceByEvidenceFolder_assessmentId' - The identifier for the assessment.+--+-- 'controlSetId', 'getEvidenceByEvidenceFolder_controlSetId' - The identifier for the control set.+--+-- 'evidenceFolderId', 'getEvidenceByEvidenceFolder_evidenceFolderId' - The unique identifier for the folder that the evidence is stored in.+newGetEvidenceByEvidenceFolder ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'controlSetId'+ Prelude.Text ->+ -- | 'evidenceFolderId'+ Prelude.Text ->+ GetEvidenceByEvidenceFolder+newGetEvidenceByEvidenceFolder+ pAssessmentId_+ pControlSetId_+ pEvidenceFolderId_ =+ GetEvidenceByEvidenceFolder'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ assessmentId = pAssessmentId_,+ controlSetId = pControlSetId_,+ evidenceFolderId = pEvidenceFolderId_+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+getEvidenceByEvidenceFolder_maxResults :: Lens.Lens' GetEvidenceByEvidenceFolder (Prelude.Maybe Prelude.Natural)+getEvidenceByEvidenceFolder_maxResults = Lens.lens (\GetEvidenceByEvidenceFolder' {maxResults} -> maxResults) (\s@GetEvidenceByEvidenceFolder' {} a -> s {maxResults = a} :: GetEvidenceByEvidenceFolder)++-- | The pagination token that\'s used to fetch the next set of results.+getEvidenceByEvidenceFolder_nextToken :: Lens.Lens' GetEvidenceByEvidenceFolder (Prelude.Maybe Prelude.Text)+getEvidenceByEvidenceFolder_nextToken = Lens.lens (\GetEvidenceByEvidenceFolder' {nextToken} -> nextToken) (\s@GetEvidenceByEvidenceFolder' {} a -> s {nextToken = a} :: GetEvidenceByEvidenceFolder)++-- | The identifier for the assessment.+getEvidenceByEvidenceFolder_assessmentId :: Lens.Lens' GetEvidenceByEvidenceFolder Prelude.Text+getEvidenceByEvidenceFolder_assessmentId = Lens.lens (\GetEvidenceByEvidenceFolder' {assessmentId} -> assessmentId) (\s@GetEvidenceByEvidenceFolder' {} a -> s {assessmentId = a} :: GetEvidenceByEvidenceFolder)++-- | The identifier for the control set.+getEvidenceByEvidenceFolder_controlSetId :: Lens.Lens' GetEvidenceByEvidenceFolder Prelude.Text+getEvidenceByEvidenceFolder_controlSetId = Lens.lens (\GetEvidenceByEvidenceFolder' {controlSetId} -> controlSetId) (\s@GetEvidenceByEvidenceFolder' {} a -> s {controlSetId = a} :: GetEvidenceByEvidenceFolder)++-- | The unique identifier for the folder that the evidence is stored in.+getEvidenceByEvidenceFolder_evidenceFolderId :: Lens.Lens' GetEvidenceByEvidenceFolder Prelude.Text+getEvidenceByEvidenceFolder_evidenceFolderId = Lens.lens (\GetEvidenceByEvidenceFolder' {evidenceFolderId} -> evidenceFolderId) (\s@GetEvidenceByEvidenceFolder' {} a -> s {evidenceFolderId = a} :: GetEvidenceByEvidenceFolder)++instance Core.AWSRequest GetEvidenceByEvidenceFolder where+ type+ AWSResponse GetEvidenceByEvidenceFolder =+ GetEvidenceByEvidenceFolderResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetEvidenceByEvidenceFolderResponse'+ Prelude.<$> (x Data..?> "evidence" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetEvidenceByEvidenceFolder where+ hashWithSalt _salt GetEvidenceByEvidenceFolder' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` controlSetId+ `Prelude.hashWithSalt` evidenceFolderId++instance Prelude.NFData GetEvidenceByEvidenceFolder where+ rnf GetEvidenceByEvidenceFolder' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf controlSetId+ `Prelude.seq` Prelude.rnf evidenceFolderId++instance Data.ToHeaders GetEvidenceByEvidenceFolder where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetEvidenceByEvidenceFolder where+ toPath GetEvidenceByEvidenceFolder' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/controlSets/",+ Data.toBS controlSetId,+ "/evidenceFolders/",+ Data.toBS evidenceFolderId,+ "/evidence"+ ]++instance Data.ToQuery GetEvidenceByEvidenceFolder where+ toQuery GetEvidenceByEvidenceFolder' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newGetEvidenceByEvidenceFolderResponse' smart constructor.+data GetEvidenceByEvidenceFolderResponse = GetEvidenceByEvidenceFolderResponse'+ { -- | The list of evidence that the @GetEvidenceByEvidenceFolder@ API+ -- returned.+ evidence :: Prelude.Maybe [Evidence],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'GetEvidenceByEvidenceFolderResponse' 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:+--+-- 'evidence', 'getEvidenceByEvidenceFolderResponse_evidence' - The list of evidence that the @GetEvidenceByEvidenceFolder@ API+-- returned.+--+-- 'nextToken', 'getEvidenceByEvidenceFolderResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'getEvidenceByEvidenceFolderResponse_httpStatus' - The response's http status code.+newGetEvidenceByEvidenceFolderResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetEvidenceByEvidenceFolderResponse+newGetEvidenceByEvidenceFolderResponse pHttpStatus_ =+ GetEvidenceByEvidenceFolderResponse'+ { evidence =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of evidence that the @GetEvidenceByEvidenceFolder@ API+-- returned.+getEvidenceByEvidenceFolderResponse_evidence :: Lens.Lens' GetEvidenceByEvidenceFolderResponse (Prelude.Maybe [Evidence])+getEvidenceByEvidenceFolderResponse_evidence = Lens.lens (\GetEvidenceByEvidenceFolderResponse' {evidence} -> evidence) (\s@GetEvidenceByEvidenceFolderResponse' {} a -> s {evidence = a} :: GetEvidenceByEvidenceFolderResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+getEvidenceByEvidenceFolderResponse_nextToken :: Lens.Lens' GetEvidenceByEvidenceFolderResponse (Prelude.Maybe Prelude.Text)+getEvidenceByEvidenceFolderResponse_nextToken = Lens.lens (\GetEvidenceByEvidenceFolderResponse' {nextToken} -> nextToken) (\s@GetEvidenceByEvidenceFolderResponse' {} a -> s {nextToken = a} :: GetEvidenceByEvidenceFolderResponse)++-- | The response's http status code.+getEvidenceByEvidenceFolderResponse_httpStatus :: Lens.Lens' GetEvidenceByEvidenceFolderResponse Prelude.Int+getEvidenceByEvidenceFolderResponse_httpStatus = Lens.lens (\GetEvidenceByEvidenceFolderResponse' {httpStatus} -> httpStatus) (\s@GetEvidenceByEvidenceFolderResponse' {} a -> s {httpStatus = a} :: GetEvidenceByEvidenceFolderResponse)++instance+ Prelude.NFData+ GetEvidenceByEvidenceFolderResponse+ where+ rnf GetEvidenceByEvidenceFolderResponse' {..} =+ Prelude.rnf evidence+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetEvidenceFolder.hs view
@@ -0,0 +1,201 @@+{-# 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.AuditManager.GetEvidenceFolder+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an evidence folder from the specified assessment in Audit+-- Manager.+module Amazonka.AuditManager.GetEvidenceFolder+ ( -- * Creating a Request+ GetEvidenceFolder (..),+ newGetEvidenceFolder,++ -- * Request Lenses+ getEvidenceFolder_assessmentId,+ getEvidenceFolder_controlSetId,+ getEvidenceFolder_evidenceFolderId,++ -- * Destructuring the Response+ GetEvidenceFolderResponse (..),+ newGetEvidenceFolderResponse,++ -- * Response Lenses+ getEvidenceFolderResponse_evidenceFolder,+ getEvidenceFolderResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetEvidenceFolder' smart constructor.+data GetEvidenceFolder = GetEvidenceFolder'+ { -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The unique identifier for the control set.+ controlSetId :: Prelude.Text,+ -- | The unique identifier for the folder that the evidence is stored in.+ evidenceFolderId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEvidenceFolder' 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:+--+-- 'assessmentId', 'getEvidenceFolder_assessmentId' - The unique identifier for the assessment.+--+-- 'controlSetId', 'getEvidenceFolder_controlSetId' - The unique identifier for the control set.+--+-- 'evidenceFolderId', 'getEvidenceFolder_evidenceFolderId' - The unique identifier for the folder that the evidence is stored in.+newGetEvidenceFolder ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'controlSetId'+ Prelude.Text ->+ -- | 'evidenceFolderId'+ Prelude.Text ->+ GetEvidenceFolder+newGetEvidenceFolder+ pAssessmentId_+ pControlSetId_+ pEvidenceFolderId_ =+ GetEvidenceFolder'+ { assessmentId = pAssessmentId_,+ controlSetId = pControlSetId_,+ evidenceFolderId = pEvidenceFolderId_+ }++-- | The unique identifier for the assessment.+getEvidenceFolder_assessmentId :: Lens.Lens' GetEvidenceFolder Prelude.Text+getEvidenceFolder_assessmentId = Lens.lens (\GetEvidenceFolder' {assessmentId} -> assessmentId) (\s@GetEvidenceFolder' {} a -> s {assessmentId = a} :: GetEvidenceFolder)++-- | The unique identifier for the control set.+getEvidenceFolder_controlSetId :: Lens.Lens' GetEvidenceFolder Prelude.Text+getEvidenceFolder_controlSetId = Lens.lens (\GetEvidenceFolder' {controlSetId} -> controlSetId) (\s@GetEvidenceFolder' {} a -> s {controlSetId = a} :: GetEvidenceFolder)++-- | The unique identifier for the folder that the evidence is stored in.+getEvidenceFolder_evidenceFolderId :: Lens.Lens' GetEvidenceFolder Prelude.Text+getEvidenceFolder_evidenceFolderId = Lens.lens (\GetEvidenceFolder' {evidenceFolderId} -> evidenceFolderId) (\s@GetEvidenceFolder' {} a -> s {evidenceFolderId = a} :: GetEvidenceFolder)++instance Core.AWSRequest GetEvidenceFolder where+ type+ AWSResponse GetEvidenceFolder =+ GetEvidenceFolderResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetEvidenceFolderResponse'+ Prelude.<$> (x Data..?> "evidenceFolder")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetEvidenceFolder where+ hashWithSalt _salt GetEvidenceFolder' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` controlSetId+ `Prelude.hashWithSalt` evidenceFolderId++instance Prelude.NFData GetEvidenceFolder where+ rnf GetEvidenceFolder' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf controlSetId+ `Prelude.seq` Prelude.rnf evidenceFolderId++instance Data.ToHeaders GetEvidenceFolder where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetEvidenceFolder where+ toPath GetEvidenceFolder' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/controlSets/",+ Data.toBS controlSetId,+ "/evidenceFolders/",+ Data.toBS evidenceFolderId+ ]++instance Data.ToQuery GetEvidenceFolder where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetEvidenceFolderResponse' smart constructor.+data GetEvidenceFolderResponse = GetEvidenceFolderResponse'+ { -- | The folder that the evidence is stored in.+ evidenceFolder :: Prelude.Maybe AssessmentEvidenceFolder,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEvidenceFolderResponse' 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:+--+-- 'evidenceFolder', 'getEvidenceFolderResponse_evidenceFolder' - The folder that the evidence is stored in.+--+-- 'httpStatus', 'getEvidenceFolderResponse_httpStatus' - The response's http status code.+newGetEvidenceFolderResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetEvidenceFolderResponse+newGetEvidenceFolderResponse pHttpStatus_ =+ GetEvidenceFolderResponse'+ { evidenceFolder =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The folder that the evidence is stored in.+getEvidenceFolderResponse_evidenceFolder :: Lens.Lens' GetEvidenceFolderResponse (Prelude.Maybe AssessmentEvidenceFolder)+getEvidenceFolderResponse_evidenceFolder = Lens.lens (\GetEvidenceFolderResponse' {evidenceFolder} -> evidenceFolder) (\s@GetEvidenceFolderResponse' {} a -> s {evidenceFolder = a} :: GetEvidenceFolderResponse)++-- | The response's http status code.+getEvidenceFolderResponse_httpStatus :: Lens.Lens' GetEvidenceFolderResponse Prelude.Int+getEvidenceFolderResponse_httpStatus = Lens.lens (\GetEvidenceFolderResponse' {httpStatus} -> httpStatus) (\s@GetEvidenceFolderResponse' {} a -> s {httpStatus = a} :: GetEvidenceFolderResponse)++instance Prelude.NFData GetEvidenceFolderResponse where+ rnf GetEvidenceFolderResponse' {..} =+ Prelude.rnf evidenceFolder+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetEvidenceFoldersByAssessment.hs view
@@ -0,0 +1,235 @@+{-# 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.AuditManager.GetEvidenceFoldersByAssessment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the evidence folders from a specified assessment in Audit+-- Manager.+module Amazonka.AuditManager.GetEvidenceFoldersByAssessment+ ( -- * Creating a Request+ GetEvidenceFoldersByAssessment (..),+ newGetEvidenceFoldersByAssessment,++ -- * Request Lenses+ getEvidenceFoldersByAssessment_maxResults,+ getEvidenceFoldersByAssessment_nextToken,+ getEvidenceFoldersByAssessment_assessmentId,++ -- * Destructuring the Response+ GetEvidenceFoldersByAssessmentResponse (..),+ newGetEvidenceFoldersByAssessmentResponse,++ -- * Response Lenses+ getEvidenceFoldersByAssessmentResponse_evidenceFolders,+ getEvidenceFoldersByAssessmentResponse_nextToken,+ getEvidenceFoldersByAssessmentResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetEvidenceFoldersByAssessment' smart constructor.+data GetEvidenceFoldersByAssessment = GetEvidenceFoldersByAssessment'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEvidenceFoldersByAssessment' 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', 'getEvidenceFoldersByAssessment_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'getEvidenceFoldersByAssessment_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'assessmentId', 'getEvidenceFoldersByAssessment_assessmentId' - The unique identifier for the assessment.+newGetEvidenceFoldersByAssessment ::+ -- | 'assessmentId'+ Prelude.Text ->+ GetEvidenceFoldersByAssessment+newGetEvidenceFoldersByAssessment pAssessmentId_ =+ GetEvidenceFoldersByAssessment'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ assessmentId = pAssessmentId_+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+getEvidenceFoldersByAssessment_maxResults :: Lens.Lens' GetEvidenceFoldersByAssessment (Prelude.Maybe Prelude.Natural)+getEvidenceFoldersByAssessment_maxResults = Lens.lens (\GetEvidenceFoldersByAssessment' {maxResults} -> maxResults) (\s@GetEvidenceFoldersByAssessment' {} a -> s {maxResults = a} :: GetEvidenceFoldersByAssessment)++-- | The pagination token that\'s used to fetch the next set of results.+getEvidenceFoldersByAssessment_nextToken :: Lens.Lens' GetEvidenceFoldersByAssessment (Prelude.Maybe Prelude.Text)+getEvidenceFoldersByAssessment_nextToken = Lens.lens (\GetEvidenceFoldersByAssessment' {nextToken} -> nextToken) (\s@GetEvidenceFoldersByAssessment' {} a -> s {nextToken = a} :: GetEvidenceFoldersByAssessment)++-- | The unique identifier for the assessment.+getEvidenceFoldersByAssessment_assessmentId :: Lens.Lens' GetEvidenceFoldersByAssessment Prelude.Text+getEvidenceFoldersByAssessment_assessmentId = Lens.lens (\GetEvidenceFoldersByAssessment' {assessmentId} -> assessmentId) (\s@GetEvidenceFoldersByAssessment' {} a -> s {assessmentId = a} :: GetEvidenceFoldersByAssessment)++instance+ Core.AWSRequest+ GetEvidenceFoldersByAssessment+ where+ type+ AWSResponse GetEvidenceFoldersByAssessment =+ GetEvidenceFoldersByAssessmentResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetEvidenceFoldersByAssessmentResponse'+ Prelude.<$> ( x+ Data..?> "evidenceFolders"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetEvidenceFoldersByAssessment+ where+ hashWithSalt+ _salt+ GetEvidenceFoldersByAssessment' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` assessmentId++instance+ Prelude.NFData+ GetEvidenceFoldersByAssessment+ where+ rnf GetEvidenceFoldersByAssessment' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf assessmentId++instance+ Data.ToHeaders+ GetEvidenceFoldersByAssessment+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetEvidenceFoldersByAssessment where+ toPath GetEvidenceFoldersByAssessment' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/evidenceFolders"+ ]++instance Data.ToQuery GetEvidenceFoldersByAssessment where+ toQuery GetEvidenceFoldersByAssessment' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newGetEvidenceFoldersByAssessmentResponse' smart constructor.+data GetEvidenceFoldersByAssessmentResponse = GetEvidenceFoldersByAssessmentResponse'+ { -- | The list of evidence folders that the @GetEvidenceFoldersByAssessment@+ -- API returned.+ evidenceFolders :: Prelude.Maybe [AssessmentEvidenceFolder],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'GetEvidenceFoldersByAssessmentResponse' 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:+--+-- 'evidenceFolders', 'getEvidenceFoldersByAssessmentResponse_evidenceFolders' - The list of evidence folders that the @GetEvidenceFoldersByAssessment@+-- API returned.+--+-- 'nextToken', 'getEvidenceFoldersByAssessmentResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'getEvidenceFoldersByAssessmentResponse_httpStatus' - The response's http status code.+newGetEvidenceFoldersByAssessmentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetEvidenceFoldersByAssessmentResponse+newGetEvidenceFoldersByAssessmentResponse+ pHttpStatus_ =+ GetEvidenceFoldersByAssessmentResponse'+ { evidenceFolders =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of evidence folders that the @GetEvidenceFoldersByAssessment@+-- API returned.+getEvidenceFoldersByAssessmentResponse_evidenceFolders :: Lens.Lens' GetEvidenceFoldersByAssessmentResponse (Prelude.Maybe [AssessmentEvidenceFolder])+getEvidenceFoldersByAssessmentResponse_evidenceFolders = Lens.lens (\GetEvidenceFoldersByAssessmentResponse' {evidenceFolders} -> evidenceFolders) (\s@GetEvidenceFoldersByAssessmentResponse' {} a -> s {evidenceFolders = a} :: GetEvidenceFoldersByAssessmentResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+getEvidenceFoldersByAssessmentResponse_nextToken :: Lens.Lens' GetEvidenceFoldersByAssessmentResponse (Prelude.Maybe Prelude.Text)+getEvidenceFoldersByAssessmentResponse_nextToken = Lens.lens (\GetEvidenceFoldersByAssessmentResponse' {nextToken} -> nextToken) (\s@GetEvidenceFoldersByAssessmentResponse' {} a -> s {nextToken = a} :: GetEvidenceFoldersByAssessmentResponse)++-- | The response's http status code.+getEvidenceFoldersByAssessmentResponse_httpStatus :: Lens.Lens' GetEvidenceFoldersByAssessmentResponse Prelude.Int+getEvidenceFoldersByAssessmentResponse_httpStatus = Lens.lens (\GetEvidenceFoldersByAssessmentResponse' {httpStatus} -> httpStatus) (\s@GetEvidenceFoldersByAssessmentResponse' {} a -> s {httpStatus = a} :: GetEvidenceFoldersByAssessmentResponse)++instance+ Prelude.NFData+ GetEvidenceFoldersByAssessmentResponse+ where+ rnf GetEvidenceFoldersByAssessmentResponse' {..} =+ Prelude.rnf evidenceFolders+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetEvidenceFoldersByAssessmentControl.hs view
@@ -0,0 +1,277 @@+{-# 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.AuditManager.GetEvidenceFoldersByAssessmentControl+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of evidence folders that are associated with a specified+-- control in an Audit Manager assessment.+module Amazonka.AuditManager.GetEvidenceFoldersByAssessmentControl+ ( -- * Creating a Request+ GetEvidenceFoldersByAssessmentControl (..),+ newGetEvidenceFoldersByAssessmentControl,++ -- * Request Lenses+ getEvidenceFoldersByAssessmentControl_maxResults,+ getEvidenceFoldersByAssessmentControl_nextToken,+ getEvidenceFoldersByAssessmentControl_assessmentId,+ getEvidenceFoldersByAssessmentControl_controlSetId,+ getEvidenceFoldersByAssessmentControl_controlId,++ -- * Destructuring the Response+ GetEvidenceFoldersByAssessmentControlResponse (..),+ newGetEvidenceFoldersByAssessmentControlResponse,++ -- * Response Lenses+ getEvidenceFoldersByAssessmentControlResponse_evidenceFolders,+ getEvidenceFoldersByAssessmentControlResponse_nextToken,+ getEvidenceFoldersByAssessmentControlResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetEvidenceFoldersByAssessmentControl' smart constructor.+data GetEvidenceFoldersByAssessmentControl = GetEvidenceFoldersByAssessmentControl'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The identifier for the control set.+ controlSetId :: Prelude.Text,+ -- | The identifier for the control.+ controlId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEvidenceFoldersByAssessmentControl' 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', 'getEvidenceFoldersByAssessmentControl_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'getEvidenceFoldersByAssessmentControl_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'assessmentId', 'getEvidenceFoldersByAssessmentControl_assessmentId' - The identifier for the assessment.+--+-- 'controlSetId', 'getEvidenceFoldersByAssessmentControl_controlSetId' - The identifier for the control set.+--+-- 'controlId', 'getEvidenceFoldersByAssessmentControl_controlId' - The identifier for the control.+newGetEvidenceFoldersByAssessmentControl ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'controlSetId'+ Prelude.Text ->+ -- | 'controlId'+ Prelude.Text ->+ GetEvidenceFoldersByAssessmentControl+newGetEvidenceFoldersByAssessmentControl+ pAssessmentId_+ pControlSetId_+ pControlId_ =+ GetEvidenceFoldersByAssessmentControl'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ assessmentId = pAssessmentId_,+ controlSetId = pControlSetId_,+ controlId = pControlId_+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+getEvidenceFoldersByAssessmentControl_maxResults :: Lens.Lens' GetEvidenceFoldersByAssessmentControl (Prelude.Maybe Prelude.Natural)+getEvidenceFoldersByAssessmentControl_maxResults = Lens.lens (\GetEvidenceFoldersByAssessmentControl' {maxResults} -> maxResults) (\s@GetEvidenceFoldersByAssessmentControl' {} a -> s {maxResults = a} :: GetEvidenceFoldersByAssessmentControl)++-- | The pagination token that\'s used to fetch the next set of results.+getEvidenceFoldersByAssessmentControl_nextToken :: Lens.Lens' GetEvidenceFoldersByAssessmentControl (Prelude.Maybe Prelude.Text)+getEvidenceFoldersByAssessmentControl_nextToken = Lens.lens (\GetEvidenceFoldersByAssessmentControl' {nextToken} -> nextToken) (\s@GetEvidenceFoldersByAssessmentControl' {} a -> s {nextToken = a} :: GetEvidenceFoldersByAssessmentControl)++-- | The identifier for the assessment.+getEvidenceFoldersByAssessmentControl_assessmentId :: Lens.Lens' GetEvidenceFoldersByAssessmentControl Prelude.Text+getEvidenceFoldersByAssessmentControl_assessmentId = Lens.lens (\GetEvidenceFoldersByAssessmentControl' {assessmentId} -> assessmentId) (\s@GetEvidenceFoldersByAssessmentControl' {} a -> s {assessmentId = a} :: GetEvidenceFoldersByAssessmentControl)++-- | The identifier for the control set.+getEvidenceFoldersByAssessmentControl_controlSetId :: Lens.Lens' GetEvidenceFoldersByAssessmentControl Prelude.Text+getEvidenceFoldersByAssessmentControl_controlSetId = Lens.lens (\GetEvidenceFoldersByAssessmentControl' {controlSetId} -> controlSetId) (\s@GetEvidenceFoldersByAssessmentControl' {} a -> s {controlSetId = a} :: GetEvidenceFoldersByAssessmentControl)++-- | The identifier for the control.+getEvidenceFoldersByAssessmentControl_controlId :: Lens.Lens' GetEvidenceFoldersByAssessmentControl Prelude.Text+getEvidenceFoldersByAssessmentControl_controlId = Lens.lens (\GetEvidenceFoldersByAssessmentControl' {controlId} -> controlId) (\s@GetEvidenceFoldersByAssessmentControl' {} a -> s {controlId = a} :: GetEvidenceFoldersByAssessmentControl)++instance+ Core.AWSRequest+ GetEvidenceFoldersByAssessmentControl+ where+ type+ AWSResponse+ GetEvidenceFoldersByAssessmentControl =+ GetEvidenceFoldersByAssessmentControlResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetEvidenceFoldersByAssessmentControlResponse'+ Prelude.<$> ( x+ Data..?> "evidenceFolders"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetEvidenceFoldersByAssessmentControl+ where+ hashWithSalt+ _salt+ GetEvidenceFoldersByAssessmentControl' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` controlSetId+ `Prelude.hashWithSalt` controlId++instance+ Prelude.NFData+ GetEvidenceFoldersByAssessmentControl+ where+ rnf GetEvidenceFoldersByAssessmentControl' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf controlSetId+ `Prelude.seq` Prelude.rnf controlId++instance+ Data.ToHeaders+ GetEvidenceFoldersByAssessmentControl+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ GetEvidenceFoldersByAssessmentControl+ where+ toPath GetEvidenceFoldersByAssessmentControl' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/evidenceFolders-by-assessment-control/",+ Data.toBS controlSetId,+ "/",+ Data.toBS controlId+ ]++instance+ Data.ToQuery+ GetEvidenceFoldersByAssessmentControl+ where+ toQuery GetEvidenceFoldersByAssessmentControl' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newGetEvidenceFoldersByAssessmentControlResponse' smart constructor.+data GetEvidenceFoldersByAssessmentControlResponse = GetEvidenceFoldersByAssessmentControlResponse'+ { -- | The list of evidence folders that the+ -- @GetEvidenceFoldersByAssessmentControl@ API returned.+ evidenceFolders :: Prelude.Maybe [AssessmentEvidenceFolder],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'GetEvidenceFoldersByAssessmentControlResponse' 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:+--+-- 'evidenceFolders', 'getEvidenceFoldersByAssessmentControlResponse_evidenceFolders' - The list of evidence folders that the+-- @GetEvidenceFoldersByAssessmentControl@ API returned.+--+-- 'nextToken', 'getEvidenceFoldersByAssessmentControlResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'getEvidenceFoldersByAssessmentControlResponse_httpStatus' - The response's http status code.+newGetEvidenceFoldersByAssessmentControlResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetEvidenceFoldersByAssessmentControlResponse+newGetEvidenceFoldersByAssessmentControlResponse+ pHttpStatus_ =+ GetEvidenceFoldersByAssessmentControlResponse'+ { evidenceFolders =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of evidence folders that the+-- @GetEvidenceFoldersByAssessmentControl@ API returned.+getEvidenceFoldersByAssessmentControlResponse_evidenceFolders :: Lens.Lens' GetEvidenceFoldersByAssessmentControlResponse (Prelude.Maybe [AssessmentEvidenceFolder])+getEvidenceFoldersByAssessmentControlResponse_evidenceFolders = Lens.lens (\GetEvidenceFoldersByAssessmentControlResponse' {evidenceFolders} -> evidenceFolders) (\s@GetEvidenceFoldersByAssessmentControlResponse' {} a -> s {evidenceFolders = a} :: GetEvidenceFoldersByAssessmentControlResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+getEvidenceFoldersByAssessmentControlResponse_nextToken :: Lens.Lens' GetEvidenceFoldersByAssessmentControlResponse (Prelude.Maybe Prelude.Text)+getEvidenceFoldersByAssessmentControlResponse_nextToken = Lens.lens (\GetEvidenceFoldersByAssessmentControlResponse' {nextToken} -> nextToken) (\s@GetEvidenceFoldersByAssessmentControlResponse' {} a -> s {nextToken = a} :: GetEvidenceFoldersByAssessmentControlResponse)++-- | The response's http status code.+getEvidenceFoldersByAssessmentControlResponse_httpStatus :: Lens.Lens' GetEvidenceFoldersByAssessmentControlResponse Prelude.Int+getEvidenceFoldersByAssessmentControlResponse_httpStatus = Lens.lens (\GetEvidenceFoldersByAssessmentControlResponse' {httpStatus} -> httpStatus) (\s@GetEvidenceFoldersByAssessmentControlResponse' {} a -> s {httpStatus = a} :: GetEvidenceFoldersByAssessmentControlResponse)++instance+ Prelude.NFData+ GetEvidenceFoldersByAssessmentControlResponse+ where+ rnf+ GetEvidenceFoldersByAssessmentControlResponse' {..} =+ Prelude.rnf evidenceFolders+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetInsights.hs view
@@ -0,0 +1,138 @@+{-# 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.AuditManager.GetInsights+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the latest analytics data for all your current active assessments.+module Amazonka.AuditManager.GetInsights+ ( -- * Creating a Request+ GetInsights (..),+ newGetInsights,++ -- * Destructuring the Response+ GetInsightsResponse (..),+ newGetInsightsResponse,++ -- * Response Lenses+ getInsightsResponse_insights,+ getInsightsResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetInsights' smart constructor.+data GetInsights = GetInsights'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetInsights' 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.+newGetInsights ::+ GetInsights+newGetInsights = GetInsights'++instance Core.AWSRequest GetInsights where+ type AWSResponse GetInsights = GetInsightsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetInsightsResponse'+ Prelude.<$> (x Data..?> "insights")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetInsights where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetInsights where+ rnf _ = ()++instance Data.ToHeaders GetInsights where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetInsights where+ toPath = Prelude.const "/insights"++instance Data.ToQuery GetInsights where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetInsightsResponse' smart constructor.+data GetInsightsResponse = GetInsightsResponse'+ { -- | The analytics data that the @GetInsights@ API returned.+ insights :: Prelude.Maybe Insights,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetInsightsResponse' 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:+--+-- 'insights', 'getInsightsResponse_insights' - The analytics data that the @GetInsights@ API returned.+--+-- 'httpStatus', 'getInsightsResponse_httpStatus' - The response's http status code.+newGetInsightsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetInsightsResponse+newGetInsightsResponse pHttpStatus_ =+ GetInsightsResponse'+ { insights = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The analytics data that the @GetInsights@ API returned.+getInsightsResponse_insights :: Lens.Lens' GetInsightsResponse (Prelude.Maybe Insights)+getInsightsResponse_insights = Lens.lens (\GetInsightsResponse' {insights} -> insights) (\s@GetInsightsResponse' {} a -> s {insights = a} :: GetInsightsResponse)++-- | The response's http status code.+getInsightsResponse_httpStatus :: Lens.Lens' GetInsightsResponse Prelude.Int+getInsightsResponse_httpStatus = Lens.lens (\GetInsightsResponse' {httpStatus} -> httpStatus) (\s@GetInsightsResponse' {} a -> s {httpStatus = a} :: GetInsightsResponse)++instance Prelude.NFData GetInsightsResponse where+ rnf GetInsightsResponse' {..} =+ Prelude.rnf insights+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetInsightsByAssessment.hs view
@@ -0,0 +1,169 @@+{-# 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.AuditManager.GetInsightsByAssessment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the latest analytics data for a specific active assessment.+module Amazonka.AuditManager.GetInsightsByAssessment+ ( -- * Creating a Request+ GetInsightsByAssessment (..),+ newGetInsightsByAssessment,++ -- * Request Lenses+ getInsightsByAssessment_assessmentId,++ -- * Destructuring the Response+ GetInsightsByAssessmentResponse (..),+ newGetInsightsByAssessmentResponse,++ -- * Response Lenses+ getInsightsByAssessmentResponse_insights,+ getInsightsByAssessmentResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetInsightsByAssessment' smart constructor.+data GetInsightsByAssessment = GetInsightsByAssessment'+ { -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetInsightsByAssessment' 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:+--+-- 'assessmentId', 'getInsightsByAssessment_assessmentId' - The unique identifier for the assessment.+newGetInsightsByAssessment ::+ -- | 'assessmentId'+ Prelude.Text ->+ GetInsightsByAssessment+newGetInsightsByAssessment pAssessmentId_ =+ GetInsightsByAssessment'+ { assessmentId =+ pAssessmentId_+ }++-- | The unique identifier for the assessment.+getInsightsByAssessment_assessmentId :: Lens.Lens' GetInsightsByAssessment Prelude.Text+getInsightsByAssessment_assessmentId = Lens.lens (\GetInsightsByAssessment' {assessmentId} -> assessmentId) (\s@GetInsightsByAssessment' {} a -> s {assessmentId = a} :: GetInsightsByAssessment)++instance Core.AWSRequest GetInsightsByAssessment where+ type+ AWSResponse GetInsightsByAssessment =+ GetInsightsByAssessmentResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetInsightsByAssessmentResponse'+ Prelude.<$> (x Data..?> "insights")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetInsightsByAssessment where+ hashWithSalt _salt GetInsightsByAssessment' {..} =+ _salt `Prelude.hashWithSalt` assessmentId++instance Prelude.NFData GetInsightsByAssessment where+ rnf GetInsightsByAssessment' {..} =+ Prelude.rnf assessmentId++instance Data.ToHeaders GetInsightsByAssessment where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetInsightsByAssessment where+ toPath GetInsightsByAssessment' {..} =+ Prelude.mconcat+ ["/insights/assessments/", Data.toBS assessmentId]++instance Data.ToQuery GetInsightsByAssessment where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetInsightsByAssessmentResponse' smart constructor.+data GetInsightsByAssessmentResponse = GetInsightsByAssessmentResponse'+ { -- | The assessment analytics data that the @GetInsightsByAssessment@ API+ -- returned.+ insights :: Prelude.Maybe InsightsByAssessment,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetInsightsByAssessmentResponse' 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:+--+-- 'insights', 'getInsightsByAssessmentResponse_insights' - The assessment analytics data that the @GetInsightsByAssessment@ API+-- returned.+--+-- 'httpStatus', 'getInsightsByAssessmentResponse_httpStatus' - The response's http status code.+newGetInsightsByAssessmentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetInsightsByAssessmentResponse+newGetInsightsByAssessmentResponse pHttpStatus_ =+ GetInsightsByAssessmentResponse'+ { insights =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The assessment analytics data that the @GetInsightsByAssessment@ API+-- returned.+getInsightsByAssessmentResponse_insights :: Lens.Lens' GetInsightsByAssessmentResponse (Prelude.Maybe InsightsByAssessment)+getInsightsByAssessmentResponse_insights = Lens.lens (\GetInsightsByAssessmentResponse' {insights} -> insights) (\s@GetInsightsByAssessmentResponse' {} a -> s {insights = a} :: GetInsightsByAssessmentResponse)++-- | The response's http status code.+getInsightsByAssessmentResponse_httpStatus :: Lens.Lens' GetInsightsByAssessmentResponse Prelude.Int+getInsightsByAssessmentResponse_httpStatus = Lens.lens (\GetInsightsByAssessmentResponse' {httpStatus} -> httpStatus) (\s@GetInsightsByAssessmentResponse' {} a -> s {httpStatus = a} :: GetInsightsByAssessmentResponse)++instance+ Prelude.NFData+ GetInsightsByAssessmentResponse+ where+ rnf GetInsightsByAssessmentResponse' {..} =+ Prelude.rnf insights+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetOrganizationAdminAccount.hs view
@@ -0,0 +1,159 @@+{-# 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.AuditManager.GetOrganizationAdminAccount+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the name of the delegated Amazon Web Services administrator+-- account for the organization.+module Amazonka.AuditManager.GetOrganizationAdminAccount+ ( -- * Creating a Request+ GetOrganizationAdminAccount (..),+ newGetOrganizationAdminAccount,++ -- * Destructuring the Response+ GetOrganizationAdminAccountResponse (..),+ newGetOrganizationAdminAccountResponse,++ -- * Response Lenses+ getOrganizationAdminAccountResponse_adminAccountId,+ getOrganizationAdminAccountResponse_organizationId,+ getOrganizationAdminAccountResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetOrganizationAdminAccount' smart constructor.+data GetOrganizationAdminAccount = GetOrganizationAdminAccount'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetOrganizationAdminAccount' 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.+newGetOrganizationAdminAccount ::+ GetOrganizationAdminAccount+newGetOrganizationAdminAccount =+ GetOrganizationAdminAccount'++instance Core.AWSRequest GetOrganizationAdminAccount where+ type+ AWSResponse GetOrganizationAdminAccount =+ GetOrganizationAdminAccountResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetOrganizationAdminAccountResponse'+ Prelude.<$> (x Data..?> "adminAccountId")+ Prelude.<*> (x Data..?> "organizationId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetOrganizationAdminAccount where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetOrganizationAdminAccount where+ rnf _ = ()++instance Data.ToHeaders GetOrganizationAdminAccount where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetOrganizationAdminAccount where+ toPath =+ Prelude.const "/account/organizationAdminAccount"++instance Data.ToQuery GetOrganizationAdminAccount where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetOrganizationAdminAccountResponse' smart constructor.+data GetOrganizationAdminAccountResponse = GetOrganizationAdminAccountResponse'+ { -- | The identifier for the administrator account.+ adminAccountId :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the organization.+ organizationId :: 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 'GetOrganizationAdminAccountResponse' 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:+--+-- 'adminAccountId', 'getOrganizationAdminAccountResponse_adminAccountId' - The identifier for the administrator account.+--+-- 'organizationId', 'getOrganizationAdminAccountResponse_organizationId' - The identifier for the organization.+--+-- 'httpStatus', 'getOrganizationAdminAccountResponse_httpStatus' - The response's http status code.+newGetOrganizationAdminAccountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetOrganizationAdminAccountResponse+newGetOrganizationAdminAccountResponse pHttpStatus_ =+ GetOrganizationAdminAccountResponse'+ { adminAccountId =+ Prelude.Nothing,+ organizationId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The identifier for the administrator account.+getOrganizationAdminAccountResponse_adminAccountId :: Lens.Lens' GetOrganizationAdminAccountResponse (Prelude.Maybe Prelude.Text)+getOrganizationAdminAccountResponse_adminAccountId = Lens.lens (\GetOrganizationAdminAccountResponse' {adminAccountId} -> adminAccountId) (\s@GetOrganizationAdminAccountResponse' {} a -> s {adminAccountId = a} :: GetOrganizationAdminAccountResponse)++-- | The identifier for the organization.+getOrganizationAdminAccountResponse_organizationId :: Lens.Lens' GetOrganizationAdminAccountResponse (Prelude.Maybe Prelude.Text)+getOrganizationAdminAccountResponse_organizationId = Lens.lens (\GetOrganizationAdminAccountResponse' {organizationId} -> organizationId) (\s@GetOrganizationAdminAccountResponse' {} a -> s {organizationId = a} :: GetOrganizationAdminAccountResponse)++-- | The response's http status code.+getOrganizationAdminAccountResponse_httpStatus :: Lens.Lens' GetOrganizationAdminAccountResponse Prelude.Int+getOrganizationAdminAccountResponse_httpStatus = Lens.lens (\GetOrganizationAdminAccountResponse' {httpStatus} -> httpStatus) (\s@GetOrganizationAdminAccountResponse' {} a -> s {httpStatus = a} :: GetOrganizationAdminAccountResponse)++instance+ Prelude.NFData+ GetOrganizationAdminAccountResponse+ where+ rnf GetOrganizationAdminAccountResponse' {..} =+ Prelude.rnf adminAccountId+ `Prelude.seq` Prelude.rnf organizationId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetServicesInScope.hs view
@@ -0,0 +1,149 @@+{-# 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.AuditManager.GetServicesInScope+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of all of the Amazon Web Services that you can choose to+-- include in your assessment. When you+-- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_CreateAssessment.html create an assessment>,+-- specify which of these services you want to include to narrow the+-- assessment\'s+-- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_Scope.html scope>.+module Amazonka.AuditManager.GetServicesInScope+ ( -- * Creating a Request+ GetServicesInScope (..),+ newGetServicesInScope,++ -- * Destructuring the Response+ GetServicesInScopeResponse (..),+ newGetServicesInScopeResponse,++ -- * Response Lenses+ getServicesInScopeResponse_serviceMetadata,+ getServicesInScopeResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetServicesInScope' smart constructor.+data GetServicesInScope = GetServicesInScope'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetServicesInScope' 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.+newGetServicesInScope ::+ GetServicesInScope+newGetServicesInScope = GetServicesInScope'++instance Core.AWSRequest GetServicesInScope where+ type+ AWSResponse GetServicesInScope =+ GetServicesInScopeResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetServicesInScopeResponse'+ Prelude.<$> ( x+ Data..?> "serviceMetadata"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetServicesInScope where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetServicesInScope where+ rnf _ = ()++instance Data.ToHeaders GetServicesInScope where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetServicesInScope where+ toPath = Prelude.const "/services"++instance Data.ToQuery GetServicesInScope where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetServicesInScopeResponse' smart constructor.+data GetServicesInScopeResponse = GetServicesInScopeResponse'+ { -- | The metadata that\'s associated with the Amazon Web Service.+ serviceMetadata :: Prelude.Maybe [ServiceMetadata],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetServicesInScopeResponse' 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:+--+-- 'serviceMetadata', 'getServicesInScopeResponse_serviceMetadata' - The metadata that\'s associated with the Amazon Web Service.+--+-- 'httpStatus', 'getServicesInScopeResponse_httpStatus' - The response's http status code.+newGetServicesInScopeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetServicesInScopeResponse+newGetServicesInScopeResponse pHttpStatus_ =+ GetServicesInScopeResponse'+ { serviceMetadata =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The metadata that\'s associated with the Amazon Web Service.+getServicesInScopeResponse_serviceMetadata :: Lens.Lens' GetServicesInScopeResponse (Prelude.Maybe [ServiceMetadata])+getServicesInScopeResponse_serviceMetadata = Lens.lens (\GetServicesInScopeResponse' {serviceMetadata} -> serviceMetadata) (\s@GetServicesInScopeResponse' {} a -> s {serviceMetadata = a} :: GetServicesInScopeResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getServicesInScopeResponse_httpStatus :: Lens.Lens' GetServicesInScopeResponse Prelude.Int+getServicesInScopeResponse_httpStatus = Lens.lens (\GetServicesInScopeResponse' {httpStatus} -> httpStatus) (\s@GetServicesInScopeResponse' {} a -> s {httpStatus = a} :: GetServicesInScopeResponse)++instance Prelude.NFData GetServicesInScopeResponse where+ rnf GetServicesInScopeResponse' {..} =+ Prelude.rnf serviceMetadata+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/GetSettings.hs view
@@ -0,0 +1,155 @@+{-# 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.AuditManager.GetSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the settings for the specified Amazon Web Services account.+module Amazonka.AuditManager.GetSettings+ ( -- * Creating a Request+ GetSettings (..),+ newGetSettings,++ -- * Request Lenses+ getSettings_attribute,++ -- * Destructuring the Response+ GetSettingsResponse (..),+ newGetSettingsResponse,++ -- * Response Lenses+ getSettingsResponse_settings,+ getSettingsResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newGetSettings' smart constructor.+data GetSettings = GetSettings'+ { -- | The list of setting attribute enum values.+ attribute :: SettingAttribute+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSettings' 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:+--+-- 'attribute', 'getSettings_attribute' - The list of setting attribute enum values.+newGetSettings ::+ -- | 'attribute'+ SettingAttribute ->+ GetSettings+newGetSettings pAttribute_ =+ GetSettings' {attribute = pAttribute_}++-- | The list of setting attribute enum values.+getSettings_attribute :: Lens.Lens' GetSettings SettingAttribute+getSettings_attribute = Lens.lens (\GetSettings' {attribute} -> attribute) (\s@GetSettings' {} a -> s {attribute = a} :: GetSettings)++instance Core.AWSRequest GetSettings where+ type AWSResponse GetSettings = GetSettingsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetSettingsResponse'+ Prelude.<$> (x Data..?> "settings")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetSettings where+ hashWithSalt _salt GetSettings' {..} =+ _salt `Prelude.hashWithSalt` attribute++instance Prelude.NFData GetSettings where+ rnf GetSettings' {..} = Prelude.rnf attribute++instance Data.ToHeaders GetSettings where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetSettings where+ toPath GetSettings' {..} =+ Prelude.mconcat ["/settings/", Data.toBS attribute]++instance Data.ToQuery GetSettings where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSettingsResponse' smart constructor.+data GetSettingsResponse = GetSettingsResponse'+ { -- | The settings object that holds all supported Audit Manager settings.+ settings :: Prelude.Maybe Settings,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSettingsResponse' 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:+--+-- 'settings', 'getSettingsResponse_settings' - The settings object that holds all supported Audit Manager settings.+--+-- 'httpStatus', 'getSettingsResponse_httpStatus' - The response's http status code.+newGetSettingsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetSettingsResponse+newGetSettingsResponse pHttpStatus_ =+ GetSettingsResponse'+ { settings = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The settings object that holds all supported Audit Manager settings.+getSettingsResponse_settings :: Lens.Lens' GetSettingsResponse (Prelude.Maybe Settings)+getSettingsResponse_settings = Lens.lens (\GetSettingsResponse' {settings} -> settings) (\s@GetSettingsResponse' {} a -> s {settings = a} :: GetSettingsResponse)++-- | The response's http status code.+getSettingsResponse_httpStatus :: Lens.Lens' GetSettingsResponse Prelude.Int+getSettingsResponse_httpStatus = Lens.lens (\GetSettingsResponse' {httpStatus} -> httpStatus) (\s@GetSettingsResponse' {} a -> s {httpStatus = a} :: GetSettingsResponse)++instance Prelude.NFData GetSettingsResponse where+ rnf GetSettingsResponse' {..} =+ Prelude.rnf settings+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/Lens.hs view
@@ -0,0 +1,958 @@+{-# 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.AuditManager.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.AuditManager.Lens+ ( -- * Operations++ -- ** AssociateAssessmentReportEvidenceFolder+ associateAssessmentReportEvidenceFolder_assessmentId,+ associateAssessmentReportEvidenceFolder_evidenceFolderId,+ associateAssessmentReportEvidenceFolderResponse_httpStatus,++ -- ** BatchAssociateAssessmentReportEvidence+ batchAssociateAssessmentReportEvidence_assessmentId,+ batchAssociateAssessmentReportEvidence_evidenceFolderId,+ batchAssociateAssessmentReportEvidence_evidenceIds,+ batchAssociateAssessmentReportEvidenceResponse_errors,+ batchAssociateAssessmentReportEvidenceResponse_evidenceIds,+ batchAssociateAssessmentReportEvidenceResponse_httpStatus,++ -- ** BatchCreateDelegationByAssessment+ batchCreateDelegationByAssessment_createDelegationRequests,+ batchCreateDelegationByAssessment_assessmentId,+ batchCreateDelegationByAssessmentResponse_delegations,+ batchCreateDelegationByAssessmentResponse_errors,+ batchCreateDelegationByAssessmentResponse_httpStatus,++ -- ** BatchDeleteDelegationByAssessment+ batchDeleteDelegationByAssessment_delegationIds,+ batchDeleteDelegationByAssessment_assessmentId,+ batchDeleteDelegationByAssessmentResponse_errors,+ batchDeleteDelegationByAssessmentResponse_httpStatus,++ -- ** BatchDisassociateAssessmentReportEvidence+ batchDisassociateAssessmentReportEvidence_assessmentId,+ batchDisassociateAssessmentReportEvidence_evidenceFolderId,+ batchDisassociateAssessmentReportEvidence_evidenceIds,+ batchDisassociateAssessmentReportEvidenceResponse_errors,+ batchDisassociateAssessmentReportEvidenceResponse_evidenceIds,+ batchDisassociateAssessmentReportEvidenceResponse_httpStatus,++ -- ** BatchImportEvidenceToAssessmentControl+ batchImportEvidenceToAssessmentControl_assessmentId,+ batchImportEvidenceToAssessmentControl_controlSetId,+ batchImportEvidenceToAssessmentControl_controlId,+ batchImportEvidenceToAssessmentControl_manualEvidence,+ batchImportEvidenceToAssessmentControlResponse_errors,+ batchImportEvidenceToAssessmentControlResponse_httpStatus,++ -- ** CreateAssessment+ createAssessment_description,+ createAssessment_tags,+ createAssessment_name,+ createAssessment_assessmentReportsDestination,+ createAssessment_scope,+ createAssessment_roles,+ createAssessment_frameworkId,+ createAssessmentResponse_assessment,+ createAssessmentResponse_httpStatus,++ -- ** CreateAssessmentFramework+ createAssessmentFramework_complianceType,+ createAssessmentFramework_description,+ createAssessmentFramework_tags,+ createAssessmentFramework_name,+ createAssessmentFramework_controlSets,+ createAssessmentFrameworkResponse_framework,+ createAssessmentFrameworkResponse_httpStatus,++ -- ** CreateAssessmentReport+ createAssessmentReport_description,+ createAssessmentReport_queryStatement,+ createAssessmentReport_name,+ createAssessmentReport_assessmentId,+ createAssessmentReportResponse_assessmentReport,+ createAssessmentReportResponse_httpStatus,++ -- ** CreateControl+ createControl_actionPlanInstructions,+ createControl_actionPlanTitle,+ createControl_description,+ createControl_tags,+ createControl_testingInformation,+ createControl_name,+ createControl_controlMappingSources,+ createControlResponse_control,+ createControlResponse_httpStatus,++ -- ** DeleteAssessment+ deleteAssessment_assessmentId,+ deleteAssessmentResponse_httpStatus,++ -- ** DeleteAssessmentFramework+ deleteAssessmentFramework_frameworkId,+ deleteAssessmentFrameworkResponse_httpStatus,++ -- ** DeleteAssessmentFrameworkShare+ deleteAssessmentFrameworkShare_requestId,+ deleteAssessmentFrameworkShare_requestType,+ deleteAssessmentFrameworkShareResponse_httpStatus,++ -- ** DeleteAssessmentReport+ deleteAssessmentReport_assessmentId,+ deleteAssessmentReport_assessmentReportId,+ deleteAssessmentReportResponse_httpStatus,++ -- ** DeleteControl+ deleteControl_controlId,+ deleteControlResponse_httpStatus,++ -- ** DeregisterAccount+ deregisterAccountResponse_status,+ deregisterAccountResponse_httpStatus,++ -- ** DeregisterOrganizationAdminAccount+ deregisterOrganizationAdminAccount_adminAccountId,+ deregisterOrganizationAdminAccountResponse_httpStatus,++ -- ** DisassociateAssessmentReportEvidenceFolder+ disassociateAssessmentReportEvidenceFolder_assessmentId,+ disassociateAssessmentReportEvidenceFolder_evidenceFolderId,+ disassociateAssessmentReportEvidenceFolderResponse_httpStatus,++ -- ** GetAccountStatus+ getAccountStatusResponse_status,+ getAccountStatusResponse_httpStatus,++ -- ** GetAssessment+ getAssessment_assessmentId,+ getAssessmentResponse_assessment,+ getAssessmentResponse_userRole,+ getAssessmentResponse_httpStatus,++ -- ** GetAssessmentFramework+ getAssessmentFramework_frameworkId,+ getAssessmentFrameworkResponse_framework,+ getAssessmentFrameworkResponse_httpStatus,++ -- ** GetAssessmentReportUrl+ getAssessmentReportUrl_assessmentReportId,+ getAssessmentReportUrl_assessmentId,+ getAssessmentReportUrlResponse_preSignedUrl,+ getAssessmentReportUrlResponse_httpStatus,++ -- ** GetChangeLogs+ getChangeLogs_controlId,+ getChangeLogs_controlSetId,+ getChangeLogs_maxResults,+ getChangeLogs_nextToken,+ getChangeLogs_assessmentId,+ getChangeLogsResponse_changeLogs,+ getChangeLogsResponse_nextToken,+ getChangeLogsResponse_httpStatus,++ -- ** GetControl+ getControl_controlId,+ getControlResponse_control,+ getControlResponse_httpStatus,++ -- ** GetDelegations+ getDelegations_maxResults,+ getDelegations_nextToken,+ getDelegationsResponse_delegations,+ getDelegationsResponse_nextToken,+ getDelegationsResponse_httpStatus,++ -- ** GetEvidence+ getEvidence_assessmentId,+ getEvidence_controlSetId,+ getEvidence_evidenceFolderId,+ getEvidence_evidenceId,+ getEvidenceResponse_evidence,+ getEvidenceResponse_httpStatus,++ -- ** GetEvidenceByEvidenceFolder+ getEvidenceByEvidenceFolder_maxResults,+ getEvidenceByEvidenceFolder_nextToken,+ getEvidenceByEvidenceFolder_assessmentId,+ getEvidenceByEvidenceFolder_controlSetId,+ getEvidenceByEvidenceFolder_evidenceFolderId,+ getEvidenceByEvidenceFolderResponse_evidence,+ getEvidenceByEvidenceFolderResponse_nextToken,+ getEvidenceByEvidenceFolderResponse_httpStatus,++ -- ** GetEvidenceFolder+ getEvidenceFolder_assessmentId,+ getEvidenceFolder_controlSetId,+ getEvidenceFolder_evidenceFolderId,+ getEvidenceFolderResponse_evidenceFolder,+ getEvidenceFolderResponse_httpStatus,++ -- ** GetEvidenceFoldersByAssessment+ getEvidenceFoldersByAssessment_maxResults,+ getEvidenceFoldersByAssessment_nextToken,+ getEvidenceFoldersByAssessment_assessmentId,+ getEvidenceFoldersByAssessmentResponse_evidenceFolders,+ getEvidenceFoldersByAssessmentResponse_nextToken,+ getEvidenceFoldersByAssessmentResponse_httpStatus,++ -- ** GetEvidenceFoldersByAssessmentControl+ getEvidenceFoldersByAssessmentControl_maxResults,+ getEvidenceFoldersByAssessmentControl_nextToken,+ getEvidenceFoldersByAssessmentControl_assessmentId,+ getEvidenceFoldersByAssessmentControl_controlSetId,+ getEvidenceFoldersByAssessmentControl_controlId,+ getEvidenceFoldersByAssessmentControlResponse_evidenceFolders,+ getEvidenceFoldersByAssessmentControlResponse_nextToken,+ getEvidenceFoldersByAssessmentControlResponse_httpStatus,++ -- ** GetInsights+ getInsightsResponse_insights,+ getInsightsResponse_httpStatus,++ -- ** GetInsightsByAssessment+ getInsightsByAssessment_assessmentId,+ getInsightsByAssessmentResponse_insights,+ getInsightsByAssessmentResponse_httpStatus,++ -- ** GetOrganizationAdminAccount+ getOrganizationAdminAccountResponse_adminAccountId,+ getOrganizationAdminAccountResponse_organizationId,+ getOrganizationAdminAccountResponse_httpStatus,++ -- ** GetServicesInScope+ getServicesInScopeResponse_serviceMetadata,+ getServicesInScopeResponse_httpStatus,++ -- ** GetSettings+ getSettings_attribute,+ getSettingsResponse_settings,+ getSettingsResponse_httpStatus,++ -- ** ListAssessmentControlInsightsByControlDomain+ listAssessmentControlInsightsByControlDomain_maxResults,+ listAssessmentControlInsightsByControlDomain_nextToken,+ listAssessmentControlInsightsByControlDomain_controlDomainId,+ listAssessmentControlInsightsByControlDomain_assessmentId,+ listAssessmentControlInsightsByControlDomainResponse_controlInsightsByAssessment,+ listAssessmentControlInsightsByControlDomainResponse_nextToken,+ listAssessmentControlInsightsByControlDomainResponse_httpStatus,++ -- ** ListAssessmentFrameworkShareRequests+ listAssessmentFrameworkShareRequests_maxResults,+ listAssessmentFrameworkShareRequests_nextToken,+ listAssessmentFrameworkShareRequests_requestType,+ listAssessmentFrameworkShareRequestsResponse_assessmentFrameworkShareRequests,+ listAssessmentFrameworkShareRequestsResponse_nextToken,+ listAssessmentFrameworkShareRequestsResponse_httpStatus,++ -- ** ListAssessmentFrameworks+ listAssessmentFrameworks_maxResults,+ listAssessmentFrameworks_nextToken,+ listAssessmentFrameworks_frameworkType,+ listAssessmentFrameworksResponse_frameworkMetadataList,+ listAssessmentFrameworksResponse_nextToken,+ listAssessmentFrameworksResponse_httpStatus,++ -- ** ListAssessmentReports+ listAssessmentReports_maxResults,+ listAssessmentReports_nextToken,+ listAssessmentReportsResponse_assessmentReports,+ listAssessmentReportsResponse_nextToken,+ listAssessmentReportsResponse_httpStatus,++ -- ** ListAssessments+ listAssessments_maxResults,+ listAssessments_nextToken,+ listAssessments_status,+ listAssessmentsResponse_assessmentMetadata,+ listAssessmentsResponse_nextToken,+ listAssessmentsResponse_httpStatus,++ -- ** ListControlDomainInsights+ listControlDomainInsights_maxResults,+ listControlDomainInsights_nextToken,+ listControlDomainInsightsResponse_controlDomainInsights,+ listControlDomainInsightsResponse_nextToken,+ listControlDomainInsightsResponse_httpStatus,++ -- ** ListControlDomainInsightsByAssessment+ listControlDomainInsightsByAssessment_maxResults,+ listControlDomainInsightsByAssessment_nextToken,+ listControlDomainInsightsByAssessment_assessmentId,+ listControlDomainInsightsByAssessmentResponse_controlDomainInsights,+ listControlDomainInsightsByAssessmentResponse_nextToken,+ listControlDomainInsightsByAssessmentResponse_httpStatus,++ -- ** ListControlInsightsByControlDomain+ listControlInsightsByControlDomain_maxResults,+ listControlInsightsByControlDomain_nextToken,+ listControlInsightsByControlDomain_controlDomainId,+ listControlInsightsByControlDomainResponse_controlInsightsMetadata,+ listControlInsightsByControlDomainResponse_nextToken,+ listControlInsightsByControlDomainResponse_httpStatus,++ -- ** ListControls+ listControls_maxResults,+ listControls_nextToken,+ listControls_controlType,+ listControlsResponse_controlMetadataList,+ listControlsResponse_nextToken,+ listControlsResponse_httpStatus,++ -- ** ListKeywordsForDataSource+ listKeywordsForDataSource_maxResults,+ listKeywordsForDataSource_nextToken,+ listKeywordsForDataSource_source,+ listKeywordsForDataSourceResponse_keywords,+ listKeywordsForDataSourceResponse_nextToken,+ listKeywordsForDataSourceResponse_httpStatus,++ -- ** ListNotifications+ listNotifications_maxResults,+ listNotifications_nextToken,+ listNotificationsResponse_nextToken,+ listNotificationsResponse_notifications,+ listNotificationsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** RegisterAccount+ registerAccount_delegatedAdminAccount,+ registerAccount_kmsKey,+ registerAccountResponse_status,+ registerAccountResponse_httpStatus,++ -- ** RegisterOrganizationAdminAccount+ registerOrganizationAdminAccount_adminAccountId,+ registerOrganizationAdminAccountResponse_adminAccountId,+ registerOrganizationAdminAccountResponse_organizationId,+ registerOrganizationAdminAccountResponse_httpStatus,++ -- ** StartAssessmentFrameworkShare+ startAssessmentFrameworkShare_comment,+ startAssessmentFrameworkShare_frameworkId,+ startAssessmentFrameworkShare_destinationAccount,+ startAssessmentFrameworkShare_destinationRegion,+ startAssessmentFrameworkShareResponse_assessmentFrameworkShareRequest,+ startAssessmentFrameworkShareResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,+ untagResourceResponse_httpStatus,++ -- ** UpdateAssessment+ updateAssessment_assessmentDescription,+ updateAssessment_assessmentName,+ updateAssessment_assessmentReportsDestination,+ updateAssessment_roles,+ updateAssessment_assessmentId,+ updateAssessment_scope,+ updateAssessmentResponse_assessment,+ updateAssessmentResponse_httpStatus,++ -- ** UpdateAssessmentControl+ updateAssessmentControl_commentBody,+ updateAssessmentControl_controlStatus,+ updateAssessmentControl_assessmentId,+ updateAssessmentControl_controlSetId,+ updateAssessmentControl_controlId,+ updateAssessmentControlResponse_control,+ updateAssessmentControlResponse_httpStatus,++ -- ** UpdateAssessmentControlSetStatus+ updateAssessmentControlSetStatus_assessmentId,+ updateAssessmentControlSetStatus_controlSetId,+ updateAssessmentControlSetStatus_status,+ updateAssessmentControlSetStatus_comment,+ updateAssessmentControlSetStatusResponse_controlSet,+ updateAssessmentControlSetStatusResponse_httpStatus,++ -- ** UpdateAssessmentFramework+ updateAssessmentFramework_complianceType,+ updateAssessmentFramework_description,+ updateAssessmentFramework_frameworkId,+ updateAssessmentFramework_name,+ updateAssessmentFramework_controlSets,+ updateAssessmentFrameworkResponse_framework,+ updateAssessmentFrameworkResponse_httpStatus,++ -- ** UpdateAssessmentFrameworkShare+ updateAssessmentFrameworkShare_requestId,+ updateAssessmentFrameworkShare_requestType,+ updateAssessmentFrameworkShare_action,+ updateAssessmentFrameworkShareResponse_assessmentFrameworkShareRequest,+ updateAssessmentFrameworkShareResponse_httpStatus,++ -- ** UpdateAssessmentStatus+ updateAssessmentStatus_assessmentId,+ updateAssessmentStatus_status,+ updateAssessmentStatusResponse_assessment,+ updateAssessmentStatusResponse_httpStatus,++ -- ** UpdateControl+ updateControl_actionPlanInstructions,+ updateControl_actionPlanTitle,+ updateControl_description,+ updateControl_testingInformation,+ updateControl_controlId,+ updateControl_name,+ updateControl_controlMappingSources,+ updateControlResponse_control,+ updateControlResponse_httpStatus,++ -- ** UpdateSettings+ updateSettings_defaultAssessmentReportsDestination,+ updateSettings_defaultProcessOwners,+ updateSettings_deregistrationPolicy,+ updateSettings_evidenceFinderEnabled,+ updateSettings_kmsKey,+ updateSettings_snsTopic,+ updateSettingsResponse_settings,+ updateSettingsResponse_httpStatus,++ -- ** ValidateAssessmentReportIntegrity+ validateAssessmentReportIntegrity_s3RelativePath,+ validateAssessmentReportIntegrityResponse_signatureAlgorithm,+ validateAssessmentReportIntegrityResponse_signatureDateTime,+ validateAssessmentReportIntegrityResponse_signatureKeyId,+ validateAssessmentReportIntegrityResponse_signatureValid,+ validateAssessmentReportIntegrityResponse_validationErrors,+ validateAssessmentReportIntegrityResponse_httpStatus,++ -- * Types++ -- ** AWSAccount+ aWSAccount_emailAddress,+ aWSAccount_id,+ aWSAccount_name,++ -- ** AWSService+ aWSService_serviceName,++ -- ** Assessment+ assessment_arn,+ assessment_awsAccount,+ assessment_framework,+ assessment_metadata,+ assessment_tags,++ -- ** AssessmentControl+ assessmentControl_assessmentReportEvidenceCount,+ assessmentControl_comments,+ assessmentControl_description,+ assessmentControl_evidenceCount,+ assessmentControl_evidenceSources,+ assessmentControl_id,+ assessmentControl_name,+ assessmentControl_response,+ assessmentControl_status,++ -- ** AssessmentControlSet+ assessmentControlSet_controls,+ assessmentControlSet_delegations,+ assessmentControlSet_description,+ assessmentControlSet_id,+ assessmentControlSet_manualEvidenceCount,+ assessmentControlSet_roles,+ assessmentControlSet_status,+ assessmentControlSet_systemEvidenceCount,++ -- ** AssessmentEvidenceFolder+ assessmentEvidenceFolder_assessmentId,+ assessmentEvidenceFolder_assessmentReportSelectionCount,+ assessmentEvidenceFolder_author,+ assessmentEvidenceFolder_controlId,+ assessmentEvidenceFolder_controlName,+ assessmentEvidenceFolder_controlSetId,+ assessmentEvidenceFolder_dataSource,+ assessmentEvidenceFolder_date,+ assessmentEvidenceFolder_evidenceAwsServiceSourceCount,+ assessmentEvidenceFolder_evidenceByTypeComplianceCheckCount,+ assessmentEvidenceFolder_evidenceByTypeComplianceCheckIssuesCount,+ assessmentEvidenceFolder_evidenceByTypeConfigurationDataCount,+ assessmentEvidenceFolder_evidenceByTypeManualCount,+ assessmentEvidenceFolder_evidenceByTypeUserActivityCount,+ assessmentEvidenceFolder_evidenceResourcesIncludedCount,+ assessmentEvidenceFolder_id,+ assessmentEvidenceFolder_name,+ assessmentEvidenceFolder_totalEvidence,++ -- ** AssessmentFramework+ assessmentFramework_arn,+ assessmentFramework_controlSets,+ assessmentFramework_id,+ assessmentFramework_metadata,++ -- ** AssessmentFrameworkMetadata+ assessmentFrameworkMetadata_arn,+ assessmentFrameworkMetadata_complianceType,+ assessmentFrameworkMetadata_controlSetsCount,+ assessmentFrameworkMetadata_controlsCount,+ assessmentFrameworkMetadata_createdAt,+ assessmentFrameworkMetadata_description,+ assessmentFrameworkMetadata_id,+ assessmentFrameworkMetadata_lastUpdatedAt,+ assessmentFrameworkMetadata_logo,+ assessmentFrameworkMetadata_name,+ assessmentFrameworkMetadata_type,++ -- ** AssessmentFrameworkShareRequest+ assessmentFrameworkShareRequest_comment,+ assessmentFrameworkShareRequest_complianceType,+ assessmentFrameworkShareRequest_creationTime,+ assessmentFrameworkShareRequest_customControlsCount,+ assessmentFrameworkShareRequest_destinationAccount,+ assessmentFrameworkShareRequest_destinationRegion,+ assessmentFrameworkShareRequest_expirationTime,+ assessmentFrameworkShareRequest_frameworkDescription,+ assessmentFrameworkShareRequest_frameworkId,+ assessmentFrameworkShareRequest_frameworkName,+ assessmentFrameworkShareRequest_id,+ assessmentFrameworkShareRequest_lastUpdated,+ assessmentFrameworkShareRequest_sourceAccount,+ assessmentFrameworkShareRequest_standardControlsCount,+ assessmentFrameworkShareRequest_status,++ -- ** AssessmentMetadata+ assessmentMetadata_assessmentReportsDestination,+ assessmentMetadata_complianceType,+ assessmentMetadata_creationTime,+ assessmentMetadata_delegations,+ assessmentMetadata_description,+ assessmentMetadata_id,+ assessmentMetadata_lastUpdated,+ assessmentMetadata_name,+ assessmentMetadata_roles,+ assessmentMetadata_scope,+ assessmentMetadata_status,++ -- ** AssessmentMetadataItem+ assessmentMetadataItem_complianceType,+ assessmentMetadataItem_creationTime,+ assessmentMetadataItem_delegations,+ assessmentMetadataItem_id,+ assessmentMetadataItem_lastUpdated,+ assessmentMetadataItem_name,+ assessmentMetadataItem_roles,+ assessmentMetadataItem_status,++ -- ** AssessmentReport+ assessmentReport_assessmentId,+ assessmentReport_assessmentName,+ assessmentReport_author,+ assessmentReport_awsAccountId,+ assessmentReport_creationTime,+ assessmentReport_description,+ assessmentReport_id,+ assessmentReport_name,+ assessmentReport_status,++ -- ** AssessmentReportEvidenceError+ assessmentReportEvidenceError_errorCode,+ assessmentReportEvidenceError_errorMessage,+ assessmentReportEvidenceError_evidenceId,++ -- ** AssessmentReportMetadata+ assessmentReportMetadata_assessmentId,+ assessmentReportMetadata_assessmentName,+ assessmentReportMetadata_author,+ assessmentReportMetadata_creationTime,+ assessmentReportMetadata_description,+ assessmentReportMetadata_id,+ assessmentReportMetadata_name,+ assessmentReportMetadata_status,++ -- ** AssessmentReportsDestination+ assessmentReportsDestination_destination,+ assessmentReportsDestination_destinationType,++ -- ** BatchCreateDelegationByAssessmentError+ batchCreateDelegationByAssessmentError_createDelegationRequest,+ batchCreateDelegationByAssessmentError_errorCode,+ batchCreateDelegationByAssessmentError_errorMessage,++ -- ** BatchDeleteDelegationByAssessmentError+ batchDeleteDelegationByAssessmentError_delegationId,+ batchDeleteDelegationByAssessmentError_errorCode,+ batchDeleteDelegationByAssessmentError_errorMessage,++ -- ** BatchImportEvidenceToAssessmentControlError+ batchImportEvidenceToAssessmentControlError_errorCode,+ batchImportEvidenceToAssessmentControlError_errorMessage,+ batchImportEvidenceToAssessmentControlError_manualEvidence,++ -- ** ChangeLog+ changeLog_action,+ changeLog_createdAt,+ changeLog_createdBy,+ changeLog_objectName,+ changeLog_objectType,++ -- ** Control+ control_actionPlanInstructions,+ control_actionPlanTitle,+ control_arn,+ control_controlMappingSources,+ control_controlSources,+ control_createdAt,+ control_createdBy,+ control_description,+ control_id,+ control_lastUpdatedAt,+ control_lastUpdatedBy,+ control_name,+ control_tags,+ control_testingInformation,+ control_type,++ -- ** ControlComment+ controlComment_authorName,+ controlComment_commentBody,+ controlComment_postedDate,++ -- ** ControlDomainInsights+ controlDomainInsights_controlsCountByNoncompliantEvidence,+ controlDomainInsights_evidenceInsights,+ controlDomainInsights_id,+ controlDomainInsights_lastUpdated,+ controlDomainInsights_name,+ controlDomainInsights_totalControlsCount,++ -- ** ControlInsightsMetadataByAssessmentItem+ controlInsightsMetadataByAssessmentItem_controlSetName,+ controlInsightsMetadataByAssessmentItem_evidenceInsights,+ controlInsightsMetadataByAssessmentItem_id,+ controlInsightsMetadataByAssessmentItem_lastUpdated,+ controlInsightsMetadataByAssessmentItem_name,++ -- ** ControlInsightsMetadataItem+ controlInsightsMetadataItem_evidenceInsights,+ controlInsightsMetadataItem_id,+ controlInsightsMetadataItem_lastUpdated,+ controlInsightsMetadataItem_name,++ -- ** ControlMappingSource+ controlMappingSource_sourceDescription,+ controlMappingSource_sourceFrequency,+ controlMappingSource_sourceId,+ controlMappingSource_sourceKeyword,+ controlMappingSource_sourceName,+ controlMappingSource_sourceSetUpOption,+ controlMappingSource_sourceType,+ controlMappingSource_troubleshootingText,++ -- ** ControlMetadata+ controlMetadata_arn,+ controlMetadata_controlSources,+ controlMetadata_createdAt,+ controlMetadata_id,+ controlMetadata_lastUpdatedAt,+ controlMetadata_name,++ -- ** ControlSet+ controlSet_controls,+ controlSet_id,+ controlSet_name,++ -- ** CreateAssessmentFrameworkControl+ createAssessmentFrameworkControl_id,++ -- ** CreateAssessmentFrameworkControlSet+ createAssessmentFrameworkControlSet_controls,+ createAssessmentFrameworkControlSet_name,++ -- ** CreateControlMappingSource+ createControlMappingSource_sourceDescription,+ createControlMappingSource_sourceFrequency,+ createControlMappingSource_sourceKeyword,+ createControlMappingSource_sourceName,+ createControlMappingSource_sourceSetUpOption,+ createControlMappingSource_sourceType,+ createControlMappingSource_troubleshootingText,++ -- ** CreateDelegationRequest+ createDelegationRequest_comment,+ createDelegationRequest_controlSetId,+ createDelegationRequest_roleArn,+ createDelegationRequest_roleType,++ -- ** Delegation+ delegation_assessmentId,+ delegation_assessmentName,+ delegation_comment,+ delegation_controlSetId,+ delegation_createdBy,+ delegation_creationTime,+ delegation_id,+ delegation_lastUpdated,+ delegation_roleArn,+ delegation_roleType,+ delegation_status,++ -- ** DelegationMetadata+ delegationMetadata_assessmentId,+ delegationMetadata_assessmentName,+ delegationMetadata_controlSetName,+ delegationMetadata_creationTime,+ delegationMetadata_id,+ delegationMetadata_roleArn,+ delegationMetadata_status,++ -- ** DeregistrationPolicy+ deregistrationPolicy_deleteResources,++ -- ** Evidence+ evidence_assessmentReportSelection,+ evidence_attributes,+ evidence_awsAccountId,+ evidence_awsOrganization,+ evidence_complianceCheck,+ evidence_dataSource,+ evidence_eventName,+ evidence_eventSource,+ evidence_evidenceAwsAccountId,+ evidence_evidenceByType,+ evidence_evidenceFolderId,+ evidence_iamId,+ evidence_id,+ evidence_resourcesIncluded,+ evidence_time,++ -- ** EvidenceFinderEnablement+ evidenceFinderEnablement_backfillStatus,+ evidenceFinderEnablement_enablementStatus,+ evidenceFinderEnablement_error,+ evidenceFinderEnablement_eventDataStoreArn,++ -- ** EvidenceInsights+ evidenceInsights_compliantEvidenceCount,+ evidenceInsights_inconclusiveEvidenceCount,+ evidenceInsights_noncompliantEvidenceCount,++ -- ** Framework+ framework_arn,+ framework_complianceType,+ framework_controlSets,+ framework_controlSources,+ framework_createdAt,+ framework_createdBy,+ framework_description,+ framework_id,+ framework_lastUpdatedAt,+ framework_lastUpdatedBy,+ framework_logo,+ framework_name,+ framework_tags,+ framework_type,++ -- ** FrameworkMetadata+ frameworkMetadata_complianceType,+ frameworkMetadata_description,+ frameworkMetadata_logo,+ frameworkMetadata_name,++ -- ** Insights+ insights_activeAssessmentsCount,+ insights_assessmentControlsCountByNoncompliantEvidence,+ insights_compliantEvidenceCount,+ insights_inconclusiveEvidenceCount,+ insights_lastUpdated,+ insights_noncompliantEvidenceCount,+ insights_totalAssessmentControlsCount,++ -- ** InsightsByAssessment+ insightsByAssessment_assessmentControlsCountByNoncompliantEvidence,+ insightsByAssessment_compliantEvidenceCount,+ insightsByAssessment_inconclusiveEvidenceCount,+ insightsByAssessment_lastUpdated,+ insightsByAssessment_noncompliantEvidenceCount,+ insightsByAssessment_totalAssessmentControlsCount,++ -- ** ManualEvidence+ manualEvidence_s3ResourcePath,++ -- ** Notification+ notification_assessmentId,+ notification_assessmentName,+ notification_controlSetId,+ notification_controlSetName,+ notification_description,+ notification_eventTime,+ notification_id,+ notification_source,++ -- ** Resource+ resource_arn,+ resource_complianceCheck,+ resource_value,++ -- ** Role+ role_roleType,+ role_roleArn,++ -- ** Scope+ scope_awsAccounts,+ scope_awsServices,++ -- ** ServiceMetadata+ serviceMetadata_category,+ serviceMetadata_description,+ serviceMetadata_displayName,+ serviceMetadata_name,++ -- ** Settings+ settings_defaultAssessmentReportsDestination,+ settings_defaultProcessOwners,+ settings_deregistrationPolicy,+ settings_evidenceFinderEnablement,+ settings_isAwsOrgEnabled,+ settings_kmsKey,+ settings_snsTopic,++ -- ** SourceKeyword+ sourceKeyword_keywordInputType,+ sourceKeyword_keywordValue,++ -- ** URL+ url_hyperlinkName,+ url_link,++ -- ** UpdateAssessmentFrameworkControlSet+ updateAssessmentFrameworkControlSet_id,+ updateAssessmentFrameworkControlSet_name,+ updateAssessmentFrameworkControlSet_controls,+ )+where++import Amazonka.AuditManager.AssociateAssessmentReportEvidenceFolder+import Amazonka.AuditManager.BatchAssociateAssessmentReportEvidence+import Amazonka.AuditManager.BatchCreateDelegationByAssessment+import Amazonka.AuditManager.BatchDeleteDelegationByAssessment+import Amazonka.AuditManager.BatchDisassociateAssessmentReportEvidence+import Amazonka.AuditManager.BatchImportEvidenceToAssessmentControl+import Amazonka.AuditManager.CreateAssessment+import Amazonka.AuditManager.CreateAssessmentFramework+import Amazonka.AuditManager.CreateAssessmentReport+import Amazonka.AuditManager.CreateControl+import Amazonka.AuditManager.DeleteAssessment+import Amazonka.AuditManager.DeleteAssessmentFramework+import Amazonka.AuditManager.DeleteAssessmentFrameworkShare+import Amazonka.AuditManager.DeleteAssessmentReport+import Amazonka.AuditManager.DeleteControl+import Amazonka.AuditManager.DeregisterAccount+import Amazonka.AuditManager.DeregisterOrganizationAdminAccount+import Amazonka.AuditManager.DisassociateAssessmentReportEvidenceFolder+import Amazonka.AuditManager.GetAccountStatus+import Amazonka.AuditManager.GetAssessment+import Amazonka.AuditManager.GetAssessmentFramework+import Amazonka.AuditManager.GetAssessmentReportUrl+import Amazonka.AuditManager.GetChangeLogs+import Amazonka.AuditManager.GetControl+import Amazonka.AuditManager.GetDelegations+import Amazonka.AuditManager.GetEvidence+import Amazonka.AuditManager.GetEvidenceByEvidenceFolder+import Amazonka.AuditManager.GetEvidenceFolder+import Amazonka.AuditManager.GetEvidenceFoldersByAssessment+import Amazonka.AuditManager.GetEvidenceFoldersByAssessmentControl+import Amazonka.AuditManager.GetInsights+import Amazonka.AuditManager.GetInsightsByAssessment+import Amazonka.AuditManager.GetOrganizationAdminAccount+import Amazonka.AuditManager.GetServicesInScope+import Amazonka.AuditManager.GetSettings+import Amazonka.AuditManager.ListAssessmentControlInsightsByControlDomain+import Amazonka.AuditManager.ListAssessmentFrameworkShareRequests+import Amazonka.AuditManager.ListAssessmentFrameworks+import Amazonka.AuditManager.ListAssessmentReports+import Amazonka.AuditManager.ListAssessments+import Amazonka.AuditManager.ListControlDomainInsights+import Amazonka.AuditManager.ListControlDomainInsightsByAssessment+import Amazonka.AuditManager.ListControlInsightsByControlDomain+import Amazonka.AuditManager.ListControls+import Amazonka.AuditManager.ListKeywordsForDataSource+import Amazonka.AuditManager.ListNotifications+import Amazonka.AuditManager.ListTagsForResource+import Amazonka.AuditManager.RegisterAccount+import Amazonka.AuditManager.RegisterOrganizationAdminAccount+import Amazonka.AuditManager.StartAssessmentFrameworkShare+import Amazonka.AuditManager.TagResource+import Amazonka.AuditManager.Types.AWSAccount+import Amazonka.AuditManager.Types.AWSService+import Amazonka.AuditManager.Types.Assessment+import Amazonka.AuditManager.Types.AssessmentControl+import Amazonka.AuditManager.Types.AssessmentControlSet+import Amazonka.AuditManager.Types.AssessmentEvidenceFolder+import Amazonka.AuditManager.Types.AssessmentFramework+import Amazonka.AuditManager.Types.AssessmentFrameworkMetadata+import Amazonka.AuditManager.Types.AssessmentFrameworkShareRequest+import Amazonka.AuditManager.Types.AssessmentMetadata+import Amazonka.AuditManager.Types.AssessmentMetadataItem+import Amazonka.AuditManager.Types.AssessmentReport+import Amazonka.AuditManager.Types.AssessmentReportEvidenceError+import Amazonka.AuditManager.Types.AssessmentReportMetadata+import Amazonka.AuditManager.Types.AssessmentReportsDestination+import Amazonka.AuditManager.Types.BatchCreateDelegationByAssessmentError+import Amazonka.AuditManager.Types.BatchDeleteDelegationByAssessmentError+import Amazonka.AuditManager.Types.BatchImportEvidenceToAssessmentControlError+import Amazonka.AuditManager.Types.ChangeLog+import Amazonka.AuditManager.Types.Control+import Amazonka.AuditManager.Types.ControlComment+import Amazonka.AuditManager.Types.ControlDomainInsights+import Amazonka.AuditManager.Types.ControlInsightsMetadataByAssessmentItem+import Amazonka.AuditManager.Types.ControlInsightsMetadataItem+import Amazonka.AuditManager.Types.ControlMappingSource+import Amazonka.AuditManager.Types.ControlMetadata+import Amazonka.AuditManager.Types.ControlSet+import Amazonka.AuditManager.Types.CreateAssessmentFrameworkControl+import Amazonka.AuditManager.Types.CreateAssessmentFrameworkControlSet+import Amazonka.AuditManager.Types.CreateControlMappingSource+import Amazonka.AuditManager.Types.CreateDelegationRequest+import Amazonka.AuditManager.Types.Delegation+import Amazonka.AuditManager.Types.DelegationMetadata+import Amazonka.AuditManager.Types.DeregistrationPolicy+import Amazonka.AuditManager.Types.Evidence+import Amazonka.AuditManager.Types.EvidenceFinderEnablement+import Amazonka.AuditManager.Types.EvidenceInsights+import Amazonka.AuditManager.Types.Framework+import Amazonka.AuditManager.Types.FrameworkMetadata+import Amazonka.AuditManager.Types.Insights+import Amazonka.AuditManager.Types.InsightsByAssessment+import Amazonka.AuditManager.Types.ManualEvidence+import Amazonka.AuditManager.Types.Notification+import Amazonka.AuditManager.Types.Resource+import Amazonka.AuditManager.Types.Role+import Amazonka.AuditManager.Types.Scope+import Amazonka.AuditManager.Types.ServiceMetadata+import Amazonka.AuditManager.Types.Settings+import Amazonka.AuditManager.Types.SourceKeyword+import Amazonka.AuditManager.Types.URL+import Amazonka.AuditManager.Types.UpdateAssessmentFrameworkControlSet+import Amazonka.AuditManager.UntagResource+import Amazonka.AuditManager.UpdateAssessment+import Amazonka.AuditManager.UpdateAssessmentControl+import Amazonka.AuditManager.UpdateAssessmentControlSetStatus+import Amazonka.AuditManager.UpdateAssessmentFramework+import Amazonka.AuditManager.UpdateAssessmentFrameworkShare+import Amazonka.AuditManager.UpdateAssessmentStatus+import Amazonka.AuditManager.UpdateControl+import Amazonka.AuditManager.UpdateSettings+import Amazonka.AuditManager.ValidateAssessmentReportIntegrity
+ gen/Amazonka/AuditManager/ListAssessmentControlInsightsByControlDomain.hs view
@@ -0,0 +1,267 @@+{-# 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.AuditManager.ListAssessmentControlInsightsByControlDomain+-- 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 latest analytics data for controls within a specific control+-- domain and a specific active assessment.+--+-- Control insights are listed only if the control belongs to the control+-- domain and assessment that was specified. Moreover, the control must+-- have collected evidence on the @lastUpdated@ date of+-- @controlInsightsByAssessment@. If neither of these conditions are met,+-- no data is listed for that control.+module Amazonka.AuditManager.ListAssessmentControlInsightsByControlDomain+ ( -- * Creating a Request+ ListAssessmentControlInsightsByControlDomain (..),+ newListAssessmentControlInsightsByControlDomain,++ -- * Request Lenses+ listAssessmentControlInsightsByControlDomain_maxResults,+ listAssessmentControlInsightsByControlDomain_nextToken,+ listAssessmentControlInsightsByControlDomain_controlDomainId,+ listAssessmentControlInsightsByControlDomain_assessmentId,++ -- * Destructuring the Response+ ListAssessmentControlInsightsByControlDomainResponse (..),+ newListAssessmentControlInsightsByControlDomainResponse,++ -- * Response Lenses+ listAssessmentControlInsightsByControlDomainResponse_controlInsightsByAssessment,+ listAssessmentControlInsightsByControlDomainResponse_nextToken,+ listAssessmentControlInsightsByControlDomainResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newListAssessmentControlInsightsByControlDomain' smart constructor.+data ListAssessmentControlInsightsByControlDomain = ListAssessmentControlInsightsByControlDomain'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the control domain.+ controlDomainId :: Prelude.Text,+ -- | The unique identifier for the active assessment.+ assessmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssessmentControlInsightsByControlDomain' 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', 'listAssessmentControlInsightsByControlDomain_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'listAssessmentControlInsightsByControlDomain_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'controlDomainId', 'listAssessmentControlInsightsByControlDomain_controlDomainId' - The unique identifier for the control domain.+--+-- 'assessmentId', 'listAssessmentControlInsightsByControlDomain_assessmentId' - The unique identifier for the active assessment.+newListAssessmentControlInsightsByControlDomain ::+ -- | 'controlDomainId'+ Prelude.Text ->+ -- | 'assessmentId'+ Prelude.Text ->+ ListAssessmentControlInsightsByControlDomain+newListAssessmentControlInsightsByControlDomain+ pControlDomainId_+ pAssessmentId_ =+ ListAssessmentControlInsightsByControlDomain'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ controlDomainId =+ pControlDomainId_,+ assessmentId = pAssessmentId_+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+listAssessmentControlInsightsByControlDomain_maxResults :: Lens.Lens' ListAssessmentControlInsightsByControlDomain (Prelude.Maybe Prelude.Natural)+listAssessmentControlInsightsByControlDomain_maxResults = Lens.lens (\ListAssessmentControlInsightsByControlDomain' {maxResults} -> maxResults) (\s@ListAssessmentControlInsightsByControlDomain' {} a -> s {maxResults = a} :: ListAssessmentControlInsightsByControlDomain)++-- | The pagination token that\'s used to fetch the next set of results.+listAssessmentControlInsightsByControlDomain_nextToken :: Lens.Lens' ListAssessmentControlInsightsByControlDomain (Prelude.Maybe Prelude.Text)+listAssessmentControlInsightsByControlDomain_nextToken = Lens.lens (\ListAssessmentControlInsightsByControlDomain' {nextToken} -> nextToken) (\s@ListAssessmentControlInsightsByControlDomain' {} a -> s {nextToken = a} :: ListAssessmentControlInsightsByControlDomain)++-- | The unique identifier for the control domain.+listAssessmentControlInsightsByControlDomain_controlDomainId :: Lens.Lens' ListAssessmentControlInsightsByControlDomain Prelude.Text+listAssessmentControlInsightsByControlDomain_controlDomainId = Lens.lens (\ListAssessmentControlInsightsByControlDomain' {controlDomainId} -> controlDomainId) (\s@ListAssessmentControlInsightsByControlDomain' {} a -> s {controlDomainId = a} :: ListAssessmentControlInsightsByControlDomain)++-- | The unique identifier for the active assessment.+listAssessmentControlInsightsByControlDomain_assessmentId :: Lens.Lens' ListAssessmentControlInsightsByControlDomain Prelude.Text+listAssessmentControlInsightsByControlDomain_assessmentId = Lens.lens (\ListAssessmentControlInsightsByControlDomain' {assessmentId} -> assessmentId) (\s@ListAssessmentControlInsightsByControlDomain' {} a -> s {assessmentId = a} :: ListAssessmentControlInsightsByControlDomain)++instance+ Core.AWSRequest+ ListAssessmentControlInsightsByControlDomain+ where+ type+ AWSResponse+ ListAssessmentControlInsightsByControlDomain =+ ListAssessmentControlInsightsByControlDomainResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAssessmentControlInsightsByControlDomainResponse'+ Prelude.<$> ( x+ Data..?> "controlInsightsByAssessment"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListAssessmentControlInsightsByControlDomain+ where+ hashWithSalt+ _salt+ ListAssessmentControlInsightsByControlDomain' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` controlDomainId+ `Prelude.hashWithSalt` assessmentId++instance+ Prelude.NFData+ ListAssessmentControlInsightsByControlDomain+ where+ rnf ListAssessmentControlInsightsByControlDomain' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf controlDomainId+ `Prelude.seq` Prelude.rnf assessmentId++instance+ Data.ToHeaders+ ListAssessmentControlInsightsByControlDomain+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ ListAssessmentControlInsightsByControlDomain+ where+ toPath =+ Prelude.const "/insights/controls-by-assessment"++instance+ Data.ToQuery+ ListAssessmentControlInsightsByControlDomain+ where+ toQuery+ ListAssessmentControlInsightsByControlDomain' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "controlDomainId" Data.=: controlDomainId,+ "assessmentId" Data.=: assessmentId+ ]++-- | /See:/ 'newListAssessmentControlInsightsByControlDomainResponse' smart constructor.+data ListAssessmentControlInsightsByControlDomainResponse = ListAssessmentControlInsightsByControlDomainResponse'+ { -- | The assessment control analytics data that the+ -- @ListAssessmentControlInsightsByControlDomain@ API returned.+ controlInsightsByAssessment :: Prelude.Maybe [ControlInsightsMetadataByAssessmentItem],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'ListAssessmentControlInsightsByControlDomainResponse' 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:+--+-- 'controlInsightsByAssessment', 'listAssessmentControlInsightsByControlDomainResponse_controlInsightsByAssessment' - The assessment control analytics data that the+-- @ListAssessmentControlInsightsByControlDomain@ API returned.+--+-- 'nextToken', 'listAssessmentControlInsightsByControlDomainResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'listAssessmentControlInsightsByControlDomainResponse_httpStatus' - The response's http status code.+newListAssessmentControlInsightsByControlDomainResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAssessmentControlInsightsByControlDomainResponse+newListAssessmentControlInsightsByControlDomainResponse+ pHttpStatus_ =+ ListAssessmentControlInsightsByControlDomainResponse'+ { controlInsightsByAssessment =+ Prelude.Nothing,+ nextToken =+ Prelude.Nothing,+ httpStatus =+ pHttpStatus_+ }++-- | The assessment control analytics data that the+-- @ListAssessmentControlInsightsByControlDomain@ API returned.+listAssessmentControlInsightsByControlDomainResponse_controlInsightsByAssessment :: Lens.Lens' ListAssessmentControlInsightsByControlDomainResponse (Prelude.Maybe [ControlInsightsMetadataByAssessmentItem])+listAssessmentControlInsightsByControlDomainResponse_controlInsightsByAssessment = Lens.lens (\ListAssessmentControlInsightsByControlDomainResponse' {controlInsightsByAssessment} -> controlInsightsByAssessment) (\s@ListAssessmentControlInsightsByControlDomainResponse' {} a -> s {controlInsightsByAssessment = a} :: ListAssessmentControlInsightsByControlDomainResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+listAssessmentControlInsightsByControlDomainResponse_nextToken :: Lens.Lens' ListAssessmentControlInsightsByControlDomainResponse (Prelude.Maybe Prelude.Text)+listAssessmentControlInsightsByControlDomainResponse_nextToken = Lens.lens (\ListAssessmentControlInsightsByControlDomainResponse' {nextToken} -> nextToken) (\s@ListAssessmentControlInsightsByControlDomainResponse' {} a -> s {nextToken = a} :: ListAssessmentControlInsightsByControlDomainResponse)++-- | The response's http status code.+listAssessmentControlInsightsByControlDomainResponse_httpStatus :: Lens.Lens' ListAssessmentControlInsightsByControlDomainResponse Prelude.Int+listAssessmentControlInsightsByControlDomainResponse_httpStatus = Lens.lens (\ListAssessmentControlInsightsByControlDomainResponse' {httpStatus} -> httpStatus) (\s@ListAssessmentControlInsightsByControlDomainResponse' {} a -> s {httpStatus = a} :: ListAssessmentControlInsightsByControlDomainResponse)++instance+ Prelude.NFData+ ListAssessmentControlInsightsByControlDomainResponse+ where+ rnf+ ListAssessmentControlInsightsByControlDomainResponse' {..} =+ Prelude.rnf controlInsightsByAssessment+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,241 @@+{-# 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.AuditManager.ListAssessmentFrameworkShareRequests+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of sent or received share requests for custom frameworks+-- in Audit Manager.+module Amazonka.AuditManager.ListAssessmentFrameworkShareRequests+ ( -- * Creating a Request+ ListAssessmentFrameworkShareRequests (..),+ newListAssessmentFrameworkShareRequests,++ -- * Request Lenses+ listAssessmentFrameworkShareRequests_maxResults,+ listAssessmentFrameworkShareRequests_nextToken,+ listAssessmentFrameworkShareRequests_requestType,++ -- * Destructuring the Response+ ListAssessmentFrameworkShareRequestsResponse (..),+ newListAssessmentFrameworkShareRequestsResponse,++ -- * Response Lenses+ listAssessmentFrameworkShareRequestsResponse_assessmentFrameworkShareRequests,+ listAssessmentFrameworkShareRequestsResponse_nextToken,+ listAssessmentFrameworkShareRequestsResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newListAssessmentFrameworkShareRequests' smart constructor.+data ListAssessmentFrameworkShareRequests = ListAssessmentFrameworkShareRequests'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Specifies whether the share request is a sent request or a received+ -- request.+ requestType :: ShareRequestType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssessmentFrameworkShareRequests' 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', 'listAssessmentFrameworkShareRequests_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'listAssessmentFrameworkShareRequests_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'requestType', 'listAssessmentFrameworkShareRequests_requestType' - Specifies whether the share request is a sent request or a received+-- request.+newListAssessmentFrameworkShareRequests ::+ -- | 'requestType'+ ShareRequestType ->+ ListAssessmentFrameworkShareRequests+newListAssessmentFrameworkShareRequests pRequestType_ =+ ListAssessmentFrameworkShareRequests'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ requestType = pRequestType_+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+listAssessmentFrameworkShareRequests_maxResults :: Lens.Lens' ListAssessmentFrameworkShareRequests (Prelude.Maybe Prelude.Natural)+listAssessmentFrameworkShareRequests_maxResults = Lens.lens (\ListAssessmentFrameworkShareRequests' {maxResults} -> maxResults) (\s@ListAssessmentFrameworkShareRequests' {} a -> s {maxResults = a} :: ListAssessmentFrameworkShareRequests)++-- | The pagination token that\'s used to fetch the next set of results.+listAssessmentFrameworkShareRequests_nextToken :: Lens.Lens' ListAssessmentFrameworkShareRequests (Prelude.Maybe Prelude.Text)+listAssessmentFrameworkShareRequests_nextToken = Lens.lens (\ListAssessmentFrameworkShareRequests' {nextToken} -> nextToken) (\s@ListAssessmentFrameworkShareRequests' {} a -> s {nextToken = a} :: ListAssessmentFrameworkShareRequests)++-- | Specifies whether the share request is a sent request or a received+-- request.+listAssessmentFrameworkShareRequests_requestType :: Lens.Lens' ListAssessmentFrameworkShareRequests ShareRequestType+listAssessmentFrameworkShareRequests_requestType = Lens.lens (\ListAssessmentFrameworkShareRequests' {requestType} -> requestType) (\s@ListAssessmentFrameworkShareRequests' {} a -> s {requestType = a} :: ListAssessmentFrameworkShareRequests)++instance+ Core.AWSRequest+ ListAssessmentFrameworkShareRequests+ where+ type+ AWSResponse ListAssessmentFrameworkShareRequests =+ ListAssessmentFrameworkShareRequestsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAssessmentFrameworkShareRequestsResponse'+ Prelude.<$> ( x+ Data..?> "assessmentFrameworkShareRequests"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListAssessmentFrameworkShareRequests+ where+ hashWithSalt+ _salt+ ListAssessmentFrameworkShareRequests' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` requestType++instance+ Prelude.NFData+ ListAssessmentFrameworkShareRequests+ where+ rnf ListAssessmentFrameworkShareRequests' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf requestType++instance+ Data.ToHeaders+ ListAssessmentFrameworkShareRequests+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ ListAssessmentFrameworkShareRequests+ where+ toPath =+ Prelude.const "/assessmentFrameworkShareRequests"++instance+ Data.ToQuery+ ListAssessmentFrameworkShareRequests+ where+ toQuery ListAssessmentFrameworkShareRequests' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "requestType" Data.=: requestType+ ]++-- | /See:/ 'newListAssessmentFrameworkShareRequestsResponse' smart constructor.+data ListAssessmentFrameworkShareRequestsResponse = ListAssessmentFrameworkShareRequestsResponse'+ { -- | The list of share requests that the+ -- @ListAssessmentFrameworkShareRequests@ API returned.+ assessmentFrameworkShareRequests :: Prelude.Maybe [AssessmentFrameworkShareRequest],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'ListAssessmentFrameworkShareRequestsResponse' 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:+--+-- 'assessmentFrameworkShareRequests', 'listAssessmentFrameworkShareRequestsResponse_assessmentFrameworkShareRequests' - The list of share requests that the+-- @ListAssessmentFrameworkShareRequests@ API returned.+--+-- 'nextToken', 'listAssessmentFrameworkShareRequestsResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'listAssessmentFrameworkShareRequestsResponse_httpStatus' - The response's http status code.+newListAssessmentFrameworkShareRequestsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAssessmentFrameworkShareRequestsResponse+newListAssessmentFrameworkShareRequestsResponse+ pHttpStatus_ =+ ListAssessmentFrameworkShareRequestsResponse'+ { assessmentFrameworkShareRequests =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of share requests that the+-- @ListAssessmentFrameworkShareRequests@ API returned.+listAssessmentFrameworkShareRequestsResponse_assessmentFrameworkShareRequests :: Lens.Lens' ListAssessmentFrameworkShareRequestsResponse (Prelude.Maybe [AssessmentFrameworkShareRequest])+listAssessmentFrameworkShareRequestsResponse_assessmentFrameworkShareRequests = Lens.lens (\ListAssessmentFrameworkShareRequestsResponse' {assessmentFrameworkShareRequests} -> assessmentFrameworkShareRequests) (\s@ListAssessmentFrameworkShareRequestsResponse' {} a -> s {assessmentFrameworkShareRequests = a} :: ListAssessmentFrameworkShareRequestsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+listAssessmentFrameworkShareRequestsResponse_nextToken :: Lens.Lens' ListAssessmentFrameworkShareRequestsResponse (Prelude.Maybe Prelude.Text)+listAssessmentFrameworkShareRequestsResponse_nextToken = Lens.lens (\ListAssessmentFrameworkShareRequestsResponse' {nextToken} -> nextToken) (\s@ListAssessmentFrameworkShareRequestsResponse' {} a -> s {nextToken = a} :: ListAssessmentFrameworkShareRequestsResponse)++-- | The response's http status code.+listAssessmentFrameworkShareRequestsResponse_httpStatus :: Lens.Lens' ListAssessmentFrameworkShareRequestsResponse Prelude.Int+listAssessmentFrameworkShareRequestsResponse_httpStatus = Lens.lens (\ListAssessmentFrameworkShareRequestsResponse' {httpStatus} -> httpStatus) (\s@ListAssessmentFrameworkShareRequestsResponse' {} a -> s {httpStatus = a} :: ListAssessmentFrameworkShareRequestsResponse)++instance+ Prelude.NFData+ ListAssessmentFrameworkShareRequestsResponse+ where+ rnf ListAssessmentFrameworkShareRequestsResponse' {..} =+ Prelude.rnf assessmentFrameworkShareRequests+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/ListAssessmentFrameworks.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.AuditManager.ListAssessmentFrameworks+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of the frameworks that are available in the Audit Manager+-- framework library.+module Amazonka.AuditManager.ListAssessmentFrameworks+ ( -- * Creating a Request+ ListAssessmentFrameworks (..),+ newListAssessmentFrameworks,++ -- * Request Lenses+ listAssessmentFrameworks_maxResults,+ listAssessmentFrameworks_nextToken,+ listAssessmentFrameworks_frameworkType,++ -- * Destructuring the Response+ ListAssessmentFrameworksResponse (..),+ newListAssessmentFrameworksResponse,++ -- * Response Lenses+ listAssessmentFrameworksResponse_frameworkMetadataList,+ listAssessmentFrameworksResponse_nextToken,+ listAssessmentFrameworksResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newListAssessmentFrameworks' smart constructor.+data ListAssessmentFrameworks = ListAssessmentFrameworks'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The type of framework, such as a standard framework or a custom+ -- framework.+ frameworkType :: FrameworkType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssessmentFrameworks' 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', 'listAssessmentFrameworks_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'listAssessmentFrameworks_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'frameworkType', 'listAssessmentFrameworks_frameworkType' - The type of framework, such as a standard framework or a custom+-- framework.+newListAssessmentFrameworks ::+ -- | 'frameworkType'+ FrameworkType ->+ ListAssessmentFrameworks+newListAssessmentFrameworks pFrameworkType_ =+ ListAssessmentFrameworks'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ frameworkType = pFrameworkType_+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+listAssessmentFrameworks_maxResults :: Lens.Lens' ListAssessmentFrameworks (Prelude.Maybe Prelude.Natural)+listAssessmentFrameworks_maxResults = Lens.lens (\ListAssessmentFrameworks' {maxResults} -> maxResults) (\s@ListAssessmentFrameworks' {} a -> s {maxResults = a} :: ListAssessmentFrameworks)++-- | The pagination token that\'s used to fetch the next set of results.+listAssessmentFrameworks_nextToken :: Lens.Lens' ListAssessmentFrameworks (Prelude.Maybe Prelude.Text)+listAssessmentFrameworks_nextToken = Lens.lens (\ListAssessmentFrameworks' {nextToken} -> nextToken) (\s@ListAssessmentFrameworks' {} a -> s {nextToken = a} :: ListAssessmentFrameworks)++-- | The type of framework, such as a standard framework or a custom+-- framework.+listAssessmentFrameworks_frameworkType :: Lens.Lens' ListAssessmentFrameworks FrameworkType+listAssessmentFrameworks_frameworkType = Lens.lens (\ListAssessmentFrameworks' {frameworkType} -> frameworkType) (\s@ListAssessmentFrameworks' {} a -> s {frameworkType = a} :: ListAssessmentFrameworks)++instance Core.AWSRequest ListAssessmentFrameworks where+ type+ AWSResponse ListAssessmentFrameworks =+ ListAssessmentFrameworksResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAssessmentFrameworksResponse'+ Prelude.<$> ( x+ Data..?> "frameworkMetadataList"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAssessmentFrameworks where+ hashWithSalt _salt ListAssessmentFrameworks' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` frameworkType++instance Prelude.NFData ListAssessmentFrameworks where+ rnf ListAssessmentFrameworks' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf frameworkType++instance Data.ToHeaders ListAssessmentFrameworks where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListAssessmentFrameworks where+ toPath = Prelude.const "/assessmentFrameworks"++instance Data.ToQuery ListAssessmentFrameworks where+ toQuery ListAssessmentFrameworks' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "frameworkType" Data.=: frameworkType+ ]++-- | /See:/ 'newListAssessmentFrameworksResponse' smart constructor.+data ListAssessmentFrameworksResponse = ListAssessmentFrameworksResponse'+ { -- | The list of metadata objects for the framework.+ frameworkMetadataList :: Prelude.Maybe [AssessmentFrameworkMetadata],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'ListAssessmentFrameworksResponse' 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:+--+-- 'frameworkMetadataList', 'listAssessmentFrameworksResponse_frameworkMetadataList' - The list of metadata objects for the framework.+--+-- 'nextToken', 'listAssessmentFrameworksResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'listAssessmentFrameworksResponse_httpStatus' - The response's http status code.+newListAssessmentFrameworksResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAssessmentFrameworksResponse+newListAssessmentFrameworksResponse pHttpStatus_ =+ ListAssessmentFrameworksResponse'+ { frameworkMetadataList =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of metadata objects for the framework.+listAssessmentFrameworksResponse_frameworkMetadataList :: Lens.Lens' ListAssessmentFrameworksResponse (Prelude.Maybe [AssessmentFrameworkMetadata])+listAssessmentFrameworksResponse_frameworkMetadataList = Lens.lens (\ListAssessmentFrameworksResponse' {frameworkMetadataList} -> frameworkMetadataList) (\s@ListAssessmentFrameworksResponse' {} a -> s {frameworkMetadataList = a} :: ListAssessmentFrameworksResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+listAssessmentFrameworksResponse_nextToken :: Lens.Lens' ListAssessmentFrameworksResponse (Prelude.Maybe Prelude.Text)+listAssessmentFrameworksResponse_nextToken = Lens.lens (\ListAssessmentFrameworksResponse' {nextToken} -> nextToken) (\s@ListAssessmentFrameworksResponse' {} a -> s {nextToken = a} :: ListAssessmentFrameworksResponse)++-- | The response's http status code.+listAssessmentFrameworksResponse_httpStatus :: Lens.Lens' ListAssessmentFrameworksResponse Prelude.Int+listAssessmentFrameworksResponse_httpStatus = Lens.lens (\ListAssessmentFrameworksResponse' {httpStatus} -> httpStatus) (\s@ListAssessmentFrameworksResponse' {} a -> s {httpStatus = a} :: ListAssessmentFrameworksResponse)++instance+ Prelude.NFData+ ListAssessmentFrameworksResponse+ where+ rnf ListAssessmentFrameworksResponse' {..} =+ Prelude.rnf frameworkMetadataList+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/ListAssessmentReports.hs view
@@ -0,0 +1,197 @@+{-# 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.AuditManager.ListAssessmentReports+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of assessment reports created in Audit Manager.+module Amazonka.AuditManager.ListAssessmentReports+ ( -- * Creating a Request+ ListAssessmentReports (..),+ newListAssessmentReports,++ -- * Request Lenses+ listAssessmentReports_maxResults,+ listAssessmentReports_nextToken,++ -- * Destructuring the Response+ ListAssessmentReportsResponse (..),+ newListAssessmentReportsResponse,++ -- * Response Lenses+ listAssessmentReportsResponse_assessmentReports,+ listAssessmentReportsResponse_nextToken,+ listAssessmentReportsResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newListAssessmentReports' smart constructor.+data ListAssessmentReports = ListAssessmentReports'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssessmentReports' 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', 'listAssessmentReports_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'listAssessmentReports_nextToken' - The pagination token that\'s used to fetch the next set of results.+newListAssessmentReports ::+ ListAssessmentReports+newListAssessmentReports =+ ListAssessmentReports'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+listAssessmentReports_maxResults :: Lens.Lens' ListAssessmentReports (Prelude.Maybe Prelude.Natural)+listAssessmentReports_maxResults = Lens.lens (\ListAssessmentReports' {maxResults} -> maxResults) (\s@ListAssessmentReports' {} a -> s {maxResults = a} :: ListAssessmentReports)++-- | The pagination token that\'s used to fetch the next set of results.+listAssessmentReports_nextToken :: Lens.Lens' ListAssessmentReports (Prelude.Maybe Prelude.Text)+listAssessmentReports_nextToken = Lens.lens (\ListAssessmentReports' {nextToken} -> nextToken) (\s@ListAssessmentReports' {} a -> s {nextToken = a} :: ListAssessmentReports)++instance Core.AWSRequest ListAssessmentReports where+ type+ AWSResponse ListAssessmentReports =+ ListAssessmentReportsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAssessmentReportsResponse'+ Prelude.<$> ( x+ Data..?> "assessmentReports"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAssessmentReports where+ hashWithSalt _salt ListAssessmentReports' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAssessmentReports where+ rnf ListAssessmentReports' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAssessmentReports where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListAssessmentReports where+ toPath = Prelude.const "/assessmentReports"++instance Data.ToQuery ListAssessmentReports where+ toQuery ListAssessmentReports' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListAssessmentReportsResponse' smart constructor.+data ListAssessmentReportsResponse = ListAssessmentReportsResponse'+ { -- | The list of assessment reports that the @ListAssessmentReports@ API+ -- returned.+ assessmentReports :: Prelude.Maybe [AssessmentReportMetadata],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'ListAssessmentReportsResponse' 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:+--+-- 'assessmentReports', 'listAssessmentReportsResponse_assessmentReports' - The list of assessment reports that the @ListAssessmentReports@ API+-- returned.+--+-- 'nextToken', 'listAssessmentReportsResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'listAssessmentReportsResponse_httpStatus' - The response's http status code.+newListAssessmentReportsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAssessmentReportsResponse+newListAssessmentReportsResponse pHttpStatus_ =+ ListAssessmentReportsResponse'+ { assessmentReports =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of assessment reports that the @ListAssessmentReports@ API+-- returned.+listAssessmentReportsResponse_assessmentReports :: Lens.Lens' ListAssessmentReportsResponse (Prelude.Maybe [AssessmentReportMetadata])+listAssessmentReportsResponse_assessmentReports = Lens.lens (\ListAssessmentReportsResponse' {assessmentReports} -> assessmentReports) (\s@ListAssessmentReportsResponse' {} a -> s {assessmentReports = a} :: ListAssessmentReportsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+listAssessmentReportsResponse_nextToken :: Lens.Lens' ListAssessmentReportsResponse (Prelude.Maybe Prelude.Text)+listAssessmentReportsResponse_nextToken = Lens.lens (\ListAssessmentReportsResponse' {nextToken} -> nextToken) (\s@ListAssessmentReportsResponse' {} a -> s {nextToken = a} :: ListAssessmentReportsResponse)++-- | The response's http status code.+listAssessmentReportsResponse_httpStatus :: Lens.Lens' ListAssessmentReportsResponse Prelude.Int+listAssessmentReportsResponse_httpStatus = Lens.lens (\ListAssessmentReportsResponse' {httpStatus} -> httpStatus) (\s@ListAssessmentReportsResponse' {} a -> s {httpStatus = a} :: ListAssessmentReportsResponse)++instance Prelude.NFData ListAssessmentReportsResponse where+ rnf ListAssessmentReportsResponse' {..} =+ Prelude.rnf assessmentReports+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/ListAssessments.hs view
@@ -0,0 +1,206 @@+{-# 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.AuditManager.ListAssessments+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of current and past assessments from Audit Manager.+module Amazonka.AuditManager.ListAssessments+ ( -- * Creating a Request+ ListAssessments (..),+ newListAssessments,++ -- * Request Lenses+ listAssessments_maxResults,+ listAssessments_nextToken,+ listAssessments_status,++ -- * Destructuring the Response+ ListAssessmentsResponse (..),+ newListAssessmentsResponse,++ -- * Response Lenses+ listAssessmentsResponse_assessmentMetadata,+ listAssessmentsResponse_nextToken,+ listAssessmentsResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newListAssessments' smart constructor.+data ListAssessments = ListAssessments'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The current status of the assessment.+ status :: Prelude.Maybe AssessmentStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAssessments' 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', 'listAssessments_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'listAssessments_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'status', 'listAssessments_status' - The current status of the assessment.+newListAssessments ::+ ListAssessments+newListAssessments =+ ListAssessments'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+listAssessments_maxResults :: Lens.Lens' ListAssessments (Prelude.Maybe Prelude.Natural)+listAssessments_maxResults = Lens.lens (\ListAssessments' {maxResults} -> maxResults) (\s@ListAssessments' {} a -> s {maxResults = a} :: ListAssessments)++-- | The pagination token that\'s used to fetch the next set of results.+listAssessments_nextToken :: Lens.Lens' ListAssessments (Prelude.Maybe Prelude.Text)+listAssessments_nextToken = Lens.lens (\ListAssessments' {nextToken} -> nextToken) (\s@ListAssessments' {} a -> s {nextToken = a} :: ListAssessments)++-- | The current status of the assessment.+listAssessments_status :: Lens.Lens' ListAssessments (Prelude.Maybe AssessmentStatus)+listAssessments_status = Lens.lens (\ListAssessments' {status} -> status) (\s@ListAssessments' {} a -> s {status = a} :: ListAssessments)++instance Core.AWSRequest ListAssessments where+ type+ AWSResponse ListAssessments =+ ListAssessmentsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAssessmentsResponse'+ Prelude.<$> ( x+ Data..?> "assessmentMetadata"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAssessments where+ hashWithSalt _salt ListAssessments' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` status++instance Prelude.NFData ListAssessments where+ rnf ListAssessments' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf status++instance Data.ToHeaders ListAssessments where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListAssessments where+ toPath = Prelude.const "/assessments"++instance Data.ToQuery ListAssessments where+ toQuery ListAssessments' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "status" Data.=: status+ ]++-- | /See:/ 'newListAssessmentsResponse' smart constructor.+data ListAssessmentsResponse = ListAssessmentsResponse'+ { -- | The metadata that\'s associated with the assessment.+ assessmentMetadata :: Prelude.Maybe [AssessmentMetadataItem],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'ListAssessmentsResponse' 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:+--+-- 'assessmentMetadata', 'listAssessmentsResponse_assessmentMetadata' - The metadata that\'s associated with the assessment.+--+-- 'nextToken', 'listAssessmentsResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'listAssessmentsResponse_httpStatus' - The response's http status code.+newListAssessmentsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAssessmentsResponse+newListAssessmentsResponse pHttpStatus_ =+ ListAssessmentsResponse'+ { assessmentMetadata =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The metadata that\'s associated with the assessment.+listAssessmentsResponse_assessmentMetadata :: Lens.Lens' ListAssessmentsResponse (Prelude.Maybe [AssessmentMetadataItem])+listAssessmentsResponse_assessmentMetadata = Lens.lens (\ListAssessmentsResponse' {assessmentMetadata} -> assessmentMetadata) (\s@ListAssessmentsResponse' {} a -> s {assessmentMetadata = a} :: ListAssessmentsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+listAssessmentsResponse_nextToken :: Lens.Lens' ListAssessmentsResponse (Prelude.Maybe Prelude.Text)+listAssessmentsResponse_nextToken = Lens.lens (\ListAssessmentsResponse' {nextToken} -> nextToken) (\s@ListAssessmentsResponse' {} a -> s {nextToken = a} :: ListAssessmentsResponse)++-- | The response's http status code.+listAssessmentsResponse_httpStatus :: Lens.Lens' ListAssessmentsResponse Prelude.Int+listAssessmentsResponse_httpStatus = Lens.lens (\ListAssessmentsResponse' {httpStatus} -> httpStatus) (\s@ListAssessmentsResponse' {} a -> s {httpStatus = a} :: ListAssessmentsResponse)++instance Prelude.NFData ListAssessmentsResponse where+ rnf ListAssessmentsResponse' {..} =+ Prelude.rnf assessmentMetadata+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/ListControlDomainInsights.hs view
@@ -0,0 +1,206 @@+{-# 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.AuditManager.ListControlDomainInsights+-- 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 latest analytics data for control domains across all of your+-- active assessments.+--+-- A control domain is listed only if at least one of the controls within+-- that domain collected evidence on the @lastUpdated@ date of+-- @controlDomainInsights@. If this condition isn’t met, no data is listed+-- for that control domain.+module Amazonka.AuditManager.ListControlDomainInsights+ ( -- * Creating a Request+ ListControlDomainInsights (..),+ newListControlDomainInsights,++ -- * Request Lenses+ listControlDomainInsights_maxResults,+ listControlDomainInsights_nextToken,++ -- * Destructuring the Response+ ListControlDomainInsightsResponse (..),+ newListControlDomainInsightsResponse,++ -- * Response Lenses+ listControlDomainInsightsResponse_controlDomainInsights,+ listControlDomainInsightsResponse_nextToken,+ listControlDomainInsightsResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newListControlDomainInsights' smart constructor.+data ListControlDomainInsights = ListControlDomainInsights'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListControlDomainInsights' 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', 'listControlDomainInsights_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'listControlDomainInsights_nextToken' - The pagination token that\'s used to fetch the next set of results.+newListControlDomainInsights ::+ ListControlDomainInsights+newListControlDomainInsights =+ ListControlDomainInsights'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+listControlDomainInsights_maxResults :: Lens.Lens' ListControlDomainInsights (Prelude.Maybe Prelude.Natural)+listControlDomainInsights_maxResults = Lens.lens (\ListControlDomainInsights' {maxResults} -> maxResults) (\s@ListControlDomainInsights' {} a -> s {maxResults = a} :: ListControlDomainInsights)++-- | The pagination token that\'s used to fetch the next set of results.+listControlDomainInsights_nextToken :: Lens.Lens' ListControlDomainInsights (Prelude.Maybe Prelude.Text)+listControlDomainInsights_nextToken = Lens.lens (\ListControlDomainInsights' {nextToken} -> nextToken) (\s@ListControlDomainInsights' {} a -> s {nextToken = a} :: ListControlDomainInsights)++instance Core.AWSRequest ListControlDomainInsights where+ type+ AWSResponse ListControlDomainInsights =+ ListControlDomainInsightsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListControlDomainInsightsResponse'+ Prelude.<$> ( x+ Data..?> "controlDomainInsights"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListControlDomainInsights where+ hashWithSalt _salt ListControlDomainInsights' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListControlDomainInsights where+ rnf ListControlDomainInsights' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListControlDomainInsights where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListControlDomainInsights where+ toPath = Prelude.const "/insights/control-domains"++instance Data.ToQuery ListControlDomainInsights where+ toQuery ListControlDomainInsights' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListControlDomainInsightsResponse' smart constructor.+data ListControlDomainInsightsResponse = ListControlDomainInsightsResponse'+ { -- | The control domain analytics data that the @ListControlDomainInsights@+ -- API returned.+ controlDomainInsights :: Prelude.Maybe [ControlDomainInsights],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'ListControlDomainInsightsResponse' 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:+--+-- 'controlDomainInsights', 'listControlDomainInsightsResponse_controlDomainInsights' - The control domain analytics data that the @ListControlDomainInsights@+-- API returned.+--+-- 'nextToken', 'listControlDomainInsightsResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'listControlDomainInsightsResponse_httpStatus' - The response's http status code.+newListControlDomainInsightsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListControlDomainInsightsResponse+newListControlDomainInsightsResponse pHttpStatus_ =+ ListControlDomainInsightsResponse'+ { controlDomainInsights =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The control domain analytics data that the @ListControlDomainInsights@+-- API returned.+listControlDomainInsightsResponse_controlDomainInsights :: Lens.Lens' ListControlDomainInsightsResponse (Prelude.Maybe [ControlDomainInsights])+listControlDomainInsightsResponse_controlDomainInsights = Lens.lens (\ListControlDomainInsightsResponse' {controlDomainInsights} -> controlDomainInsights) (\s@ListControlDomainInsightsResponse' {} a -> s {controlDomainInsights = a} :: ListControlDomainInsightsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+listControlDomainInsightsResponse_nextToken :: Lens.Lens' ListControlDomainInsightsResponse (Prelude.Maybe Prelude.Text)+listControlDomainInsightsResponse_nextToken = Lens.lens (\ListControlDomainInsightsResponse' {nextToken} -> nextToken) (\s@ListControlDomainInsightsResponse' {} a -> s {nextToken = a} :: ListControlDomainInsightsResponse)++-- | The response's http status code.+listControlDomainInsightsResponse_httpStatus :: Lens.Lens' ListControlDomainInsightsResponse Prelude.Int+listControlDomainInsightsResponse_httpStatus = Lens.lens (\ListControlDomainInsightsResponse' {httpStatus} -> httpStatus) (\s@ListControlDomainInsightsResponse' {} a -> s {httpStatus = a} :: ListControlDomainInsightsResponse)++instance+ Prelude.NFData+ ListControlDomainInsightsResponse+ where+ rnf ListControlDomainInsightsResponse' {..} =+ Prelude.rnf controlDomainInsights+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/ListControlDomainInsightsByAssessment.hs view
@@ -0,0 +1,247 @@+{-# 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.AuditManager.ListControlDomainInsightsByAssessment+-- 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 analytics data for control domains within a specified active+-- assessment.+--+-- A control domain is listed only if at least one of the controls within+-- that domain collected evidence on the @lastUpdated@ date of+-- @controlDomainInsights@. If this condition isn’t met, no data is listed+-- for that domain.+module Amazonka.AuditManager.ListControlDomainInsightsByAssessment+ ( -- * Creating a Request+ ListControlDomainInsightsByAssessment (..),+ newListControlDomainInsightsByAssessment,++ -- * Request Lenses+ listControlDomainInsightsByAssessment_maxResults,+ listControlDomainInsightsByAssessment_nextToken,+ listControlDomainInsightsByAssessment_assessmentId,++ -- * Destructuring the Response+ ListControlDomainInsightsByAssessmentResponse (..),+ newListControlDomainInsightsByAssessmentResponse,++ -- * Response Lenses+ listControlDomainInsightsByAssessmentResponse_controlDomainInsights,+ listControlDomainInsightsByAssessmentResponse_nextToken,+ listControlDomainInsightsByAssessmentResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newListControlDomainInsightsByAssessment' smart constructor.+data ListControlDomainInsightsByAssessment = ListControlDomainInsightsByAssessment'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the active assessment.+ assessmentId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListControlDomainInsightsByAssessment' 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', 'listControlDomainInsightsByAssessment_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'listControlDomainInsightsByAssessment_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'assessmentId', 'listControlDomainInsightsByAssessment_assessmentId' - The unique identifier for the active assessment.+newListControlDomainInsightsByAssessment ::+ -- | 'assessmentId'+ Prelude.Text ->+ ListControlDomainInsightsByAssessment+newListControlDomainInsightsByAssessment+ pAssessmentId_ =+ ListControlDomainInsightsByAssessment'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ assessmentId = pAssessmentId_+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+listControlDomainInsightsByAssessment_maxResults :: Lens.Lens' ListControlDomainInsightsByAssessment (Prelude.Maybe Prelude.Natural)+listControlDomainInsightsByAssessment_maxResults = Lens.lens (\ListControlDomainInsightsByAssessment' {maxResults} -> maxResults) (\s@ListControlDomainInsightsByAssessment' {} a -> s {maxResults = a} :: ListControlDomainInsightsByAssessment)++-- | The pagination token that\'s used to fetch the next set of results.+listControlDomainInsightsByAssessment_nextToken :: Lens.Lens' ListControlDomainInsightsByAssessment (Prelude.Maybe Prelude.Text)+listControlDomainInsightsByAssessment_nextToken = Lens.lens (\ListControlDomainInsightsByAssessment' {nextToken} -> nextToken) (\s@ListControlDomainInsightsByAssessment' {} a -> s {nextToken = a} :: ListControlDomainInsightsByAssessment)++-- | The unique identifier for the active assessment.+listControlDomainInsightsByAssessment_assessmentId :: Lens.Lens' ListControlDomainInsightsByAssessment Prelude.Text+listControlDomainInsightsByAssessment_assessmentId = Lens.lens (\ListControlDomainInsightsByAssessment' {assessmentId} -> assessmentId) (\s@ListControlDomainInsightsByAssessment' {} a -> s {assessmentId = a} :: ListControlDomainInsightsByAssessment)++instance+ Core.AWSRequest+ ListControlDomainInsightsByAssessment+ where+ type+ AWSResponse+ ListControlDomainInsightsByAssessment =+ ListControlDomainInsightsByAssessmentResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListControlDomainInsightsByAssessmentResponse'+ Prelude.<$> ( x+ Data..?> "controlDomainInsights"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListControlDomainInsightsByAssessment+ where+ hashWithSalt+ _salt+ ListControlDomainInsightsByAssessment' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` assessmentId++instance+ Prelude.NFData+ ListControlDomainInsightsByAssessment+ where+ rnf ListControlDomainInsightsByAssessment' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf assessmentId++instance+ Data.ToHeaders+ ListControlDomainInsightsByAssessment+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ ListControlDomainInsightsByAssessment+ where+ toPath =+ Prelude.const+ "/insights/control-domains-by-assessment"++instance+ Data.ToQuery+ ListControlDomainInsightsByAssessment+ where+ toQuery ListControlDomainInsightsByAssessment' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "assessmentId" Data.=: assessmentId+ ]++-- | /See:/ 'newListControlDomainInsightsByAssessmentResponse' smart constructor.+data ListControlDomainInsightsByAssessmentResponse = ListControlDomainInsightsByAssessmentResponse'+ { -- | The control domain analytics data that the+ -- @ListControlDomainInsightsByAssessment@ API returned.+ controlDomainInsights :: Prelude.Maybe [ControlDomainInsights],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'ListControlDomainInsightsByAssessmentResponse' 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:+--+-- 'controlDomainInsights', 'listControlDomainInsightsByAssessmentResponse_controlDomainInsights' - The control domain analytics data that the+-- @ListControlDomainInsightsByAssessment@ API returned.+--+-- 'nextToken', 'listControlDomainInsightsByAssessmentResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'listControlDomainInsightsByAssessmentResponse_httpStatus' - The response's http status code.+newListControlDomainInsightsByAssessmentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListControlDomainInsightsByAssessmentResponse+newListControlDomainInsightsByAssessmentResponse+ pHttpStatus_ =+ ListControlDomainInsightsByAssessmentResponse'+ { controlDomainInsights =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The control domain analytics data that the+-- @ListControlDomainInsightsByAssessment@ API returned.+listControlDomainInsightsByAssessmentResponse_controlDomainInsights :: Lens.Lens' ListControlDomainInsightsByAssessmentResponse (Prelude.Maybe [ControlDomainInsights])+listControlDomainInsightsByAssessmentResponse_controlDomainInsights = Lens.lens (\ListControlDomainInsightsByAssessmentResponse' {controlDomainInsights} -> controlDomainInsights) (\s@ListControlDomainInsightsByAssessmentResponse' {} a -> s {controlDomainInsights = a} :: ListControlDomainInsightsByAssessmentResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+listControlDomainInsightsByAssessmentResponse_nextToken :: Lens.Lens' ListControlDomainInsightsByAssessmentResponse (Prelude.Maybe Prelude.Text)+listControlDomainInsightsByAssessmentResponse_nextToken = Lens.lens (\ListControlDomainInsightsByAssessmentResponse' {nextToken} -> nextToken) (\s@ListControlDomainInsightsByAssessmentResponse' {} a -> s {nextToken = a} :: ListControlDomainInsightsByAssessmentResponse)++-- | The response's http status code.+listControlDomainInsightsByAssessmentResponse_httpStatus :: Lens.Lens' ListControlDomainInsightsByAssessmentResponse Prelude.Int+listControlDomainInsightsByAssessmentResponse_httpStatus = Lens.lens (\ListControlDomainInsightsByAssessmentResponse' {httpStatus} -> httpStatus) (\s@ListControlDomainInsightsByAssessmentResponse' {} a -> s {httpStatus = a} :: ListControlDomainInsightsByAssessmentResponse)++instance+ Prelude.NFData+ ListControlDomainInsightsByAssessmentResponse+ where+ rnf+ ListControlDomainInsightsByAssessmentResponse' {..} =+ Prelude.rnf controlDomainInsights+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/ListControlInsightsByControlDomain.hs view
@@ -0,0 +1,243 @@+{-# 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.AuditManager.ListControlInsightsByControlDomain+-- 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 latest analytics data for controls within a specific control+-- domain across all active assessments.+--+-- Control insights are listed only if the control belongs to the control+-- domain that was specified and the control collected evidence on the+-- @lastUpdated@ date of @controlInsightsMetadata@. If neither of these+-- conditions are met, no data is listed for that control.+module Amazonka.AuditManager.ListControlInsightsByControlDomain+ ( -- * Creating a Request+ ListControlInsightsByControlDomain (..),+ newListControlInsightsByControlDomain,++ -- * Request Lenses+ listControlInsightsByControlDomain_maxResults,+ listControlInsightsByControlDomain_nextToken,+ listControlInsightsByControlDomain_controlDomainId,++ -- * Destructuring the Response+ ListControlInsightsByControlDomainResponse (..),+ newListControlInsightsByControlDomainResponse,++ -- * Response Lenses+ listControlInsightsByControlDomainResponse_controlInsightsMetadata,+ listControlInsightsByControlDomainResponse_nextToken,+ listControlInsightsByControlDomainResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newListControlInsightsByControlDomain' smart constructor.+data ListControlInsightsByControlDomain = ListControlInsightsByControlDomain'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the control domain.+ controlDomainId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListControlInsightsByControlDomain' 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', 'listControlInsightsByControlDomain_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'listControlInsightsByControlDomain_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'controlDomainId', 'listControlInsightsByControlDomain_controlDomainId' - The unique identifier for the control domain.+newListControlInsightsByControlDomain ::+ -- | 'controlDomainId'+ Prelude.Text ->+ ListControlInsightsByControlDomain+newListControlInsightsByControlDomain+ pControlDomainId_ =+ ListControlInsightsByControlDomain'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ controlDomainId = pControlDomainId_+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+listControlInsightsByControlDomain_maxResults :: Lens.Lens' ListControlInsightsByControlDomain (Prelude.Maybe Prelude.Natural)+listControlInsightsByControlDomain_maxResults = Lens.lens (\ListControlInsightsByControlDomain' {maxResults} -> maxResults) (\s@ListControlInsightsByControlDomain' {} a -> s {maxResults = a} :: ListControlInsightsByControlDomain)++-- | The pagination token that\'s used to fetch the next set of results.+listControlInsightsByControlDomain_nextToken :: Lens.Lens' ListControlInsightsByControlDomain (Prelude.Maybe Prelude.Text)+listControlInsightsByControlDomain_nextToken = Lens.lens (\ListControlInsightsByControlDomain' {nextToken} -> nextToken) (\s@ListControlInsightsByControlDomain' {} a -> s {nextToken = a} :: ListControlInsightsByControlDomain)++-- | The unique identifier for the control domain.+listControlInsightsByControlDomain_controlDomainId :: Lens.Lens' ListControlInsightsByControlDomain Prelude.Text+listControlInsightsByControlDomain_controlDomainId = Lens.lens (\ListControlInsightsByControlDomain' {controlDomainId} -> controlDomainId) (\s@ListControlInsightsByControlDomain' {} a -> s {controlDomainId = a} :: ListControlInsightsByControlDomain)++instance+ Core.AWSRequest+ ListControlInsightsByControlDomain+ where+ type+ AWSResponse ListControlInsightsByControlDomain =+ ListControlInsightsByControlDomainResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListControlInsightsByControlDomainResponse'+ Prelude.<$> ( x+ Data..?> "controlInsightsMetadata"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListControlInsightsByControlDomain+ where+ hashWithSalt+ _salt+ ListControlInsightsByControlDomain' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` controlDomainId++instance+ Prelude.NFData+ ListControlInsightsByControlDomain+ where+ rnf ListControlInsightsByControlDomain' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf controlDomainId++instance+ Data.ToHeaders+ ListControlInsightsByControlDomain+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ ListControlInsightsByControlDomain+ where+ toPath = Prelude.const "/insights/controls"++instance+ Data.ToQuery+ ListControlInsightsByControlDomain+ where+ toQuery ListControlInsightsByControlDomain' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "controlDomainId" Data.=: controlDomainId+ ]++-- | /See:/ 'newListControlInsightsByControlDomainResponse' smart constructor.+data ListControlInsightsByControlDomainResponse = ListControlInsightsByControlDomainResponse'+ { -- | The control analytics data that the @ListControlInsightsByControlDomain@+ -- API returned.+ controlInsightsMetadata :: Prelude.Maybe [ControlInsightsMetadataItem],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'ListControlInsightsByControlDomainResponse' 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:+--+-- 'controlInsightsMetadata', 'listControlInsightsByControlDomainResponse_controlInsightsMetadata' - The control analytics data that the @ListControlInsightsByControlDomain@+-- API returned.+--+-- 'nextToken', 'listControlInsightsByControlDomainResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'listControlInsightsByControlDomainResponse_httpStatus' - The response's http status code.+newListControlInsightsByControlDomainResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListControlInsightsByControlDomainResponse+newListControlInsightsByControlDomainResponse+ pHttpStatus_ =+ ListControlInsightsByControlDomainResponse'+ { controlInsightsMetadata =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The control analytics data that the @ListControlInsightsByControlDomain@+-- API returned.+listControlInsightsByControlDomainResponse_controlInsightsMetadata :: Lens.Lens' ListControlInsightsByControlDomainResponse (Prelude.Maybe [ControlInsightsMetadataItem])+listControlInsightsByControlDomainResponse_controlInsightsMetadata = Lens.lens (\ListControlInsightsByControlDomainResponse' {controlInsightsMetadata} -> controlInsightsMetadata) (\s@ListControlInsightsByControlDomainResponse' {} a -> s {controlInsightsMetadata = a} :: ListControlInsightsByControlDomainResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+listControlInsightsByControlDomainResponse_nextToken :: Lens.Lens' ListControlInsightsByControlDomainResponse (Prelude.Maybe Prelude.Text)+listControlInsightsByControlDomainResponse_nextToken = Lens.lens (\ListControlInsightsByControlDomainResponse' {nextToken} -> nextToken) (\s@ListControlInsightsByControlDomainResponse' {} a -> s {nextToken = a} :: ListControlInsightsByControlDomainResponse)++-- | The response's http status code.+listControlInsightsByControlDomainResponse_httpStatus :: Lens.Lens' ListControlInsightsByControlDomainResponse Prelude.Int+listControlInsightsByControlDomainResponse_httpStatus = Lens.lens (\ListControlInsightsByControlDomainResponse' {httpStatus} -> httpStatus) (\s@ListControlInsightsByControlDomainResponse' {} a -> s {httpStatus = a} :: ListControlInsightsByControlDomainResponse)++instance+ Prelude.NFData+ ListControlInsightsByControlDomainResponse+ where+ rnf ListControlInsightsByControlDomainResponse' {..} =+ Prelude.rnf controlInsightsMetadata+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/ListControls.hs view
@@ -0,0 +1,209 @@+{-# 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.AuditManager.ListControls+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of controls from Audit Manager.+module Amazonka.AuditManager.ListControls+ ( -- * Creating a Request+ ListControls (..),+ newListControls,++ -- * Request Lenses+ listControls_maxResults,+ listControls_nextToken,+ listControls_controlType,++ -- * Destructuring the Response+ ListControlsResponse (..),+ newListControlsResponse,++ -- * Response Lenses+ listControlsResponse_controlMetadataList,+ listControlsResponse_nextToken,+ listControlsResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newListControls' smart constructor.+data ListControls = ListControls'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The type of control, such as a standard control or a custom control.+ controlType :: ControlType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListControls' 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', 'listControls_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'listControls_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'controlType', 'listControls_controlType' - The type of control, such as a standard control or a custom control.+newListControls ::+ -- | 'controlType'+ ControlType ->+ ListControls+newListControls pControlType_ =+ ListControls'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ controlType = pControlType_+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+listControls_maxResults :: Lens.Lens' ListControls (Prelude.Maybe Prelude.Natural)+listControls_maxResults = Lens.lens (\ListControls' {maxResults} -> maxResults) (\s@ListControls' {} a -> s {maxResults = a} :: ListControls)++-- | The pagination token that\'s used to fetch the next set of results.+listControls_nextToken :: Lens.Lens' ListControls (Prelude.Maybe Prelude.Text)+listControls_nextToken = Lens.lens (\ListControls' {nextToken} -> nextToken) (\s@ListControls' {} a -> s {nextToken = a} :: ListControls)++-- | The type of control, such as a standard control or a custom control.+listControls_controlType :: Lens.Lens' ListControls ControlType+listControls_controlType = Lens.lens (\ListControls' {controlType} -> controlType) (\s@ListControls' {} a -> s {controlType = a} :: ListControls)++instance Core.AWSRequest ListControls where+ type AWSResponse ListControls = ListControlsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListControlsResponse'+ Prelude.<$> ( x+ Data..?> "controlMetadataList"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListControls where+ hashWithSalt _salt ListControls' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` controlType++instance Prelude.NFData ListControls where+ rnf ListControls' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf controlType++instance Data.ToHeaders ListControls where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListControls where+ toPath = Prelude.const "/controls"++instance Data.ToQuery ListControls where+ toQuery ListControls' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "controlType" Data.=: controlType+ ]++-- | /See:/ 'newListControlsResponse' smart constructor.+data ListControlsResponse = ListControlsResponse'+ { -- | The list of control metadata objects that the @ListControls@ API+ -- returned.+ controlMetadataList :: Prelude.Maybe [ControlMetadata],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'ListControlsResponse' 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:+--+-- 'controlMetadataList', 'listControlsResponse_controlMetadataList' - The list of control metadata objects that the @ListControls@ API+-- returned.+--+-- 'nextToken', 'listControlsResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'listControlsResponse_httpStatus' - The response's http status code.+newListControlsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListControlsResponse+newListControlsResponse pHttpStatus_ =+ ListControlsResponse'+ { controlMetadataList =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of control metadata objects that the @ListControls@ API+-- returned.+listControlsResponse_controlMetadataList :: Lens.Lens' ListControlsResponse (Prelude.Maybe [ControlMetadata])+listControlsResponse_controlMetadataList = Lens.lens (\ListControlsResponse' {controlMetadataList} -> controlMetadataList) (\s@ListControlsResponse' {} a -> s {controlMetadataList = a} :: ListControlsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+listControlsResponse_nextToken :: Lens.Lens' ListControlsResponse (Prelude.Maybe Prelude.Text)+listControlsResponse_nextToken = Lens.lens (\ListControlsResponse' {nextToken} -> nextToken) (\s@ListControlsResponse' {} a -> s {nextToken = a} :: ListControlsResponse)++-- | The response's http status code.+listControlsResponse_httpStatus :: Lens.Lens' ListControlsResponse Prelude.Int+listControlsResponse_httpStatus = Lens.lens (\ListControlsResponse' {httpStatus} -> httpStatus) (\s@ListControlsResponse' {} a -> s {httpStatus = a} :: ListControlsResponse)++instance Prelude.NFData ListControlsResponse where+ rnf ListControlsResponse' {..} =+ Prelude.rnf controlMetadataList+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/ListKeywordsForDataSource.hs view
@@ -0,0 +1,210 @@+{-# 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.AuditManager.ListKeywordsForDataSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of keywords that are pre-mapped to the specified control+-- data source.+module Amazonka.AuditManager.ListKeywordsForDataSource+ ( -- * Creating a Request+ ListKeywordsForDataSource (..),+ newListKeywordsForDataSource,++ -- * Request Lenses+ listKeywordsForDataSource_maxResults,+ listKeywordsForDataSource_nextToken,+ listKeywordsForDataSource_source,++ -- * Destructuring the Response+ ListKeywordsForDataSourceResponse (..),+ newListKeywordsForDataSourceResponse,++ -- * Response Lenses+ listKeywordsForDataSourceResponse_keywords,+ listKeywordsForDataSourceResponse_nextToken,+ listKeywordsForDataSourceResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newListKeywordsForDataSource' smart constructor.+data ListKeywordsForDataSource = ListKeywordsForDataSource'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The control mapping data source that the keywords apply to.+ source :: SourceType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListKeywordsForDataSource' 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', 'listKeywordsForDataSource_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'listKeywordsForDataSource_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'source', 'listKeywordsForDataSource_source' - The control mapping data source that the keywords apply to.+newListKeywordsForDataSource ::+ -- | 'source'+ SourceType ->+ ListKeywordsForDataSource+newListKeywordsForDataSource pSource_ =+ ListKeywordsForDataSource'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ source = pSource_+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+listKeywordsForDataSource_maxResults :: Lens.Lens' ListKeywordsForDataSource (Prelude.Maybe Prelude.Natural)+listKeywordsForDataSource_maxResults = Lens.lens (\ListKeywordsForDataSource' {maxResults} -> maxResults) (\s@ListKeywordsForDataSource' {} a -> s {maxResults = a} :: ListKeywordsForDataSource)++-- | The pagination token that\'s used to fetch the next set of results.+listKeywordsForDataSource_nextToken :: Lens.Lens' ListKeywordsForDataSource (Prelude.Maybe Prelude.Text)+listKeywordsForDataSource_nextToken = Lens.lens (\ListKeywordsForDataSource' {nextToken} -> nextToken) (\s@ListKeywordsForDataSource' {} a -> s {nextToken = a} :: ListKeywordsForDataSource)++-- | The control mapping data source that the keywords apply to.+listKeywordsForDataSource_source :: Lens.Lens' ListKeywordsForDataSource SourceType+listKeywordsForDataSource_source = Lens.lens (\ListKeywordsForDataSource' {source} -> source) (\s@ListKeywordsForDataSource' {} a -> s {source = a} :: ListKeywordsForDataSource)++instance Core.AWSRequest ListKeywordsForDataSource where+ type+ AWSResponse ListKeywordsForDataSource =+ ListKeywordsForDataSourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListKeywordsForDataSourceResponse'+ Prelude.<$> (x Data..?> "keywords" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListKeywordsForDataSource where+ hashWithSalt _salt ListKeywordsForDataSource' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` source++instance Prelude.NFData ListKeywordsForDataSource where+ rnf ListKeywordsForDataSource' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf source++instance Data.ToHeaders ListKeywordsForDataSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListKeywordsForDataSource where+ toPath = Prelude.const "/dataSourceKeywords"++instance Data.ToQuery ListKeywordsForDataSource where+ toQuery ListKeywordsForDataSource' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "source" Data.=: source+ ]++-- | /See:/ 'newListKeywordsForDataSourceResponse' smart constructor.+data ListKeywordsForDataSourceResponse = ListKeywordsForDataSourceResponse'+ { -- | The list of keywords for the event mapping source.+ keywords :: Prelude.Maybe [Prelude.Text],+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: 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 'ListKeywordsForDataSourceResponse' 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:+--+-- 'keywords', 'listKeywordsForDataSourceResponse_keywords' - The list of keywords for the event mapping source.+--+-- 'nextToken', 'listKeywordsForDataSourceResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'httpStatus', 'listKeywordsForDataSourceResponse_httpStatus' - The response's http status code.+newListKeywordsForDataSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListKeywordsForDataSourceResponse+newListKeywordsForDataSourceResponse pHttpStatus_ =+ ListKeywordsForDataSourceResponse'+ { keywords =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of keywords for the event mapping source.+listKeywordsForDataSourceResponse_keywords :: Lens.Lens' ListKeywordsForDataSourceResponse (Prelude.Maybe [Prelude.Text])+listKeywordsForDataSourceResponse_keywords = Lens.lens (\ListKeywordsForDataSourceResponse' {keywords} -> keywords) (\s@ListKeywordsForDataSourceResponse' {} a -> s {keywords = a} :: ListKeywordsForDataSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The pagination token that\'s used to fetch the next set of results.+listKeywordsForDataSourceResponse_nextToken :: Lens.Lens' ListKeywordsForDataSourceResponse (Prelude.Maybe Prelude.Text)+listKeywordsForDataSourceResponse_nextToken = Lens.lens (\ListKeywordsForDataSourceResponse' {nextToken} -> nextToken) (\s@ListKeywordsForDataSourceResponse' {} a -> s {nextToken = a} :: ListKeywordsForDataSourceResponse)++-- | The response's http status code.+listKeywordsForDataSourceResponse_httpStatus :: Lens.Lens' ListKeywordsForDataSourceResponse Prelude.Int+listKeywordsForDataSourceResponse_httpStatus = Lens.lens (\ListKeywordsForDataSourceResponse' {httpStatus} -> httpStatus) (\s@ListKeywordsForDataSourceResponse' {} a -> s {httpStatus = a} :: ListKeywordsForDataSourceResponse)++instance+ Prelude.NFData+ ListKeywordsForDataSourceResponse+ where+ rnf ListKeywordsForDataSourceResponse' {..} =+ Prelude.rnf keywords+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/ListNotifications.hs view
@@ -0,0 +1,190 @@+{-# 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.AuditManager.ListNotifications+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of all Audit Manager notifications.+module Amazonka.AuditManager.ListNotifications+ ( -- * Creating a Request+ ListNotifications (..),+ newListNotifications,++ -- * Request Lenses+ listNotifications_maxResults,+ listNotifications_nextToken,++ -- * Destructuring the Response+ ListNotificationsResponse (..),+ newListNotificationsResponse,++ -- * Response Lenses+ listNotificationsResponse_nextToken,+ listNotificationsResponse_notifications,+ listNotificationsResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newListNotifications' smart constructor.+data ListNotifications = ListNotifications'+ { -- | Represents the maximum number of results on a page or for an API request+ -- call.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNotifications' 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', 'listNotifications_maxResults' - Represents the maximum number of results on a page or for an API request+-- call.+--+-- 'nextToken', 'listNotifications_nextToken' - The pagination token that\'s used to fetch the next set of results.+newListNotifications ::+ ListNotifications+newListNotifications =+ ListNotifications'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | Represents the maximum number of results on a page or for an API request+-- call.+listNotifications_maxResults :: Lens.Lens' ListNotifications (Prelude.Maybe Prelude.Natural)+listNotifications_maxResults = Lens.lens (\ListNotifications' {maxResults} -> maxResults) (\s@ListNotifications' {} a -> s {maxResults = a} :: ListNotifications)++-- | The pagination token that\'s used to fetch the next set of results.+listNotifications_nextToken :: Lens.Lens' ListNotifications (Prelude.Maybe Prelude.Text)+listNotifications_nextToken = Lens.lens (\ListNotifications' {nextToken} -> nextToken) (\s@ListNotifications' {} a -> s {nextToken = a} :: ListNotifications)++instance Core.AWSRequest ListNotifications where+ type+ AWSResponse ListNotifications =+ ListNotificationsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListNotificationsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "notifications" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListNotifications where+ hashWithSalt _salt ListNotifications' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListNotifications where+ rnf ListNotifications' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListNotifications where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListNotifications where+ toPath = Prelude.const "/notifications"++instance Data.ToQuery ListNotifications where+ toQuery ListNotifications' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListNotificationsResponse' smart constructor.+data ListNotificationsResponse = ListNotificationsResponse'+ { -- | The pagination token that\'s used to fetch the next set of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The returned list of notifications.+ notifications :: Prelude.Maybe [Notification],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListNotificationsResponse' 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', 'listNotificationsResponse_nextToken' - The pagination token that\'s used to fetch the next set of results.+--+-- 'notifications', 'listNotificationsResponse_notifications' - The returned list of notifications.+--+-- 'httpStatus', 'listNotificationsResponse_httpStatus' - The response's http status code.+newListNotificationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListNotificationsResponse+newListNotificationsResponse pHttpStatus_ =+ ListNotificationsResponse'+ { nextToken =+ Prelude.Nothing,+ notifications = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The pagination token that\'s used to fetch the next set of results.+listNotificationsResponse_nextToken :: Lens.Lens' ListNotificationsResponse (Prelude.Maybe Prelude.Text)+listNotificationsResponse_nextToken = Lens.lens (\ListNotificationsResponse' {nextToken} -> nextToken) (\s@ListNotificationsResponse' {} a -> s {nextToken = a} :: ListNotificationsResponse)++-- | The returned list of notifications.+listNotificationsResponse_notifications :: Lens.Lens' ListNotificationsResponse (Prelude.Maybe [Notification])+listNotificationsResponse_notifications = Lens.lens (\ListNotificationsResponse' {notifications} -> notifications) (\s@ListNotificationsResponse' {} a -> s {notifications = a} :: ListNotificationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listNotificationsResponse_httpStatus :: Lens.Lens' ListNotificationsResponse Prelude.Int+listNotificationsResponse_httpStatus = Lens.lens (\ListNotificationsResponse' {httpStatus} -> httpStatus) (\s@ListNotificationsResponse' {} a -> s {httpStatus = a} :: ListNotificationsResponse)++instance Prelude.NFData ListNotificationsResponse where+ rnf ListNotificationsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf notifications+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/ListTagsForResource.hs view
@@ -0,0 +1,159 @@+{-# 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.AuditManager.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of tags for the specified resource in Audit Manager.+module Amazonka.AuditManager.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The Amazon Resource Name (ARN) of the resource.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' 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:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the resource.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath ListTagsForResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The list of tags that the @ListTagsForResource@ API returned.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' 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:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The list of tags that the @ListTagsForResource@ API returned.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The list of tags that the @ListTagsForResource@ API returned.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/RegisterAccount.hs view
@@ -0,0 +1,181 @@+{-# 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.AuditManager.RegisterAccount+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enables Audit Manager for the specified Amazon Web Services account.+module Amazonka.AuditManager.RegisterAccount+ ( -- * Creating a Request+ RegisterAccount (..),+ newRegisterAccount,++ -- * Request Lenses+ registerAccount_delegatedAdminAccount,+ registerAccount_kmsKey,++ -- * Destructuring the Response+ RegisterAccountResponse (..),+ newRegisterAccountResponse,++ -- * Response Lenses+ registerAccountResponse_status,+ registerAccountResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newRegisterAccount' smart constructor.+data RegisterAccount = RegisterAccount'+ { -- | The delegated administrator account for Audit Manager.+ delegatedAdminAccount :: Prelude.Maybe Prelude.Text,+ -- | The KMS key details.+ kmsKey :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterAccount' 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:+--+-- 'delegatedAdminAccount', 'registerAccount_delegatedAdminAccount' - The delegated administrator account for Audit Manager.+--+-- 'kmsKey', 'registerAccount_kmsKey' - The KMS key details.+newRegisterAccount ::+ RegisterAccount+newRegisterAccount =+ RegisterAccount'+ { delegatedAdminAccount =+ Prelude.Nothing,+ kmsKey = Prelude.Nothing+ }++-- | The delegated administrator account for Audit Manager.+registerAccount_delegatedAdminAccount :: Lens.Lens' RegisterAccount (Prelude.Maybe Prelude.Text)+registerAccount_delegatedAdminAccount = Lens.lens (\RegisterAccount' {delegatedAdminAccount} -> delegatedAdminAccount) (\s@RegisterAccount' {} a -> s {delegatedAdminAccount = a} :: RegisterAccount)++-- | The KMS key details.+registerAccount_kmsKey :: Lens.Lens' RegisterAccount (Prelude.Maybe Prelude.Text)+registerAccount_kmsKey = Lens.lens (\RegisterAccount' {kmsKey} -> kmsKey) (\s@RegisterAccount' {} a -> s {kmsKey = a} :: RegisterAccount)++instance Core.AWSRequest RegisterAccount where+ type+ AWSResponse RegisterAccount =+ RegisterAccountResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ RegisterAccountResponse'+ Prelude.<$> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable RegisterAccount where+ hashWithSalt _salt RegisterAccount' {..} =+ _salt+ `Prelude.hashWithSalt` delegatedAdminAccount+ `Prelude.hashWithSalt` kmsKey++instance Prelude.NFData RegisterAccount where+ rnf RegisterAccount' {..} =+ Prelude.rnf delegatedAdminAccount+ `Prelude.seq` Prelude.rnf kmsKey++instance Data.ToHeaders RegisterAccount where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON RegisterAccount where+ toJSON RegisterAccount' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("delegatedAdminAccount" Data..=)+ Prelude.<$> delegatedAdminAccount,+ ("kmsKey" Data..=) Prelude.<$> kmsKey+ ]+ )++instance Data.ToPath RegisterAccount where+ toPath = Prelude.const "/account/registerAccount"++instance Data.ToQuery RegisterAccount where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRegisterAccountResponse' smart constructor.+data RegisterAccountResponse = RegisterAccountResponse'+ { -- | The status of the account registration request.+ status :: Prelude.Maybe AccountStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterAccountResponse' 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:+--+-- 'status', 'registerAccountResponse_status' - The status of the account registration request.+--+-- 'httpStatus', 'registerAccountResponse_httpStatus' - The response's http status code.+newRegisterAccountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ RegisterAccountResponse+newRegisterAccountResponse pHttpStatus_ =+ RegisterAccountResponse'+ { status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The status of the account registration request.+registerAccountResponse_status :: Lens.Lens' RegisterAccountResponse (Prelude.Maybe AccountStatus)+registerAccountResponse_status = Lens.lens (\RegisterAccountResponse' {status} -> status) (\s@RegisterAccountResponse' {} a -> s {status = a} :: RegisterAccountResponse)++-- | The response's http status code.+registerAccountResponse_httpStatus :: Lens.Lens' RegisterAccountResponse Prelude.Int+registerAccountResponse_httpStatus = Lens.lens (\RegisterAccountResponse' {httpStatus} -> httpStatus) (\s@RegisterAccountResponse' {} a -> s {httpStatus = a} :: RegisterAccountResponse)++instance Prelude.NFData RegisterAccountResponse where+ rnf RegisterAccountResponse' {..} =+ Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/RegisterOrganizationAdminAccount.hs view
@@ -0,0 +1,206 @@+{-# 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.AuditManager.RegisterOrganizationAdminAccount+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enables an Amazon Web Services account within the organization as the+-- delegated administrator for Audit Manager.+module Amazonka.AuditManager.RegisterOrganizationAdminAccount+ ( -- * Creating a Request+ RegisterOrganizationAdminAccount (..),+ newRegisterOrganizationAdminAccount,++ -- * Request Lenses+ registerOrganizationAdminAccount_adminAccountId,++ -- * Destructuring the Response+ RegisterOrganizationAdminAccountResponse (..),+ newRegisterOrganizationAdminAccountResponse,++ -- * Response Lenses+ registerOrganizationAdminAccountResponse_adminAccountId,+ registerOrganizationAdminAccountResponse_organizationId,+ registerOrganizationAdminAccountResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newRegisterOrganizationAdminAccount' smart constructor.+data RegisterOrganizationAdminAccount = RegisterOrganizationAdminAccount'+ { -- | The identifier for the delegated administrator account.+ adminAccountId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterOrganizationAdminAccount' 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:+--+-- 'adminAccountId', 'registerOrganizationAdminAccount_adminAccountId' - The identifier for the delegated administrator account.+newRegisterOrganizationAdminAccount ::+ -- | 'adminAccountId'+ Prelude.Text ->+ RegisterOrganizationAdminAccount+newRegisterOrganizationAdminAccount pAdminAccountId_ =+ RegisterOrganizationAdminAccount'+ { adminAccountId =+ pAdminAccountId_+ }++-- | The identifier for the delegated administrator account.+registerOrganizationAdminAccount_adminAccountId :: Lens.Lens' RegisterOrganizationAdminAccount Prelude.Text+registerOrganizationAdminAccount_adminAccountId = Lens.lens (\RegisterOrganizationAdminAccount' {adminAccountId} -> adminAccountId) (\s@RegisterOrganizationAdminAccount' {} a -> s {adminAccountId = a} :: RegisterOrganizationAdminAccount)++instance+ Core.AWSRequest+ RegisterOrganizationAdminAccount+ where+ type+ AWSResponse RegisterOrganizationAdminAccount =+ RegisterOrganizationAdminAccountResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ RegisterOrganizationAdminAccountResponse'+ Prelude.<$> (x Data..?> "adminAccountId")+ Prelude.<*> (x Data..?> "organizationId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ RegisterOrganizationAdminAccount+ where+ hashWithSalt+ _salt+ RegisterOrganizationAdminAccount' {..} =+ _salt `Prelude.hashWithSalt` adminAccountId++instance+ Prelude.NFData+ RegisterOrganizationAdminAccount+ where+ rnf RegisterOrganizationAdminAccount' {..} =+ Prelude.rnf adminAccountId++instance+ Data.ToHeaders+ RegisterOrganizationAdminAccount+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON RegisterOrganizationAdminAccount where+ toJSON RegisterOrganizationAdminAccount' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("adminAccountId" Data..= adminAccountId)+ ]+ )++instance Data.ToPath RegisterOrganizationAdminAccount where+ toPath =+ Prelude.const+ "/account/registerOrganizationAdminAccount"++instance+ Data.ToQuery+ RegisterOrganizationAdminAccount+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRegisterOrganizationAdminAccountResponse' smart constructor.+data RegisterOrganizationAdminAccountResponse = RegisterOrganizationAdminAccountResponse'+ { -- | The identifier for the delegated administrator account.+ adminAccountId :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the organization.+ organizationId :: 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 'RegisterOrganizationAdminAccountResponse' 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:+--+-- 'adminAccountId', 'registerOrganizationAdminAccountResponse_adminAccountId' - The identifier for the delegated administrator account.+--+-- 'organizationId', 'registerOrganizationAdminAccountResponse_organizationId' - The identifier for the organization.+--+-- 'httpStatus', 'registerOrganizationAdminAccountResponse_httpStatus' - The response's http status code.+newRegisterOrganizationAdminAccountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ RegisterOrganizationAdminAccountResponse+newRegisterOrganizationAdminAccountResponse+ pHttpStatus_ =+ RegisterOrganizationAdminAccountResponse'+ { adminAccountId =+ Prelude.Nothing,+ organizationId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The identifier for the delegated administrator account.+registerOrganizationAdminAccountResponse_adminAccountId :: Lens.Lens' RegisterOrganizationAdminAccountResponse (Prelude.Maybe Prelude.Text)+registerOrganizationAdminAccountResponse_adminAccountId = Lens.lens (\RegisterOrganizationAdminAccountResponse' {adminAccountId} -> adminAccountId) (\s@RegisterOrganizationAdminAccountResponse' {} a -> s {adminAccountId = a} :: RegisterOrganizationAdminAccountResponse)++-- | The identifier for the organization.+registerOrganizationAdminAccountResponse_organizationId :: Lens.Lens' RegisterOrganizationAdminAccountResponse (Prelude.Maybe Prelude.Text)+registerOrganizationAdminAccountResponse_organizationId = Lens.lens (\RegisterOrganizationAdminAccountResponse' {organizationId} -> organizationId) (\s@RegisterOrganizationAdminAccountResponse' {} a -> s {organizationId = a} :: RegisterOrganizationAdminAccountResponse)++-- | The response's http status code.+registerOrganizationAdminAccountResponse_httpStatus :: Lens.Lens' RegisterOrganizationAdminAccountResponse Prelude.Int+registerOrganizationAdminAccountResponse_httpStatus = Lens.lens (\RegisterOrganizationAdminAccountResponse' {httpStatus} -> httpStatus) (\s@RegisterOrganizationAdminAccountResponse' {} a -> s {httpStatus = a} :: RegisterOrganizationAdminAccountResponse)++instance+ Prelude.NFData+ RegisterOrganizationAdminAccountResponse+ where+ rnf RegisterOrganizationAdminAccountResponse' {..} =+ Prelude.rnf adminAccountId+ `Prelude.seq` Prelude.rnf organizationId+ `Prelude.seq` Prelude.rnf httpStatus
@@ -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.AuditManager.StartAssessmentFrameworkShare+-- 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 share request for a custom framework in Audit Manager.+--+-- The share request specifies a recipient and notifies them that a custom+-- framework is available. Recipients have 120 days to accept or decline+-- the request. If no action is taken, the share request expires.+--+-- When you create a share request, Audit Manager stores a snapshot of your+-- custom framework in the US East (N. Virginia) Amazon Web Services+-- Region. Audit Manager also stores a backup of the same snapshot in the+-- US West (Oregon) Amazon Web Services Region.+--+-- Audit Manager deletes the snapshot and the backup snapshot when one of+-- the following events occurs:+--+-- - The sender revokes the share request.+--+-- - The recipient declines the share request.+--+-- - The recipient encounters an error and doesn\'t successfully accept+-- the share request.+--+-- - The share request expires before the recipient responds to the+-- request.+--+-- When a sender+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/framework-sharing.html#framework-sharing-resend resends a share request>,+-- the snapshot is replaced with an updated version that corresponds with+-- the latest version of the custom framework.+--+-- When a recipient accepts a share request, the snapshot is replicated+-- into their Amazon Web Services account under the Amazon Web Services+-- Region that was specified in the share request.+--+-- When you invoke the @StartAssessmentFrameworkShare@ API, you are about+-- to share a custom framework with another Amazon Web Services account.+-- You may not share a custom framework that is derived from a standard+-- framework if the standard framework is designated as not eligible for+-- sharing by Amazon Web Services, unless you have obtained permission to+-- do so from the owner of the standard framework. To learn more about+-- which standard frameworks are eligible for sharing, see+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/share-custom-framework-concepts-and-terminology.html#eligibility Framework sharing eligibility>+-- in the /Audit Manager User Guide/.+module Amazonka.AuditManager.StartAssessmentFrameworkShare+ ( -- * Creating a Request+ StartAssessmentFrameworkShare (..),+ newStartAssessmentFrameworkShare,++ -- * Request Lenses+ startAssessmentFrameworkShare_comment,+ startAssessmentFrameworkShare_frameworkId,+ startAssessmentFrameworkShare_destinationAccount,+ startAssessmentFrameworkShare_destinationRegion,++ -- * Destructuring the Response+ StartAssessmentFrameworkShareResponse (..),+ newStartAssessmentFrameworkShareResponse,++ -- * Response Lenses+ startAssessmentFrameworkShareResponse_assessmentFrameworkShareRequest,+ startAssessmentFrameworkShareResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newStartAssessmentFrameworkShare' smart constructor.+data StartAssessmentFrameworkShare = StartAssessmentFrameworkShare'+ { -- | An optional comment from the sender about the share request.+ comment :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the custom framework to be shared.+ frameworkId :: Prelude.Text,+ -- | The Amazon Web Services account of the recipient.+ destinationAccount :: Prelude.Text,+ -- | The Amazon Web Services Region of the recipient.+ destinationRegion :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartAssessmentFrameworkShare' 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:+--+-- 'comment', 'startAssessmentFrameworkShare_comment' - An optional comment from the sender about the share request.+--+-- 'frameworkId', 'startAssessmentFrameworkShare_frameworkId' - The unique identifier for the custom framework to be shared.+--+-- 'destinationAccount', 'startAssessmentFrameworkShare_destinationAccount' - The Amazon Web Services account of the recipient.+--+-- 'destinationRegion', 'startAssessmentFrameworkShare_destinationRegion' - The Amazon Web Services Region of the recipient.+newStartAssessmentFrameworkShare ::+ -- | 'frameworkId'+ Prelude.Text ->+ -- | 'destinationAccount'+ Prelude.Text ->+ -- | 'destinationRegion'+ Prelude.Text ->+ StartAssessmentFrameworkShare+newStartAssessmentFrameworkShare+ pFrameworkId_+ pDestinationAccount_+ pDestinationRegion_ =+ StartAssessmentFrameworkShare'+ { comment =+ Prelude.Nothing,+ frameworkId = pFrameworkId_,+ destinationAccount = pDestinationAccount_,+ destinationRegion = pDestinationRegion_+ }++-- | An optional comment from the sender about the share request.+startAssessmentFrameworkShare_comment :: Lens.Lens' StartAssessmentFrameworkShare (Prelude.Maybe Prelude.Text)+startAssessmentFrameworkShare_comment = Lens.lens (\StartAssessmentFrameworkShare' {comment} -> comment) (\s@StartAssessmentFrameworkShare' {} a -> s {comment = a} :: StartAssessmentFrameworkShare)++-- | The unique identifier for the custom framework to be shared.+startAssessmentFrameworkShare_frameworkId :: Lens.Lens' StartAssessmentFrameworkShare Prelude.Text+startAssessmentFrameworkShare_frameworkId = Lens.lens (\StartAssessmentFrameworkShare' {frameworkId} -> frameworkId) (\s@StartAssessmentFrameworkShare' {} a -> s {frameworkId = a} :: StartAssessmentFrameworkShare)++-- | The Amazon Web Services account of the recipient.+startAssessmentFrameworkShare_destinationAccount :: Lens.Lens' StartAssessmentFrameworkShare Prelude.Text+startAssessmentFrameworkShare_destinationAccount = Lens.lens (\StartAssessmentFrameworkShare' {destinationAccount} -> destinationAccount) (\s@StartAssessmentFrameworkShare' {} a -> s {destinationAccount = a} :: StartAssessmentFrameworkShare)++-- | The Amazon Web Services Region of the recipient.+startAssessmentFrameworkShare_destinationRegion :: Lens.Lens' StartAssessmentFrameworkShare Prelude.Text+startAssessmentFrameworkShare_destinationRegion = Lens.lens (\StartAssessmentFrameworkShare' {destinationRegion} -> destinationRegion) (\s@StartAssessmentFrameworkShare' {} a -> s {destinationRegion = a} :: StartAssessmentFrameworkShare)++instance+ Core.AWSRequest+ StartAssessmentFrameworkShare+ where+ type+ AWSResponse StartAssessmentFrameworkShare =+ StartAssessmentFrameworkShareResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartAssessmentFrameworkShareResponse'+ Prelude.<$> (x Data..?> "assessmentFrameworkShareRequest")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ StartAssessmentFrameworkShare+ where+ hashWithSalt _salt StartAssessmentFrameworkShare' {..} =+ _salt+ `Prelude.hashWithSalt` comment+ `Prelude.hashWithSalt` frameworkId+ `Prelude.hashWithSalt` destinationAccount+ `Prelude.hashWithSalt` destinationRegion++instance Prelude.NFData StartAssessmentFrameworkShare where+ rnf StartAssessmentFrameworkShare' {..} =+ Prelude.rnf comment+ `Prelude.seq` Prelude.rnf frameworkId+ `Prelude.seq` Prelude.rnf destinationAccount+ `Prelude.seq` Prelude.rnf destinationRegion++instance Data.ToHeaders StartAssessmentFrameworkShare where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StartAssessmentFrameworkShare where+ toJSON StartAssessmentFrameworkShare' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("comment" Data..=) Prelude.<$> comment,+ Prelude.Just+ ("destinationAccount" Data..= destinationAccount),+ Prelude.Just+ ("destinationRegion" Data..= destinationRegion)+ ]+ )++instance Data.ToPath StartAssessmentFrameworkShare where+ toPath StartAssessmentFrameworkShare' {..} =+ Prelude.mconcat+ [ "/assessmentFrameworks/",+ Data.toBS frameworkId,+ "/shareRequests"+ ]++instance Data.ToQuery StartAssessmentFrameworkShare where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartAssessmentFrameworkShareResponse' smart constructor.+data StartAssessmentFrameworkShareResponse = StartAssessmentFrameworkShareResponse'+ { -- | The share request that\'s created by the @StartAssessmentFrameworkShare@+ -- API.+ assessmentFrameworkShareRequest :: Prelude.Maybe AssessmentFrameworkShareRequest,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartAssessmentFrameworkShareResponse' 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:+--+-- 'assessmentFrameworkShareRequest', 'startAssessmentFrameworkShareResponse_assessmentFrameworkShareRequest' - The share request that\'s created by the @StartAssessmentFrameworkShare@+-- API.+--+-- 'httpStatus', 'startAssessmentFrameworkShareResponse_httpStatus' - The response's http status code.+newStartAssessmentFrameworkShareResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartAssessmentFrameworkShareResponse+newStartAssessmentFrameworkShareResponse pHttpStatus_ =+ StartAssessmentFrameworkShareResponse'+ { assessmentFrameworkShareRequest =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The share request that\'s created by the @StartAssessmentFrameworkShare@+-- API.+startAssessmentFrameworkShareResponse_assessmentFrameworkShareRequest :: Lens.Lens' StartAssessmentFrameworkShareResponse (Prelude.Maybe AssessmentFrameworkShareRequest)+startAssessmentFrameworkShareResponse_assessmentFrameworkShareRequest = Lens.lens (\StartAssessmentFrameworkShareResponse' {assessmentFrameworkShareRequest} -> assessmentFrameworkShareRequest) (\s@StartAssessmentFrameworkShareResponse' {} a -> s {assessmentFrameworkShareRequest = a} :: StartAssessmentFrameworkShareResponse)++-- | The response's http status code.+startAssessmentFrameworkShareResponse_httpStatus :: Lens.Lens' StartAssessmentFrameworkShareResponse Prelude.Int+startAssessmentFrameworkShareResponse_httpStatus = Lens.lens (\StartAssessmentFrameworkShareResponse' {httpStatus} -> httpStatus) (\s@StartAssessmentFrameworkShareResponse' {} a -> s {httpStatus = a} :: StartAssessmentFrameworkShareResponse)++instance+ Prelude.NFData+ StartAssessmentFrameworkShareResponse+ where+ rnf StartAssessmentFrameworkShareResponse' {..} =+ Prelude.rnf assessmentFrameworkShareRequest+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/TagResource.hs view
@@ -0,0 +1,163 @@+{-# 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.AuditManager.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Tags the specified resource in Audit Manager.+module Amazonka.AuditManager.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The Amazon Resource Name (ARN) of the resource.+ resourceArn :: Prelude.Text,+ -- | The tags that are associated with the resource.+ tags :: Prelude.HashMap Prelude.Text Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' 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:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'tags', 'tagResource_tags' - The tags that are associated with the resource.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the resource.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The tags that are associated with the resource.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ TagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("tags" Data..= tags)]+ )++instance Data.ToPath TagResource where+ toPath TagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' 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', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TagResourceResponse+newTagResourceResponse pHttpStatus_ =+ TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+ rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/Types.hs view
@@ -0,0 +1,808 @@+{-# 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.AuditManager.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.AuditManager.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _InternalServerException,+ _ResourceNotFoundException,+ _ServiceQuotaExceededException,+ _ThrottlingException,+ _ValidationException,++ -- * AccountStatus+ AccountStatus (..),++ -- * ActionEnum+ ActionEnum (..),++ -- * AssessmentReportDestinationType+ AssessmentReportDestinationType (..),++ -- * AssessmentReportStatus+ AssessmentReportStatus (..),++ -- * AssessmentStatus+ AssessmentStatus (..),++ -- * ControlResponse+ ControlResponse (..),++ -- * ControlSetStatus+ ControlSetStatus (..),++ -- * ControlStatus+ ControlStatus (..),++ -- * ControlType+ ControlType (..),++ -- * DelegationStatus+ DelegationStatus (..),++ -- * DeleteResources+ DeleteResources (..),++ -- * EvidenceFinderBackfillStatus+ EvidenceFinderBackfillStatus (..),++ -- * EvidenceFinderEnablementStatus+ EvidenceFinderEnablementStatus (..),++ -- * FrameworkType+ FrameworkType (..),++ -- * KeywordInputType+ KeywordInputType (..),++ -- * ObjectTypeEnum+ ObjectTypeEnum (..),++ -- * RoleType+ RoleType (..),++ -- * SettingAttribute+ SettingAttribute (..),++ -- * ShareRequestAction+ ShareRequestAction (..),++ -- * ShareRequestStatus+ ShareRequestStatus (..),++ -- * ShareRequestType+ ShareRequestType (..),++ -- * SourceFrequency+ SourceFrequency (..),++ -- * SourceSetUpOption+ SourceSetUpOption (..),++ -- * SourceType+ SourceType (..),++ -- * AWSAccount+ AWSAccount (..),+ newAWSAccount,+ aWSAccount_emailAddress,+ aWSAccount_id,+ aWSAccount_name,++ -- * AWSService+ AWSService (..),+ newAWSService,+ aWSService_serviceName,++ -- * Assessment+ Assessment (..),+ newAssessment,+ assessment_arn,+ assessment_awsAccount,+ assessment_framework,+ assessment_metadata,+ assessment_tags,++ -- * AssessmentControl+ AssessmentControl (..),+ newAssessmentControl,+ assessmentControl_assessmentReportEvidenceCount,+ assessmentControl_comments,+ assessmentControl_description,+ assessmentControl_evidenceCount,+ assessmentControl_evidenceSources,+ assessmentControl_id,+ assessmentControl_name,+ assessmentControl_response,+ assessmentControl_status,++ -- * AssessmentControlSet+ AssessmentControlSet (..),+ newAssessmentControlSet,+ assessmentControlSet_controls,+ assessmentControlSet_delegations,+ assessmentControlSet_description,+ assessmentControlSet_id,+ assessmentControlSet_manualEvidenceCount,+ assessmentControlSet_roles,+ assessmentControlSet_status,+ assessmentControlSet_systemEvidenceCount,++ -- * AssessmentEvidenceFolder+ AssessmentEvidenceFolder (..),+ newAssessmentEvidenceFolder,+ assessmentEvidenceFolder_assessmentId,+ assessmentEvidenceFolder_assessmentReportSelectionCount,+ assessmentEvidenceFolder_author,+ assessmentEvidenceFolder_controlId,+ assessmentEvidenceFolder_controlName,+ assessmentEvidenceFolder_controlSetId,+ assessmentEvidenceFolder_dataSource,+ assessmentEvidenceFolder_date,+ assessmentEvidenceFolder_evidenceAwsServiceSourceCount,+ assessmentEvidenceFolder_evidenceByTypeComplianceCheckCount,+ assessmentEvidenceFolder_evidenceByTypeComplianceCheckIssuesCount,+ assessmentEvidenceFolder_evidenceByTypeConfigurationDataCount,+ assessmentEvidenceFolder_evidenceByTypeManualCount,+ assessmentEvidenceFolder_evidenceByTypeUserActivityCount,+ assessmentEvidenceFolder_evidenceResourcesIncludedCount,+ assessmentEvidenceFolder_id,+ assessmentEvidenceFolder_name,+ assessmentEvidenceFolder_totalEvidence,++ -- * AssessmentFramework+ AssessmentFramework (..),+ newAssessmentFramework,+ assessmentFramework_arn,+ assessmentFramework_controlSets,+ assessmentFramework_id,+ assessmentFramework_metadata,++ -- * AssessmentFrameworkMetadata+ AssessmentFrameworkMetadata (..),+ newAssessmentFrameworkMetadata,+ assessmentFrameworkMetadata_arn,+ assessmentFrameworkMetadata_complianceType,+ assessmentFrameworkMetadata_controlSetsCount,+ assessmentFrameworkMetadata_controlsCount,+ assessmentFrameworkMetadata_createdAt,+ assessmentFrameworkMetadata_description,+ assessmentFrameworkMetadata_id,+ assessmentFrameworkMetadata_lastUpdatedAt,+ assessmentFrameworkMetadata_logo,+ assessmentFrameworkMetadata_name,+ assessmentFrameworkMetadata_type,++ -- * AssessmentFrameworkShareRequest+ AssessmentFrameworkShareRequest (..),+ newAssessmentFrameworkShareRequest,+ assessmentFrameworkShareRequest_comment,+ assessmentFrameworkShareRequest_complianceType,+ assessmentFrameworkShareRequest_creationTime,+ assessmentFrameworkShareRequest_customControlsCount,+ assessmentFrameworkShareRequest_destinationAccount,+ assessmentFrameworkShareRequest_destinationRegion,+ assessmentFrameworkShareRequest_expirationTime,+ assessmentFrameworkShareRequest_frameworkDescription,+ assessmentFrameworkShareRequest_frameworkId,+ assessmentFrameworkShareRequest_frameworkName,+ assessmentFrameworkShareRequest_id,+ assessmentFrameworkShareRequest_lastUpdated,+ assessmentFrameworkShareRequest_sourceAccount,+ assessmentFrameworkShareRequest_standardControlsCount,+ assessmentFrameworkShareRequest_status,++ -- * AssessmentMetadata+ AssessmentMetadata (..),+ newAssessmentMetadata,+ assessmentMetadata_assessmentReportsDestination,+ assessmentMetadata_complianceType,+ assessmentMetadata_creationTime,+ assessmentMetadata_delegations,+ assessmentMetadata_description,+ assessmentMetadata_id,+ assessmentMetadata_lastUpdated,+ assessmentMetadata_name,+ assessmentMetadata_roles,+ assessmentMetadata_scope,+ assessmentMetadata_status,++ -- * AssessmentMetadataItem+ AssessmentMetadataItem (..),+ newAssessmentMetadataItem,+ assessmentMetadataItem_complianceType,+ assessmentMetadataItem_creationTime,+ assessmentMetadataItem_delegations,+ assessmentMetadataItem_id,+ assessmentMetadataItem_lastUpdated,+ assessmentMetadataItem_name,+ assessmentMetadataItem_roles,+ assessmentMetadataItem_status,++ -- * AssessmentReport+ AssessmentReport (..),+ newAssessmentReport,+ assessmentReport_assessmentId,+ assessmentReport_assessmentName,+ assessmentReport_author,+ assessmentReport_awsAccountId,+ assessmentReport_creationTime,+ assessmentReport_description,+ assessmentReport_id,+ assessmentReport_name,+ assessmentReport_status,++ -- * AssessmentReportEvidenceError+ AssessmentReportEvidenceError (..),+ newAssessmentReportEvidenceError,+ assessmentReportEvidenceError_errorCode,+ assessmentReportEvidenceError_errorMessage,+ assessmentReportEvidenceError_evidenceId,++ -- * AssessmentReportMetadata+ AssessmentReportMetadata (..),+ newAssessmentReportMetadata,+ assessmentReportMetadata_assessmentId,+ assessmentReportMetadata_assessmentName,+ assessmentReportMetadata_author,+ assessmentReportMetadata_creationTime,+ assessmentReportMetadata_description,+ assessmentReportMetadata_id,+ assessmentReportMetadata_name,+ assessmentReportMetadata_status,++ -- * AssessmentReportsDestination+ AssessmentReportsDestination (..),+ newAssessmentReportsDestination,+ assessmentReportsDestination_destination,+ assessmentReportsDestination_destinationType,++ -- * BatchCreateDelegationByAssessmentError+ BatchCreateDelegationByAssessmentError (..),+ newBatchCreateDelegationByAssessmentError,+ batchCreateDelegationByAssessmentError_createDelegationRequest,+ batchCreateDelegationByAssessmentError_errorCode,+ batchCreateDelegationByAssessmentError_errorMessage,++ -- * BatchDeleteDelegationByAssessmentError+ BatchDeleteDelegationByAssessmentError (..),+ newBatchDeleteDelegationByAssessmentError,+ batchDeleteDelegationByAssessmentError_delegationId,+ batchDeleteDelegationByAssessmentError_errorCode,+ batchDeleteDelegationByAssessmentError_errorMessage,++ -- * BatchImportEvidenceToAssessmentControlError+ BatchImportEvidenceToAssessmentControlError (..),+ newBatchImportEvidenceToAssessmentControlError,+ batchImportEvidenceToAssessmentControlError_errorCode,+ batchImportEvidenceToAssessmentControlError_errorMessage,+ batchImportEvidenceToAssessmentControlError_manualEvidence,++ -- * ChangeLog+ ChangeLog (..),+ newChangeLog,+ changeLog_action,+ changeLog_createdAt,+ changeLog_createdBy,+ changeLog_objectName,+ changeLog_objectType,++ -- * Control+ Control (..),+ newControl,+ control_actionPlanInstructions,+ control_actionPlanTitle,+ control_arn,+ control_controlMappingSources,+ control_controlSources,+ control_createdAt,+ control_createdBy,+ control_description,+ control_id,+ control_lastUpdatedAt,+ control_lastUpdatedBy,+ control_name,+ control_tags,+ control_testingInformation,+ control_type,++ -- * ControlComment+ ControlComment (..),+ newControlComment,+ controlComment_authorName,+ controlComment_commentBody,+ controlComment_postedDate,++ -- * ControlDomainInsights+ ControlDomainInsights (..),+ newControlDomainInsights,+ controlDomainInsights_controlsCountByNoncompliantEvidence,+ controlDomainInsights_evidenceInsights,+ controlDomainInsights_id,+ controlDomainInsights_lastUpdated,+ controlDomainInsights_name,+ controlDomainInsights_totalControlsCount,++ -- * ControlInsightsMetadataByAssessmentItem+ ControlInsightsMetadataByAssessmentItem (..),+ newControlInsightsMetadataByAssessmentItem,+ controlInsightsMetadataByAssessmentItem_controlSetName,+ controlInsightsMetadataByAssessmentItem_evidenceInsights,+ controlInsightsMetadataByAssessmentItem_id,+ controlInsightsMetadataByAssessmentItem_lastUpdated,+ controlInsightsMetadataByAssessmentItem_name,++ -- * ControlInsightsMetadataItem+ ControlInsightsMetadataItem (..),+ newControlInsightsMetadataItem,+ controlInsightsMetadataItem_evidenceInsights,+ controlInsightsMetadataItem_id,+ controlInsightsMetadataItem_lastUpdated,+ controlInsightsMetadataItem_name,++ -- * ControlMappingSource+ ControlMappingSource (..),+ newControlMappingSource,+ controlMappingSource_sourceDescription,+ controlMappingSource_sourceFrequency,+ controlMappingSource_sourceId,+ controlMappingSource_sourceKeyword,+ controlMappingSource_sourceName,+ controlMappingSource_sourceSetUpOption,+ controlMappingSource_sourceType,+ controlMappingSource_troubleshootingText,++ -- * ControlMetadata+ ControlMetadata (..),+ newControlMetadata,+ controlMetadata_arn,+ controlMetadata_controlSources,+ controlMetadata_createdAt,+ controlMetadata_id,+ controlMetadata_lastUpdatedAt,+ controlMetadata_name,++ -- * ControlSet+ ControlSet (..),+ newControlSet,+ controlSet_controls,+ controlSet_id,+ controlSet_name,++ -- * CreateAssessmentFrameworkControl+ CreateAssessmentFrameworkControl (..),+ newCreateAssessmentFrameworkControl,+ createAssessmentFrameworkControl_id,++ -- * CreateAssessmentFrameworkControlSet+ CreateAssessmentFrameworkControlSet (..),+ newCreateAssessmentFrameworkControlSet,+ createAssessmentFrameworkControlSet_controls,+ createAssessmentFrameworkControlSet_name,++ -- * CreateControlMappingSource+ CreateControlMappingSource (..),+ newCreateControlMappingSource,+ createControlMappingSource_sourceDescription,+ createControlMappingSource_sourceFrequency,+ createControlMappingSource_sourceKeyword,+ createControlMappingSource_sourceName,+ createControlMappingSource_sourceSetUpOption,+ createControlMappingSource_sourceType,+ createControlMappingSource_troubleshootingText,++ -- * CreateDelegationRequest+ CreateDelegationRequest (..),+ newCreateDelegationRequest,+ createDelegationRequest_comment,+ createDelegationRequest_controlSetId,+ createDelegationRequest_roleArn,+ createDelegationRequest_roleType,++ -- * Delegation+ Delegation (..),+ newDelegation,+ delegation_assessmentId,+ delegation_assessmentName,+ delegation_comment,+ delegation_controlSetId,+ delegation_createdBy,+ delegation_creationTime,+ delegation_id,+ delegation_lastUpdated,+ delegation_roleArn,+ delegation_roleType,+ delegation_status,++ -- * DelegationMetadata+ DelegationMetadata (..),+ newDelegationMetadata,+ delegationMetadata_assessmentId,+ delegationMetadata_assessmentName,+ delegationMetadata_controlSetName,+ delegationMetadata_creationTime,+ delegationMetadata_id,+ delegationMetadata_roleArn,+ delegationMetadata_status,++ -- * DeregistrationPolicy+ DeregistrationPolicy (..),+ newDeregistrationPolicy,+ deregistrationPolicy_deleteResources,++ -- * Evidence+ Evidence (..),+ newEvidence,+ evidence_assessmentReportSelection,+ evidence_attributes,+ evidence_awsAccountId,+ evidence_awsOrganization,+ evidence_complianceCheck,+ evidence_dataSource,+ evidence_eventName,+ evidence_eventSource,+ evidence_evidenceAwsAccountId,+ evidence_evidenceByType,+ evidence_evidenceFolderId,+ evidence_iamId,+ evidence_id,+ evidence_resourcesIncluded,+ evidence_time,++ -- * EvidenceFinderEnablement+ EvidenceFinderEnablement (..),+ newEvidenceFinderEnablement,+ evidenceFinderEnablement_backfillStatus,+ evidenceFinderEnablement_enablementStatus,+ evidenceFinderEnablement_error,+ evidenceFinderEnablement_eventDataStoreArn,++ -- * EvidenceInsights+ EvidenceInsights (..),+ newEvidenceInsights,+ evidenceInsights_compliantEvidenceCount,+ evidenceInsights_inconclusiveEvidenceCount,+ evidenceInsights_noncompliantEvidenceCount,++ -- * Framework+ Framework (..),+ newFramework,+ framework_arn,+ framework_complianceType,+ framework_controlSets,+ framework_controlSources,+ framework_createdAt,+ framework_createdBy,+ framework_description,+ framework_id,+ framework_lastUpdatedAt,+ framework_lastUpdatedBy,+ framework_logo,+ framework_name,+ framework_tags,+ framework_type,++ -- * FrameworkMetadata+ FrameworkMetadata (..),+ newFrameworkMetadata,+ frameworkMetadata_complianceType,+ frameworkMetadata_description,+ frameworkMetadata_logo,+ frameworkMetadata_name,++ -- * Insights+ Insights (..),+ newInsights,+ insights_activeAssessmentsCount,+ insights_assessmentControlsCountByNoncompliantEvidence,+ insights_compliantEvidenceCount,+ insights_inconclusiveEvidenceCount,+ insights_lastUpdated,+ insights_noncompliantEvidenceCount,+ insights_totalAssessmentControlsCount,++ -- * InsightsByAssessment+ InsightsByAssessment (..),+ newInsightsByAssessment,+ insightsByAssessment_assessmentControlsCountByNoncompliantEvidence,+ insightsByAssessment_compliantEvidenceCount,+ insightsByAssessment_inconclusiveEvidenceCount,+ insightsByAssessment_lastUpdated,+ insightsByAssessment_noncompliantEvidenceCount,+ insightsByAssessment_totalAssessmentControlsCount,++ -- * ManualEvidence+ ManualEvidence (..),+ newManualEvidence,+ manualEvidence_s3ResourcePath,++ -- * Notification+ Notification (..),+ newNotification,+ notification_assessmentId,+ notification_assessmentName,+ notification_controlSetId,+ notification_controlSetName,+ notification_description,+ notification_eventTime,+ notification_id,+ notification_source,++ -- * Resource+ Resource (..),+ newResource,+ resource_arn,+ resource_complianceCheck,+ resource_value,++ -- * Role+ Role (..),+ newRole,+ role_roleType,+ role_roleArn,++ -- * Scope+ Scope (..),+ newScope,+ scope_awsAccounts,+ scope_awsServices,++ -- * ServiceMetadata+ ServiceMetadata (..),+ newServiceMetadata,+ serviceMetadata_category,+ serviceMetadata_description,+ serviceMetadata_displayName,+ serviceMetadata_name,++ -- * Settings+ Settings (..),+ newSettings,+ settings_defaultAssessmentReportsDestination,+ settings_defaultProcessOwners,+ settings_deregistrationPolicy,+ settings_evidenceFinderEnablement,+ settings_isAwsOrgEnabled,+ settings_kmsKey,+ settings_snsTopic,++ -- * SourceKeyword+ SourceKeyword (..),+ newSourceKeyword,+ sourceKeyword_keywordInputType,+ sourceKeyword_keywordValue,++ -- * URL+ URL (..),+ newURL,+ url_hyperlinkName,+ url_link,++ -- * UpdateAssessmentFrameworkControlSet+ UpdateAssessmentFrameworkControlSet (..),+ newUpdateAssessmentFrameworkControlSet,+ updateAssessmentFrameworkControlSet_id,+ updateAssessmentFrameworkControlSet_name,+ updateAssessmentFrameworkControlSet_controls,+ )+where++import Amazonka.AuditManager.Types.AWSAccount+import Amazonka.AuditManager.Types.AWSService+import Amazonka.AuditManager.Types.AccountStatus+import Amazonka.AuditManager.Types.ActionEnum+import Amazonka.AuditManager.Types.Assessment+import Amazonka.AuditManager.Types.AssessmentControl+import Amazonka.AuditManager.Types.AssessmentControlSet+import Amazonka.AuditManager.Types.AssessmentEvidenceFolder+import Amazonka.AuditManager.Types.AssessmentFramework+import Amazonka.AuditManager.Types.AssessmentFrameworkMetadata+import Amazonka.AuditManager.Types.AssessmentFrameworkShareRequest+import Amazonka.AuditManager.Types.AssessmentMetadata+import Amazonka.AuditManager.Types.AssessmentMetadataItem+import Amazonka.AuditManager.Types.AssessmentReport+import Amazonka.AuditManager.Types.AssessmentReportDestinationType+import Amazonka.AuditManager.Types.AssessmentReportEvidenceError+import Amazonka.AuditManager.Types.AssessmentReportMetadata+import Amazonka.AuditManager.Types.AssessmentReportStatus+import Amazonka.AuditManager.Types.AssessmentReportsDestination+import Amazonka.AuditManager.Types.AssessmentStatus+import Amazonka.AuditManager.Types.BatchCreateDelegationByAssessmentError+import Amazonka.AuditManager.Types.BatchDeleteDelegationByAssessmentError+import Amazonka.AuditManager.Types.BatchImportEvidenceToAssessmentControlError+import Amazonka.AuditManager.Types.ChangeLog+import Amazonka.AuditManager.Types.Control+import Amazonka.AuditManager.Types.ControlComment+import Amazonka.AuditManager.Types.ControlDomainInsights+import Amazonka.AuditManager.Types.ControlInsightsMetadataByAssessmentItem+import Amazonka.AuditManager.Types.ControlInsightsMetadataItem+import Amazonka.AuditManager.Types.ControlMappingSource+import Amazonka.AuditManager.Types.ControlMetadata+import Amazonka.AuditManager.Types.ControlResponse+import Amazonka.AuditManager.Types.ControlSet+import Amazonka.AuditManager.Types.ControlSetStatus+import Amazonka.AuditManager.Types.ControlStatus+import Amazonka.AuditManager.Types.ControlType+import Amazonka.AuditManager.Types.CreateAssessmentFrameworkControl+import Amazonka.AuditManager.Types.CreateAssessmentFrameworkControlSet+import Amazonka.AuditManager.Types.CreateControlMappingSource+import Amazonka.AuditManager.Types.CreateDelegationRequest+import Amazonka.AuditManager.Types.Delegation+import Amazonka.AuditManager.Types.DelegationMetadata+import Amazonka.AuditManager.Types.DelegationStatus+import Amazonka.AuditManager.Types.DeleteResources+import Amazonka.AuditManager.Types.DeregistrationPolicy+import Amazonka.AuditManager.Types.Evidence+import Amazonka.AuditManager.Types.EvidenceFinderBackfillStatus+import Amazonka.AuditManager.Types.EvidenceFinderEnablement+import Amazonka.AuditManager.Types.EvidenceFinderEnablementStatus+import Amazonka.AuditManager.Types.EvidenceInsights+import Amazonka.AuditManager.Types.Framework+import Amazonka.AuditManager.Types.FrameworkMetadata+import Amazonka.AuditManager.Types.FrameworkType+import Amazonka.AuditManager.Types.Insights+import Amazonka.AuditManager.Types.InsightsByAssessment+import Amazonka.AuditManager.Types.KeywordInputType+import Amazonka.AuditManager.Types.ManualEvidence+import Amazonka.AuditManager.Types.Notification+import Amazonka.AuditManager.Types.ObjectTypeEnum+import Amazonka.AuditManager.Types.Resource+import Amazonka.AuditManager.Types.Role+import Amazonka.AuditManager.Types.RoleType+import Amazonka.AuditManager.Types.Scope+import Amazonka.AuditManager.Types.ServiceMetadata+import Amazonka.AuditManager.Types.SettingAttribute+import Amazonka.AuditManager.Types.Settings+import Amazonka.AuditManager.Types.ShareRequestAction+import Amazonka.AuditManager.Types.ShareRequestStatus+import Amazonka.AuditManager.Types.ShareRequestType+import Amazonka.AuditManager.Types.SourceFrequency+import Amazonka.AuditManager.Types.SourceKeyword+import Amazonka.AuditManager.Types.SourceSetUpOption+import Amazonka.AuditManager.Types.SourceType+import Amazonka.AuditManager.Types.URL+import Amazonka.AuditManager.Types.UpdateAssessmentFrameworkControlSet+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2017-07-25@ of the Amazon Audit Manager SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "AuditManager",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "auditmanager",+ Core.signingName = "auditmanager",+ Core.version = "2017-07-25",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "AuditManager",+ 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++-- | Your account isn\'t registered with Audit Manager. Check the delegated+-- administrator setup on the Audit Manager settings page, and try again.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"+ Prelude.. Core.hasStatus 403++-- | An internal service error occurred during the processing of your+-- request. Try again later.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"+ Prelude.. Core.hasStatus 500++-- | The resource that\'s specified in the request can\'t be found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | You\'ve reached your account quota for this resource type. To perform+-- the requested action, delete some existing resources or+-- <https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html request a quota increase>+-- from the Service Quotas console. For a list of Audit Manager service+-- quotas, see+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/service-quotas.html Quotas and restrictions for Audit Manager>.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceQuotaExceededException"+ Prelude.. Core.hasStatus 402++-- | The request was denied due to request throttling.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"+ Prelude.. Core.hasStatus 400++-- | The request has invalid or missing parameters.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/AuditManager/Types/AWSAccount.hs view
@@ -0,0 +1,110 @@+{-# 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.AuditManager.Types.AWSAccount+-- 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.AuditManager.Types.AWSAccount 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++-- | The wrapper of Amazon Web Services account details, such as account ID+-- or email address.+--+-- /See:/ 'newAWSAccount' smart constructor.+data AWSAccount = AWSAccount'+ { -- | The email address that\'s associated with the Amazon Web Services+ -- account.+ emailAddress :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the Amazon Web Services account.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the Amazon Web Services account.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AWSAccount' 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:+--+-- 'emailAddress', 'aWSAccount_emailAddress' - The email address that\'s associated with the Amazon Web Services+-- account.+--+-- 'id', 'aWSAccount_id' - The identifier for the Amazon Web Services account.+--+-- 'name', 'aWSAccount_name' - The name of the Amazon Web Services account.+newAWSAccount ::+ AWSAccount+newAWSAccount =+ AWSAccount'+ { emailAddress = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The email address that\'s associated with the Amazon Web Services+-- account.+aWSAccount_emailAddress :: Lens.Lens' AWSAccount (Prelude.Maybe Prelude.Text)+aWSAccount_emailAddress = Lens.lens (\AWSAccount' {emailAddress} -> emailAddress) (\s@AWSAccount' {} a -> s {emailAddress = a} :: AWSAccount)++-- | The identifier for the Amazon Web Services account.+aWSAccount_id :: Lens.Lens' AWSAccount (Prelude.Maybe Prelude.Text)+aWSAccount_id = Lens.lens (\AWSAccount' {id} -> id) (\s@AWSAccount' {} a -> s {id = a} :: AWSAccount)++-- | The name of the Amazon Web Services account.+aWSAccount_name :: Lens.Lens' AWSAccount (Prelude.Maybe Prelude.Text)+aWSAccount_name = Lens.lens (\AWSAccount' {name} -> name) (\s@AWSAccount' {} a -> s {name = a} :: AWSAccount)++instance Data.FromJSON AWSAccount where+ parseJSON =+ Data.withObject+ "AWSAccount"+ ( \x ->+ AWSAccount'+ Prelude.<$> (x Data..:? "emailAddress")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ )++instance Prelude.Hashable AWSAccount where+ hashWithSalt _salt AWSAccount' {..} =+ _salt+ `Prelude.hashWithSalt` emailAddress+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name++instance Prelude.NFData AWSAccount where+ rnf AWSAccount' {..} =+ Prelude.rnf emailAddress+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name++instance Data.ToJSON AWSAccount where+ toJSON AWSAccount' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("emailAddress" Data..=) Prelude.<$> emailAddress,+ ("id" Data..=) Prelude.<$> id,+ ("name" Data..=) Prelude.<$> name+ ]+ )
+ gen/Amazonka/AuditManager/Types/AWSService.hs view
@@ -0,0 +1,74 @@+{-# 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.AuditManager.Types.AWSService+-- 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.AuditManager.Types.AWSService 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++-- | An Amazon Web Service such as Amazon S3 or CloudTrail.+--+-- /See:/ 'newAWSService' smart constructor.+data AWSService = AWSService'+ { -- | The name of the Amazon Web Service.+ serviceName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AWSService' 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:+--+-- 'serviceName', 'aWSService_serviceName' - The name of the Amazon Web Service.+newAWSService ::+ AWSService+newAWSService =+ AWSService' {serviceName = Prelude.Nothing}++-- | The name of the Amazon Web Service.+aWSService_serviceName :: Lens.Lens' AWSService (Prelude.Maybe Prelude.Text)+aWSService_serviceName = Lens.lens (\AWSService' {serviceName} -> serviceName) (\s@AWSService' {} a -> s {serviceName = a} :: AWSService)++instance Data.FromJSON AWSService where+ parseJSON =+ Data.withObject+ "AWSService"+ ( \x ->+ AWSService' Prelude.<$> (x Data..:? "serviceName")+ )++instance Prelude.Hashable AWSService where+ hashWithSalt _salt AWSService' {..} =+ _salt `Prelude.hashWithSalt` serviceName++instance Prelude.NFData AWSService where+ rnf AWSService' {..} = Prelude.rnf serviceName++instance Data.ToJSON AWSService where+ toJSON AWSService' {..} =+ Data.object+ ( Prelude.catMaybes+ [("serviceName" Data..=) Prelude.<$> serviceName]+ )
+ gen/Amazonka/AuditManager/Types/AccountStatus.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.AuditManager.Types.AccountStatus+-- 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.AuditManager.Types.AccountStatus+ ( AccountStatus+ ( ..,+ AccountStatus_ACTIVE,+ AccountStatus_INACTIVE,+ AccountStatus_PENDING_ACTIVATION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AccountStatus = AccountStatus'+ { fromAccountStatus ::+ 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 AccountStatus_ACTIVE :: AccountStatus+pattern AccountStatus_ACTIVE = AccountStatus' "ACTIVE"++pattern AccountStatus_INACTIVE :: AccountStatus+pattern AccountStatus_INACTIVE = AccountStatus' "INACTIVE"++pattern AccountStatus_PENDING_ACTIVATION :: AccountStatus+pattern AccountStatus_PENDING_ACTIVATION = AccountStatus' "PENDING_ACTIVATION"++{-# COMPLETE+ AccountStatus_ACTIVE,+ AccountStatus_INACTIVE,+ AccountStatus_PENDING_ACTIVATION,+ AccountStatus'+ #-}
+ gen/Amazonka/AuditManager/Types/ActionEnum.hs view
@@ -0,0 +1,101 @@+{-# 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.AuditManager.Types.ActionEnum+-- 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.AuditManager.Types.ActionEnum+ ( ActionEnum+ ( ..,+ ActionEnum_ACTIVE,+ ActionEnum_CREATE,+ ActionEnum_DELETE,+ ActionEnum_IMPORT_EVIDENCE,+ ActionEnum_INACTIVE,+ ActionEnum_REVIEWED,+ ActionEnum_UNDER_REVIEW,+ ActionEnum_UPDATE_METADATA+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ActionEnum = ActionEnum'+ { fromActionEnum ::+ 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 ActionEnum_ACTIVE :: ActionEnum+pattern ActionEnum_ACTIVE = ActionEnum' "ACTIVE"++pattern ActionEnum_CREATE :: ActionEnum+pattern ActionEnum_CREATE = ActionEnum' "CREATE"++pattern ActionEnum_DELETE :: ActionEnum+pattern ActionEnum_DELETE = ActionEnum' "DELETE"++pattern ActionEnum_IMPORT_EVIDENCE :: ActionEnum+pattern ActionEnum_IMPORT_EVIDENCE = ActionEnum' "IMPORT_EVIDENCE"++pattern ActionEnum_INACTIVE :: ActionEnum+pattern ActionEnum_INACTIVE = ActionEnum' "INACTIVE"++pattern ActionEnum_REVIEWED :: ActionEnum+pattern ActionEnum_REVIEWED = ActionEnum' "REVIEWED"++pattern ActionEnum_UNDER_REVIEW :: ActionEnum+pattern ActionEnum_UNDER_REVIEW = ActionEnum' "UNDER_REVIEW"++pattern ActionEnum_UPDATE_METADATA :: ActionEnum+pattern ActionEnum_UPDATE_METADATA = ActionEnum' "UPDATE_METADATA"++{-# COMPLETE+ ActionEnum_ACTIVE,+ ActionEnum_CREATE,+ ActionEnum_DELETE,+ ActionEnum_IMPORT_EVIDENCE,+ ActionEnum_INACTIVE,+ ActionEnum_REVIEWED,+ ActionEnum_UNDER_REVIEW,+ ActionEnum_UPDATE_METADATA,+ ActionEnum'+ #-}
+ gen/Amazonka/AuditManager/Types/Assessment.hs view
@@ -0,0 +1,125 @@+{-# 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.AuditManager.Types.Assessment+-- 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.AuditManager.Types.Assessment where++import Amazonka.AuditManager.Types.AWSAccount+import Amazonka.AuditManager.Types.AssessmentFramework+import Amazonka.AuditManager.Types.AssessmentMetadata+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++-- | An entity that defines the scope of audit evidence collected by Audit+-- Manager. An Audit Manager assessment is an implementation of an Audit+-- Manager framework.+--+-- /See:/ 'newAssessment' smart constructor.+data Assessment = Assessment'+ { -- | The Amazon Resource Name (ARN) of the assessment.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services account that\'s associated with the assessment.+ awsAccount :: Prelude.Maybe AWSAccount,+ -- | The framework that the assessment was created from.+ framework :: Prelude.Maybe AssessmentFramework,+ -- | The metadata for the assessment.+ metadata :: Prelude.Maybe AssessmentMetadata,+ -- | The tags that are associated with the assessment.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Assessment' 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:+--+-- 'arn', 'assessment_arn' - The Amazon Resource Name (ARN) of the assessment.+--+-- 'awsAccount', 'assessment_awsAccount' - The Amazon Web Services account that\'s associated with the assessment.+--+-- 'framework', 'assessment_framework' - The framework that the assessment was created from.+--+-- 'metadata', 'assessment_metadata' - The metadata for the assessment.+--+-- 'tags', 'assessment_tags' - The tags that are associated with the assessment.+newAssessment ::+ Assessment+newAssessment =+ Assessment'+ { arn = Prelude.Nothing,+ awsAccount = Prelude.Nothing,+ framework = Prelude.Nothing,+ metadata = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the assessment.+assessment_arn :: Lens.Lens' Assessment (Prelude.Maybe Prelude.Text)+assessment_arn = Lens.lens (\Assessment' {arn} -> arn) (\s@Assessment' {} a -> s {arn = a} :: Assessment)++-- | The Amazon Web Services account that\'s associated with the assessment.+assessment_awsAccount :: Lens.Lens' Assessment (Prelude.Maybe AWSAccount)+assessment_awsAccount = Lens.lens (\Assessment' {awsAccount} -> awsAccount) (\s@Assessment' {} a -> s {awsAccount = a} :: Assessment)++-- | The framework that the assessment was created from.+assessment_framework :: Lens.Lens' Assessment (Prelude.Maybe AssessmentFramework)+assessment_framework = Lens.lens (\Assessment' {framework} -> framework) (\s@Assessment' {} a -> s {framework = a} :: Assessment)++-- | The metadata for the assessment.+assessment_metadata :: Lens.Lens' Assessment (Prelude.Maybe AssessmentMetadata)+assessment_metadata = Lens.lens (\Assessment' {metadata} -> metadata) (\s@Assessment' {} a -> s {metadata = a} :: Assessment)++-- | The tags that are associated with the assessment.+assessment_tags :: Lens.Lens' Assessment (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+assessment_tags = Lens.lens (\Assessment' {tags} -> tags) (\s@Assessment' {} a -> s {tags = a} :: Assessment) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Assessment where+ parseJSON =+ Data.withObject+ "Assessment"+ ( \x ->+ Assessment'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "awsAccount")+ Prelude.<*> (x Data..:? "framework")+ Prelude.<*> (x Data..:? "metadata")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable Assessment where+ hashWithSalt _salt Assessment' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` awsAccount+ `Prelude.hashWithSalt` framework+ `Prelude.hashWithSalt` metadata+ `Prelude.hashWithSalt` tags++instance Prelude.NFData Assessment where+ rnf Assessment' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf awsAccount+ `Prelude.seq` Prelude.rnf framework+ `Prelude.seq` Prelude.rnf metadata+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/AuditManager/Types/AssessmentControl.hs view
@@ -0,0 +1,176 @@+{-# 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.AuditManager.Types.AssessmentControl+-- 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.AuditManager.Types.AssessmentControl where++import Amazonka.AuditManager.Types.ControlComment+import Amazonka.AuditManager.Types.ControlResponse+import Amazonka.AuditManager.Types.ControlStatus+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++-- | The control entity that represents a standard control or a custom+-- control in an Audit Manager assessment.+--+-- /See:/ 'newAssessmentControl' smart constructor.+data AssessmentControl = AssessmentControl'+ { -- | The amount of evidence in the assessment report.+ assessmentReportEvidenceCount :: Prelude.Maybe Prelude.Int,+ -- | The list of comments that\'s attached to the control.+ comments :: Prelude.Maybe [ControlComment],+ -- | The description of the control.+ description :: Prelude.Maybe Prelude.Text,+ -- | The amount of evidence that\'s collected for the control.+ evidenceCount :: Prelude.Maybe Prelude.Int,+ -- | The list of data sources for the evidence.+ evidenceSources :: Prelude.Maybe [Prelude.Text],+ -- | The identifier for the control.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the control.+ name :: Prelude.Maybe Prelude.Text,+ -- | The response of the control.+ response :: Prelude.Maybe ControlResponse,+ -- | The status of the control.+ status :: Prelude.Maybe ControlStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssessmentControl' 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:+--+-- 'assessmentReportEvidenceCount', 'assessmentControl_assessmentReportEvidenceCount' - The amount of evidence in the assessment report.+--+-- 'comments', 'assessmentControl_comments' - The list of comments that\'s attached to the control.+--+-- 'description', 'assessmentControl_description' - The description of the control.+--+-- 'evidenceCount', 'assessmentControl_evidenceCount' - The amount of evidence that\'s collected for the control.+--+-- 'evidenceSources', 'assessmentControl_evidenceSources' - The list of data sources for the evidence.+--+-- 'id', 'assessmentControl_id' - The identifier for the control.+--+-- 'name', 'assessmentControl_name' - The name of the control.+--+-- 'response', 'assessmentControl_response' - The response of the control.+--+-- 'status', 'assessmentControl_status' - The status of the control.+newAssessmentControl ::+ AssessmentControl+newAssessmentControl =+ AssessmentControl'+ { assessmentReportEvidenceCount =+ Prelude.Nothing,+ comments = Prelude.Nothing,+ description = Prelude.Nothing,+ evidenceCount = Prelude.Nothing,+ evidenceSources = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ response = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The amount of evidence in the assessment report.+assessmentControl_assessmentReportEvidenceCount :: Lens.Lens' AssessmentControl (Prelude.Maybe Prelude.Int)+assessmentControl_assessmentReportEvidenceCount = Lens.lens (\AssessmentControl' {assessmentReportEvidenceCount} -> assessmentReportEvidenceCount) (\s@AssessmentControl' {} a -> s {assessmentReportEvidenceCount = a} :: AssessmentControl)++-- | The list of comments that\'s attached to the control.+assessmentControl_comments :: Lens.Lens' AssessmentControl (Prelude.Maybe [ControlComment])+assessmentControl_comments = Lens.lens (\AssessmentControl' {comments} -> comments) (\s@AssessmentControl' {} a -> s {comments = a} :: AssessmentControl) Prelude.. Lens.mapping Lens.coerced++-- | The description of the control.+assessmentControl_description :: Lens.Lens' AssessmentControl (Prelude.Maybe Prelude.Text)+assessmentControl_description = Lens.lens (\AssessmentControl' {description} -> description) (\s@AssessmentControl' {} a -> s {description = a} :: AssessmentControl)++-- | The amount of evidence that\'s collected for the control.+assessmentControl_evidenceCount :: Lens.Lens' AssessmentControl (Prelude.Maybe Prelude.Int)+assessmentControl_evidenceCount = Lens.lens (\AssessmentControl' {evidenceCount} -> evidenceCount) (\s@AssessmentControl' {} a -> s {evidenceCount = a} :: AssessmentControl)++-- | The list of data sources for the evidence.+assessmentControl_evidenceSources :: Lens.Lens' AssessmentControl (Prelude.Maybe [Prelude.Text])+assessmentControl_evidenceSources = Lens.lens (\AssessmentControl' {evidenceSources} -> evidenceSources) (\s@AssessmentControl' {} a -> s {evidenceSources = a} :: AssessmentControl) Prelude.. Lens.mapping Lens.coerced++-- | The identifier for the control.+assessmentControl_id :: Lens.Lens' AssessmentControl (Prelude.Maybe Prelude.Text)+assessmentControl_id = Lens.lens (\AssessmentControl' {id} -> id) (\s@AssessmentControl' {} a -> s {id = a} :: AssessmentControl)++-- | The name of the control.+assessmentControl_name :: Lens.Lens' AssessmentControl (Prelude.Maybe Prelude.Text)+assessmentControl_name = Lens.lens (\AssessmentControl' {name} -> name) (\s@AssessmentControl' {} a -> s {name = a} :: AssessmentControl)++-- | The response of the control.+assessmentControl_response :: Lens.Lens' AssessmentControl (Prelude.Maybe ControlResponse)+assessmentControl_response = Lens.lens (\AssessmentControl' {response} -> response) (\s@AssessmentControl' {} a -> s {response = a} :: AssessmentControl)++-- | The status of the control.+assessmentControl_status :: Lens.Lens' AssessmentControl (Prelude.Maybe ControlStatus)+assessmentControl_status = Lens.lens (\AssessmentControl' {status} -> status) (\s@AssessmentControl' {} a -> s {status = a} :: AssessmentControl)++instance Data.FromJSON AssessmentControl where+ parseJSON =+ Data.withObject+ "AssessmentControl"+ ( \x ->+ AssessmentControl'+ Prelude.<$> (x Data..:? "assessmentReportEvidenceCount")+ Prelude.<*> (x Data..:? "comments" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "evidenceCount")+ Prelude.<*> ( x+ Data..:? "evidenceSources"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "response")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable AssessmentControl where+ hashWithSalt _salt AssessmentControl' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentReportEvidenceCount+ `Prelude.hashWithSalt` comments+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` evidenceCount+ `Prelude.hashWithSalt` evidenceSources+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` response+ `Prelude.hashWithSalt` status++instance Prelude.NFData AssessmentControl where+ rnf AssessmentControl' {..} =+ Prelude.rnf assessmentReportEvidenceCount+ `Prelude.seq` Prelude.rnf comments+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf evidenceCount+ `Prelude.seq` Prelude.rnf evidenceSources+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf response+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AuditManager/Types/AssessmentControlSet.hs view
@@ -0,0 +1,169 @@+{-# 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.AuditManager.Types.AssessmentControlSet+-- 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.AuditManager.Types.AssessmentControlSet where++import Amazonka.AuditManager.Types.AssessmentControl+import Amazonka.AuditManager.Types.ControlSetStatus+import Amazonka.AuditManager.Types.Delegation+import Amazonka.AuditManager.Types.Role+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++-- | Represents a set of controls in an Audit Manager assessment.+--+-- /See:/ 'newAssessmentControlSet' smart constructor.+data AssessmentControlSet = AssessmentControlSet'+ { -- | The list of controls that\'s contained with the control set.+ controls :: Prelude.Maybe [AssessmentControl],+ -- | The delegations that are associated with the control set.+ delegations :: Prelude.Maybe [Delegation],+ -- | The description for the control set.+ description :: Prelude.Maybe Prelude.Text,+ -- | The identifier of the control set in the assessment. This is the control+ -- set name in a plain string format.+ id :: Prelude.Maybe Prelude.Text,+ -- | The total number of evidence objects that are uploaded manually to the+ -- control set.+ manualEvidenceCount :: Prelude.Maybe Prelude.Int,+ -- | The roles that are associated with the control set.+ roles :: Prelude.Maybe [Role],+ -- | The current status of the control set.+ status :: Prelude.Maybe ControlSetStatus,+ -- | The total number of evidence objects that are retrieved automatically+ -- for the control set.+ systemEvidenceCount :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssessmentControlSet' 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:+--+-- 'controls', 'assessmentControlSet_controls' - The list of controls that\'s contained with the control set.+--+-- 'delegations', 'assessmentControlSet_delegations' - The delegations that are associated with the control set.+--+-- 'description', 'assessmentControlSet_description' - The description for the control set.+--+-- 'id', 'assessmentControlSet_id' - The identifier of the control set in the assessment. This is the control+-- set name in a plain string format.+--+-- 'manualEvidenceCount', 'assessmentControlSet_manualEvidenceCount' - The total number of evidence objects that are uploaded manually to the+-- control set.+--+-- 'roles', 'assessmentControlSet_roles' - The roles that are associated with the control set.+--+-- 'status', 'assessmentControlSet_status' - The current status of the control set.+--+-- 'systemEvidenceCount', 'assessmentControlSet_systemEvidenceCount' - The total number of evidence objects that are retrieved automatically+-- for the control set.+newAssessmentControlSet ::+ AssessmentControlSet+newAssessmentControlSet =+ AssessmentControlSet'+ { controls = Prelude.Nothing,+ delegations = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ manualEvidenceCount = Prelude.Nothing,+ roles = Prelude.Nothing,+ status = Prelude.Nothing,+ systemEvidenceCount = Prelude.Nothing+ }++-- | The list of controls that\'s contained with the control set.+assessmentControlSet_controls :: Lens.Lens' AssessmentControlSet (Prelude.Maybe [AssessmentControl])+assessmentControlSet_controls = Lens.lens (\AssessmentControlSet' {controls} -> controls) (\s@AssessmentControlSet' {} a -> s {controls = a} :: AssessmentControlSet) Prelude.. Lens.mapping Lens.coerced++-- | The delegations that are associated with the control set.+assessmentControlSet_delegations :: Lens.Lens' AssessmentControlSet (Prelude.Maybe [Delegation])+assessmentControlSet_delegations = Lens.lens (\AssessmentControlSet' {delegations} -> delegations) (\s@AssessmentControlSet' {} a -> s {delegations = a} :: AssessmentControlSet) Prelude.. Lens.mapping Lens.coerced++-- | The description for the control set.+assessmentControlSet_description :: Lens.Lens' AssessmentControlSet (Prelude.Maybe Prelude.Text)+assessmentControlSet_description = Lens.lens (\AssessmentControlSet' {description} -> description) (\s@AssessmentControlSet' {} a -> s {description = a} :: AssessmentControlSet)++-- | The identifier of the control set in the assessment. This is the control+-- set name in a plain string format.+assessmentControlSet_id :: Lens.Lens' AssessmentControlSet (Prelude.Maybe Prelude.Text)+assessmentControlSet_id = Lens.lens (\AssessmentControlSet' {id} -> id) (\s@AssessmentControlSet' {} a -> s {id = a} :: AssessmentControlSet)++-- | The total number of evidence objects that are uploaded manually to the+-- control set.+assessmentControlSet_manualEvidenceCount :: Lens.Lens' AssessmentControlSet (Prelude.Maybe Prelude.Int)+assessmentControlSet_manualEvidenceCount = Lens.lens (\AssessmentControlSet' {manualEvidenceCount} -> manualEvidenceCount) (\s@AssessmentControlSet' {} a -> s {manualEvidenceCount = a} :: AssessmentControlSet)++-- | The roles that are associated with the control set.+assessmentControlSet_roles :: Lens.Lens' AssessmentControlSet (Prelude.Maybe [Role])+assessmentControlSet_roles = Lens.lens (\AssessmentControlSet' {roles} -> roles) (\s@AssessmentControlSet' {} a -> s {roles = a} :: AssessmentControlSet) Prelude.. Lens.mapping Lens.coerced++-- | The current status of the control set.+assessmentControlSet_status :: Lens.Lens' AssessmentControlSet (Prelude.Maybe ControlSetStatus)+assessmentControlSet_status = Lens.lens (\AssessmentControlSet' {status} -> status) (\s@AssessmentControlSet' {} a -> s {status = a} :: AssessmentControlSet)++-- | The total number of evidence objects that are retrieved automatically+-- for the control set.+assessmentControlSet_systemEvidenceCount :: Lens.Lens' AssessmentControlSet (Prelude.Maybe Prelude.Int)+assessmentControlSet_systemEvidenceCount = Lens.lens (\AssessmentControlSet' {systemEvidenceCount} -> systemEvidenceCount) (\s@AssessmentControlSet' {} a -> s {systemEvidenceCount = a} :: AssessmentControlSet)++instance Data.FromJSON AssessmentControlSet where+ parseJSON =+ Data.withObject+ "AssessmentControlSet"+ ( \x ->+ AssessmentControlSet'+ Prelude.<$> (x Data..:? "controls" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "delegations" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "manualEvidenceCount")+ Prelude.<*> (x Data..:? "roles" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "status")+ Prelude.<*> (x Data..:? "systemEvidenceCount")+ )++instance Prelude.Hashable AssessmentControlSet where+ hashWithSalt _salt AssessmentControlSet' {..} =+ _salt+ `Prelude.hashWithSalt` controls+ `Prelude.hashWithSalt` delegations+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` manualEvidenceCount+ `Prelude.hashWithSalt` roles+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` systemEvidenceCount++instance Prelude.NFData AssessmentControlSet where+ rnf AssessmentControlSet' {..} =+ Prelude.rnf controls+ `Prelude.seq` Prelude.rnf delegations+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf manualEvidenceCount+ `Prelude.seq` Prelude.rnf roles+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf systemEvidenceCount
+ gen/Amazonka/AuditManager/Types/AssessmentEvidenceFolder.hs view
@@ -0,0 +1,307 @@+{-# 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.AuditManager.Types.AssessmentEvidenceFolder+-- 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.AuditManager.Types.AssessmentEvidenceFolder 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++-- | The folder where Audit Manager stores evidence for an assessment.+--+-- /See:/ 'newAssessmentEvidenceFolder' smart constructor.+data AssessmentEvidenceFolder = AssessmentEvidenceFolder'+ { -- | The identifier for the assessment.+ assessmentId :: Prelude.Maybe Prelude.Text,+ -- | The total count of evidence that\'s included in the assessment report.+ assessmentReportSelectionCount :: Prelude.Maybe Prelude.Int,+ -- | The name of the user who created the evidence folder.+ author :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the control.+ controlId :: Prelude.Maybe Prelude.Text,+ -- | The name of the control.+ controlName :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the control set.+ controlSetId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Service that the evidence was collected from.+ dataSource :: Prelude.Maybe Prelude.Text,+ -- | The date when the first evidence was added to the evidence folder.+ date :: Prelude.Maybe Data.POSIX,+ -- | The total number of Amazon Web Services resources that were assessed to+ -- generate the evidence.+ evidenceAwsServiceSourceCount :: Prelude.Maybe Prelude.Int,+ -- | The number of evidence that falls under the compliance check category.+ -- This evidence is collected from Config or Security Hub.+ evidenceByTypeComplianceCheckCount :: Prelude.Maybe Prelude.Int,+ -- | The total number of issues that were reported directly from Security+ -- Hub, Config, or both.+ evidenceByTypeComplianceCheckIssuesCount :: Prelude.Maybe Prelude.Int,+ -- | The number of evidence that falls under the configuration data category.+ -- This evidence is collected from configuration snapshots of other Amazon+ -- Web Services such as Amazon EC2, Amazon S3, or IAM.+ evidenceByTypeConfigurationDataCount :: Prelude.Maybe Prelude.Int,+ -- | The number of evidence that falls under the manual category. This+ -- evidence is imported manually.+ evidenceByTypeManualCount :: Prelude.Maybe Prelude.Int,+ -- | The number of evidence that falls under the user activity category. This+ -- evidence is collected from CloudTrail logs.+ evidenceByTypeUserActivityCount :: Prelude.Maybe Prelude.Int,+ -- | The amount of evidence that\'s included in the evidence folder.+ evidenceResourcesIncludedCount :: Prelude.Maybe Prelude.Int,+ -- | The identifier for the folder that the evidence is stored in.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the evidence folder.+ name :: Prelude.Maybe Prelude.Text,+ -- | The total amount of evidence in the evidence folder.+ totalEvidence :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssessmentEvidenceFolder' 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:+--+-- 'assessmentId', 'assessmentEvidenceFolder_assessmentId' - The identifier for the assessment.+--+-- 'assessmentReportSelectionCount', 'assessmentEvidenceFolder_assessmentReportSelectionCount' - The total count of evidence that\'s included in the assessment report.+--+-- 'author', 'assessmentEvidenceFolder_author' - The name of the user who created the evidence folder.+--+-- 'controlId', 'assessmentEvidenceFolder_controlId' - The unique identifier for the control.+--+-- 'controlName', 'assessmentEvidenceFolder_controlName' - The name of the control.+--+-- 'controlSetId', 'assessmentEvidenceFolder_controlSetId' - The identifier for the control set.+--+-- 'dataSource', 'assessmentEvidenceFolder_dataSource' - The Amazon Web Service that the evidence was collected from.+--+-- 'date', 'assessmentEvidenceFolder_date' - The date when the first evidence was added to the evidence folder.+--+-- 'evidenceAwsServiceSourceCount', 'assessmentEvidenceFolder_evidenceAwsServiceSourceCount' - The total number of Amazon Web Services resources that were assessed to+-- generate the evidence.+--+-- 'evidenceByTypeComplianceCheckCount', 'assessmentEvidenceFolder_evidenceByTypeComplianceCheckCount' - The number of evidence that falls under the compliance check category.+-- This evidence is collected from Config or Security Hub.+--+-- 'evidenceByTypeComplianceCheckIssuesCount', 'assessmentEvidenceFolder_evidenceByTypeComplianceCheckIssuesCount' - The total number of issues that were reported directly from Security+-- Hub, Config, or both.+--+-- 'evidenceByTypeConfigurationDataCount', 'assessmentEvidenceFolder_evidenceByTypeConfigurationDataCount' - The number of evidence that falls under the configuration data category.+-- This evidence is collected from configuration snapshots of other Amazon+-- Web Services such as Amazon EC2, Amazon S3, or IAM.+--+-- 'evidenceByTypeManualCount', 'assessmentEvidenceFolder_evidenceByTypeManualCount' - The number of evidence that falls under the manual category. This+-- evidence is imported manually.+--+-- 'evidenceByTypeUserActivityCount', 'assessmentEvidenceFolder_evidenceByTypeUserActivityCount' - The number of evidence that falls under the user activity category. This+-- evidence is collected from CloudTrail logs.+--+-- 'evidenceResourcesIncludedCount', 'assessmentEvidenceFolder_evidenceResourcesIncludedCount' - The amount of evidence that\'s included in the evidence folder.+--+-- 'id', 'assessmentEvidenceFolder_id' - The identifier for the folder that the evidence is stored in.+--+-- 'name', 'assessmentEvidenceFolder_name' - The name of the evidence folder.+--+-- 'totalEvidence', 'assessmentEvidenceFolder_totalEvidence' - The total amount of evidence in the evidence folder.+newAssessmentEvidenceFolder ::+ AssessmentEvidenceFolder+newAssessmentEvidenceFolder =+ AssessmentEvidenceFolder'+ { assessmentId =+ Prelude.Nothing,+ assessmentReportSelectionCount = Prelude.Nothing,+ author = Prelude.Nothing,+ controlId = Prelude.Nothing,+ controlName = Prelude.Nothing,+ controlSetId = Prelude.Nothing,+ dataSource = Prelude.Nothing,+ date = Prelude.Nothing,+ evidenceAwsServiceSourceCount = Prelude.Nothing,+ evidenceByTypeComplianceCheckCount =+ Prelude.Nothing,+ evidenceByTypeComplianceCheckIssuesCount =+ Prelude.Nothing,+ evidenceByTypeConfigurationDataCount =+ Prelude.Nothing,+ evidenceByTypeManualCount = Prelude.Nothing,+ evidenceByTypeUserActivityCount = Prelude.Nothing,+ evidenceResourcesIncludedCount = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ totalEvidence = Prelude.Nothing+ }++-- | The identifier for the assessment.+assessmentEvidenceFolder_assessmentId :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text)+assessmentEvidenceFolder_assessmentId = Lens.lens (\AssessmentEvidenceFolder' {assessmentId} -> assessmentId) (\s@AssessmentEvidenceFolder' {} a -> s {assessmentId = a} :: AssessmentEvidenceFolder)++-- | The total count of evidence that\'s included in the assessment report.+assessmentEvidenceFolder_assessmentReportSelectionCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int)+assessmentEvidenceFolder_assessmentReportSelectionCount = Lens.lens (\AssessmentEvidenceFolder' {assessmentReportSelectionCount} -> assessmentReportSelectionCount) (\s@AssessmentEvidenceFolder' {} a -> s {assessmentReportSelectionCount = a} :: AssessmentEvidenceFolder)++-- | The name of the user who created the evidence folder.+assessmentEvidenceFolder_author :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text)+assessmentEvidenceFolder_author = Lens.lens (\AssessmentEvidenceFolder' {author} -> author) (\s@AssessmentEvidenceFolder' {} a -> s {author = a} :: AssessmentEvidenceFolder)++-- | The unique identifier for the control.+assessmentEvidenceFolder_controlId :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text)+assessmentEvidenceFolder_controlId = Lens.lens (\AssessmentEvidenceFolder' {controlId} -> controlId) (\s@AssessmentEvidenceFolder' {} a -> s {controlId = a} :: AssessmentEvidenceFolder)++-- | The name of the control.+assessmentEvidenceFolder_controlName :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text)+assessmentEvidenceFolder_controlName = Lens.lens (\AssessmentEvidenceFolder' {controlName} -> controlName) (\s@AssessmentEvidenceFolder' {} a -> s {controlName = a} :: AssessmentEvidenceFolder)++-- | The identifier for the control set.+assessmentEvidenceFolder_controlSetId :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text)+assessmentEvidenceFolder_controlSetId = Lens.lens (\AssessmentEvidenceFolder' {controlSetId} -> controlSetId) (\s@AssessmentEvidenceFolder' {} a -> s {controlSetId = a} :: AssessmentEvidenceFolder)++-- | The Amazon Web Service that the evidence was collected from.+assessmentEvidenceFolder_dataSource :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text)+assessmentEvidenceFolder_dataSource = Lens.lens (\AssessmentEvidenceFolder' {dataSource} -> dataSource) (\s@AssessmentEvidenceFolder' {} a -> s {dataSource = a} :: AssessmentEvidenceFolder)++-- | The date when the first evidence was added to the evidence folder.+assessmentEvidenceFolder_date :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.UTCTime)+assessmentEvidenceFolder_date = Lens.lens (\AssessmentEvidenceFolder' {date} -> date) (\s@AssessmentEvidenceFolder' {} a -> s {date = a} :: AssessmentEvidenceFolder) Prelude.. Lens.mapping Data._Time++-- | The total number of Amazon Web Services resources that were assessed to+-- generate the evidence.+assessmentEvidenceFolder_evidenceAwsServiceSourceCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int)+assessmentEvidenceFolder_evidenceAwsServiceSourceCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceAwsServiceSourceCount} -> evidenceAwsServiceSourceCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceAwsServiceSourceCount = a} :: AssessmentEvidenceFolder)++-- | The number of evidence that falls under the compliance check category.+-- This evidence is collected from Config or Security Hub.+assessmentEvidenceFolder_evidenceByTypeComplianceCheckCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int)+assessmentEvidenceFolder_evidenceByTypeComplianceCheckCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceByTypeComplianceCheckCount} -> evidenceByTypeComplianceCheckCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceByTypeComplianceCheckCount = a} :: AssessmentEvidenceFolder)++-- | The total number of issues that were reported directly from Security+-- Hub, Config, or both.+assessmentEvidenceFolder_evidenceByTypeComplianceCheckIssuesCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int)+assessmentEvidenceFolder_evidenceByTypeComplianceCheckIssuesCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceByTypeComplianceCheckIssuesCount} -> evidenceByTypeComplianceCheckIssuesCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceByTypeComplianceCheckIssuesCount = a} :: AssessmentEvidenceFolder)++-- | The number of evidence that falls under the configuration data category.+-- This evidence is collected from configuration snapshots of other Amazon+-- Web Services such as Amazon EC2, Amazon S3, or IAM.+assessmentEvidenceFolder_evidenceByTypeConfigurationDataCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int)+assessmentEvidenceFolder_evidenceByTypeConfigurationDataCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceByTypeConfigurationDataCount} -> evidenceByTypeConfigurationDataCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceByTypeConfigurationDataCount = a} :: AssessmentEvidenceFolder)++-- | The number of evidence that falls under the manual category. This+-- evidence is imported manually.+assessmentEvidenceFolder_evidenceByTypeManualCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int)+assessmentEvidenceFolder_evidenceByTypeManualCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceByTypeManualCount} -> evidenceByTypeManualCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceByTypeManualCount = a} :: AssessmentEvidenceFolder)++-- | The number of evidence that falls under the user activity category. This+-- evidence is collected from CloudTrail logs.+assessmentEvidenceFolder_evidenceByTypeUserActivityCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int)+assessmentEvidenceFolder_evidenceByTypeUserActivityCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceByTypeUserActivityCount} -> evidenceByTypeUserActivityCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceByTypeUserActivityCount = a} :: AssessmentEvidenceFolder)++-- | The amount of evidence that\'s included in the evidence folder.+assessmentEvidenceFolder_evidenceResourcesIncludedCount :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int)+assessmentEvidenceFolder_evidenceResourcesIncludedCount = Lens.lens (\AssessmentEvidenceFolder' {evidenceResourcesIncludedCount} -> evidenceResourcesIncludedCount) (\s@AssessmentEvidenceFolder' {} a -> s {evidenceResourcesIncludedCount = a} :: AssessmentEvidenceFolder)++-- | The identifier for the folder that the evidence is stored in.+assessmentEvidenceFolder_id :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text)+assessmentEvidenceFolder_id = Lens.lens (\AssessmentEvidenceFolder' {id} -> id) (\s@AssessmentEvidenceFolder' {} a -> s {id = a} :: AssessmentEvidenceFolder)++-- | The name of the evidence folder.+assessmentEvidenceFolder_name :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Text)+assessmentEvidenceFolder_name = Lens.lens (\AssessmentEvidenceFolder' {name} -> name) (\s@AssessmentEvidenceFolder' {} a -> s {name = a} :: AssessmentEvidenceFolder)++-- | The total amount of evidence in the evidence folder.+assessmentEvidenceFolder_totalEvidence :: Lens.Lens' AssessmentEvidenceFolder (Prelude.Maybe Prelude.Int)+assessmentEvidenceFolder_totalEvidence = Lens.lens (\AssessmentEvidenceFolder' {totalEvidence} -> totalEvidence) (\s@AssessmentEvidenceFolder' {} a -> s {totalEvidence = a} :: AssessmentEvidenceFolder)++instance Data.FromJSON AssessmentEvidenceFolder where+ parseJSON =+ Data.withObject+ "AssessmentEvidenceFolder"+ ( \x ->+ AssessmentEvidenceFolder'+ Prelude.<$> (x Data..:? "assessmentId")+ Prelude.<*> (x Data..:? "assessmentReportSelectionCount")+ Prelude.<*> (x Data..:? "author")+ Prelude.<*> (x Data..:? "controlId")+ Prelude.<*> (x Data..:? "controlName")+ Prelude.<*> (x Data..:? "controlSetId")+ Prelude.<*> (x Data..:? "dataSource")+ Prelude.<*> (x Data..:? "date")+ Prelude.<*> (x Data..:? "evidenceAwsServiceSourceCount")+ Prelude.<*> (x Data..:? "evidenceByTypeComplianceCheckCount")+ Prelude.<*> ( x+ Data..:? "evidenceByTypeComplianceCheckIssuesCount"+ )+ Prelude.<*> (x Data..:? "evidenceByTypeConfigurationDataCount")+ Prelude.<*> (x Data..:? "evidenceByTypeManualCount")+ Prelude.<*> (x Data..:? "evidenceByTypeUserActivityCount")+ Prelude.<*> (x Data..:? "evidenceResourcesIncludedCount")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "totalEvidence")+ )++instance Prelude.Hashable AssessmentEvidenceFolder where+ hashWithSalt _salt AssessmentEvidenceFolder' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` assessmentReportSelectionCount+ `Prelude.hashWithSalt` author+ `Prelude.hashWithSalt` controlId+ `Prelude.hashWithSalt` controlName+ `Prelude.hashWithSalt` controlSetId+ `Prelude.hashWithSalt` dataSource+ `Prelude.hashWithSalt` date+ `Prelude.hashWithSalt` evidenceAwsServiceSourceCount+ `Prelude.hashWithSalt` evidenceByTypeComplianceCheckCount+ `Prelude.hashWithSalt` evidenceByTypeComplianceCheckIssuesCount+ `Prelude.hashWithSalt` evidenceByTypeConfigurationDataCount+ `Prelude.hashWithSalt` evidenceByTypeManualCount+ `Prelude.hashWithSalt` evidenceByTypeUserActivityCount+ `Prelude.hashWithSalt` evidenceResourcesIncludedCount+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` totalEvidence++instance Prelude.NFData AssessmentEvidenceFolder where+ rnf AssessmentEvidenceFolder' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf assessmentReportSelectionCount+ `Prelude.seq` Prelude.rnf author+ `Prelude.seq` Prelude.rnf controlId+ `Prelude.seq` Prelude.rnf controlName+ `Prelude.seq` Prelude.rnf controlSetId+ `Prelude.seq` Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf date+ `Prelude.seq` Prelude.rnf evidenceAwsServiceSourceCount+ `Prelude.seq` Prelude.rnf evidenceByTypeComplianceCheckCount+ `Prelude.seq` Prelude.rnf+ evidenceByTypeComplianceCheckIssuesCount+ `Prelude.seq` Prelude.rnf+ evidenceByTypeConfigurationDataCount+ `Prelude.seq` Prelude.rnf evidenceByTypeManualCount+ `Prelude.seq` Prelude.rnf+ evidenceByTypeUserActivityCount+ `Prelude.seq` Prelude.rnf+ evidenceResourcesIncludedCount+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf totalEvidence
+ gen/Amazonka/AuditManager/Types/AssessmentFramework.hs view
@@ -0,0 +1,110 @@+{-# 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.AuditManager.Types.AssessmentFramework+-- 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.AuditManager.Types.AssessmentFramework where++import Amazonka.AuditManager.Types.AssessmentControlSet+import Amazonka.AuditManager.Types.FrameworkMetadata+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++-- | The file used to structure and automate Audit Manager assessments for a+-- given compliance standard.+--+-- /See:/ 'newAssessmentFramework' smart constructor.+data AssessmentFramework = AssessmentFramework'+ { -- | The Amazon Resource Name (ARN) of the framework.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The control sets that are associated with the framework.+ controlSets :: Prelude.Maybe [AssessmentControlSet],+ -- | The unique identifier for the framework.+ id :: Prelude.Maybe Prelude.Text,+ metadata :: Prelude.Maybe FrameworkMetadata+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssessmentFramework' 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:+--+-- 'arn', 'assessmentFramework_arn' - The Amazon Resource Name (ARN) of the framework.+--+-- 'controlSets', 'assessmentFramework_controlSets' - The control sets that are associated with the framework.+--+-- 'id', 'assessmentFramework_id' - The unique identifier for the framework.+--+-- 'metadata', 'assessmentFramework_metadata' - Undocumented member.+newAssessmentFramework ::+ AssessmentFramework+newAssessmentFramework =+ AssessmentFramework'+ { arn = Prelude.Nothing,+ controlSets = Prelude.Nothing,+ id = Prelude.Nothing,+ metadata = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the framework.+assessmentFramework_arn :: Lens.Lens' AssessmentFramework (Prelude.Maybe Prelude.Text)+assessmentFramework_arn = Lens.lens (\AssessmentFramework' {arn} -> arn) (\s@AssessmentFramework' {} a -> s {arn = a} :: AssessmentFramework)++-- | The control sets that are associated with the framework.+assessmentFramework_controlSets :: Lens.Lens' AssessmentFramework (Prelude.Maybe [AssessmentControlSet])+assessmentFramework_controlSets = Lens.lens (\AssessmentFramework' {controlSets} -> controlSets) (\s@AssessmentFramework' {} a -> s {controlSets = a} :: AssessmentFramework) Prelude.. Lens.mapping Lens.coerced++-- | The unique identifier for the framework.+assessmentFramework_id :: Lens.Lens' AssessmentFramework (Prelude.Maybe Prelude.Text)+assessmentFramework_id = Lens.lens (\AssessmentFramework' {id} -> id) (\s@AssessmentFramework' {} a -> s {id = a} :: AssessmentFramework)++-- | Undocumented member.+assessmentFramework_metadata :: Lens.Lens' AssessmentFramework (Prelude.Maybe FrameworkMetadata)+assessmentFramework_metadata = Lens.lens (\AssessmentFramework' {metadata} -> metadata) (\s@AssessmentFramework' {} a -> s {metadata = a} :: AssessmentFramework)++instance Data.FromJSON AssessmentFramework where+ parseJSON =+ Data.withObject+ "AssessmentFramework"+ ( \x ->+ AssessmentFramework'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "controlSets" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "metadata")+ )++instance Prelude.Hashable AssessmentFramework where+ hashWithSalt _salt AssessmentFramework' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` controlSets+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` metadata++instance Prelude.NFData AssessmentFramework where+ rnf AssessmentFramework' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf controlSets+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf metadata
+ gen/Amazonka/AuditManager/Types/AssessmentFrameworkMetadata.hs view
@@ -0,0 +1,197 @@+{-# 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.AuditManager.Types.AssessmentFrameworkMetadata+-- 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.AuditManager.Types.AssessmentFrameworkMetadata where++import Amazonka.AuditManager.Types.FrameworkType+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++-- | The metadata that\'s associated with a standard framework or a custom+-- framework.+--+-- /See:/ 'newAssessmentFrameworkMetadata' smart constructor.+data AssessmentFrameworkMetadata = AssessmentFrameworkMetadata'+ { -- | The Amazon Resource Name (ARN) of the framework.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The compliance type that the new custom framework supports, such as CIS+ -- or HIPAA.+ complianceType :: Prelude.Maybe Prelude.Text,+ -- | The number of control sets that are associated with the framework.+ controlSetsCount :: Prelude.Maybe Prelude.Int,+ -- | The number of controls that are associated with the framework.+ controlsCount :: Prelude.Maybe Prelude.Int,+ -- | The time when the framework was created.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | The description of the framework.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the framework.+ id :: Prelude.Maybe Prelude.Text,+ -- | The time when the framework was most recently updated.+ lastUpdatedAt :: Prelude.Maybe Data.POSIX,+ -- | The logo that\'s associated with the framework.+ logo :: Prelude.Maybe Prelude.Text,+ -- | The name of the framework.+ name :: Prelude.Maybe Prelude.Text,+ -- | The framework type, such as a standard framework or a custom framework.+ type' :: Prelude.Maybe FrameworkType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssessmentFrameworkMetadata' 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:+--+-- 'arn', 'assessmentFrameworkMetadata_arn' - The Amazon Resource Name (ARN) of the framework.+--+-- 'complianceType', 'assessmentFrameworkMetadata_complianceType' - The compliance type that the new custom framework supports, such as CIS+-- or HIPAA.+--+-- 'controlSetsCount', 'assessmentFrameworkMetadata_controlSetsCount' - The number of control sets that are associated with the framework.+--+-- 'controlsCount', 'assessmentFrameworkMetadata_controlsCount' - The number of controls that are associated with the framework.+--+-- 'createdAt', 'assessmentFrameworkMetadata_createdAt' - The time when the framework was created.+--+-- 'description', 'assessmentFrameworkMetadata_description' - The description of the framework.+--+-- 'id', 'assessmentFrameworkMetadata_id' - The unique identifier for the framework.+--+-- 'lastUpdatedAt', 'assessmentFrameworkMetadata_lastUpdatedAt' - The time when the framework was most recently updated.+--+-- 'logo', 'assessmentFrameworkMetadata_logo' - The logo that\'s associated with the framework.+--+-- 'name', 'assessmentFrameworkMetadata_name' - The name of the framework.+--+-- 'type'', 'assessmentFrameworkMetadata_type' - The framework type, such as a standard framework or a custom framework.+newAssessmentFrameworkMetadata ::+ AssessmentFrameworkMetadata+newAssessmentFrameworkMetadata =+ AssessmentFrameworkMetadata'+ { arn = Prelude.Nothing,+ complianceType = Prelude.Nothing,+ controlSetsCount = Prelude.Nothing,+ controlsCount = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ lastUpdatedAt = Prelude.Nothing,+ logo = Prelude.Nothing,+ name = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the framework.+assessmentFrameworkMetadata_arn :: Lens.Lens' AssessmentFrameworkMetadata (Prelude.Maybe Prelude.Text)+assessmentFrameworkMetadata_arn = Lens.lens (\AssessmentFrameworkMetadata' {arn} -> arn) (\s@AssessmentFrameworkMetadata' {} a -> s {arn = a} :: AssessmentFrameworkMetadata)++-- | The compliance type that the new custom framework supports, such as CIS+-- or HIPAA.+assessmentFrameworkMetadata_complianceType :: Lens.Lens' AssessmentFrameworkMetadata (Prelude.Maybe Prelude.Text)+assessmentFrameworkMetadata_complianceType = Lens.lens (\AssessmentFrameworkMetadata' {complianceType} -> complianceType) (\s@AssessmentFrameworkMetadata' {} a -> s {complianceType = a} :: AssessmentFrameworkMetadata)++-- | The number of control sets that are associated with the framework.+assessmentFrameworkMetadata_controlSetsCount :: Lens.Lens' AssessmentFrameworkMetadata (Prelude.Maybe Prelude.Int)+assessmentFrameworkMetadata_controlSetsCount = Lens.lens (\AssessmentFrameworkMetadata' {controlSetsCount} -> controlSetsCount) (\s@AssessmentFrameworkMetadata' {} a -> s {controlSetsCount = a} :: AssessmentFrameworkMetadata)++-- | The number of controls that are associated with the framework.+assessmentFrameworkMetadata_controlsCount :: Lens.Lens' AssessmentFrameworkMetadata (Prelude.Maybe Prelude.Int)+assessmentFrameworkMetadata_controlsCount = Lens.lens (\AssessmentFrameworkMetadata' {controlsCount} -> controlsCount) (\s@AssessmentFrameworkMetadata' {} a -> s {controlsCount = a} :: AssessmentFrameworkMetadata)++-- | The time when the framework was created.+assessmentFrameworkMetadata_createdAt :: Lens.Lens' AssessmentFrameworkMetadata (Prelude.Maybe Prelude.UTCTime)+assessmentFrameworkMetadata_createdAt = Lens.lens (\AssessmentFrameworkMetadata' {createdAt} -> createdAt) (\s@AssessmentFrameworkMetadata' {} a -> s {createdAt = a} :: AssessmentFrameworkMetadata) Prelude.. Lens.mapping Data._Time++-- | The description of the framework.+assessmentFrameworkMetadata_description :: Lens.Lens' AssessmentFrameworkMetadata (Prelude.Maybe Prelude.Text)+assessmentFrameworkMetadata_description = Lens.lens (\AssessmentFrameworkMetadata' {description} -> description) (\s@AssessmentFrameworkMetadata' {} a -> s {description = a} :: AssessmentFrameworkMetadata)++-- | The unique identifier for the framework.+assessmentFrameworkMetadata_id :: Lens.Lens' AssessmentFrameworkMetadata (Prelude.Maybe Prelude.Text)+assessmentFrameworkMetadata_id = Lens.lens (\AssessmentFrameworkMetadata' {id} -> id) (\s@AssessmentFrameworkMetadata' {} a -> s {id = a} :: AssessmentFrameworkMetadata)++-- | The time when the framework was most recently updated.+assessmentFrameworkMetadata_lastUpdatedAt :: Lens.Lens' AssessmentFrameworkMetadata (Prelude.Maybe Prelude.UTCTime)+assessmentFrameworkMetadata_lastUpdatedAt = Lens.lens (\AssessmentFrameworkMetadata' {lastUpdatedAt} -> lastUpdatedAt) (\s@AssessmentFrameworkMetadata' {} a -> s {lastUpdatedAt = a} :: AssessmentFrameworkMetadata) Prelude.. Lens.mapping Data._Time++-- | The logo that\'s associated with the framework.+assessmentFrameworkMetadata_logo :: Lens.Lens' AssessmentFrameworkMetadata (Prelude.Maybe Prelude.Text)+assessmentFrameworkMetadata_logo = Lens.lens (\AssessmentFrameworkMetadata' {logo} -> logo) (\s@AssessmentFrameworkMetadata' {} a -> s {logo = a} :: AssessmentFrameworkMetadata)++-- | The name of the framework.+assessmentFrameworkMetadata_name :: Lens.Lens' AssessmentFrameworkMetadata (Prelude.Maybe Prelude.Text)+assessmentFrameworkMetadata_name = Lens.lens (\AssessmentFrameworkMetadata' {name} -> name) (\s@AssessmentFrameworkMetadata' {} a -> s {name = a} :: AssessmentFrameworkMetadata)++-- | The framework type, such as a standard framework or a custom framework.+assessmentFrameworkMetadata_type :: Lens.Lens' AssessmentFrameworkMetadata (Prelude.Maybe FrameworkType)+assessmentFrameworkMetadata_type = Lens.lens (\AssessmentFrameworkMetadata' {type'} -> type') (\s@AssessmentFrameworkMetadata' {} a -> s {type' = a} :: AssessmentFrameworkMetadata)++instance Data.FromJSON AssessmentFrameworkMetadata where+ parseJSON =+ Data.withObject+ "AssessmentFrameworkMetadata"+ ( \x ->+ AssessmentFrameworkMetadata'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "complianceType")+ Prelude.<*> (x Data..:? "controlSetsCount")+ Prelude.<*> (x Data..:? "controlsCount")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastUpdatedAt")+ Prelude.<*> (x Data..:? "logo")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable AssessmentFrameworkMetadata where+ hashWithSalt _salt AssessmentFrameworkMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` complianceType+ `Prelude.hashWithSalt` controlSetsCount+ `Prelude.hashWithSalt` controlsCount+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastUpdatedAt+ `Prelude.hashWithSalt` logo+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` type'++instance Prelude.NFData AssessmentFrameworkMetadata where+ rnf AssessmentFrameworkMetadata' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf complianceType+ `Prelude.seq` Prelude.rnf controlSetsCount+ `Prelude.seq` Prelude.rnf controlsCount+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastUpdatedAt+ `Prelude.seq` Prelude.rnf logo+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf type'
@@ -0,0 +1,262 @@+{-# 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.AuditManager.Types.AssessmentFrameworkShareRequest+-- 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.AuditManager.Types.AssessmentFrameworkShareRequest where++import Amazonka.AuditManager.Types.ShareRequestStatus+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++-- | Represents a share request for a custom framework in Audit Manager.+--+-- /See:/ 'newAssessmentFrameworkShareRequest' smart constructor.+data AssessmentFrameworkShareRequest = AssessmentFrameworkShareRequest'+ { -- | An optional comment from the sender about the share request.+ comment :: Prelude.Maybe Prelude.Text,+ -- | The compliance type that the shared custom framework supports, such as+ -- CIS or HIPAA.+ complianceType :: Prelude.Maybe Prelude.Text,+ -- | The time when the share request was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The number of custom controls that are part of the shared custom+ -- framework.+ customControlsCount :: Prelude.Maybe Prelude.Int,+ -- | The Amazon Web Services account of the recipient.+ destinationAccount :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services Region of the recipient.+ destinationRegion :: Prelude.Maybe Prelude.Text,+ -- | The time when the share request expires.+ expirationTime :: Prelude.Maybe Data.POSIX,+ -- | The description of the shared custom framework.+ frameworkDescription :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the shared custom framework.+ frameworkId :: Prelude.Maybe Prelude.Text,+ -- | The name of the custom framework that the share request is for.+ frameworkName :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the share request.+ id :: Prelude.Maybe Prelude.Text,+ -- | Specifies when the share request was last updated.+ lastUpdated :: Prelude.Maybe Data.POSIX,+ -- | The Amazon Web Services account of the sender.+ sourceAccount :: Prelude.Maybe Prelude.Text,+ -- | The number of standard controls that are part of the shared custom+ -- framework.+ standardControlsCount :: Prelude.Maybe Prelude.Int,+ -- | The status of the share request.+ status :: Prelude.Maybe ShareRequestStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssessmentFrameworkShareRequest' 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:+--+-- 'comment', 'assessmentFrameworkShareRequest_comment' - An optional comment from the sender about the share request.+--+-- 'complianceType', 'assessmentFrameworkShareRequest_complianceType' - The compliance type that the shared custom framework supports, such as+-- CIS or HIPAA.+--+-- 'creationTime', 'assessmentFrameworkShareRequest_creationTime' - The time when the share request was created.+--+-- 'customControlsCount', 'assessmentFrameworkShareRequest_customControlsCount' - The number of custom controls that are part of the shared custom+-- framework.+--+-- 'destinationAccount', 'assessmentFrameworkShareRequest_destinationAccount' - The Amazon Web Services account of the recipient.+--+-- 'destinationRegion', 'assessmentFrameworkShareRequest_destinationRegion' - The Amazon Web Services Region of the recipient.+--+-- 'expirationTime', 'assessmentFrameworkShareRequest_expirationTime' - The time when the share request expires.+--+-- 'frameworkDescription', 'assessmentFrameworkShareRequest_frameworkDescription' - The description of the shared custom framework.+--+-- 'frameworkId', 'assessmentFrameworkShareRequest_frameworkId' - The unique identifier for the shared custom framework.+--+-- 'frameworkName', 'assessmentFrameworkShareRequest_frameworkName' - The name of the custom framework that the share request is for.+--+-- 'id', 'assessmentFrameworkShareRequest_id' - The unique identifier for the share request.+--+-- 'lastUpdated', 'assessmentFrameworkShareRequest_lastUpdated' - Specifies when the share request was last updated.+--+-- 'sourceAccount', 'assessmentFrameworkShareRequest_sourceAccount' - The Amazon Web Services account of the sender.+--+-- 'standardControlsCount', 'assessmentFrameworkShareRequest_standardControlsCount' - The number of standard controls that are part of the shared custom+-- framework.+--+-- 'status', 'assessmentFrameworkShareRequest_status' - The status of the share request.+newAssessmentFrameworkShareRequest ::+ AssessmentFrameworkShareRequest+newAssessmentFrameworkShareRequest =+ AssessmentFrameworkShareRequest'+ { comment =+ Prelude.Nothing,+ complianceType = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ customControlsCount = Prelude.Nothing,+ destinationAccount = Prelude.Nothing,+ destinationRegion = Prelude.Nothing,+ expirationTime = Prelude.Nothing,+ frameworkDescription = Prelude.Nothing,+ frameworkId = Prelude.Nothing,+ frameworkName = Prelude.Nothing,+ id = Prelude.Nothing,+ lastUpdated = Prelude.Nothing,+ sourceAccount = Prelude.Nothing,+ standardControlsCount = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | An optional comment from the sender about the share request.+assessmentFrameworkShareRequest_comment :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.Text)+assessmentFrameworkShareRequest_comment = Lens.lens (\AssessmentFrameworkShareRequest' {comment} -> comment) (\s@AssessmentFrameworkShareRequest' {} a -> s {comment = a} :: AssessmentFrameworkShareRequest)++-- | The compliance type that the shared custom framework supports, such as+-- CIS or HIPAA.+assessmentFrameworkShareRequest_complianceType :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.Text)+assessmentFrameworkShareRequest_complianceType = Lens.lens (\AssessmentFrameworkShareRequest' {complianceType} -> complianceType) (\s@AssessmentFrameworkShareRequest' {} a -> s {complianceType = a} :: AssessmentFrameworkShareRequest)++-- | The time when the share request was created.+assessmentFrameworkShareRequest_creationTime :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.UTCTime)+assessmentFrameworkShareRequest_creationTime = Lens.lens (\AssessmentFrameworkShareRequest' {creationTime} -> creationTime) (\s@AssessmentFrameworkShareRequest' {} a -> s {creationTime = a} :: AssessmentFrameworkShareRequest) Prelude.. Lens.mapping Data._Time++-- | The number of custom controls that are part of the shared custom+-- framework.+assessmentFrameworkShareRequest_customControlsCount :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.Int)+assessmentFrameworkShareRequest_customControlsCount = Lens.lens (\AssessmentFrameworkShareRequest' {customControlsCount} -> customControlsCount) (\s@AssessmentFrameworkShareRequest' {} a -> s {customControlsCount = a} :: AssessmentFrameworkShareRequest)++-- | The Amazon Web Services account of the recipient.+assessmentFrameworkShareRequest_destinationAccount :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.Text)+assessmentFrameworkShareRequest_destinationAccount = Lens.lens (\AssessmentFrameworkShareRequest' {destinationAccount} -> destinationAccount) (\s@AssessmentFrameworkShareRequest' {} a -> s {destinationAccount = a} :: AssessmentFrameworkShareRequest)++-- | The Amazon Web Services Region of the recipient.+assessmentFrameworkShareRequest_destinationRegion :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.Text)+assessmentFrameworkShareRequest_destinationRegion = Lens.lens (\AssessmentFrameworkShareRequest' {destinationRegion} -> destinationRegion) (\s@AssessmentFrameworkShareRequest' {} a -> s {destinationRegion = a} :: AssessmentFrameworkShareRequest)++-- | The time when the share request expires.+assessmentFrameworkShareRequest_expirationTime :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.UTCTime)+assessmentFrameworkShareRequest_expirationTime = Lens.lens (\AssessmentFrameworkShareRequest' {expirationTime} -> expirationTime) (\s@AssessmentFrameworkShareRequest' {} a -> s {expirationTime = a} :: AssessmentFrameworkShareRequest) Prelude.. Lens.mapping Data._Time++-- | The description of the shared custom framework.+assessmentFrameworkShareRequest_frameworkDescription :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.Text)+assessmentFrameworkShareRequest_frameworkDescription = Lens.lens (\AssessmentFrameworkShareRequest' {frameworkDescription} -> frameworkDescription) (\s@AssessmentFrameworkShareRequest' {} a -> s {frameworkDescription = a} :: AssessmentFrameworkShareRequest)++-- | The unique identifier for the shared custom framework.+assessmentFrameworkShareRequest_frameworkId :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.Text)+assessmentFrameworkShareRequest_frameworkId = Lens.lens (\AssessmentFrameworkShareRequest' {frameworkId} -> frameworkId) (\s@AssessmentFrameworkShareRequest' {} a -> s {frameworkId = a} :: AssessmentFrameworkShareRequest)++-- | The name of the custom framework that the share request is for.+assessmentFrameworkShareRequest_frameworkName :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.Text)+assessmentFrameworkShareRequest_frameworkName = Lens.lens (\AssessmentFrameworkShareRequest' {frameworkName} -> frameworkName) (\s@AssessmentFrameworkShareRequest' {} a -> s {frameworkName = a} :: AssessmentFrameworkShareRequest)++-- | The unique identifier for the share request.+assessmentFrameworkShareRequest_id :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.Text)+assessmentFrameworkShareRequest_id = Lens.lens (\AssessmentFrameworkShareRequest' {id} -> id) (\s@AssessmentFrameworkShareRequest' {} a -> s {id = a} :: AssessmentFrameworkShareRequest)++-- | Specifies when the share request was last updated.+assessmentFrameworkShareRequest_lastUpdated :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.UTCTime)+assessmentFrameworkShareRequest_lastUpdated = Lens.lens (\AssessmentFrameworkShareRequest' {lastUpdated} -> lastUpdated) (\s@AssessmentFrameworkShareRequest' {} a -> s {lastUpdated = a} :: AssessmentFrameworkShareRequest) Prelude.. Lens.mapping Data._Time++-- | The Amazon Web Services account of the sender.+assessmentFrameworkShareRequest_sourceAccount :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.Text)+assessmentFrameworkShareRequest_sourceAccount = Lens.lens (\AssessmentFrameworkShareRequest' {sourceAccount} -> sourceAccount) (\s@AssessmentFrameworkShareRequest' {} a -> s {sourceAccount = a} :: AssessmentFrameworkShareRequest)++-- | The number of standard controls that are part of the shared custom+-- framework.+assessmentFrameworkShareRequest_standardControlsCount :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe Prelude.Int)+assessmentFrameworkShareRequest_standardControlsCount = Lens.lens (\AssessmentFrameworkShareRequest' {standardControlsCount} -> standardControlsCount) (\s@AssessmentFrameworkShareRequest' {} a -> s {standardControlsCount = a} :: AssessmentFrameworkShareRequest)++-- | The status of the share request.+assessmentFrameworkShareRequest_status :: Lens.Lens' AssessmentFrameworkShareRequest (Prelude.Maybe ShareRequestStatus)+assessmentFrameworkShareRequest_status = Lens.lens (\AssessmentFrameworkShareRequest' {status} -> status) (\s@AssessmentFrameworkShareRequest' {} a -> s {status = a} :: AssessmentFrameworkShareRequest)++instance+ Data.FromJSON+ AssessmentFrameworkShareRequest+ where+ parseJSON =+ Data.withObject+ "AssessmentFrameworkShareRequest"+ ( \x ->+ AssessmentFrameworkShareRequest'+ Prelude.<$> (x Data..:? "comment")+ Prelude.<*> (x Data..:? "complianceType")+ Prelude.<*> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "customControlsCount")+ Prelude.<*> (x Data..:? "destinationAccount")+ Prelude.<*> (x Data..:? "destinationRegion")+ Prelude.<*> (x Data..:? "expirationTime")+ Prelude.<*> (x Data..:? "frameworkDescription")+ Prelude.<*> (x Data..:? "frameworkId")+ Prelude.<*> (x Data..:? "frameworkName")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastUpdated")+ Prelude.<*> (x Data..:? "sourceAccount")+ Prelude.<*> (x Data..:? "standardControlsCount")+ Prelude.<*> (x Data..:? "status")+ )++instance+ Prelude.Hashable+ AssessmentFrameworkShareRequest+ where+ hashWithSalt+ _salt+ AssessmentFrameworkShareRequest' {..} =+ _salt+ `Prelude.hashWithSalt` comment+ `Prelude.hashWithSalt` complianceType+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` customControlsCount+ `Prelude.hashWithSalt` destinationAccount+ `Prelude.hashWithSalt` destinationRegion+ `Prelude.hashWithSalt` expirationTime+ `Prelude.hashWithSalt` frameworkDescription+ `Prelude.hashWithSalt` frameworkId+ `Prelude.hashWithSalt` frameworkName+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastUpdated+ `Prelude.hashWithSalt` sourceAccount+ `Prelude.hashWithSalt` standardControlsCount+ `Prelude.hashWithSalt` status++instance+ Prelude.NFData+ AssessmentFrameworkShareRequest+ where+ rnf AssessmentFrameworkShareRequest' {..} =+ Prelude.rnf comment+ `Prelude.seq` Prelude.rnf complianceType+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf customControlsCount+ `Prelude.seq` Prelude.rnf destinationAccount+ `Prelude.seq` Prelude.rnf destinationRegion+ `Prelude.seq` Prelude.rnf expirationTime+ `Prelude.seq` Prelude.rnf frameworkDescription+ `Prelude.seq` Prelude.rnf frameworkId+ `Prelude.seq` Prelude.rnf frameworkName+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastUpdated+ `Prelude.seq` Prelude.rnf sourceAccount+ `Prelude.seq` Prelude.rnf standardControlsCount+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AuditManager/Types/AssessmentMetadata.hs view
@@ -0,0 +1,204 @@+{-# 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.AuditManager.Types.AssessmentMetadata+-- 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.AuditManager.Types.AssessmentMetadata where++import Amazonka.AuditManager.Types.AssessmentReportsDestination+import Amazonka.AuditManager.Types.AssessmentStatus+import Amazonka.AuditManager.Types.Delegation+import Amazonka.AuditManager.Types.Role+import Amazonka.AuditManager.Types.Scope+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++-- | The metadata that\'s associated with the specified assessment.+--+-- /See:/ 'newAssessmentMetadata' smart constructor.+data AssessmentMetadata = AssessmentMetadata'+ { -- | The destination that evidence reports are stored in for the assessment.+ assessmentReportsDestination :: Prelude.Maybe AssessmentReportsDestination,+ -- | The name of the compliance standard that\'s related to the assessment,+ -- such as PCI-DSS.+ complianceType :: Prelude.Maybe Prelude.Text,+ -- | Specifies when the assessment was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The delegations that are associated with the assessment.+ delegations :: Prelude.Maybe [Delegation],+ -- | The description of the assessment.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the assessment.+ id :: Prelude.Maybe Prelude.Text,+ -- | The time of the most recent update.+ lastUpdated :: Prelude.Maybe Data.POSIX,+ -- | The name of the assessment.+ name :: Prelude.Maybe Prelude.Text,+ -- | The roles that are associated with the assessment.+ roles :: Prelude.Maybe [Role],+ -- | The wrapper of Amazon Web Services accounts and services that are in+ -- scope for the assessment.+ scope :: Prelude.Maybe Scope,+ -- | The overall status of the assessment.+ status :: Prelude.Maybe AssessmentStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssessmentMetadata' 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:+--+-- 'assessmentReportsDestination', 'assessmentMetadata_assessmentReportsDestination' - The destination that evidence reports are stored in for the assessment.+--+-- 'complianceType', 'assessmentMetadata_complianceType' - The name of the compliance standard that\'s related to the assessment,+-- such as PCI-DSS.+--+-- 'creationTime', 'assessmentMetadata_creationTime' - Specifies when the assessment was created.+--+-- 'delegations', 'assessmentMetadata_delegations' - The delegations that are associated with the assessment.+--+-- 'description', 'assessmentMetadata_description' - The description of the assessment.+--+-- 'id', 'assessmentMetadata_id' - The unique identifier for the assessment.+--+-- 'lastUpdated', 'assessmentMetadata_lastUpdated' - The time of the most recent update.+--+-- 'name', 'assessmentMetadata_name' - The name of the assessment.+--+-- 'roles', 'assessmentMetadata_roles' - The roles that are associated with the assessment.+--+-- 'scope', 'assessmentMetadata_scope' - The wrapper of Amazon Web Services accounts and services that are in+-- scope for the assessment.+--+-- 'status', 'assessmentMetadata_status' - The overall status of the assessment.+newAssessmentMetadata ::+ AssessmentMetadata+newAssessmentMetadata =+ AssessmentMetadata'+ { assessmentReportsDestination =+ Prelude.Nothing,+ complianceType = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ delegations = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ lastUpdated = Prelude.Nothing,+ name = Prelude.Nothing,+ roles = Prelude.Nothing,+ scope = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The destination that evidence reports are stored in for the assessment.+assessmentMetadata_assessmentReportsDestination :: Lens.Lens' AssessmentMetadata (Prelude.Maybe AssessmentReportsDestination)+assessmentMetadata_assessmentReportsDestination = Lens.lens (\AssessmentMetadata' {assessmentReportsDestination} -> assessmentReportsDestination) (\s@AssessmentMetadata' {} a -> s {assessmentReportsDestination = a} :: AssessmentMetadata)++-- | The name of the compliance standard that\'s related to the assessment,+-- such as PCI-DSS.+assessmentMetadata_complianceType :: Lens.Lens' AssessmentMetadata (Prelude.Maybe Prelude.Text)+assessmentMetadata_complianceType = Lens.lens (\AssessmentMetadata' {complianceType} -> complianceType) (\s@AssessmentMetadata' {} a -> s {complianceType = a} :: AssessmentMetadata)++-- | Specifies when the assessment was created.+assessmentMetadata_creationTime :: Lens.Lens' AssessmentMetadata (Prelude.Maybe Prelude.UTCTime)+assessmentMetadata_creationTime = Lens.lens (\AssessmentMetadata' {creationTime} -> creationTime) (\s@AssessmentMetadata' {} a -> s {creationTime = a} :: AssessmentMetadata) Prelude.. Lens.mapping Data._Time++-- | The delegations that are associated with the assessment.+assessmentMetadata_delegations :: Lens.Lens' AssessmentMetadata (Prelude.Maybe [Delegation])+assessmentMetadata_delegations = Lens.lens (\AssessmentMetadata' {delegations} -> delegations) (\s@AssessmentMetadata' {} a -> s {delegations = a} :: AssessmentMetadata) Prelude.. Lens.mapping Lens.coerced++-- | The description of the assessment.+assessmentMetadata_description :: Lens.Lens' AssessmentMetadata (Prelude.Maybe Prelude.Text)+assessmentMetadata_description = Lens.lens (\AssessmentMetadata' {description} -> description) (\s@AssessmentMetadata' {} a -> s {description = a} :: AssessmentMetadata)++-- | The unique identifier for the assessment.+assessmentMetadata_id :: Lens.Lens' AssessmentMetadata (Prelude.Maybe Prelude.Text)+assessmentMetadata_id = Lens.lens (\AssessmentMetadata' {id} -> id) (\s@AssessmentMetadata' {} a -> s {id = a} :: AssessmentMetadata)++-- | The time of the most recent update.+assessmentMetadata_lastUpdated :: Lens.Lens' AssessmentMetadata (Prelude.Maybe Prelude.UTCTime)+assessmentMetadata_lastUpdated = Lens.lens (\AssessmentMetadata' {lastUpdated} -> lastUpdated) (\s@AssessmentMetadata' {} a -> s {lastUpdated = a} :: AssessmentMetadata) Prelude.. Lens.mapping Data._Time++-- | The name of the assessment.+assessmentMetadata_name :: Lens.Lens' AssessmentMetadata (Prelude.Maybe Prelude.Text)+assessmentMetadata_name = Lens.lens (\AssessmentMetadata' {name} -> name) (\s@AssessmentMetadata' {} a -> s {name = a} :: AssessmentMetadata)++-- | The roles that are associated with the assessment.+assessmentMetadata_roles :: Lens.Lens' AssessmentMetadata (Prelude.Maybe [Role])+assessmentMetadata_roles = Lens.lens (\AssessmentMetadata' {roles} -> roles) (\s@AssessmentMetadata' {} a -> s {roles = a} :: AssessmentMetadata) Prelude.. Lens.mapping Lens.coerced++-- | The wrapper of Amazon Web Services accounts and services that are in+-- scope for the assessment.+assessmentMetadata_scope :: Lens.Lens' AssessmentMetadata (Prelude.Maybe Scope)+assessmentMetadata_scope = Lens.lens (\AssessmentMetadata' {scope} -> scope) (\s@AssessmentMetadata' {} a -> s {scope = a} :: AssessmentMetadata)++-- | The overall status of the assessment.+assessmentMetadata_status :: Lens.Lens' AssessmentMetadata (Prelude.Maybe AssessmentStatus)+assessmentMetadata_status = Lens.lens (\AssessmentMetadata' {status} -> status) (\s@AssessmentMetadata' {} a -> s {status = a} :: AssessmentMetadata)++instance Data.FromJSON AssessmentMetadata where+ parseJSON =+ Data.withObject+ "AssessmentMetadata"+ ( \x ->+ AssessmentMetadata'+ Prelude.<$> (x Data..:? "assessmentReportsDestination")+ Prelude.<*> (x Data..:? "complianceType")+ Prelude.<*> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "delegations" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastUpdated")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "roles" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "scope")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable AssessmentMetadata where+ hashWithSalt _salt AssessmentMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentReportsDestination+ `Prelude.hashWithSalt` complianceType+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` delegations+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastUpdated+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` roles+ `Prelude.hashWithSalt` scope+ `Prelude.hashWithSalt` status++instance Prelude.NFData AssessmentMetadata where+ rnf AssessmentMetadata' {..} =+ Prelude.rnf assessmentReportsDestination+ `Prelude.seq` Prelude.rnf complianceType+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf delegations+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastUpdated+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf roles+ `Prelude.seq` Prelude.rnf scope+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AuditManager/Types/AssessmentMetadataItem.hs view
@@ -0,0 +1,164 @@+{-# 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.AuditManager.Types.AssessmentMetadataItem+-- 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.AuditManager.Types.AssessmentMetadataItem where++import Amazonka.AuditManager.Types.AssessmentStatus+import Amazonka.AuditManager.Types.Delegation+import Amazonka.AuditManager.Types.Role+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++-- | A metadata object that\'s associated with an assessment in Audit+-- Manager.+--+-- /See:/ 'newAssessmentMetadataItem' smart constructor.+data AssessmentMetadataItem = AssessmentMetadataItem'+ { -- | The name of the compliance standard that\'s related to the assessment,+ -- such as PCI-DSS.+ complianceType :: Prelude.Maybe Prelude.Text,+ -- | Specifies when the assessment was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The delegations that are associated with the assessment.+ delegations :: Prelude.Maybe [Delegation],+ -- | The unique identifier for the assessment.+ id :: Prelude.Maybe Prelude.Text,+ -- | The time of the most recent update.+ lastUpdated :: Prelude.Maybe Data.POSIX,+ -- | The name of the assessment.+ name :: Prelude.Maybe Prelude.Text,+ -- | The roles that are associated with the assessment.+ roles :: Prelude.Maybe [Role],+ -- | The current status of the assessment.+ status :: Prelude.Maybe AssessmentStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssessmentMetadataItem' 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:+--+-- 'complianceType', 'assessmentMetadataItem_complianceType' - The name of the compliance standard that\'s related to the assessment,+-- such as PCI-DSS.+--+-- 'creationTime', 'assessmentMetadataItem_creationTime' - Specifies when the assessment was created.+--+-- 'delegations', 'assessmentMetadataItem_delegations' - The delegations that are associated with the assessment.+--+-- 'id', 'assessmentMetadataItem_id' - The unique identifier for the assessment.+--+-- 'lastUpdated', 'assessmentMetadataItem_lastUpdated' - The time of the most recent update.+--+-- 'name', 'assessmentMetadataItem_name' - The name of the assessment.+--+-- 'roles', 'assessmentMetadataItem_roles' - The roles that are associated with the assessment.+--+-- 'status', 'assessmentMetadataItem_status' - The current status of the assessment.+newAssessmentMetadataItem ::+ AssessmentMetadataItem+newAssessmentMetadataItem =+ AssessmentMetadataItem'+ { complianceType =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ delegations = Prelude.Nothing,+ id = Prelude.Nothing,+ lastUpdated = Prelude.Nothing,+ name = Prelude.Nothing,+ roles = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The name of the compliance standard that\'s related to the assessment,+-- such as PCI-DSS.+assessmentMetadataItem_complianceType :: Lens.Lens' AssessmentMetadataItem (Prelude.Maybe Prelude.Text)+assessmentMetadataItem_complianceType = Lens.lens (\AssessmentMetadataItem' {complianceType} -> complianceType) (\s@AssessmentMetadataItem' {} a -> s {complianceType = a} :: AssessmentMetadataItem)++-- | Specifies when the assessment was created.+assessmentMetadataItem_creationTime :: Lens.Lens' AssessmentMetadataItem (Prelude.Maybe Prelude.UTCTime)+assessmentMetadataItem_creationTime = Lens.lens (\AssessmentMetadataItem' {creationTime} -> creationTime) (\s@AssessmentMetadataItem' {} a -> s {creationTime = a} :: AssessmentMetadataItem) Prelude.. Lens.mapping Data._Time++-- | The delegations that are associated with the assessment.+assessmentMetadataItem_delegations :: Lens.Lens' AssessmentMetadataItem (Prelude.Maybe [Delegation])+assessmentMetadataItem_delegations = Lens.lens (\AssessmentMetadataItem' {delegations} -> delegations) (\s@AssessmentMetadataItem' {} a -> s {delegations = a} :: AssessmentMetadataItem) Prelude.. Lens.mapping Lens.coerced++-- | The unique identifier for the assessment.+assessmentMetadataItem_id :: Lens.Lens' AssessmentMetadataItem (Prelude.Maybe Prelude.Text)+assessmentMetadataItem_id = Lens.lens (\AssessmentMetadataItem' {id} -> id) (\s@AssessmentMetadataItem' {} a -> s {id = a} :: AssessmentMetadataItem)++-- | The time of the most recent update.+assessmentMetadataItem_lastUpdated :: Lens.Lens' AssessmentMetadataItem (Prelude.Maybe Prelude.UTCTime)+assessmentMetadataItem_lastUpdated = Lens.lens (\AssessmentMetadataItem' {lastUpdated} -> lastUpdated) (\s@AssessmentMetadataItem' {} a -> s {lastUpdated = a} :: AssessmentMetadataItem) Prelude.. Lens.mapping Data._Time++-- | The name of the assessment.+assessmentMetadataItem_name :: Lens.Lens' AssessmentMetadataItem (Prelude.Maybe Prelude.Text)+assessmentMetadataItem_name = Lens.lens (\AssessmentMetadataItem' {name} -> name) (\s@AssessmentMetadataItem' {} a -> s {name = a} :: AssessmentMetadataItem)++-- | The roles that are associated with the assessment.+assessmentMetadataItem_roles :: Lens.Lens' AssessmentMetadataItem (Prelude.Maybe [Role])+assessmentMetadataItem_roles = Lens.lens (\AssessmentMetadataItem' {roles} -> roles) (\s@AssessmentMetadataItem' {} a -> s {roles = a} :: AssessmentMetadataItem) Prelude.. Lens.mapping Lens.coerced++-- | The current status of the assessment.+assessmentMetadataItem_status :: Lens.Lens' AssessmentMetadataItem (Prelude.Maybe AssessmentStatus)+assessmentMetadataItem_status = Lens.lens (\AssessmentMetadataItem' {status} -> status) (\s@AssessmentMetadataItem' {} a -> s {status = a} :: AssessmentMetadataItem)++instance Data.FromJSON AssessmentMetadataItem where+ parseJSON =+ Data.withObject+ "AssessmentMetadataItem"+ ( \x ->+ AssessmentMetadataItem'+ Prelude.<$> (x Data..:? "complianceType")+ Prelude.<*> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "delegations" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastUpdated")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "roles" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable AssessmentMetadataItem where+ hashWithSalt _salt AssessmentMetadataItem' {..} =+ _salt+ `Prelude.hashWithSalt` complianceType+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` delegations+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastUpdated+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` roles+ `Prelude.hashWithSalt` status++instance Prelude.NFData AssessmentMetadataItem where+ rnf AssessmentMetadataItem' {..} =+ Prelude.rnf complianceType+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf delegations+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastUpdated+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf roles+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AuditManager/Types/AssessmentReport.hs view
@@ -0,0 +1,173 @@+{-# 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.AuditManager.Types.AssessmentReport+-- 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.AuditManager.Types.AssessmentReport where++import Amazonka.AuditManager.Types.AssessmentReportStatus+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++-- | A finalized document that\'s generated from an Audit Manager assessment.+-- These reports summarize the relevant evidence that was collected for+-- your audit, and link to the relevant evidence folders. These evidence+-- folders are named and organized according to the controls that are+-- specified in your assessment.+--+-- /See:/ 'newAssessmentReport' smart constructor.+data AssessmentReport = AssessmentReport'+ { -- | The identifier for the specified assessment.+ assessmentId :: Prelude.Maybe Prelude.Text,+ -- | The name of the associated assessment.+ assessmentName :: Prelude.Maybe Prelude.Text,+ -- | The name of the user who created the assessment report.+ author :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the specified Amazon Web Services account.+ awsAccountId :: Prelude.Maybe Prelude.Text,+ -- | Specifies when the assessment report was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The description of the specified assessment report.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the assessment report.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name that\'s given to the assessment report.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status of the specified assessment report.+ status :: Prelude.Maybe AssessmentReportStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssessmentReport' 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:+--+-- 'assessmentId', 'assessmentReport_assessmentId' - The identifier for the specified assessment.+--+-- 'assessmentName', 'assessmentReport_assessmentName' - The name of the associated assessment.+--+-- 'author', 'assessmentReport_author' - The name of the user who created the assessment report.+--+-- 'awsAccountId', 'assessmentReport_awsAccountId' - The identifier for the specified Amazon Web Services account.+--+-- 'creationTime', 'assessmentReport_creationTime' - Specifies when the assessment report was created.+--+-- 'description', 'assessmentReport_description' - The description of the specified assessment report.+--+-- 'id', 'assessmentReport_id' - The unique identifier for the assessment report.+--+-- 'name', 'assessmentReport_name' - The name that\'s given to the assessment report.+--+-- 'status', 'assessmentReport_status' - The current status of the specified assessment report.+newAssessmentReport ::+ AssessmentReport+newAssessmentReport =+ AssessmentReport'+ { assessmentId = Prelude.Nothing,+ assessmentName = Prelude.Nothing,+ author = Prelude.Nothing,+ awsAccountId = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The identifier for the specified assessment.+assessmentReport_assessmentId :: Lens.Lens' AssessmentReport (Prelude.Maybe Prelude.Text)+assessmentReport_assessmentId = Lens.lens (\AssessmentReport' {assessmentId} -> assessmentId) (\s@AssessmentReport' {} a -> s {assessmentId = a} :: AssessmentReport)++-- | The name of the associated assessment.+assessmentReport_assessmentName :: Lens.Lens' AssessmentReport (Prelude.Maybe Prelude.Text)+assessmentReport_assessmentName = Lens.lens (\AssessmentReport' {assessmentName} -> assessmentName) (\s@AssessmentReport' {} a -> s {assessmentName = a} :: AssessmentReport)++-- | The name of the user who created the assessment report.+assessmentReport_author :: Lens.Lens' AssessmentReport (Prelude.Maybe Prelude.Text)+assessmentReport_author = Lens.lens (\AssessmentReport' {author} -> author) (\s@AssessmentReport' {} a -> s {author = a} :: AssessmentReport)++-- | The identifier for the specified Amazon Web Services account.+assessmentReport_awsAccountId :: Lens.Lens' AssessmentReport (Prelude.Maybe Prelude.Text)+assessmentReport_awsAccountId = Lens.lens (\AssessmentReport' {awsAccountId} -> awsAccountId) (\s@AssessmentReport' {} a -> s {awsAccountId = a} :: AssessmentReport)++-- | Specifies when the assessment report was created.+assessmentReport_creationTime :: Lens.Lens' AssessmentReport (Prelude.Maybe Prelude.UTCTime)+assessmentReport_creationTime = Lens.lens (\AssessmentReport' {creationTime} -> creationTime) (\s@AssessmentReport' {} a -> s {creationTime = a} :: AssessmentReport) Prelude.. Lens.mapping Data._Time++-- | The description of the specified assessment report.+assessmentReport_description :: Lens.Lens' AssessmentReport (Prelude.Maybe Prelude.Text)+assessmentReport_description = Lens.lens (\AssessmentReport' {description} -> description) (\s@AssessmentReport' {} a -> s {description = a} :: AssessmentReport)++-- | The unique identifier for the assessment report.+assessmentReport_id :: Lens.Lens' AssessmentReport (Prelude.Maybe Prelude.Text)+assessmentReport_id = Lens.lens (\AssessmentReport' {id} -> id) (\s@AssessmentReport' {} a -> s {id = a} :: AssessmentReport)++-- | The name that\'s given to the assessment report.+assessmentReport_name :: Lens.Lens' AssessmentReport (Prelude.Maybe Prelude.Text)+assessmentReport_name = Lens.lens (\AssessmentReport' {name} -> name) (\s@AssessmentReport' {} a -> s {name = a} :: AssessmentReport)++-- | The current status of the specified assessment report.+assessmentReport_status :: Lens.Lens' AssessmentReport (Prelude.Maybe AssessmentReportStatus)+assessmentReport_status = Lens.lens (\AssessmentReport' {status} -> status) (\s@AssessmentReport' {} a -> s {status = a} :: AssessmentReport)++instance Data.FromJSON AssessmentReport where+ parseJSON =+ Data.withObject+ "AssessmentReport"+ ( \x ->+ AssessmentReport'+ Prelude.<$> (x Data..:? "assessmentId")+ Prelude.<*> (x Data..:? "assessmentName")+ Prelude.<*> (x Data..:? "author")+ Prelude.<*> (x Data..:? "awsAccountId")+ Prelude.<*> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable AssessmentReport where+ hashWithSalt _salt AssessmentReport' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` assessmentName+ `Prelude.hashWithSalt` author+ `Prelude.hashWithSalt` awsAccountId+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance Prelude.NFData AssessmentReport where+ rnf AssessmentReport' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf assessmentName+ `Prelude.seq` Prelude.rnf author+ `Prelude.seq` Prelude.rnf awsAccountId+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AuditManager/Types/AssessmentReportDestinationType.hs view
@@ -0,0 +1,66 @@+{-# 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.AuditManager.Types.AssessmentReportDestinationType+-- 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.AuditManager.Types.AssessmentReportDestinationType+ ( AssessmentReportDestinationType+ ( ..,+ AssessmentReportDestinationType_S3+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssessmentReportDestinationType = AssessmentReportDestinationType'+ { fromAssessmentReportDestinationType ::+ 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 AssessmentReportDestinationType_S3 :: AssessmentReportDestinationType+pattern AssessmentReportDestinationType_S3 = AssessmentReportDestinationType' "S3"++{-# COMPLETE+ AssessmentReportDestinationType_S3,+ AssessmentReportDestinationType'+ #-}
+ gen/Amazonka/AuditManager/Types/AssessmentReportEvidenceError.hs view
@@ -0,0 +1,101 @@+{-# 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.AuditManager.Types.AssessmentReportEvidenceError+-- 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.AuditManager.Types.AssessmentReportEvidenceError 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++-- | An error entity for assessment report evidence errors. This is used to+-- provide more meaningful errors than a simple string message.+--+-- /See:/ 'newAssessmentReportEvidenceError' smart constructor.+data AssessmentReportEvidenceError = AssessmentReportEvidenceError'+ { -- | The error code that was returned.+ errorCode :: Prelude.Maybe Prelude.Text,+ -- | The error message that was returned.+ errorMessage :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the evidence.+ evidenceId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssessmentReportEvidenceError' 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:+--+-- 'errorCode', 'assessmentReportEvidenceError_errorCode' - The error code that was returned.+--+-- 'errorMessage', 'assessmentReportEvidenceError_errorMessage' - The error message that was returned.+--+-- 'evidenceId', 'assessmentReportEvidenceError_evidenceId' - The identifier for the evidence.+newAssessmentReportEvidenceError ::+ AssessmentReportEvidenceError+newAssessmentReportEvidenceError =+ AssessmentReportEvidenceError'+ { errorCode =+ Prelude.Nothing,+ errorMessage = Prelude.Nothing,+ evidenceId = Prelude.Nothing+ }++-- | The error code that was returned.+assessmentReportEvidenceError_errorCode :: Lens.Lens' AssessmentReportEvidenceError (Prelude.Maybe Prelude.Text)+assessmentReportEvidenceError_errorCode = Lens.lens (\AssessmentReportEvidenceError' {errorCode} -> errorCode) (\s@AssessmentReportEvidenceError' {} a -> s {errorCode = a} :: AssessmentReportEvidenceError)++-- | The error message that was returned.+assessmentReportEvidenceError_errorMessage :: Lens.Lens' AssessmentReportEvidenceError (Prelude.Maybe Prelude.Text)+assessmentReportEvidenceError_errorMessage = Lens.lens (\AssessmentReportEvidenceError' {errorMessage} -> errorMessage) (\s@AssessmentReportEvidenceError' {} a -> s {errorMessage = a} :: AssessmentReportEvidenceError)++-- | The identifier for the evidence.+assessmentReportEvidenceError_evidenceId :: Lens.Lens' AssessmentReportEvidenceError (Prelude.Maybe Prelude.Text)+assessmentReportEvidenceError_evidenceId = Lens.lens (\AssessmentReportEvidenceError' {evidenceId} -> evidenceId) (\s@AssessmentReportEvidenceError' {} a -> s {evidenceId = a} :: AssessmentReportEvidenceError)++instance Data.FromJSON AssessmentReportEvidenceError where+ parseJSON =+ Data.withObject+ "AssessmentReportEvidenceError"+ ( \x ->+ AssessmentReportEvidenceError'+ Prelude.<$> (x Data..:? "errorCode")+ Prelude.<*> (x Data..:? "errorMessage")+ Prelude.<*> (x Data..:? "evidenceId")+ )++instance+ Prelude.Hashable+ AssessmentReportEvidenceError+ where+ hashWithSalt _salt AssessmentReportEvidenceError' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` evidenceId++instance Prelude.NFData AssessmentReportEvidenceError where+ rnf AssessmentReportEvidenceError' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf evidenceId
+ gen/Amazonka/AuditManager/Types/AssessmentReportMetadata.hs view
@@ -0,0 +1,159 @@+{-# 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.AuditManager.Types.AssessmentReportMetadata+-- 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.AuditManager.Types.AssessmentReportMetadata where++import Amazonka.AuditManager.Types.AssessmentReportStatus+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++-- | The metadata objects that are associated with the specified assessment+-- report.+--+-- /See:/ 'newAssessmentReportMetadata' smart constructor.+data AssessmentReportMetadata = AssessmentReportMetadata'+ { -- | The unique identifier for the associated assessment.+ assessmentId :: Prelude.Maybe Prelude.Text,+ -- | The name of the associated assessment.+ assessmentName :: Prelude.Maybe Prelude.Text,+ -- | The name of the user who created the assessment report.+ author :: Prelude.Maybe Prelude.Text,+ -- | Specifies when the assessment report was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The description of the assessment report.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the assessment report.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the assessment report.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status of the assessment report.+ status :: Prelude.Maybe AssessmentReportStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssessmentReportMetadata' 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:+--+-- 'assessmentId', 'assessmentReportMetadata_assessmentId' - The unique identifier for the associated assessment.+--+-- 'assessmentName', 'assessmentReportMetadata_assessmentName' - The name of the associated assessment.+--+-- 'author', 'assessmentReportMetadata_author' - The name of the user who created the assessment report.+--+-- 'creationTime', 'assessmentReportMetadata_creationTime' - Specifies when the assessment report was created.+--+-- 'description', 'assessmentReportMetadata_description' - The description of the assessment report.+--+-- 'id', 'assessmentReportMetadata_id' - The unique identifier for the assessment report.+--+-- 'name', 'assessmentReportMetadata_name' - The name of the assessment report.+--+-- 'status', 'assessmentReportMetadata_status' - The current status of the assessment report.+newAssessmentReportMetadata ::+ AssessmentReportMetadata+newAssessmentReportMetadata =+ AssessmentReportMetadata'+ { assessmentId =+ Prelude.Nothing,+ assessmentName = Prelude.Nothing,+ author = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The unique identifier for the associated assessment.+assessmentReportMetadata_assessmentId :: Lens.Lens' AssessmentReportMetadata (Prelude.Maybe Prelude.Text)+assessmentReportMetadata_assessmentId = Lens.lens (\AssessmentReportMetadata' {assessmentId} -> assessmentId) (\s@AssessmentReportMetadata' {} a -> s {assessmentId = a} :: AssessmentReportMetadata)++-- | The name of the associated assessment.+assessmentReportMetadata_assessmentName :: Lens.Lens' AssessmentReportMetadata (Prelude.Maybe Prelude.Text)+assessmentReportMetadata_assessmentName = Lens.lens (\AssessmentReportMetadata' {assessmentName} -> assessmentName) (\s@AssessmentReportMetadata' {} a -> s {assessmentName = a} :: AssessmentReportMetadata)++-- | The name of the user who created the assessment report.+assessmentReportMetadata_author :: Lens.Lens' AssessmentReportMetadata (Prelude.Maybe Prelude.Text)+assessmentReportMetadata_author = Lens.lens (\AssessmentReportMetadata' {author} -> author) (\s@AssessmentReportMetadata' {} a -> s {author = a} :: AssessmentReportMetadata)++-- | Specifies when the assessment report was created.+assessmentReportMetadata_creationTime :: Lens.Lens' AssessmentReportMetadata (Prelude.Maybe Prelude.UTCTime)+assessmentReportMetadata_creationTime = Lens.lens (\AssessmentReportMetadata' {creationTime} -> creationTime) (\s@AssessmentReportMetadata' {} a -> s {creationTime = a} :: AssessmentReportMetadata) Prelude.. Lens.mapping Data._Time++-- | The description of the assessment report.+assessmentReportMetadata_description :: Lens.Lens' AssessmentReportMetadata (Prelude.Maybe Prelude.Text)+assessmentReportMetadata_description = Lens.lens (\AssessmentReportMetadata' {description} -> description) (\s@AssessmentReportMetadata' {} a -> s {description = a} :: AssessmentReportMetadata)++-- | The unique identifier for the assessment report.+assessmentReportMetadata_id :: Lens.Lens' AssessmentReportMetadata (Prelude.Maybe Prelude.Text)+assessmentReportMetadata_id = Lens.lens (\AssessmentReportMetadata' {id} -> id) (\s@AssessmentReportMetadata' {} a -> s {id = a} :: AssessmentReportMetadata)++-- | The name of the assessment report.+assessmentReportMetadata_name :: Lens.Lens' AssessmentReportMetadata (Prelude.Maybe Prelude.Text)+assessmentReportMetadata_name = Lens.lens (\AssessmentReportMetadata' {name} -> name) (\s@AssessmentReportMetadata' {} a -> s {name = a} :: AssessmentReportMetadata)++-- | The current status of the assessment report.+assessmentReportMetadata_status :: Lens.Lens' AssessmentReportMetadata (Prelude.Maybe AssessmentReportStatus)+assessmentReportMetadata_status = Lens.lens (\AssessmentReportMetadata' {status} -> status) (\s@AssessmentReportMetadata' {} a -> s {status = a} :: AssessmentReportMetadata)++instance Data.FromJSON AssessmentReportMetadata where+ parseJSON =+ Data.withObject+ "AssessmentReportMetadata"+ ( \x ->+ AssessmentReportMetadata'+ Prelude.<$> (x Data..:? "assessmentId")+ Prelude.<*> (x Data..:? "assessmentName")+ Prelude.<*> (x Data..:? "author")+ Prelude.<*> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable AssessmentReportMetadata where+ hashWithSalt _salt AssessmentReportMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` assessmentName+ `Prelude.hashWithSalt` author+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` status++instance Prelude.NFData AssessmentReportMetadata where+ rnf AssessmentReportMetadata' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf assessmentName+ `Prelude.seq` Prelude.rnf author+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AuditManager/Types/AssessmentReportStatus.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.AuditManager.Types.AssessmentReportStatus+-- 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.AuditManager.Types.AssessmentReportStatus+ ( AssessmentReportStatus+ ( ..,+ AssessmentReportStatus_COMPLETE,+ AssessmentReportStatus_FAILED,+ AssessmentReportStatus_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssessmentReportStatus = AssessmentReportStatus'+ { fromAssessmentReportStatus ::+ 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 AssessmentReportStatus_COMPLETE :: AssessmentReportStatus+pattern AssessmentReportStatus_COMPLETE = AssessmentReportStatus' "COMPLETE"++pattern AssessmentReportStatus_FAILED :: AssessmentReportStatus+pattern AssessmentReportStatus_FAILED = AssessmentReportStatus' "FAILED"++pattern AssessmentReportStatus_IN_PROGRESS :: AssessmentReportStatus+pattern AssessmentReportStatus_IN_PROGRESS = AssessmentReportStatus' "IN_PROGRESS"++{-# COMPLETE+ AssessmentReportStatus_COMPLETE,+ AssessmentReportStatus_FAILED,+ AssessmentReportStatus_IN_PROGRESS,+ AssessmentReportStatus'+ #-}
+ gen/Amazonka/AuditManager/Types/AssessmentReportsDestination.hs view
@@ -0,0 +1,100 @@+{-# 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.AuditManager.Types.AssessmentReportsDestination+-- 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.AuditManager.Types.AssessmentReportsDestination where++import Amazonka.AuditManager.Types.AssessmentReportDestinationType+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++-- | The location where Audit Manager saves assessment reports for the given+-- assessment.+--+-- /See:/ 'newAssessmentReportsDestination' smart constructor.+data AssessmentReportsDestination = AssessmentReportsDestination'+ { -- | The destination of the assessment report.+ destination :: Prelude.Maybe Prelude.Text,+ -- | The destination type, such as Amazon S3.+ destinationType :: Prelude.Maybe AssessmentReportDestinationType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssessmentReportsDestination' 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:+--+-- 'destination', 'assessmentReportsDestination_destination' - The destination of the assessment report.+--+-- 'destinationType', 'assessmentReportsDestination_destinationType' - The destination type, such as Amazon S3.+newAssessmentReportsDestination ::+ AssessmentReportsDestination+newAssessmentReportsDestination =+ AssessmentReportsDestination'+ { destination =+ Prelude.Nothing,+ destinationType = Prelude.Nothing+ }++-- | The destination of the assessment report.+assessmentReportsDestination_destination :: Lens.Lens' AssessmentReportsDestination (Prelude.Maybe Prelude.Text)+assessmentReportsDestination_destination = Lens.lens (\AssessmentReportsDestination' {destination} -> destination) (\s@AssessmentReportsDestination' {} a -> s {destination = a} :: AssessmentReportsDestination)++-- | The destination type, such as Amazon S3.+assessmentReportsDestination_destinationType :: Lens.Lens' AssessmentReportsDestination (Prelude.Maybe AssessmentReportDestinationType)+assessmentReportsDestination_destinationType = Lens.lens (\AssessmentReportsDestination' {destinationType} -> destinationType) (\s@AssessmentReportsDestination' {} a -> s {destinationType = a} :: AssessmentReportsDestination)++instance Data.FromJSON AssessmentReportsDestination where+ parseJSON =+ Data.withObject+ "AssessmentReportsDestination"+ ( \x ->+ AssessmentReportsDestination'+ Prelude.<$> (x Data..:? "destination")+ Prelude.<*> (x Data..:? "destinationType")+ )++instance+ Prelude.Hashable+ AssessmentReportsDestination+ where+ hashWithSalt _salt AssessmentReportsDestination' {..} =+ _salt+ `Prelude.hashWithSalt` destination+ `Prelude.hashWithSalt` destinationType++instance Prelude.NFData AssessmentReportsDestination where+ rnf AssessmentReportsDestination' {..} =+ Prelude.rnf destination+ `Prelude.seq` Prelude.rnf destinationType++instance Data.ToJSON AssessmentReportsDestination where+ toJSON AssessmentReportsDestination' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("destination" Data..=) Prelude.<$> destination,+ ("destinationType" Data..=)+ Prelude.<$> destinationType+ ]+ )
+ gen/Amazonka/AuditManager/Types/AssessmentStatus.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.AuditManager.Types.AssessmentStatus+-- 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.AuditManager.Types.AssessmentStatus+ ( AssessmentStatus+ ( ..,+ AssessmentStatus_ACTIVE,+ AssessmentStatus_INACTIVE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AssessmentStatus = AssessmentStatus'+ { fromAssessmentStatus ::+ 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 AssessmentStatus_ACTIVE :: AssessmentStatus+pattern AssessmentStatus_ACTIVE = AssessmentStatus' "ACTIVE"++pattern AssessmentStatus_INACTIVE :: AssessmentStatus+pattern AssessmentStatus_INACTIVE = AssessmentStatus' "INACTIVE"++{-# COMPLETE+ AssessmentStatus_ACTIVE,+ AssessmentStatus_INACTIVE,+ AssessmentStatus'+ #-}
+ gen/Amazonka/AuditManager/Types/BatchCreateDelegationByAssessmentError.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.AuditManager.Types.BatchCreateDelegationByAssessmentError+-- 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.AuditManager.Types.BatchCreateDelegationByAssessmentError where++import Amazonka.AuditManager.Types.CreateDelegationRequest+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++-- | An error entity for the @BatchCreateDelegationByAssessment@ API. This is+-- used to provide more meaningful errors than a simple string message.+--+-- /See:/ 'newBatchCreateDelegationByAssessmentError' smart constructor.+data BatchCreateDelegationByAssessmentError = BatchCreateDelegationByAssessmentError'+ { -- | The API request to batch create delegations in Audit Manager.+ createDelegationRequest :: Prelude.Maybe CreateDelegationRequest,+ -- | The error code that the @BatchCreateDelegationByAssessment@ API+ -- returned.+ errorCode :: Prelude.Maybe Prelude.Text,+ -- | The error message that the @BatchCreateDelegationByAssessment@ API+ -- returned.+ errorMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchCreateDelegationByAssessmentError' 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:+--+-- 'createDelegationRequest', 'batchCreateDelegationByAssessmentError_createDelegationRequest' - The API request to batch create delegations in Audit Manager.+--+-- 'errorCode', 'batchCreateDelegationByAssessmentError_errorCode' - The error code that the @BatchCreateDelegationByAssessment@ API+-- returned.+--+-- 'errorMessage', 'batchCreateDelegationByAssessmentError_errorMessage' - The error message that the @BatchCreateDelegationByAssessment@ API+-- returned.+newBatchCreateDelegationByAssessmentError ::+ BatchCreateDelegationByAssessmentError+newBatchCreateDelegationByAssessmentError =+ BatchCreateDelegationByAssessmentError'+ { createDelegationRequest =+ Prelude.Nothing,+ errorCode = Prelude.Nothing,+ errorMessage = Prelude.Nothing+ }++-- | The API request to batch create delegations in Audit Manager.+batchCreateDelegationByAssessmentError_createDelegationRequest :: Lens.Lens' BatchCreateDelegationByAssessmentError (Prelude.Maybe CreateDelegationRequest)+batchCreateDelegationByAssessmentError_createDelegationRequest = Lens.lens (\BatchCreateDelegationByAssessmentError' {createDelegationRequest} -> createDelegationRequest) (\s@BatchCreateDelegationByAssessmentError' {} a -> s {createDelegationRequest = a} :: BatchCreateDelegationByAssessmentError)++-- | The error code that the @BatchCreateDelegationByAssessment@ API+-- returned.+batchCreateDelegationByAssessmentError_errorCode :: Lens.Lens' BatchCreateDelegationByAssessmentError (Prelude.Maybe Prelude.Text)+batchCreateDelegationByAssessmentError_errorCode = Lens.lens (\BatchCreateDelegationByAssessmentError' {errorCode} -> errorCode) (\s@BatchCreateDelegationByAssessmentError' {} a -> s {errorCode = a} :: BatchCreateDelegationByAssessmentError)++-- | The error message that the @BatchCreateDelegationByAssessment@ API+-- returned.+batchCreateDelegationByAssessmentError_errorMessage :: Lens.Lens' BatchCreateDelegationByAssessmentError (Prelude.Maybe Prelude.Text)+batchCreateDelegationByAssessmentError_errorMessage = Lens.lens (\BatchCreateDelegationByAssessmentError' {errorMessage} -> errorMessage) (\s@BatchCreateDelegationByAssessmentError' {} a -> s {errorMessage = a} :: BatchCreateDelegationByAssessmentError)++instance+ Data.FromJSON+ BatchCreateDelegationByAssessmentError+ where+ parseJSON =+ Data.withObject+ "BatchCreateDelegationByAssessmentError"+ ( \x ->+ BatchCreateDelegationByAssessmentError'+ Prelude.<$> (x Data..:? "createDelegationRequest")+ Prelude.<*> (x Data..:? "errorCode")+ Prelude.<*> (x Data..:? "errorMessage")+ )++instance+ Prelude.Hashable+ BatchCreateDelegationByAssessmentError+ where+ hashWithSalt+ _salt+ BatchCreateDelegationByAssessmentError' {..} =+ _salt+ `Prelude.hashWithSalt` createDelegationRequest+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage++instance+ Prelude.NFData+ BatchCreateDelegationByAssessmentError+ where+ rnf BatchCreateDelegationByAssessmentError' {..} =+ Prelude.rnf createDelegationRequest+ `Prelude.seq` Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage
+ gen/Amazonka/AuditManager/Types/BatchDeleteDelegationByAssessmentError.hs view
@@ -0,0 +1,115 @@+{-# 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.AuditManager.Types.BatchDeleteDelegationByAssessmentError+-- 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.AuditManager.Types.BatchDeleteDelegationByAssessmentError 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++-- | An error entity for the @BatchDeleteDelegationByAssessment@ API. This is+-- used to provide more meaningful errors than a simple string message.+--+-- /See:/ 'newBatchDeleteDelegationByAssessmentError' smart constructor.+data BatchDeleteDelegationByAssessmentError = BatchDeleteDelegationByAssessmentError'+ { -- | The identifier for the delegation.+ delegationId :: Prelude.Maybe Prelude.Text,+ -- | The error code that the @BatchDeleteDelegationByAssessment@ API+ -- returned.+ errorCode :: Prelude.Maybe Prelude.Text,+ -- | The error message that the @BatchDeleteDelegationByAssessment@ API+ -- returned.+ errorMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchDeleteDelegationByAssessmentError' 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:+--+-- 'delegationId', 'batchDeleteDelegationByAssessmentError_delegationId' - The identifier for the delegation.+--+-- 'errorCode', 'batchDeleteDelegationByAssessmentError_errorCode' - The error code that the @BatchDeleteDelegationByAssessment@ API+-- returned.+--+-- 'errorMessage', 'batchDeleteDelegationByAssessmentError_errorMessage' - The error message that the @BatchDeleteDelegationByAssessment@ API+-- returned.+newBatchDeleteDelegationByAssessmentError ::+ BatchDeleteDelegationByAssessmentError+newBatchDeleteDelegationByAssessmentError =+ BatchDeleteDelegationByAssessmentError'+ { delegationId =+ Prelude.Nothing,+ errorCode = Prelude.Nothing,+ errorMessage = Prelude.Nothing+ }++-- | The identifier for the delegation.+batchDeleteDelegationByAssessmentError_delegationId :: Lens.Lens' BatchDeleteDelegationByAssessmentError (Prelude.Maybe Prelude.Text)+batchDeleteDelegationByAssessmentError_delegationId = Lens.lens (\BatchDeleteDelegationByAssessmentError' {delegationId} -> delegationId) (\s@BatchDeleteDelegationByAssessmentError' {} a -> s {delegationId = a} :: BatchDeleteDelegationByAssessmentError)++-- | The error code that the @BatchDeleteDelegationByAssessment@ API+-- returned.+batchDeleteDelegationByAssessmentError_errorCode :: Lens.Lens' BatchDeleteDelegationByAssessmentError (Prelude.Maybe Prelude.Text)+batchDeleteDelegationByAssessmentError_errorCode = Lens.lens (\BatchDeleteDelegationByAssessmentError' {errorCode} -> errorCode) (\s@BatchDeleteDelegationByAssessmentError' {} a -> s {errorCode = a} :: BatchDeleteDelegationByAssessmentError)++-- | The error message that the @BatchDeleteDelegationByAssessment@ API+-- returned.+batchDeleteDelegationByAssessmentError_errorMessage :: Lens.Lens' BatchDeleteDelegationByAssessmentError (Prelude.Maybe Prelude.Text)+batchDeleteDelegationByAssessmentError_errorMessage = Lens.lens (\BatchDeleteDelegationByAssessmentError' {errorMessage} -> errorMessage) (\s@BatchDeleteDelegationByAssessmentError' {} a -> s {errorMessage = a} :: BatchDeleteDelegationByAssessmentError)++instance+ Data.FromJSON+ BatchDeleteDelegationByAssessmentError+ where+ parseJSON =+ Data.withObject+ "BatchDeleteDelegationByAssessmentError"+ ( \x ->+ BatchDeleteDelegationByAssessmentError'+ Prelude.<$> (x Data..:? "delegationId")+ Prelude.<*> (x Data..:? "errorCode")+ Prelude.<*> (x Data..:? "errorMessage")+ )++instance+ Prelude.Hashable+ BatchDeleteDelegationByAssessmentError+ where+ hashWithSalt+ _salt+ BatchDeleteDelegationByAssessmentError' {..} =+ _salt+ `Prelude.hashWithSalt` delegationId+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage++instance+ Prelude.NFData+ BatchDeleteDelegationByAssessmentError+ where+ rnf BatchDeleteDelegationByAssessmentError' {..} =+ Prelude.rnf delegationId+ `Prelude.seq` Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage
+ gen/Amazonka/AuditManager/Types/BatchImportEvidenceToAssessmentControlError.hs view
@@ -0,0 +1,118 @@+{-# 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.AuditManager.Types.BatchImportEvidenceToAssessmentControlError+-- 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.AuditManager.Types.BatchImportEvidenceToAssessmentControlError where++import Amazonka.AuditManager.Types.ManualEvidence+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++-- | An error entity for the @BatchImportEvidenceToAssessmentControl@ API.+-- This is used to provide more meaningful errors than a simple string+-- message.+--+-- /See:/ 'newBatchImportEvidenceToAssessmentControlError' smart constructor.+data BatchImportEvidenceToAssessmentControlError = BatchImportEvidenceToAssessmentControlError'+ { -- | The error code that the @BatchImportEvidenceToAssessmentControl@ API+ -- returned.+ errorCode :: Prelude.Maybe Prelude.Text,+ -- | The error message that the @BatchImportEvidenceToAssessmentControl@ API+ -- returned.+ errorMessage :: Prelude.Maybe Prelude.Text,+ -- | Manual evidence that can\'t be collected automatically by Audit Manager.+ manualEvidence :: Prelude.Maybe ManualEvidence+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchImportEvidenceToAssessmentControlError' 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:+--+-- 'errorCode', 'batchImportEvidenceToAssessmentControlError_errorCode' - The error code that the @BatchImportEvidenceToAssessmentControl@ API+-- returned.+--+-- 'errorMessage', 'batchImportEvidenceToAssessmentControlError_errorMessage' - The error message that the @BatchImportEvidenceToAssessmentControl@ API+-- returned.+--+-- 'manualEvidence', 'batchImportEvidenceToAssessmentControlError_manualEvidence' - Manual evidence that can\'t be collected automatically by Audit Manager.+newBatchImportEvidenceToAssessmentControlError ::+ BatchImportEvidenceToAssessmentControlError+newBatchImportEvidenceToAssessmentControlError =+ BatchImportEvidenceToAssessmentControlError'+ { errorCode =+ Prelude.Nothing,+ errorMessage = Prelude.Nothing,+ manualEvidence =+ Prelude.Nothing+ }++-- | The error code that the @BatchImportEvidenceToAssessmentControl@ API+-- returned.+batchImportEvidenceToAssessmentControlError_errorCode :: Lens.Lens' BatchImportEvidenceToAssessmentControlError (Prelude.Maybe Prelude.Text)+batchImportEvidenceToAssessmentControlError_errorCode = Lens.lens (\BatchImportEvidenceToAssessmentControlError' {errorCode} -> errorCode) (\s@BatchImportEvidenceToAssessmentControlError' {} a -> s {errorCode = a} :: BatchImportEvidenceToAssessmentControlError)++-- | The error message that the @BatchImportEvidenceToAssessmentControl@ API+-- returned.+batchImportEvidenceToAssessmentControlError_errorMessage :: Lens.Lens' BatchImportEvidenceToAssessmentControlError (Prelude.Maybe Prelude.Text)+batchImportEvidenceToAssessmentControlError_errorMessage = Lens.lens (\BatchImportEvidenceToAssessmentControlError' {errorMessage} -> errorMessage) (\s@BatchImportEvidenceToAssessmentControlError' {} a -> s {errorMessage = a} :: BatchImportEvidenceToAssessmentControlError)++-- | Manual evidence that can\'t be collected automatically by Audit Manager.+batchImportEvidenceToAssessmentControlError_manualEvidence :: Lens.Lens' BatchImportEvidenceToAssessmentControlError (Prelude.Maybe ManualEvidence)+batchImportEvidenceToAssessmentControlError_manualEvidence = Lens.lens (\BatchImportEvidenceToAssessmentControlError' {manualEvidence} -> manualEvidence) (\s@BatchImportEvidenceToAssessmentControlError' {} a -> s {manualEvidence = a} :: BatchImportEvidenceToAssessmentControlError)++instance+ Data.FromJSON+ BatchImportEvidenceToAssessmentControlError+ where+ parseJSON =+ Data.withObject+ "BatchImportEvidenceToAssessmentControlError"+ ( \x ->+ BatchImportEvidenceToAssessmentControlError'+ Prelude.<$> (x Data..:? "errorCode")+ Prelude.<*> (x Data..:? "errorMessage")+ Prelude.<*> (x Data..:? "manualEvidence")+ )++instance+ Prelude.Hashable+ BatchImportEvidenceToAssessmentControlError+ where+ hashWithSalt+ _salt+ BatchImportEvidenceToAssessmentControlError' {..} =+ _salt+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` manualEvidence++instance+ Prelude.NFData+ BatchImportEvidenceToAssessmentControlError+ where+ rnf BatchImportEvidenceToAssessmentControlError' {..} =+ Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf manualEvidence
+ gen/Amazonka/AuditManager/Types/ChangeLog.hs view
@@ -0,0 +1,132 @@+{-# 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.AuditManager.Types.ChangeLog+-- 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.AuditManager.Types.ChangeLog where++import Amazonka.AuditManager.Types.ActionEnum+import Amazonka.AuditManager.Types.ObjectTypeEnum+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++-- | The record of a change within Audit Manager. For example, this could be+-- the status change of an assessment or the delegation of a control set.+--+-- /See:/ 'newChangeLog' smart constructor.+data ChangeLog = ChangeLog'+ { -- | The action that was performed.+ action :: Prelude.Maybe ActionEnum,+ -- | The time when the action was performed and the changelog record was+ -- created.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | The IAM user or role that performed the action.+ createdBy :: Prelude.Maybe Prelude.Text,+ -- | The name of the object that changed. This could be the name of an+ -- assessment, control, or control set.+ objectName :: Prelude.Maybe Prelude.Text,+ -- | The object that was changed, such as an assessment, control, or control+ -- set.+ objectType :: Prelude.Maybe ObjectTypeEnum+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChangeLog' 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:+--+-- 'action', 'changeLog_action' - The action that was performed.+--+-- 'createdAt', 'changeLog_createdAt' - The time when the action was performed and the changelog record was+-- created.+--+-- 'createdBy', 'changeLog_createdBy' - The IAM user or role that performed the action.+--+-- 'objectName', 'changeLog_objectName' - The name of the object that changed. This could be the name of an+-- assessment, control, or control set.+--+-- 'objectType', 'changeLog_objectType' - The object that was changed, such as an assessment, control, or control+-- set.+newChangeLog ::+ ChangeLog+newChangeLog =+ ChangeLog'+ { action = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ createdBy = Prelude.Nothing,+ objectName = Prelude.Nothing,+ objectType = Prelude.Nothing+ }++-- | The action that was performed.+changeLog_action :: Lens.Lens' ChangeLog (Prelude.Maybe ActionEnum)+changeLog_action = Lens.lens (\ChangeLog' {action} -> action) (\s@ChangeLog' {} a -> s {action = a} :: ChangeLog)++-- | The time when the action was performed and the changelog record was+-- created.+changeLog_createdAt :: Lens.Lens' ChangeLog (Prelude.Maybe Prelude.UTCTime)+changeLog_createdAt = Lens.lens (\ChangeLog' {createdAt} -> createdAt) (\s@ChangeLog' {} a -> s {createdAt = a} :: ChangeLog) Prelude.. Lens.mapping Data._Time++-- | The IAM user or role that performed the action.+changeLog_createdBy :: Lens.Lens' ChangeLog (Prelude.Maybe Prelude.Text)+changeLog_createdBy = Lens.lens (\ChangeLog' {createdBy} -> createdBy) (\s@ChangeLog' {} a -> s {createdBy = a} :: ChangeLog)++-- | The name of the object that changed. This could be the name of an+-- assessment, control, or control set.+changeLog_objectName :: Lens.Lens' ChangeLog (Prelude.Maybe Prelude.Text)+changeLog_objectName = Lens.lens (\ChangeLog' {objectName} -> objectName) (\s@ChangeLog' {} a -> s {objectName = a} :: ChangeLog)++-- | The object that was changed, such as an assessment, control, or control+-- set.+changeLog_objectType :: Lens.Lens' ChangeLog (Prelude.Maybe ObjectTypeEnum)+changeLog_objectType = Lens.lens (\ChangeLog' {objectType} -> objectType) (\s@ChangeLog' {} a -> s {objectType = a} :: ChangeLog)++instance Data.FromJSON ChangeLog where+ parseJSON =+ Data.withObject+ "ChangeLog"+ ( \x ->+ ChangeLog'+ Prelude.<$> (x Data..:? "action")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "createdBy")+ Prelude.<*> (x Data..:? "objectName")+ Prelude.<*> (x Data..:? "objectType")+ )++instance Prelude.Hashable ChangeLog where+ hashWithSalt _salt ChangeLog' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` objectName+ `Prelude.hashWithSalt` objectType++instance Prelude.NFData ChangeLog where+ rnf ChangeLog' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf objectName+ `Prelude.seq` Prelude.rnf objectType
+ gen/Amazonka/AuditManager/Types/Control.hs view
@@ -0,0 +1,248 @@+{-# 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.AuditManager.Types.Control+-- 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.AuditManager.Types.Control where++import Amazonka.AuditManager.Types.ControlMappingSource+import Amazonka.AuditManager.Types.ControlType+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++-- | A control in Audit Manager.+--+-- /See:/ 'newControl' smart constructor.+data Control = Control'+ { -- | The recommended actions to carry out if the control isn\'t fulfilled.+ actionPlanInstructions :: Prelude.Maybe Prelude.Text,+ -- | The title of the action plan for remediating the control.+ actionPlanTitle :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the control.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The data mapping sources for the control.+ controlMappingSources :: Prelude.Maybe (Prelude.NonEmpty ControlMappingSource),+ -- | The data source types that determine where Audit Manager collects+ -- evidence from for the control.+ controlSources :: Prelude.Maybe Prelude.Text,+ -- | The time when the control was created.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | The IAM user or role that created the control.+ createdBy :: Prelude.Maybe Prelude.Text,+ -- | The description of the control.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the control.+ id :: Prelude.Maybe Prelude.Text,+ -- | The time when the control was most recently updated.+ lastUpdatedAt :: Prelude.Maybe Data.POSIX,+ -- | The IAM user or role that most recently updated the control.+ lastUpdatedBy :: Prelude.Maybe Prelude.Text,+ -- | The name of the control.+ name :: Prelude.Maybe Prelude.Text,+ -- | The tags associated with the control.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The steps that you should follow to determine if the control has been+ -- satisfied.+ testingInformation :: Prelude.Maybe Prelude.Text,+ -- | The type of control, such as a custom control or a standard control.+ type' :: Prelude.Maybe ControlType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Control' 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:+--+-- 'actionPlanInstructions', 'control_actionPlanInstructions' - The recommended actions to carry out if the control isn\'t fulfilled.+--+-- 'actionPlanTitle', 'control_actionPlanTitle' - The title of the action plan for remediating the control.+--+-- 'arn', 'control_arn' - The Amazon Resource Name (ARN) of the control.+--+-- 'controlMappingSources', 'control_controlMappingSources' - The data mapping sources for the control.+--+-- 'controlSources', 'control_controlSources' - The data source types that determine where Audit Manager collects+-- evidence from for the control.+--+-- 'createdAt', 'control_createdAt' - The time when the control was created.+--+-- 'createdBy', 'control_createdBy' - The IAM user or role that created the control.+--+-- 'description', 'control_description' - The description of the control.+--+-- 'id', 'control_id' - The unique identifier for the control.+--+-- 'lastUpdatedAt', 'control_lastUpdatedAt' - The time when the control was most recently updated.+--+-- 'lastUpdatedBy', 'control_lastUpdatedBy' - The IAM user or role that most recently updated the control.+--+-- 'name', 'control_name' - The name of the control.+--+-- 'tags', 'control_tags' - The tags associated with the control.+--+-- 'testingInformation', 'control_testingInformation' - The steps that you should follow to determine if the control has been+-- satisfied.+--+-- 'type'', 'control_type' - The type of control, such as a custom control or a standard control.+newControl ::+ Control+newControl =+ Control'+ { actionPlanInstructions = Prelude.Nothing,+ actionPlanTitle = Prelude.Nothing,+ arn = Prelude.Nothing,+ controlMappingSources = Prelude.Nothing,+ controlSources = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ createdBy = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ lastUpdatedAt = Prelude.Nothing,+ lastUpdatedBy = Prelude.Nothing,+ name = Prelude.Nothing,+ tags = Prelude.Nothing,+ testingInformation = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The recommended actions to carry out if the control isn\'t fulfilled.+control_actionPlanInstructions :: Lens.Lens' Control (Prelude.Maybe Prelude.Text)+control_actionPlanInstructions = Lens.lens (\Control' {actionPlanInstructions} -> actionPlanInstructions) (\s@Control' {} a -> s {actionPlanInstructions = a} :: Control)++-- | The title of the action plan for remediating the control.+control_actionPlanTitle :: Lens.Lens' Control (Prelude.Maybe Prelude.Text)+control_actionPlanTitle = Lens.lens (\Control' {actionPlanTitle} -> actionPlanTitle) (\s@Control' {} a -> s {actionPlanTitle = a} :: Control)++-- | The Amazon Resource Name (ARN) of the control.+control_arn :: Lens.Lens' Control (Prelude.Maybe Prelude.Text)+control_arn = Lens.lens (\Control' {arn} -> arn) (\s@Control' {} a -> s {arn = a} :: Control)++-- | The data mapping sources for the control.+control_controlMappingSources :: Lens.Lens' Control (Prelude.Maybe (Prelude.NonEmpty ControlMappingSource))+control_controlMappingSources = Lens.lens (\Control' {controlMappingSources} -> controlMappingSources) (\s@Control' {} a -> s {controlMappingSources = a} :: Control) Prelude.. Lens.mapping Lens.coerced++-- | The data source types that determine where Audit Manager collects+-- evidence from for the control.+control_controlSources :: Lens.Lens' Control (Prelude.Maybe Prelude.Text)+control_controlSources = Lens.lens (\Control' {controlSources} -> controlSources) (\s@Control' {} a -> s {controlSources = a} :: Control)++-- | The time when the control was created.+control_createdAt :: Lens.Lens' Control (Prelude.Maybe Prelude.UTCTime)+control_createdAt = Lens.lens (\Control' {createdAt} -> createdAt) (\s@Control' {} a -> s {createdAt = a} :: Control) Prelude.. Lens.mapping Data._Time++-- | The IAM user or role that created the control.+control_createdBy :: Lens.Lens' Control (Prelude.Maybe Prelude.Text)+control_createdBy = Lens.lens (\Control' {createdBy} -> createdBy) (\s@Control' {} a -> s {createdBy = a} :: Control)++-- | The description of the control.+control_description :: Lens.Lens' Control (Prelude.Maybe Prelude.Text)+control_description = Lens.lens (\Control' {description} -> description) (\s@Control' {} a -> s {description = a} :: Control)++-- | The unique identifier for the control.+control_id :: Lens.Lens' Control (Prelude.Maybe Prelude.Text)+control_id = Lens.lens (\Control' {id} -> id) (\s@Control' {} a -> s {id = a} :: Control)++-- | The time when the control was most recently updated.+control_lastUpdatedAt :: Lens.Lens' Control (Prelude.Maybe Prelude.UTCTime)+control_lastUpdatedAt = Lens.lens (\Control' {lastUpdatedAt} -> lastUpdatedAt) (\s@Control' {} a -> s {lastUpdatedAt = a} :: Control) Prelude.. Lens.mapping Data._Time++-- | The IAM user or role that most recently updated the control.+control_lastUpdatedBy :: Lens.Lens' Control (Prelude.Maybe Prelude.Text)+control_lastUpdatedBy = Lens.lens (\Control' {lastUpdatedBy} -> lastUpdatedBy) (\s@Control' {} a -> s {lastUpdatedBy = a} :: Control)++-- | The name of the control.+control_name :: Lens.Lens' Control (Prelude.Maybe Prelude.Text)+control_name = Lens.lens (\Control' {name} -> name) (\s@Control' {} a -> s {name = a} :: Control)++-- | The tags associated with the control.+control_tags :: Lens.Lens' Control (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+control_tags = Lens.lens (\Control' {tags} -> tags) (\s@Control' {} a -> s {tags = a} :: Control) Prelude.. Lens.mapping Lens.coerced++-- | The steps that you should follow to determine if the control has been+-- satisfied.+control_testingInformation :: Lens.Lens' Control (Prelude.Maybe Prelude.Text)+control_testingInformation = Lens.lens (\Control' {testingInformation} -> testingInformation) (\s@Control' {} a -> s {testingInformation = a} :: Control)++-- | The type of control, such as a custom control or a standard control.+control_type :: Lens.Lens' Control (Prelude.Maybe ControlType)+control_type = Lens.lens (\Control' {type'} -> type') (\s@Control' {} a -> s {type' = a} :: Control)++instance Data.FromJSON Control where+ parseJSON =+ Data.withObject+ "Control"+ ( \x ->+ Control'+ Prelude.<$> (x Data..:? "actionPlanInstructions")+ Prelude.<*> (x Data..:? "actionPlanTitle")+ Prelude.<*> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "controlMappingSources")+ Prelude.<*> (x Data..:? "controlSources")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "createdBy")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastUpdatedAt")+ Prelude.<*> (x Data..:? "lastUpdatedBy")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "testingInformation")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable Control where+ hashWithSalt _salt Control' {..} =+ _salt+ `Prelude.hashWithSalt` actionPlanInstructions+ `Prelude.hashWithSalt` actionPlanTitle+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` controlMappingSources+ `Prelude.hashWithSalt` controlSources+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastUpdatedAt+ `Prelude.hashWithSalt` lastUpdatedBy+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` testingInformation+ `Prelude.hashWithSalt` type'++instance Prelude.NFData Control where+ rnf Control' {..} =+ Prelude.rnf actionPlanInstructions+ `Prelude.seq` Prelude.rnf actionPlanTitle+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf controlMappingSources+ `Prelude.seq` Prelude.rnf controlSources+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastUpdatedAt+ `Prelude.seq` Prelude.rnf lastUpdatedBy+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf testingInformation+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/AuditManager/Types/ControlComment.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.AuditManager.Types.ControlComment+-- 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.AuditManager.Types.ControlComment 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++-- | A comment that\'s posted by a user on a control. This includes the+-- author\'s name, the comment text, and a timestamp.+--+-- /See:/ 'newControlComment' smart constructor.+data ControlComment = ControlComment'+ { -- | The name of the user who authored the comment.+ authorName :: Prelude.Maybe Prelude.Text,+ -- | The body text of a control comment.+ commentBody :: Prelude.Maybe Prelude.Text,+ -- | The time when the comment was posted.+ postedDate :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ControlComment' 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:+--+-- 'authorName', 'controlComment_authorName' - The name of the user who authored the comment.+--+-- 'commentBody', 'controlComment_commentBody' - The body text of a control comment.+--+-- 'postedDate', 'controlComment_postedDate' - The time when the comment was posted.+newControlComment ::+ ControlComment+newControlComment =+ ControlComment'+ { authorName = Prelude.Nothing,+ commentBody = Prelude.Nothing,+ postedDate = Prelude.Nothing+ }++-- | The name of the user who authored the comment.+controlComment_authorName :: Lens.Lens' ControlComment (Prelude.Maybe Prelude.Text)+controlComment_authorName = Lens.lens (\ControlComment' {authorName} -> authorName) (\s@ControlComment' {} a -> s {authorName = a} :: ControlComment)++-- | The body text of a control comment.+controlComment_commentBody :: Lens.Lens' ControlComment (Prelude.Maybe Prelude.Text)+controlComment_commentBody = Lens.lens (\ControlComment' {commentBody} -> commentBody) (\s@ControlComment' {} a -> s {commentBody = a} :: ControlComment)++-- | The time when the comment was posted.+controlComment_postedDate :: Lens.Lens' ControlComment (Prelude.Maybe Prelude.UTCTime)+controlComment_postedDate = Lens.lens (\ControlComment' {postedDate} -> postedDate) (\s@ControlComment' {} a -> s {postedDate = a} :: ControlComment) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON ControlComment where+ parseJSON =+ Data.withObject+ "ControlComment"+ ( \x ->+ ControlComment'+ Prelude.<$> (x Data..:? "authorName")+ Prelude.<*> (x Data..:? "commentBody")+ Prelude.<*> (x Data..:? "postedDate")+ )++instance Prelude.Hashable ControlComment where+ hashWithSalt _salt ControlComment' {..} =+ _salt+ `Prelude.hashWithSalt` authorName+ `Prelude.hashWithSalt` commentBody+ `Prelude.hashWithSalt` postedDate++instance Prelude.NFData ControlComment where+ rnf ControlComment' {..} =+ Prelude.rnf authorName+ `Prelude.seq` Prelude.rnf commentBody+ `Prelude.seq` Prelude.rnf postedDate
+ gen/Amazonka/AuditManager/Types/ControlDomainInsights.hs view
@@ -0,0 +1,143 @@+{-# 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.AuditManager.Types.ControlDomainInsights+-- 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.AuditManager.Types.ControlDomainInsights where++import Amazonka.AuditManager.Types.EvidenceInsights+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++-- | A summary of the latest analytics data for a specific control domain.+--+-- Control domain insights are grouped by control domain, and ranked by the+-- highest total count of non-compliant evidence.+--+-- /See:/ 'newControlDomainInsights' smart constructor.+data ControlDomainInsights = ControlDomainInsights'+ { -- | The number of controls in the control domain that collected+ -- non-compliant evidence on the @lastUpdated@ date.+ controlsCountByNoncompliantEvidence :: Prelude.Maybe Prelude.Int,+ -- | A breakdown of the compliance check status for the evidence that’s+ -- associated with the control domain.+ evidenceInsights :: Prelude.Maybe EvidenceInsights,+ -- | The unique identifier for the control domain.+ id :: Prelude.Maybe Prelude.Text,+ -- | The time when the control domain insights were last updated.+ lastUpdated :: Prelude.Maybe Data.POSIX,+ -- | The name of the control domain.+ name :: Prelude.Maybe Prelude.Text,+ -- | The total number of controls in the control domain.+ totalControlsCount :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ControlDomainInsights' 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:+--+-- 'controlsCountByNoncompliantEvidence', 'controlDomainInsights_controlsCountByNoncompliantEvidence' - The number of controls in the control domain that collected+-- non-compliant evidence on the @lastUpdated@ date.+--+-- 'evidenceInsights', 'controlDomainInsights_evidenceInsights' - A breakdown of the compliance check status for the evidence that’s+-- associated with the control domain.+--+-- 'id', 'controlDomainInsights_id' - The unique identifier for the control domain.+--+-- 'lastUpdated', 'controlDomainInsights_lastUpdated' - The time when the control domain insights were last updated.+--+-- 'name', 'controlDomainInsights_name' - The name of the control domain.+--+-- 'totalControlsCount', 'controlDomainInsights_totalControlsCount' - The total number of controls in the control domain.+newControlDomainInsights ::+ ControlDomainInsights+newControlDomainInsights =+ ControlDomainInsights'+ { controlsCountByNoncompliantEvidence =+ Prelude.Nothing,+ evidenceInsights = Prelude.Nothing,+ id = Prelude.Nothing,+ lastUpdated = Prelude.Nothing,+ name = Prelude.Nothing,+ totalControlsCount = Prelude.Nothing+ }++-- | The number of controls in the control domain that collected+-- non-compliant evidence on the @lastUpdated@ date.+controlDomainInsights_controlsCountByNoncompliantEvidence :: Lens.Lens' ControlDomainInsights (Prelude.Maybe Prelude.Int)+controlDomainInsights_controlsCountByNoncompliantEvidence = Lens.lens (\ControlDomainInsights' {controlsCountByNoncompliantEvidence} -> controlsCountByNoncompliantEvidence) (\s@ControlDomainInsights' {} a -> s {controlsCountByNoncompliantEvidence = a} :: ControlDomainInsights)++-- | A breakdown of the compliance check status for the evidence that’s+-- associated with the control domain.+controlDomainInsights_evidenceInsights :: Lens.Lens' ControlDomainInsights (Prelude.Maybe EvidenceInsights)+controlDomainInsights_evidenceInsights = Lens.lens (\ControlDomainInsights' {evidenceInsights} -> evidenceInsights) (\s@ControlDomainInsights' {} a -> s {evidenceInsights = a} :: ControlDomainInsights)++-- | The unique identifier for the control domain.+controlDomainInsights_id :: Lens.Lens' ControlDomainInsights (Prelude.Maybe Prelude.Text)+controlDomainInsights_id = Lens.lens (\ControlDomainInsights' {id} -> id) (\s@ControlDomainInsights' {} a -> s {id = a} :: ControlDomainInsights)++-- | The time when the control domain insights were last updated.+controlDomainInsights_lastUpdated :: Lens.Lens' ControlDomainInsights (Prelude.Maybe Prelude.UTCTime)+controlDomainInsights_lastUpdated = Lens.lens (\ControlDomainInsights' {lastUpdated} -> lastUpdated) (\s@ControlDomainInsights' {} a -> s {lastUpdated = a} :: ControlDomainInsights) Prelude.. Lens.mapping Data._Time++-- | The name of the control domain.+controlDomainInsights_name :: Lens.Lens' ControlDomainInsights (Prelude.Maybe Prelude.Text)+controlDomainInsights_name = Lens.lens (\ControlDomainInsights' {name} -> name) (\s@ControlDomainInsights' {} a -> s {name = a} :: ControlDomainInsights)++-- | The total number of controls in the control domain.+controlDomainInsights_totalControlsCount :: Lens.Lens' ControlDomainInsights (Prelude.Maybe Prelude.Int)+controlDomainInsights_totalControlsCount = Lens.lens (\ControlDomainInsights' {totalControlsCount} -> totalControlsCount) (\s@ControlDomainInsights' {} a -> s {totalControlsCount = a} :: ControlDomainInsights)++instance Data.FromJSON ControlDomainInsights where+ parseJSON =+ Data.withObject+ "ControlDomainInsights"+ ( \x ->+ ControlDomainInsights'+ Prelude.<$> (x Data..:? "controlsCountByNoncompliantEvidence")+ Prelude.<*> (x Data..:? "evidenceInsights")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastUpdated")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "totalControlsCount")+ )++instance Prelude.Hashable ControlDomainInsights where+ hashWithSalt _salt ControlDomainInsights' {..} =+ _salt+ `Prelude.hashWithSalt` controlsCountByNoncompliantEvidence+ `Prelude.hashWithSalt` evidenceInsights+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastUpdated+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` totalControlsCount++instance Prelude.NFData ControlDomainInsights where+ rnf ControlDomainInsights' {..} =+ Prelude.rnf controlsCountByNoncompliantEvidence+ `Prelude.seq` Prelude.rnf evidenceInsights+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastUpdated+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf totalControlsCount
+ gen/Amazonka/AuditManager/Types/ControlInsightsMetadataByAssessmentItem.hs view
@@ -0,0 +1,140 @@+{-# 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.AuditManager.Types.ControlInsightsMetadataByAssessmentItem+-- 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.AuditManager.Types.ControlInsightsMetadataByAssessmentItem where++import Amazonka.AuditManager.Types.EvidenceInsights+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++-- | A summary of the latest analytics data for a specific control in a+-- specific active assessment.+--+-- Control insights are grouped by control domain, and ranked by the+-- highest total count of non-compliant evidence.+--+-- /See:/ 'newControlInsightsMetadataByAssessmentItem' smart constructor.+data ControlInsightsMetadataByAssessmentItem = ControlInsightsMetadataByAssessmentItem'+ { -- | The name of the control set that the assessment control belongs to.+ controlSetName :: Prelude.Maybe Prelude.Text,+ -- | A breakdown of the compliance check status for the evidence that’s+ -- associated with the assessment control.+ evidenceInsights :: Prelude.Maybe EvidenceInsights,+ -- | The unique identifier for the assessment control.+ id :: Prelude.Maybe Prelude.Text,+ -- | The time when the assessment control insights were last updated.+ lastUpdated :: Prelude.Maybe Data.POSIX,+ -- | The name of the assessment control.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ControlInsightsMetadataByAssessmentItem' 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:+--+-- 'controlSetName', 'controlInsightsMetadataByAssessmentItem_controlSetName' - The name of the control set that the assessment control belongs to.+--+-- 'evidenceInsights', 'controlInsightsMetadataByAssessmentItem_evidenceInsights' - A breakdown of the compliance check status for the evidence that’s+-- associated with the assessment control.+--+-- 'id', 'controlInsightsMetadataByAssessmentItem_id' - The unique identifier for the assessment control.+--+-- 'lastUpdated', 'controlInsightsMetadataByAssessmentItem_lastUpdated' - The time when the assessment control insights were last updated.+--+-- 'name', 'controlInsightsMetadataByAssessmentItem_name' - The name of the assessment control.+newControlInsightsMetadataByAssessmentItem ::+ ControlInsightsMetadataByAssessmentItem+newControlInsightsMetadataByAssessmentItem =+ ControlInsightsMetadataByAssessmentItem'+ { controlSetName =+ Prelude.Nothing,+ evidenceInsights = Prelude.Nothing,+ id = Prelude.Nothing,+ lastUpdated = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The name of the control set that the assessment control belongs to.+controlInsightsMetadataByAssessmentItem_controlSetName :: Lens.Lens' ControlInsightsMetadataByAssessmentItem (Prelude.Maybe Prelude.Text)+controlInsightsMetadataByAssessmentItem_controlSetName = Lens.lens (\ControlInsightsMetadataByAssessmentItem' {controlSetName} -> controlSetName) (\s@ControlInsightsMetadataByAssessmentItem' {} a -> s {controlSetName = a} :: ControlInsightsMetadataByAssessmentItem)++-- | A breakdown of the compliance check status for the evidence that’s+-- associated with the assessment control.+controlInsightsMetadataByAssessmentItem_evidenceInsights :: Lens.Lens' ControlInsightsMetadataByAssessmentItem (Prelude.Maybe EvidenceInsights)+controlInsightsMetadataByAssessmentItem_evidenceInsights = Lens.lens (\ControlInsightsMetadataByAssessmentItem' {evidenceInsights} -> evidenceInsights) (\s@ControlInsightsMetadataByAssessmentItem' {} a -> s {evidenceInsights = a} :: ControlInsightsMetadataByAssessmentItem)++-- | The unique identifier for the assessment control.+controlInsightsMetadataByAssessmentItem_id :: Lens.Lens' ControlInsightsMetadataByAssessmentItem (Prelude.Maybe Prelude.Text)+controlInsightsMetadataByAssessmentItem_id = Lens.lens (\ControlInsightsMetadataByAssessmentItem' {id} -> id) (\s@ControlInsightsMetadataByAssessmentItem' {} a -> s {id = a} :: ControlInsightsMetadataByAssessmentItem)++-- | The time when the assessment control insights were last updated.+controlInsightsMetadataByAssessmentItem_lastUpdated :: Lens.Lens' ControlInsightsMetadataByAssessmentItem (Prelude.Maybe Prelude.UTCTime)+controlInsightsMetadataByAssessmentItem_lastUpdated = Lens.lens (\ControlInsightsMetadataByAssessmentItem' {lastUpdated} -> lastUpdated) (\s@ControlInsightsMetadataByAssessmentItem' {} a -> s {lastUpdated = a} :: ControlInsightsMetadataByAssessmentItem) Prelude.. Lens.mapping Data._Time++-- | The name of the assessment control.+controlInsightsMetadataByAssessmentItem_name :: Lens.Lens' ControlInsightsMetadataByAssessmentItem (Prelude.Maybe Prelude.Text)+controlInsightsMetadataByAssessmentItem_name = Lens.lens (\ControlInsightsMetadataByAssessmentItem' {name} -> name) (\s@ControlInsightsMetadataByAssessmentItem' {} a -> s {name = a} :: ControlInsightsMetadataByAssessmentItem)++instance+ Data.FromJSON+ ControlInsightsMetadataByAssessmentItem+ where+ parseJSON =+ Data.withObject+ "ControlInsightsMetadataByAssessmentItem"+ ( \x ->+ ControlInsightsMetadataByAssessmentItem'+ Prelude.<$> (x Data..:? "controlSetName")+ Prelude.<*> (x Data..:? "evidenceInsights")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastUpdated")+ Prelude.<*> (x Data..:? "name")+ )++instance+ Prelude.Hashable+ ControlInsightsMetadataByAssessmentItem+ where+ hashWithSalt+ _salt+ ControlInsightsMetadataByAssessmentItem' {..} =+ _salt+ `Prelude.hashWithSalt` controlSetName+ `Prelude.hashWithSalt` evidenceInsights+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastUpdated+ `Prelude.hashWithSalt` name++instance+ Prelude.NFData+ ControlInsightsMetadataByAssessmentItem+ where+ rnf ControlInsightsMetadataByAssessmentItem' {..} =+ Prelude.rnf controlSetName+ `Prelude.seq` Prelude.rnf evidenceInsights+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastUpdated+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/AuditManager/Types/ControlInsightsMetadataItem.hs view
@@ -0,0 +1,117 @@+{-# 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.AuditManager.Types.ControlInsightsMetadataItem+-- 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.AuditManager.Types.ControlInsightsMetadataItem where++import Amazonka.AuditManager.Types.EvidenceInsights+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++-- | A summary of the latest analytics data for a specific control.+--+-- This data reflects the total counts for the specified control across all+-- active assessments. Control insights are grouped by control domain, and+-- ranked by the highest total count of non-compliant evidence.+--+-- /See:/ 'newControlInsightsMetadataItem' smart constructor.+data ControlInsightsMetadataItem = ControlInsightsMetadataItem'+ { -- | A breakdown of the compliance check status for the evidence that’s+ -- associated with the control.+ evidenceInsights :: Prelude.Maybe EvidenceInsights,+ -- | The unique identifier for the control.+ id :: Prelude.Maybe Prelude.Text,+ -- | The time when the control insights were last updated.+ lastUpdated :: Prelude.Maybe Data.POSIX,+ -- | The name of the control.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ControlInsightsMetadataItem' 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:+--+-- 'evidenceInsights', 'controlInsightsMetadataItem_evidenceInsights' - A breakdown of the compliance check status for the evidence that’s+-- associated with the control.+--+-- 'id', 'controlInsightsMetadataItem_id' - The unique identifier for the control.+--+-- 'lastUpdated', 'controlInsightsMetadataItem_lastUpdated' - The time when the control insights were last updated.+--+-- 'name', 'controlInsightsMetadataItem_name' - The name of the control.+newControlInsightsMetadataItem ::+ ControlInsightsMetadataItem+newControlInsightsMetadataItem =+ ControlInsightsMetadataItem'+ { evidenceInsights =+ Prelude.Nothing,+ id = Prelude.Nothing,+ lastUpdated = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | A breakdown of the compliance check status for the evidence that’s+-- associated with the control.+controlInsightsMetadataItem_evidenceInsights :: Lens.Lens' ControlInsightsMetadataItem (Prelude.Maybe EvidenceInsights)+controlInsightsMetadataItem_evidenceInsights = Lens.lens (\ControlInsightsMetadataItem' {evidenceInsights} -> evidenceInsights) (\s@ControlInsightsMetadataItem' {} a -> s {evidenceInsights = a} :: ControlInsightsMetadataItem)++-- | The unique identifier for the control.+controlInsightsMetadataItem_id :: Lens.Lens' ControlInsightsMetadataItem (Prelude.Maybe Prelude.Text)+controlInsightsMetadataItem_id = Lens.lens (\ControlInsightsMetadataItem' {id} -> id) (\s@ControlInsightsMetadataItem' {} a -> s {id = a} :: ControlInsightsMetadataItem)++-- | The time when the control insights were last updated.+controlInsightsMetadataItem_lastUpdated :: Lens.Lens' ControlInsightsMetadataItem (Prelude.Maybe Prelude.UTCTime)+controlInsightsMetadataItem_lastUpdated = Lens.lens (\ControlInsightsMetadataItem' {lastUpdated} -> lastUpdated) (\s@ControlInsightsMetadataItem' {} a -> s {lastUpdated = a} :: ControlInsightsMetadataItem) Prelude.. Lens.mapping Data._Time++-- | The name of the control.+controlInsightsMetadataItem_name :: Lens.Lens' ControlInsightsMetadataItem (Prelude.Maybe Prelude.Text)+controlInsightsMetadataItem_name = Lens.lens (\ControlInsightsMetadataItem' {name} -> name) (\s@ControlInsightsMetadataItem' {} a -> s {name = a} :: ControlInsightsMetadataItem)++instance Data.FromJSON ControlInsightsMetadataItem where+ parseJSON =+ Data.withObject+ "ControlInsightsMetadataItem"+ ( \x ->+ ControlInsightsMetadataItem'+ Prelude.<$> (x Data..:? "evidenceInsights")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastUpdated")+ Prelude.<*> (x Data..:? "name")+ )++instance Prelude.Hashable ControlInsightsMetadataItem where+ hashWithSalt _salt ControlInsightsMetadataItem' {..} =+ _salt+ `Prelude.hashWithSalt` evidenceInsights+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastUpdated+ `Prelude.hashWithSalt` name++instance Prelude.NFData ControlInsightsMetadataItem where+ rnf ControlInsightsMetadataItem' {..} =+ Prelude.rnf evidenceInsights+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastUpdated+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/AuditManager/Types/ControlMappingSource.hs view
@@ -0,0 +1,183 @@+{-# 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.AuditManager.Types.ControlMappingSource+-- 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.AuditManager.Types.ControlMappingSource where++import Amazonka.AuditManager.Types.SourceFrequency+import Amazonka.AuditManager.Types.SourceKeyword+import Amazonka.AuditManager.Types.SourceSetUpOption+import Amazonka.AuditManager.Types.SourceType+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++-- | The data source that determines where Audit Manager collects evidence+-- from for the control.+--+-- /See:/ 'newControlMappingSource' smart constructor.+data ControlMappingSource = ControlMappingSource'+ { -- | The description of the source.+ sourceDescription :: Prelude.Maybe Prelude.Text,+ -- | The frequency of evidence collection for the control mapping source.+ sourceFrequency :: Prelude.Maybe SourceFrequency,+ -- | The unique identifier for the source.+ sourceId :: Prelude.Maybe Prelude.Text,+ sourceKeyword :: Prelude.Maybe SourceKeyword,+ -- | The name of the source.+ sourceName :: Prelude.Maybe Prelude.Text,+ -- | The setup option for the data source. This option reflects if the+ -- evidence collection is automated or manual.+ sourceSetUpOption :: Prelude.Maybe SourceSetUpOption,+ -- | Specifies one of the five data source types for evidence collection.+ sourceType :: Prelude.Maybe SourceType,+ -- | The instructions for troubleshooting the control.+ troubleshootingText :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ControlMappingSource' 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:+--+-- 'sourceDescription', 'controlMappingSource_sourceDescription' - The description of the source.+--+-- 'sourceFrequency', 'controlMappingSource_sourceFrequency' - The frequency of evidence collection for the control mapping source.+--+-- 'sourceId', 'controlMappingSource_sourceId' - The unique identifier for the source.+--+-- 'sourceKeyword', 'controlMappingSource_sourceKeyword' - Undocumented member.+--+-- 'sourceName', 'controlMappingSource_sourceName' - The name of the source.+--+-- 'sourceSetUpOption', 'controlMappingSource_sourceSetUpOption' - The setup option for the data source. This option reflects if the+-- evidence collection is automated or manual.+--+-- 'sourceType', 'controlMappingSource_sourceType' - Specifies one of the five data source types for evidence collection.+--+-- 'troubleshootingText', 'controlMappingSource_troubleshootingText' - The instructions for troubleshooting the control.+newControlMappingSource ::+ ControlMappingSource+newControlMappingSource =+ ControlMappingSource'+ { sourceDescription =+ Prelude.Nothing,+ sourceFrequency = Prelude.Nothing,+ sourceId = Prelude.Nothing,+ sourceKeyword = Prelude.Nothing,+ sourceName = Prelude.Nothing,+ sourceSetUpOption = Prelude.Nothing,+ sourceType = Prelude.Nothing,+ troubleshootingText = Prelude.Nothing+ }++-- | The description of the source.+controlMappingSource_sourceDescription :: Lens.Lens' ControlMappingSource (Prelude.Maybe Prelude.Text)+controlMappingSource_sourceDescription = Lens.lens (\ControlMappingSource' {sourceDescription} -> sourceDescription) (\s@ControlMappingSource' {} a -> s {sourceDescription = a} :: ControlMappingSource)++-- | The frequency of evidence collection for the control mapping source.+controlMappingSource_sourceFrequency :: Lens.Lens' ControlMappingSource (Prelude.Maybe SourceFrequency)+controlMappingSource_sourceFrequency = Lens.lens (\ControlMappingSource' {sourceFrequency} -> sourceFrequency) (\s@ControlMappingSource' {} a -> s {sourceFrequency = a} :: ControlMappingSource)++-- | The unique identifier for the source.+controlMappingSource_sourceId :: Lens.Lens' ControlMappingSource (Prelude.Maybe Prelude.Text)+controlMappingSource_sourceId = Lens.lens (\ControlMappingSource' {sourceId} -> sourceId) (\s@ControlMappingSource' {} a -> s {sourceId = a} :: ControlMappingSource)++-- | Undocumented member.+controlMappingSource_sourceKeyword :: Lens.Lens' ControlMappingSource (Prelude.Maybe SourceKeyword)+controlMappingSource_sourceKeyword = Lens.lens (\ControlMappingSource' {sourceKeyword} -> sourceKeyword) (\s@ControlMappingSource' {} a -> s {sourceKeyword = a} :: ControlMappingSource)++-- | The name of the source.+controlMappingSource_sourceName :: Lens.Lens' ControlMappingSource (Prelude.Maybe Prelude.Text)+controlMappingSource_sourceName = Lens.lens (\ControlMappingSource' {sourceName} -> sourceName) (\s@ControlMappingSource' {} a -> s {sourceName = a} :: ControlMappingSource)++-- | The setup option for the data source. This option reflects if the+-- evidence collection is automated or manual.+controlMappingSource_sourceSetUpOption :: Lens.Lens' ControlMappingSource (Prelude.Maybe SourceSetUpOption)+controlMappingSource_sourceSetUpOption = Lens.lens (\ControlMappingSource' {sourceSetUpOption} -> sourceSetUpOption) (\s@ControlMappingSource' {} a -> s {sourceSetUpOption = a} :: ControlMappingSource)++-- | Specifies one of the five data source types for evidence collection.+controlMappingSource_sourceType :: Lens.Lens' ControlMappingSource (Prelude.Maybe SourceType)+controlMappingSource_sourceType = Lens.lens (\ControlMappingSource' {sourceType} -> sourceType) (\s@ControlMappingSource' {} a -> s {sourceType = a} :: ControlMappingSource)++-- | The instructions for troubleshooting the control.+controlMappingSource_troubleshootingText :: Lens.Lens' ControlMappingSource (Prelude.Maybe Prelude.Text)+controlMappingSource_troubleshootingText = Lens.lens (\ControlMappingSource' {troubleshootingText} -> troubleshootingText) (\s@ControlMappingSource' {} a -> s {troubleshootingText = a} :: ControlMappingSource)++instance Data.FromJSON ControlMappingSource where+ parseJSON =+ Data.withObject+ "ControlMappingSource"+ ( \x ->+ ControlMappingSource'+ Prelude.<$> (x Data..:? "sourceDescription")+ Prelude.<*> (x Data..:? "sourceFrequency")+ Prelude.<*> (x Data..:? "sourceId")+ Prelude.<*> (x Data..:? "sourceKeyword")+ Prelude.<*> (x Data..:? "sourceName")+ Prelude.<*> (x Data..:? "sourceSetUpOption")+ Prelude.<*> (x Data..:? "sourceType")+ Prelude.<*> (x Data..:? "troubleshootingText")+ )++instance Prelude.Hashable ControlMappingSource where+ hashWithSalt _salt ControlMappingSource' {..} =+ _salt+ `Prelude.hashWithSalt` sourceDescription+ `Prelude.hashWithSalt` sourceFrequency+ `Prelude.hashWithSalt` sourceId+ `Prelude.hashWithSalt` sourceKeyword+ `Prelude.hashWithSalt` sourceName+ `Prelude.hashWithSalt` sourceSetUpOption+ `Prelude.hashWithSalt` sourceType+ `Prelude.hashWithSalt` troubleshootingText++instance Prelude.NFData ControlMappingSource where+ rnf ControlMappingSource' {..} =+ Prelude.rnf sourceDescription+ `Prelude.seq` Prelude.rnf sourceFrequency+ `Prelude.seq` Prelude.rnf sourceId+ `Prelude.seq` Prelude.rnf sourceKeyword+ `Prelude.seq` Prelude.rnf sourceName+ `Prelude.seq` Prelude.rnf sourceSetUpOption+ `Prelude.seq` Prelude.rnf sourceType+ `Prelude.seq` Prelude.rnf troubleshootingText++instance Data.ToJSON ControlMappingSource where+ toJSON ControlMappingSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("sourceDescription" Data..=)+ Prelude.<$> sourceDescription,+ ("sourceFrequency" Data..=)+ Prelude.<$> sourceFrequency,+ ("sourceId" Data..=) Prelude.<$> sourceId,+ ("sourceKeyword" Data..=) Prelude.<$> sourceKeyword,+ ("sourceName" Data..=) Prelude.<$> sourceName,+ ("sourceSetUpOption" Data..=)+ Prelude.<$> sourceSetUpOption,+ ("sourceType" Data..=) Prelude.<$> sourceType,+ ("troubleshootingText" Data..=)+ Prelude.<$> troubleshootingText+ ]+ )
+ gen/Amazonka/AuditManager/Types/ControlMetadata.hs view
@@ -0,0 +1,136 @@+{-# 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.AuditManager.Types.ControlMetadata+-- 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.AuditManager.Types.ControlMetadata 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++-- | The metadata that\'s associated with the standard control or custom+-- control.+--+-- /See:/ 'newControlMetadata' smart constructor.+data ControlMetadata = ControlMetadata'+ { -- | The Amazon Resource Name (ARN) of the control.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The data source that determines where Audit Manager collects evidence+ -- from for the control.+ controlSources :: Prelude.Maybe Prelude.Text,+ -- | The time when the control was created.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | The unique identifier for the control.+ id :: Prelude.Maybe Prelude.Text,+ -- | The time when the control was most recently updated.+ lastUpdatedAt :: Prelude.Maybe Data.POSIX,+ -- | The name of the control.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ControlMetadata' 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:+--+-- 'arn', 'controlMetadata_arn' - The Amazon Resource Name (ARN) of the control.+--+-- 'controlSources', 'controlMetadata_controlSources' - The data source that determines where Audit Manager collects evidence+-- from for the control.+--+-- 'createdAt', 'controlMetadata_createdAt' - The time when the control was created.+--+-- 'id', 'controlMetadata_id' - The unique identifier for the control.+--+-- 'lastUpdatedAt', 'controlMetadata_lastUpdatedAt' - The time when the control was most recently updated.+--+-- 'name', 'controlMetadata_name' - The name of the control.+newControlMetadata ::+ ControlMetadata+newControlMetadata =+ ControlMetadata'+ { arn = Prelude.Nothing,+ controlSources = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ id = Prelude.Nothing,+ lastUpdatedAt = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the control.+controlMetadata_arn :: Lens.Lens' ControlMetadata (Prelude.Maybe Prelude.Text)+controlMetadata_arn = Lens.lens (\ControlMetadata' {arn} -> arn) (\s@ControlMetadata' {} a -> s {arn = a} :: ControlMetadata)++-- | The data source that determines where Audit Manager collects evidence+-- from for the control.+controlMetadata_controlSources :: Lens.Lens' ControlMetadata (Prelude.Maybe Prelude.Text)+controlMetadata_controlSources = Lens.lens (\ControlMetadata' {controlSources} -> controlSources) (\s@ControlMetadata' {} a -> s {controlSources = a} :: ControlMetadata)++-- | The time when the control was created.+controlMetadata_createdAt :: Lens.Lens' ControlMetadata (Prelude.Maybe Prelude.UTCTime)+controlMetadata_createdAt = Lens.lens (\ControlMetadata' {createdAt} -> createdAt) (\s@ControlMetadata' {} a -> s {createdAt = a} :: ControlMetadata) Prelude.. Lens.mapping Data._Time++-- | The unique identifier for the control.+controlMetadata_id :: Lens.Lens' ControlMetadata (Prelude.Maybe Prelude.Text)+controlMetadata_id = Lens.lens (\ControlMetadata' {id} -> id) (\s@ControlMetadata' {} a -> s {id = a} :: ControlMetadata)++-- | The time when the control was most recently updated.+controlMetadata_lastUpdatedAt :: Lens.Lens' ControlMetadata (Prelude.Maybe Prelude.UTCTime)+controlMetadata_lastUpdatedAt = Lens.lens (\ControlMetadata' {lastUpdatedAt} -> lastUpdatedAt) (\s@ControlMetadata' {} a -> s {lastUpdatedAt = a} :: ControlMetadata) Prelude.. Lens.mapping Data._Time++-- | The name of the control.+controlMetadata_name :: Lens.Lens' ControlMetadata (Prelude.Maybe Prelude.Text)+controlMetadata_name = Lens.lens (\ControlMetadata' {name} -> name) (\s@ControlMetadata' {} a -> s {name = a} :: ControlMetadata)++instance Data.FromJSON ControlMetadata where+ parseJSON =+ Data.withObject+ "ControlMetadata"+ ( \x ->+ ControlMetadata'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "controlSources")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastUpdatedAt")+ Prelude.<*> (x Data..:? "name")+ )++instance Prelude.Hashable ControlMetadata where+ hashWithSalt _salt ControlMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` controlSources+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastUpdatedAt+ `Prelude.hashWithSalt` name++instance Prelude.NFData ControlMetadata where+ rnf ControlMetadata' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf controlSources+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastUpdatedAt+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/AuditManager/Types/ControlResponse.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.AuditManager.Types.ControlResponse+-- 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.AuditManager.Types.ControlResponse+ ( ControlResponse+ ( ..,+ ControlResponse_AUTOMATE,+ ControlResponse_DEFER,+ ControlResponse_IGNORE,+ ControlResponse_MANUAL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ControlResponse = ControlResponse'+ { fromControlResponse ::+ 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 ControlResponse_AUTOMATE :: ControlResponse+pattern ControlResponse_AUTOMATE = ControlResponse' "AUTOMATE"++pattern ControlResponse_DEFER :: ControlResponse+pattern ControlResponse_DEFER = ControlResponse' "DEFER"++pattern ControlResponse_IGNORE :: ControlResponse+pattern ControlResponse_IGNORE = ControlResponse' "IGNORE"++pattern ControlResponse_MANUAL :: ControlResponse+pattern ControlResponse_MANUAL = ControlResponse' "MANUAL"++{-# COMPLETE+ ControlResponse_AUTOMATE,+ ControlResponse_DEFER,+ ControlResponse_IGNORE,+ ControlResponse_MANUAL,+ ControlResponse'+ #-}
+ gen/Amazonka/AuditManager/Types/ControlSet.hs view
@@ -0,0 +1,100 @@+{-# 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.AuditManager.Types.ControlSet+-- 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.AuditManager.Types.ControlSet where++import Amazonka.AuditManager.Types.Control+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++-- | A set of controls in Audit Manager.+--+-- /See:/ 'newControlSet' smart constructor.+data ControlSet = ControlSet'+ { -- | The list of controls within the control set.+ controls :: Prelude.Maybe (Prelude.NonEmpty Control),+ -- | The identifier of the control set in the assessment. This is the control+ -- set name in a plain string format.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the control set.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ControlSet' 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:+--+-- 'controls', 'controlSet_controls' - The list of controls within the control set.+--+-- 'id', 'controlSet_id' - The identifier of the control set in the assessment. This is the control+-- set name in a plain string format.+--+-- 'name', 'controlSet_name' - The name of the control set.+newControlSet ::+ ControlSet+newControlSet =+ ControlSet'+ { controls = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The list of controls within the control set.+controlSet_controls :: Lens.Lens' ControlSet (Prelude.Maybe (Prelude.NonEmpty Control))+controlSet_controls = Lens.lens (\ControlSet' {controls} -> controls) (\s@ControlSet' {} a -> s {controls = a} :: ControlSet) Prelude.. Lens.mapping Lens.coerced++-- | The identifier of the control set in the assessment. This is the control+-- set name in a plain string format.+controlSet_id :: Lens.Lens' ControlSet (Prelude.Maybe Prelude.Text)+controlSet_id = Lens.lens (\ControlSet' {id} -> id) (\s@ControlSet' {} a -> s {id = a} :: ControlSet)++-- | The name of the control set.+controlSet_name :: Lens.Lens' ControlSet (Prelude.Maybe Prelude.Text)+controlSet_name = Lens.lens (\ControlSet' {name} -> name) (\s@ControlSet' {} a -> s {name = a} :: ControlSet)++instance Data.FromJSON ControlSet where+ parseJSON =+ Data.withObject+ "ControlSet"+ ( \x ->+ ControlSet'+ Prelude.<$> (x Data..:? "controls")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ )++instance Prelude.Hashable ControlSet where+ hashWithSalt _salt ControlSet' {..} =+ _salt+ `Prelude.hashWithSalt` controls+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name++instance Prelude.NFData ControlSet where+ rnf ControlSet' {..} =+ Prelude.rnf controls+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/AuditManager/Types/ControlSetStatus.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.AuditManager.Types.ControlSetStatus+-- 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.AuditManager.Types.ControlSetStatus+ ( ControlSetStatus+ ( ..,+ ControlSetStatus_ACTIVE,+ ControlSetStatus_REVIEWED,+ ControlSetStatus_UNDER_REVIEW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ControlSetStatus = ControlSetStatus'+ { fromControlSetStatus ::+ 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 ControlSetStatus_ACTIVE :: ControlSetStatus+pattern ControlSetStatus_ACTIVE = ControlSetStatus' "ACTIVE"++pattern ControlSetStatus_REVIEWED :: ControlSetStatus+pattern ControlSetStatus_REVIEWED = ControlSetStatus' "REVIEWED"++pattern ControlSetStatus_UNDER_REVIEW :: ControlSetStatus+pattern ControlSetStatus_UNDER_REVIEW = ControlSetStatus' "UNDER_REVIEW"++{-# COMPLETE+ ControlSetStatus_ACTIVE,+ ControlSetStatus_REVIEWED,+ ControlSetStatus_UNDER_REVIEW,+ ControlSetStatus'+ #-}
+ gen/Amazonka/AuditManager/Types/ControlStatus.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.AuditManager.Types.ControlStatus+-- 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.AuditManager.Types.ControlStatus+ ( ControlStatus+ ( ..,+ ControlStatus_INACTIVE,+ ControlStatus_REVIEWED,+ ControlStatus_UNDER_REVIEW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ControlStatus = ControlStatus'+ { fromControlStatus ::+ 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 ControlStatus_INACTIVE :: ControlStatus+pattern ControlStatus_INACTIVE = ControlStatus' "INACTIVE"++pattern ControlStatus_REVIEWED :: ControlStatus+pattern ControlStatus_REVIEWED = ControlStatus' "REVIEWED"++pattern ControlStatus_UNDER_REVIEW :: ControlStatus+pattern ControlStatus_UNDER_REVIEW = ControlStatus' "UNDER_REVIEW"++{-# COMPLETE+ ControlStatus_INACTIVE,+ ControlStatus_REVIEWED,+ ControlStatus_UNDER_REVIEW,+ ControlStatus'+ #-}
+ gen/Amazonka/AuditManager/Types/ControlType.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.AuditManager.Types.ControlType+-- 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.AuditManager.Types.ControlType+ ( ControlType+ ( ..,+ ControlType_Custom,+ ControlType_Standard+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ControlType = ControlType'+ { fromControlType ::+ 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 ControlType_Custom :: ControlType+pattern ControlType_Custom = ControlType' "Custom"++pattern ControlType_Standard :: ControlType+pattern ControlType_Standard = ControlType' "Standard"++{-# COMPLETE+ ControlType_Custom,+ ControlType_Standard,+ ControlType'+ #-}
+ gen/Amazonka/AuditManager/Types/CreateAssessmentFrameworkControl.hs view
@@ -0,0 +1,76 @@+{-# 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.AuditManager.Types.CreateAssessmentFrameworkControl+-- 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.AuditManager.Types.CreateAssessmentFrameworkControl 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++-- | The control entity attributes that uniquely identify an existing control+-- to be added to a framework in Audit Manager.+--+-- /See:/ 'newCreateAssessmentFrameworkControl' smart constructor.+data CreateAssessmentFrameworkControl = CreateAssessmentFrameworkControl'+ { -- | The unique identifier of the control.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssessmentFrameworkControl' 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', 'createAssessmentFrameworkControl_id' - The unique identifier of the control.+newCreateAssessmentFrameworkControl ::+ -- | 'id'+ Prelude.Text ->+ CreateAssessmentFrameworkControl+newCreateAssessmentFrameworkControl pId_ =+ CreateAssessmentFrameworkControl' {id = pId_}++-- | The unique identifier of the control.+createAssessmentFrameworkControl_id :: Lens.Lens' CreateAssessmentFrameworkControl Prelude.Text+createAssessmentFrameworkControl_id = Lens.lens (\CreateAssessmentFrameworkControl' {id} -> id) (\s@CreateAssessmentFrameworkControl' {} a -> s {id = a} :: CreateAssessmentFrameworkControl)++instance+ Prelude.Hashable+ CreateAssessmentFrameworkControl+ where+ hashWithSalt+ _salt+ CreateAssessmentFrameworkControl' {..} =+ _salt `Prelude.hashWithSalt` id++instance+ Prelude.NFData+ CreateAssessmentFrameworkControl+ where+ rnf CreateAssessmentFrameworkControl' {..} =+ Prelude.rnf id++instance Data.ToJSON CreateAssessmentFrameworkControl where+ toJSON CreateAssessmentFrameworkControl' {..} =+ Data.object+ (Prelude.catMaybes [Prelude.Just ("id" Data..= id)])
+ gen/Amazonka/AuditManager/Types/CreateAssessmentFrameworkControlSet.hs view
@@ -0,0 +1,101 @@+{-# 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.AuditManager.Types.CreateAssessmentFrameworkControlSet+-- 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.AuditManager.Types.CreateAssessmentFrameworkControlSet where++import Amazonka.AuditManager.Types.CreateAssessmentFrameworkControl+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++-- | A @controlSet@ entity that represents a collection of controls in Audit+-- Manager. This doesn\'t contain the control set ID.+--+-- /See:/ 'newCreateAssessmentFrameworkControlSet' smart constructor.+data CreateAssessmentFrameworkControlSet = CreateAssessmentFrameworkControlSet'+ { -- | The list of controls within the control set. This doesn\'t contain the+ -- control set ID.+ controls :: Prelude.Maybe (Prelude.NonEmpty CreateAssessmentFrameworkControl),+ -- | The name of the control set.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAssessmentFrameworkControlSet' 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:+--+-- 'controls', 'createAssessmentFrameworkControlSet_controls' - The list of controls within the control set. This doesn\'t contain the+-- control set ID.+--+-- 'name', 'createAssessmentFrameworkControlSet_name' - The name of the control set.+newCreateAssessmentFrameworkControlSet ::+ -- | 'name'+ Prelude.Text ->+ CreateAssessmentFrameworkControlSet+newCreateAssessmentFrameworkControlSet pName_ =+ CreateAssessmentFrameworkControlSet'+ { controls =+ Prelude.Nothing,+ name = pName_+ }++-- | The list of controls within the control set. This doesn\'t contain the+-- control set ID.+createAssessmentFrameworkControlSet_controls :: Lens.Lens' CreateAssessmentFrameworkControlSet (Prelude.Maybe (Prelude.NonEmpty CreateAssessmentFrameworkControl))+createAssessmentFrameworkControlSet_controls = Lens.lens (\CreateAssessmentFrameworkControlSet' {controls} -> controls) (\s@CreateAssessmentFrameworkControlSet' {} a -> s {controls = a} :: CreateAssessmentFrameworkControlSet) Prelude.. Lens.mapping Lens.coerced++-- | The name of the control set.+createAssessmentFrameworkControlSet_name :: Lens.Lens' CreateAssessmentFrameworkControlSet Prelude.Text+createAssessmentFrameworkControlSet_name = Lens.lens (\CreateAssessmentFrameworkControlSet' {name} -> name) (\s@CreateAssessmentFrameworkControlSet' {} a -> s {name = a} :: CreateAssessmentFrameworkControlSet)++instance+ Prelude.Hashable+ CreateAssessmentFrameworkControlSet+ where+ hashWithSalt+ _salt+ CreateAssessmentFrameworkControlSet' {..} =+ _salt+ `Prelude.hashWithSalt` controls+ `Prelude.hashWithSalt` name++instance+ Prelude.NFData+ CreateAssessmentFrameworkControlSet+ where+ rnf CreateAssessmentFrameworkControlSet' {..} =+ Prelude.rnf controls `Prelude.seq` Prelude.rnf name++instance+ Data.ToJSON+ CreateAssessmentFrameworkControlSet+ where+ toJSON CreateAssessmentFrameworkControlSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("controls" Data..=) Prelude.<$> controls,+ Prelude.Just ("name" Data..= name)+ ]+ )
+ gen/Amazonka/AuditManager/Types/CreateControlMappingSource.hs view
@@ -0,0 +1,159 @@+{-# 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.AuditManager.Types.CreateControlMappingSource+-- 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.AuditManager.Types.CreateControlMappingSource where++import Amazonka.AuditManager.Types.SourceFrequency+import Amazonka.AuditManager.Types.SourceKeyword+import Amazonka.AuditManager.Types.SourceSetUpOption+import Amazonka.AuditManager.Types.SourceType+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++-- | The control mapping fields that represent the source for evidence+-- collection, along with related parameters and metadata. This doesn\'t+-- contain @mappingID@.+--+-- /See:/ 'newCreateControlMappingSource' smart constructor.+data CreateControlMappingSource = CreateControlMappingSource'+ { -- | The description of the data source that determines where Audit Manager+ -- collects evidence from for the control.+ sourceDescription :: Prelude.Maybe Prelude.Text,+ -- | The frequency of evidence collection for the control mapping source.+ sourceFrequency :: Prelude.Maybe SourceFrequency,+ sourceKeyword :: Prelude.Maybe SourceKeyword,+ -- | The name of the control mapping data source.+ sourceName :: Prelude.Maybe Prelude.Text,+ -- | The setup option for the data source, which reflects if the evidence+ -- collection is automated or manual.+ sourceSetUpOption :: Prelude.Maybe SourceSetUpOption,+ -- | Specifies one of the five types of data sources for evidence collection.+ sourceType :: Prelude.Maybe SourceType,+ -- | The instructions for troubleshooting the control.+ troubleshootingText :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateControlMappingSource' 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:+--+-- 'sourceDescription', 'createControlMappingSource_sourceDescription' - The description of the data source that determines where Audit Manager+-- collects evidence from for the control.+--+-- 'sourceFrequency', 'createControlMappingSource_sourceFrequency' - The frequency of evidence collection for the control mapping source.+--+-- 'sourceKeyword', 'createControlMappingSource_sourceKeyword' - Undocumented member.+--+-- 'sourceName', 'createControlMappingSource_sourceName' - The name of the control mapping data source.+--+-- 'sourceSetUpOption', 'createControlMappingSource_sourceSetUpOption' - The setup option for the data source, which reflects if the evidence+-- collection is automated or manual.+--+-- 'sourceType', 'createControlMappingSource_sourceType' - Specifies one of the five types of data sources for evidence collection.+--+-- 'troubleshootingText', 'createControlMappingSource_troubleshootingText' - The instructions for troubleshooting the control.+newCreateControlMappingSource ::+ CreateControlMappingSource+newCreateControlMappingSource =+ CreateControlMappingSource'+ { sourceDescription =+ Prelude.Nothing,+ sourceFrequency = Prelude.Nothing,+ sourceKeyword = Prelude.Nothing,+ sourceName = Prelude.Nothing,+ sourceSetUpOption = Prelude.Nothing,+ sourceType = Prelude.Nothing,+ troubleshootingText = Prelude.Nothing+ }++-- | The description of the data source that determines where Audit Manager+-- collects evidence from for the control.+createControlMappingSource_sourceDescription :: Lens.Lens' CreateControlMappingSource (Prelude.Maybe Prelude.Text)+createControlMappingSource_sourceDescription = Lens.lens (\CreateControlMappingSource' {sourceDescription} -> sourceDescription) (\s@CreateControlMappingSource' {} a -> s {sourceDescription = a} :: CreateControlMappingSource)++-- | The frequency of evidence collection for the control mapping source.+createControlMappingSource_sourceFrequency :: Lens.Lens' CreateControlMappingSource (Prelude.Maybe SourceFrequency)+createControlMappingSource_sourceFrequency = Lens.lens (\CreateControlMappingSource' {sourceFrequency} -> sourceFrequency) (\s@CreateControlMappingSource' {} a -> s {sourceFrequency = a} :: CreateControlMappingSource)++-- | Undocumented member.+createControlMappingSource_sourceKeyword :: Lens.Lens' CreateControlMappingSource (Prelude.Maybe SourceKeyword)+createControlMappingSource_sourceKeyword = Lens.lens (\CreateControlMappingSource' {sourceKeyword} -> sourceKeyword) (\s@CreateControlMappingSource' {} a -> s {sourceKeyword = a} :: CreateControlMappingSource)++-- | The name of the control mapping data source.+createControlMappingSource_sourceName :: Lens.Lens' CreateControlMappingSource (Prelude.Maybe Prelude.Text)+createControlMappingSource_sourceName = Lens.lens (\CreateControlMappingSource' {sourceName} -> sourceName) (\s@CreateControlMappingSource' {} a -> s {sourceName = a} :: CreateControlMappingSource)++-- | The setup option for the data source, which reflects if the evidence+-- collection is automated or manual.+createControlMappingSource_sourceSetUpOption :: Lens.Lens' CreateControlMappingSource (Prelude.Maybe SourceSetUpOption)+createControlMappingSource_sourceSetUpOption = Lens.lens (\CreateControlMappingSource' {sourceSetUpOption} -> sourceSetUpOption) (\s@CreateControlMappingSource' {} a -> s {sourceSetUpOption = a} :: CreateControlMappingSource)++-- | Specifies one of the five types of data sources for evidence collection.+createControlMappingSource_sourceType :: Lens.Lens' CreateControlMappingSource (Prelude.Maybe SourceType)+createControlMappingSource_sourceType = Lens.lens (\CreateControlMappingSource' {sourceType} -> sourceType) (\s@CreateControlMappingSource' {} a -> s {sourceType = a} :: CreateControlMappingSource)++-- | The instructions for troubleshooting the control.+createControlMappingSource_troubleshootingText :: Lens.Lens' CreateControlMappingSource (Prelude.Maybe Prelude.Text)+createControlMappingSource_troubleshootingText = Lens.lens (\CreateControlMappingSource' {troubleshootingText} -> troubleshootingText) (\s@CreateControlMappingSource' {} a -> s {troubleshootingText = a} :: CreateControlMappingSource)++instance Prelude.Hashable CreateControlMappingSource where+ hashWithSalt _salt CreateControlMappingSource' {..} =+ _salt+ `Prelude.hashWithSalt` sourceDescription+ `Prelude.hashWithSalt` sourceFrequency+ `Prelude.hashWithSalt` sourceKeyword+ `Prelude.hashWithSalt` sourceName+ `Prelude.hashWithSalt` sourceSetUpOption+ `Prelude.hashWithSalt` sourceType+ `Prelude.hashWithSalt` troubleshootingText++instance Prelude.NFData CreateControlMappingSource where+ rnf CreateControlMappingSource' {..} =+ Prelude.rnf sourceDescription+ `Prelude.seq` Prelude.rnf sourceFrequency+ `Prelude.seq` Prelude.rnf sourceKeyword+ `Prelude.seq` Prelude.rnf sourceName+ `Prelude.seq` Prelude.rnf sourceSetUpOption+ `Prelude.seq` Prelude.rnf sourceType+ `Prelude.seq` Prelude.rnf troubleshootingText++instance Data.ToJSON CreateControlMappingSource where+ toJSON CreateControlMappingSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("sourceDescription" Data..=)+ Prelude.<$> sourceDescription,+ ("sourceFrequency" Data..=)+ Prelude.<$> sourceFrequency,+ ("sourceKeyword" Data..=) Prelude.<$> sourceKeyword,+ ("sourceName" Data..=) Prelude.<$> sourceName,+ ("sourceSetUpOption" Data..=)+ Prelude.<$> sourceSetUpOption,+ ("sourceType" Data..=) Prelude.<$> sourceType,+ ("troubleshootingText" Data..=)+ Prelude.<$> troubleshootingText+ ]+ )
+ gen/Amazonka/AuditManager/Types/CreateDelegationRequest.hs view
@@ -0,0 +1,142 @@+{-# 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.AuditManager.Types.CreateDelegationRequest+-- 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.AuditManager.Types.CreateDelegationRequest where++import Amazonka.AuditManager.Types.RoleType+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++-- | A collection of attributes that\'s used to create a delegation for an+-- assessment in Audit Manager.+--+-- /See:/ 'newCreateDelegationRequest' smart constructor.+data CreateDelegationRequest = CreateDelegationRequest'+ { -- | A comment that\'s related to the delegation request.+ comment :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the control set.+ controlSetId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the IAM role.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The type of customer persona.+ --+ -- In @CreateAssessment@, @roleType@ can only be @PROCESS_OWNER@.+ --+ -- In @UpdateSettings@, @roleType@ can only be @PROCESS_OWNER@.+ --+ -- In @BatchCreateDelegationByAssessment@, @roleType@ can only be+ -- @RESOURCE_OWNER@.+ roleType :: Prelude.Maybe RoleType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDelegationRequest' 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:+--+-- 'comment', 'createDelegationRequest_comment' - A comment that\'s related to the delegation request.+--+-- 'controlSetId', 'createDelegationRequest_controlSetId' - The unique identifier for the control set.+--+-- 'roleArn', 'createDelegationRequest_roleArn' - The Amazon Resource Name (ARN) of the IAM role.+--+-- 'roleType', 'createDelegationRequest_roleType' - The type of customer persona.+--+-- In @CreateAssessment@, @roleType@ can only be @PROCESS_OWNER@.+--+-- In @UpdateSettings@, @roleType@ can only be @PROCESS_OWNER@.+--+-- In @BatchCreateDelegationByAssessment@, @roleType@ can only be+-- @RESOURCE_OWNER@.+newCreateDelegationRequest ::+ CreateDelegationRequest+newCreateDelegationRequest =+ CreateDelegationRequest'+ { comment = Prelude.Nothing,+ controlSetId = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ roleType = Prelude.Nothing+ }++-- | A comment that\'s related to the delegation request.+createDelegationRequest_comment :: Lens.Lens' CreateDelegationRequest (Prelude.Maybe Prelude.Text)+createDelegationRequest_comment = Lens.lens (\CreateDelegationRequest' {comment} -> comment) (\s@CreateDelegationRequest' {} a -> s {comment = a} :: CreateDelegationRequest)++-- | The unique identifier for the control set.+createDelegationRequest_controlSetId :: Lens.Lens' CreateDelegationRequest (Prelude.Maybe Prelude.Text)+createDelegationRequest_controlSetId = Lens.lens (\CreateDelegationRequest' {controlSetId} -> controlSetId) (\s@CreateDelegationRequest' {} a -> s {controlSetId = a} :: CreateDelegationRequest)++-- | The Amazon Resource Name (ARN) of the IAM role.+createDelegationRequest_roleArn :: Lens.Lens' CreateDelegationRequest (Prelude.Maybe Prelude.Text)+createDelegationRequest_roleArn = Lens.lens (\CreateDelegationRequest' {roleArn} -> roleArn) (\s@CreateDelegationRequest' {} a -> s {roleArn = a} :: CreateDelegationRequest)++-- | The type of customer persona.+--+-- In @CreateAssessment@, @roleType@ can only be @PROCESS_OWNER@.+--+-- In @UpdateSettings@, @roleType@ can only be @PROCESS_OWNER@.+--+-- In @BatchCreateDelegationByAssessment@, @roleType@ can only be+-- @RESOURCE_OWNER@.+createDelegationRequest_roleType :: Lens.Lens' CreateDelegationRequest (Prelude.Maybe RoleType)+createDelegationRequest_roleType = Lens.lens (\CreateDelegationRequest' {roleType} -> roleType) (\s@CreateDelegationRequest' {} a -> s {roleType = a} :: CreateDelegationRequest)++instance Data.FromJSON CreateDelegationRequest where+ parseJSON =+ Data.withObject+ "CreateDelegationRequest"+ ( \x ->+ CreateDelegationRequest'+ Prelude.<$> (x Data..:? "comment")+ Prelude.<*> (x Data..:? "controlSetId")+ Prelude.<*> (x Data..:? "roleArn")+ Prelude.<*> (x Data..:? "roleType")+ )++instance Prelude.Hashable CreateDelegationRequest where+ hashWithSalt _salt CreateDelegationRequest' {..} =+ _salt+ `Prelude.hashWithSalt` comment+ `Prelude.hashWithSalt` controlSetId+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` roleType++instance Prelude.NFData CreateDelegationRequest where+ rnf CreateDelegationRequest' {..} =+ Prelude.rnf comment+ `Prelude.seq` Prelude.rnf controlSetId+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf roleType++instance Data.ToJSON CreateDelegationRequest where+ toJSON CreateDelegationRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("comment" Data..=) Prelude.<$> comment,+ ("controlSetId" Data..=) Prelude.<$> controlSetId,+ ("roleArn" Data..=) Prelude.<$> roleArn,+ ("roleType" Data..=) Prelude.<$> roleType+ ]+ )
+ gen/Amazonka/AuditManager/Types/Delegation.hs view
@@ -0,0 +1,221 @@+{-# 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.AuditManager.Types.Delegation+-- 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.AuditManager.Types.Delegation where++import Amazonka.AuditManager.Types.DelegationStatus+import Amazonka.AuditManager.Types.RoleType+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++-- | The assignment of a control set to a delegate for review.+--+-- /See:/ 'newDelegation' smart constructor.+data Delegation = Delegation'+ { -- | The identifier for the assessment that\'s associated with the+ -- delegation.+ assessmentId :: Prelude.Maybe Prelude.Text,+ -- | The name of the assessment that\'s associated with the delegation.+ assessmentName :: Prelude.Maybe Prelude.Text,+ -- | The comment that\'s related to the delegation.+ comment :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the control set that\'s associated with the+ -- delegation.+ controlSetId :: Prelude.Maybe Prelude.Text,+ -- | The IAM user or role that created the delegation.+ createdBy :: Prelude.Maybe Prelude.Text,+ -- | Specifies when the delegation was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The unique identifier for the delegation.+ id :: Prelude.Maybe Prelude.Text,+ -- | Specifies when the delegation was last updated.+ lastUpdated :: Prelude.Maybe Data.POSIX,+ -- | The Amazon Resource Name (ARN) of the IAM role.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The type of customer persona.+ --+ -- In @CreateAssessment@, @roleType@ can only be @PROCESS_OWNER@.+ --+ -- In @UpdateSettings@, @roleType@ can only be @PROCESS_OWNER@.+ --+ -- In @BatchCreateDelegationByAssessment@, @roleType@ can only be+ -- @RESOURCE_OWNER@.+ roleType :: Prelude.Maybe RoleType,+ -- | The status of the delegation.+ status :: Prelude.Maybe DelegationStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Delegation' 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:+--+-- 'assessmentId', 'delegation_assessmentId' - The identifier for the assessment that\'s associated with the+-- delegation.+--+-- 'assessmentName', 'delegation_assessmentName' - The name of the assessment that\'s associated with the delegation.+--+-- 'comment', 'delegation_comment' - The comment that\'s related to the delegation.+--+-- 'controlSetId', 'delegation_controlSetId' - The identifier for the control set that\'s associated with the+-- delegation.+--+-- 'createdBy', 'delegation_createdBy' - The IAM user or role that created the delegation.+--+-- 'creationTime', 'delegation_creationTime' - Specifies when the delegation was created.+--+-- 'id', 'delegation_id' - The unique identifier for the delegation.+--+-- 'lastUpdated', 'delegation_lastUpdated' - Specifies when the delegation was last updated.+--+-- 'roleArn', 'delegation_roleArn' - The Amazon Resource Name (ARN) of the IAM role.+--+-- 'roleType', 'delegation_roleType' - The type of customer persona.+--+-- In @CreateAssessment@, @roleType@ can only be @PROCESS_OWNER@.+--+-- In @UpdateSettings@, @roleType@ can only be @PROCESS_OWNER@.+--+-- In @BatchCreateDelegationByAssessment@, @roleType@ can only be+-- @RESOURCE_OWNER@.+--+-- 'status', 'delegation_status' - The status of the delegation.+newDelegation ::+ Delegation+newDelegation =+ Delegation'+ { assessmentId = Prelude.Nothing,+ assessmentName = Prelude.Nothing,+ comment = Prelude.Nothing,+ controlSetId = Prelude.Nothing,+ createdBy = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ id = Prelude.Nothing,+ lastUpdated = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ roleType = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The identifier for the assessment that\'s associated with the+-- delegation.+delegation_assessmentId :: Lens.Lens' Delegation (Prelude.Maybe Prelude.Text)+delegation_assessmentId = Lens.lens (\Delegation' {assessmentId} -> assessmentId) (\s@Delegation' {} a -> s {assessmentId = a} :: Delegation)++-- | The name of the assessment that\'s associated with the delegation.+delegation_assessmentName :: Lens.Lens' Delegation (Prelude.Maybe Prelude.Text)+delegation_assessmentName = Lens.lens (\Delegation' {assessmentName} -> assessmentName) (\s@Delegation' {} a -> s {assessmentName = a} :: Delegation)++-- | The comment that\'s related to the delegation.+delegation_comment :: Lens.Lens' Delegation (Prelude.Maybe Prelude.Text)+delegation_comment = Lens.lens (\Delegation' {comment} -> comment) (\s@Delegation' {} a -> s {comment = a} :: Delegation)++-- | The identifier for the control set that\'s associated with the+-- delegation.+delegation_controlSetId :: Lens.Lens' Delegation (Prelude.Maybe Prelude.Text)+delegation_controlSetId = Lens.lens (\Delegation' {controlSetId} -> controlSetId) (\s@Delegation' {} a -> s {controlSetId = a} :: Delegation)++-- | The IAM user or role that created the delegation.+delegation_createdBy :: Lens.Lens' Delegation (Prelude.Maybe Prelude.Text)+delegation_createdBy = Lens.lens (\Delegation' {createdBy} -> createdBy) (\s@Delegation' {} a -> s {createdBy = a} :: Delegation)++-- | Specifies when the delegation was created.+delegation_creationTime :: Lens.Lens' Delegation (Prelude.Maybe Prelude.UTCTime)+delegation_creationTime = Lens.lens (\Delegation' {creationTime} -> creationTime) (\s@Delegation' {} a -> s {creationTime = a} :: Delegation) Prelude.. Lens.mapping Data._Time++-- | The unique identifier for the delegation.+delegation_id :: Lens.Lens' Delegation (Prelude.Maybe Prelude.Text)+delegation_id = Lens.lens (\Delegation' {id} -> id) (\s@Delegation' {} a -> s {id = a} :: Delegation)++-- | Specifies when the delegation was last updated.+delegation_lastUpdated :: Lens.Lens' Delegation (Prelude.Maybe Prelude.UTCTime)+delegation_lastUpdated = Lens.lens (\Delegation' {lastUpdated} -> lastUpdated) (\s@Delegation' {} a -> s {lastUpdated = a} :: Delegation) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the IAM role.+delegation_roleArn :: Lens.Lens' Delegation (Prelude.Maybe Prelude.Text)+delegation_roleArn = Lens.lens (\Delegation' {roleArn} -> roleArn) (\s@Delegation' {} a -> s {roleArn = a} :: Delegation)++-- | The type of customer persona.+--+-- In @CreateAssessment@, @roleType@ can only be @PROCESS_OWNER@.+--+-- In @UpdateSettings@, @roleType@ can only be @PROCESS_OWNER@.+--+-- In @BatchCreateDelegationByAssessment@, @roleType@ can only be+-- @RESOURCE_OWNER@.+delegation_roleType :: Lens.Lens' Delegation (Prelude.Maybe RoleType)+delegation_roleType = Lens.lens (\Delegation' {roleType} -> roleType) (\s@Delegation' {} a -> s {roleType = a} :: Delegation)++-- | The status of the delegation.+delegation_status :: Lens.Lens' Delegation (Prelude.Maybe DelegationStatus)+delegation_status = Lens.lens (\Delegation' {status} -> status) (\s@Delegation' {} a -> s {status = a} :: Delegation)++instance Data.FromJSON Delegation where+ parseJSON =+ Data.withObject+ "Delegation"+ ( \x ->+ Delegation'+ Prelude.<$> (x Data..:? "assessmentId")+ Prelude.<*> (x Data..:? "assessmentName")+ Prelude.<*> (x Data..:? "comment")+ Prelude.<*> (x Data..:? "controlSetId")+ Prelude.<*> (x Data..:? "createdBy")+ Prelude.<*> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastUpdated")+ Prelude.<*> (x Data..:? "roleArn")+ Prelude.<*> (x Data..:? "roleType")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable Delegation where+ hashWithSalt _salt Delegation' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` assessmentName+ `Prelude.hashWithSalt` comment+ `Prelude.hashWithSalt` controlSetId+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastUpdated+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` roleType+ `Prelude.hashWithSalt` status++instance Prelude.NFData Delegation where+ rnf Delegation' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf assessmentName+ `Prelude.seq` Prelude.rnf comment+ `Prelude.seq` Prelude.rnf controlSetId+ `Prelude.seq` Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastUpdated+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf roleType+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AuditManager/Types/DelegationMetadata.hs view
@@ -0,0 +1,145 @@+{-# 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.AuditManager.Types.DelegationMetadata+-- 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.AuditManager.Types.DelegationMetadata where++import Amazonka.AuditManager.Types.DelegationStatus+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++-- | The metadata that\'s associated with the delegation.+--+-- /See:/ 'newDelegationMetadata' smart constructor.+data DelegationMetadata = DelegationMetadata'+ { -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Maybe Prelude.Text,+ -- | The name of the associated assessment.+ assessmentName :: Prelude.Maybe Prelude.Text,+ -- | Specifies the name of the control set that was delegated for review.+ controlSetName :: Prelude.Maybe Prelude.Text,+ -- | Specifies when the delegation was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The unique identifier for the delegation.+ id :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the IAM role.+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The current status of the delegation.+ status :: Prelude.Maybe DelegationStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DelegationMetadata' 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:+--+-- 'assessmentId', 'delegationMetadata_assessmentId' - The unique identifier for the assessment.+--+-- 'assessmentName', 'delegationMetadata_assessmentName' - The name of the associated assessment.+--+-- 'controlSetName', 'delegationMetadata_controlSetName' - Specifies the name of the control set that was delegated for review.+--+-- 'creationTime', 'delegationMetadata_creationTime' - Specifies when the delegation was created.+--+-- 'id', 'delegationMetadata_id' - The unique identifier for the delegation.+--+-- 'roleArn', 'delegationMetadata_roleArn' - The Amazon Resource Name (ARN) of the IAM role.+--+-- 'status', 'delegationMetadata_status' - The current status of the delegation.+newDelegationMetadata ::+ DelegationMetadata+newDelegationMetadata =+ DelegationMetadata'+ { assessmentId = Prelude.Nothing,+ assessmentName = Prelude.Nothing,+ controlSetName = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ id = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The unique identifier for the assessment.+delegationMetadata_assessmentId :: Lens.Lens' DelegationMetadata (Prelude.Maybe Prelude.Text)+delegationMetadata_assessmentId = Lens.lens (\DelegationMetadata' {assessmentId} -> assessmentId) (\s@DelegationMetadata' {} a -> s {assessmentId = a} :: DelegationMetadata)++-- | The name of the associated assessment.+delegationMetadata_assessmentName :: Lens.Lens' DelegationMetadata (Prelude.Maybe Prelude.Text)+delegationMetadata_assessmentName = Lens.lens (\DelegationMetadata' {assessmentName} -> assessmentName) (\s@DelegationMetadata' {} a -> s {assessmentName = a} :: DelegationMetadata)++-- | Specifies the name of the control set that was delegated for review.+delegationMetadata_controlSetName :: Lens.Lens' DelegationMetadata (Prelude.Maybe Prelude.Text)+delegationMetadata_controlSetName = Lens.lens (\DelegationMetadata' {controlSetName} -> controlSetName) (\s@DelegationMetadata' {} a -> s {controlSetName = a} :: DelegationMetadata)++-- | Specifies when the delegation was created.+delegationMetadata_creationTime :: Lens.Lens' DelegationMetadata (Prelude.Maybe Prelude.UTCTime)+delegationMetadata_creationTime = Lens.lens (\DelegationMetadata' {creationTime} -> creationTime) (\s@DelegationMetadata' {} a -> s {creationTime = a} :: DelegationMetadata) Prelude.. Lens.mapping Data._Time++-- | The unique identifier for the delegation.+delegationMetadata_id :: Lens.Lens' DelegationMetadata (Prelude.Maybe Prelude.Text)+delegationMetadata_id = Lens.lens (\DelegationMetadata' {id} -> id) (\s@DelegationMetadata' {} a -> s {id = a} :: DelegationMetadata)++-- | The Amazon Resource Name (ARN) of the IAM role.+delegationMetadata_roleArn :: Lens.Lens' DelegationMetadata (Prelude.Maybe Prelude.Text)+delegationMetadata_roleArn = Lens.lens (\DelegationMetadata' {roleArn} -> roleArn) (\s@DelegationMetadata' {} a -> s {roleArn = a} :: DelegationMetadata)++-- | The current status of the delegation.+delegationMetadata_status :: Lens.Lens' DelegationMetadata (Prelude.Maybe DelegationStatus)+delegationMetadata_status = Lens.lens (\DelegationMetadata' {status} -> status) (\s@DelegationMetadata' {} a -> s {status = a} :: DelegationMetadata)++instance Data.FromJSON DelegationMetadata where+ parseJSON =+ Data.withObject+ "DelegationMetadata"+ ( \x ->+ DelegationMetadata'+ Prelude.<$> (x Data..:? "assessmentId")+ Prelude.<*> (x Data..:? "assessmentName")+ Prelude.<*> (x Data..:? "controlSetName")+ Prelude.<*> (x Data..:? "creationTime")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "roleArn")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable DelegationMetadata where+ hashWithSalt _salt DelegationMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` assessmentName+ `Prelude.hashWithSalt` controlSetName+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` status++instance Prelude.NFData DelegationMetadata where+ rnf DelegationMetadata' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf assessmentName+ `Prelude.seq` Prelude.rnf controlSetName+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/AuditManager/Types/DelegationStatus.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.AuditManager.Types.DelegationStatus+-- 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.AuditManager.Types.DelegationStatus+ ( DelegationStatus+ ( ..,+ DelegationStatus_COMPLETE,+ DelegationStatus_IN_PROGRESS,+ DelegationStatus_UNDER_REVIEW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DelegationStatus = DelegationStatus'+ { fromDelegationStatus ::+ 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 DelegationStatus_COMPLETE :: DelegationStatus+pattern DelegationStatus_COMPLETE = DelegationStatus' "COMPLETE"++pattern DelegationStatus_IN_PROGRESS :: DelegationStatus+pattern DelegationStatus_IN_PROGRESS = DelegationStatus' "IN_PROGRESS"++pattern DelegationStatus_UNDER_REVIEW :: DelegationStatus+pattern DelegationStatus_UNDER_REVIEW = DelegationStatus' "UNDER_REVIEW"++{-# COMPLETE+ DelegationStatus_COMPLETE,+ DelegationStatus_IN_PROGRESS,+ DelegationStatus_UNDER_REVIEW,+ DelegationStatus'+ #-}
+ gen/Amazonka/AuditManager/Types/DeleteResources.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.AuditManager.Types.DeleteResources+-- 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.AuditManager.Types.DeleteResources+ ( DeleteResources+ ( ..,+ DeleteResources_ALL,+ DeleteResources_DEFAULT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeleteResources = DeleteResources'+ { fromDeleteResources ::+ 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 DeleteResources_ALL :: DeleteResources+pattern DeleteResources_ALL = DeleteResources' "ALL"++pattern DeleteResources_DEFAULT :: DeleteResources+pattern DeleteResources_DEFAULT = DeleteResources' "DEFAULT"++{-# COMPLETE+ DeleteResources_ALL,+ DeleteResources_DEFAULT,+ DeleteResources'+ #-}
+ gen/Amazonka/AuditManager/Types/DeregistrationPolicy.hs view
@@ -0,0 +1,133 @@+{-# 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.AuditManager.Types.DeregistrationPolicy+-- 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.AuditManager.Types.DeregistrationPolicy where++import Amazonka.AuditManager.Types.DeleteResources+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++-- | The deregistration policy for the data that\'s stored in Audit Manager.+-- You can use this attribute to determine how your data is handled when+-- you+-- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeregisterAccount.html deregister Audit Manager>.+--+-- By default, Audit Manager retains evidence data for two years from the+-- time of its creation. Other Audit Manager resources (including+-- assessments, custom controls, and custom frameworks) remain in Audit+-- Manager indefinitely, and are available if you+-- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_RegisterAccount.html re-register Audit Manager>+-- in the future. For more information about data retention, see+-- <https://docs.aws.amazon.com/audit-manager/latest/userguide/data-protection.html Data Protection>+-- in the /Audit Manager User Guide/.+--+-- If you choose to delete all data, this action permanently deletes all+-- evidence data in your account within seven days. It also deletes all of+-- the Audit Manager resources that you created, including assessments,+-- custom controls, and custom frameworks. Your data will not be available+-- if you re-register Audit Manager in the future.+--+-- /See:/ 'newDeregistrationPolicy' smart constructor.+data DeregistrationPolicy = DeregistrationPolicy'+ { -- | Specifies which Audit Manager data will be deleted when you deregister+ -- Audit Manager.+ --+ -- - If you set the value to @ALL@, all of your data is deleted within+ -- seven days of deregistration.+ --+ -- - If you set the value to @DEFAULT@, none of your data is deleted at+ -- the time of deregistration. However, keep in mind that the Audit+ -- Manager data retention policy still applies. As a result, any+ -- evidence data will be deleted two years after its creation date.+ -- Your other Audit Manager resources will continue to exist+ -- indefinitely.+ deleteResources :: Prelude.Maybe DeleteResources+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeregistrationPolicy' 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:+--+-- 'deleteResources', 'deregistrationPolicy_deleteResources' - Specifies which Audit Manager data will be deleted when you deregister+-- Audit Manager.+--+-- - If you set the value to @ALL@, all of your data is deleted within+-- seven days of deregistration.+--+-- - If you set the value to @DEFAULT@, none of your data is deleted at+-- the time of deregistration. However, keep in mind that the Audit+-- Manager data retention policy still applies. As a result, any+-- evidence data will be deleted two years after its creation date.+-- Your other Audit Manager resources will continue to exist+-- indefinitely.+newDeregistrationPolicy ::+ DeregistrationPolicy+newDeregistrationPolicy =+ DeregistrationPolicy'+ { deleteResources =+ Prelude.Nothing+ }++-- | Specifies which Audit Manager data will be deleted when you deregister+-- Audit Manager.+--+-- - If you set the value to @ALL@, all of your data is deleted within+-- seven days of deregistration.+--+-- - If you set the value to @DEFAULT@, none of your data is deleted at+-- the time of deregistration. However, keep in mind that the Audit+-- Manager data retention policy still applies. As a result, any+-- evidence data will be deleted two years after its creation date.+-- Your other Audit Manager resources will continue to exist+-- indefinitely.+deregistrationPolicy_deleteResources :: Lens.Lens' DeregistrationPolicy (Prelude.Maybe DeleteResources)+deregistrationPolicy_deleteResources = Lens.lens (\DeregistrationPolicy' {deleteResources} -> deleteResources) (\s@DeregistrationPolicy' {} a -> s {deleteResources = a} :: DeregistrationPolicy)++instance Data.FromJSON DeregistrationPolicy where+ parseJSON =+ Data.withObject+ "DeregistrationPolicy"+ ( \x ->+ DeregistrationPolicy'+ Prelude.<$> (x Data..:? "deleteResources")+ )++instance Prelude.Hashable DeregistrationPolicy where+ hashWithSalt _salt DeregistrationPolicy' {..} =+ _salt `Prelude.hashWithSalt` deleteResources++instance Prelude.NFData DeregistrationPolicy where+ rnf DeregistrationPolicy' {..} =+ Prelude.rnf deleteResources++instance Data.ToJSON DeregistrationPolicy where+ toJSON DeregistrationPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("deleteResources" Data..=)+ Prelude.<$> deleteResources+ ]+ )
+ gen/Amazonka/AuditManager/Types/Evidence.hs view
@@ -0,0 +1,308 @@+{-# 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.AuditManager.Types.Evidence+-- 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.AuditManager.Types.Evidence where++import Amazonka.AuditManager.Types.Resource+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++-- | A record that contains the information needed to demonstrate compliance+-- with the requirements specified by a control. Examples of evidence+-- include change activity invoked by a user, or a system configuration+-- snapshot.+--+-- /See:/ 'newEvidence' smart constructor.+data Evidence = Evidence'+ { -- | Specifies whether the evidence is included in the assessment report.+ assessmentReportSelection :: Prelude.Maybe Prelude.Text,+ -- | The names and values that are used by the evidence event. This includes+ -- an attribute name (such as @allowUsersToChangePassword@) and value (such+ -- as @true@ or @false@).+ attributes :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The identifier for the Amazon Web Services account.+ awsAccountId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services account that the evidence is collected from, and+ -- its organization path.+ awsOrganization :: Prelude.Maybe Prelude.Text,+ -- | The evaluation status for automated evidence that falls under the+ -- compliance check category.+ --+ -- - Audit Manager classes evidence as non-compliant if Security Hub+ -- reports a /Fail/ result, or if Config reports a /Non-compliant/+ -- result.+ --+ -- - Audit Manager classes evidence as compliant if Security Hub reports+ -- a /Pass/ result, or if Config reports a /Compliant/ result.+ --+ -- - If a compliance check isn\'t available or applicable, then no+ -- compliance evaluation can be made for that evidence. This is the+ -- case if the evidence uses Config or Security Hub as the underlying+ -- data source type, but those services aren\'t enabled. This is also+ -- the case if the evidence uses an underlying data source type that+ -- doesn\'t support compliance checks (such as manual evidence, Amazon+ -- Web Services API calls, or CloudTrail).+ complianceCheck :: Prelude.Maybe Prelude.Text,+ -- | The data source where the evidence was collected from.+ dataSource :: Prelude.Maybe Prelude.Text,+ -- | The name of the evidence event.+ eventName :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Service that the evidence is collected from.+ eventSource :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the Amazon Web Services account.+ evidenceAwsAccountId :: Prelude.Maybe Prelude.Text,+ -- | The type of automated evidence.+ evidenceByType :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the folder that the evidence is stored in.+ evidenceFolderId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the IAM user or role that\'s associated with+ -- the evidence.+ iamId :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the evidence.+ id :: Prelude.Maybe Prelude.Text,+ -- | The list of resources that are assessed to generate the evidence.+ resourcesIncluded :: Prelude.Maybe [Resource],+ -- | The timestamp that represents when the evidence was collected.+ time :: Prelude.Maybe Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Evidence' 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:+--+-- 'assessmentReportSelection', 'evidence_assessmentReportSelection' - Specifies whether the evidence is included in the assessment report.+--+-- 'attributes', 'evidence_attributes' - The names and values that are used by the evidence event. This includes+-- an attribute name (such as @allowUsersToChangePassword@) and value (such+-- as @true@ or @false@).+--+-- 'awsAccountId', 'evidence_awsAccountId' - The identifier for the Amazon Web Services account.+--+-- 'awsOrganization', 'evidence_awsOrganization' - The Amazon Web Services account that the evidence is collected from, and+-- its organization path.+--+-- 'complianceCheck', 'evidence_complianceCheck' - The evaluation status for automated evidence that falls under the+-- compliance check category.+--+-- - Audit Manager classes evidence as non-compliant if Security Hub+-- reports a /Fail/ result, or if Config reports a /Non-compliant/+-- result.+--+-- - Audit Manager classes evidence as compliant if Security Hub reports+-- a /Pass/ result, or if Config reports a /Compliant/ result.+--+-- - If a compliance check isn\'t available or applicable, then no+-- compliance evaluation can be made for that evidence. This is the+-- case if the evidence uses Config or Security Hub as the underlying+-- data source type, but those services aren\'t enabled. This is also+-- the case if the evidence uses an underlying data source type that+-- doesn\'t support compliance checks (such as manual evidence, Amazon+-- Web Services API calls, or CloudTrail).+--+-- 'dataSource', 'evidence_dataSource' - The data source where the evidence was collected from.+--+-- 'eventName', 'evidence_eventName' - The name of the evidence event.+--+-- 'eventSource', 'evidence_eventSource' - The Amazon Web Service that the evidence is collected from.+--+-- 'evidenceAwsAccountId', 'evidence_evidenceAwsAccountId' - The identifier for the Amazon Web Services account.+--+-- 'evidenceByType', 'evidence_evidenceByType' - The type of automated evidence.+--+-- 'evidenceFolderId', 'evidence_evidenceFolderId' - The identifier for the folder that the evidence is stored in.+--+-- 'iamId', 'evidence_iamId' - The unique identifier for the IAM user or role that\'s associated with+-- the evidence.+--+-- 'id', 'evidence_id' - The identifier for the evidence.+--+-- 'resourcesIncluded', 'evidence_resourcesIncluded' - The list of resources that are assessed to generate the evidence.+--+-- 'time', 'evidence_time' - The timestamp that represents when the evidence was collected.+newEvidence ::+ Evidence+newEvidence =+ Evidence'+ { assessmentReportSelection =+ Prelude.Nothing,+ attributes = Prelude.Nothing,+ awsAccountId = Prelude.Nothing,+ awsOrganization = Prelude.Nothing,+ complianceCheck = Prelude.Nothing,+ dataSource = Prelude.Nothing,+ eventName = Prelude.Nothing,+ eventSource = Prelude.Nothing,+ evidenceAwsAccountId = Prelude.Nothing,+ evidenceByType = Prelude.Nothing,+ evidenceFolderId = Prelude.Nothing,+ iamId = Prelude.Nothing,+ id = Prelude.Nothing,+ resourcesIncluded = Prelude.Nothing,+ time = Prelude.Nothing+ }++-- | Specifies whether the evidence is included in the assessment report.+evidence_assessmentReportSelection :: Lens.Lens' Evidence (Prelude.Maybe Prelude.Text)+evidence_assessmentReportSelection = Lens.lens (\Evidence' {assessmentReportSelection} -> assessmentReportSelection) (\s@Evidence' {} a -> s {assessmentReportSelection = a} :: Evidence)++-- | The names and values that are used by the evidence event. This includes+-- an attribute name (such as @allowUsersToChangePassword@) and value (such+-- as @true@ or @false@).+evidence_attributes :: Lens.Lens' Evidence (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+evidence_attributes = Lens.lens (\Evidence' {attributes} -> attributes) (\s@Evidence' {} a -> s {attributes = a} :: Evidence) Prelude.. Lens.mapping Lens.coerced++-- | The identifier for the Amazon Web Services account.+evidence_awsAccountId :: Lens.Lens' Evidence (Prelude.Maybe Prelude.Text)+evidence_awsAccountId = Lens.lens (\Evidence' {awsAccountId} -> awsAccountId) (\s@Evidence' {} a -> s {awsAccountId = a} :: Evidence)++-- | The Amazon Web Services account that the evidence is collected from, and+-- its organization path.+evidence_awsOrganization :: Lens.Lens' Evidence (Prelude.Maybe Prelude.Text)+evidence_awsOrganization = Lens.lens (\Evidence' {awsOrganization} -> awsOrganization) (\s@Evidence' {} a -> s {awsOrganization = a} :: Evidence)++-- | The evaluation status for automated evidence that falls under the+-- compliance check category.+--+-- - Audit Manager classes evidence as non-compliant if Security Hub+-- reports a /Fail/ result, or if Config reports a /Non-compliant/+-- result.+--+-- - Audit Manager classes evidence as compliant if Security Hub reports+-- a /Pass/ result, or if Config reports a /Compliant/ result.+--+-- - If a compliance check isn\'t available or applicable, then no+-- compliance evaluation can be made for that evidence. This is the+-- case if the evidence uses Config or Security Hub as the underlying+-- data source type, but those services aren\'t enabled. This is also+-- the case if the evidence uses an underlying data source type that+-- doesn\'t support compliance checks (such as manual evidence, Amazon+-- Web Services API calls, or CloudTrail).+evidence_complianceCheck :: Lens.Lens' Evidence (Prelude.Maybe Prelude.Text)+evidence_complianceCheck = Lens.lens (\Evidence' {complianceCheck} -> complianceCheck) (\s@Evidence' {} a -> s {complianceCheck = a} :: Evidence)++-- | The data source where the evidence was collected from.+evidence_dataSource :: Lens.Lens' Evidence (Prelude.Maybe Prelude.Text)+evidence_dataSource = Lens.lens (\Evidence' {dataSource} -> dataSource) (\s@Evidence' {} a -> s {dataSource = a} :: Evidence)++-- | The name of the evidence event.+evidence_eventName :: Lens.Lens' Evidence (Prelude.Maybe Prelude.Text)+evidence_eventName = Lens.lens (\Evidence' {eventName} -> eventName) (\s@Evidence' {} a -> s {eventName = a} :: Evidence)++-- | The Amazon Web Service that the evidence is collected from.+evidence_eventSource :: Lens.Lens' Evidence (Prelude.Maybe Prelude.Text)+evidence_eventSource = Lens.lens (\Evidence' {eventSource} -> eventSource) (\s@Evidence' {} a -> s {eventSource = a} :: Evidence)++-- | The identifier for the Amazon Web Services account.+evidence_evidenceAwsAccountId :: Lens.Lens' Evidence (Prelude.Maybe Prelude.Text)+evidence_evidenceAwsAccountId = Lens.lens (\Evidence' {evidenceAwsAccountId} -> evidenceAwsAccountId) (\s@Evidence' {} a -> s {evidenceAwsAccountId = a} :: Evidence)++-- | The type of automated evidence.+evidence_evidenceByType :: Lens.Lens' Evidence (Prelude.Maybe Prelude.Text)+evidence_evidenceByType = Lens.lens (\Evidence' {evidenceByType} -> evidenceByType) (\s@Evidence' {} a -> s {evidenceByType = a} :: Evidence)++-- | The identifier for the folder that the evidence is stored in.+evidence_evidenceFolderId :: Lens.Lens' Evidence (Prelude.Maybe Prelude.Text)+evidence_evidenceFolderId = Lens.lens (\Evidence' {evidenceFolderId} -> evidenceFolderId) (\s@Evidence' {} a -> s {evidenceFolderId = a} :: Evidence)++-- | The unique identifier for the IAM user or role that\'s associated with+-- the evidence.+evidence_iamId :: Lens.Lens' Evidence (Prelude.Maybe Prelude.Text)+evidence_iamId = Lens.lens (\Evidence' {iamId} -> iamId) (\s@Evidence' {} a -> s {iamId = a} :: Evidence)++-- | The identifier for the evidence.+evidence_id :: Lens.Lens' Evidence (Prelude.Maybe Prelude.Text)+evidence_id = Lens.lens (\Evidence' {id} -> id) (\s@Evidence' {} a -> s {id = a} :: Evidence)++-- | The list of resources that are assessed to generate the evidence.+evidence_resourcesIncluded :: Lens.Lens' Evidence (Prelude.Maybe [Resource])+evidence_resourcesIncluded = Lens.lens (\Evidence' {resourcesIncluded} -> resourcesIncluded) (\s@Evidence' {} a -> s {resourcesIncluded = a} :: Evidence) Prelude.. Lens.mapping Lens.coerced++-- | The timestamp that represents when the evidence was collected.+evidence_time :: Lens.Lens' Evidence (Prelude.Maybe Prelude.UTCTime)+evidence_time = Lens.lens (\Evidence' {time} -> time) (\s@Evidence' {} a -> s {time = a} :: Evidence) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON Evidence where+ parseJSON =+ Data.withObject+ "Evidence"+ ( \x ->+ Evidence'+ Prelude.<$> (x Data..:? "assessmentReportSelection")+ Prelude.<*> (x Data..:? "attributes" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "awsAccountId")+ Prelude.<*> (x Data..:? "awsOrganization")+ Prelude.<*> (x Data..:? "complianceCheck")+ Prelude.<*> (x Data..:? "dataSource")+ Prelude.<*> (x Data..:? "eventName")+ Prelude.<*> (x Data..:? "eventSource")+ Prelude.<*> (x Data..:? "evidenceAwsAccountId")+ Prelude.<*> (x Data..:? "evidenceByType")+ Prelude.<*> (x Data..:? "evidenceFolderId")+ Prelude.<*> (x Data..:? "iamId")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> ( x+ Data..:? "resourcesIncluded"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "time")+ )++instance Prelude.Hashable Evidence where+ hashWithSalt _salt Evidence' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentReportSelection+ `Prelude.hashWithSalt` attributes+ `Prelude.hashWithSalt` awsAccountId+ `Prelude.hashWithSalt` awsOrganization+ `Prelude.hashWithSalt` complianceCheck+ `Prelude.hashWithSalt` dataSource+ `Prelude.hashWithSalt` eventName+ `Prelude.hashWithSalt` eventSource+ `Prelude.hashWithSalt` evidenceAwsAccountId+ `Prelude.hashWithSalt` evidenceByType+ `Prelude.hashWithSalt` evidenceFolderId+ `Prelude.hashWithSalt` iamId+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` resourcesIncluded+ `Prelude.hashWithSalt` time++instance Prelude.NFData Evidence where+ rnf Evidence' {..} =+ Prelude.rnf assessmentReportSelection+ `Prelude.seq` Prelude.rnf attributes+ `Prelude.seq` Prelude.rnf awsAccountId+ `Prelude.seq` Prelude.rnf awsOrganization+ `Prelude.seq` Prelude.rnf complianceCheck+ `Prelude.seq` Prelude.rnf dataSource+ `Prelude.seq` Prelude.rnf eventName+ `Prelude.seq` Prelude.rnf eventSource+ `Prelude.seq` Prelude.rnf evidenceAwsAccountId+ `Prelude.seq` Prelude.rnf evidenceByType+ `Prelude.seq` Prelude.rnf evidenceFolderId+ `Prelude.seq` Prelude.rnf iamId+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf resourcesIncluded+ `Prelude.seq` Prelude.rnf time
+ gen/Amazonka/AuditManager/Types/EvidenceFinderBackfillStatus.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.AuditManager.Types.EvidenceFinderBackfillStatus+-- 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.AuditManager.Types.EvidenceFinderBackfillStatus+ ( EvidenceFinderBackfillStatus+ ( ..,+ EvidenceFinderBackfillStatus_COMPLETED,+ EvidenceFinderBackfillStatus_IN_PROGRESS,+ EvidenceFinderBackfillStatus_NOT_STARTED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EvidenceFinderBackfillStatus = EvidenceFinderBackfillStatus'+ { fromEvidenceFinderBackfillStatus ::+ 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 EvidenceFinderBackfillStatus_COMPLETED :: EvidenceFinderBackfillStatus+pattern EvidenceFinderBackfillStatus_COMPLETED = EvidenceFinderBackfillStatus' "COMPLETED"++pattern EvidenceFinderBackfillStatus_IN_PROGRESS :: EvidenceFinderBackfillStatus+pattern EvidenceFinderBackfillStatus_IN_PROGRESS = EvidenceFinderBackfillStatus' "IN_PROGRESS"++pattern EvidenceFinderBackfillStatus_NOT_STARTED :: EvidenceFinderBackfillStatus+pattern EvidenceFinderBackfillStatus_NOT_STARTED = EvidenceFinderBackfillStatus' "NOT_STARTED"++{-# COMPLETE+ EvidenceFinderBackfillStatus_COMPLETED,+ EvidenceFinderBackfillStatus_IN_PROGRESS,+ EvidenceFinderBackfillStatus_NOT_STARTED,+ EvidenceFinderBackfillStatus'+ #-}
+ gen/Amazonka/AuditManager/Types/EvidenceFinderEnablement.hs view
@@ -0,0 +1,215 @@+{-# 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.AuditManager.Types.EvidenceFinderEnablement+-- 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.AuditManager.Types.EvidenceFinderEnablement where++import Amazonka.AuditManager.Types.EvidenceFinderBackfillStatus+import Amazonka.AuditManager.Types.EvidenceFinderEnablementStatus+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++-- | The settings object that specifies whether evidence finder is enabled.+-- This object also describes the related event data store, and the+-- backfill status for populating the event data store with evidence data.+--+-- /See:/ 'newEvidenceFinderEnablement' smart constructor.+data EvidenceFinderEnablement = EvidenceFinderEnablement'+ { -- | The current status of the evidence data backfill process.+ --+ -- The backfill starts after you enable evidence finder. During this task,+ -- Audit Manager populates an event data store with your past two years’+ -- worth of evidence data so that your evidence can be queried.+ --+ -- - @NOT_STARTED@ means that the backfill hasn’t started yet.+ --+ -- - @IN_PROGRESS@ means that the backfill is in progress. This can take+ -- up to 7 days to complete, depending on the amount of evidence data.+ --+ -- - @COMPLETED@ means that the backfill is complete. All of your past+ -- evidence is now queryable.+ backfillStatus :: Prelude.Maybe EvidenceFinderBackfillStatus,+ -- | The current status of the evidence finder feature and the related event+ -- data store.+ --+ -- - @ENABLE_IN_PROGRESS@ means that you requested to enable evidence+ -- finder. An event data store is currently being created to support+ -- evidence finder queries.+ --+ -- - @ENABLED@ means that an event data store was successfully created+ -- and evidence finder is enabled. We recommend that you wait 7 days+ -- until the event data store is backfilled with your past two years’+ -- worth of evidence data. You can use evidence finder in the meantime,+ -- but not all data might be available until the backfill is complete.+ --+ -- - @DISABLE_IN_PROGRESS@ means that you requested to disable evidence+ -- finder, and your request is pending the deletion of the event data+ -- store.+ --+ -- - @DISABLED@ means that you have permanently disabled evidence finder+ -- and the event data store has been deleted. You can\'t re-enable+ -- evidence finder after this point.+ enablementStatus :: Prelude.Maybe EvidenceFinderEnablementStatus,+ -- | Represents any errors that occurred when enabling or disabling evidence+ -- finder.+ error :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the CloudTrail Lake event data store+ -- that’s used by evidence finder. The event data store is the lake of+ -- evidence data that evidence finder runs queries against.+ eventDataStoreArn :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EvidenceFinderEnablement' 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:+--+-- 'backfillStatus', 'evidenceFinderEnablement_backfillStatus' - The current status of the evidence data backfill process.+--+-- The backfill starts after you enable evidence finder. During this task,+-- Audit Manager populates an event data store with your past two years’+-- worth of evidence data so that your evidence can be queried.+--+-- - @NOT_STARTED@ means that the backfill hasn’t started yet.+--+-- - @IN_PROGRESS@ means that the backfill is in progress. This can take+-- up to 7 days to complete, depending on the amount of evidence data.+--+-- - @COMPLETED@ means that the backfill is complete. All of your past+-- evidence is now queryable.+--+-- 'enablementStatus', 'evidenceFinderEnablement_enablementStatus' - The current status of the evidence finder feature and the related event+-- data store.+--+-- - @ENABLE_IN_PROGRESS@ means that you requested to enable evidence+-- finder. An event data store is currently being created to support+-- evidence finder queries.+--+-- - @ENABLED@ means that an event data store was successfully created+-- and evidence finder is enabled. We recommend that you wait 7 days+-- until the event data store is backfilled with your past two years’+-- worth of evidence data. You can use evidence finder in the meantime,+-- but not all data might be available until the backfill is complete.+--+-- - @DISABLE_IN_PROGRESS@ means that you requested to disable evidence+-- finder, and your request is pending the deletion of the event data+-- store.+--+-- - @DISABLED@ means that you have permanently disabled evidence finder+-- and the event data store has been deleted. You can\'t re-enable+-- evidence finder after this point.+--+-- 'error', 'evidenceFinderEnablement_error' - Represents any errors that occurred when enabling or disabling evidence+-- finder.+--+-- 'eventDataStoreArn', 'evidenceFinderEnablement_eventDataStoreArn' - The Amazon Resource Name (ARN) of the CloudTrail Lake event data store+-- that’s used by evidence finder. The event data store is the lake of+-- evidence data that evidence finder runs queries against.+newEvidenceFinderEnablement ::+ EvidenceFinderEnablement+newEvidenceFinderEnablement =+ EvidenceFinderEnablement'+ { backfillStatus =+ Prelude.Nothing,+ enablementStatus = Prelude.Nothing,+ error = Prelude.Nothing,+ eventDataStoreArn = Prelude.Nothing+ }++-- | The current status of the evidence data backfill process.+--+-- The backfill starts after you enable evidence finder. During this task,+-- Audit Manager populates an event data store with your past two years’+-- worth of evidence data so that your evidence can be queried.+--+-- - @NOT_STARTED@ means that the backfill hasn’t started yet.+--+-- - @IN_PROGRESS@ means that the backfill is in progress. This can take+-- up to 7 days to complete, depending on the amount of evidence data.+--+-- - @COMPLETED@ means that the backfill is complete. All of your past+-- evidence is now queryable.+evidenceFinderEnablement_backfillStatus :: Lens.Lens' EvidenceFinderEnablement (Prelude.Maybe EvidenceFinderBackfillStatus)+evidenceFinderEnablement_backfillStatus = Lens.lens (\EvidenceFinderEnablement' {backfillStatus} -> backfillStatus) (\s@EvidenceFinderEnablement' {} a -> s {backfillStatus = a} :: EvidenceFinderEnablement)++-- | The current status of the evidence finder feature and the related event+-- data store.+--+-- - @ENABLE_IN_PROGRESS@ means that you requested to enable evidence+-- finder. An event data store is currently being created to support+-- evidence finder queries.+--+-- - @ENABLED@ means that an event data store was successfully created+-- and evidence finder is enabled. We recommend that you wait 7 days+-- until the event data store is backfilled with your past two years’+-- worth of evidence data. You can use evidence finder in the meantime,+-- but not all data might be available until the backfill is complete.+--+-- - @DISABLE_IN_PROGRESS@ means that you requested to disable evidence+-- finder, and your request is pending the deletion of the event data+-- store.+--+-- - @DISABLED@ means that you have permanently disabled evidence finder+-- and the event data store has been deleted. You can\'t re-enable+-- evidence finder after this point.+evidenceFinderEnablement_enablementStatus :: Lens.Lens' EvidenceFinderEnablement (Prelude.Maybe EvidenceFinderEnablementStatus)+evidenceFinderEnablement_enablementStatus = Lens.lens (\EvidenceFinderEnablement' {enablementStatus} -> enablementStatus) (\s@EvidenceFinderEnablement' {} a -> s {enablementStatus = a} :: EvidenceFinderEnablement)++-- | Represents any errors that occurred when enabling or disabling evidence+-- finder.+evidenceFinderEnablement_error :: Lens.Lens' EvidenceFinderEnablement (Prelude.Maybe Prelude.Text)+evidenceFinderEnablement_error = Lens.lens (\EvidenceFinderEnablement' {error} -> error) (\s@EvidenceFinderEnablement' {} a -> s {error = a} :: EvidenceFinderEnablement)++-- | The Amazon Resource Name (ARN) of the CloudTrail Lake event data store+-- that’s used by evidence finder. The event data store is the lake of+-- evidence data that evidence finder runs queries against.+evidenceFinderEnablement_eventDataStoreArn :: Lens.Lens' EvidenceFinderEnablement (Prelude.Maybe Prelude.Text)+evidenceFinderEnablement_eventDataStoreArn = Lens.lens (\EvidenceFinderEnablement' {eventDataStoreArn} -> eventDataStoreArn) (\s@EvidenceFinderEnablement' {} a -> s {eventDataStoreArn = a} :: EvidenceFinderEnablement)++instance Data.FromJSON EvidenceFinderEnablement where+ parseJSON =+ Data.withObject+ "EvidenceFinderEnablement"+ ( \x ->+ EvidenceFinderEnablement'+ Prelude.<$> (x Data..:? "backfillStatus")+ Prelude.<*> (x Data..:? "enablementStatus")+ Prelude.<*> (x Data..:? "error")+ Prelude.<*> (x Data..:? "eventDataStoreArn")+ )++instance Prelude.Hashable EvidenceFinderEnablement where+ hashWithSalt _salt EvidenceFinderEnablement' {..} =+ _salt+ `Prelude.hashWithSalt` backfillStatus+ `Prelude.hashWithSalt` enablementStatus+ `Prelude.hashWithSalt` error+ `Prelude.hashWithSalt` eventDataStoreArn++instance Prelude.NFData EvidenceFinderEnablement where+ rnf EvidenceFinderEnablement' {..} =+ Prelude.rnf backfillStatus+ `Prelude.seq` Prelude.rnf enablementStatus+ `Prelude.seq` Prelude.rnf error+ `Prelude.seq` Prelude.rnf eventDataStoreArn
+ gen/Amazonka/AuditManager/Types/EvidenceFinderEnablementStatus.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.AuditManager.Types.EvidenceFinderEnablementStatus+-- 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.AuditManager.Types.EvidenceFinderEnablementStatus+ ( EvidenceFinderEnablementStatus+ ( ..,+ EvidenceFinderEnablementStatus_DISABLED,+ EvidenceFinderEnablementStatus_DISABLE_IN_PROGRESS,+ EvidenceFinderEnablementStatus_ENABLED,+ EvidenceFinderEnablementStatus_ENABLE_IN_PROGRESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EvidenceFinderEnablementStatus = EvidenceFinderEnablementStatus'+ { fromEvidenceFinderEnablementStatus ::+ 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 EvidenceFinderEnablementStatus_DISABLED :: EvidenceFinderEnablementStatus+pattern EvidenceFinderEnablementStatus_DISABLED = EvidenceFinderEnablementStatus' "DISABLED"++pattern EvidenceFinderEnablementStatus_DISABLE_IN_PROGRESS :: EvidenceFinderEnablementStatus+pattern EvidenceFinderEnablementStatus_DISABLE_IN_PROGRESS = EvidenceFinderEnablementStatus' "DISABLE_IN_PROGRESS"++pattern EvidenceFinderEnablementStatus_ENABLED :: EvidenceFinderEnablementStatus+pattern EvidenceFinderEnablementStatus_ENABLED = EvidenceFinderEnablementStatus' "ENABLED"++pattern EvidenceFinderEnablementStatus_ENABLE_IN_PROGRESS :: EvidenceFinderEnablementStatus+pattern EvidenceFinderEnablementStatus_ENABLE_IN_PROGRESS = EvidenceFinderEnablementStatus' "ENABLE_IN_PROGRESS"++{-# COMPLETE+ EvidenceFinderEnablementStatus_DISABLED,+ EvidenceFinderEnablementStatus_DISABLE_IN_PROGRESS,+ EvidenceFinderEnablementStatus_ENABLED,+ EvidenceFinderEnablementStatus_ENABLE_IN_PROGRESS,+ EvidenceFinderEnablementStatus'+ #-}
+ gen/Amazonka/AuditManager/Types/EvidenceInsights.hs view
@@ -0,0 +1,140 @@+{-# 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.AuditManager.Types.EvidenceInsights+-- 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.AuditManager.Types.EvidenceInsights 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++-- | A breakdown of the latest compliance check status for the evidence in+-- your Audit Manager assessments.+--+-- /See:/ 'newEvidenceInsights' smart constructor.+data EvidenceInsights = EvidenceInsights'+ { -- | The number of compliance check evidence that Audit Manager classified as+ -- compliant. This includes evidence that was collected from Security Hub+ -- with a /Pass/ ruling, or collected from Config with a /Compliant/+ -- ruling.+ compliantEvidenceCount :: Prelude.Maybe Prelude.Int,+ -- | The number of evidence that a compliance check ruling isn\'t available+ -- for. Evidence is inconclusive when the associated control uses Security+ -- Hub or Config as a data source but you didn\'t enable those services.+ -- This is also the case when a control uses a data source that doesn’t+ -- support compliance checks (for example, manual evidence, API calls, or+ -- CloudTrail).+ --+ -- If evidence has a compliance check status of /not applicable/ in the+ -- console, it\'s classified as /inconclusive/ in @EvidenceInsights@ data.+ inconclusiveEvidenceCount :: Prelude.Maybe Prelude.Int,+ -- | The number of compliance check evidence that Audit Manager classified as+ -- non-compliant. This includes evidence that was collected from Security+ -- Hub with a /Fail/ ruling, or collected from Config with a+ -- /Non-compliant/ ruling.+ noncompliantEvidenceCount :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EvidenceInsights' 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:+--+-- 'compliantEvidenceCount', 'evidenceInsights_compliantEvidenceCount' - The number of compliance check evidence that Audit Manager classified as+-- compliant. This includes evidence that was collected from Security Hub+-- with a /Pass/ ruling, or collected from Config with a /Compliant/+-- ruling.+--+-- 'inconclusiveEvidenceCount', 'evidenceInsights_inconclusiveEvidenceCount' - The number of evidence that a compliance check ruling isn\'t available+-- for. Evidence is inconclusive when the associated control uses Security+-- Hub or Config as a data source but you didn\'t enable those services.+-- This is also the case when a control uses a data source that doesn’t+-- support compliance checks (for example, manual evidence, API calls, or+-- CloudTrail).+--+-- If evidence has a compliance check status of /not applicable/ in the+-- console, it\'s classified as /inconclusive/ in @EvidenceInsights@ data.+--+-- 'noncompliantEvidenceCount', 'evidenceInsights_noncompliantEvidenceCount' - The number of compliance check evidence that Audit Manager classified as+-- non-compliant. This includes evidence that was collected from Security+-- Hub with a /Fail/ ruling, or collected from Config with a+-- /Non-compliant/ ruling.+newEvidenceInsights ::+ EvidenceInsights+newEvidenceInsights =+ EvidenceInsights'+ { compliantEvidenceCount =+ Prelude.Nothing,+ inconclusiveEvidenceCount = Prelude.Nothing,+ noncompliantEvidenceCount = Prelude.Nothing+ }++-- | The number of compliance check evidence that Audit Manager classified as+-- compliant. This includes evidence that was collected from Security Hub+-- with a /Pass/ ruling, or collected from Config with a /Compliant/+-- ruling.+evidenceInsights_compliantEvidenceCount :: Lens.Lens' EvidenceInsights (Prelude.Maybe Prelude.Int)+evidenceInsights_compliantEvidenceCount = Lens.lens (\EvidenceInsights' {compliantEvidenceCount} -> compliantEvidenceCount) (\s@EvidenceInsights' {} a -> s {compliantEvidenceCount = a} :: EvidenceInsights)++-- | The number of evidence that a compliance check ruling isn\'t available+-- for. Evidence is inconclusive when the associated control uses Security+-- Hub or Config as a data source but you didn\'t enable those services.+-- This is also the case when a control uses a data source that doesn’t+-- support compliance checks (for example, manual evidence, API calls, or+-- CloudTrail).+--+-- If evidence has a compliance check status of /not applicable/ in the+-- console, it\'s classified as /inconclusive/ in @EvidenceInsights@ data.+evidenceInsights_inconclusiveEvidenceCount :: Lens.Lens' EvidenceInsights (Prelude.Maybe Prelude.Int)+evidenceInsights_inconclusiveEvidenceCount = Lens.lens (\EvidenceInsights' {inconclusiveEvidenceCount} -> inconclusiveEvidenceCount) (\s@EvidenceInsights' {} a -> s {inconclusiveEvidenceCount = a} :: EvidenceInsights)++-- | The number of compliance check evidence that Audit Manager classified as+-- non-compliant. This includes evidence that was collected from Security+-- Hub with a /Fail/ ruling, or collected from Config with a+-- /Non-compliant/ ruling.+evidenceInsights_noncompliantEvidenceCount :: Lens.Lens' EvidenceInsights (Prelude.Maybe Prelude.Int)+evidenceInsights_noncompliantEvidenceCount = Lens.lens (\EvidenceInsights' {noncompliantEvidenceCount} -> noncompliantEvidenceCount) (\s@EvidenceInsights' {} a -> s {noncompliantEvidenceCount = a} :: EvidenceInsights)++instance Data.FromJSON EvidenceInsights where+ parseJSON =+ Data.withObject+ "EvidenceInsights"+ ( \x ->+ EvidenceInsights'+ Prelude.<$> (x Data..:? "compliantEvidenceCount")+ Prelude.<*> (x Data..:? "inconclusiveEvidenceCount")+ Prelude.<*> (x Data..:? "noncompliantEvidenceCount")+ )++instance Prelude.Hashable EvidenceInsights where+ hashWithSalt _salt EvidenceInsights' {..} =+ _salt+ `Prelude.hashWithSalt` compliantEvidenceCount+ `Prelude.hashWithSalt` inconclusiveEvidenceCount+ `Prelude.hashWithSalt` noncompliantEvidenceCount++instance Prelude.NFData EvidenceInsights where+ rnf EvidenceInsights' {..} =+ Prelude.rnf compliantEvidenceCount+ `Prelude.seq` Prelude.rnf inconclusiveEvidenceCount+ `Prelude.seq` Prelude.rnf noncompliantEvidenceCount
+ gen/Amazonka/AuditManager/Types/Framework.hs view
@@ -0,0 +1,234 @@+{-# 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.AuditManager.Types.Framework+-- 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.AuditManager.Types.Framework where++import Amazonka.AuditManager.Types.ControlSet+import Amazonka.AuditManager.Types.FrameworkType+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++-- | The file that\'s used to structure and automate Audit Manager+-- assessments for a given compliance standard.+--+-- /See:/ 'newFramework' smart constructor.+data Framework = Framework'+ { -- | The Amazon Resource Name (ARN) of the framework.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The compliance type that the new custom framework supports, such as CIS+ -- or HIPAA.+ complianceType :: Prelude.Maybe Prelude.Text,+ -- | The control sets that are associated with the framework.+ controlSets :: Prelude.Maybe (Prelude.NonEmpty ControlSet),+ -- | The sources that Audit Manager collects evidence from for the control.+ controlSources :: Prelude.Maybe Prelude.Text,+ -- | The time when the framework was created.+ createdAt :: Prelude.Maybe Data.POSIX,+ -- | The IAM user or role that created the framework.+ createdBy :: Prelude.Maybe Prelude.Text,+ -- | The description of the framework.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the framework.+ id :: Prelude.Maybe Prelude.Text,+ -- | The time when the framework was most recently updated.+ lastUpdatedAt :: Prelude.Maybe Data.POSIX,+ -- | The IAM user or role that most recently updated the framework.+ lastUpdatedBy :: Prelude.Maybe Prelude.Text,+ -- | The logo that\'s associated with the framework.+ logo :: Prelude.Maybe Prelude.Text,+ -- | The name of the framework.+ name :: Prelude.Maybe Prelude.Text,+ -- | The tags that are associated with the framework.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The framework type, such as a custom framework or a standard framework.+ type' :: Prelude.Maybe FrameworkType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Framework' 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:+--+-- 'arn', 'framework_arn' - The Amazon Resource Name (ARN) of the framework.+--+-- 'complianceType', 'framework_complianceType' - The compliance type that the new custom framework supports, such as CIS+-- or HIPAA.+--+-- 'controlSets', 'framework_controlSets' - The control sets that are associated with the framework.+--+-- 'controlSources', 'framework_controlSources' - The sources that Audit Manager collects evidence from for the control.+--+-- 'createdAt', 'framework_createdAt' - The time when the framework was created.+--+-- 'createdBy', 'framework_createdBy' - The IAM user or role that created the framework.+--+-- 'description', 'framework_description' - The description of the framework.+--+-- 'id', 'framework_id' - The unique identifier for the framework.+--+-- 'lastUpdatedAt', 'framework_lastUpdatedAt' - The time when the framework was most recently updated.+--+-- 'lastUpdatedBy', 'framework_lastUpdatedBy' - The IAM user or role that most recently updated the framework.+--+-- 'logo', 'framework_logo' - The logo that\'s associated with the framework.+--+-- 'name', 'framework_name' - The name of the framework.+--+-- 'tags', 'framework_tags' - The tags that are associated with the framework.+--+-- 'type'', 'framework_type' - The framework type, such as a custom framework or a standard framework.+newFramework ::+ Framework+newFramework =+ Framework'+ { arn = Prelude.Nothing,+ complianceType = Prelude.Nothing,+ controlSets = Prelude.Nothing,+ controlSources = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ createdBy = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ lastUpdatedAt = Prelude.Nothing,+ lastUpdatedBy = Prelude.Nothing,+ logo = Prelude.Nothing,+ name = Prelude.Nothing,+ tags = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the framework.+framework_arn :: Lens.Lens' Framework (Prelude.Maybe Prelude.Text)+framework_arn = Lens.lens (\Framework' {arn} -> arn) (\s@Framework' {} a -> s {arn = a} :: Framework)++-- | The compliance type that the new custom framework supports, such as CIS+-- or HIPAA.+framework_complianceType :: Lens.Lens' Framework (Prelude.Maybe Prelude.Text)+framework_complianceType = Lens.lens (\Framework' {complianceType} -> complianceType) (\s@Framework' {} a -> s {complianceType = a} :: Framework)++-- | The control sets that are associated with the framework.+framework_controlSets :: Lens.Lens' Framework (Prelude.Maybe (Prelude.NonEmpty ControlSet))+framework_controlSets = Lens.lens (\Framework' {controlSets} -> controlSets) (\s@Framework' {} a -> s {controlSets = a} :: Framework) Prelude.. Lens.mapping Lens.coerced++-- | The sources that Audit Manager collects evidence from for the control.+framework_controlSources :: Lens.Lens' Framework (Prelude.Maybe Prelude.Text)+framework_controlSources = Lens.lens (\Framework' {controlSources} -> controlSources) (\s@Framework' {} a -> s {controlSources = a} :: Framework)++-- | The time when the framework was created.+framework_createdAt :: Lens.Lens' Framework (Prelude.Maybe Prelude.UTCTime)+framework_createdAt = Lens.lens (\Framework' {createdAt} -> createdAt) (\s@Framework' {} a -> s {createdAt = a} :: Framework) Prelude.. Lens.mapping Data._Time++-- | The IAM user or role that created the framework.+framework_createdBy :: Lens.Lens' Framework (Prelude.Maybe Prelude.Text)+framework_createdBy = Lens.lens (\Framework' {createdBy} -> createdBy) (\s@Framework' {} a -> s {createdBy = a} :: Framework)++-- | The description of the framework.+framework_description :: Lens.Lens' Framework (Prelude.Maybe Prelude.Text)+framework_description = Lens.lens (\Framework' {description} -> description) (\s@Framework' {} a -> s {description = a} :: Framework)++-- | The unique identifier for the framework.+framework_id :: Lens.Lens' Framework (Prelude.Maybe Prelude.Text)+framework_id = Lens.lens (\Framework' {id} -> id) (\s@Framework' {} a -> s {id = a} :: Framework)++-- | The time when the framework was most recently updated.+framework_lastUpdatedAt :: Lens.Lens' Framework (Prelude.Maybe Prelude.UTCTime)+framework_lastUpdatedAt = Lens.lens (\Framework' {lastUpdatedAt} -> lastUpdatedAt) (\s@Framework' {} a -> s {lastUpdatedAt = a} :: Framework) Prelude.. Lens.mapping Data._Time++-- | The IAM user or role that most recently updated the framework.+framework_lastUpdatedBy :: Lens.Lens' Framework (Prelude.Maybe Prelude.Text)+framework_lastUpdatedBy = Lens.lens (\Framework' {lastUpdatedBy} -> lastUpdatedBy) (\s@Framework' {} a -> s {lastUpdatedBy = a} :: Framework)++-- | The logo that\'s associated with the framework.+framework_logo :: Lens.Lens' Framework (Prelude.Maybe Prelude.Text)+framework_logo = Lens.lens (\Framework' {logo} -> logo) (\s@Framework' {} a -> s {logo = a} :: Framework)++-- | The name of the framework.+framework_name :: Lens.Lens' Framework (Prelude.Maybe Prelude.Text)+framework_name = Lens.lens (\Framework' {name} -> name) (\s@Framework' {} a -> s {name = a} :: Framework)++-- | The tags that are associated with the framework.+framework_tags :: Lens.Lens' Framework (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+framework_tags = Lens.lens (\Framework' {tags} -> tags) (\s@Framework' {} a -> s {tags = a} :: Framework) Prelude.. Lens.mapping Lens.coerced++-- | The framework type, such as a custom framework or a standard framework.+framework_type :: Lens.Lens' Framework (Prelude.Maybe FrameworkType)+framework_type = Lens.lens (\Framework' {type'} -> type') (\s@Framework' {} a -> s {type' = a} :: Framework)++instance Data.FromJSON Framework where+ parseJSON =+ Data.withObject+ "Framework"+ ( \x ->+ Framework'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "complianceType")+ Prelude.<*> (x Data..:? "controlSets")+ Prelude.<*> (x Data..:? "controlSources")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "createdBy")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "lastUpdatedAt")+ Prelude.<*> (x Data..:? "lastUpdatedBy")+ Prelude.<*> (x Data..:? "logo")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable Framework where+ hashWithSalt _salt Framework' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` complianceType+ `Prelude.hashWithSalt` controlSets+ `Prelude.hashWithSalt` controlSources+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` createdBy+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` lastUpdatedAt+ `Prelude.hashWithSalt` lastUpdatedBy+ `Prelude.hashWithSalt` logo+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` type'++instance Prelude.NFData Framework where+ rnf Framework' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf complianceType+ `Prelude.seq` Prelude.rnf controlSets+ `Prelude.seq` Prelude.rnf controlSources+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf createdBy+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf lastUpdatedAt+ `Prelude.seq` Prelude.rnf lastUpdatedBy+ `Prelude.seq` Prelude.rnf logo+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/AuditManager/Types/FrameworkMetadata.hs view
@@ -0,0 +1,112 @@+{-# 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.AuditManager.Types.FrameworkMetadata+-- 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.AuditManager.Types.FrameworkMetadata 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++-- | The metadata of a framework, such as the name, ID, or description.+--+-- /See:/ 'newFrameworkMetadata' smart constructor.+data FrameworkMetadata = FrameworkMetadata'+ { -- | The compliance standard that\'s associated with the framework. For+ -- example, this could be PCI DSS or HIPAA.+ complianceType :: Prelude.Maybe Prelude.Text,+ -- | The description of the framework.+ description :: Prelude.Maybe Prelude.Text,+ -- | The logo that\'s associated with the framework.+ logo :: Prelude.Maybe Prelude.Text,+ -- | The name of the framework.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FrameworkMetadata' 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:+--+-- 'complianceType', 'frameworkMetadata_complianceType' - The compliance standard that\'s associated with the framework. For+-- example, this could be PCI DSS or HIPAA.+--+-- 'description', 'frameworkMetadata_description' - The description of the framework.+--+-- 'logo', 'frameworkMetadata_logo' - The logo that\'s associated with the framework.+--+-- 'name', 'frameworkMetadata_name' - The name of the framework.+newFrameworkMetadata ::+ FrameworkMetadata+newFrameworkMetadata =+ FrameworkMetadata'+ { complianceType =+ Prelude.Nothing,+ description = Prelude.Nothing,+ logo = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The compliance standard that\'s associated with the framework. For+-- example, this could be PCI DSS or HIPAA.+frameworkMetadata_complianceType :: Lens.Lens' FrameworkMetadata (Prelude.Maybe Prelude.Text)+frameworkMetadata_complianceType = Lens.lens (\FrameworkMetadata' {complianceType} -> complianceType) (\s@FrameworkMetadata' {} a -> s {complianceType = a} :: FrameworkMetadata)++-- | The description of the framework.+frameworkMetadata_description :: Lens.Lens' FrameworkMetadata (Prelude.Maybe Prelude.Text)+frameworkMetadata_description = Lens.lens (\FrameworkMetadata' {description} -> description) (\s@FrameworkMetadata' {} a -> s {description = a} :: FrameworkMetadata)++-- | The logo that\'s associated with the framework.+frameworkMetadata_logo :: Lens.Lens' FrameworkMetadata (Prelude.Maybe Prelude.Text)+frameworkMetadata_logo = Lens.lens (\FrameworkMetadata' {logo} -> logo) (\s@FrameworkMetadata' {} a -> s {logo = a} :: FrameworkMetadata)++-- | The name of the framework.+frameworkMetadata_name :: Lens.Lens' FrameworkMetadata (Prelude.Maybe Prelude.Text)+frameworkMetadata_name = Lens.lens (\FrameworkMetadata' {name} -> name) (\s@FrameworkMetadata' {} a -> s {name = a} :: FrameworkMetadata)++instance Data.FromJSON FrameworkMetadata where+ parseJSON =+ Data.withObject+ "FrameworkMetadata"+ ( \x ->+ FrameworkMetadata'+ Prelude.<$> (x Data..:? "complianceType")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "logo")+ Prelude.<*> (x Data..:? "name")+ )++instance Prelude.Hashable FrameworkMetadata where+ hashWithSalt _salt FrameworkMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` complianceType+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` logo+ `Prelude.hashWithSalt` name++instance Prelude.NFData FrameworkMetadata where+ rnf FrameworkMetadata' {..} =+ Prelude.rnf complianceType+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf logo+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/AuditManager/Types/FrameworkType.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.AuditManager.Types.FrameworkType+-- 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.AuditManager.Types.FrameworkType+ ( FrameworkType+ ( ..,+ FrameworkType_Custom,+ FrameworkType_Standard+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FrameworkType = FrameworkType'+ { fromFrameworkType ::+ 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 FrameworkType_Custom :: FrameworkType+pattern FrameworkType_Custom = FrameworkType' "Custom"++pattern FrameworkType_Standard :: FrameworkType+pattern FrameworkType_Standard = FrameworkType' "Standard"++{-# COMPLETE+ FrameworkType_Custom,+ FrameworkType_Standard,+ FrameworkType'+ #-}
+ gen/Amazonka/AuditManager/Types/Insights.hs view
@@ -0,0 +1,212 @@+{-# 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.AuditManager.Types.Insights+-- 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.AuditManager.Types.Insights 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++-- | A summary of the latest analytics data for all your active assessments.+--+-- This summary is a snapshot of the data that your active assessments+-- collected on the @lastUpdated@ date. It’s important to understand that+-- the following totals are daily counts based on this date — they aren’t a+-- total sum to date.+--+-- The @Insights@ data is eventually consistent. This means that, when you+-- read data from @Insights@, the response might not instantly reflect the+-- results of a recently completed write or update operation. If you repeat+-- your read request after a few hours, the response should return the+-- latest data.+--+-- If you delete an assessment or change its status to inactive,+-- @InsightsByAssessment@ includes data for that assessment as follows.+--+-- - __Inactive assessments__ - If Audit Manager collected evidence for+-- your assessment before you changed it inactive, that evidence is+-- included in the @InsightsByAssessment@ counts for that day.+--+-- - __Deleted assessments__ - If Audit Manager collected evidence for+-- your assessment before you deleted it, that evidence isn\'t included+-- in the @InsightsByAssessment@ counts for that day.+--+-- /See:/ 'newInsights' smart constructor.+data Insights = Insights'+ { -- | The number of active assessments in Audit Manager.+ activeAssessmentsCount :: Prelude.Maybe Prelude.Int,+ -- | The number of assessment controls that collected non-compliant evidence+ -- on the @lastUpdated@ date.+ assessmentControlsCountByNoncompliantEvidence :: Prelude.Maybe Prelude.Int,+ -- | The number of compliance check evidence that Audit Manager classified as+ -- compliant on the @lastUpdated@ date. This includes evidence that was+ -- collected from Security Hub with a /Pass/ ruling, or collected from+ -- Config with a /Compliant/ ruling.+ compliantEvidenceCount :: Prelude.Maybe Prelude.Int,+ -- | The number of evidence without a compliance check ruling. Evidence is+ -- inconclusive when the associated control uses Security Hub or Config as+ -- a data source but you didn\'t enable those services. This is also the+ -- case when a control uses a data source that doesn’t support compliance+ -- checks (for example: manual evidence, API calls, or CloudTrail).+ --+ -- If evidence has a compliance check status of /not applicable/, it\'s+ -- classed as /inconclusive/ in @Insights@ data.+ inconclusiveEvidenceCount :: Prelude.Maybe Prelude.Int,+ -- | The time when the cross-assessment insights were last updated.+ lastUpdated :: Prelude.Maybe Data.POSIX,+ -- | The number of compliance check evidence that Audit Manager classified as+ -- non-compliant on the @lastUpdated@ date. This includes evidence that was+ -- collected from Security Hub with a /Fail/ ruling, or collected from+ -- Config with a /Non-compliant/ ruling.+ noncompliantEvidenceCount :: Prelude.Maybe Prelude.Int,+ -- | The total number of controls across all active assessments.+ totalAssessmentControlsCount :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Insights' 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:+--+-- 'activeAssessmentsCount', 'insights_activeAssessmentsCount' - The number of active assessments in Audit Manager.+--+-- 'assessmentControlsCountByNoncompliantEvidence', 'insights_assessmentControlsCountByNoncompliantEvidence' - The number of assessment controls that collected non-compliant evidence+-- on the @lastUpdated@ date.+--+-- 'compliantEvidenceCount', 'insights_compliantEvidenceCount' - The number of compliance check evidence that Audit Manager classified as+-- compliant on the @lastUpdated@ date. This includes evidence that was+-- collected from Security Hub with a /Pass/ ruling, or collected from+-- Config with a /Compliant/ ruling.+--+-- 'inconclusiveEvidenceCount', 'insights_inconclusiveEvidenceCount' - The number of evidence without a compliance check ruling. Evidence is+-- inconclusive when the associated control uses Security Hub or Config as+-- a data source but you didn\'t enable those services. This is also the+-- case when a control uses a data source that doesn’t support compliance+-- checks (for example: manual evidence, API calls, or CloudTrail).+--+-- If evidence has a compliance check status of /not applicable/, it\'s+-- classed as /inconclusive/ in @Insights@ data.+--+-- 'lastUpdated', 'insights_lastUpdated' - The time when the cross-assessment insights were last updated.+--+-- 'noncompliantEvidenceCount', 'insights_noncompliantEvidenceCount' - The number of compliance check evidence that Audit Manager classified as+-- non-compliant on the @lastUpdated@ date. This includes evidence that was+-- collected from Security Hub with a /Fail/ ruling, or collected from+-- Config with a /Non-compliant/ ruling.+--+-- 'totalAssessmentControlsCount', 'insights_totalAssessmentControlsCount' - The total number of controls across all active assessments.+newInsights ::+ Insights+newInsights =+ Insights'+ { activeAssessmentsCount = Prelude.Nothing,+ assessmentControlsCountByNoncompliantEvidence =+ Prelude.Nothing,+ compliantEvidenceCount = Prelude.Nothing,+ inconclusiveEvidenceCount = Prelude.Nothing,+ lastUpdated = Prelude.Nothing,+ noncompliantEvidenceCount = Prelude.Nothing,+ totalAssessmentControlsCount = Prelude.Nothing+ }++-- | The number of active assessments in Audit Manager.+insights_activeAssessmentsCount :: Lens.Lens' Insights (Prelude.Maybe Prelude.Int)+insights_activeAssessmentsCount = Lens.lens (\Insights' {activeAssessmentsCount} -> activeAssessmentsCount) (\s@Insights' {} a -> s {activeAssessmentsCount = a} :: Insights)++-- | The number of assessment controls that collected non-compliant evidence+-- on the @lastUpdated@ date.+insights_assessmentControlsCountByNoncompliantEvidence :: Lens.Lens' Insights (Prelude.Maybe Prelude.Int)+insights_assessmentControlsCountByNoncompliantEvidence = Lens.lens (\Insights' {assessmentControlsCountByNoncompliantEvidence} -> assessmentControlsCountByNoncompliantEvidence) (\s@Insights' {} a -> s {assessmentControlsCountByNoncompliantEvidence = a} :: Insights)++-- | The number of compliance check evidence that Audit Manager classified as+-- compliant on the @lastUpdated@ date. This includes evidence that was+-- collected from Security Hub with a /Pass/ ruling, or collected from+-- Config with a /Compliant/ ruling.+insights_compliantEvidenceCount :: Lens.Lens' Insights (Prelude.Maybe Prelude.Int)+insights_compliantEvidenceCount = Lens.lens (\Insights' {compliantEvidenceCount} -> compliantEvidenceCount) (\s@Insights' {} a -> s {compliantEvidenceCount = a} :: Insights)++-- | The number of evidence without a compliance check ruling. Evidence is+-- inconclusive when the associated control uses Security Hub or Config as+-- a data source but you didn\'t enable those services. This is also the+-- case when a control uses a data source that doesn’t support compliance+-- checks (for example: manual evidence, API calls, or CloudTrail).+--+-- If evidence has a compliance check status of /not applicable/, it\'s+-- classed as /inconclusive/ in @Insights@ data.+insights_inconclusiveEvidenceCount :: Lens.Lens' Insights (Prelude.Maybe Prelude.Int)+insights_inconclusiveEvidenceCount = Lens.lens (\Insights' {inconclusiveEvidenceCount} -> inconclusiveEvidenceCount) (\s@Insights' {} a -> s {inconclusiveEvidenceCount = a} :: Insights)++-- | The time when the cross-assessment insights were last updated.+insights_lastUpdated :: Lens.Lens' Insights (Prelude.Maybe Prelude.UTCTime)+insights_lastUpdated = Lens.lens (\Insights' {lastUpdated} -> lastUpdated) (\s@Insights' {} a -> s {lastUpdated = a} :: Insights) Prelude.. Lens.mapping Data._Time++-- | The number of compliance check evidence that Audit Manager classified as+-- non-compliant on the @lastUpdated@ date. This includes evidence that was+-- collected from Security Hub with a /Fail/ ruling, or collected from+-- Config with a /Non-compliant/ ruling.+insights_noncompliantEvidenceCount :: Lens.Lens' Insights (Prelude.Maybe Prelude.Int)+insights_noncompliantEvidenceCount = Lens.lens (\Insights' {noncompliantEvidenceCount} -> noncompliantEvidenceCount) (\s@Insights' {} a -> s {noncompliantEvidenceCount = a} :: Insights)++-- | The total number of controls across all active assessments.+insights_totalAssessmentControlsCount :: Lens.Lens' Insights (Prelude.Maybe Prelude.Int)+insights_totalAssessmentControlsCount = Lens.lens (\Insights' {totalAssessmentControlsCount} -> totalAssessmentControlsCount) (\s@Insights' {} a -> s {totalAssessmentControlsCount = a} :: Insights)++instance Data.FromJSON Insights where+ parseJSON =+ Data.withObject+ "Insights"+ ( \x ->+ Insights'+ Prelude.<$> (x Data..:? "activeAssessmentsCount")+ Prelude.<*> ( x+ Data..:? "assessmentControlsCountByNoncompliantEvidence"+ )+ Prelude.<*> (x Data..:? "compliantEvidenceCount")+ Prelude.<*> (x Data..:? "inconclusiveEvidenceCount")+ Prelude.<*> (x Data..:? "lastUpdated")+ Prelude.<*> (x Data..:? "noncompliantEvidenceCount")+ Prelude.<*> (x Data..:? "totalAssessmentControlsCount")+ )++instance Prelude.Hashable Insights where+ hashWithSalt _salt Insights' {..} =+ _salt+ `Prelude.hashWithSalt` activeAssessmentsCount+ `Prelude.hashWithSalt` assessmentControlsCountByNoncompliantEvidence+ `Prelude.hashWithSalt` compliantEvidenceCount+ `Prelude.hashWithSalt` inconclusiveEvidenceCount+ `Prelude.hashWithSalt` lastUpdated+ `Prelude.hashWithSalt` noncompliantEvidenceCount+ `Prelude.hashWithSalt` totalAssessmentControlsCount++instance Prelude.NFData Insights where+ rnf Insights' {..} =+ Prelude.rnf activeAssessmentsCount+ `Prelude.seq` Prelude.rnf+ assessmentControlsCountByNoncompliantEvidence+ `Prelude.seq` Prelude.rnf compliantEvidenceCount+ `Prelude.seq` Prelude.rnf inconclusiveEvidenceCount+ `Prelude.seq` Prelude.rnf lastUpdated+ `Prelude.seq` Prelude.rnf noncompliantEvidenceCount+ `Prelude.seq` Prelude.rnf totalAssessmentControlsCount
+ gen/Amazonka/AuditManager/Types/InsightsByAssessment.hs view
@@ -0,0 +1,200 @@+{-# 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.AuditManager.Types.InsightsByAssessment+-- 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.AuditManager.Types.InsightsByAssessment 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++-- | A summary of the latest analytics data for a specific active assessment.+--+-- This summary is a snapshot of the data that was collected on the+-- @lastUpdated@ date. It’s important to understand that the totals in+-- @InsightsByAssessment@ are daily counts based on this date — they aren’t+-- a total sum to date.+--+-- The @InsightsByAssessment@ data is eventually consistent. This means+-- that when you read data from @InsightsByAssessment@, the response might+-- not instantly reflect the results of a recently completed write or+-- update operation. If you repeat your read request after a few hours, the+-- response returns the latest data.+--+-- If you delete an assessment or change its status to inactive,+-- @InsightsByAssessment@ includes data for that assessment as follows.+--+-- - __Inactive assessments__ - If Audit Manager collected evidence for+-- your assessment before you changed it inactive, that evidence is+-- included in the @InsightsByAssessment@ counts for that day.+--+-- - __Deleted assessments__ - If Audit Manager collected evidence for+-- your assessment before you deleted it, that evidence isn\'t included+-- in the @InsightsByAssessment@ counts for that day.+--+-- /See:/ 'newInsightsByAssessment' smart constructor.+data InsightsByAssessment = InsightsByAssessment'+ { -- | The number of assessment controls that collected non-compliant evidence+ -- on the @lastUpdated@ date.+ assessmentControlsCountByNoncompliantEvidence :: Prelude.Maybe Prelude.Int,+ -- | The number of compliance check evidence that Audit Manager classified as+ -- compliant. This includes evidence that was collected from Security Hub+ -- with a /Pass/ ruling, or collected from Config with a /Compliant/+ -- ruling.+ compliantEvidenceCount :: Prelude.Maybe Prelude.Int,+ -- | The amount of evidence without a compliance check ruling. Evidence is+ -- inconclusive if the associated control uses Security Hub or Config as a+ -- data source and you didn\'t enable those services. This is also the case+ -- if a control uses a data source that doesn’t support compliance checks+ -- (for example, manual evidence, API calls, or CloudTrail).+ --+ -- If evidence has a compliance check status of /not applicable/, it\'s+ -- classified as /inconclusive/ in @InsightsByAssessment@ data.+ inconclusiveEvidenceCount :: Prelude.Maybe Prelude.Int,+ -- | The time when the assessment insights were last updated.+ lastUpdated :: Prelude.Maybe Data.POSIX,+ -- | The number of compliance check evidence that Audit Manager classified as+ -- non-compliant. This includes evidence that was collected from Security+ -- Hub with a /Fail/ ruling, or collected from Config with a+ -- /Non-compliant/ ruling.+ noncompliantEvidenceCount :: Prelude.Maybe Prelude.Int,+ -- | The total number of controls in the assessment.+ totalAssessmentControlsCount :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InsightsByAssessment' 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:+--+-- 'assessmentControlsCountByNoncompliantEvidence', 'insightsByAssessment_assessmentControlsCountByNoncompliantEvidence' - The number of assessment controls that collected non-compliant evidence+-- on the @lastUpdated@ date.+--+-- 'compliantEvidenceCount', 'insightsByAssessment_compliantEvidenceCount' - The number of compliance check evidence that Audit Manager classified as+-- compliant. This includes evidence that was collected from Security Hub+-- with a /Pass/ ruling, or collected from Config with a /Compliant/+-- ruling.+--+-- 'inconclusiveEvidenceCount', 'insightsByAssessment_inconclusiveEvidenceCount' - The amount of evidence without a compliance check ruling. Evidence is+-- inconclusive if the associated control uses Security Hub or Config as a+-- data source and you didn\'t enable those services. This is also the case+-- if a control uses a data source that doesn’t support compliance checks+-- (for example, manual evidence, API calls, or CloudTrail).+--+-- If evidence has a compliance check status of /not applicable/, it\'s+-- classified as /inconclusive/ in @InsightsByAssessment@ data.+--+-- 'lastUpdated', 'insightsByAssessment_lastUpdated' - The time when the assessment insights were last updated.+--+-- 'noncompliantEvidenceCount', 'insightsByAssessment_noncompliantEvidenceCount' - The number of compliance check evidence that Audit Manager classified as+-- non-compliant. This includes evidence that was collected from Security+-- Hub with a /Fail/ ruling, or collected from Config with a+-- /Non-compliant/ ruling.+--+-- 'totalAssessmentControlsCount', 'insightsByAssessment_totalAssessmentControlsCount' - The total number of controls in the assessment.+newInsightsByAssessment ::+ InsightsByAssessment+newInsightsByAssessment =+ InsightsByAssessment'+ { assessmentControlsCountByNoncompliantEvidence =+ Prelude.Nothing,+ compliantEvidenceCount = Prelude.Nothing,+ inconclusiveEvidenceCount = Prelude.Nothing,+ lastUpdated = Prelude.Nothing,+ noncompliantEvidenceCount = Prelude.Nothing,+ totalAssessmentControlsCount = Prelude.Nothing+ }++-- | The number of assessment controls that collected non-compliant evidence+-- on the @lastUpdated@ date.+insightsByAssessment_assessmentControlsCountByNoncompliantEvidence :: Lens.Lens' InsightsByAssessment (Prelude.Maybe Prelude.Int)+insightsByAssessment_assessmentControlsCountByNoncompliantEvidence = Lens.lens (\InsightsByAssessment' {assessmentControlsCountByNoncompliantEvidence} -> assessmentControlsCountByNoncompliantEvidence) (\s@InsightsByAssessment' {} a -> s {assessmentControlsCountByNoncompliantEvidence = a} :: InsightsByAssessment)++-- | The number of compliance check evidence that Audit Manager classified as+-- compliant. This includes evidence that was collected from Security Hub+-- with a /Pass/ ruling, or collected from Config with a /Compliant/+-- ruling.+insightsByAssessment_compliantEvidenceCount :: Lens.Lens' InsightsByAssessment (Prelude.Maybe Prelude.Int)+insightsByAssessment_compliantEvidenceCount = Lens.lens (\InsightsByAssessment' {compliantEvidenceCount} -> compliantEvidenceCount) (\s@InsightsByAssessment' {} a -> s {compliantEvidenceCount = a} :: InsightsByAssessment)++-- | The amount of evidence without a compliance check ruling. Evidence is+-- inconclusive if the associated control uses Security Hub or Config as a+-- data source and you didn\'t enable those services. This is also the case+-- if a control uses a data source that doesn’t support compliance checks+-- (for example, manual evidence, API calls, or CloudTrail).+--+-- If evidence has a compliance check status of /not applicable/, it\'s+-- classified as /inconclusive/ in @InsightsByAssessment@ data.+insightsByAssessment_inconclusiveEvidenceCount :: Lens.Lens' InsightsByAssessment (Prelude.Maybe Prelude.Int)+insightsByAssessment_inconclusiveEvidenceCount = Lens.lens (\InsightsByAssessment' {inconclusiveEvidenceCount} -> inconclusiveEvidenceCount) (\s@InsightsByAssessment' {} a -> s {inconclusiveEvidenceCount = a} :: InsightsByAssessment)++-- | The time when the assessment insights were last updated.+insightsByAssessment_lastUpdated :: Lens.Lens' InsightsByAssessment (Prelude.Maybe Prelude.UTCTime)+insightsByAssessment_lastUpdated = Lens.lens (\InsightsByAssessment' {lastUpdated} -> lastUpdated) (\s@InsightsByAssessment' {} a -> s {lastUpdated = a} :: InsightsByAssessment) Prelude.. Lens.mapping Data._Time++-- | The number of compliance check evidence that Audit Manager classified as+-- non-compliant. This includes evidence that was collected from Security+-- Hub with a /Fail/ ruling, or collected from Config with a+-- /Non-compliant/ ruling.+insightsByAssessment_noncompliantEvidenceCount :: Lens.Lens' InsightsByAssessment (Prelude.Maybe Prelude.Int)+insightsByAssessment_noncompliantEvidenceCount = Lens.lens (\InsightsByAssessment' {noncompliantEvidenceCount} -> noncompliantEvidenceCount) (\s@InsightsByAssessment' {} a -> s {noncompliantEvidenceCount = a} :: InsightsByAssessment)++-- | The total number of controls in the assessment.+insightsByAssessment_totalAssessmentControlsCount :: Lens.Lens' InsightsByAssessment (Prelude.Maybe Prelude.Int)+insightsByAssessment_totalAssessmentControlsCount = Lens.lens (\InsightsByAssessment' {totalAssessmentControlsCount} -> totalAssessmentControlsCount) (\s@InsightsByAssessment' {} a -> s {totalAssessmentControlsCount = a} :: InsightsByAssessment)++instance Data.FromJSON InsightsByAssessment where+ parseJSON =+ Data.withObject+ "InsightsByAssessment"+ ( \x ->+ InsightsByAssessment'+ Prelude.<$> ( x+ Data..:? "assessmentControlsCountByNoncompliantEvidence"+ )+ Prelude.<*> (x Data..:? "compliantEvidenceCount")+ Prelude.<*> (x Data..:? "inconclusiveEvidenceCount")+ Prelude.<*> (x Data..:? "lastUpdated")+ Prelude.<*> (x Data..:? "noncompliantEvidenceCount")+ Prelude.<*> (x Data..:? "totalAssessmentControlsCount")+ )++instance Prelude.Hashable InsightsByAssessment where+ hashWithSalt _salt InsightsByAssessment' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentControlsCountByNoncompliantEvidence+ `Prelude.hashWithSalt` compliantEvidenceCount+ `Prelude.hashWithSalt` inconclusiveEvidenceCount+ `Prelude.hashWithSalt` lastUpdated+ `Prelude.hashWithSalt` noncompliantEvidenceCount+ `Prelude.hashWithSalt` totalAssessmentControlsCount++instance Prelude.NFData InsightsByAssessment where+ rnf InsightsByAssessment' {..} =+ Prelude.rnf+ assessmentControlsCountByNoncompliantEvidence+ `Prelude.seq` Prelude.rnf compliantEvidenceCount+ `Prelude.seq` Prelude.rnf inconclusiveEvidenceCount+ `Prelude.seq` Prelude.rnf lastUpdated+ `Prelude.seq` Prelude.rnf noncompliantEvidenceCount+ `Prelude.seq` Prelude.rnf totalAssessmentControlsCount
+ gen/Amazonka/AuditManager/Types/KeywordInputType.hs view
@@ -0,0 +1,66 @@+{-# 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.AuditManager.Types.KeywordInputType+-- 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.AuditManager.Types.KeywordInputType+ ( KeywordInputType+ ( ..,+ KeywordInputType_SELECT_FROM_LIST+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype KeywordInputType = KeywordInputType'+ { fromKeywordInputType ::+ 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 KeywordInputType_SELECT_FROM_LIST :: KeywordInputType+pattern KeywordInputType_SELECT_FROM_LIST = KeywordInputType' "SELECT_FROM_LIST"++{-# COMPLETE+ KeywordInputType_SELECT_FROM_LIST,+ KeywordInputType'+ #-}
+ gen/Amazonka/AuditManager/Types/ManualEvidence.hs view
@@ -0,0 +1,77 @@+{-# 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.AuditManager.Types.ManualEvidence+-- 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.AuditManager.Types.ManualEvidence 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++-- | Evidence that\'s uploaded to Audit Manager manually.+--+-- /See:/ 'newManualEvidence' smart constructor.+data ManualEvidence = ManualEvidence'+ { -- | The Amazon S3 URL that points to a manual evidence object.+ s3ResourcePath :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ManualEvidence' 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:+--+-- 's3ResourcePath', 'manualEvidence_s3ResourcePath' - The Amazon S3 URL that points to a manual evidence object.+newManualEvidence ::+ ManualEvidence+newManualEvidence =+ ManualEvidence' {s3ResourcePath = Prelude.Nothing}++-- | The Amazon S3 URL that points to a manual evidence object.+manualEvidence_s3ResourcePath :: Lens.Lens' ManualEvidence (Prelude.Maybe Prelude.Text)+manualEvidence_s3ResourcePath = Lens.lens (\ManualEvidence' {s3ResourcePath} -> s3ResourcePath) (\s@ManualEvidence' {} a -> s {s3ResourcePath = a} :: ManualEvidence)++instance Data.FromJSON ManualEvidence where+ parseJSON =+ Data.withObject+ "ManualEvidence"+ ( \x ->+ ManualEvidence'+ Prelude.<$> (x Data..:? "s3ResourcePath")+ )++instance Prelude.Hashable ManualEvidence where+ hashWithSalt _salt ManualEvidence' {..} =+ _salt `Prelude.hashWithSalt` s3ResourcePath++instance Prelude.NFData ManualEvidence where+ rnf ManualEvidence' {..} = Prelude.rnf s3ResourcePath++instance Data.ToJSON ManualEvidence where+ toJSON ManualEvidence' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("s3ResourcePath" Data..=)+ Prelude.<$> s3ResourcePath+ ]+ )
+ gen/Amazonka/AuditManager/Types/Notification.hs view
@@ -0,0 +1,158 @@+{-# 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.AuditManager.Types.Notification+-- 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.AuditManager.Types.Notification 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++-- | The notification that informs a user of an update in Audit Manager. For+-- example, this includes the notification that\'s sent when a control set+-- is delegated for review.+--+-- /See:/ 'newNotification' smart constructor.+data Notification = Notification'+ { -- | The identifier for the assessment.+ assessmentId :: Prelude.Maybe Prelude.Text,+ -- | The name of the related assessment.+ assessmentName :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the control set.+ controlSetId :: Prelude.Maybe Prelude.Text,+ -- | Specifies the name of the control set that the notification is about.+ controlSetName :: Prelude.Maybe Prelude.Text,+ -- | The description of the notification.+ description :: Prelude.Maybe Prelude.Text,+ -- | The time when the notification was sent.+ eventTime :: Prelude.Maybe Data.POSIX,+ -- | The unique identifier for the notification.+ id :: Prelude.Maybe Prelude.Text,+ -- | The sender of the notification.+ source :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Notification' 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:+--+-- 'assessmentId', 'notification_assessmentId' - The identifier for the assessment.+--+-- 'assessmentName', 'notification_assessmentName' - The name of the related assessment.+--+-- 'controlSetId', 'notification_controlSetId' - The identifier for the control set.+--+-- 'controlSetName', 'notification_controlSetName' - Specifies the name of the control set that the notification is about.+--+-- 'description', 'notification_description' - The description of the notification.+--+-- 'eventTime', 'notification_eventTime' - The time when the notification was sent.+--+-- 'id', 'notification_id' - The unique identifier for the notification.+--+-- 'source', 'notification_source' - The sender of the notification.+newNotification ::+ Notification+newNotification =+ Notification'+ { assessmentId = Prelude.Nothing,+ assessmentName = Prelude.Nothing,+ controlSetId = Prelude.Nothing,+ controlSetName = Prelude.Nothing,+ description = Prelude.Nothing,+ eventTime = Prelude.Nothing,+ id = Prelude.Nothing,+ source = Prelude.Nothing+ }++-- | The identifier for the assessment.+notification_assessmentId :: Lens.Lens' Notification (Prelude.Maybe Prelude.Text)+notification_assessmentId = Lens.lens (\Notification' {assessmentId} -> assessmentId) (\s@Notification' {} a -> s {assessmentId = a} :: Notification)++-- | The name of the related assessment.+notification_assessmentName :: Lens.Lens' Notification (Prelude.Maybe Prelude.Text)+notification_assessmentName = Lens.lens (\Notification' {assessmentName} -> assessmentName) (\s@Notification' {} a -> s {assessmentName = a} :: Notification)++-- | The identifier for the control set.+notification_controlSetId :: Lens.Lens' Notification (Prelude.Maybe Prelude.Text)+notification_controlSetId = Lens.lens (\Notification' {controlSetId} -> controlSetId) (\s@Notification' {} a -> s {controlSetId = a} :: Notification)++-- | Specifies the name of the control set that the notification is about.+notification_controlSetName :: Lens.Lens' Notification (Prelude.Maybe Prelude.Text)+notification_controlSetName = Lens.lens (\Notification' {controlSetName} -> controlSetName) (\s@Notification' {} a -> s {controlSetName = a} :: Notification)++-- | The description of the notification.+notification_description :: Lens.Lens' Notification (Prelude.Maybe Prelude.Text)+notification_description = Lens.lens (\Notification' {description} -> description) (\s@Notification' {} a -> s {description = a} :: Notification)++-- | The time when the notification was sent.+notification_eventTime :: Lens.Lens' Notification (Prelude.Maybe Prelude.UTCTime)+notification_eventTime = Lens.lens (\Notification' {eventTime} -> eventTime) (\s@Notification' {} a -> s {eventTime = a} :: Notification) Prelude.. Lens.mapping Data._Time++-- | The unique identifier for the notification.+notification_id :: Lens.Lens' Notification (Prelude.Maybe Prelude.Text)+notification_id = Lens.lens (\Notification' {id} -> id) (\s@Notification' {} a -> s {id = a} :: Notification)++-- | The sender of the notification.+notification_source :: Lens.Lens' Notification (Prelude.Maybe Prelude.Text)+notification_source = Lens.lens (\Notification' {source} -> source) (\s@Notification' {} a -> s {source = a} :: Notification)++instance Data.FromJSON Notification where+ parseJSON =+ Data.withObject+ "Notification"+ ( \x ->+ Notification'+ Prelude.<$> (x Data..:? "assessmentId")+ Prelude.<*> (x Data..:? "assessmentName")+ Prelude.<*> (x Data..:? "controlSetId")+ Prelude.<*> (x Data..:? "controlSetName")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "eventTime")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "source")+ )++instance Prelude.Hashable Notification where+ hashWithSalt _salt Notification' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` assessmentName+ `Prelude.hashWithSalt` controlSetId+ `Prelude.hashWithSalt` controlSetName+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` eventTime+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` source++instance Prelude.NFData Notification where+ rnf Notification' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf assessmentName+ `Prelude.seq` Prelude.rnf controlSetId+ `Prelude.seq` Prelude.rnf controlSetName+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf eventTime+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf source
+ gen/Amazonka/AuditManager/Types/ObjectTypeEnum.hs view
@@ -0,0 +1,86 @@+{-# 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.AuditManager.Types.ObjectTypeEnum+-- 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.AuditManager.Types.ObjectTypeEnum+ ( ObjectTypeEnum+ ( ..,+ ObjectTypeEnum_ASSESSMENT,+ ObjectTypeEnum_ASSESSMENT_REPORT,+ ObjectTypeEnum_CONTROL,+ ObjectTypeEnum_CONTROL_SET,+ ObjectTypeEnum_DELEGATION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ObjectTypeEnum = ObjectTypeEnum'+ { fromObjectTypeEnum ::+ 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 ObjectTypeEnum_ASSESSMENT :: ObjectTypeEnum+pattern ObjectTypeEnum_ASSESSMENT = ObjectTypeEnum' "ASSESSMENT"++pattern ObjectTypeEnum_ASSESSMENT_REPORT :: ObjectTypeEnum+pattern ObjectTypeEnum_ASSESSMENT_REPORT = ObjectTypeEnum' "ASSESSMENT_REPORT"++pattern ObjectTypeEnum_CONTROL :: ObjectTypeEnum+pattern ObjectTypeEnum_CONTROL = ObjectTypeEnum' "CONTROL"++pattern ObjectTypeEnum_CONTROL_SET :: ObjectTypeEnum+pattern ObjectTypeEnum_CONTROL_SET = ObjectTypeEnum' "CONTROL_SET"++pattern ObjectTypeEnum_DELEGATION :: ObjectTypeEnum+pattern ObjectTypeEnum_DELEGATION = ObjectTypeEnum' "DELEGATION"++{-# COMPLETE+ ObjectTypeEnum_ASSESSMENT,+ ObjectTypeEnum_ASSESSMENT_REPORT,+ ObjectTypeEnum_CONTROL,+ ObjectTypeEnum_CONTROL_SET,+ ObjectTypeEnum_DELEGATION,+ ObjectTypeEnum'+ #-}
+ gen/Amazonka/AuditManager/Types/Resource.hs view
@@ -0,0 +1,144 @@+{-# 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.AuditManager.Types.Resource+-- 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.AuditManager.Types.Resource 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++-- | A system asset that\'s evaluated in an Audit Manager assessment.+--+-- /See:/ 'newResource' smart constructor.+data Resource = Resource'+ { -- | The Amazon Resource Name (ARN) for the resource.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The evaluation status for a resource that was assessed when collecting+ -- compliance check evidence.+ --+ -- - Audit Manager classes the resource as non-compliant if Security Hub+ -- reports a /Fail/ result, or if Config reports a /Non-compliant/+ -- result.+ --+ -- - Audit Manager classes the resource as compliant if Security Hub+ -- reports a /Pass/ result, or if Config reports a /Compliant/ result.+ --+ -- - If a compliance check isn\'t available or applicable, then no+ -- compliance evaluation can be made for that resource. This is the+ -- case if a resource assessment uses Config or Security Hub as the+ -- underlying data source type, but those services aren\'t enabled.+ -- This is also the case if the resource assessment uses an underlying+ -- data source type that doesn\'t support compliance checks (such as+ -- manual evidence, Amazon Web Services API calls, or CloudTrail).+ complianceCheck :: Prelude.Maybe Prelude.Text,+ -- | The value of the resource.+ value :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Resource' 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:+--+-- 'arn', 'resource_arn' - The Amazon Resource Name (ARN) for the resource.+--+-- 'complianceCheck', 'resource_complianceCheck' - The evaluation status for a resource that was assessed when collecting+-- compliance check evidence.+--+-- - Audit Manager classes the resource as non-compliant if Security Hub+-- reports a /Fail/ result, or if Config reports a /Non-compliant/+-- result.+--+-- - Audit Manager classes the resource as compliant if Security Hub+-- reports a /Pass/ result, or if Config reports a /Compliant/ result.+--+-- - If a compliance check isn\'t available or applicable, then no+-- compliance evaluation can be made for that resource. This is the+-- case if a resource assessment uses Config or Security Hub as the+-- underlying data source type, but those services aren\'t enabled.+-- This is also the case if the resource assessment uses an underlying+-- data source type that doesn\'t support compliance checks (such as+-- manual evidence, Amazon Web Services API calls, or CloudTrail).+--+-- 'value', 'resource_value' - The value of the resource.+newResource ::+ Resource+newResource =+ Resource'+ { arn = Prelude.Nothing,+ complianceCheck = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) for the resource.+resource_arn :: Lens.Lens' Resource (Prelude.Maybe Prelude.Text)+resource_arn = Lens.lens (\Resource' {arn} -> arn) (\s@Resource' {} a -> s {arn = a} :: Resource)++-- | The evaluation status for a resource that was assessed when collecting+-- compliance check evidence.+--+-- - Audit Manager classes the resource as non-compliant if Security Hub+-- reports a /Fail/ result, or if Config reports a /Non-compliant/+-- result.+--+-- - Audit Manager classes the resource as compliant if Security Hub+-- reports a /Pass/ result, or if Config reports a /Compliant/ result.+--+-- - If a compliance check isn\'t available or applicable, then no+-- compliance evaluation can be made for that resource. This is the+-- case if a resource assessment uses Config or Security Hub as the+-- underlying data source type, but those services aren\'t enabled.+-- This is also the case if the resource assessment uses an underlying+-- data source type that doesn\'t support compliance checks (such as+-- manual evidence, Amazon Web Services API calls, or CloudTrail).+resource_complianceCheck :: Lens.Lens' Resource (Prelude.Maybe Prelude.Text)+resource_complianceCheck = Lens.lens (\Resource' {complianceCheck} -> complianceCheck) (\s@Resource' {} a -> s {complianceCheck = a} :: Resource)++-- | The value of the resource.+resource_value :: Lens.Lens' Resource (Prelude.Maybe Prelude.Text)+resource_value = Lens.lens (\Resource' {value} -> value) (\s@Resource' {} a -> s {value = a} :: Resource)++instance Data.FromJSON Resource where+ parseJSON =+ Data.withObject+ "Resource"+ ( \x ->+ Resource'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "complianceCheck")+ Prelude.<*> (x Data..:? "value")+ )++instance Prelude.Hashable Resource where+ hashWithSalt _salt Resource' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` complianceCheck+ `Prelude.hashWithSalt` value++instance Prelude.NFData Resource where+ rnf Resource' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf complianceCheck+ `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/AuditManager/Types/Role.hs view
@@ -0,0 +1,118 @@+{-# 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.AuditManager.Types.Role+-- 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.AuditManager.Types.Role where++import Amazonka.AuditManager.Types.RoleType+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++-- | The wrapper that contains the Audit Manager role information of the+-- current user. This includes the role type and IAM Amazon Resource Name+-- (ARN).+--+-- /See:/ 'newRole' smart constructor.+data Role = Role'+ { -- | The type of customer persona.+ --+ -- In @CreateAssessment@, @roleType@ can only be @PROCESS_OWNER@.+ --+ -- In @UpdateSettings@, @roleType@ can only be @PROCESS_OWNER@.+ --+ -- In @BatchCreateDelegationByAssessment@, @roleType@ can only be+ -- @RESOURCE_OWNER@.+ roleType :: RoleType,+ -- | The Amazon Resource Name (ARN) of the IAM role.+ roleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Role' 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:+--+-- 'roleType', 'role_roleType' - The type of customer persona.+--+-- In @CreateAssessment@, @roleType@ can only be @PROCESS_OWNER@.+--+-- In @UpdateSettings@, @roleType@ can only be @PROCESS_OWNER@.+--+-- In @BatchCreateDelegationByAssessment@, @roleType@ can only be+-- @RESOURCE_OWNER@.+--+-- 'roleArn', 'role_roleArn' - The Amazon Resource Name (ARN) of the IAM role.+newRole ::+ -- | 'roleType'+ RoleType ->+ -- | 'roleArn'+ Prelude.Text ->+ Role+newRole pRoleType_ pRoleArn_ =+ Role' {roleType = pRoleType_, roleArn = pRoleArn_}++-- | The type of customer persona.+--+-- In @CreateAssessment@, @roleType@ can only be @PROCESS_OWNER@.+--+-- In @UpdateSettings@, @roleType@ can only be @PROCESS_OWNER@.+--+-- In @BatchCreateDelegationByAssessment@, @roleType@ can only be+-- @RESOURCE_OWNER@.+role_roleType :: Lens.Lens' Role RoleType+role_roleType = Lens.lens (\Role' {roleType} -> roleType) (\s@Role' {} a -> s {roleType = a} :: Role)++-- | The Amazon Resource Name (ARN) of the IAM role.+role_roleArn :: Lens.Lens' Role Prelude.Text+role_roleArn = Lens.lens (\Role' {roleArn} -> roleArn) (\s@Role' {} a -> s {roleArn = a} :: Role)++instance Data.FromJSON Role where+ parseJSON =+ Data.withObject+ "Role"+ ( \x ->+ Role'+ Prelude.<$> (x Data..: "roleType")+ Prelude.<*> (x Data..: "roleArn")+ )++instance Prelude.Hashable Role where+ hashWithSalt _salt Role' {..} =+ _salt+ `Prelude.hashWithSalt` roleType+ `Prelude.hashWithSalt` roleArn++instance Prelude.NFData Role where+ rnf Role' {..} =+ Prelude.rnf roleType+ `Prelude.seq` Prelude.rnf roleArn++instance Data.ToJSON Role where+ toJSON Role' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("roleType" Data..= roleType),+ Prelude.Just ("roleArn" Data..= roleArn)+ ]+ )
+ gen/Amazonka/AuditManager/Types/RoleType.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.AuditManager.Types.RoleType+-- 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.AuditManager.Types.RoleType+ ( RoleType+ ( ..,+ RoleType_PROCESS_OWNER,+ RoleType_RESOURCE_OWNER+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RoleType = RoleType'+ { fromRoleType ::+ 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 RoleType_PROCESS_OWNER :: RoleType+pattern RoleType_PROCESS_OWNER = RoleType' "PROCESS_OWNER"++pattern RoleType_RESOURCE_OWNER :: RoleType+pattern RoleType_RESOURCE_OWNER = RoleType' "RESOURCE_OWNER"++{-# COMPLETE+ RoleType_PROCESS_OWNER,+ RoleType_RESOURCE_OWNER,+ RoleType'+ #-}
+ gen/Amazonka/AuditManager/Types/Scope.hs view
@@ -0,0 +1,102 @@+{-# 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.AuditManager.Types.Scope+-- 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.AuditManager.Types.Scope where++import Amazonka.AuditManager.Types.AWSAccount+import Amazonka.AuditManager.Types.AWSService+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++-- | The wrapper that contains the Amazon Web Services accounts and services+-- that are in scope for the assessment.+--+-- /See:/ 'newScope' smart constructor.+data Scope = Scope'+ { -- | The Amazon Web Services accounts that are included in the scope of the+ -- assessment.+ awsAccounts :: Prelude.Maybe [AWSAccount],+ -- | The Amazon Web Services services that are included in the scope of the+ -- assessment.+ awsServices :: Prelude.Maybe [AWSService]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Scope' 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:+--+-- 'awsAccounts', 'scope_awsAccounts' - The Amazon Web Services accounts that are included in the scope of the+-- assessment.+--+-- 'awsServices', 'scope_awsServices' - The Amazon Web Services services that are included in the scope of the+-- assessment.+newScope ::+ Scope+newScope =+ Scope'+ { awsAccounts = Prelude.Nothing,+ awsServices = Prelude.Nothing+ }++-- | The Amazon Web Services accounts that are included in the scope of the+-- assessment.+scope_awsAccounts :: Lens.Lens' Scope (Prelude.Maybe [AWSAccount])+scope_awsAccounts = Lens.lens (\Scope' {awsAccounts} -> awsAccounts) (\s@Scope' {} a -> s {awsAccounts = a} :: Scope) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services services that are included in the scope of the+-- assessment.+scope_awsServices :: Lens.Lens' Scope (Prelude.Maybe [AWSService])+scope_awsServices = Lens.lens (\Scope' {awsServices} -> awsServices) (\s@Scope' {} a -> s {awsServices = a} :: Scope) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Scope where+ parseJSON =+ Data.withObject+ "Scope"+ ( \x ->+ Scope'+ Prelude.<$> (x Data..:? "awsAccounts" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "awsServices" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable Scope where+ hashWithSalt _salt Scope' {..} =+ _salt+ `Prelude.hashWithSalt` awsAccounts+ `Prelude.hashWithSalt` awsServices++instance Prelude.NFData Scope where+ rnf Scope' {..} =+ Prelude.rnf awsAccounts+ `Prelude.seq` Prelude.rnf awsServices++instance Data.ToJSON Scope where+ toJSON Scope' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("awsAccounts" Data..=) Prelude.<$> awsAccounts,+ ("awsServices" Data..=) Prelude.<$> awsServices+ ]+ )
+ gen/Amazonka/AuditManager/Types/ServiceMetadata.hs view
@@ -0,0 +1,111 @@+{-# 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.AuditManager.Types.ServiceMetadata+-- 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.AuditManager.Types.ServiceMetadata 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++-- | The metadata that\'s associated with the Amazon Web Service.+--+-- /See:/ 'newServiceMetadata' smart constructor.+data ServiceMetadata = ServiceMetadata'+ { -- | The category that the Amazon Web Service belongs to, such as compute,+ -- storage, or database.+ category :: Prelude.Maybe Prelude.Text,+ -- | The description of the Amazon Web Service.+ description :: Prelude.Maybe Prelude.Text,+ -- | The display name of the Amazon Web Service.+ displayName :: Prelude.Maybe Prelude.Text,+ -- | The name of the Amazon Web Service.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServiceMetadata' 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:+--+-- 'category', 'serviceMetadata_category' - The category that the Amazon Web Service belongs to, such as compute,+-- storage, or database.+--+-- 'description', 'serviceMetadata_description' - The description of the Amazon Web Service.+--+-- 'displayName', 'serviceMetadata_displayName' - The display name of the Amazon Web Service.+--+-- 'name', 'serviceMetadata_name' - The name of the Amazon Web Service.+newServiceMetadata ::+ ServiceMetadata+newServiceMetadata =+ ServiceMetadata'+ { category = Prelude.Nothing,+ description = Prelude.Nothing,+ displayName = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The category that the Amazon Web Service belongs to, such as compute,+-- storage, or database.+serviceMetadata_category :: Lens.Lens' ServiceMetadata (Prelude.Maybe Prelude.Text)+serviceMetadata_category = Lens.lens (\ServiceMetadata' {category} -> category) (\s@ServiceMetadata' {} a -> s {category = a} :: ServiceMetadata)++-- | The description of the Amazon Web Service.+serviceMetadata_description :: Lens.Lens' ServiceMetadata (Prelude.Maybe Prelude.Text)+serviceMetadata_description = Lens.lens (\ServiceMetadata' {description} -> description) (\s@ServiceMetadata' {} a -> s {description = a} :: ServiceMetadata)++-- | The display name of the Amazon Web Service.+serviceMetadata_displayName :: Lens.Lens' ServiceMetadata (Prelude.Maybe Prelude.Text)+serviceMetadata_displayName = Lens.lens (\ServiceMetadata' {displayName} -> displayName) (\s@ServiceMetadata' {} a -> s {displayName = a} :: ServiceMetadata)++-- | The name of the Amazon Web Service.+serviceMetadata_name :: Lens.Lens' ServiceMetadata (Prelude.Maybe Prelude.Text)+serviceMetadata_name = Lens.lens (\ServiceMetadata' {name} -> name) (\s@ServiceMetadata' {} a -> s {name = a} :: ServiceMetadata)++instance Data.FromJSON ServiceMetadata where+ parseJSON =+ Data.withObject+ "ServiceMetadata"+ ( \x ->+ ServiceMetadata'+ Prelude.<$> (x Data..:? "category")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "displayName")+ Prelude.<*> (x Data..:? "name")+ )++instance Prelude.Hashable ServiceMetadata where+ hashWithSalt _salt ServiceMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` category+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` displayName+ `Prelude.hashWithSalt` name++instance Prelude.NFData ServiceMetadata where+ rnf ServiceMetadata' {..} =+ Prelude.rnf category+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf displayName+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/AuditManager/Types/SettingAttribute.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.AuditManager.Types.SettingAttribute+-- 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.AuditManager.Types.SettingAttribute+ ( SettingAttribute+ ( ..,+ SettingAttribute_ALL,+ SettingAttribute_DEFAULT_ASSESSMENT_REPORTS_DESTINATION,+ SettingAttribute_DEFAULT_PROCESS_OWNERS,+ SettingAttribute_DEREGISTRATION_POLICY,+ SettingAttribute_EVIDENCE_FINDER_ENABLEMENT,+ SettingAttribute_IS_AWS_ORG_ENABLED,+ SettingAttribute_SNS_TOPIC+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SettingAttribute = SettingAttribute'+ { fromSettingAttribute ::+ 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 SettingAttribute_ALL :: SettingAttribute+pattern SettingAttribute_ALL = SettingAttribute' "ALL"++pattern SettingAttribute_DEFAULT_ASSESSMENT_REPORTS_DESTINATION :: SettingAttribute+pattern SettingAttribute_DEFAULT_ASSESSMENT_REPORTS_DESTINATION = SettingAttribute' "DEFAULT_ASSESSMENT_REPORTS_DESTINATION"++pattern SettingAttribute_DEFAULT_PROCESS_OWNERS :: SettingAttribute+pattern SettingAttribute_DEFAULT_PROCESS_OWNERS = SettingAttribute' "DEFAULT_PROCESS_OWNERS"++pattern SettingAttribute_DEREGISTRATION_POLICY :: SettingAttribute+pattern SettingAttribute_DEREGISTRATION_POLICY = SettingAttribute' "DEREGISTRATION_POLICY"++pattern SettingAttribute_EVIDENCE_FINDER_ENABLEMENT :: SettingAttribute+pattern SettingAttribute_EVIDENCE_FINDER_ENABLEMENT = SettingAttribute' "EVIDENCE_FINDER_ENABLEMENT"++pattern SettingAttribute_IS_AWS_ORG_ENABLED :: SettingAttribute+pattern SettingAttribute_IS_AWS_ORG_ENABLED = SettingAttribute' "IS_AWS_ORG_ENABLED"++pattern SettingAttribute_SNS_TOPIC :: SettingAttribute+pattern SettingAttribute_SNS_TOPIC = SettingAttribute' "SNS_TOPIC"++{-# COMPLETE+ SettingAttribute_ALL,+ SettingAttribute_DEFAULT_ASSESSMENT_REPORTS_DESTINATION,+ SettingAttribute_DEFAULT_PROCESS_OWNERS,+ SettingAttribute_DEREGISTRATION_POLICY,+ SettingAttribute_EVIDENCE_FINDER_ENABLEMENT,+ SettingAttribute_IS_AWS_ORG_ENABLED,+ SettingAttribute_SNS_TOPIC,+ SettingAttribute'+ #-}
+ gen/Amazonka/AuditManager/Types/Settings.hs view
@@ -0,0 +1,158 @@+{-# 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.AuditManager.Types.Settings+-- 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.AuditManager.Types.Settings where++import Amazonka.AuditManager.Types.AssessmentReportsDestination+import Amazonka.AuditManager.Types.DeregistrationPolicy+import Amazonka.AuditManager.Types.EvidenceFinderEnablement+import Amazonka.AuditManager.Types.Role+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++-- | The settings object that holds all supported Audit Manager settings.+--+-- /See:/ 'newSettings' smart constructor.+data Settings = Settings'+ { -- | The default storage destination for assessment reports.+ defaultAssessmentReportsDestination :: Prelude.Maybe AssessmentReportsDestination,+ -- | The designated default audit owners.+ defaultProcessOwners :: Prelude.Maybe [Role],+ -- | The deregistration policy for your Audit Manager data. You can use this+ -- attribute to determine how your data is handled when you deregister+ -- Audit Manager.+ deregistrationPolicy :: Prelude.Maybe DeregistrationPolicy,+ -- | The current evidence finder status and event data store details.+ evidenceFinderEnablement :: Prelude.Maybe EvidenceFinderEnablement,+ -- | Specifies whether Organizations is enabled.+ isAwsOrgEnabled :: Prelude.Maybe Prelude.Bool,+ -- | The KMS key details.+ kmsKey :: Prelude.Maybe Prelude.Text,+ -- | The designated Amazon Simple Notification Service (Amazon SNS) topic.+ snsTopic :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Settings' 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:+--+-- 'defaultAssessmentReportsDestination', 'settings_defaultAssessmentReportsDestination' - The default storage destination for assessment reports.+--+-- 'defaultProcessOwners', 'settings_defaultProcessOwners' - The designated default audit owners.+--+-- 'deregistrationPolicy', 'settings_deregistrationPolicy' - The deregistration policy for your Audit Manager data. You can use this+-- attribute to determine how your data is handled when you deregister+-- Audit Manager.+--+-- 'evidenceFinderEnablement', 'settings_evidenceFinderEnablement' - The current evidence finder status and event data store details.+--+-- 'isAwsOrgEnabled', 'settings_isAwsOrgEnabled' - Specifies whether Organizations is enabled.+--+-- 'kmsKey', 'settings_kmsKey' - The KMS key details.+--+-- 'snsTopic', 'settings_snsTopic' - The designated Amazon Simple Notification Service (Amazon SNS) topic.+newSettings ::+ Settings+newSettings =+ Settings'+ { defaultAssessmentReportsDestination =+ Prelude.Nothing,+ defaultProcessOwners = Prelude.Nothing,+ deregistrationPolicy = Prelude.Nothing,+ evidenceFinderEnablement = Prelude.Nothing,+ isAwsOrgEnabled = Prelude.Nothing,+ kmsKey = Prelude.Nothing,+ snsTopic = Prelude.Nothing+ }++-- | The default storage destination for assessment reports.+settings_defaultAssessmentReportsDestination :: Lens.Lens' Settings (Prelude.Maybe AssessmentReportsDestination)+settings_defaultAssessmentReportsDestination = Lens.lens (\Settings' {defaultAssessmentReportsDestination} -> defaultAssessmentReportsDestination) (\s@Settings' {} a -> s {defaultAssessmentReportsDestination = a} :: Settings)++-- | The designated default audit owners.+settings_defaultProcessOwners :: Lens.Lens' Settings (Prelude.Maybe [Role])+settings_defaultProcessOwners = Lens.lens (\Settings' {defaultProcessOwners} -> defaultProcessOwners) (\s@Settings' {} a -> s {defaultProcessOwners = a} :: Settings) Prelude.. Lens.mapping Lens.coerced++-- | The deregistration policy for your Audit Manager data. You can use this+-- attribute to determine how your data is handled when you deregister+-- Audit Manager.+settings_deregistrationPolicy :: Lens.Lens' Settings (Prelude.Maybe DeregistrationPolicy)+settings_deregistrationPolicy = Lens.lens (\Settings' {deregistrationPolicy} -> deregistrationPolicy) (\s@Settings' {} a -> s {deregistrationPolicy = a} :: Settings)++-- | The current evidence finder status and event data store details.+settings_evidenceFinderEnablement :: Lens.Lens' Settings (Prelude.Maybe EvidenceFinderEnablement)+settings_evidenceFinderEnablement = Lens.lens (\Settings' {evidenceFinderEnablement} -> evidenceFinderEnablement) (\s@Settings' {} a -> s {evidenceFinderEnablement = a} :: Settings)++-- | Specifies whether Organizations is enabled.+settings_isAwsOrgEnabled :: Lens.Lens' Settings (Prelude.Maybe Prelude.Bool)+settings_isAwsOrgEnabled = Lens.lens (\Settings' {isAwsOrgEnabled} -> isAwsOrgEnabled) (\s@Settings' {} a -> s {isAwsOrgEnabled = a} :: Settings)++-- | The KMS key details.+settings_kmsKey :: Lens.Lens' Settings (Prelude.Maybe Prelude.Text)+settings_kmsKey = Lens.lens (\Settings' {kmsKey} -> kmsKey) (\s@Settings' {} a -> s {kmsKey = a} :: Settings)++-- | The designated Amazon Simple Notification Service (Amazon SNS) topic.+settings_snsTopic :: Lens.Lens' Settings (Prelude.Maybe Prelude.Text)+settings_snsTopic = Lens.lens (\Settings' {snsTopic} -> snsTopic) (\s@Settings' {} a -> s {snsTopic = a} :: Settings)++instance Data.FromJSON Settings where+ parseJSON =+ Data.withObject+ "Settings"+ ( \x ->+ Settings'+ Prelude.<$> (x Data..:? "defaultAssessmentReportsDestination")+ Prelude.<*> ( x+ Data..:? "defaultProcessOwners"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "deregistrationPolicy")+ Prelude.<*> (x Data..:? "evidenceFinderEnablement")+ Prelude.<*> (x Data..:? "isAwsOrgEnabled")+ Prelude.<*> (x Data..:? "kmsKey")+ Prelude.<*> (x Data..:? "snsTopic")+ )++instance Prelude.Hashable Settings where+ hashWithSalt _salt Settings' {..} =+ _salt+ `Prelude.hashWithSalt` defaultAssessmentReportsDestination+ `Prelude.hashWithSalt` defaultProcessOwners+ `Prelude.hashWithSalt` deregistrationPolicy+ `Prelude.hashWithSalt` evidenceFinderEnablement+ `Prelude.hashWithSalt` isAwsOrgEnabled+ `Prelude.hashWithSalt` kmsKey+ `Prelude.hashWithSalt` snsTopic++instance Prelude.NFData Settings where+ rnf Settings' {..} =+ Prelude.rnf defaultAssessmentReportsDestination+ `Prelude.seq` Prelude.rnf defaultProcessOwners+ `Prelude.seq` Prelude.rnf deregistrationPolicy+ `Prelude.seq` Prelude.rnf evidenceFinderEnablement+ `Prelude.seq` Prelude.rnf isAwsOrgEnabled+ `Prelude.seq` Prelude.rnf kmsKey+ `Prelude.seq` Prelude.rnf snsTopic
@@ -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.AuditManager.Types.ShareRequestAction+-- 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.AuditManager.Types.ShareRequestAction+ ( ShareRequestAction+ ( ..,+ ShareRequestAction_ACCEPT,+ ShareRequestAction_DECLINE,+ ShareRequestAction_REVOKE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ShareRequestAction = ShareRequestAction'+ { fromShareRequestAction ::+ 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 ShareRequestAction_ACCEPT :: ShareRequestAction+pattern ShareRequestAction_ACCEPT = ShareRequestAction' "ACCEPT"++pattern ShareRequestAction_DECLINE :: ShareRequestAction+pattern ShareRequestAction_DECLINE = ShareRequestAction' "DECLINE"++pattern ShareRequestAction_REVOKE :: ShareRequestAction+pattern ShareRequestAction_REVOKE = ShareRequestAction' "REVOKE"++{-# COMPLETE+ ShareRequestAction_ACCEPT,+ ShareRequestAction_DECLINE,+ ShareRequestAction_REVOKE,+ ShareRequestAction'+ #-}
@@ -0,0 +1,101 @@+{-# 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.AuditManager.Types.ShareRequestStatus+-- 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.AuditManager.Types.ShareRequestStatus+ ( ShareRequestStatus+ ( ..,+ ShareRequestStatus_ACTIVE,+ ShareRequestStatus_DECLINED,+ ShareRequestStatus_EXPIRED,+ ShareRequestStatus_EXPIRING,+ ShareRequestStatus_FAILED,+ ShareRequestStatus_REPLICATING,+ ShareRequestStatus_REVOKED,+ ShareRequestStatus_SHARED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ShareRequestStatus = ShareRequestStatus'+ { fromShareRequestStatus ::+ 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 ShareRequestStatus_ACTIVE :: ShareRequestStatus+pattern ShareRequestStatus_ACTIVE = ShareRequestStatus' "ACTIVE"++pattern ShareRequestStatus_DECLINED :: ShareRequestStatus+pattern ShareRequestStatus_DECLINED = ShareRequestStatus' "DECLINED"++pattern ShareRequestStatus_EXPIRED :: ShareRequestStatus+pattern ShareRequestStatus_EXPIRED = ShareRequestStatus' "EXPIRED"++pattern ShareRequestStatus_EXPIRING :: ShareRequestStatus+pattern ShareRequestStatus_EXPIRING = ShareRequestStatus' "EXPIRING"++pattern ShareRequestStatus_FAILED :: ShareRequestStatus+pattern ShareRequestStatus_FAILED = ShareRequestStatus' "FAILED"++pattern ShareRequestStatus_REPLICATING :: ShareRequestStatus+pattern ShareRequestStatus_REPLICATING = ShareRequestStatus' "REPLICATING"++pattern ShareRequestStatus_REVOKED :: ShareRequestStatus+pattern ShareRequestStatus_REVOKED = ShareRequestStatus' "REVOKED"++pattern ShareRequestStatus_SHARED :: ShareRequestStatus+pattern ShareRequestStatus_SHARED = ShareRequestStatus' "SHARED"++{-# COMPLETE+ ShareRequestStatus_ACTIVE,+ ShareRequestStatus_DECLINED,+ ShareRequestStatus_EXPIRED,+ ShareRequestStatus_EXPIRING,+ ShareRequestStatus_FAILED,+ ShareRequestStatus_REPLICATING,+ ShareRequestStatus_REVOKED,+ ShareRequestStatus_SHARED,+ ShareRequestStatus'+ #-}
@@ -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.AuditManager.Types.ShareRequestType+-- 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.AuditManager.Types.ShareRequestType+ ( ShareRequestType+ ( ..,+ ShareRequestType_RECEIVED,+ ShareRequestType_SENT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ShareRequestType = ShareRequestType'+ { fromShareRequestType ::+ 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 ShareRequestType_RECEIVED :: ShareRequestType+pattern ShareRequestType_RECEIVED = ShareRequestType' "RECEIVED"++pattern ShareRequestType_SENT :: ShareRequestType+pattern ShareRequestType_SENT = ShareRequestType' "SENT"++{-# COMPLETE+ ShareRequestType_RECEIVED,+ ShareRequestType_SENT,+ ShareRequestType'+ #-}
+ gen/Amazonka/AuditManager/Types/SourceFrequency.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.AuditManager.Types.SourceFrequency+-- 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.AuditManager.Types.SourceFrequency+ ( SourceFrequency+ ( ..,+ SourceFrequency_DAILY,+ SourceFrequency_MONTHLY,+ SourceFrequency_WEEKLY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SourceFrequency = SourceFrequency'+ { fromSourceFrequency ::+ 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 SourceFrequency_DAILY :: SourceFrequency+pattern SourceFrequency_DAILY = SourceFrequency' "DAILY"++pattern SourceFrequency_MONTHLY :: SourceFrequency+pattern SourceFrequency_MONTHLY = SourceFrequency' "MONTHLY"++pattern SourceFrequency_WEEKLY :: SourceFrequency+pattern SourceFrequency_WEEKLY = SourceFrequency' "WEEKLY"++{-# COMPLETE+ SourceFrequency_DAILY,+ SourceFrequency_MONTHLY,+ SourceFrequency_WEEKLY,+ SourceFrequency'+ #-}
+ gen/Amazonka/AuditManager/Types/SourceKeyword.hs view
@@ -0,0 +1,237 @@+{-# 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.AuditManager.Types.SourceKeyword+-- 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.AuditManager.Types.SourceKeyword where++import Amazonka.AuditManager.Types.KeywordInputType+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++-- | The keyword to search for in CloudTrail logs, Config rules, Security Hub+-- checks, and Amazon Web Services API names.+--+-- To learn more about the supported keywords that you can use when mapping+-- a control data source, see the following pages in the /Audit Manager+-- User Guide/:+--+-- - <https://docs.aws.amazon.com/audit-manager/latest/userguide/control-data-sources-ash.html Config rules supported by Audit Manager>+--+-- - <https://docs.aws.amazon.com/audit-manager/latest/userguide/control-data-sources-config.html Security Hub controls supported by Audit Manager>+--+-- - <https://docs.aws.amazon.com/audit-manager/latest/userguide/control-data-sources-api.html API calls supported by Audit Manager>+--+-- - <https://docs.aws.amazon.com/audit-manager/latest/userguide/control-data-sources-cloudtrail.html CloudTrail event names supported by Audit Manager>+--+-- /See:/ 'newSourceKeyword' smart constructor.+data SourceKeyword = SourceKeyword'+ { -- | The input method for the keyword.+ keywordInputType :: Prelude.Maybe KeywordInputType,+ -- | The value of the keyword that\'s used when mapping a control data+ -- source. For example, this can be a CloudTrail event name, a rule name+ -- for Config, a Security Hub control, or the name of an Amazon Web+ -- Services API call.+ --+ -- If you’re mapping a data source to a rule in Config, the @keywordValue@+ -- that you specify depends on the type of rule:+ --+ -- - For+ -- <https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html managed rules>,+ -- you can use the rule identifier as the @keywordValue@. You can find+ -- the rule identifier from the+ -- <https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html list of Config managed rules>.+ --+ -- - Managed rule name:+ -- <https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-acl-prohibited.html s3-bucket-acl-prohibited>+ --+ -- @keywordValue@: @S3_BUCKET_ACL_PROHIBITED@+ --+ -- - For+ -- <https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html custom rules>,+ -- you form the @keywordValue@ by adding the @Custom_@ prefix to the+ -- rule name. This prefix distinguishes the rule from a managed rule.+ --+ -- - Custom rule name: my-custom-config-rule+ --+ -- @keywordValue@: @Custom_my-custom-config-rule@+ --+ -- - For+ -- <https://docs.aws.amazon.com/config/latest/developerguide/service-linked-awsconfig-rules.html service-linked rules>,+ -- you form the @keywordValue@ by adding the @Custom_@ prefix to the+ -- rule name. In addition, you remove the suffix ID that appears at the+ -- end of the rule name.+ --+ -- - Service-linked rule name:+ -- CustomRuleForAccount-conformance-pack-szsm1uv0w+ --+ -- @keywordValue@: @Custom_CustomRuleForAccount-conformance-pack@+ --+ -- - Service-linked rule name:+ -- OrgConfigRule-s3-bucket-versioning-enabled-dbgzf8ba+ --+ -- @keywordValue@:+ -- @Custom_OrgConfigRule-s3-bucket-versioning-enabled@+ keywordValue :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceKeyword' 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:+--+-- 'keywordInputType', 'sourceKeyword_keywordInputType' - The input method for the keyword.+--+-- 'keywordValue', 'sourceKeyword_keywordValue' - The value of the keyword that\'s used when mapping a control data+-- source. For example, this can be a CloudTrail event name, a rule name+-- for Config, a Security Hub control, or the name of an Amazon Web+-- Services API call.+--+-- If you’re mapping a data source to a rule in Config, the @keywordValue@+-- that you specify depends on the type of rule:+--+-- - For+-- <https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html managed rules>,+-- you can use the rule identifier as the @keywordValue@. You can find+-- the rule identifier from the+-- <https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html list of Config managed rules>.+--+-- - Managed rule name:+-- <https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-acl-prohibited.html s3-bucket-acl-prohibited>+--+-- @keywordValue@: @S3_BUCKET_ACL_PROHIBITED@+--+-- - For+-- <https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html custom rules>,+-- you form the @keywordValue@ by adding the @Custom_@ prefix to the+-- rule name. This prefix distinguishes the rule from a managed rule.+--+-- - Custom rule name: my-custom-config-rule+--+-- @keywordValue@: @Custom_my-custom-config-rule@+--+-- - For+-- <https://docs.aws.amazon.com/config/latest/developerguide/service-linked-awsconfig-rules.html service-linked rules>,+-- you form the @keywordValue@ by adding the @Custom_@ prefix to the+-- rule name. In addition, you remove the suffix ID that appears at the+-- end of the rule name.+--+-- - Service-linked rule name:+-- CustomRuleForAccount-conformance-pack-szsm1uv0w+--+-- @keywordValue@: @Custom_CustomRuleForAccount-conformance-pack@+--+-- - Service-linked rule name:+-- OrgConfigRule-s3-bucket-versioning-enabled-dbgzf8ba+--+-- @keywordValue@:+-- @Custom_OrgConfigRule-s3-bucket-versioning-enabled@+newSourceKeyword ::+ SourceKeyword+newSourceKeyword =+ SourceKeyword'+ { keywordInputType = Prelude.Nothing,+ keywordValue = Prelude.Nothing+ }++-- | The input method for the keyword.+sourceKeyword_keywordInputType :: Lens.Lens' SourceKeyword (Prelude.Maybe KeywordInputType)+sourceKeyword_keywordInputType = Lens.lens (\SourceKeyword' {keywordInputType} -> keywordInputType) (\s@SourceKeyword' {} a -> s {keywordInputType = a} :: SourceKeyword)++-- | The value of the keyword that\'s used when mapping a control data+-- source. For example, this can be a CloudTrail event name, a rule name+-- for Config, a Security Hub control, or the name of an Amazon Web+-- Services API call.+--+-- If you’re mapping a data source to a rule in Config, the @keywordValue@+-- that you specify depends on the type of rule:+--+-- - For+-- <https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html managed rules>,+-- you can use the rule identifier as the @keywordValue@. You can find+-- the rule identifier from the+-- <https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html list of Config managed rules>.+--+-- - Managed rule name:+-- <https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-acl-prohibited.html s3-bucket-acl-prohibited>+--+-- @keywordValue@: @S3_BUCKET_ACL_PROHIBITED@+--+-- - For+-- <https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html custom rules>,+-- you form the @keywordValue@ by adding the @Custom_@ prefix to the+-- rule name. This prefix distinguishes the rule from a managed rule.+--+-- - Custom rule name: my-custom-config-rule+--+-- @keywordValue@: @Custom_my-custom-config-rule@+--+-- - For+-- <https://docs.aws.amazon.com/config/latest/developerguide/service-linked-awsconfig-rules.html service-linked rules>,+-- you form the @keywordValue@ by adding the @Custom_@ prefix to the+-- rule name. In addition, you remove the suffix ID that appears at the+-- end of the rule name.+--+-- - Service-linked rule name:+-- CustomRuleForAccount-conformance-pack-szsm1uv0w+--+-- @keywordValue@: @Custom_CustomRuleForAccount-conformance-pack@+--+-- - Service-linked rule name:+-- OrgConfigRule-s3-bucket-versioning-enabled-dbgzf8ba+--+-- @keywordValue@:+-- @Custom_OrgConfigRule-s3-bucket-versioning-enabled@+sourceKeyword_keywordValue :: Lens.Lens' SourceKeyword (Prelude.Maybe Prelude.Text)+sourceKeyword_keywordValue = Lens.lens (\SourceKeyword' {keywordValue} -> keywordValue) (\s@SourceKeyword' {} a -> s {keywordValue = a} :: SourceKeyword)++instance Data.FromJSON SourceKeyword where+ parseJSON =+ Data.withObject+ "SourceKeyword"+ ( \x ->+ SourceKeyword'+ Prelude.<$> (x Data..:? "keywordInputType")+ Prelude.<*> (x Data..:? "keywordValue")+ )++instance Prelude.Hashable SourceKeyword where+ hashWithSalt _salt SourceKeyword' {..} =+ _salt+ `Prelude.hashWithSalt` keywordInputType+ `Prelude.hashWithSalt` keywordValue++instance Prelude.NFData SourceKeyword where+ rnf SourceKeyword' {..} =+ Prelude.rnf keywordInputType+ `Prelude.seq` Prelude.rnf keywordValue++instance Data.ToJSON SourceKeyword where+ toJSON SourceKeyword' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("keywordInputType" Data..=)+ Prelude.<$> keywordInputType,+ ("keywordValue" Data..=) Prelude.<$> keywordValue+ ]+ )
+ gen/Amazonka/AuditManager/Types/SourceSetUpOption.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.AuditManager.Types.SourceSetUpOption+-- 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.AuditManager.Types.SourceSetUpOption+ ( SourceSetUpOption+ ( ..,+ SourceSetUpOption_Procedural_Controls_Mapping,+ SourceSetUpOption_System_Controls_Mapping+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SourceSetUpOption = SourceSetUpOption'+ { fromSourceSetUpOption ::+ 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 SourceSetUpOption_Procedural_Controls_Mapping :: SourceSetUpOption+pattern SourceSetUpOption_Procedural_Controls_Mapping = SourceSetUpOption' "Procedural_Controls_Mapping"++pattern SourceSetUpOption_System_Controls_Mapping :: SourceSetUpOption+pattern SourceSetUpOption_System_Controls_Mapping = SourceSetUpOption' "System_Controls_Mapping"++{-# COMPLETE+ SourceSetUpOption_Procedural_Controls_Mapping,+ SourceSetUpOption_System_Controls_Mapping,+ SourceSetUpOption'+ #-}
+ gen/Amazonka/AuditManager/Types/SourceType.hs view
@@ -0,0 +1,86 @@+{-# 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.AuditManager.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.AuditManager.Types.SourceType+ ( SourceType+ ( ..,+ SourceType_AWS_API_Call,+ SourceType_AWS_Cloudtrail,+ SourceType_AWS_Config,+ SourceType_AWS_Security_Hub,+ SourceType_MANUAL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SourceType = SourceType'+ { fromSourceType ::+ 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 SourceType_AWS_API_Call :: SourceType+pattern SourceType_AWS_API_Call = SourceType' "AWS_API_Call"++pattern SourceType_AWS_Cloudtrail :: SourceType+pattern SourceType_AWS_Cloudtrail = SourceType' "AWS_Cloudtrail"++pattern SourceType_AWS_Config :: SourceType+pattern SourceType_AWS_Config = SourceType' "AWS_Config"++pattern SourceType_AWS_Security_Hub :: SourceType+pattern SourceType_AWS_Security_Hub = SourceType' "AWS_Security_Hub"++pattern SourceType_MANUAL :: SourceType+pattern SourceType_MANUAL = SourceType' "MANUAL"++{-# COMPLETE+ SourceType_AWS_API_Call,+ SourceType_AWS_Cloudtrail,+ SourceType_AWS_Config,+ SourceType_AWS_Security_Hub,+ SourceType_MANUAL,+ SourceType'+ #-}
+ gen/Amazonka/AuditManager/Types/URL.hs view
@@ -0,0 +1,85 @@+{-# 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.AuditManager.Types.URL+-- 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.AuditManager.Types.URL 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++-- | Short for uniform resource locator. A URL is used as a unique identifier+-- to locate a resource on the internet.+--+-- /See:/ 'newURL' smart constructor.+data URL = URL'+ { -- | The name or word that\'s used as a hyperlink to the URL.+ hyperlinkName :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the internet resource.+ link :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'URL' 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:+--+-- 'hyperlinkName', 'url_hyperlinkName' - The name or word that\'s used as a hyperlink to the URL.+--+-- 'link', 'url_link' - The unique identifier for the internet resource.+newURL ::+ URL+newURL =+ URL'+ { hyperlinkName = Prelude.Nothing,+ link = Prelude.Nothing+ }++-- | The name or word that\'s used as a hyperlink to the URL.+url_hyperlinkName :: Lens.Lens' URL (Prelude.Maybe Prelude.Text)+url_hyperlinkName = Lens.lens (\URL' {hyperlinkName} -> hyperlinkName) (\s@URL' {} a -> s {hyperlinkName = a} :: URL)++-- | The unique identifier for the internet resource.+url_link :: Lens.Lens' URL (Prelude.Maybe Prelude.Text)+url_link = Lens.lens (\URL' {link} -> link) (\s@URL' {} a -> s {link = a} :: URL)++instance Data.FromJSON URL where+ parseJSON =+ Data.withObject+ "URL"+ ( \x ->+ URL'+ Prelude.<$> (x Data..:? "hyperlinkName")+ Prelude.<*> (x Data..:? "link")+ )++instance Prelude.Hashable URL where+ hashWithSalt _salt URL' {..} =+ _salt+ `Prelude.hashWithSalt` hyperlinkName+ `Prelude.hashWithSalt` link++instance Prelude.NFData URL where+ rnf URL' {..} =+ Prelude.rnf hyperlinkName+ `Prelude.seq` Prelude.rnf link
+ gen/Amazonka/AuditManager/Types/UpdateAssessmentFrameworkControlSet.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.AuditManager.Types.UpdateAssessmentFrameworkControlSet+-- 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.AuditManager.Types.UpdateAssessmentFrameworkControlSet where++import Amazonka.AuditManager.Types.CreateAssessmentFrameworkControl+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++-- | A @controlSet@ entity that represents a collection of controls in Audit+-- Manager. This doesn\'t contain the control set ID.+--+-- /See:/ 'newUpdateAssessmentFrameworkControlSet' smart constructor.+data UpdateAssessmentFrameworkControlSet = UpdateAssessmentFrameworkControlSet'+ { -- | The unique identifier for the control set.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the control set.+ name :: Prelude.Text,+ -- | The list of controls that are contained within the control set.+ controls :: Prelude.NonEmpty CreateAssessmentFrameworkControl+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssessmentFrameworkControlSet' 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', 'updateAssessmentFrameworkControlSet_id' - The unique identifier for the control set.+--+-- 'name', 'updateAssessmentFrameworkControlSet_name' - The name of the control set.+--+-- 'controls', 'updateAssessmentFrameworkControlSet_controls' - The list of controls that are contained within the control set.+newUpdateAssessmentFrameworkControlSet ::+ -- | 'name'+ Prelude.Text ->+ -- | 'controls'+ Prelude.NonEmpty CreateAssessmentFrameworkControl ->+ UpdateAssessmentFrameworkControlSet+newUpdateAssessmentFrameworkControlSet+ pName_+ pControls_ =+ UpdateAssessmentFrameworkControlSet'+ { id =+ Prelude.Nothing,+ name = pName_,+ controls =+ Lens.coerced Lens.# pControls_+ }++-- | The unique identifier for the control set.+updateAssessmentFrameworkControlSet_id :: Lens.Lens' UpdateAssessmentFrameworkControlSet (Prelude.Maybe Prelude.Text)+updateAssessmentFrameworkControlSet_id = Lens.lens (\UpdateAssessmentFrameworkControlSet' {id} -> id) (\s@UpdateAssessmentFrameworkControlSet' {} a -> s {id = a} :: UpdateAssessmentFrameworkControlSet)++-- | The name of the control set.+updateAssessmentFrameworkControlSet_name :: Lens.Lens' UpdateAssessmentFrameworkControlSet Prelude.Text+updateAssessmentFrameworkControlSet_name = Lens.lens (\UpdateAssessmentFrameworkControlSet' {name} -> name) (\s@UpdateAssessmentFrameworkControlSet' {} a -> s {name = a} :: UpdateAssessmentFrameworkControlSet)++-- | The list of controls that are contained within the control set.+updateAssessmentFrameworkControlSet_controls :: Lens.Lens' UpdateAssessmentFrameworkControlSet (Prelude.NonEmpty CreateAssessmentFrameworkControl)+updateAssessmentFrameworkControlSet_controls = Lens.lens (\UpdateAssessmentFrameworkControlSet' {controls} -> controls) (\s@UpdateAssessmentFrameworkControlSet' {} a -> s {controls = a} :: UpdateAssessmentFrameworkControlSet) Prelude.. Lens.coerced++instance+ Prelude.Hashable+ UpdateAssessmentFrameworkControlSet+ where+ hashWithSalt+ _salt+ UpdateAssessmentFrameworkControlSet' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` controls++instance+ Prelude.NFData+ UpdateAssessmentFrameworkControlSet+ where+ rnf UpdateAssessmentFrameworkControlSet' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf controls++instance+ Data.ToJSON+ UpdateAssessmentFrameworkControlSet+ where+ toJSON UpdateAssessmentFrameworkControlSet' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("id" Data..=) Prelude.<$> id,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("controls" Data..= controls)+ ]+ )
+ gen/Amazonka/AuditManager/UntagResource.hs view
@@ -0,0 +1,163 @@+{-# 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.AuditManager.UntagResource+-- 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 tag from a resource in Audit Manager.+module Amazonka.AuditManager.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The Amazon Resource Name (ARN) of the specified resource.+ resourceArn :: Prelude.Text,+ -- | The name or key of the tag.+ tagKeys :: Prelude.NonEmpty Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' 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:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the specified resource.+--+-- 'tagKeys', 'untagResource_tagKeys' - The name or key of the tag.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ -- | 'tagKeys'+ Prelude.NonEmpty Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Lens.coerced Lens.# pTagKeys_+ }++-- | The Amazon Resource Name (ARN) of the specified resource.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The name or key of the tag.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UntagResourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath UntagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+ toQuery UntagResource' {..} =+ Prelude.mconcat+ ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' 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', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+ UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+ rnf UntagResourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/UpdateAssessment.hs view
@@ -0,0 +1,247 @@+{-# 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.AuditManager.UpdateAssessment+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Edits an Audit Manager assessment.+module Amazonka.AuditManager.UpdateAssessment+ ( -- * Creating a Request+ UpdateAssessment (..),+ newUpdateAssessment,++ -- * Request Lenses+ updateAssessment_assessmentDescription,+ updateAssessment_assessmentName,+ updateAssessment_assessmentReportsDestination,+ updateAssessment_roles,+ updateAssessment_assessmentId,+ updateAssessment_scope,++ -- * Destructuring the Response+ UpdateAssessmentResponse (..),+ newUpdateAssessmentResponse,++ -- * Response Lenses+ updateAssessmentResponse_assessment,+ updateAssessmentResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newUpdateAssessment' smart constructor.+data UpdateAssessment = UpdateAssessment'+ { -- | The description of the assessment.+ assessmentDescription :: Prelude.Maybe Prelude.Text,+ -- | The name of the assessment to be updated.+ assessmentName :: Prelude.Maybe Prelude.Text,+ -- | The assessment report storage destination for the assessment that\'s+ -- being updated.+ assessmentReportsDestination :: Prelude.Maybe AssessmentReportsDestination,+ -- | The list of roles for the assessment.+ roles :: Prelude.Maybe [Role],+ -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The scope of the assessment.+ scope :: Scope+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssessment' 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:+--+-- 'assessmentDescription', 'updateAssessment_assessmentDescription' - The description of the assessment.+--+-- 'assessmentName', 'updateAssessment_assessmentName' - The name of the assessment to be updated.+--+-- 'assessmentReportsDestination', 'updateAssessment_assessmentReportsDestination' - The assessment report storage destination for the assessment that\'s+-- being updated.+--+-- 'roles', 'updateAssessment_roles' - The list of roles for the assessment.+--+-- 'assessmentId', 'updateAssessment_assessmentId' - The unique identifier for the assessment.+--+-- 'scope', 'updateAssessment_scope' - The scope of the assessment.+newUpdateAssessment ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'scope'+ Scope ->+ UpdateAssessment+newUpdateAssessment pAssessmentId_ pScope_ =+ UpdateAssessment'+ { assessmentDescription =+ Prelude.Nothing,+ assessmentName = Prelude.Nothing,+ assessmentReportsDestination = Prelude.Nothing,+ roles = Prelude.Nothing,+ assessmentId = pAssessmentId_,+ scope = pScope_+ }++-- | The description of the assessment.+updateAssessment_assessmentDescription :: Lens.Lens' UpdateAssessment (Prelude.Maybe Prelude.Text)+updateAssessment_assessmentDescription = Lens.lens (\UpdateAssessment' {assessmentDescription} -> assessmentDescription) (\s@UpdateAssessment' {} a -> s {assessmentDescription = a} :: UpdateAssessment)++-- | The name of the assessment to be updated.+updateAssessment_assessmentName :: Lens.Lens' UpdateAssessment (Prelude.Maybe Prelude.Text)+updateAssessment_assessmentName = Lens.lens (\UpdateAssessment' {assessmentName} -> assessmentName) (\s@UpdateAssessment' {} a -> s {assessmentName = a} :: UpdateAssessment)++-- | The assessment report storage destination for the assessment that\'s+-- being updated.+updateAssessment_assessmentReportsDestination :: Lens.Lens' UpdateAssessment (Prelude.Maybe AssessmentReportsDestination)+updateAssessment_assessmentReportsDestination = Lens.lens (\UpdateAssessment' {assessmentReportsDestination} -> assessmentReportsDestination) (\s@UpdateAssessment' {} a -> s {assessmentReportsDestination = a} :: UpdateAssessment)++-- | The list of roles for the assessment.+updateAssessment_roles :: Lens.Lens' UpdateAssessment (Prelude.Maybe [Role])+updateAssessment_roles = Lens.lens (\UpdateAssessment' {roles} -> roles) (\s@UpdateAssessment' {} a -> s {roles = a} :: UpdateAssessment) Prelude.. Lens.mapping Lens.coerced++-- | The unique identifier for the assessment.+updateAssessment_assessmentId :: Lens.Lens' UpdateAssessment Prelude.Text+updateAssessment_assessmentId = Lens.lens (\UpdateAssessment' {assessmentId} -> assessmentId) (\s@UpdateAssessment' {} a -> s {assessmentId = a} :: UpdateAssessment)++-- | The scope of the assessment.+updateAssessment_scope :: Lens.Lens' UpdateAssessment Scope+updateAssessment_scope = Lens.lens (\UpdateAssessment' {scope} -> scope) (\s@UpdateAssessment' {} a -> s {scope = a} :: UpdateAssessment)++instance Core.AWSRequest UpdateAssessment where+ type+ AWSResponse UpdateAssessment =+ UpdateAssessmentResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAssessmentResponse'+ Prelude.<$> (x Data..?> "assessment")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateAssessment where+ hashWithSalt _salt UpdateAssessment' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentDescription+ `Prelude.hashWithSalt` assessmentName+ `Prelude.hashWithSalt` assessmentReportsDestination+ `Prelude.hashWithSalt` roles+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` scope++instance Prelude.NFData UpdateAssessment where+ rnf UpdateAssessment' {..} =+ Prelude.rnf assessmentDescription+ `Prelude.seq` Prelude.rnf assessmentName+ `Prelude.seq` Prelude.rnf assessmentReportsDestination+ `Prelude.seq` Prelude.rnf roles+ `Prelude.seq` Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf scope++instance Data.ToHeaders UpdateAssessment where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAssessment where+ toJSON UpdateAssessment' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("assessmentDescription" Data..=)+ Prelude.<$> assessmentDescription,+ ("assessmentName" Data..=)+ Prelude.<$> assessmentName,+ ("assessmentReportsDestination" Data..=)+ Prelude.<$> assessmentReportsDestination,+ ("roles" Data..=) Prelude.<$> roles,+ Prelude.Just ("scope" Data..= scope)+ ]+ )++instance Data.ToPath UpdateAssessment where+ toPath UpdateAssessment' {..} =+ Prelude.mconcat+ ["/assessments/", Data.toBS assessmentId]++instance Data.ToQuery UpdateAssessment where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAssessmentResponse' smart constructor.+data UpdateAssessmentResponse = UpdateAssessmentResponse'+ { -- | The response object for the @UpdateAssessment@ API. This is the name of+ -- the updated assessment.+ assessment :: Prelude.Maybe Assessment,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssessmentResponse' 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:+--+-- 'assessment', 'updateAssessmentResponse_assessment' - The response object for the @UpdateAssessment@ API. This is the name of+-- the updated assessment.+--+-- 'httpStatus', 'updateAssessmentResponse_httpStatus' - The response's http status code.+newUpdateAssessmentResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAssessmentResponse+newUpdateAssessmentResponse pHttpStatus_ =+ UpdateAssessmentResponse'+ { assessment =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The response object for the @UpdateAssessment@ API. This is the name of+-- the updated assessment.+updateAssessmentResponse_assessment :: Lens.Lens' UpdateAssessmentResponse (Prelude.Maybe Assessment)+updateAssessmentResponse_assessment = Lens.lens (\UpdateAssessmentResponse' {assessment} -> assessment) (\s@UpdateAssessmentResponse' {} a -> s {assessment = a} :: UpdateAssessmentResponse)++-- | The response's http status code.+updateAssessmentResponse_httpStatus :: Lens.Lens' UpdateAssessmentResponse Prelude.Int+updateAssessmentResponse_httpStatus = Lens.lens (\UpdateAssessmentResponse' {httpStatus} -> httpStatus) (\s@UpdateAssessmentResponse' {} a -> s {httpStatus = a} :: UpdateAssessmentResponse)++instance Prelude.NFData UpdateAssessmentResponse where+ rnf UpdateAssessmentResponse' {..} =+ Prelude.rnf assessment+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/UpdateAssessmentControl.hs view
@@ -0,0 +1,240 @@+{-# 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.AuditManager.UpdateAssessmentControl+-- 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 a control within an assessment in Audit Manager.+module Amazonka.AuditManager.UpdateAssessmentControl+ ( -- * Creating a Request+ UpdateAssessmentControl (..),+ newUpdateAssessmentControl,++ -- * Request Lenses+ updateAssessmentControl_commentBody,+ updateAssessmentControl_controlStatus,+ updateAssessmentControl_assessmentId,+ updateAssessmentControl_controlSetId,+ updateAssessmentControl_controlId,++ -- * Destructuring the Response+ UpdateAssessmentControlResponse (..),+ newUpdateAssessmentControlResponse,++ -- * Response Lenses+ updateAssessmentControlResponse_control,+ updateAssessmentControlResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newUpdateAssessmentControl' smart constructor.+data UpdateAssessmentControl = UpdateAssessmentControl'+ { -- | The comment body text for the control.+ commentBody :: Prelude.Maybe Prelude.Text,+ -- | The status of the control.+ controlStatus :: Prelude.Maybe ControlStatus,+ -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The unique identifier for the control set.+ controlSetId :: Prelude.Text,+ -- | The unique identifier for the control.+ controlId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssessmentControl' 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:+--+-- 'commentBody', 'updateAssessmentControl_commentBody' - The comment body text for the control.+--+-- 'controlStatus', 'updateAssessmentControl_controlStatus' - The status of the control.+--+-- 'assessmentId', 'updateAssessmentControl_assessmentId' - The unique identifier for the assessment.+--+-- 'controlSetId', 'updateAssessmentControl_controlSetId' - The unique identifier for the control set.+--+-- 'controlId', 'updateAssessmentControl_controlId' - The unique identifier for the control.+newUpdateAssessmentControl ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'controlSetId'+ Prelude.Text ->+ -- | 'controlId'+ Prelude.Text ->+ UpdateAssessmentControl+newUpdateAssessmentControl+ pAssessmentId_+ pControlSetId_+ pControlId_ =+ UpdateAssessmentControl'+ { commentBody =+ Prelude.Nothing,+ controlStatus = Prelude.Nothing,+ assessmentId = pAssessmentId_,+ controlSetId = pControlSetId_,+ controlId = pControlId_+ }++-- | The comment body text for the control.+updateAssessmentControl_commentBody :: Lens.Lens' UpdateAssessmentControl (Prelude.Maybe Prelude.Text)+updateAssessmentControl_commentBody = Lens.lens (\UpdateAssessmentControl' {commentBody} -> commentBody) (\s@UpdateAssessmentControl' {} a -> s {commentBody = a} :: UpdateAssessmentControl)++-- | The status of the control.+updateAssessmentControl_controlStatus :: Lens.Lens' UpdateAssessmentControl (Prelude.Maybe ControlStatus)+updateAssessmentControl_controlStatus = Lens.lens (\UpdateAssessmentControl' {controlStatus} -> controlStatus) (\s@UpdateAssessmentControl' {} a -> s {controlStatus = a} :: UpdateAssessmentControl)++-- | The unique identifier for the assessment.+updateAssessmentControl_assessmentId :: Lens.Lens' UpdateAssessmentControl Prelude.Text+updateAssessmentControl_assessmentId = Lens.lens (\UpdateAssessmentControl' {assessmentId} -> assessmentId) (\s@UpdateAssessmentControl' {} a -> s {assessmentId = a} :: UpdateAssessmentControl)++-- | The unique identifier for the control set.+updateAssessmentControl_controlSetId :: Lens.Lens' UpdateAssessmentControl Prelude.Text+updateAssessmentControl_controlSetId = Lens.lens (\UpdateAssessmentControl' {controlSetId} -> controlSetId) (\s@UpdateAssessmentControl' {} a -> s {controlSetId = a} :: UpdateAssessmentControl)++-- | The unique identifier for the control.+updateAssessmentControl_controlId :: Lens.Lens' UpdateAssessmentControl Prelude.Text+updateAssessmentControl_controlId = Lens.lens (\UpdateAssessmentControl' {controlId} -> controlId) (\s@UpdateAssessmentControl' {} a -> s {controlId = a} :: UpdateAssessmentControl)++instance Core.AWSRequest UpdateAssessmentControl where+ type+ AWSResponse UpdateAssessmentControl =+ UpdateAssessmentControlResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAssessmentControlResponse'+ Prelude.<$> (x Data..?> "control")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateAssessmentControl where+ hashWithSalt _salt UpdateAssessmentControl' {..} =+ _salt+ `Prelude.hashWithSalt` commentBody+ `Prelude.hashWithSalt` controlStatus+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` controlSetId+ `Prelude.hashWithSalt` controlId++instance Prelude.NFData UpdateAssessmentControl where+ rnf UpdateAssessmentControl' {..} =+ Prelude.rnf commentBody+ `Prelude.seq` Prelude.rnf controlStatus+ `Prelude.seq` Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf controlSetId+ `Prelude.seq` Prelude.rnf controlId++instance Data.ToHeaders UpdateAssessmentControl where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAssessmentControl where+ toJSON UpdateAssessmentControl' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("commentBody" Data..=) Prelude.<$> commentBody,+ ("controlStatus" Data..=) Prelude.<$> controlStatus+ ]+ )++instance Data.ToPath UpdateAssessmentControl where+ toPath UpdateAssessmentControl' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/controlSets/",+ Data.toBS controlSetId,+ "/controls/",+ Data.toBS controlId+ ]++instance Data.ToQuery UpdateAssessmentControl where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAssessmentControlResponse' smart constructor.+data UpdateAssessmentControlResponse = UpdateAssessmentControlResponse'+ { -- | The name of the updated control set that the @UpdateAssessmentControl@+ -- API returned.+ control :: Prelude.Maybe AssessmentControl,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssessmentControlResponse' 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:+--+-- 'control', 'updateAssessmentControlResponse_control' - The name of the updated control set that the @UpdateAssessmentControl@+-- API returned.+--+-- 'httpStatus', 'updateAssessmentControlResponse_httpStatus' - The response's http status code.+newUpdateAssessmentControlResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAssessmentControlResponse+newUpdateAssessmentControlResponse pHttpStatus_ =+ UpdateAssessmentControlResponse'+ { control =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The name of the updated control set that the @UpdateAssessmentControl@+-- API returned.+updateAssessmentControlResponse_control :: Lens.Lens' UpdateAssessmentControlResponse (Prelude.Maybe AssessmentControl)+updateAssessmentControlResponse_control = Lens.lens (\UpdateAssessmentControlResponse' {control} -> control) (\s@UpdateAssessmentControlResponse' {} a -> s {control = a} :: UpdateAssessmentControlResponse)++-- | The response's http status code.+updateAssessmentControlResponse_httpStatus :: Lens.Lens' UpdateAssessmentControlResponse Prelude.Int+updateAssessmentControlResponse_httpStatus = Lens.lens (\UpdateAssessmentControlResponse' {httpStatus} -> httpStatus) (\s@UpdateAssessmentControlResponse' {} a -> s {httpStatus = a} :: UpdateAssessmentControlResponse)++instance+ Prelude.NFData+ UpdateAssessmentControlResponse+ where+ rnf UpdateAssessmentControlResponse' {..} =+ Prelude.rnf control+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/UpdateAssessmentControlSetStatus.hs view
@@ -0,0 +1,248 @@+{-# 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.AuditManager.UpdateAssessmentControlSetStatus+-- 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 status of a control set in an Audit Manager assessment.+module Amazonka.AuditManager.UpdateAssessmentControlSetStatus+ ( -- * Creating a Request+ UpdateAssessmentControlSetStatus (..),+ newUpdateAssessmentControlSetStatus,++ -- * Request Lenses+ updateAssessmentControlSetStatus_assessmentId,+ updateAssessmentControlSetStatus_controlSetId,+ updateAssessmentControlSetStatus_status,+ updateAssessmentControlSetStatus_comment,++ -- * Destructuring the Response+ UpdateAssessmentControlSetStatusResponse (..),+ newUpdateAssessmentControlSetStatusResponse,++ -- * Response Lenses+ updateAssessmentControlSetStatusResponse_controlSet,+ updateAssessmentControlSetStatusResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newUpdateAssessmentControlSetStatus' smart constructor.+data UpdateAssessmentControlSetStatus = UpdateAssessmentControlSetStatus'+ { -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The unique identifier for the control set.+ controlSetId :: Prelude.Text,+ -- | The status of the control set that\'s being updated.+ status :: ControlSetStatus,+ -- | The comment that\'s related to the status update.+ comment :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssessmentControlSetStatus' 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:+--+-- 'assessmentId', 'updateAssessmentControlSetStatus_assessmentId' - The unique identifier for the assessment.+--+-- 'controlSetId', 'updateAssessmentControlSetStatus_controlSetId' - The unique identifier for the control set.+--+-- 'status', 'updateAssessmentControlSetStatus_status' - The status of the control set that\'s being updated.+--+-- 'comment', 'updateAssessmentControlSetStatus_comment' - The comment that\'s related to the status update.+newUpdateAssessmentControlSetStatus ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'controlSetId'+ Prelude.Text ->+ -- | 'status'+ ControlSetStatus ->+ -- | 'comment'+ Prelude.Text ->+ UpdateAssessmentControlSetStatus+newUpdateAssessmentControlSetStatus+ pAssessmentId_+ pControlSetId_+ pStatus_+ pComment_ =+ UpdateAssessmentControlSetStatus'+ { assessmentId =+ pAssessmentId_,+ controlSetId = pControlSetId_,+ status = pStatus_,+ comment = pComment_+ }++-- | The unique identifier for the assessment.+updateAssessmentControlSetStatus_assessmentId :: Lens.Lens' UpdateAssessmentControlSetStatus Prelude.Text+updateAssessmentControlSetStatus_assessmentId = Lens.lens (\UpdateAssessmentControlSetStatus' {assessmentId} -> assessmentId) (\s@UpdateAssessmentControlSetStatus' {} a -> s {assessmentId = a} :: UpdateAssessmentControlSetStatus)++-- | The unique identifier for the control set.+updateAssessmentControlSetStatus_controlSetId :: Lens.Lens' UpdateAssessmentControlSetStatus Prelude.Text+updateAssessmentControlSetStatus_controlSetId = Lens.lens (\UpdateAssessmentControlSetStatus' {controlSetId} -> controlSetId) (\s@UpdateAssessmentControlSetStatus' {} a -> s {controlSetId = a} :: UpdateAssessmentControlSetStatus)++-- | The status of the control set that\'s being updated.+updateAssessmentControlSetStatus_status :: Lens.Lens' UpdateAssessmentControlSetStatus ControlSetStatus+updateAssessmentControlSetStatus_status = Lens.lens (\UpdateAssessmentControlSetStatus' {status} -> status) (\s@UpdateAssessmentControlSetStatus' {} a -> s {status = a} :: UpdateAssessmentControlSetStatus)++-- | The comment that\'s related to the status update.+updateAssessmentControlSetStatus_comment :: Lens.Lens' UpdateAssessmentControlSetStatus Prelude.Text+updateAssessmentControlSetStatus_comment = Lens.lens (\UpdateAssessmentControlSetStatus' {comment} -> comment) (\s@UpdateAssessmentControlSetStatus' {} a -> s {comment = a} :: UpdateAssessmentControlSetStatus)++instance+ Core.AWSRequest+ UpdateAssessmentControlSetStatus+ where+ type+ AWSResponse UpdateAssessmentControlSetStatus =+ UpdateAssessmentControlSetStatusResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAssessmentControlSetStatusResponse'+ Prelude.<$> (x Data..?> "controlSet")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ UpdateAssessmentControlSetStatus+ where+ hashWithSalt+ _salt+ UpdateAssessmentControlSetStatus' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` controlSetId+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` comment++instance+ Prelude.NFData+ UpdateAssessmentControlSetStatus+ where+ rnf UpdateAssessmentControlSetStatus' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf controlSetId+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf comment++instance+ Data.ToHeaders+ UpdateAssessmentControlSetStatus+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAssessmentControlSetStatus where+ toJSON UpdateAssessmentControlSetStatus' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("status" Data..= status),+ Prelude.Just ("comment" Data..= comment)+ ]+ )++instance Data.ToPath UpdateAssessmentControlSetStatus where+ toPath UpdateAssessmentControlSetStatus' {..} =+ Prelude.mconcat+ [ "/assessments/",+ Data.toBS assessmentId,+ "/controlSets/",+ Data.toBS controlSetId,+ "/status"+ ]++instance+ Data.ToQuery+ UpdateAssessmentControlSetStatus+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAssessmentControlSetStatusResponse' smart constructor.+data UpdateAssessmentControlSetStatusResponse = UpdateAssessmentControlSetStatusResponse'+ { -- | The name of the updated control set that the+ -- @UpdateAssessmentControlSetStatus@ API returned.+ controlSet :: Prelude.Maybe AssessmentControlSet,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssessmentControlSetStatusResponse' 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:+--+-- 'controlSet', 'updateAssessmentControlSetStatusResponse_controlSet' - The name of the updated control set that the+-- @UpdateAssessmentControlSetStatus@ API returned.+--+-- 'httpStatus', 'updateAssessmentControlSetStatusResponse_httpStatus' - The response's http status code.+newUpdateAssessmentControlSetStatusResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAssessmentControlSetStatusResponse+newUpdateAssessmentControlSetStatusResponse+ pHttpStatus_ =+ UpdateAssessmentControlSetStatusResponse'+ { controlSet =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The name of the updated control set that the+-- @UpdateAssessmentControlSetStatus@ API returned.+updateAssessmentControlSetStatusResponse_controlSet :: Lens.Lens' UpdateAssessmentControlSetStatusResponse (Prelude.Maybe AssessmentControlSet)+updateAssessmentControlSetStatusResponse_controlSet = Lens.lens (\UpdateAssessmentControlSetStatusResponse' {controlSet} -> controlSet) (\s@UpdateAssessmentControlSetStatusResponse' {} a -> s {controlSet = a} :: UpdateAssessmentControlSetStatusResponse)++-- | The response's http status code.+updateAssessmentControlSetStatusResponse_httpStatus :: Lens.Lens' UpdateAssessmentControlSetStatusResponse Prelude.Int+updateAssessmentControlSetStatusResponse_httpStatus = Lens.lens (\UpdateAssessmentControlSetStatusResponse' {httpStatus} -> httpStatus) (\s@UpdateAssessmentControlSetStatusResponse' {} a -> s {httpStatus = a} :: UpdateAssessmentControlSetStatusResponse)++instance+ Prelude.NFData+ UpdateAssessmentControlSetStatusResponse+ where+ rnf UpdateAssessmentControlSetStatusResponse' {..} =+ Prelude.rnf controlSet+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/UpdateAssessmentFramework.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.AuditManager.UpdateAssessmentFramework+-- 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 a custom framework in Audit Manager.+module Amazonka.AuditManager.UpdateAssessmentFramework+ ( -- * Creating a Request+ UpdateAssessmentFramework (..),+ newUpdateAssessmentFramework,++ -- * Request Lenses+ updateAssessmentFramework_complianceType,+ updateAssessmentFramework_description,+ updateAssessmentFramework_frameworkId,+ updateAssessmentFramework_name,+ updateAssessmentFramework_controlSets,++ -- * Destructuring the Response+ UpdateAssessmentFrameworkResponse (..),+ newUpdateAssessmentFrameworkResponse,++ -- * Response Lenses+ updateAssessmentFrameworkResponse_framework,+ updateAssessmentFrameworkResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newUpdateAssessmentFramework' smart constructor.+data UpdateAssessmentFramework = UpdateAssessmentFramework'+ { -- | The compliance type that the new custom framework supports, such as CIS+ -- or HIPAA.+ complianceType :: Prelude.Maybe Prelude.Text,+ -- | The description of the updated framework.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the framework.+ frameworkId :: Prelude.Text,+ -- | The name of the framework to be updated.+ name :: Prelude.Text,+ -- | The control sets that are associated with the framework.+ controlSets :: Prelude.NonEmpty UpdateAssessmentFrameworkControlSet+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssessmentFramework' 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:+--+-- 'complianceType', 'updateAssessmentFramework_complianceType' - The compliance type that the new custom framework supports, such as CIS+-- or HIPAA.+--+-- 'description', 'updateAssessmentFramework_description' - The description of the updated framework.+--+-- 'frameworkId', 'updateAssessmentFramework_frameworkId' - The unique identifier for the framework.+--+-- 'name', 'updateAssessmentFramework_name' - The name of the framework to be updated.+--+-- 'controlSets', 'updateAssessmentFramework_controlSets' - The control sets that are associated with the framework.+newUpdateAssessmentFramework ::+ -- | 'frameworkId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'controlSets'+ Prelude.NonEmpty UpdateAssessmentFrameworkControlSet ->+ UpdateAssessmentFramework+newUpdateAssessmentFramework+ pFrameworkId_+ pName_+ pControlSets_ =+ UpdateAssessmentFramework'+ { complianceType =+ Prelude.Nothing,+ description = Prelude.Nothing,+ frameworkId = pFrameworkId_,+ name = pName_,+ controlSets = Lens.coerced Lens.# pControlSets_+ }++-- | The compliance type that the new custom framework supports, such as CIS+-- or HIPAA.+updateAssessmentFramework_complianceType :: Lens.Lens' UpdateAssessmentFramework (Prelude.Maybe Prelude.Text)+updateAssessmentFramework_complianceType = Lens.lens (\UpdateAssessmentFramework' {complianceType} -> complianceType) (\s@UpdateAssessmentFramework' {} a -> s {complianceType = a} :: UpdateAssessmentFramework)++-- | The description of the updated framework.+updateAssessmentFramework_description :: Lens.Lens' UpdateAssessmentFramework (Prelude.Maybe Prelude.Text)+updateAssessmentFramework_description = Lens.lens (\UpdateAssessmentFramework' {description} -> description) (\s@UpdateAssessmentFramework' {} a -> s {description = a} :: UpdateAssessmentFramework)++-- | The unique identifier for the framework.+updateAssessmentFramework_frameworkId :: Lens.Lens' UpdateAssessmentFramework Prelude.Text+updateAssessmentFramework_frameworkId = Lens.lens (\UpdateAssessmentFramework' {frameworkId} -> frameworkId) (\s@UpdateAssessmentFramework' {} a -> s {frameworkId = a} :: UpdateAssessmentFramework)++-- | The name of the framework to be updated.+updateAssessmentFramework_name :: Lens.Lens' UpdateAssessmentFramework Prelude.Text+updateAssessmentFramework_name = Lens.lens (\UpdateAssessmentFramework' {name} -> name) (\s@UpdateAssessmentFramework' {} a -> s {name = a} :: UpdateAssessmentFramework)++-- | The control sets that are associated with the framework.+updateAssessmentFramework_controlSets :: Lens.Lens' UpdateAssessmentFramework (Prelude.NonEmpty UpdateAssessmentFrameworkControlSet)+updateAssessmentFramework_controlSets = Lens.lens (\UpdateAssessmentFramework' {controlSets} -> controlSets) (\s@UpdateAssessmentFramework' {} a -> s {controlSets = a} :: UpdateAssessmentFramework) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateAssessmentFramework where+ type+ AWSResponse UpdateAssessmentFramework =+ UpdateAssessmentFrameworkResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAssessmentFrameworkResponse'+ Prelude.<$> (x Data..?> "framework")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateAssessmentFramework where+ hashWithSalt _salt UpdateAssessmentFramework' {..} =+ _salt+ `Prelude.hashWithSalt` complianceType+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` frameworkId+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` controlSets++instance Prelude.NFData UpdateAssessmentFramework where+ rnf UpdateAssessmentFramework' {..} =+ Prelude.rnf complianceType+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf frameworkId+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf controlSets++instance Data.ToHeaders UpdateAssessmentFramework where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAssessmentFramework where+ toJSON UpdateAssessmentFramework' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("complianceType" Data..=)+ Prelude.<$> complianceType,+ ("description" Data..=) Prelude.<$> description,+ Prelude.Just ("name" Data..= name),+ Prelude.Just ("controlSets" Data..= controlSets)+ ]+ )++instance Data.ToPath UpdateAssessmentFramework where+ toPath UpdateAssessmentFramework' {..} =+ Prelude.mconcat+ ["/assessmentFrameworks/", Data.toBS frameworkId]++instance Data.ToQuery UpdateAssessmentFramework where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAssessmentFrameworkResponse' smart constructor.+data UpdateAssessmentFrameworkResponse = UpdateAssessmentFrameworkResponse'+ { -- | The name of the framework.+ framework :: Prelude.Maybe Framework,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssessmentFrameworkResponse' 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:+--+-- 'framework', 'updateAssessmentFrameworkResponse_framework' - The name of the framework.+--+-- 'httpStatus', 'updateAssessmentFrameworkResponse_httpStatus' - The response's http status code.+newUpdateAssessmentFrameworkResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAssessmentFrameworkResponse+newUpdateAssessmentFrameworkResponse pHttpStatus_ =+ UpdateAssessmentFrameworkResponse'+ { framework =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The name of the framework.+updateAssessmentFrameworkResponse_framework :: Lens.Lens' UpdateAssessmentFrameworkResponse (Prelude.Maybe Framework)+updateAssessmentFrameworkResponse_framework = Lens.lens (\UpdateAssessmentFrameworkResponse' {framework} -> framework) (\s@UpdateAssessmentFrameworkResponse' {} a -> s {framework = a} :: UpdateAssessmentFrameworkResponse)++-- | The response's http status code.+updateAssessmentFrameworkResponse_httpStatus :: Lens.Lens' UpdateAssessmentFrameworkResponse Prelude.Int+updateAssessmentFrameworkResponse_httpStatus = Lens.lens (\UpdateAssessmentFrameworkResponse' {httpStatus} -> httpStatus) (\s@UpdateAssessmentFrameworkResponse' {} a -> s {httpStatus = a} :: UpdateAssessmentFrameworkResponse)++instance+ Prelude.NFData+ UpdateAssessmentFrameworkResponse+ where+ rnf UpdateAssessmentFrameworkResponse' {..} =+ Prelude.rnf framework+ `Prelude.seq` Prelude.rnf httpStatus
@@ -0,0 +1,230 @@+{-# 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.AuditManager.UpdateAssessmentFrameworkShare+-- 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 a share request for a custom framework in Audit Manager.+module Amazonka.AuditManager.UpdateAssessmentFrameworkShare+ ( -- * Creating a Request+ UpdateAssessmentFrameworkShare (..),+ newUpdateAssessmentFrameworkShare,++ -- * Request Lenses+ updateAssessmentFrameworkShare_requestId,+ updateAssessmentFrameworkShare_requestType,+ updateAssessmentFrameworkShare_action,++ -- * Destructuring the Response+ UpdateAssessmentFrameworkShareResponse (..),+ newUpdateAssessmentFrameworkShareResponse,++ -- * Response Lenses+ updateAssessmentFrameworkShareResponse_assessmentFrameworkShareRequest,+ updateAssessmentFrameworkShareResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newUpdateAssessmentFrameworkShare' smart constructor.+data UpdateAssessmentFrameworkShare = UpdateAssessmentFrameworkShare'+ { -- | The unique identifier for the share request.+ requestId :: Prelude.Text,+ -- | Specifies whether the share request is a sent request or a received+ -- request.+ requestType :: ShareRequestType,+ -- | Specifies the update action for the share request.+ action :: ShareRequestAction+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssessmentFrameworkShare' 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:+--+-- 'requestId', 'updateAssessmentFrameworkShare_requestId' - The unique identifier for the share request.+--+-- 'requestType', 'updateAssessmentFrameworkShare_requestType' - Specifies whether the share request is a sent request or a received+-- request.+--+-- 'action', 'updateAssessmentFrameworkShare_action' - Specifies the update action for the share request.+newUpdateAssessmentFrameworkShare ::+ -- | 'requestId'+ Prelude.Text ->+ -- | 'requestType'+ ShareRequestType ->+ -- | 'action'+ ShareRequestAction ->+ UpdateAssessmentFrameworkShare+newUpdateAssessmentFrameworkShare+ pRequestId_+ pRequestType_+ pAction_ =+ UpdateAssessmentFrameworkShare'+ { requestId =+ pRequestId_,+ requestType = pRequestType_,+ action = pAction_+ }++-- | The unique identifier for the share request.+updateAssessmentFrameworkShare_requestId :: Lens.Lens' UpdateAssessmentFrameworkShare Prelude.Text+updateAssessmentFrameworkShare_requestId = Lens.lens (\UpdateAssessmentFrameworkShare' {requestId} -> requestId) (\s@UpdateAssessmentFrameworkShare' {} a -> s {requestId = a} :: UpdateAssessmentFrameworkShare)++-- | Specifies whether the share request is a sent request or a received+-- request.+updateAssessmentFrameworkShare_requestType :: Lens.Lens' UpdateAssessmentFrameworkShare ShareRequestType+updateAssessmentFrameworkShare_requestType = Lens.lens (\UpdateAssessmentFrameworkShare' {requestType} -> requestType) (\s@UpdateAssessmentFrameworkShare' {} a -> s {requestType = a} :: UpdateAssessmentFrameworkShare)++-- | Specifies the update action for the share request.+updateAssessmentFrameworkShare_action :: Lens.Lens' UpdateAssessmentFrameworkShare ShareRequestAction+updateAssessmentFrameworkShare_action = Lens.lens (\UpdateAssessmentFrameworkShare' {action} -> action) (\s@UpdateAssessmentFrameworkShare' {} a -> s {action = a} :: UpdateAssessmentFrameworkShare)++instance+ Core.AWSRequest+ UpdateAssessmentFrameworkShare+ where+ type+ AWSResponse UpdateAssessmentFrameworkShare =+ UpdateAssessmentFrameworkShareResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAssessmentFrameworkShareResponse'+ Prelude.<$> (x Data..?> "assessmentFrameworkShareRequest")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ UpdateAssessmentFrameworkShare+ where+ hashWithSalt+ _salt+ UpdateAssessmentFrameworkShare' {..} =+ _salt+ `Prelude.hashWithSalt` requestId+ `Prelude.hashWithSalt` requestType+ `Prelude.hashWithSalt` action++instance+ Prelude.NFData+ UpdateAssessmentFrameworkShare+ where+ rnf UpdateAssessmentFrameworkShare' {..} =+ Prelude.rnf requestId+ `Prelude.seq` Prelude.rnf requestType+ `Prelude.seq` Prelude.rnf action++instance+ Data.ToHeaders+ UpdateAssessmentFrameworkShare+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAssessmentFrameworkShare where+ toJSON UpdateAssessmentFrameworkShare' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("requestType" Data..= requestType),+ Prelude.Just ("action" Data..= action)+ ]+ )++instance Data.ToPath UpdateAssessmentFrameworkShare where+ toPath UpdateAssessmentFrameworkShare' {..} =+ Prelude.mconcat+ [ "/assessmentFrameworkShareRequests/",+ Data.toBS requestId+ ]++instance Data.ToQuery UpdateAssessmentFrameworkShare where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAssessmentFrameworkShareResponse' smart constructor.+data UpdateAssessmentFrameworkShareResponse = UpdateAssessmentFrameworkShareResponse'+ { -- | The updated share request that\'s returned by the+ -- @UpdateAssessmentFrameworkShare@ operation.+ assessmentFrameworkShareRequest :: Prelude.Maybe AssessmentFrameworkShareRequest,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssessmentFrameworkShareResponse' 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:+--+-- 'assessmentFrameworkShareRequest', 'updateAssessmentFrameworkShareResponse_assessmentFrameworkShareRequest' - The updated share request that\'s returned by the+-- @UpdateAssessmentFrameworkShare@ operation.+--+-- 'httpStatus', 'updateAssessmentFrameworkShareResponse_httpStatus' - The response's http status code.+newUpdateAssessmentFrameworkShareResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAssessmentFrameworkShareResponse+newUpdateAssessmentFrameworkShareResponse+ pHttpStatus_ =+ UpdateAssessmentFrameworkShareResponse'+ { assessmentFrameworkShareRequest =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The updated share request that\'s returned by the+-- @UpdateAssessmentFrameworkShare@ operation.+updateAssessmentFrameworkShareResponse_assessmentFrameworkShareRequest :: Lens.Lens' UpdateAssessmentFrameworkShareResponse (Prelude.Maybe AssessmentFrameworkShareRequest)+updateAssessmentFrameworkShareResponse_assessmentFrameworkShareRequest = Lens.lens (\UpdateAssessmentFrameworkShareResponse' {assessmentFrameworkShareRequest} -> assessmentFrameworkShareRequest) (\s@UpdateAssessmentFrameworkShareResponse' {} a -> s {assessmentFrameworkShareRequest = a} :: UpdateAssessmentFrameworkShareResponse)++-- | The response's http status code.+updateAssessmentFrameworkShareResponse_httpStatus :: Lens.Lens' UpdateAssessmentFrameworkShareResponse Prelude.Int+updateAssessmentFrameworkShareResponse_httpStatus = Lens.lens (\UpdateAssessmentFrameworkShareResponse' {httpStatus} -> httpStatus) (\s@UpdateAssessmentFrameworkShareResponse' {} a -> s {httpStatus = a} :: UpdateAssessmentFrameworkShareResponse)++instance+ Prelude.NFData+ UpdateAssessmentFrameworkShareResponse+ where+ rnf UpdateAssessmentFrameworkShareResponse' {..} =+ Prelude.rnf assessmentFrameworkShareRequest+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/UpdateAssessmentStatus.hs view
@@ -0,0 +1,191 @@+{-# 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.AuditManager.UpdateAssessmentStatus+-- 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 status of an assessment in Audit Manager.+module Amazonka.AuditManager.UpdateAssessmentStatus+ ( -- * Creating a Request+ UpdateAssessmentStatus (..),+ newUpdateAssessmentStatus,++ -- * Request Lenses+ updateAssessmentStatus_assessmentId,+ updateAssessmentStatus_status,++ -- * Destructuring the Response+ UpdateAssessmentStatusResponse (..),+ newUpdateAssessmentStatusResponse,++ -- * Response Lenses+ updateAssessmentStatusResponse_assessment,+ updateAssessmentStatusResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newUpdateAssessmentStatus' smart constructor.+data UpdateAssessmentStatus = UpdateAssessmentStatus'+ { -- | The unique identifier for the assessment.+ assessmentId :: Prelude.Text,+ -- | The current status of the assessment.+ status :: AssessmentStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssessmentStatus' 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:+--+-- 'assessmentId', 'updateAssessmentStatus_assessmentId' - The unique identifier for the assessment.+--+-- 'status', 'updateAssessmentStatus_status' - The current status of the assessment.+newUpdateAssessmentStatus ::+ -- | 'assessmentId'+ Prelude.Text ->+ -- | 'status'+ AssessmentStatus ->+ UpdateAssessmentStatus+newUpdateAssessmentStatus pAssessmentId_ pStatus_ =+ UpdateAssessmentStatus'+ { assessmentId =+ pAssessmentId_,+ status = pStatus_+ }++-- | The unique identifier for the assessment.+updateAssessmentStatus_assessmentId :: Lens.Lens' UpdateAssessmentStatus Prelude.Text+updateAssessmentStatus_assessmentId = Lens.lens (\UpdateAssessmentStatus' {assessmentId} -> assessmentId) (\s@UpdateAssessmentStatus' {} a -> s {assessmentId = a} :: UpdateAssessmentStatus)++-- | The current status of the assessment.+updateAssessmentStatus_status :: Lens.Lens' UpdateAssessmentStatus AssessmentStatus+updateAssessmentStatus_status = Lens.lens (\UpdateAssessmentStatus' {status} -> status) (\s@UpdateAssessmentStatus' {} a -> s {status = a} :: UpdateAssessmentStatus)++instance Core.AWSRequest UpdateAssessmentStatus where+ type+ AWSResponse UpdateAssessmentStatus =+ UpdateAssessmentStatusResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAssessmentStatusResponse'+ Prelude.<$> (x Data..?> "assessment")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateAssessmentStatus where+ hashWithSalt _salt UpdateAssessmentStatus' {..} =+ _salt+ `Prelude.hashWithSalt` assessmentId+ `Prelude.hashWithSalt` status++instance Prelude.NFData UpdateAssessmentStatus where+ rnf UpdateAssessmentStatus' {..} =+ Prelude.rnf assessmentId+ `Prelude.seq` Prelude.rnf status++instance Data.ToHeaders UpdateAssessmentStatus where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAssessmentStatus where+ toJSON UpdateAssessmentStatus' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("status" Data..= status)]+ )++instance Data.ToPath UpdateAssessmentStatus where+ toPath UpdateAssessmentStatus' {..} =+ Prelude.mconcat+ ["/assessments/", Data.toBS assessmentId, "/status"]++instance Data.ToQuery UpdateAssessmentStatus where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAssessmentStatusResponse' smart constructor.+data UpdateAssessmentStatusResponse = UpdateAssessmentStatusResponse'+ { -- | The name of the updated assessment that the @UpdateAssessmentStatus@ API+ -- returned.+ assessment :: Prelude.Maybe Assessment,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAssessmentStatusResponse' 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:+--+-- 'assessment', 'updateAssessmentStatusResponse_assessment' - The name of the updated assessment that the @UpdateAssessmentStatus@ API+-- returned.+--+-- 'httpStatus', 'updateAssessmentStatusResponse_httpStatus' - The response's http status code.+newUpdateAssessmentStatusResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAssessmentStatusResponse+newUpdateAssessmentStatusResponse pHttpStatus_ =+ UpdateAssessmentStatusResponse'+ { assessment =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The name of the updated assessment that the @UpdateAssessmentStatus@ API+-- returned.+updateAssessmentStatusResponse_assessment :: Lens.Lens' UpdateAssessmentStatusResponse (Prelude.Maybe Assessment)+updateAssessmentStatusResponse_assessment = Lens.lens (\UpdateAssessmentStatusResponse' {assessment} -> assessment) (\s@UpdateAssessmentStatusResponse' {} a -> s {assessment = a} :: UpdateAssessmentStatusResponse)++-- | The response's http status code.+updateAssessmentStatusResponse_httpStatus :: Lens.Lens' UpdateAssessmentStatusResponse Prelude.Int+updateAssessmentStatusResponse_httpStatus = Lens.lens (\UpdateAssessmentStatusResponse' {httpStatus} -> httpStatus) (\s@UpdateAssessmentStatusResponse' {} a -> s {httpStatus = a} :: UpdateAssessmentStatusResponse)++instance+ Prelude.NFData+ UpdateAssessmentStatusResponse+ where+ rnf UpdateAssessmentStatusResponse' {..} =+ Prelude.rnf assessment+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/UpdateControl.hs view
@@ -0,0 +1,264 @@+{-# 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.AuditManager.UpdateControl+-- 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 a custom control in Audit Manager.+module Amazonka.AuditManager.UpdateControl+ ( -- * Creating a Request+ UpdateControl (..),+ newUpdateControl,++ -- * Request Lenses+ updateControl_actionPlanInstructions,+ updateControl_actionPlanTitle,+ updateControl_description,+ updateControl_testingInformation,+ updateControl_controlId,+ updateControl_name,+ updateControl_controlMappingSources,++ -- * Destructuring the Response+ UpdateControlResponse (..),+ newUpdateControlResponse,++ -- * Response Lenses+ updateControlResponse_control,+ updateControlResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newUpdateControl' smart constructor.+data UpdateControl = UpdateControl'+ { -- | The recommended actions to carry out if the control isn\'t fulfilled.+ actionPlanInstructions :: Prelude.Maybe Prelude.Text,+ -- | The title of the action plan for remediating the control.+ actionPlanTitle :: Prelude.Maybe Prelude.Text,+ -- | The optional description of the control.+ description :: Prelude.Maybe Prelude.Text,+ -- | The steps that you should follow to determine if the control is met.+ testingInformation :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the control.+ controlId :: Prelude.Text,+ -- | The name of the updated control.+ name :: Prelude.Text,+ -- | The data mapping sources for the control.+ controlMappingSources :: Prelude.NonEmpty ControlMappingSource+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateControl' 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:+--+-- 'actionPlanInstructions', 'updateControl_actionPlanInstructions' - The recommended actions to carry out if the control isn\'t fulfilled.+--+-- 'actionPlanTitle', 'updateControl_actionPlanTitle' - The title of the action plan for remediating the control.+--+-- 'description', 'updateControl_description' - The optional description of the control.+--+-- 'testingInformation', 'updateControl_testingInformation' - The steps that you should follow to determine if the control is met.+--+-- 'controlId', 'updateControl_controlId' - The identifier for the control.+--+-- 'name', 'updateControl_name' - The name of the updated control.+--+-- 'controlMappingSources', 'updateControl_controlMappingSources' - The data mapping sources for the control.+newUpdateControl ::+ -- | 'controlId'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ -- | 'controlMappingSources'+ Prelude.NonEmpty ControlMappingSource ->+ UpdateControl+newUpdateControl+ pControlId_+ pName_+ pControlMappingSources_ =+ UpdateControl'+ { actionPlanInstructions =+ Prelude.Nothing,+ actionPlanTitle = Prelude.Nothing,+ description = Prelude.Nothing,+ testingInformation = Prelude.Nothing,+ controlId = pControlId_,+ name = pName_,+ controlMappingSources =+ Lens.coerced Lens.# pControlMappingSources_+ }++-- | The recommended actions to carry out if the control isn\'t fulfilled.+updateControl_actionPlanInstructions :: Lens.Lens' UpdateControl (Prelude.Maybe Prelude.Text)+updateControl_actionPlanInstructions = Lens.lens (\UpdateControl' {actionPlanInstructions} -> actionPlanInstructions) (\s@UpdateControl' {} a -> s {actionPlanInstructions = a} :: UpdateControl)++-- | The title of the action plan for remediating the control.+updateControl_actionPlanTitle :: Lens.Lens' UpdateControl (Prelude.Maybe Prelude.Text)+updateControl_actionPlanTitle = Lens.lens (\UpdateControl' {actionPlanTitle} -> actionPlanTitle) (\s@UpdateControl' {} a -> s {actionPlanTitle = a} :: UpdateControl)++-- | The optional description of the control.+updateControl_description :: Lens.Lens' UpdateControl (Prelude.Maybe Prelude.Text)+updateControl_description = Lens.lens (\UpdateControl' {description} -> description) (\s@UpdateControl' {} a -> s {description = a} :: UpdateControl)++-- | The steps that you should follow to determine if the control is met.+updateControl_testingInformation :: Lens.Lens' UpdateControl (Prelude.Maybe Prelude.Text)+updateControl_testingInformation = Lens.lens (\UpdateControl' {testingInformation} -> testingInformation) (\s@UpdateControl' {} a -> s {testingInformation = a} :: UpdateControl)++-- | The identifier for the control.+updateControl_controlId :: Lens.Lens' UpdateControl Prelude.Text+updateControl_controlId = Lens.lens (\UpdateControl' {controlId} -> controlId) (\s@UpdateControl' {} a -> s {controlId = a} :: UpdateControl)++-- | The name of the updated control.+updateControl_name :: Lens.Lens' UpdateControl Prelude.Text+updateControl_name = Lens.lens (\UpdateControl' {name} -> name) (\s@UpdateControl' {} a -> s {name = a} :: UpdateControl)++-- | The data mapping sources for the control.+updateControl_controlMappingSources :: Lens.Lens' UpdateControl (Prelude.NonEmpty ControlMappingSource)+updateControl_controlMappingSources = Lens.lens (\UpdateControl' {controlMappingSources} -> controlMappingSources) (\s@UpdateControl' {} a -> s {controlMappingSources = a} :: UpdateControl) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateControl where+ type+ AWSResponse UpdateControl =+ UpdateControlResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateControlResponse'+ Prelude.<$> (x Data..?> "control")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateControl where+ hashWithSalt _salt UpdateControl' {..} =+ _salt+ `Prelude.hashWithSalt` actionPlanInstructions+ `Prelude.hashWithSalt` actionPlanTitle+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` testingInformation+ `Prelude.hashWithSalt` controlId+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` controlMappingSources++instance Prelude.NFData UpdateControl where+ rnf UpdateControl' {..} =+ Prelude.rnf actionPlanInstructions+ `Prelude.seq` Prelude.rnf actionPlanTitle+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf testingInformation+ `Prelude.seq` Prelude.rnf controlId+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf controlMappingSources++instance Data.ToHeaders UpdateControl where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateControl where+ toJSON UpdateControl' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("actionPlanInstructions" Data..=)+ Prelude.<$> actionPlanInstructions,+ ("actionPlanTitle" Data..=)+ Prelude.<$> actionPlanTitle,+ ("description" Data..=) Prelude.<$> description,+ ("testingInformation" Data..=)+ Prelude.<$> testingInformation,+ Prelude.Just ("name" Data..= name),+ Prelude.Just+ ( "controlMappingSources"+ Data..= controlMappingSources+ )+ ]+ )++instance Data.ToPath UpdateControl where+ toPath UpdateControl' {..} =+ Prelude.mconcat ["/controls/", Data.toBS controlId]++instance Data.ToQuery UpdateControl where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateControlResponse' smart constructor.+data UpdateControlResponse = UpdateControlResponse'+ { -- | The name of the updated control set that the @UpdateControl@ API+ -- returned.+ control :: Prelude.Maybe Control,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateControlResponse' 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:+--+-- 'control', 'updateControlResponse_control' - The name of the updated control set that the @UpdateControl@ API+-- returned.+--+-- 'httpStatus', 'updateControlResponse_httpStatus' - The response's http status code.+newUpdateControlResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateControlResponse+newUpdateControlResponse pHttpStatus_ =+ UpdateControlResponse'+ { control = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The name of the updated control set that the @UpdateControl@ API+-- returned.+updateControlResponse_control :: Lens.Lens' UpdateControlResponse (Prelude.Maybe Control)+updateControlResponse_control = Lens.lens (\UpdateControlResponse' {control} -> control) (\s@UpdateControlResponse' {} a -> s {control = a} :: UpdateControlResponse)++-- | The response's http status code.+updateControlResponse_httpStatus :: Lens.Lens' UpdateControlResponse Prelude.Int+updateControlResponse_httpStatus = Lens.lens (\UpdateControlResponse' {httpStatus} -> httpStatus) (\s@UpdateControlResponse' {} a -> s {httpStatus = a} :: UpdateControlResponse)++instance Prelude.NFData UpdateControlResponse where+ rnf UpdateControlResponse' {..} =+ Prelude.rnf control+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/UpdateSettings.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.AuditManager.UpdateSettings+-- 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 Audit Manager settings for the current user account.+module Amazonka.AuditManager.UpdateSettings+ ( -- * Creating a Request+ UpdateSettings (..),+ newUpdateSettings,++ -- * Request Lenses+ updateSettings_defaultAssessmentReportsDestination,+ updateSettings_defaultProcessOwners,+ updateSettings_deregistrationPolicy,+ updateSettings_evidenceFinderEnabled,+ updateSettings_kmsKey,+ updateSettings_snsTopic,++ -- * Destructuring the Response+ UpdateSettingsResponse (..),+ newUpdateSettingsResponse,++ -- * Response Lenses+ updateSettingsResponse_settings,+ updateSettingsResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newUpdateSettings' smart constructor.+data UpdateSettings = UpdateSettings'+ { -- | The default storage destination for assessment reports.+ defaultAssessmentReportsDestination :: Prelude.Maybe AssessmentReportsDestination,+ -- | A list of the default audit owners.+ defaultProcessOwners :: Prelude.Maybe [Role],+ -- | The deregistration policy for your Audit Manager data. You can use this+ -- attribute to determine how your data is handled when you deregister+ -- Audit Manager.+ deregistrationPolicy :: Prelude.Maybe DeregistrationPolicy,+ -- | Specifies whether the evidence finder feature is enabled. Change this+ -- attribute to enable or disable evidence finder.+ --+ -- When you use this attribute to disable evidence finder, Audit Manager+ -- deletes the event data store that’s used to query your evidence data. As+ -- a result, you can’t re-enable evidence finder and use the feature again.+ -- Your only alternative is to+ -- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeregisterAccount.html deregister>+ -- and then+ -- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_RegisterAccount.html re-register>+ -- Audit Manager.+ evidenceFinderEnabled :: Prelude.Maybe Prelude.Bool,+ -- | The KMS key details.+ kmsKey :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Simple Notification Service (Amazon SNS) topic that Audit+ -- Manager sends notifications to.+ snsTopic :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSettings' 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:+--+-- 'defaultAssessmentReportsDestination', 'updateSettings_defaultAssessmentReportsDestination' - The default storage destination for assessment reports.+--+-- 'defaultProcessOwners', 'updateSettings_defaultProcessOwners' - A list of the default audit owners.+--+-- 'deregistrationPolicy', 'updateSettings_deregistrationPolicy' - The deregistration policy for your Audit Manager data. You can use this+-- attribute to determine how your data is handled when you deregister+-- Audit Manager.+--+-- 'evidenceFinderEnabled', 'updateSettings_evidenceFinderEnabled' - Specifies whether the evidence finder feature is enabled. Change this+-- attribute to enable or disable evidence finder.+--+-- When you use this attribute to disable evidence finder, Audit Manager+-- deletes the event data store that’s used to query your evidence data. As+-- a result, you can’t re-enable evidence finder and use the feature again.+-- Your only alternative is to+-- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeregisterAccount.html deregister>+-- and then+-- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_RegisterAccount.html re-register>+-- Audit Manager.+--+-- 'kmsKey', 'updateSettings_kmsKey' - The KMS key details.+--+-- 'snsTopic', 'updateSettings_snsTopic' - The Amazon Simple Notification Service (Amazon SNS) topic that Audit+-- Manager sends notifications to.+newUpdateSettings ::+ UpdateSettings+newUpdateSettings =+ UpdateSettings'+ { defaultAssessmentReportsDestination =+ Prelude.Nothing,+ defaultProcessOwners = Prelude.Nothing,+ deregistrationPolicy = Prelude.Nothing,+ evidenceFinderEnabled = Prelude.Nothing,+ kmsKey = Prelude.Nothing,+ snsTopic = Prelude.Nothing+ }++-- | The default storage destination for assessment reports.+updateSettings_defaultAssessmentReportsDestination :: Lens.Lens' UpdateSettings (Prelude.Maybe AssessmentReportsDestination)+updateSettings_defaultAssessmentReportsDestination = Lens.lens (\UpdateSettings' {defaultAssessmentReportsDestination} -> defaultAssessmentReportsDestination) (\s@UpdateSettings' {} a -> s {defaultAssessmentReportsDestination = a} :: UpdateSettings)++-- | A list of the default audit owners.+updateSettings_defaultProcessOwners :: Lens.Lens' UpdateSettings (Prelude.Maybe [Role])+updateSettings_defaultProcessOwners = Lens.lens (\UpdateSettings' {defaultProcessOwners} -> defaultProcessOwners) (\s@UpdateSettings' {} a -> s {defaultProcessOwners = a} :: UpdateSettings) Prelude.. Lens.mapping Lens.coerced++-- | The deregistration policy for your Audit Manager data. You can use this+-- attribute to determine how your data is handled when you deregister+-- Audit Manager.+updateSettings_deregistrationPolicy :: Lens.Lens' UpdateSettings (Prelude.Maybe DeregistrationPolicy)+updateSettings_deregistrationPolicy = Lens.lens (\UpdateSettings' {deregistrationPolicy} -> deregistrationPolicy) (\s@UpdateSettings' {} a -> s {deregistrationPolicy = a} :: UpdateSettings)++-- | Specifies whether the evidence finder feature is enabled. Change this+-- attribute to enable or disable evidence finder.+--+-- When you use this attribute to disable evidence finder, Audit Manager+-- deletes the event data store that’s used to query your evidence data. As+-- a result, you can’t re-enable evidence finder and use the feature again.+-- Your only alternative is to+-- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_DeregisterAccount.html deregister>+-- and then+-- <https://docs.aws.amazon.com/audit-manager/latest/APIReference/API_RegisterAccount.html re-register>+-- Audit Manager.+updateSettings_evidenceFinderEnabled :: Lens.Lens' UpdateSettings (Prelude.Maybe Prelude.Bool)+updateSettings_evidenceFinderEnabled = Lens.lens (\UpdateSettings' {evidenceFinderEnabled} -> evidenceFinderEnabled) (\s@UpdateSettings' {} a -> s {evidenceFinderEnabled = a} :: UpdateSettings)++-- | The KMS key details.+updateSettings_kmsKey :: Lens.Lens' UpdateSettings (Prelude.Maybe Prelude.Text)+updateSettings_kmsKey = Lens.lens (\UpdateSettings' {kmsKey} -> kmsKey) (\s@UpdateSettings' {} a -> s {kmsKey = a} :: UpdateSettings)++-- | The Amazon Simple Notification Service (Amazon SNS) topic that Audit+-- Manager sends notifications to.+updateSettings_snsTopic :: Lens.Lens' UpdateSettings (Prelude.Maybe Prelude.Text)+updateSettings_snsTopic = Lens.lens (\UpdateSettings' {snsTopic} -> snsTopic) (\s@UpdateSettings' {} a -> s {snsTopic = a} :: UpdateSettings)++instance Core.AWSRequest UpdateSettings where+ type+ AWSResponse UpdateSettings =+ UpdateSettingsResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateSettingsResponse'+ Prelude.<$> (x Data..?> "settings")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateSettings where+ hashWithSalt _salt UpdateSettings' {..} =+ _salt+ `Prelude.hashWithSalt` defaultAssessmentReportsDestination+ `Prelude.hashWithSalt` defaultProcessOwners+ `Prelude.hashWithSalt` deregistrationPolicy+ `Prelude.hashWithSalt` evidenceFinderEnabled+ `Prelude.hashWithSalt` kmsKey+ `Prelude.hashWithSalt` snsTopic++instance Prelude.NFData UpdateSettings where+ rnf UpdateSettings' {..} =+ Prelude.rnf defaultAssessmentReportsDestination+ `Prelude.seq` Prelude.rnf defaultProcessOwners+ `Prelude.seq` Prelude.rnf deregistrationPolicy+ `Prelude.seq` Prelude.rnf evidenceFinderEnabled+ `Prelude.seq` Prelude.rnf kmsKey+ `Prelude.seq` Prelude.rnf snsTopic++instance Data.ToHeaders UpdateSettings where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateSettings where+ toJSON UpdateSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("defaultAssessmentReportsDestination" Data..=)+ Prelude.<$> defaultAssessmentReportsDestination,+ ("defaultProcessOwners" Data..=)+ Prelude.<$> defaultProcessOwners,+ ("deregistrationPolicy" Data..=)+ Prelude.<$> deregistrationPolicy,+ ("evidenceFinderEnabled" Data..=)+ Prelude.<$> evidenceFinderEnabled,+ ("kmsKey" Data..=) Prelude.<$> kmsKey,+ ("snsTopic" Data..=) Prelude.<$> snsTopic+ ]+ )++instance Data.ToPath UpdateSettings where+ toPath = Prelude.const "/settings"++instance Data.ToQuery UpdateSettings where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSettingsResponse' smart constructor.+data UpdateSettingsResponse = UpdateSettingsResponse'+ { -- | The current list of settings.+ settings :: Prelude.Maybe Settings,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSettingsResponse' 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:+--+-- 'settings', 'updateSettingsResponse_settings' - The current list of settings.+--+-- 'httpStatus', 'updateSettingsResponse_httpStatus' - The response's http status code.+newUpdateSettingsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateSettingsResponse+newUpdateSettingsResponse pHttpStatus_ =+ UpdateSettingsResponse'+ { settings = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The current list of settings.+updateSettingsResponse_settings :: Lens.Lens' UpdateSettingsResponse (Prelude.Maybe Settings)+updateSettingsResponse_settings = Lens.lens (\UpdateSettingsResponse' {settings} -> settings) (\s@UpdateSettingsResponse' {} a -> s {settings = a} :: UpdateSettingsResponse)++-- | The response's http status code.+updateSettingsResponse_httpStatus :: Lens.Lens' UpdateSettingsResponse Prelude.Int+updateSettingsResponse_httpStatus = Lens.lens (\UpdateSettingsResponse' {httpStatus} -> httpStatus) (\s@UpdateSettingsResponse' {} a -> s {httpStatus = a} :: UpdateSettingsResponse)++instance Prelude.NFData UpdateSettingsResponse where+ rnf UpdateSettingsResponse' {..} =+ Prelude.rnf settings+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/ValidateAssessmentReportIntegrity.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.AuditManager.ValidateAssessmentReportIntegrity+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Validates the integrity of an assessment report in Audit Manager.+module Amazonka.AuditManager.ValidateAssessmentReportIntegrity+ ( -- * Creating a Request+ ValidateAssessmentReportIntegrity (..),+ newValidateAssessmentReportIntegrity,++ -- * Request Lenses+ validateAssessmentReportIntegrity_s3RelativePath,++ -- * Destructuring the Response+ ValidateAssessmentReportIntegrityResponse (..),+ newValidateAssessmentReportIntegrityResponse,++ -- * Response Lenses+ validateAssessmentReportIntegrityResponse_signatureAlgorithm,+ validateAssessmentReportIntegrityResponse_signatureDateTime,+ validateAssessmentReportIntegrityResponse_signatureKeyId,+ validateAssessmentReportIntegrityResponse_signatureValid,+ validateAssessmentReportIntegrityResponse_validationErrors,+ validateAssessmentReportIntegrityResponse_httpStatus,+ )+where++import Amazonka.AuditManager.Types+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++-- | /See:/ 'newValidateAssessmentReportIntegrity' smart constructor.+data ValidateAssessmentReportIntegrity = ValidateAssessmentReportIntegrity'+ { -- | The relative path of the Amazon S3 bucket that the assessment report is+ -- stored in.+ s3RelativePath :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ValidateAssessmentReportIntegrity' 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:+--+-- 's3RelativePath', 'validateAssessmentReportIntegrity_s3RelativePath' - The relative path of the Amazon S3 bucket that the assessment report is+-- stored in.+newValidateAssessmentReportIntegrity ::+ -- | 's3RelativePath'+ Prelude.Text ->+ ValidateAssessmentReportIntegrity+newValidateAssessmentReportIntegrity pS3RelativePath_ =+ ValidateAssessmentReportIntegrity'+ { s3RelativePath =+ pS3RelativePath_+ }++-- | The relative path of the Amazon S3 bucket that the assessment report is+-- stored in.+validateAssessmentReportIntegrity_s3RelativePath :: Lens.Lens' ValidateAssessmentReportIntegrity Prelude.Text+validateAssessmentReportIntegrity_s3RelativePath = Lens.lens (\ValidateAssessmentReportIntegrity' {s3RelativePath} -> s3RelativePath) (\s@ValidateAssessmentReportIntegrity' {} a -> s {s3RelativePath = a} :: ValidateAssessmentReportIntegrity)++instance+ Core.AWSRequest+ ValidateAssessmentReportIntegrity+ where+ type+ AWSResponse ValidateAssessmentReportIntegrity =+ ValidateAssessmentReportIntegrityResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ValidateAssessmentReportIntegrityResponse'+ Prelude.<$> (x Data..?> "signatureAlgorithm")+ Prelude.<*> (x Data..?> "signatureDateTime")+ Prelude.<*> (x Data..?> "signatureKeyId")+ Prelude.<*> (x Data..?> "signatureValid")+ Prelude.<*> ( x+ Data..?> "validationErrors"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ValidateAssessmentReportIntegrity+ where+ hashWithSalt+ _salt+ ValidateAssessmentReportIntegrity' {..} =+ _salt `Prelude.hashWithSalt` s3RelativePath++instance+ Prelude.NFData+ ValidateAssessmentReportIntegrity+ where+ rnf ValidateAssessmentReportIntegrity' {..} =+ Prelude.rnf s3RelativePath++instance+ Data.ToHeaders+ ValidateAssessmentReportIntegrity+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ ValidateAssessmentReportIntegrity+ where+ toJSON ValidateAssessmentReportIntegrity' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("s3RelativePath" Data..= s3RelativePath)+ ]+ )++instance+ Data.ToPath+ ValidateAssessmentReportIntegrity+ where+ toPath = Prelude.const "/assessmentReports/integrity"++instance+ Data.ToQuery+ ValidateAssessmentReportIntegrity+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newValidateAssessmentReportIntegrityResponse' smart constructor.+data ValidateAssessmentReportIntegrityResponse = ValidateAssessmentReportIntegrityResponse'+ { -- | The signature algorithm that\'s used to code sign the assessment report+ -- file.+ signatureAlgorithm :: Prelude.Maybe Prelude.Text,+ -- | The date and time signature that specifies when the assessment report+ -- was created.+ signatureDateTime :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the validation signature key.+ signatureKeyId :: Prelude.Maybe Prelude.Text,+ -- | Specifies whether the signature key is valid.+ signatureValid :: Prelude.Maybe Prelude.Bool,+ -- | Represents any errors that occurred when validating the assessment+ -- report.+ validationErrors :: 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 'ValidateAssessmentReportIntegrityResponse' 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:+--+-- 'signatureAlgorithm', 'validateAssessmentReportIntegrityResponse_signatureAlgorithm' - The signature algorithm that\'s used to code sign the assessment report+-- file.+--+-- 'signatureDateTime', 'validateAssessmentReportIntegrityResponse_signatureDateTime' - The date and time signature that specifies when the assessment report+-- was created.+--+-- 'signatureKeyId', 'validateAssessmentReportIntegrityResponse_signatureKeyId' - The unique identifier for the validation signature key.+--+-- 'signatureValid', 'validateAssessmentReportIntegrityResponse_signatureValid' - Specifies whether the signature key is valid.+--+-- 'validationErrors', 'validateAssessmentReportIntegrityResponse_validationErrors' - Represents any errors that occurred when validating the assessment+-- report.+--+-- 'httpStatus', 'validateAssessmentReportIntegrityResponse_httpStatus' - The response's http status code.+newValidateAssessmentReportIntegrityResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ValidateAssessmentReportIntegrityResponse+newValidateAssessmentReportIntegrityResponse+ pHttpStatus_ =+ ValidateAssessmentReportIntegrityResponse'+ { signatureAlgorithm =+ Prelude.Nothing,+ signatureDateTime =+ Prelude.Nothing,+ signatureKeyId = Prelude.Nothing,+ signatureValid = Prelude.Nothing,+ validationErrors =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The signature algorithm that\'s used to code sign the assessment report+-- file.+validateAssessmentReportIntegrityResponse_signatureAlgorithm :: Lens.Lens' ValidateAssessmentReportIntegrityResponse (Prelude.Maybe Prelude.Text)+validateAssessmentReportIntegrityResponse_signatureAlgorithm = Lens.lens (\ValidateAssessmentReportIntegrityResponse' {signatureAlgorithm} -> signatureAlgorithm) (\s@ValidateAssessmentReportIntegrityResponse' {} a -> s {signatureAlgorithm = a} :: ValidateAssessmentReportIntegrityResponse)++-- | The date and time signature that specifies when the assessment report+-- was created.+validateAssessmentReportIntegrityResponse_signatureDateTime :: Lens.Lens' ValidateAssessmentReportIntegrityResponse (Prelude.Maybe Prelude.Text)+validateAssessmentReportIntegrityResponse_signatureDateTime = Lens.lens (\ValidateAssessmentReportIntegrityResponse' {signatureDateTime} -> signatureDateTime) (\s@ValidateAssessmentReportIntegrityResponse' {} a -> s {signatureDateTime = a} :: ValidateAssessmentReportIntegrityResponse)++-- | The unique identifier for the validation signature key.+validateAssessmentReportIntegrityResponse_signatureKeyId :: Lens.Lens' ValidateAssessmentReportIntegrityResponse (Prelude.Maybe Prelude.Text)+validateAssessmentReportIntegrityResponse_signatureKeyId = Lens.lens (\ValidateAssessmentReportIntegrityResponse' {signatureKeyId} -> signatureKeyId) (\s@ValidateAssessmentReportIntegrityResponse' {} a -> s {signatureKeyId = a} :: ValidateAssessmentReportIntegrityResponse)++-- | Specifies whether the signature key is valid.+validateAssessmentReportIntegrityResponse_signatureValid :: Lens.Lens' ValidateAssessmentReportIntegrityResponse (Prelude.Maybe Prelude.Bool)+validateAssessmentReportIntegrityResponse_signatureValid = Lens.lens (\ValidateAssessmentReportIntegrityResponse' {signatureValid} -> signatureValid) (\s@ValidateAssessmentReportIntegrityResponse' {} a -> s {signatureValid = a} :: ValidateAssessmentReportIntegrityResponse)++-- | Represents any errors that occurred when validating the assessment+-- report.+validateAssessmentReportIntegrityResponse_validationErrors :: Lens.Lens' ValidateAssessmentReportIntegrityResponse (Prelude.Maybe [Prelude.Text])+validateAssessmentReportIntegrityResponse_validationErrors = Lens.lens (\ValidateAssessmentReportIntegrityResponse' {validationErrors} -> validationErrors) (\s@ValidateAssessmentReportIntegrityResponse' {} a -> s {validationErrors = a} :: ValidateAssessmentReportIntegrityResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+validateAssessmentReportIntegrityResponse_httpStatus :: Lens.Lens' ValidateAssessmentReportIntegrityResponse Prelude.Int+validateAssessmentReportIntegrityResponse_httpStatus = Lens.lens (\ValidateAssessmentReportIntegrityResponse' {httpStatus} -> httpStatus) (\s@ValidateAssessmentReportIntegrityResponse' {} a -> s {httpStatus = a} :: ValidateAssessmentReportIntegrityResponse)++instance+ Prelude.NFData+ ValidateAssessmentReportIntegrityResponse+ where+ rnf ValidateAssessmentReportIntegrityResponse' {..} =+ Prelude.rnf signatureAlgorithm+ `Prelude.seq` Prelude.rnf signatureDateTime+ `Prelude.seq` Prelude.rnf signatureKeyId+ `Prelude.seq` Prelude.rnf signatureValid+ `Prelude.seq` Prelude.rnf validationErrors+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/AuditManager/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.AuditManager.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.AuditManager.Waiters where++import Amazonka.AuditManager.Lens+import Amazonka.AuditManager.Types+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
+ 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.AuditManager+import Test.Amazonka.AuditManager.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "AuditManager"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/AuditManager.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.AuditManager+-- 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.AuditManager+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/AuditManager/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.AuditManager.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.AuditManager.Internal where
+ test/Test/Amazonka/Gen/AuditManager.hs view
@@ -0,0 +1,1258 @@+{-# 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.AuditManager+-- 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.AuditManager where++import Amazonka.AuditManager+import qualified Data.Proxy as Proxy+import Test.Amazonka.AuditManager.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+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"+-- [ requestAssociateAssessmentReportEvidenceFolder $+-- newAssociateAssessmentReportEvidenceFolder+--+-- , requestBatchAssociateAssessmentReportEvidence $+-- newBatchAssociateAssessmentReportEvidence+--+-- , requestBatchCreateDelegationByAssessment $+-- newBatchCreateDelegationByAssessment+--+-- , requestBatchDeleteDelegationByAssessment $+-- newBatchDeleteDelegationByAssessment+--+-- , requestBatchDisassociateAssessmentReportEvidence $+-- newBatchDisassociateAssessmentReportEvidence+--+-- , requestBatchImportEvidenceToAssessmentControl $+-- newBatchImportEvidenceToAssessmentControl+--+-- , requestCreateAssessment $+-- newCreateAssessment+--+-- , requestCreateAssessmentFramework $+-- newCreateAssessmentFramework+--+-- , requestCreateAssessmentReport $+-- newCreateAssessmentReport+--+-- , requestCreateControl $+-- newCreateControl+--+-- , requestDeleteAssessment $+-- newDeleteAssessment+--+-- , requestDeleteAssessmentFramework $+-- newDeleteAssessmentFramework+--+-- , requestDeleteAssessmentFrameworkShare $+-- newDeleteAssessmentFrameworkShare+--+-- , requestDeleteAssessmentReport $+-- newDeleteAssessmentReport+--+-- , requestDeleteControl $+-- newDeleteControl+--+-- , requestDeregisterAccount $+-- newDeregisterAccount+--+-- , requestDeregisterOrganizationAdminAccount $+-- newDeregisterOrganizationAdminAccount+--+-- , requestDisassociateAssessmentReportEvidenceFolder $+-- newDisassociateAssessmentReportEvidenceFolder+--+-- , requestGetAccountStatus $+-- newGetAccountStatus+--+-- , requestGetAssessment $+-- newGetAssessment+--+-- , requestGetAssessmentFramework $+-- newGetAssessmentFramework+--+-- , requestGetAssessmentReportUrl $+-- newGetAssessmentReportUrl+--+-- , requestGetChangeLogs $+-- newGetChangeLogs+--+-- , requestGetControl $+-- newGetControl+--+-- , requestGetDelegations $+-- newGetDelegations+--+-- , requestGetEvidence $+-- newGetEvidence+--+-- , requestGetEvidenceByEvidenceFolder $+-- newGetEvidenceByEvidenceFolder+--+-- , requestGetEvidenceFolder $+-- newGetEvidenceFolder+--+-- , requestGetEvidenceFoldersByAssessment $+-- newGetEvidenceFoldersByAssessment+--+-- , requestGetEvidenceFoldersByAssessmentControl $+-- newGetEvidenceFoldersByAssessmentControl+--+-- , requestGetInsights $+-- newGetInsights+--+-- , requestGetInsightsByAssessment $+-- newGetInsightsByAssessment+--+-- , requestGetOrganizationAdminAccount $+-- newGetOrganizationAdminAccount+--+-- , requestGetServicesInScope $+-- newGetServicesInScope+--+-- , requestGetSettings $+-- newGetSettings+--+-- , requestListAssessmentControlInsightsByControlDomain $+-- newListAssessmentControlInsightsByControlDomain+--+-- , requestListAssessmentFrameworkShareRequests $+-- newListAssessmentFrameworkShareRequests+--+-- , requestListAssessmentFrameworks $+-- newListAssessmentFrameworks+--+-- , requestListAssessmentReports $+-- newListAssessmentReports+--+-- , requestListAssessments $+-- newListAssessments+--+-- , requestListControlDomainInsights $+-- newListControlDomainInsights+--+-- , requestListControlDomainInsightsByAssessment $+-- newListControlDomainInsightsByAssessment+--+-- , requestListControlInsightsByControlDomain $+-- newListControlInsightsByControlDomain+--+-- , requestListControls $+-- newListControls+--+-- , requestListKeywordsForDataSource $+-- newListKeywordsForDataSource+--+-- , requestListNotifications $+-- newListNotifications+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestRegisterAccount $+-- newRegisterAccount+--+-- , requestRegisterOrganizationAdminAccount $+-- newRegisterOrganizationAdminAccount+--+-- , requestStartAssessmentFrameworkShare $+-- newStartAssessmentFrameworkShare+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateAssessment $+-- newUpdateAssessment+--+-- , requestUpdateAssessmentControl $+-- newUpdateAssessmentControl+--+-- , requestUpdateAssessmentControlSetStatus $+-- newUpdateAssessmentControlSetStatus+--+-- , requestUpdateAssessmentFramework $+-- newUpdateAssessmentFramework+--+-- , requestUpdateAssessmentFrameworkShare $+-- newUpdateAssessmentFrameworkShare+--+-- , requestUpdateAssessmentStatus $+-- newUpdateAssessmentStatus+--+-- , requestUpdateControl $+-- newUpdateControl+--+-- , requestUpdateSettings $+-- newUpdateSettings+--+-- , requestValidateAssessmentReportIntegrity $+-- newValidateAssessmentReportIntegrity+--+-- ]++-- , testGroup "response"+-- [ responseAssociateAssessmentReportEvidenceFolder $+-- newAssociateAssessmentReportEvidenceFolderResponse+--+-- , responseBatchAssociateAssessmentReportEvidence $+-- newBatchAssociateAssessmentReportEvidenceResponse+--+-- , responseBatchCreateDelegationByAssessment $+-- newBatchCreateDelegationByAssessmentResponse+--+-- , responseBatchDeleteDelegationByAssessment $+-- newBatchDeleteDelegationByAssessmentResponse+--+-- , responseBatchDisassociateAssessmentReportEvidence $+-- newBatchDisassociateAssessmentReportEvidenceResponse+--+-- , responseBatchImportEvidenceToAssessmentControl $+-- newBatchImportEvidenceToAssessmentControlResponse+--+-- , responseCreateAssessment $+-- newCreateAssessmentResponse+--+-- , responseCreateAssessmentFramework $+-- newCreateAssessmentFrameworkResponse+--+-- , responseCreateAssessmentReport $+-- newCreateAssessmentReportResponse+--+-- , responseCreateControl $+-- newCreateControlResponse+--+-- , responseDeleteAssessment $+-- newDeleteAssessmentResponse+--+-- , responseDeleteAssessmentFramework $+-- newDeleteAssessmentFrameworkResponse+--+-- , responseDeleteAssessmentFrameworkShare $+-- newDeleteAssessmentFrameworkShareResponse+--+-- , responseDeleteAssessmentReport $+-- newDeleteAssessmentReportResponse+--+-- , responseDeleteControl $+-- newDeleteControlResponse+--+-- , responseDeregisterAccount $+-- newDeregisterAccountResponse+--+-- , responseDeregisterOrganizationAdminAccount $+-- newDeregisterOrganizationAdminAccountResponse+--+-- , responseDisassociateAssessmentReportEvidenceFolder $+-- newDisassociateAssessmentReportEvidenceFolderResponse+--+-- , responseGetAccountStatus $+-- newGetAccountStatusResponse+--+-- , responseGetAssessment $+-- newGetAssessmentResponse+--+-- , responseGetAssessmentFramework $+-- newGetAssessmentFrameworkResponse+--+-- , responseGetAssessmentReportUrl $+-- newGetAssessmentReportUrlResponse+--+-- , responseGetChangeLogs $+-- newGetChangeLogsResponse+--+-- , responseGetControl $+-- newGetControlResponse+--+-- , responseGetDelegations $+-- newGetDelegationsResponse+--+-- , responseGetEvidence $+-- newGetEvidenceResponse+--+-- , responseGetEvidenceByEvidenceFolder $+-- newGetEvidenceByEvidenceFolderResponse+--+-- , responseGetEvidenceFolder $+-- newGetEvidenceFolderResponse+--+-- , responseGetEvidenceFoldersByAssessment $+-- newGetEvidenceFoldersByAssessmentResponse+--+-- , responseGetEvidenceFoldersByAssessmentControl $+-- newGetEvidenceFoldersByAssessmentControlResponse+--+-- , responseGetInsights $+-- newGetInsightsResponse+--+-- , responseGetInsightsByAssessment $+-- newGetInsightsByAssessmentResponse+--+-- , responseGetOrganizationAdminAccount $+-- newGetOrganizationAdminAccountResponse+--+-- , responseGetServicesInScope $+-- newGetServicesInScopeResponse+--+-- , responseGetSettings $+-- newGetSettingsResponse+--+-- , responseListAssessmentControlInsightsByControlDomain $+-- newListAssessmentControlInsightsByControlDomainResponse+--+-- , responseListAssessmentFrameworkShareRequests $+-- newListAssessmentFrameworkShareRequestsResponse+--+-- , responseListAssessmentFrameworks $+-- newListAssessmentFrameworksResponse+--+-- , responseListAssessmentReports $+-- newListAssessmentReportsResponse+--+-- , responseListAssessments $+-- newListAssessmentsResponse+--+-- , responseListControlDomainInsights $+-- newListControlDomainInsightsResponse+--+-- , responseListControlDomainInsightsByAssessment $+-- newListControlDomainInsightsByAssessmentResponse+--+-- , responseListControlInsightsByControlDomain $+-- newListControlInsightsByControlDomainResponse+--+-- , responseListControls $+-- newListControlsResponse+--+-- , responseListKeywordsForDataSource $+-- newListKeywordsForDataSourceResponse+--+-- , responseListNotifications $+-- newListNotificationsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseRegisterAccount $+-- newRegisterAccountResponse+--+-- , responseRegisterOrganizationAdminAccount $+-- newRegisterOrganizationAdminAccountResponse+--+-- , responseStartAssessmentFrameworkShare $+-- newStartAssessmentFrameworkShareResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateAssessment $+-- newUpdateAssessmentResponse+--+-- , responseUpdateAssessmentControl $+-- newUpdateAssessmentControlResponse+--+-- , responseUpdateAssessmentControlSetStatus $+-- newUpdateAssessmentControlSetStatusResponse+--+-- , responseUpdateAssessmentFramework $+-- newUpdateAssessmentFrameworkResponse+--+-- , responseUpdateAssessmentFrameworkShare $+-- newUpdateAssessmentFrameworkShareResponse+--+-- , responseUpdateAssessmentStatus $+-- newUpdateAssessmentStatusResponse+--+-- , responseUpdateControl $+-- newUpdateControlResponse+--+-- , responseUpdateSettings $+-- newUpdateSettingsResponse+--+-- , responseValidateAssessmentReportIntegrity $+-- newValidateAssessmentReportIntegrityResponse+--+-- ]+-- ]++-- Requests++requestAssociateAssessmentReportEvidenceFolder :: AssociateAssessmentReportEvidenceFolder -> TestTree+requestAssociateAssessmentReportEvidenceFolder =+ req+ "AssociateAssessmentReportEvidenceFolder"+ "fixture/AssociateAssessmentReportEvidenceFolder.yaml"++requestBatchAssociateAssessmentReportEvidence :: BatchAssociateAssessmentReportEvidence -> TestTree+requestBatchAssociateAssessmentReportEvidence =+ req+ "BatchAssociateAssessmentReportEvidence"+ "fixture/BatchAssociateAssessmentReportEvidence.yaml"++requestBatchCreateDelegationByAssessment :: BatchCreateDelegationByAssessment -> TestTree+requestBatchCreateDelegationByAssessment =+ req+ "BatchCreateDelegationByAssessment"+ "fixture/BatchCreateDelegationByAssessment.yaml"++requestBatchDeleteDelegationByAssessment :: BatchDeleteDelegationByAssessment -> TestTree+requestBatchDeleteDelegationByAssessment =+ req+ "BatchDeleteDelegationByAssessment"+ "fixture/BatchDeleteDelegationByAssessment.yaml"++requestBatchDisassociateAssessmentReportEvidence :: BatchDisassociateAssessmentReportEvidence -> TestTree+requestBatchDisassociateAssessmentReportEvidence =+ req+ "BatchDisassociateAssessmentReportEvidence"+ "fixture/BatchDisassociateAssessmentReportEvidence.yaml"++requestBatchImportEvidenceToAssessmentControl :: BatchImportEvidenceToAssessmentControl -> TestTree+requestBatchImportEvidenceToAssessmentControl =+ req+ "BatchImportEvidenceToAssessmentControl"+ "fixture/BatchImportEvidenceToAssessmentControl.yaml"++requestCreateAssessment :: CreateAssessment -> TestTree+requestCreateAssessment =+ req+ "CreateAssessment"+ "fixture/CreateAssessment.yaml"++requestCreateAssessmentFramework :: CreateAssessmentFramework -> TestTree+requestCreateAssessmentFramework =+ req+ "CreateAssessmentFramework"+ "fixture/CreateAssessmentFramework.yaml"++requestCreateAssessmentReport :: CreateAssessmentReport -> TestTree+requestCreateAssessmentReport =+ req+ "CreateAssessmentReport"+ "fixture/CreateAssessmentReport.yaml"++requestCreateControl :: CreateControl -> TestTree+requestCreateControl =+ req+ "CreateControl"+ "fixture/CreateControl.yaml"++requestDeleteAssessment :: DeleteAssessment -> TestTree+requestDeleteAssessment =+ req+ "DeleteAssessment"+ "fixture/DeleteAssessment.yaml"++requestDeleteAssessmentFramework :: DeleteAssessmentFramework -> TestTree+requestDeleteAssessmentFramework =+ req+ "DeleteAssessmentFramework"+ "fixture/DeleteAssessmentFramework.yaml"++requestDeleteAssessmentFrameworkShare :: DeleteAssessmentFrameworkShare -> TestTree+requestDeleteAssessmentFrameworkShare =+ req+ "DeleteAssessmentFrameworkShare"+ "fixture/DeleteAssessmentFrameworkShare.yaml"++requestDeleteAssessmentReport :: DeleteAssessmentReport -> TestTree+requestDeleteAssessmentReport =+ req+ "DeleteAssessmentReport"+ "fixture/DeleteAssessmentReport.yaml"++requestDeleteControl :: DeleteControl -> TestTree+requestDeleteControl =+ req+ "DeleteControl"+ "fixture/DeleteControl.yaml"++requestDeregisterAccount :: DeregisterAccount -> TestTree+requestDeregisterAccount =+ req+ "DeregisterAccount"+ "fixture/DeregisterAccount.yaml"++requestDeregisterOrganizationAdminAccount :: DeregisterOrganizationAdminAccount -> TestTree+requestDeregisterOrganizationAdminAccount =+ req+ "DeregisterOrganizationAdminAccount"+ "fixture/DeregisterOrganizationAdminAccount.yaml"++requestDisassociateAssessmentReportEvidenceFolder :: DisassociateAssessmentReportEvidenceFolder -> TestTree+requestDisassociateAssessmentReportEvidenceFolder =+ req+ "DisassociateAssessmentReportEvidenceFolder"+ "fixture/DisassociateAssessmentReportEvidenceFolder.yaml"++requestGetAccountStatus :: GetAccountStatus -> TestTree+requestGetAccountStatus =+ req+ "GetAccountStatus"+ "fixture/GetAccountStatus.yaml"++requestGetAssessment :: GetAssessment -> TestTree+requestGetAssessment =+ req+ "GetAssessment"+ "fixture/GetAssessment.yaml"++requestGetAssessmentFramework :: GetAssessmentFramework -> TestTree+requestGetAssessmentFramework =+ req+ "GetAssessmentFramework"+ "fixture/GetAssessmentFramework.yaml"++requestGetAssessmentReportUrl :: GetAssessmentReportUrl -> TestTree+requestGetAssessmentReportUrl =+ req+ "GetAssessmentReportUrl"+ "fixture/GetAssessmentReportUrl.yaml"++requestGetChangeLogs :: GetChangeLogs -> TestTree+requestGetChangeLogs =+ req+ "GetChangeLogs"+ "fixture/GetChangeLogs.yaml"++requestGetControl :: GetControl -> TestTree+requestGetControl =+ req+ "GetControl"+ "fixture/GetControl.yaml"++requestGetDelegations :: GetDelegations -> TestTree+requestGetDelegations =+ req+ "GetDelegations"+ "fixture/GetDelegations.yaml"++requestGetEvidence :: GetEvidence -> TestTree+requestGetEvidence =+ req+ "GetEvidence"+ "fixture/GetEvidence.yaml"++requestGetEvidenceByEvidenceFolder :: GetEvidenceByEvidenceFolder -> TestTree+requestGetEvidenceByEvidenceFolder =+ req+ "GetEvidenceByEvidenceFolder"+ "fixture/GetEvidenceByEvidenceFolder.yaml"++requestGetEvidenceFolder :: GetEvidenceFolder -> TestTree+requestGetEvidenceFolder =+ req+ "GetEvidenceFolder"+ "fixture/GetEvidenceFolder.yaml"++requestGetEvidenceFoldersByAssessment :: GetEvidenceFoldersByAssessment -> TestTree+requestGetEvidenceFoldersByAssessment =+ req+ "GetEvidenceFoldersByAssessment"+ "fixture/GetEvidenceFoldersByAssessment.yaml"++requestGetEvidenceFoldersByAssessmentControl :: GetEvidenceFoldersByAssessmentControl -> TestTree+requestGetEvidenceFoldersByAssessmentControl =+ req+ "GetEvidenceFoldersByAssessmentControl"+ "fixture/GetEvidenceFoldersByAssessmentControl.yaml"++requestGetInsights :: GetInsights -> TestTree+requestGetInsights =+ req+ "GetInsights"+ "fixture/GetInsights.yaml"++requestGetInsightsByAssessment :: GetInsightsByAssessment -> TestTree+requestGetInsightsByAssessment =+ req+ "GetInsightsByAssessment"+ "fixture/GetInsightsByAssessment.yaml"++requestGetOrganizationAdminAccount :: GetOrganizationAdminAccount -> TestTree+requestGetOrganizationAdminAccount =+ req+ "GetOrganizationAdminAccount"+ "fixture/GetOrganizationAdminAccount.yaml"++requestGetServicesInScope :: GetServicesInScope -> TestTree+requestGetServicesInScope =+ req+ "GetServicesInScope"+ "fixture/GetServicesInScope.yaml"++requestGetSettings :: GetSettings -> TestTree+requestGetSettings =+ req+ "GetSettings"+ "fixture/GetSettings.yaml"++requestListAssessmentControlInsightsByControlDomain :: ListAssessmentControlInsightsByControlDomain -> TestTree+requestListAssessmentControlInsightsByControlDomain =+ req+ "ListAssessmentControlInsightsByControlDomain"+ "fixture/ListAssessmentControlInsightsByControlDomain.yaml"++requestListAssessmentFrameworkShareRequests :: ListAssessmentFrameworkShareRequests -> TestTree+requestListAssessmentFrameworkShareRequests =+ req+ "ListAssessmentFrameworkShareRequests"+ "fixture/ListAssessmentFrameworkShareRequests.yaml"++requestListAssessmentFrameworks :: ListAssessmentFrameworks -> TestTree+requestListAssessmentFrameworks =+ req+ "ListAssessmentFrameworks"+ "fixture/ListAssessmentFrameworks.yaml"++requestListAssessmentReports :: ListAssessmentReports -> TestTree+requestListAssessmentReports =+ req+ "ListAssessmentReports"+ "fixture/ListAssessmentReports.yaml"++requestListAssessments :: ListAssessments -> TestTree+requestListAssessments =+ req+ "ListAssessments"+ "fixture/ListAssessments.yaml"++requestListControlDomainInsights :: ListControlDomainInsights -> TestTree+requestListControlDomainInsights =+ req+ "ListControlDomainInsights"+ "fixture/ListControlDomainInsights.yaml"++requestListControlDomainInsightsByAssessment :: ListControlDomainInsightsByAssessment -> TestTree+requestListControlDomainInsightsByAssessment =+ req+ "ListControlDomainInsightsByAssessment"+ "fixture/ListControlDomainInsightsByAssessment.yaml"++requestListControlInsightsByControlDomain :: ListControlInsightsByControlDomain -> TestTree+requestListControlInsightsByControlDomain =+ req+ "ListControlInsightsByControlDomain"+ "fixture/ListControlInsightsByControlDomain.yaml"++requestListControls :: ListControls -> TestTree+requestListControls =+ req+ "ListControls"+ "fixture/ListControls.yaml"++requestListKeywordsForDataSource :: ListKeywordsForDataSource -> TestTree+requestListKeywordsForDataSource =+ req+ "ListKeywordsForDataSource"+ "fixture/ListKeywordsForDataSource.yaml"++requestListNotifications :: ListNotifications -> TestTree+requestListNotifications =+ req+ "ListNotifications"+ "fixture/ListNotifications.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestRegisterAccount :: RegisterAccount -> TestTree+requestRegisterAccount =+ req+ "RegisterAccount"+ "fixture/RegisterAccount.yaml"++requestRegisterOrganizationAdminAccount :: RegisterOrganizationAdminAccount -> TestTree+requestRegisterOrganizationAdminAccount =+ req+ "RegisterOrganizationAdminAccount"+ "fixture/RegisterOrganizationAdminAccount.yaml"++requestStartAssessmentFrameworkShare :: StartAssessmentFrameworkShare -> TestTree+requestStartAssessmentFrameworkShare =+ req+ "StartAssessmentFrameworkShare"+ "fixture/StartAssessmentFrameworkShare.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateAssessment :: UpdateAssessment -> TestTree+requestUpdateAssessment =+ req+ "UpdateAssessment"+ "fixture/UpdateAssessment.yaml"++requestUpdateAssessmentControl :: UpdateAssessmentControl -> TestTree+requestUpdateAssessmentControl =+ req+ "UpdateAssessmentControl"+ "fixture/UpdateAssessmentControl.yaml"++requestUpdateAssessmentControlSetStatus :: UpdateAssessmentControlSetStatus -> TestTree+requestUpdateAssessmentControlSetStatus =+ req+ "UpdateAssessmentControlSetStatus"+ "fixture/UpdateAssessmentControlSetStatus.yaml"++requestUpdateAssessmentFramework :: UpdateAssessmentFramework -> TestTree+requestUpdateAssessmentFramework =+ req+ "UpdateAssessmentFramework"+ "fixture/UpdateAssessmentFramework.yaml"++requestUpdateAssessmentFrameworkShare :: UpdateAssessmentFrameworkShare -> TestTree+requestUpdateAssessmentFrameworkShare =+ req+ "UpdateAssessmentFrameworkShare"+ "fixture/UpdateAssessmentFrameworkShare.yaml"++requestUpdateAssessmentStatus :: UpdateAssessmentStatus -> TestTree+requestUpdateAssessmentStatus =+ req+ "UpdateAssessmentStatus"+ "fixture/UpdateAssessmentStatus.yaml"++requestUpdateControl :: UpdateControl -> TestTree+requestUpdateControl =+ req+ "UpdateControl"+ "fixture/UpdateControl.yaml"++requestUpdateSettings :: UpdateSettings -> TestTree+requestUpdateSettings =+ req+ "UpdateSettings"+ "fixture/UpdateSettings.yaml"++requestValidateAssessmentReportIntegrity :: ValidateAssessmentReportIntegrity -> TestTree+requestValidateAssessmentReportIntegrity =+ req+ "ValidateAssessmentReportIntegrity"+ "fixture/ValidateAssessmentReportIntegrity.yaml"++-- Responses++responseAssociateAssessmentReportEvidenceFolder :: AssociateAssessmentReportEvidenceFolderResponse -> TestTree+responseAssociateAssessmentReportEvidenceFolder =+ res+ "AssociateAssessmentReportEvidenceFolderResponse"+ "fixture/AssociateAssessmentReportEvidenceFolderResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AssociateAssessmentReportEvidenceFolder)++responseBatchAssociateAssessmentReportEvidence :: BatchAssociateAssessmentReportEvidenceResponse -> TestTree+responseBatchAssociateAssessmentReportEvidence =+ res+ "BatchAssociateAssessmentReportEvidenceResponse"+ "fixture/BatchAssociateAssessmentReportEvidenceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchAssociateAssessmentReportEvidence)++responseBatchCreateDelegationByAssessment :: BatchCreateDelegationByAssessmentResponse -> TestTree+responseBatchCreateDelegationByAssessment =+ res+ "BatchCreateDelegationByAssessmentResponse"+ "fixture/BatchCreateDelegationByAssessmentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchCreateDelegationByAssessment)++responseBatchDeleteDelegationByAssessment :: BatchDeleteDelegationByAssessmentResponse -> TestTree+responseBatchDeleteDelegationByAssessment =+ res+ "BatchDeleteDelegationByAssessmentResponse"+ "fixture/BatchDeleteDelegationByAssessmentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchDeleteDelegationByAssessment)++responseBatchDisassociateAssessmentReportEvidence :: BatchDisassociateAssessmentReportEvidenceResponse -> TestTree+responseBatchDisassociateAssessmentReportEvidence =+ res+ "BatchDisassociateAssessmentReportEvidenceResponse"+ "fixture/BatchDisassociateAssessmentReportEvidenceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchDisassociateAssessmentReportEvidence)++responseBatchImportEvidenceToAssessmentControl :: BatchImportEvidenceToAssessmentControlResponse -> TestTree+responseBatchImportEvidenceToAssessmentControl =+ res+ "BatchImportEvidenceToAssessmentControlResponse"+ "fixture/BatchImportEvidenceToAssessmentControlResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchImportEvidenceToAssessmentControl)++responseCreateAssessment :: CreateAssessmentResponse -> TestTree+responseCreateAssessment =+ res+ "CreateAssessmentResponse"+ "fixture/CreateAssessmentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAssessment)++responseCreateAssessmentFramework :: CreateAssessmentFrameworkResponse -> TestTree+responseCreateAssessmentFramework =+ res+ "CreateAssessmentFrameworkResponse"+ "fixture/CreateAssessmentFrameworkResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAssessmentFramework)++responseCreateAssessmentReport :: CreateAssessmentReportResponse -> TestTree+responseCreateAssessmentReport =+ res+ "CreateAssessmentReportResponse"+ "fixture/CreateAssessmentReportResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAssessmentReport)++responseCreateControl :: CreateControlResponse -> TestTree+responseCreateControl =+ res+ "CreateControlResponse"+ "fixture/CreateControlResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateControl)++responseDeleteAssessment :: DeleteAssessmentResponse -> TestTree+responseDeleteAssessment =+ res+ "DeleteAssessmentResponse"+ "fixture/DeleteAssessmentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAssessment)++responseDeleteAssessmentFramework :: DeleteAssessmentFrameworkResponse -> TestTree+responseDeleteAssessmentFramework =+ res+ "DeleteAssessmentFrameworkResponse"+ "fixture/DeleteAssessmentFrameworkResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAssessmentFramework)++responseDeleteAssessmentFrameworkShare :: DeleteAssessmentFrameworkShareResponse -> TestTree+responseDeleteAssessmentFrameworkShare =+ res+ "DeleteAssessmentFrameworkShareResponse"+ "fixture/DeleteAssessmentFrameworkShareResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAssessmentFrameworkShare)++responseDeleteAssessmentReport :: DeleteAssessmentReportResponse -> TestTree+responseDeleteAssessmentReport =+ res+ "DeleteAssessmentReportResponse"+ "fixture/DeleteAssessmentReportResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAssessmentReport)++responseDeleteControl :: DeleteControlResponse -> TestTree+responseDeleteControl =+ res+ "DeleteControlResponse"+ "fixture/DeleteControlResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteControl)++responseDeregisterAccount :: DeregisterAccountResponse -> TestTree+responseDeregisterAccount =+ res+ "DeregisterAccountResponse"+ "fixture/DeregisterAccountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeregisterAccount)++responseDeregisterOrganizationAdminAccount :: DeregisterOrganizationAdminAccountResponse -> TestTree+responseDeregisterOrganizationAdminAccount =+ res+ "DeregisterOrganizationAdminAccountResponse"+ "fixture/DeregisterOrganizationAdminAccountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeregisterOrganizationAdminAccount)++responseDisassociateAssessmentReportEvidenceFolder :: DisassociateAssessmentReportEvidenceFolderResponse -> TestTree+responseDisassociateAssessmentReportEvidenceFolder =+ res+ "DisassociateAssessmentReportEvidenceFolderResponse"+ "fixture/DisassociateAssessmentReportEvidenceFolderResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateAssessmentReportEvidenceFolder)++responseGetAccountStatus :: GetAccountStatusResponse -> TestTree+responseGetAccountStatus =+ res+ "GetAccountStatusResponse"+ "fixture/GetAccountStatusResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAccountStatus)++responseGetAssessment :: GetAssessmentResponse -> TestTree+responseGetAssessment =+ res+ "GetAssessmentResponse"+ "fixture/GetAssessmentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAssessment)++responseGetAssessmentFramework :: GetAssessmentFrameworkResponse -> TestTree+responseGetAssessmentFramework =+ res+ "GetAssessmentFrameworkResponse"+ "fixture/GetAssessmentFrameworkResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAssessmentFramework)++responseGetAssessmentReportUrl :: GetAssessmentReportUrlResponse -> TestTree+responseGetAssessmentReportUrl =+ res+ "GetAssessmentReportUrlResponse"+ "fixture/GetAssessmentReportUrlResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAssessmentReportUrl)++responseGetChangeLogs :: GetChangeLogsResponse -> TestTree+responseGetChangeLogs =+ res+ "GetChangeLogsResponse"+ "fixture/GetChangeLogsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetChangeLogs)++responseGetControl :: GetControlResponse -> TestTree+responseGetControl =+ res+ "GetControlResponse"+ "fixture/GetControlResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetControl)++responseGetDelegations :: GetDelegationsResponse -> TestTree+responseGetDelegations =+ res+ "GetDelegationsResponse"+ "fixture/GetDelegationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetDelegations)++responseGetEvidence :: GetEvidenceResponse -> TestTree+responseGetEvidence =+ res+ "GetEvidenceResponse"+ "fixture/GetEvidenceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetEvidence)++responseGetEvidenceByEvidenceFolder :: GetEvidenceByEvidenceFolderResponse -> TestTree+responseGetEvidenceByEvidenceFolder =+ res+ "GetEvidenceByEvidenceFolderResponse"+ "fixture/GetEvidenceByEvidenceFolderResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetEvidenceByEvidenceFolder)++responseGetEvidenceFolder :: GetEvidenceFolderResponse -> TestTree+responseGetEvidenceFolder =+ res+ "GetEvidenceFolderResponse"+ "fixture/GetEvidenceFolderResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetEvidenceFolder)++responseGetEvidenceFoldersByAssessment :: GetEvidenceFoldersByAssessmentResponse -> TestTree+responseGetEvidenceFoldersByAssessment =+ res+ "GetEvidenceFoldersByAssessmentResponse"+ "fixture/GetEvidenceFoldersByAssessmentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetEvidenceFoldersByAssessment)++responseGetEvidenceFoldersByAssessmentControl :: GetEvidenceFoldersByAssessmentControlResponse -> TestTree+responseGetEvidenceFoldersByAssessmentControl =+ res+ "GetEvidenceFoldersByAssessmentControlResponse"+ "fixture/GetEvidenceFoldersByAssessmentControlResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetEvidenceFoldersByAssessmentControl)++responseGetInsights :: GetInsightsResponse -> TestTree+responseGetInsights =+ res+ "GetInsightsResponse"+ "fixture/GetInsightsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetInsights)++responseGetInsightsByAssessment :: GetInsightsByAssessmentResponse -> TestTree+responseGetInsightsByAssessment =+ res+ "GetInsightsByAssessmentResponse"+ "fixture/GetInsightsByAssessmentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetInsightsByAssessment)++responseGetOrganizationAdminAccount :: GetOrganizationAdminAccountResponse -> TestTree+responseGetOrganizationAdminAccount =+ res+ "GetOrganizationAdminAccountResponse"+ "fixture/GetOrganizationAdminAccountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetOrganizationAdminAccount)++responseGetServicesInScope :: GetServicesInScopeResponse -> TestTree+responseGetServicesInScope =+ res+ "GetServicesInScopeResponse"+ "fixture/GetServicesInScopeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetServicesInScope)++responseGetSettings :: GetSettingsResponse -> TestTree+responseGetSettings =+ res+ "GetSettingsResponse"+ "fixture/GetSettingsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetSettings)++responseListAssessmentControlInsightsByControlDomain :: ListAssessmentControlInsightsByControlDomainResponse -> TestTree+responseListAssessmentControlInsightsByControlDomain =+ res+ "ListAssessmentControlInsightsByControlDomainResponse"+ "fixture/ListAssessmentControlInsightsByControlDomainResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAssessmentControlInsightsByControlDomain)++responseListAssessmentFrameworkShareRequests :: ListAssessmentFrameworkShareRequestsResponse -> TestTree+responseListAssessmentFrameworkShareRequests =+ res+ "ListAssessmentFrameworkShareRequestsResponse"+ "fixture/ListAssessmentFrameworkShareRequestsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAssessmentFrameworkShareRequests)++responseListAssessmentFrameworks :: ListAssessmentFrameworksResponse -> TestTree+responseListAssessmentFrameworks =+ res+ "ListAssessmentFrameworksResponse"+ "fixture/ListAssessmentFrameworksResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAssessmentFrameworks)++responseListAssessmentReports :: ListAssessmentReportsResponse -> TestTree+responseListAssessmentReports =+ res+ "ListAssessmentReportsResponse"+ "fixture/ListAssessmentReportsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAssessmentReports)++responseListAssessments :: ListAssessmentsResponse -> TestTree+responseListAssessments =+ res+ "ListAssessmentsResponse"+ "fixture/ListAssessmentsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAssessments)++responseListControlDomainInsights :: ListControlDomainInsightsResponse -> TestTree+responseListControlDomainInsights =+ res+ "ListControlDomainInsightsResponse"+ "fixture/ListControlDomainInsightsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListControlDomainInsights)++responseListControlDomainInsightsByAssessment :: ListControlDomainInsightsByAssessmentResponse -> TestTree+responseListControlDomainInsightsByAssessment =+ res+ "ListControlDomainInsightsByAssessmentResponse"+ "fixture/ListControlDomainInsightsByAssessmentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListControlDomainInsightsByAssessment)++responseListControlInsightsByControlDomain :: ListControlInsightsByControlDomainResponse -> TestTree+responseListControlInsightsByControlDomain =+ res+ "ListControlInsightsByControlDomainResponse"+ "fixture/ListControlInsightsByControlDomainResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListControlInsightsByControlDomain)++responseListControls :: ListControlsResponse -> TestTree+responseListControls =+ res+ "ListControlsResponse"+ "fixture/ListControlsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListControls)++responseListKeywordsForDataSource :: ListKeywordsForDataSourceResponse -> TestTree+responseListKeywordsForDataSource =+ res+ "ListKeywordsForDataSourceResponse"+ "fixture/ListKeywordsForDataSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListKeywordsForDataSource)++responseListNotifications :: ListNotificationsResponse -> TestTree+responseListNotifications =+ res+ "ListNotificationsResponse"+ "fixture/ListNotificationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListNotifications)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseRegisterAccount :: RegisterAccountResponse -> TestTree+responseRegisterAccount =+ res+ "RegisterAccountResponse"+ "fixture/RegisterAccountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy RegisterAccount)++responseRegisterOrganizationAdminAccount :: RegisterOrganizationAdminAccountResponse -> TestTree+responseRegisterOrganizationAdminAccount =+ res+ "RegisterOrganizationAdminAccountResponse"+ "fixture/RegisterOrganizationAdminAccountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy RegisterOrganizationAdminAccount)++responseStartAssessmentFrameworkShare :: StartAssessmentFrameworkShareResponse -> TestTree+responseStartAssessmentFrameworkShare =+ res+ "StartAssessmentFrameworkShareResponse"+ "fixture/StartAssessmentFrameworkShareResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartAssessmentFrameworkShare)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+ res+ "TagResourceResponse"+ "fixture/TagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+ res+ "UntagResourceResponse"+ "fixture/UntagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateAssessment :: UpdateAssessmentResponse -> TestTree+responseUpdateAssessment =+ res+ "UpdateAssessmentResponse"+ "fixture/UpdateAssessmentResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAssessment)++responseUpdateAssessmentControl :: UpdateAssessmentControlResponse -> TestTree+responseUpdateAssessmentControl =+ res+ "UpdateAssessmentControlResponse"+ "fixture/UpdateAssessmentControlResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAssessmentControl)++responseUpdateAssessmentControlSetStatus :: UpdateAssessmentControlSetStatusResponse -> TestTree+responseUpdateAssessmentControlSetStatus =+ res+ "UpdateAssessmentControlSetStatusResponse"+ "fixture/UpdateAssessmentControlSetStatusResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAssessmentControlSetStatus)++responseUpdateAssessmentFramework :: UpdateAssessmentFrameworkResponse -> TestTree+responseUpdateAssessmentFramework =+ res+ "UpdateAssessmentFrameworkResponse"+ "fixture/UpdateAssessmentFrameworkResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAssessmentFramework)++responseUpdateAssessmentFrameworkShare :: UpdateAssessmentFrameworkShareResponse -> TestTree+responseUpdateAssessmentFrameworkShare =+ res+ "UpdateAssessmentFrameworkShareResponse"+ "fixture/UpdateAssessmentFrameworkShareResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAssessmentFrameworkShare)++responseUpdateAssessmentStatus :: UpdateAssessmentStatusResponse -> TestTree+responseUpdateAssessmentStatus =+ res+ "UpdateAssessmentStatusResponse"+ "fixture/UpdateAssessmentStatusResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAssessmentStatus)++responseUpdateControl :: UpdateControlResponse -> TestTree+responseUpdateControl =+ res+ "UpdateControlResponse"+ "fixture/UpdateControlResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateControl)++responseUpdateSettings :: UpdateSettingsResponse -> TestTree+responseUpdateSettings =+ res+ "UpdateSettingsResponse"+ "fixture/UpdateSettingsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateSettings)++responseValidateAssessmentReportIntegrity :: ValidateAssessmentReportIntegrityResponse -> TestTree+responseValidateAssessmentReportIntegrity =+ res+ "ValidateAssessmentReportIntegrityResponse"+ "fixture/ValidateAssessmentReportIntegrityResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ValidateAssessmentReportIntegrity)