amazonka-maciev2 (empty) → 2.0
raw patch · 441 files changed
+47837/−0 lines, 441 filesdep +amazonka-coredep +amazonka-maciev2dep +amazonka-test
Dependencies added: amazonka-core, amazonka-maciev2, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-maciev2.cabal +354/−0
- fixture/AcceptInvitation.yaml +10/−0
- fixture/AcceptInvitationResponse.proto +0/−0
- fixture/BatchGetCustomDataIdentifiers.yaml +10/−0
- fixture/BatchGetCustomDataIdentifiersResponse.proto +0/−0
- fixture/CreateAllowList.yaml +10/−0
- fixture/CreateAllowListResponse.proto +0/−0
- fixture/CreateClassificationJob.yaml +10/−0
- fixture/CreateClassificationJobResponse.proto +0/−0
- fixture/CreateCustomDataIdentifier.yaml +10/−0
- fixture/CreateCustomDataIdentifierResponse.proto +0/−0
- fixture/CreateFindingsFilter.yaml +10/−0
- fixture/CreateFindingsFilterResponse.proto +0/−0
- fixture/CreateInvitations.yaml +10/−0
- fixture/CreateInvitationsResponse.proto +0/−0
- fixture/CreateMember.yaml +10/−0
- fixture/CreateMemberResponse.proto +0/−0
- fixture/CreateSampleFindings.yaml +10/−0
- fixture/CreateSampleFindingsResponse.proto +0/−0
- fixture/DeclineInvitations.yaml +10/−0
- fixture/DeclineInvitationsResponse.proto +0/−0
- fixture/DeleteAllowList.yaml +10/−0
- fixture/DeleteAllowListResponse.proto +0/−0
- fixture/DeleteCustomDataIdentifier.yaml +10/−0
- fixture/DeleteCustomDataIdentifierResponse.proto +0/−0
- fixture/DeleteFindingsFilter.yaml +10/−0
- fixture/DeleteFindingsFilterResponse.proto +0/−0
- fixture/DeleteInvitations.yaml +10/−0
- fixture/DeleteInvitationsResponse.proto +0/−0
- fixture/DeleteMember.yaml +10/−0
- fixture/DeleteMemberResponse.proto +0/−0
- fixture/DescribeBuckets.yaml +10/−0
- fixture/DescribeBucketsResponse.proto +0/−0
- fixture/DescribeClassificationJob.yaml +10/−0
- fixture/DescribeClassificationJobResponse.proto +0/−0
- fixture/DescribeOrganizationConfiguration.yaml +10/−0
- fixture/DescribeOrganizationConfigurationResponse.proto +0/−0
- fixture/DisableMacie.yaml +10/−0
- fixture/DisableMacieResponse.proto +0/−0
- fixture/DisableOrganizationAdminAccount.yaml +10/−0
- fixture/DisableOrganizationAdminAccountResponse.proto +0/−0
- fixture/DisassociateFromAdministratorAccount.yaml +10/−0
- fixture/DisassociateFromAdministratorAccountResponse.proto +0/−0
- fixture/DisassociateFromMasterAccount.yaml +10/−0
- fixture/DisassociateFromMasterAccountResponse.proto +0/−0
- fixture/DisassociateMember.yaml +10/−0
- fixture/DisassociateMemberResponse.proto +0/−0
- fixture/EnableMacie.yaml +10/−0
- fixture/EnableMacieResponse.proto +0/−0
- fixture/EnableOrganizationAdminAccount.yaml +10/−0
- fixture/EnableOrganizationAdminAccountResponse.proto +0/−0
- fixture/GetAdministratorAccount.yaml +10/−0
- fixture/GetAdministratorAccountResponse.proto +0/−0
- fixture/GetAllowList.yaml +10/−0
- fixture/GetAllowListResponse.proto +0/−0
- fixture/GetAutomatedDiscoveryConfiguration.yaml +10/−0
- fixture/GetAutomatedDiscoveryConfigurationResponse.proto +0/−0
- fixture/GetBucketStatistics.yaml +10/−0
- fixture/GetBucketStatisticsResponse.proto +0/−0
- fixture/GetClassificationExportConfiguration.yaml +10/−0
- fixture/GetClassificationExportConfigurationResponse.proto +0/−0
- fixture/GetClassificationScope.yaml +10/−0
- fixture/GetClassificationScopeResponse.proto +0/−0
- fixture/GetCustomDataIdentifier.yaml +10/−0
- fixture/GetCustomDataIdentifierResponse.proto +0/−0
- fixture/GetFindingStatistics.yaml +10/−0
- fixture/GetFindingStatisticsResponse.proto +0/−0
- fixture/GetFindings.yaml +10/−0
- fixture/GetFindingsFilter.yaml +10/−0
- fixture/GetFindingsFilterResponse.proto +0/−0
- fixture/GetFindingsPublicationConfiguration.yaml +10/−0
- fixture/GetFindingsPublicationConfigurationResponse.proto +0/−0
- fixture/GetFindingsResponse.proto +0/−0
- fixture/GetInvitationsCount.yaml +10/−0
- fixture/GetInvitationsCountResponse.proto +0/−0
- fixture/GetMacieSession.yaml +10/−0
- fixture/GetMacieSessionResponse.proto +0/−0
- fixture/GetMasterAccount.yaml +10/−0
- fixture/GetMasterAccountResponse.proto +0/−0
- fixture/GetMember.yaml +10/−0
- fixture/GetMemberResponse.proto +0/−0
- fixture/GetResourceProfile.yaml +10/−0
- fixture/GetResourceProfileResponse.proto +0/−0
- fixture/GetRevealConfiguration.yaml +10/−0
- fixture/GetRevealConfigurationResponse.proto +0/−0
- fixture/GetSensitiveDataOccurrences.yaml +10/−0
- fixture/GetSensitiveDataOccurrencesAvailability.yaml +10/−0
- fixture/GetSensitiveDataOccurrencesAvailabilityResponse.proto +0/−0
- fixture/GetSensitiveDataOccurrencesResponse.proto +0/−0
- fixture/GetSensitivityInspectionTemplate.yaml +10/−0
- fixture/GetSensitivityInspectionTemplateResponse.proto +0/−0
- fixture/GetUsageStatistics.yaml +10/−0
- fixture/GetUsageStatisticsResponse.proto +0/−0
- fixture/GetUsageTotals.yaml +10/−0
- fixture/GetUsageTotalsResponse.proto +0/−0
- fixture/ListAllowLists.yaml +10/−0
- fixture/ListAllowListsResponse.proto +0/−0
- fixture/ListClassificationJobs.yaml +10/−0
- fixture/ListClassificationJobsResponse.proto +0/−0
- fixture/ListClassificationScopes.yaml +10/−0
- fixture/ListClassificationScopesResponse.proto +0/−0
- fixture/ListCustomDataIdentifiers.yaml +10/−0
- fixture/ListCustomDataIdentifiersResponse.proto +0/−0
- fixture/ListFindings.yaml +10/−0
- fixture/ListFindingsFilters.yaml +10/−0
- fixture/ListFindingsFiltersResponse.proto +0/−0
- fixture/ListFindingsResponse.proto +0/−0
- fixture/ListInvitations.yaml +10/−0
- fixture/ListInvitationsResponse.proto +0/−0
- fixture/ListManagedDataIdentifiers.yaml +10/−0
- fixture/ListManagedDataIdentifiersResponse.proto +0/−0
- fixture/ListMembers.yaml +10/−0
- fixture/ListMembersResponse.proto +0/−0
- fixture/ListOrganizationAdminAccounts.yaml +10/−0
- fixture/ListOrganizationAdminAccountsResponse.proto +0/−0
- fixture/ListResourceProfileArtifacts.yaml +10/−0
- fixture/ListResourceProfileArtifactsResponse.proto +0/−0
- fixture/ListResourceProfileDetections.yaml +10/−0
- fixture/ListResourceProfileDetectionsResponse.proto +0/−0
- fixture/ListSensitivityInspectionTemplates.yaml +10/−0
- fixture/ListSensitivityInspectionTemplatesResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/PutClassificationExportConfiguration.yaml +10/−0
- fixture/PutClassificationExportConfigurationResponse.proto +0/−0
- fixture/PutFindingsPublicationConfiguration.yaml +10/−0
- fixture/PutFindingsPublicationConfigurationResponse.proto +0/−0
- fixture/SearchResources.yaml +10/−0
- fixture/SearchResourcesResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/TestCustomDataIdentifier.yaml +10/−0
- fixture/TestCustomDataIdentifierResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateAllowList.yaml +10/−0
- fixture/UpdateAllowListResponse.proto +0/−0
- fixture/UpdateAutomatedDiscoveryConfiguration.yaml +10/−0
- fixture/UpdateAutomatedDiscoveryConfigurationResponse.proto +0/−0
- fixture/UpdateClassificationJob.yaml +10/−0
- fixture/UpdateClassificationJobResponse.proto +0/−0
- fixture/UpdateClassificationScope.yaml +10/−0
- fixture/UpdateClassificationScopeResponse.proto +0/−0
- fixture/UpdateFindingsFilter.yaml +10/−0
- fixture/UpdateFindingsFilterResponse.proto +0/−0
- fixture/UpdateMacieSession.yaml +10/−0
- fixture/UpdateMacieSessionResponse.proto +0/−0
- fixture/UpdateMemberSession.yaml +10/−0
- fixture/UpdateMemberSessionResponse.proto +0/−0
- fixture/UpdateOrganizationConfiguration.yaml +10/−0
- fixture/UpdateOrganizationConfigurationResponse.proto +0/−0
- fixture/UpdateResourceProfile.yaml +10/−0
- fixture/UpdateResourceProfileDetections.yaml +10/−0
- fixture/UpdateResourceProfileDetectionsResponse.proto +0/−0
- fixture/UpdateResourceProfileResponse.proto +0/−0
- fixture/UpdateRevealConfiguration.yaml +10/−0
- fixture/UpdateRevealConfigurationResponse.proto +0/−0
- fixture/UpdateSensitivityInspectionTemplate.yaml +10/−0
- fixture/UpdateSensitivityInspectionTemplateResponse.proto +0/−0
- gen/Amazonka/MacieV2.hs +1354/−0
- gen/Amazonka/MacieV2/AcceptInvitation.hs +198/−0
- gen/Amazonka/MacieV2/BatchGetCustomDataIdentifiers.hs +204/−0
- gen/Amazonka/MacieV2/CreateAllowList.hs +269/−0
- gen/Amazonka/MacieV2/CreateClassificationJob.hs +537/−0
- gen/Amazonka/MacieV2/CreateCustomDataIdentifier.hs +420/−0
- gen/Amazonka/MacieV2/CreateFindingsFilter.hs +341/−0
- gen/Amazonka/MacieV2/CreateInvitations.hs +222/−0
- gen/Amazonka/MacieV2/CreateMember.hs +196/−0
- gen/Amazonka/MacieV2/CreateSampleFindings.hs +160/−0
- gen/Amazonka/MacieV2/DeclineInvitations.hs +175/−0
- gen/Amazonka/MacieV2/DeleteAllowList.hs +188/−0
- gen/Amazonka/MacieV2/DeleteCustomDataIdentifier.hs +153/−0
- gen/Amazonka/MacieV2/DeleteFindingsFilter.hs +149/−0
- gen/Amazonka/MacieV2/DeleteInvitations.hs +175/−0
- gen/Amazonka/MacieV2/DeleteMember.hs +144/−0
- gen/Amazonka/MacieV2/DescribeBuckets.hs +257/−0
- gen/Amazonka/MacieV2/DescribeClassificationJob.hs +643/−0
- gen/Amazonka/MacieV2/DescribeOrganizationConfiguration.hs +184/−0
- gen/Amazonka/MacieV2/DisableMacie.hs +125/−0
- gen/Amazonka/MacieV2/DisableOrganizationAdminAccount.hs +173/−0
- gen/Amazonka/MacieV2/DisassociateFromAdministratorAccount.hs +159/−0
- gen/Amazonka/MacieV2/DisassociateFromMasterAccount.hs +144/−0
- gen/Amazonka/MacieV2/DisassociateMember.hs +154/−0
- gen/Amazonka/MacieV2/EnableMacie.hs +189/−0
- gen/Amazonka/MacieV2/EnableOrganizationAdminAccount.hs +197/−0
- gen/Amazonka/MacieV2/GetAdministratorAccount.hs +154/−0
- gen/Amazonka/MacieV2/GetAllowList.hs +274/−0
- gen/Amazonka/MacieV2/GetAutomatedDiscoveryConfiguration.hs +282/−0
- gen/Amazonka/MacieV2/GetBucketStatistics.hs +432/−0
- gen/Amazonka/MacieV2/GetClassificationExportConfiguration.hs +170/−0
- gen/Amazonka/MacieV2/GetClassificationScope.hs +192/−0
- gen/Amazonka/MacieV2/GetCustomDataIdentifier.hs +354/−0
- gen/Amazonka/MacieV2/GetFindingStatistics.hs +252/−0
- gen/Amazonka/MacieV2/GetFindings.hs +186/−0
- gen/Amazonka/MacieV2/GetFindingsFilter.hs +266/−0
- gen/Amazonka/MacieV2/GetFindingsPublicationConfiguration.hs +169/−0
- gen/Amazonka/MacieV2/GetInvitationsCount.hs +145/−0
- gen/Amazonka/MacieV2/GetMacieSession.hs +217/−0
- gen/Amazonka/MacieV2/GetMasterAccount.hs +151/−0
- gen/Amazonka/MacieV2/GetMember.hs +278/−0
- gen/Amazonka/MacieV2/GetResourceProfile.hs +234/−0
- gen/Amazonka/MacieV2/GetRevealConfiguration.hs +148/−0
- gen/Amazonka/MacieV2/GetSensitiveDataOccurrences.hs +236/−0
- gen/Amazonka/MacieV2/GetSensitiveDataOccurrencesAvailability.hs +296/−0
- gen/Amazonka/MacieV2/GetSensitivityInspectionTemplate.hs +240/−0
- gen/Amazonka/MacieV2/GetUsageStatistics.hs +304/−0
- gen/Amazonka/MacieV2/GetUsageTotals.hs +189/−0
- gen/Amazonka/MacieV2/Lens.hs +1535/−0
- gen/Amazonka/MacieV2/ListAllowLists.hs +224/−0
- gen/Amazonka/MacieV2/ListClassificationJobs.hs +259/−0
- gen/Amazonka/MacieV2/ListClassificationScopes.hs +231/−0
- gen/Amazonka/MacieV2/ListCustomDataIdentifiers.hs +231/−0
- gen/Amazonka/MacieV2/ListFindings.hs +252/−0
- gen/Amazonka/MacieV2/ListFindingsFilters.hs +230/−0
- gen/Amazonka/MacieV2/ListInvitations.hs +227/−0
- gen/Amazonka/MacieV2/ListManagedDataIdentifiers.hs +216/−0
- gen/Amazonka/MacieV2/ListMembers.hs +246/−0
- gen/Amazonka/MacieV2/ListOrganizationAdminAccounts.hs +240/−0
- gen/Amazonka/MacieV2/ListResourceProfileArtifacts.hs +236/−0
- gen/Amazonka/MacieV2/ListResourceProfileDetections.hs +262/−0
- gen/Amazonka/MacieV2/ListSensitivityInspectionTemplates.hs +260/−0
- gen/Amazonka/MacieV2/ListTagsForResource.hs +163/−0
- gen/Amazonka/MacieV2/PutClassificationExportConfiguration.hs +207/−0
- gen/Amazonka/MacieV2/PutFindingsPublicationConfiguration.hs +206/−0
- gen/Amazonka/MacieV2/SearchResources.hs +266/−0
- gen/Amazonka/MacieV2/TagResource.hs +179/−0
- gen/Amazonka/MacieV2/TestCustomDataIdentifier.hs +277/−0
- gen/Amazonka/MacieV2/Types.hs +1540/−0
- gen/Amazonka/MacieV2/Types/AccessControlList.hs +92/−0
- gen/Amazonka/MacieV2/Types/AccountDetail.hs +88/−0
- gen/Amazonka/MacieV2/Types/AccountLevelPermissions.hs +77/−0
- gen/Amazonka/MacieV2/Types/AdminAccount.hs +89/−0
- gen/Amazonka/MacieV2/Types/AdminStatus.hs +74/−0
- gen/Amazonka/MacieV2/Types/AllowListCriteria.hs +102/−0
- gen/Amazonka/MacieV2/Types/AllowListStatus.hs +229/−0
- gen/Amazonka/MacieV2/Types/AllowListStatusCode.hs +103/−0
- gen/Amazonka/MacieV2/Types/AllowListSummary.hs +138/−0
- gen/Amazonka/MacieV2/Types/AllowsUnencryptedObjectUploads.hs +76/−0
- gen/Amazonka/MacieV2/Types/ApiCallDetails.hs +121/−0
- gen/Amazonka/MacieV2/Types/AssumedRole.hs +136/−0
- gen/Amazonka/MacieV2/Types/AutomatedDiscoveryStatus.hs +73/−0
- gen/Amazonka/MacieV2/Types/AvailabilityCode.hs +73/−0
- gen/Amazonka/MacieV2/Types/AwsAccount.hs +87/−0
- gen/Amazonka/MacieV2/Types/AwsService.hs +68/−0
- gen/Amazonka/MacieV2/Types/BatchGetCustomDataIdentifierSummary.hs +153/−0
- gen/Amazonka/MacieV2/Types/BlockPublicAccess.hs +125/−0
- gen/Amazonka/MacieV2/Types/BucketCountByEffectivePermission.hs +137/−0
- gen/Amazonka/MacieV2/Types/BucketCountByEncryptionType.hs +134/−0
- gen/Amazonka/MacieV2/Types/BucketCountBySharedAccessType.hs +128/−0
- gen/Amazonka/MacieV2/Types/BucketCountPolicyAllowsUnencryptedObjectUploads.hs +154/−0
- gen/Amazonka/MacieV2/Types/BucketCriteriaAdditionalProperties.hs +168/−0
- gen/Amazonka/MacieV2/Types/BucketLevelPermissions.hs +110/−0
- gen/Amazonka/MacieV2/Types/BucketMetadata.hs +648/−0
- gen/Amazonka/MacieV2/Types/BucketMetadataErrorCode.hs +69/−0
- gen/Amazonka/MacieV2/Types/BucketPermissionConfiguration.hs +91/−0
- gen/Amazonka/MacieV2/Types/BucketPolicy.hs +92/−0
- gen/Amazonka/MacieV2/Types/BucketPublicAccess.hs +115/−0
- gen/Amazonka/MacieV2/Types/BucketServerSideEncryption.hs +134/−0
- gen/Amazonka/MacieV2/Types/BucketSortCriteria.hs +101/−0
- gen/Amazonka/MacieV2/Types/BucketStatisticsBySensitivity.hs +128/−0
- gen/Amazonka/MacieV2/Types/Cell.hs +124/−0
- gen/Amazonka/MacieV2/Types/ClassificationDetails.hs +154/−0
- gen/Amazonka/MacieV2/Types/ClassificationExportConfiguration.hs +101/−0
- gen/Amazonka/MacieV2/Types/ClassificationResult.hs +171/−0
- gen/Amazonka/MacieV2/Types/ClassificationResultStatus.hs +380/−0
- gen/Amazonka/MacieV2/Types/ClassificationScopeSummary.hs +85/−0
- gen/Amazonka/MacieV2/Types/ClassificationScopeUpdateOperation.hs +79/−0
- gen/Amazonka/MacieV2/Types/CriteriaBlockForJob.hs +82/−0
- gen/Amazonka/MacieV2/Types/CriteriaForJob.hs +106/−0
- gen/Amazonka/MacieV2/Types/CriterionAdditionalProperties.hs +211/−0
- gen/Amazonka/MacieV2/Types/Currency.hs +68/−0
- gen/Amazonka/MacieV2/Types/CustomDataIdentifierSummary.hs +123/−0
- gen/Amazonka/MacieV2/Types/CustomDataIdentifiers.hs +94/−0
- gen/Amazonka/MacieV2/Types/CustomDetection.hs +120/−0
- gen/Amazonka/MacieV2/Types/DailySchedule.hs +58/−0
- gen/Amazonka/MacieV2/Types/DataIdentifierSeverity.hs +78/−0
- gen/Amazonka/MacieV2/Types/DataIdentifierType.hs +73/−0
- gen/Amazonka/MacieV2/Types/DayOfWeek.hs +96/−0
- gen/Amazonka/MacieV2/Types/DefaultDetection.hs +110/−0
- gen/Amazonka/MacieV2/Types/DetectedDataDetails.hs +73/−0
- gen/Amazonka/MacieV2/Types/Detection.hs +171/−0
- gen/Amazonka/MacieV2/Types/DomainDetails.hs +68/−0
- gen/Amazonka/MacieV2/Types/EffectivePermission.hs +76/−0
- gen/Amazonka/MacieV2/Types/EncryptionType.hs +83/−0
- gen/Amazonka/MacieV2/Types/ErrorCode.hs +72/−0
- gen/Amazonka/MacieV2/Types/FederatedUser.hs +136/−0
- gen/Amazonka/MacieV2/Types/Finding.hs +333/−0
- gen/Amazonka/MacieV2/Types/FindingAction.hs +99/−0
- gen/Amazonka/MacieV2/Types/FindingActionType.hs +68/−0
- gen/Amazonka/MacieV2/Types/FindingActor.hs +112/−0
- gen/Amazonka/MacieV2/Types/FindingCategory.hs +72/−0
- gen/Amazonka/MacieV2/Types/FindingCriteria.hs +80/−0
- gen/Amazonka/MacieV2/Types/FindingPublishingFrequency.hs +82/−0
- gen/Amazonka/MacieV2/Types/FindingStatisticsSortAttributeName.hs +72/−0
- gen/Amazonka/MacieV2/Types/FindingStatisticsSortCriteria.hs +105/−0
- gen/Amazonka/MacieV2/Types/FindingType.hs +114/−0
- gen/Amazonka/MacieV2/Types/FindingsFilterAction.hs +74/−0
- gen/Amazonka/MacieV2/Types/FindingsFilterListItem.hs +130/−0
- gen/Amazonka/MacieV2/Types/GroupBy.hs +78/−0
- gen/Amazonka/MacieV2/Types/GroupCount.hs +88/−0
- gen/Amazonka/MacieV2/Types/IamUser.hs +118/−0
- gen/Amazonka/MacieV2/Types/Invitation.hs +118/−0
- gen/Amazonka/MacieV2/Types/IpAddressDetails.hs +128/−0
- gen/Amazonka/MacieV2/Types/IpCity.hs +64/−0
- gen/Amazonka/MacieV2/Types/IpCountry.hs +90/−0
- gen/Amazonka/MacieV2/Types/IpGeoLocation.hs +87/−0
- gen/Amazonka/MacieV2/Types/IpOwner.hs +120/−0
- gen/Amazonka/MacieV2/Types/IsDefinedInJob.hs +76/−0
- gen/Amazonka/MacieV2/Types/IsMonitoredByJob.hs +76/−0
- gen/Amazonka/MacieV2/Types/JobComparator.hs +103/−0
- gen/Amazonka/MacieV2/Types/JobDetails.hs +238/−0
- gen/Amazonka/MacieV2/Types/JobScheduleFrequency.hs +112/−0
- gen/Amazonka/MacieV2/Types/JobScopeTerm.hs +105/−0
- gen/Amazonka/MacieV2/Types/JobScopingBlock.hs +85/−0
- gen/Amazonka/MacieV2/Types/JobStatus.hs +92/−0
- gen/Amazonka/MacieV2/Types/JobSummary.hs +307/−0
- gen/Amazonka/MacieV2/Types/JobType.hs +69/−0
- gen/Amazonka/MacieV2/Types/KeyValuePair.hs +91/−0
- gen/Amazonka/MacieV2/Types/LastRunErrorStatus.hs +96/−0
- gen/Amazonka/MacieV2/Types/LastRunErrorStatusCode.hs +74/−0
- gen/Amazonka/MacieV2/Types/ListJobsFilterCriteria.hs +91/−0
- gen/Amazonka/MacieV2/Types/ListJobsFilterKey.hs +82/−0
- gen/Amazonka/MacieV2/Types/ListJobsFilterTerm.hs +99/−0
- gen/Amazonka/MacieV2/Types/ListJobsSortAttributeName.hs +82/−0
- gen/Amazonka/MacieV2/Types/ListJobsSortCriteria.hs +96/−0
- gen/Amazonka/MacieV2/Types/MacieStatus.hs +72/−0
- gen/Amazonka/MacieV2/Types/ManagedDataIdentifierSelector.hs +83/−0
- gen/Amazonka/MacieV2/Types/ManagedDataIdentifierSummary.hs +118/−0
- gen/Amazonka/MacieV2/Types/MatchingBucket.hs +382/−0
- gen/Amazonka/MacieV2/Types/MatchingResource.hs +72/−0
- gen/Amazonka/MacieV2/Types/Member.hs +194/−0
- gen/Amazonka/MacieV2/Types/MonthlySchedule.hs +96/−0
- gen/Amazonka/MacieV2/Types/ObjectCountByEncryptionType.hs +144/−0
- gen/Amazonka/MacieV2/Types/ObjectLevelStatistics.hs +120/−0
- gen/Amazonka/MacieV2/Types/Occurrences.hs +213/−0
- gen/Amazonka/MacieV2/Types/OrderBy.hs +68/−0
- gen/Amazonka/MacieV2/Types/OriginType.hs +73/−0
- gen/Amazonka/MacieV2/Types/Page.hs +98/−0
- gen/Amazonka/MacieV2/Types/PolicyDetails.hs +85/−0
- gen/Amazonka/MacieV2/Types/Range.hs +109/−0
- gen/Amazonka/MacieV2/Types/Record.hs +131/−0
- gen/Amazonka/MacieV2/Types/RelationshipStatus.hs +113/−0
- gen/Amazonka/MacieV2/Types/ReplicationDetails.hs +116/−0
- gen/Amazonka/MacieV2/Types/ResourceProfileArtifact.hs +138/−0
- gen/Amazonka/MacieV2/Types/ResourceStatistics.hs +231/−0
- gen/Amazonka/MacieV2/Types/ResourcesAffected.hs +86/−0
- gen/Amazonka/MacieV2/Types/RevealConfiguration.hs +140/−0
- gen/Amazonka/MacieV2/Types/RevealRequestStatus.hs +78/−0
- gen/Amazonka/MacieV2/Types/RevealStatus.hs +73/−0
- gen/Amazonka/MacieV2/Types/S3Bucket.hs +228/−0
- gen/Amazonka/MacieV2/Types/S3BucketCriteriaForJob.hs +102/−0
- gen/Amazonka/MacieV2/Types/S3BucketDefinitionForJob.hs +100/−0
- gen/Amazonka/MacieV2/Types/S3BucketOwner.hs +85/−0
- gen/Amazonka/MacieV2/Types/S3ClassificationScope.hs +72/−0
- gen/Amazonka/MacieV2/Types/S3ClassificationScopeExclusion.hs +84/−0
- gen/Amazonka/MacieV2/Types/S3ClassificationScopeExclusionUpdate.hs +141/−0
- gen/Amazonka/MacieV2/Types/S3ClassificationScopeUpdate.hs +71/−0
- gen/Amazonka/MacieV2/Types/S3Destination.hs +123/−0
- gen/Amazonka/MacieV2/Types/S3JobDefinition.hs +150/−0
- gen/Amazonka/MacieV2/Types/S3Object.hs +225/−0
- gen/Amazonka/MacieV2/Types/S3WordsList.hs +98/−0
- gen/Amazonka/MacieV2/Types/ScopeFilterKey.hs +83/−0
- gen/Amazonka/MacieV2/Types/Scoping.hs +102/−0
- gen/Amazonka/MacieV2/Types/SearchResourcesBucketCriteria.hs +96/−0
- gen/Amazonka/MacieV2/Types/SearchResourcesComparator.hs +73/−0
- gen/Amazonka/MacieV2/Types/SearchResourcesCriteria.hs +97/−0
- gen/Amazonka/MacieV2/Types/SearchResourcesCriteriaBlock.hs +83/−0
- gen/Amazonka/MacieV2/Types/SearchResourcesSimpleCriterion.hs +170/−0
- gen/Amazonka/MacieV2/Types/SearchResourcesSimpleCriterionKey.hs +83/−0
- gen/Amazonka/MacieV2/Types/SearchResourcesSortAttributeName.hs +82/−0
- gen/Amazonka/MacieV2/Types/SearchResourcesSortCriteria.hs +97/−0
- gen/Amazonka/MacieV2/Types/SearchResourcesTagCriterion.hs +93/−0
- gen/Amazonka/MacieV2/Types/SearchResourcesTagCriterionPair.hs +94/−0
- gen/Amazonka/MacieV2/Types/SecurityHubConfiguration.hs +129/−0
- gen/Amazonka/MacieV2/Types/SensitiveDataItem.hs +123/−0
- gen/Amazonka/MacieV2/Types/SensitiveDataItemCategory.hs +85/−0
- gen/Amazonka/MacieV2/Types/SensitivityAggregations.hs +153/−0
- gen/Amazonka/MacieV2/Types/SensitivityInspectionTemplateExcludes.hs +110/−0
- gen/Amazonka/MacieV2/Types/SensitivityInspectionTemplateIncludes.hs +162/−0
- gen/Amazonka/MacieV2/Types/SensitivityInspectionTemplatesEntry.hs +100/−0
- gen/Amazonka/MacieV2/Types/ServerSideEncryption.hs +102/−0
- gen/Amazonka/MacieV2/Types/ServiceLimit.hs +103/−0
- gen/Amazonka/MacieV2/Types/SessionContext.hs +93/−0
- gen/Amazonka/MacieV2/Types/SessionContextAttributes.hs +92/−0
- gen/Amazonka/MacieV2/Types/SessionIssuer.hs +139/−0
- gen/Amazonka/MacieV2/Types/Severity.hs +92/−0
- gen/Amazonka/MacieV2/Types/SeverityDescription.hs +78/−0
- gen/Amazonka/MacieV2/Types/SeverityLevel.hs +123/−0
- gen/Amazonka/MacieV2/Types/SharedAccess.hs +81/−0
- gen/Amazonka/MacieV2/Types/SimpleCriterionForJob.hs +173/−0
- gen/Amazonka/MacieV2/Types/SimpleCriterionKeyForJob.hs +83/−0
- gen/Amazonka/MacieV2/Types/SimpleScopeTerm.hs +205/−0
- gen/Amazonka/MacieV2/Types/SortCriteria.hs +96/−0
- gen/Amazonka/MacieV2/Types/Statistics.hs +88/−0
- gen/Amazonka/MacieV2/Types/StorageClass.hs +107/−0
- gen/Amazonka/MacieV2/Types/SuppressDataIdentifier.hs +97/−0
- gen/Amazonka/MacieV2/Types/TagCriterionForJob.hs +102/−0
- gen/Amazonka/MacieV2/Types/TagCriterionPairForJob.hs +96/−0
- gen/Amazonka/MacieV2/Types/TagScopeTerm.hs +135/−0
- gen/Amazonka/MacieV2/Types/TagTarget.hs +67/−0
- gen/Amazonka/MacieV2/Types/TagValuePair.hs +102/−0
- gen/Amazonka/MacieV2/Types/TimeRange.hs +73/−0
- gen/Amazonka/MacieV2/Types/Type.hs +73/−0
- gen/Amazonka/MacieV2/Types/UnavailabilityReasonCode.hs +88/−0
- gen/Amazonka/MacieV2/Types/Unit.hs +63/−0
- gen/Amazonka/MacieV2/Types/UnprocessedAccount.hs +101/−0
- gen/Amazonka/MacieV2/Types/UsageByAccount.hs +133/−0
- gen/Amazonka/MacieV2/Types/UsageRecord.hs +134/−0
- gen/Amazonka/MacieV2/Types/UsageStatisticsFilter.hs +159/−0
- gen/Amazonka/MacieV2/Types/UsageStatisticsFilterComparator.hs +98/−0
- gen/Amazonka/MacieV2/Types/UsageStatisticsFilterKey.hs +83/−0
- gen/Amazonka/MacieV2/Types/UsageStatisticsSortBy.hs +91/−0
- gen/Amazonka/MacieV2/Types/UsageStatisticsSortKey.hs +83/−0
- gen/Amazonka/MacieV2/Types/UsageTotal.hs +119/−0
- gen/Amazonka/MacieV2/Types/UsageType.hs +83/−0
- gen/Amazonka/MacieV2/Types/UserIdentity.hs +182/−0
- gen/Amazonka/MacieV2/Types/UserIdentityRoot.hs +104/−0
- gen/Amazonka/MacieV2/Types/UserIdentityType.hs +93/−0
- gen/Amazonka/MacieV2/Types/UserPausedDetails.hs +118/−0
- gen/Amazonka/MacieV2/Types/WeeklySchedule.hs +75/−0
- gen/Amazonka/MacieV2/UntagResource.hs +168/−0
- gen/Amazonka/MacieV2/UpdateAllowList.hs +253/−0
- gen/Amazonka/MacieV2/UpdateAutomatedDiscoveryConfiguration.hs +219/−0
- gen/Amazonka/MacieV2/UpdateClassificationJob.hs +261/−0
- gen/Amazonka/MacieV2/UpdateClassificationScope.hs +176/−0
- gen/Amazonka/MacieV2/UpdateFindingsFilter.hs +317/−0
- gen/Amazonka/MacieV2/UpdateMacieSession.hs +183/−0
- gen/Amazonka/MacieV2/UpdateMemberSession.hs +177/−0
- gen/Amazonka/MacieV2/UpdateOrganizationConfiguration.hs +178/−0
- gen/Amazonka/MacieV2/UpdateResourceProfile.hs +184/−0
- gen/Amazonka/MacieV2/UpdateResourceProfileDetections.hs +203/−0
- gen/Amazonka/MacieV2/UpdateRevealConfiguration.hs +180/−0
- gen/Amazonka/MacieV2/UpdateSensitivityInspectionTemplate.hs +253/−0
- gen/Amazonka/MacieV2/Waiters.hs +50/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/MacieV2.hs +1618/−0
- test/Test/Amazonka/MacieV2.hs +20/−0
- test/Test/Amazonka/MacieV2/Internal.hs +8/−0
+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+ means each individual or legal entity that creates, contributes to+ the creation of, or owns Covered Software.++1.2. "Contributor Version"+ means the combination of the Contributions of others (if any) used+ by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+ means Covered Software of a particular Contributor.++1.4. "Covered Software"+ means Source Code Form to which the initial Contributor has attached+ the notice in Exhibit A, the Executable Form of such Source Code+ Form, and Modifications of such Source Code Form, in each case+ including portions thereof.++1.5. "Incompatible With Secondary Licenses"+ means++ (a) that the initial Contributor has attached the notice described+ in Exhibit B to the Covered Software; or++ (b) that the Covered Software was made available under the terms of+ version 1.1 or earlier of the License, but not also under the+ terms of a Secondary License.++1.6. "Executable Form"+ means any form of the work other than Source Code Form.++1.7. "Larger Work"+ means a work that combines Covered Software with other material, in+ a separate file or files, that is not Covered Software.++1.8. "License"+ means this document.++1.9. "Licensable"+ means having the right to grant, to the maximum extent possible,+ whether at the time of the initial grant or subsequently, any and+ all of the rights conveyed by this License.++1.10. "Modifications"+ means any of the following:++ (a) any file in Source Code Form that results from an addition to,+ deletion from, or modification of the contents of Covered+ Software; or++ (b) any new file in Source Code Form that contains any Covered+ Software.++1.11. "Patent Claims" of a Contributor+ means any patent claim(s), including without limitation, method,+ process, and apparatus claims, in any patent Licensable by such+ Contributor that would be infringed, but for the grant of the+ License, by the making, using, selling, offering for sale, having+ made, import, or transfer of either its Contributions or its+ Contributor Version.++1.12. "Secondary License"+ means either the GNU General Public License, Version 2.0, the GNU+ Lesser General Public License, Version 2.1, the GNU Affero General+ Public License, Version 3.0, or any later versions of those+ licenses.++1.13. "Source Code Form"+ means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+ means an individual or a legal entity exercising rights under this+ License. For legal entities, "You" includes any entity that+ controls, is controlled by, or is under common control with You. For+ purposes of this definition, "control" means (a) the power, direct+ or indirect, to cause the direction or management of such entity,+ whether by contract or otherwise, or (b) ownership of more than+ fifty percent (50%) of the outstanding shares or beneficial+ ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+ Licensable by such Contributor to use, reproduce, make available,+ modify, display, perform, distribute, and otherwise exploit its+ Contributions, either on an unmodified basis, with Modifications, or+ as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+ for sale, have made, import, and otherwise transfer either its+ Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+ or++(b) for infringements caused by: (i) Your and any other third party's+ modifications of Covered Software, or (ii) the combination of its+ Contributions with other software (except as part of its Contributor+ Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+ its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+ Form, as described in Section 3.1, and You must inform recipients of+ the Executable Form how they can obtain a copy of such Source Code+ Form by reasonable means in a timely manner, at a charge no more+ than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+ License, or sublicense it under different terms, provided that the+ license for the Executable Form does not attempt to limit or alter+ the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+* *+* 6. Disclaimer of Warranty *+* ------------------------- *+* *+* Covered Software is provided under this License on an "as is" *+* basis, without warranty of any kind, either expressed, implied, or *+* statutory, including, without limitation, warranties that the *+* Covered Software is free of defects, merchantable, fit for a *+* particular purpose or non-infringing. The entire risk as to the *+* quality and performance of the Covered Software is with You. *+* Should any Covered Software prove defective in any respect, You *+* (not any Contributor) assume the cost of any necessary servicing, *+* repair, or correction. This disclaimer of warranty constitutes an *+* essential part of this License. No use of any Covered Software is *+* authorized under this License except under this disclaimer. *+* *+************************************************************************++************************************************************************+* *+* 7. Limitation of Liability *+* -------------------------- *+* *+* Under no circumstances and under no legal theory, whether tort *+* (including negligence), contract, or otherwise, shall any *+* Contributor, or anyone who distributes Covered Software as *+* permitted above, be liable to You for any direct, indirect, *+* special, incidental, or consequential damages of any character *+* including, without limitation, damages for lost profits, loss of *+* goodwill, work stoppage, computer failure or malfunction, or any *+* and all other commercial damages or losses, even if such party *+* shall have been informed of the possibility of such damages. This *+* limitation of liability shall not apply to liability for death or *+* personal injury resulting from such party's negligence to the *+* extent applicable law prohibits such limitation. Some *+* jurisdictions do not allow the exclusion or limitation of *+* incidental or consequential damages, so this exclusion and *+* limitation may not apply to You. *+* *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++ This Source Code Form is subject to the terms of the Mozilla Public+ License, v. 2.0. If a copy of the MPL was not distributed with this+ file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon Macie 2 SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2020-01-01@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-maciev2)+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.MacieV2](http://hackage.haskell.org/package/amazonka-maciev2/docs/Amazonka-MacieV2.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-maciev2` 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-maciev2.cabal view
@@ -0,0 +1,354 @@+cabal-version: 2.2+name: amazonka-maciev2+version: 2.0+synopsis: Amazon Macie 2 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 @2020-01-01@ 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.MacieV2.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.MacieV2" 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-maciev2++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.MacieV2+ Amazonka.MacieV2.AcceptInvitation+ Amazonka.MacieV2.BatchGetCustomDataIdentifiers+ Amazonka.MacieV2.CreateAllowList+ Amazonka.MacieV2.CreateClassificationJob+ Amazonka.MacieV2.CreateCustomDataIdentifier+ Amazonka.MacieV2.CreateFindingsFilter+ Amazonka.MacieV2.CreateInvitations+ Amazonka.MacieV2.CreateMember+ Amazonka.MacieV2.CreateSampleFindings+ Amazonka.MacieV2.DeclineInvitations+ Amazonka.MacieV2.DeleteAllowList+ Amazonka.MacieV2.DeleteCustomDataIdentifier+ Amazonka.MacieV2.DeleteFindingsFilter+ Amazonka.MacieV2.DeleteInvitations+ Amazonka.MacieV2.DeleteMember+ Amazonka.MacieV2.DescribeBuckets+ Amazonka.MacieV2.DescribeClassificationJob+ Amazonka.MacieV2.DescribeOrganizationConfiguration+ Amazonka.MacieV2.DisableMacie+ Amazonka.MacieV2.DisableOrganizationAdminAccount+ Amazonka.MacieV2.DisassociateFromAdministratorAccount+ Amazonka.MacieV2.DisassociateFromMasterAccount+ Amazonka.MacieV2.DisassociateMember+ Amazonka.MacieV2.EnableMacie+ Amazonka.MacieV2.EnableOrganizationAdminAccount+ Amazonka.MacieV2.GetAdministratorAccount+ Amazonka.MacieV2.GetAllowList+ Amazonka.MacieV2.GetAutomatedDiscoveryConfiguration+ Amazonka.MacieV2.GetBucketStatistics+ Amazonka.MacieV2.GetClassificationExportConfiguration+ Amazonka.MacieV2.GetClassificationScope+ Amazonka.MacieV2.GetCustomDataIdentifier+ Amazonka.MacieV2.GetFindings+ Amazonka.MacieV2.GetFindingsFilter+ Amazonka.MacieV2.GetFindingsPublicationConfiguration+ Amazonka.MacieV2.GetFindingStatistics+ Amazonka.MacieV2.GetInvitationsCount+ Amazonka.MacieV2.GetMacieSession+ Amazonka.MacieV2.GetMasterAccount+ Amazonka.MacieV2.GetMember+ Amazonka.MacieV2.GetResourceProfile+ Amazonka.MacieV2.GetRevealConfiguration+ Amazonka.MacieV2.GetSensitiveDataOccurrences+ Amazonka.MacieV2.GetSensitiveDataOccurrencesAvailability+ Amazonka.MacieV2.GetSensitivityInspectionTemplate+ Amazonka.MacieV2.GetUsageStatistics+ Amazonka.MacieV2.GetUsageTotals+ Amazonka.MacieV2.Lens+ Amazonka.MacieV2.ListAllowLists+ Amazonka.MacieV2.ListClassificationJobs+ Amazonka.MacieV2.ListClassificationScopes+ Amazonka.MacieV2.ListCustomDataIdentifiers+ Amazonka.MacieV2.ListFindings+ Amazonka.MacieV2.ListFindingsFilters+ Amazonka.MacieV2.ListInvitations+ Amazonka.MacieV2.ListManagedDataIdentifiers+ Amazonka.MacieV2.ListMembers+ Amazonka.MacieV2.ListOrganizationAdminAccounts+ Amazonka.MacieV2.ListResourceProfileArtifacts+ Amazonka.MacieV2.ListResourceProfileDetections+ Amazonka.MacieV2.ListSensitivityInspectionTemplates+ Amazonka.MacieV2.ListTagsForResource+ Amazonka.MacieV2.PutClassificationExportConfiguration+ Amazonka.MacieV2.PutFindingsPublicationConfiguration+ Amazonka.MacieV2.SearchResources+ Amazonka.MacieV2.TagResource+ Amazonka.MacieV2.TestCustomDataIdentifier+ Amazonka.MacieV2.Types+ Amazonka.MacieV2.Types.AccessControlList+ Amazonka.MacieV2.Types.AccountDetail+ Amazonka.MacieV2.Types.AccountLevelPermissions+ Amazonka.MacieV2.Types.AdminAccount+ Amazonka.MacieV2.Types.AdminStatus+ Amazonka.MacieV2.Types.AllowListCriteria+ Amazonka.MacieV2.Types.AllowListStatus+ Amazonka.MacieV2.Types.AllowListStatusCode+ Amazonka.MacieV2.Types.AllowListSummary+ Amazonka.MacieV2.Types.AllowsUnencryptedObjectUploads+ Amazonka.MacieV2.Types.ApiCallDetails+ Amazonka.MacieV2.Types.AssumedRole+ Amazonka.MacieV2.Types.AutomatedDiscoveryStatus+ Amazonka.MacieV2.Types.AvailabilityCode+ Amazonka.MacieV2.Types.AwsAccount+ Amazonka.MacieV2.Types.AwsService+ Amazonka.MacieV2.Types.BatchGetCustomDataIdentifierSummary+ Amazonka.MacieV2.Types.BlockPublicAccess+ Amazonka.MacieV2.Types.BucketCountByEffectivePermission+ Amazonka.MacieV2.Types.BucketCountByEncryptionType+ Amazonka.MacieV2.Types.BucketCountBySharedAccessType+ Amazonka.MacieV2.Types.BucketCountPolicyAllowsUnencryptedObjectUploads+ Amazonka.MacieV2.Types.BucketCriteriaAdditionalProperties+ Amazonka.MacieV2.Types.BucketLevelPermissions+ Amazonka.MacieV2.Types.BucketMetadata+ Amazonka.MacieV2.Types.BucketMetadataErrorCode+ Amazonka.MacieV2.Types.BucketPermissionConfiguration+ Amazonka.MacieV2.Types.BucketPolicy+ Amazonka.MacieV2.Types.BucketPublicAccess+ Amazonka.MacieV2.Types.BucketServerSideEncryption+ Amazonka.MacieV2.Types.BucketSortCriteria+ Amazonka.MacieV2.Types.BucketStatisticsBySensitivity+ Amazonka.MacieV2.Types.Cell+ Amazonka.MacieV2.Types.ClassificationDetails+ Amazonka.MacieV2.Types.ClassificationExportConfiguration+ Amazonka.MacieV2.Types.ClassificationResult+ Amazonka.MacieV2.Types.ClassificationResultStatus+ Amazonka.MacieV2.Types.ClassificationScopeSummary+ Amazonka.MacieV2.Types.ClassificationScopeUpdateOperation+ Amazonka.MacieV2.Types.CriteriaBlockForJob+ Amazonka.MacieV2.Types.CriteriaForJob+ Amazonka.MacieV2.Types.CriterionAdditionalProperties+ Amazonka.MacieV2.Types.Currency+ Amazonka.MacieV2.Types.CustomDataIdentifiers+ Amazonka.MacieV2.Types.CustomDataIdentifierSummary+ Amazonka.MacieV2.Types.CustomDetection+ Amazonka.MacieV2.Types.DailySchedule+ Amazonka.MacieV2.Types.DataIdentifierSeverity+ Amazonka.MacieV2.Types.DataIdentifierType+ Amazonka.MacieV2.Types.DayOfWeek+ Amazonka.MacieV2.Types.DefaultDetection+ Amazonka.MacieV2.Types.DetectedDataDetails+ Amazonka.MacieV2.Types.Detection+ Amazonka.MacieV2.Types.DomainDetails+ Amazonka.MacieV2.Types.EffectivePermission+ Amazonka.MacieV2.Types.EncryptionType+ Amazonka.MacieV2.Types.ErrorCode+ Amazonka.MacieV2.Types.FederatedUser+ Amazonka.MacieV2.Types.Finding+ Amazonka.MacieV2.Types.FindingAction+ Amazonka.MacieV2.Types.FindingActionType+ Amazonka.MacieV2.Types.FindingActor+ Amazonka.MacieV2.Types.FindingCategory+ Amazonka.MacieV2.Types.FindingCriteria+ Amazonka.MacieV2.Types.FindingPublishingFrequency+ Amazonka.MacieV2.Types.FindingsFilterAction+ Amazonka.MacieV2.Types.FindingsFilterListItem+ Amazonka.MacieV2.Types.FindingStatisticsSortAttributeName+ Amazonka.MacieV2.Types.FindingStatisticsSortCriteria+ Amazonka.MacieV2.Types.FindingType+ Amazonka.MacieV2.Types.GroupBy+ Amazonka.MacieV2.Types.GroupCount+ Amazonka.MacieV2.Types.IamUser+ Amazonka.MacieV2.Types.Invitation+ Amazonka.MacieV2.Types.IpAddressDetails+ Amazonka.MacieV2.Types.IpCity+ Amazonka.MacieV2.Types.IpCountry+ Amazonka.MacieV2.Types.IpGeoLocation+ Amazonka.MacieV2.Types.IpOwner+ Amazonka.MacieV2.Types.IsDefinedInJob+ Amazonka.MacieV2.Types.IsMonitoredByJob+ Amazonka.MacieV2.Types.JobComparator+ Amazonka.MacieV2.Types.JobDetails+ Amazonka.MacieV2.Types.JobScheduleFrequency+ Amazonka.MacieV2.Types.JobScopeTerm+ Amazonka.MacieV2.Types.JobScopingBlock+ Amazonka.MacieV2.Types.JobStatus+ Amazonka.MacieV2.Types.JobSummary+ Amazonka.MacieV2.Types.JobType+ Amazonka.MacieV2.Types.KeyValuePair+ Amazonka.MacieV2.Types.LastRunErrorStatus+ Amazonka.MacieV2.Types.LastRunErrorStatusCode+ Amazonka.MacieV2.Types.ListJobsFilterCriteria+ Amazonka.MacieV2.Types.ListJobsFilterKey+ Amazonka.MacieV2.Types.ListJobsFilterTerm+ Amazonka.MacieV2.Types.ListJobsSortAttributeName+ Amazonka.MacieV2.Types.ListJobsSortCriteria+ Amazonka.MacieV2.Types.MacieStatus+ Amazonka.MacieV2.Types.ManagedDataIdentifierSelector+ Amazonka.MacieV2.Types.ManagedDataIdentifierSummary+ Amazonka.MacieV2.Types.MatchingBucket+ Amazonka.MacieV2.Types.MatchingResource+ Amazonka.MacieV2.Types.Member+ Amazonka.MacieV2.Types.MonthlySchedule+ Amazonka.MacieV2.Types.ObjectCountByEncryptionType+ Amazonka.MacieV2.Types.ObjectLevelStatistics+ Amazonka.MacieV2.Types.Occurrences+ Amazonka.MacieV2.Types.OrderBy+ Amazonka.MacieV2.Types.OriginType+ Amazonka.MacieV2.Types.Page+ Amazonka.MacieV2.Types.PolicyDetails+ Amazonka.MacieV2.Types.Range+ Amazonka.MacieV2.Types.Record+ Amazonka.MacieV2.Types.RelationshipStatus+ Amazonka.MacieV2.Types.ReplicationDetails+ Amazonka.MacieV2.Types.ResourceProfileArtifact+ Amazonka.MacieV2.Types.ResourcesAffected+ Amazonka.MacieV2.Types.ResourceStatistics+ Amazonka.MacieV2.Types.RevealConfiguration+ Amazonka.MacieV2.Types.RevealRequestStatus+ Amazonka.MacieV2.Types.RevealStatus+ Amazonka.MacieV2.Types.S3Bucket+ Amazonka.MacieV2.Types.S3BucketCriteriaForJob+ Amazonka.MacieV2.Types.S3BucketDefinitionForJob+ Amazonka.MacieV2.Types.S3BucketOwner+ Amazonka.MacieV2.Types.S3ClassificationScope+ Amazonka.MacieV2.Types.S3ClassificationScopeExclusion+ Amazonka.MacieV2.Types.S3ClassificationScopeExclusionUpdate+ Amazonka.MacieV2.Types.S3ClassificationScopeUpdate+ Amazonka.MacieV2.Types.S3Destination+ Amazonka.MacieV2.Types.S3JobDefinition+ Amazonka.MacieV2.Types.S3Object+ Amazonka.MacieV2.Types.S3WordsList+ Amazonka.MacieV2.Types.ScopeFilterKey+ Amazonka.MacieV2.Types.Scoping+ Amazonka.MacieV2.Types.SearchResourcesBucketCriteria+ Amazonka.MacieV2.Types.SearchResourcesComparator+ Amazonka.MacieV2.Types.SearchResourcesCriteria+ Amazonka.MacieV2.Types.SearchResourcesCriteriaBlock+ Amazonka.MacieV2.Types.SearchResourcesSimpleCriterion+ Amazonka.MacieV2.Types.SearchResourcesSimpleCriterionKey+ Amazonka.MacieV2.Types.SearchResourcesSortAttributeName+ Amazonka.MacieV2.Types.SearchResourcesSortCriteria+ Amazonka.MacieV2.Types.SearchResourcesTagCriterion+ Amazonka.MacieV2.Types.SearchResourcesTagCriterionPair+ Amazonka.MacieV2.Types.SecurityHubConfiguration+ Amazonka.MacieV2.Types.SensitiveDataItem+ Amazonka.MacieV2.Types.SensitiveDataItemCategory+ Amazonka.MacieV2.Types.SensitivityAggregations+ Amazonka.MacieV2.Types.SensitivityInspectionTemplateExcludes+ Amazonka.MacieV2.Types.SensitivityInspectionTemplateIncludes+ Amazonka.MacieV2.Types.SensitivityInspectionTemplatesEntry+ Amazonka.MacieV2.Types.ServerSideEncryption+ Amazonka.MacieV2.Types.ServiceLimit+ Amazonka.MacieV2.Types.SessionContext+ Amazonka.MacieV2.Types.SessionContextAttributes+ Amazonka.MacieV2.Types.SessionIssuer+ Amazonka.MacieV2.Types.Severity+ Amazonka.MacieV2.Types.SeverityDescription+ Amazonka.MacieV2.Types.SeverityLevel+ Amazonka.MacieV2.Types.SharedAccess+ Amazonka.MacieV2.Types.SimpleCriterionForJob+ Amazonka.MacieV2.Types.SimpleCriterionKeyForJob+ Amazonka.MacieV2.Types.SimpleScopeTerm+ Amazonka.MacieV2.Types.SortCriteria+ Amazonka.MacieV2.Types.Statistics+ Amazonka.MacieV2.Types.StorageClass+ Amazonka.MacieV2.Types.SuppressDataIdentifier+ Amazonka.MacieV2.Types.TagCriterionForJob+ Amazonka.MacieV2.Types.TagCriterionPairForJob+ Amazonka.MacieV2.Types.TagScopeTerm+ Amazonka.MacieV2.Types.TagTarget+ Amazonka.MacieV2.Types.TagValuePair+ Amazonka.MacieV2.Types.TimeRange+ Amazonka.MacieV2.Types.Type+ Amazonka.MacieV2.Types.UnavailabilityReasonCode+ Amazonka.MacieV2.Types.Unit+ Amazonka.MacieV2.Types.UnprocessedAccount+ Amazonka.MacieV2.Types.UsageByAccount+ Amazonka.MacieV2.Types.UsageRecord+ Amazonka.MacieV2.Types.UsageStatisticsFilter+ Amazonka.MacieV2.Types.UsageStatisticsFilterComparator+ Amazonka.MacieV2.Types.UsageStatisticsFilterKey+ Amazonka.MacieV2.Types.UsageStatisticsSortBy+ Amazonka.MacieV2.Types.UsageStatisticsSortKey+ Amazonka.MacieV2.Types.UsageTotal+ Amazonka.MacieV2.Types.UsageType+ Amazonka.MacieV2.Types.UserIdentity+ Amazonka.MacieV2.Types.UserIdentityRoot+ Amazonka.MacieV2.Types.UserIdentityType+ Amazonka.MacieV2.Types.UserPausedDetails+ Amazonka.MacieV2.Types.WeeklySchedule+ Amazonka.MacieV2.UntagResource+ Amazonka.MacieV2.UpdateAllowList+ Amazonka.MacieV2.UpdateAutomatedDiscoveryConfiguration+ Amazonka.MacieV2.UpdateClassificationJob+ Amazonka.MacieV2.UpdateClassificationScope+ Amazonka.MacieV2.UpdateFindingsFilter+ Amazonka.MacieV2.UpdateMacieSession+ Amazonka.MacieV2.UpdateMemberSession+ Amazonka.MacieV2.UpdateOrganizationConfiguration+ Amazonka.MacieV2.UpdateResourceProfile+ Amazonka.MacieV2.UpdateResourceProfileDetections+ Amazonka.MacieV2.UpdateRevealConfiguration+ Amazonka.MacieV2.UpdateSensitivityInspectionTemplate+ Amazonka.MacieV2.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-maciev2-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -Wall -threaded++ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.Amazonka.Gen.MacieV2+ Test.Amazonka.MacieV2+ Test.Amazonka.MacieV2.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-maciev2+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/AcceptInvitation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/AcceptInvitationResponse.proto view
+ fixture/BatchGetCustomDataIdentifiers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/BatchGetCustomDataIdentifiersResponse.proto view
+ fixture/CreateAllowList.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/CreateAllowListResponse.proto view
+ fixture/CreateClassificationJob.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/CreateClassificationJobResponse.proto view
+ fixture/CreateCustomDataIdentifier.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/CreateCustomDataIdentifierResponse.proto view
+ fixture/CreateFindingsFilter.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/CreateFindingsFilterResponse.proto view
+ fixture/CreateInvitations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/CreateInvitationsResponse.proto view
+ fixture/CreateMember.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/CreateMemberResponse.proto view
+ fixture/CreateSampleFindings.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/CreateSampleFindingsResponse.proto view
+ fixture/DeclineInvitations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DeclineInvitationsResponse.proto view
+ fixture/DeleteAllowList.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DeleteAllowListResponse.proto view
+ fixture/DeleteCustomDataIdentifier.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DeleteCustomDataIdentifierResponse.proto view
+ fixture/DeleteFindingsFilter.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DeleteFindingsFilterResponse.proto view
+ fixture/DeleteInvitations.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DeleteInvitationsResponse.proto view
+ fixture/DeleteMember.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DeleteMemberResponse.proto view
+ fixture/DescribeBuckets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DescribeBucketsResponse.proto view
+ fixture/DescribeClassificationJob.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DescribeClassificationJobResponse.proto view
+ fixture/DescribeOrganizationConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DescribeOrganizationConfigurationResponse.proto view
+ fixture/DisableMacie.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DisableMacieResponse.proto view
+ fixture/DisableOrganizationAdminAccount.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DisableOrganizationAdminAccountResponse.proto view
+ fixture/DisassociateFromAdministratorAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DisassociateFromAdministratorAccountResponse.proto view
+ fixture/DisassociateFromMasterAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DisassociateFromMasterAccountResponse.proto view
+ fixture/DisassociateMember.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/DisassociateMemberResponse.proto view
+ fixture/EnableMacie.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/EnableMacieResponse.proto view
+ fixture/EnableOrganizationAdminAccount.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/EnableOrganizationAdminAccountResponse.proto view
+ fixture/GetAdministratorAccount.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetAdministratorAccountResponse.proto view
+ fixture/GetAllowList.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetAllowListResponse.proto view
+ fixture/GetAutomatedDiscoveryConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetAutomatedDiscoveryConfigurationResponse.proto view
+ fixture/GetBucketStatistics.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetBucketStatisticsResponse.proto view
+ fixture/GetClassificationExportConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetClassificationExportConfigurationResponse.proto view
+ fixture/GetClassificationScope.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetClassificationScopeResponse.proto view
+ fixture/GetCustomDataIdentifier.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetCustomDataIdentifierResponse.proto view
+ fixture/GetFindingStatistics.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetFindingStatisticsResponse.proto view
+ fixture/GetFindings.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetFindingsFilter.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetFindingsFilterResponse.proto view
+ fixture/GetFindingsPublicationConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetFindingsPublicationConfigurationResponse.proto view
+ fixture/GetFindingsResponse.proto view
+ fixture/GetInvitationsCount.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetInvitationsCountResponse.proto view
+ fixture/GetMacieSession.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetMacieSessionResponse.proto view
+ fixture/GetMasterAccount.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetMasterAccountResponse.proto view
+ fixture/GetMember.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetMemberResponse.proto view
+ fixture/GetResourceProfile.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetResourceProfileResponse.proto view
+ fixture/GetRevealConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetRevealConfigurationResponse.proto view
+ fixture/GetSensitiveDataOccurrences.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetSensitiveDataOccurrencesAvailability.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetSensitiveDataOccurrencesAvailabilityResponse.proto view
+ fixture/GetSensitiveDataOccurrencesResponse.proto view
+ fixture/GetSensitivityInspectionTemplate.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetSensitivityInspectionTemplateResponse.proto view
+ fixture/GetUsageStatistics.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetUsageStatisticsResponse.proto view
+ fixture/GetUsageTotals.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/GetUsageTotalsResponse.proto view
+ fixture/ListAllowLists.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/ListAllowListsResponse.proto view
+ fixture/ListClassificationJobs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/ListClassificationJobsResponse.proto view
+ fixture/ListClassificationScopes.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/ListClassificationScopesResponse.proto view
+ fixture/ListCustomDataIdentifiers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/ListCustomDataIdentifiersResponse.proto view
+ fixture/ListFindings.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/ListFindingsFilters.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/ListFindingsFiltersResponse.proto view
+ fixture/ListFindingsResponse.proto view
+ fixture/ListInvitations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/ListInvitationsResponse.proto view
+ fixture/ListManagedDataIdentifiers.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/ListManagedDataIdentifiersResponse.proto view
+ fixture/ListMembers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/ListMembersResponse.proto view
+ fixture/ListOrganizationAdminAccounts.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/ListOrganizationAdminAccountsResponse.proto view
+ fixture/ListResourceProfileArtifacts.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/ListResourceProfileArtifactsResponse.proto view
+ fixture/ListResourceProfileDetections.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/ListResourceProfileDetectionsResponse.proto view
+ fixture/ListSensitivityInspectionTemplates.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/ListSensitivityInspectionTemplatesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/PutClassificationExportConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/PutClassificationExportConfigurationResponse.proto view
+ fixture/PutFindingsPublicationConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/PutFindingsPublicationConfigurationResponse.proto view
+ fixture/SearchResources.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/SearchResourcesResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/TestCustomDataIdentifier.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/TestCustomDataIdentifierResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/UpdateAllowList.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/UpdateAllowListResponse.proto view
+ fixture/UpdateAutomatedDiscoveryConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/UpdateAutomatedDiscoveryConfigurationResponse.proto view
+ fixture/UpdateClassificationJob.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/UpdateClassificationJobResponse.proto view
+ fixture/UpdateClassificationScope.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/UpdateClassificationScopeResponse.proto view
+ fixture/UpdateFindingsFilter.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/UpdateFindingsFilterResponse.proto view
+ fixture/UpdateMacieSession.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/UpdateMacieSessionResponse.proto view
+ fixture/UpdateMemberSession.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/UpdateMemberSessionResponse.proto view
+ fixture/UpdateOrganizationConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/UpdateOrganizationConfigurationResponse.proto view
+ fixture/UpdateResourceProfile.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/UpdateResourceProfileDetections.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/UpdateResourceProfileDetectionsResponse.proto view
+ fixture/UpdateResourceProfileResponse.proto view
+ fixture/UpdateRevealConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/UpdateRevealConfigurationResponse.proto view
+ fixture/UpdateSensitivityInspectionTemplate.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/macie2/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: macie2.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/UpdateSensitivityInspectionTemplateResponse.proto view
+ gen/Amazonka/MacieV2.hs view
@@ -0,0 +1,1354 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.MacieV2+-- 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 @2020-01-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Macie+module Amazonka.MacieV2+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AccessDeniedException+ _AccessDeniedException,++ -- ** ConflictException+ _ConflictException,++ -- ** InternalServerException+ _InternalServerException,++ -- ** ResourceNotFoundException+ _ResourceNotFoundException,++ -- ** ServiceQuotaExceededException+ _ServiceQuotaExceededException,++ -- ** ThrottlingException+ _ThrottlingException,++ -- ** UnprocessableEntityException+ _UnprocessableEntityException,++ -- ** ValidationException+ _ValidationException,++ -- * Waiters+ -- $waiters++ -- ** FindingRevealed+ newFindingRevealed,++ -- * Operations+ -- $operations++ -- ** AcceptInvitation+ AcceptInvitation (AcceptInvitation'),+ newAcceptInvitation,+ AcceptInvitationResponse (AcceptInvitationResponse'),+ newAcceptInvitationResponse,++ -- ** BatchGetCustomDataIdentifiers+ BatchGetCustomDataIdentifiers (BatchGetCustomDataIdentifiers'),+ newBatchGetCustomDataIdentifiers,+ BatchGetCustomDataIdentifiersResponse (BatchGetCustomDataIdentifiersResponse'),+ newBatchGetCustomDataIdentifiersResponse,++ -- ** CreateAllowList+ CreateAllowList (CreateAllowList'),+ newCreateAllowList,+ CreateAllowListResponse (CreateAllowListResponse'),+ newCreateAllowListResponse,++ -- ** CreateClassificationJob+ CreateClassificationJob (CreateClassificationJob'),+ newCreateClassificationJob,+ CreateClassificationJobResponse (CreateClassificationJobResponse'),+ newCreateClassificationJobResponse,++ -- ** CreateCustomDataIdentifier+ CreateCustomDataIdentifier (CreateCustomDataIdentifier'),+ newCreateCustomDataIdentifier,+ CreateCustomDataIdentifierResponse (CreateCustomDataIdentifierResponse'),+ newCreateCustomDataIdentifierResponse,++ -- ** CreateFindingsFilter+ CreateFindingsFilter (CreateFindingsFilter'),+ newCreateFindingsFilter,+ CreateFindingsFilterResponse (CreateFindingsFilterResponse'),+ newCreateFindingsFilterResponse,++ -- ** CreateInvitations+ CreateInvitations (CreateInvitations'),+ newCreateInvitations,+ CreateInvitationsResponse (CreateInvitationsResponse'),+ newCreateInvitationsResponse,++ -- ** CreateMember+ CreateMember (CreateMember'),+ newCreateMember,+ CreateMemberResponse (CreateMemberResponse'),+ newCreateMemberResponse,++ -- ** CreateSampleFindings+ CreateSampleFindings (CreateSampleFindings'),+ newCreateSampleFindings,+ CreateSampleFindingsResponse (CreateSampleFindingsResponse'),+ newCreateSampleFindingsResponse,++ -- ** DeclineInvitations+ DeclineInvitations (DeclineInvitations'),+ newDeclineInvitations,+ DeclineInvitationsResponse (DeclineInvitationsResponse'),+ newDeclineInvitationsResponse,++ -- ** DeleteAllowList+ DeleteAllowList (DeleteAllowList'),+ newDeleteAllowList,+ DeleteAllowListResponse (DeleteAllowListResponse'),+ newDeleteAllowListResponse,++ -- ** DeleteCustomDataIdentifier+ DeleteCustomDataIdentifier (DeleteCustomDataIdentifier'),+ newDeleteCustomDataIdentifier,+ DeleteCustomDataIdentifierResponse (DeleteCustomDataIdentifierResponse'),+ newDeleteCustomDataIdentifierResponse,++ -- ** DeleteFindingsFilter+ DeleteFindingsFilter (DeleteFindingsFilter'),+ newDeleteFindingsFilter,+ DeleteFindingsFilterResponse (DeleteFindingsFilterResponse'),+ newDeleteFindingsFilterResponse,++ -- ** DeleteInvitations+ DeleteInvitations (DeleteInvitations'),+ newDeleteInvitations,+ DeleteInvitationsResponse (DeleteInvitationsResponse'),+ newDeleteInvitationsResponse,++ -- ** DeleteMember+ DeleteMember (DeleteMember'),+ newDeleteMember,+ DeleteMemberResponse (DeleteMemberResponse'),+ newDeleteMemberResponse,++ -- ** DescribeBuckets (Paginated)+ DescribeBuckets (DescribeBuckets'),+ newDescribeBuckets,+ DescribeBucketsResponse (DescribeBucketsResponse'),+ newDescribeBucketsResponse,++ -- ** DescribeClassificationJob+ DescribeClassificationJob (DescribeClassificationJob'),+ newDescribeClassificationJob,+ DescribeClassificationJobResponse (DescribeClassificationJobResponse'),+ newDescribeClassificationJobResponse,++ -- ** DescribeOrganizationConfiguration+ DescribeOrganizationConfiguration (DescribeOrganizationConfiguration'),+ newDescribeOrganizationConfiguration,+ DescribeOrganizationConfigurationResponse (DescribeOrganizationConfigurationResponse'),+ newDescribeOrganizationConfigurationResponse,++ -- ** DisableMacie+ DisableMacie (DisableMacie'),+ newDisableMacie,+ DisableMacieResponse (DisableMacieResponse'),+ newDisableMacieResponse,++ -- ** DisableOrganizationAdminAccount+ DisableOrganizationAdminAccount (DisableOrganizationAdminAccount'),+ newDisableOrganizationAdminAccount,+ DisableOrganizationAdminAccountResponse (DisableOrganizationAdminAccountResponse'),+ newDisableOrganizationAdminAccountResponse,++ -- ** DisassociateFromAdministratorAccount+ DisassociateFromAdministratorAccount (DisassociateFromAdministratorAccount'),+ newDisassociateFromAdministratorAccount,+ DisassociateFromAdministratorAccountResponse (DisassociateFromAdministratorAccountResponse'),+ newDisassociateFromAdministratorAccountResponse,++ -- ** DisassociateFromMasterAccount+ DisassociateFromMasterAccount (DisassociateFromMasterAccount'),+ newDisassociateFromMasterAccount,+ DisassociateFromMasterAccountResponse (DisassociateFromMasterAccountResponse'),+ newDisassociateFromMasterAccountResponse,++ -- ** DisassociateMember+ DisassociateMember (DisassociateMember'),+ newDisassociateMember,+ DisassociateMemberResponse (DisassociateMemberResponse'),+ newDisassociateMemberResponse,++ -- ** EnableMacie+ EnableMacie (EnableMacie'),+ newEnableMacie,+ EnableMacieResponse (EnableMacieResponse'),+ newEnableMacieResponse,++ -- ** EnableOrganizationAdminAccount+ EnableOrganizationAdminAccount (EnableOrganizationAdminAccount'),+ newEnableOrganizationAdminAccount,+ EnableOrganizationAdminAccountResponse (EnableOrganizationAdminAccountResponse'),+ newEnableOrganizationAdminAccountResponse,++ -- ** GetAdministratorAccount+ GetAdministratorAccount (GetAdministratorAccount'),+ newGetAdministratorAccount,+ GetAdministratorAccountResponse (GetAdministratorAccountResponse'),+ newGetAdministratorAccountResponse,++ -- ** GetAllowList+ GetAllowList (GetAllowList'),+ newGetAllowList,+ GetAllowListResponse (GetAllowListResponse'),+ newGetAllowListResponse,++ -- ** GetAutomatedDiscoveryConfiguration+ GetAutomatedDiscoveryConfiguration (GetAutomatedDiscoveryConfiguration'),+ newGetAutomatedDiscoveryConfiguration,+ GetAutomatedDiscoveryConfigurationResponse (GetAutomatedDiscoveryConfigurationResponse'),+ newGetAutomatedDiscoveryConfigurationResponse,++ -- ** GetBucketStatistics+ GetBucketStatistics (GetBucketStatistics'),+ newGetBucketStatistics,+ GetBucketStatisticsResponse (GetBucketStatisticsResponse'),+ newGetBucketStatisticsResponse,++ -- ** GetClassificationExportConfiguration+ GetClassificationExportConfiguration (GetClassificationExportConfiguration'),+ newGetClassificationExportConfiguration,+ GetClassificationExportConfigurationResponse (GetClassificationExportConfigurationResponse'),+ newGetClassificationExportConfigurationResponse,++ -- ** GetClassificationScope+ GetClassificationScope (GetClassificationScope'),+ newGetClassificationScope,+ GetClassificationScopeResponse (GetClassificationScopeResponse'),+ newGetClassificationScopeResponse,++ -- ** GetCustomDataIdentifier+ GetCustomDataIdentifier (GetCustomDataIdentifier'),+ newGetCustomDataIdentifier,+ GetCustomDataIdentifierResponse (GetCustomDataIdentifierResponse'),+ newGetCustomDataIdentifierResponse,++ -- ** GetFindingStatistics+ GetFindingStatistics (GetFindingStatistics'),+ newGetFindingStatistics,+ GetFindingStatisticsResponse (GetFindingStatisticsResponse'),+ newGetFindingStatisticsResponse,++ -- ** GetFindings+ GetFindings (GetFindings'),+ newGetFindings,+ GetFindingsResponse (GetFindingsResponse'),+ newGetFindingsResponse,++ -- ** GetFindingsFilter+ GetFindingsFilter (GetFindingsFilter'),+ newGetFindingsFilter,+ GetFindingsFilterResponse (GetFindingsFilterResponse'),+ newGetFindingsFilterResponse,++ -- ** GetFindingsPublicationConfiguration+ GetFindingsPublicationConfiguration (GetFindingsPublicationConfiguration'),+ newGetFindingsPublicationConfiguration,+ GetFindingsPublicationConfigurationResponse (GetFindingsPublicationConfigurationResponse'),+ newGetFindingsPublicationConfigurationResponse,++ -- ** GetInvitationsCount+ GetInvitationsCount (GetInvitationsCount'),+ newGetInvitationsCount,+ GetInvitationsCountResponse (GetInvitationsCountResponse'),+ newGetInvitationsCountResponse,++ -- ** GetMacieSession+ GetMacieSession (GetMacieSession'),+ newGetMacieSession,+ GetMacieSessionResponse (GetMacieSessionResponse'),+ newGetMacieSessionResponse,++ -- ** GetMasterAccount+ GetMasterAccount (GetMasterAccount'),+ newGetMasterAccount,+ GetMasterAccountResponse (GetMasterAccountResponse'),+ newGetMasterAccountResponse,++ -- ** GetMember+ GetMember (GetMember'),+ newGetMember,+ GetMemberResponse (GetMemberResponse'),+ newGetMemberResponse,++ -- ** GetResourceProfile+ GetResourceProfile (GetResourceProfile'),+ newGetResourceProfile,+ GetResourceProfileResponse (GetResourceProfileResponse'),+ newGetResourceProfileResponse,++ -- ** GetRevealConfiguration+ GetRevealConfiguration (GetRevealConfiguration'),+ newGetRevealConfiguration,+ GetRevealConfigurationResponse (GetRevealConfigurationResponse'),+ newGetRevealConfigurationResponse,++ -- ** GetSensitiveDataOccurrences+ GetSensitiveDataOccurrences (GetSensitiveDataOccurrences'),+ newGetSensitiveDataOccurrences,+ GetSensitiveDataOccurrencesResponse (GetSensitiveDataOccurrencesResponse'),+ newGetSensitiveDataOccurrencesResponse,++ -- ** GetSensitiveDataOccurrencesAvailability+ GetSensitiveDataOccurrencesAvailability (GetSensitiveDataOccurrencesAvailability'),+ newGetSensitiveDataOccurrencesAvailability,+ GetSensitiveDataOccurrencesAvailabilityResponse (GetSensitiveDataOccurrencesAvailabilityResponse'),+ newGetSensitiveDataOccurrencesAvailabilityResponse,++ -- ** GetSensitivityInspectionTemplate+ GetSensitivityInspectionTemplate (GetSensitivityInspectionTemplate'),+ newGetSensitivityInspectionTemplate,+ GetSensitivityInspectionTemplateResponse (GetSensitivityInspectionTemplateResponse'),+ newGetSensitivityInspectionTemplateResponse,++ -- ** GetUsageStatistics (Paginated)+ GetUsageStatistics (GetUsageStatistics'),+ newGetUsageStatistics,+ GetUsageStatisticsResponse (GetUsageStatisticsResponse'),+ newGetUsageStatisticsResponse,++ -- ** GetUsageTotals+ GetUsageTotals (GetUsageTotals'),+ newGetUsageTotals,+ GetUsageTotalsResponse (GetUsageTotalsResponse'),+ newGetUsageTotalsResponse,++ -- ** ListAllowLists (Paginated)+ ListAllowLists (ListAllowLists'),+ newListAllowLists,+ ListAllowListsResponse (ListAllowListsResponse'),+ newListAllowListsResponse,++ -- ** ListClassificationJobs (Paginated)+ ListClassificationJobs (ListClassificationJobs'),+ newListClassificationJobs,+ ListClassificationJobsResponse (ListClassificationJobsResponse'),+ newListClassificationJobsResponse,++ -- ** ListClassificationScopes (Paginated)+ ListClassificationScopes (ListClassificationScopes'),+ newListClassificationScopes,+ ListClassificationScopesResponse (ListClassificationScopesResponse'),+ newListClassificationScopesResponse,++ -- ** ListCustomDataIdentifiers (Paginated)+ ListCustomDataIdentifiers (ListCustomDataIdentifiers'),+ newListCustomDataIdentifiers,+ ListCustomDataIdentifiersResponse (ListCustomDataIdentifiersResponse'),+ newListCustomDataIdentifiersResponse,++ -- ** ListFindings (Paginated)+ ListFindings (ListFindings'),+ newListFindings,+ ListFindingsResponse (ListFindingsResponse'),+ newListFindingsResponse,++ -- ** ListFindingsFilters (Paginated)+ ListFindingsFilters (ListFindingsFilters'),+ newListFindingsFilters,+ ListFindingsFiltersResponse (ListFindingsFiltersResponse'),+ newListFindingsFiltersResponse,++ -- ** ListInvitations (Paginated)+ ListInvitations (ListInvitations'),+ newListInvitations,+ ListInvitationsResponse (ListInvitationsResponse'),+ newListInvitationsResponse,++ -- ** ListManagedDataIdentifiers (Paginated)+ ListManagedDataIdentifiers (ListManagedDataIdentifiers'),+ newListManagedDataIdentifiers,+ ListManagedDataIdentifiersResponse (ListManagedDataIdentifiersResponse'),+ newListManagedDataIdentifiersResponse,++ -- ** ListMembers (Paginated)+ ListMembers (ListMembers'),+ newListMembers,+ ListMembersResponse (ListMembersResponse'),+ newListMembersResponse,++ -- ** ListOrganizationAdminAccounts (Paginated)+ ListOrganizationAdminAccounts (ListOrganizationAdminAccounts'),+ newListOrganizationAdminAccounts,+ ListOrganizationAdminAccountsResponse (ListOrganizationAdminAccountsResponse'),+ newListOrganizationAdminAccountsResponse,++ -- ** ListResourceProfileArtifacts (Paginated)+ ListResourceProfileArtifacts (ListResourceProfileArtifacts'),+ newListResourceProfileArtifacts,+ ListResourceProfileArtifactsResponse (ListResourceProfileArtifactsResponse'),+ newListResourceProfileArtifactsResponse,++ -- ** ListResourceProfileDetections (Paginated)+ ListResourceProfileDetections (ListResourceProfileDetections'),+ newListResourceProfileDetections,+ ListResourceProfileDetectionsResponse (ListResourceProfileDetectionsResponse'),+ newListResourceProfileDetectionsResponse,++ -- ** ListSensitivityInspectionTemplates (Paginated)+ ListSensitivityInspectionTemplates (ListSensitivityInspectionTemplates'),+ newListSensitivityInspectionTemplates,+ ListSensitivityInspectionTemplatesResponse (ListSensitivityInspectionTemplatesResponse'),+ newListSensitivityInspectionTemplatesResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** PutClassificationExportConfiguration+ PutClassificationExportConfiguration (PutClassificationExportConfiguration'),+ newPutClassificationExportConfiguration,+ PutClassificationExportConfigurationResponse (PutClassificationExportConfigurationResponse'),+ newPutClassificationExportConfigurationResponse,++ -- ** PutFindingsPublicationConfiguration+ PutFindingsPublicationConfiguration (PutFindingsPublicationConfiguration'),+ newPutFindingsPublicationConfiguration,+ PutFindingsPublicationConfigurationResponse (PutFindingsPublicationConfigurationResponse'),+ newPutFindingsPublicationConfigurationResponse,++ -- ** SearchResources (Paginated)+ SearchResources (SearchResources'),+ newSearchResources,+ SearchResourcesResponse (SearchResourcesResponse'),+ newSearchResourcesResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** TestCustomDataIdentifier+ TestCustomDataIdentifier (TestCustomDataIdentifier'),+ newTestCustomDataIdentifier,+ TestCustomDataIdentifierResponse (TestCustomDataIdentifierResponse'),+ newTestCustomDataIdentifierResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateAllowList+ UpdateAllowList (UpdateAllowList'),+ newUpdateAllowList,+ UpdateAllowListResponse (UpdateAllowListResponse'),+ newUpdateAllowListResponse,++ -- ** UpdateAutomatedDiscoveryConfiguration+ UpdateAutomatedDiscoveryConfiguration (UpdateAutomatedDiscoveryConfiguration'),+ newUpdateAutomatedDiscoveryConfiguration,+ UpdateAutomatedDiscoveryConfigurationResponse (UpdateAutomatedDiscoveryConfigurationResponse'),+ newUpdateAutomatedDiscoveryConfigurationResponse,++ -- ** UpdateClassificationJob+ UpdateClassificationJob (UpdateClassificationJob'),+ newUpdateClassificationJob,+ UpdateClassificationJobResponse (UpdateClassificationJobResponse'),+ newUpdateClassificationJobResponse,++ -- ** UpdateClassificationScope+ UpdateClassificationScope (UpdateClassificationScope'),+ newUpdateClassificationScope,+ UpdateClassificationScopeResponse (UpdateClassificationScopeResponse'),+ newUpdateClassificationScopeResponse,++ -- ** UpdateFindingsFilter+ UpdateFindingsFilter (UpdateFindingsFilter'),+ newUpdateFindingsFilter,+ UpdateFindingsFilterResponse (UpdateFindingsFilterResponse'),+ newUpdateFindingsFilterResponse,++ -- ** UpdateMacieSession+ UpdateMacieSession (UpdateMacieSession'),+ newUpdateMacieSession,+ UpdateMacieSessionResponse (UpdateMacieSessionResponse'),+ newUpdateMacieSessionResponse,++ -- ** UpdateMemberSession+ UpdateMemberSession (UpdateMemberSession'),+ newUpdateMemberSession,+ UpdateMemberSessionResponse (UpdateMemberSessionResponse'),+ newUpdateMemberSessionResponse,++ -- ** UpdateOrganizationConfiguration+ UpdateOrganizationConfiguration (UpdateOrganizationConfiguration'),+ newUpdateOrganizationConfiguration,+ UpdateOrganizationConfigurationResponse (UpdateOrganizationConfigurationResponse'),+ newUpdateOrganizationConfigurationResponse,++ -- ** UpdateResourceProfile+ UpdateResourceProfile (UpdateResourceProfile'),+ newUpdateResourceProfile,+ UpdateResourceProfileResponse (UpdateResourceProfileResponse'),+ newUpdateResourceProfileResponse,++ -- ** UpdateResourceProfileDetections+ UpdateResourceProfileDetections (UpdateResourceProfileDetections'),+ newUpdateResourceProfileDetections,+ UpdateResourceProfileDetectionsResponse (UpdateResourceProfileDetectionsResponse'),+ newUpdateResourceProfileDetectionsResponse,++ -- ** UpdateRevealConfiguration+ UpdateRevealConfiguration (UpdateRevealConfiguration'),+ newUpdateRevealConfiguration,+ UpdateRevealConfigurationResponse (UpdateRevealConfigurationResponse'),+ newUpdateRevealConfigurationResponse,++ -- ** UpdateSensitivityInspectionTemplate+ UpdateSensitivityInspectionTemplate (UpdateSensitivityInspectionTemplate'),+ newUpdateSensitivityInspectionTemplate,+ UpdateSensitivityInspectionTemplateResponse (UpdateSensitivityInspectionTemplateResponse'),+ newUpdateSensitivityInspectionTemplateResponse,++ -- * Types++ -- ** AdminStatus+ AdminStatus (..),++ -- ** AllowListStatusCode+ AllowListStatusCode (..),++ -- ** AllowsUnencryptedObjectUploads+ AllowsUnencryptedObjectUploads (..),++ -- ** AutomatedDiscoveryStatus+ AutomatedDiscoveryStatus (..),++ -- ** AvailabilityCode+ AvailabilityCode (..),++ -- ** BucketMetadataErrorCode+ BucketMetadataErrorCode (..),++ -- ** ClassificationScopeUpdateOperation+ ClassificationScopeUpdateOperation (..),++ -- ** Currency+ Currency (..),++ -- ** DataIdentifierSeverity+ DataIdentifierSeverity (..),++ -- ** DataIdentifierType+ DataIdentifierType (..),++ -- ** DayOfWeek+ DayOfWeek (..),++ -- ** EffectivePermission+ EffectivePermission (..),++ -- ** EncryptionType+ EncryptionType (..),++ -- ** ErrorCode+ ErrorCode (..),++ -- ** FindingActionType+ FindingActionType (..),++ -- ** FindingCategory+ FindingCategory (..),++ -- ** FindingPublishingFrequency+ FindingPublishingFrequency (..),++ -- ** FindingStatisticsSortAttributeName+ FindingStatisticsSortAttributeName (..),++ -- ** FindingType+ FindingType (..),++ -- ** FindingsFilterAction+ FindingsFilterAction (..),++ -- ** GroupBy+ GroupBy (..),++ -- ** IsDefinedInJob+ IsDefinedInJob (..),++ -- ** IsMonitoredByJob+ IsMonitoredByJob (..),++ -- ** JobComparator+ JobComparator (..),++ -- ** JobStatus+ JobStatus (..),++ -- ** JobType+ JobType (..),++ -- ** LastRunErrorStatusCode+ LastRunErrorStatusCode (..),++ -- ** ListJobsFilterKey+ ListJobsFilterKey (..),++ -- ** ListJobsSortAttributeName+ ListJobsSortAttributeName (..),++ -- ** MacieStatus+ MacieStatus (..),++ -- ** ManagedDataIdentifierSelector+ ManagedDataIdentifierSelector (..),++ -- ** OrderBy+ OrderBy (..),++ -- ** OriginType+ OriginType (..),++ -- ** RelationshipStatus+ RelationshipStatus (..),++ -- ** RevealRequestStatus+ RevealRequestStatus (..),++ -- ** RevealStatus+ RevealStatus (..),++ -- ** ScopeFilterKey+ ScopeFilterKey (..),++ -- ** SearchResourcesComparator+ SearchResourcesComparator (..),++ -- ** SearchResourcesSimpleCriterionKey+ SearchResourcesSimpleCriterionKey (..),++ -- ** SearchResourcesSortAttributeName+ SearchResourcesSortAttributeName (..),++ -- ** SensitiveDataItemCategory+ SensitiveDataItemCategory (..),++ -- ** SeverityDescription+ SeverityDescription (..),++ -- ** SharedAccess+ SharedAccess (..),++ -- ** SimpleCriterionKeyForJob+ SimpleCriterionKeyForJob (..),++ -- ** StorageClass+ StorageClass (..),++ -- ** TagTarget+ TagTarget (..),++ -- ** TimeRange+ TimeRange (..),++ -- ** Type+ Type (..),++ -- ** UnavailabilityReasonCode+ UnavailabilityReasonCode (..),++ -- ** Unit+ Unit (..),++ -- ** UsageStatisticsFilterComparator+ UsageStatisticsFilterComparator (..),++ -- ** UsageStatisticsFilterKey+ UsageStatisticsFilterKey (..),++ -- ** UsageStatisticsSortKey+ UsageStatisticsSortKey (..),++ -- ** UsageType+ UsageType (..),++ -- ** UserIdentityType+ UserIdentityType (..),++ -- ** AccessControlList+ AccessControlList (AccessControlList'),+ newAccessControlList,++ -- ** AccountDetail+ AccountDetail (AccountDetail'),+ newAccountDetail,++ -- ** AccountLevelPermissions+ AccountLevelPermissions (AccountLevelPermissions'),+ newAccountLevelPermissions,++ -- ** AdminAccount+ AdminAccount (AdminAccount'),+ newAdminAccount,++ -- ** AllowListCriteria+ AllowListCriteria (AllowListCriteria'),+ newAllowListCriteria,++ -- ** AllowListStatus+ AllowListStatus (AllowListStatus'),+ newAllowListStatus,++ -- ** AllowListSummary+ AllowListSummary (AllowListSummary'),+ newAllowListSummary,++ -- ** ApiCallDetails+ ApiCallDetails (ApiCallDetails'),+ newApiCallDetails,++ -- ** AssumedRole+ AssumedRole (AssumedRole'),+ newAssumedRole,++ -- ** AwsAccount+ AwsAccount (AwsAccount'),+ newAwsAccount,++ -- ** AwsService+ AwsService (AwsService'),+ newAwsService,++ -- ** BatchGetCustomDataIdentifierSummary+ BatchGetCustomDataIdentifierSummary (BatchGetCustomDataIdentifierSummary'),+ newBatchGetCustomDataIdentifierSummary,++ -- ** BlockPublicAccess+ BlockPublicAccess (BlockPublicAccess'),+ newBlockPublicAccess,++ -- ** BucketCountByEffectivePermission+ BucketCountByEffectivePermission (BucketCountByEffectivePermission'),+ newBucketCountByEffectivePermission,++ -- ** BucketCountByEncryptionType+ BucketCountByEncryptionType (BucketCountByEncryptionType'),+ newBucketCountByEncryptionType,++ -- ** BucketCountBySharedAccessType+ BucketCountBySharedAccessType (BucketCountBySharedAccessType'),+ newBucketCountBySharedAccessType,++ -- ** BucketCountPolicyAllowsUnencryptedObjectUploads+ BucketCountPolicyAllowsUnencryptedObjectUploads (BucketCountPolicyAllowsUnencryptedObjectUploads'),+ newBucketCountPolicyAllowsUnencryptedObjectUploads,++ -- ** BucketCriteriaAdditionalProperties+ BucketCriteriaAdditionalProperties (BucketCriteriaAdditionalProperties'),+ newBucketCriteriaAdditionalProperties,++ -- ** BucketLevelPermissions+ BucketLevelPermissions (BucketLevelPermissions'),+ newBucketLevelPermissions,++ -- ** BucketMetadata+ BucketMetadata (BucketMetadata'),+ newBucketMetadata,++ -- ** BucketPermissionConfiguration+ BucketPermissionConfiguration (BucketPermissionConfiguration'),+ newBucketPermissionConfiguration,++ -- ** BucketPolicy+ BucketPolicy (BucketPolicy'),+ newBucketPolicy,++ -- ** BucketPublicAccess+ BucketPublicAccess (BucketPublicAccess'),+ newBucketPublicAccess,++ -- ** BucketServerSideEncryption+ BucketServerSideEncryption (BucketServerSideEncryption'),+ newBucketServerSideEncryption,++ -- ** BucketSortCriteria+ BucketSortCriteria (BucketSortCriteria'),+ newBucketSortCriteria,++ -- ** BucketStatisticsBySensitivity+ BucketStatisticsBySensitivity (BucketStatisticsBySensitivity'),+ newBucketStatisticsBySensitivity,++ -- ** Cell+ Cell (Cell'),+ newCell,++ -- ** ClassificationDetails+ ClassificationDetails (ClassificationDetails'),+ newClassificationDetails,++ -- ** ClassificationExportConfiguration+ ClassificationExportConfiguration (ClassificationExportConfiguration'),+ newClassificationExportConfiguration,++ -- ** ClassificationResult+ ClassificationResult (ClassificationResult'),+ newClassificationResult,++ -- ** ClassificationResultStatus+ ClassificationResultStatus (ClassificationResultStatus'),+ newClassificationResultStatus,++ -- ** ClassificationScopeSummary+ ClassificationScopeSummary (ClassificationScopeSummary'),+ newClassificationScopeSummary,++ -- ** CriteriaBlockForJob+ CriteriaBlockForJob (CriteriaBlockForJob'),+ newCriteriaBlockForJob,++ -- ** CriteriaForJob+ CriteriaForJob (CriteriaForJob'),+ newCriteriaForJob,++ -- ** CriterionAdditionalProperties+ CriterionAdditionalProperties (CriterionAdditionalProperties'),+ newCriterionAdditionalProperties,++ -- ** CustomDataIdentifierSummary+ CustomDataIdentifierSummary (CustomDataIdentifierSummary'),+ newCustomDataIdentifierSummary,++ -- ** CustomDataIdentifiers+ CustomDataIdentifiers (CustomDataIdentifiers'),+ newCustomDataIdentifiers,++ -- ** CustomDetection+ CustomDetection (CustomDetection'),+ newCustomDetection,++ -- ** DailySchedule+ DailySchedule (DailySchedule'),+ newDailySchedule,++ -- ** DefaultDetection+ DefaultDetection (DefaultDetection'),+ newDefaultDetection,++ -- ** DetectedDataDetails+ DetectedDataDetails (DetectedDataDetails'),+ newDetectedDataDetails,++ -- ** Detection+ Detection (Detection'),+ newDetection,++ -- ** DomainDetails+ DomainDetails (DomainDetails'),+ newDomainDetails,++ -- ** FederatedUser+ FederatedUser (FederatedUser'),+ newFederatedUser,++ -- ** Finding+ Finding (Finding'),+ newFinding,++ -- ** FindingAction+ FindingAction (FindingAction'),+ newFindingAction,++ -- ** FindingActor+ FindingActor (FindingActor'),+ newFindingActor,++ -- ** FindingCriteria+ FindingCriteria (FindingCriteria'),+ newFindingCriteria,++ -- ** FindingStatisticsSortCriteria+ FindingStatisticsSortCriteria (FindingStatisticsSortCriteria'),+ newFindingStatisticsSortCriteria,++ -- ** FindingsFilterListItem+ FindingsFilterListItem (FindingsFilterListItem'),+ newFindingsFilterListItem,++ -- ** GroupCount+ GroupCount (GroupCount'),+ newGroupCount,++ -- ** IamUser+ IamUser (IamUser'),+ newIamUser,++ -- ** Invitation+ Invitation (Invitation'),+ newInvitation,++ -- ** IpAddressDetails+ IpAddressDetails (IpAddressDetails'),+ newIpAddressDetails,++ -- ** IpCity+ IpCity (IpCity'),+ newIpCity,++ -- ** IpCountry+ IpCountry (IpCountry'),+ newIpCountry,++ -- ** IpGeoLocation+ IpGeoLocation (IpGeoLocation'),+ newIpGeoLocation,++ -- ** IpOwner+ IpOwner (IpOwner'),+ newIpOwner,++ -- ** JobDetails+ JobDetails (JobDetails'),+ newJobDetails,++ -- ** JobScheduleFrequency+ JobScheduleFrequency (JobScheduleFrequency'),+ newJobScheduleFrequency,++ -- ** JobScopeTerm+ JobScopeTerm (JobScopeTerm'),+ newJobScopeTerm,++ -- ** JobScopingBlock+ JobScopingBlock (JobScopingBlock'),+ newJobScopingBlock,++ -- ** JobSummary+ JobSummary (JobSummary'),+ newJobSummary,++ -- ** KeyValuePair+ KeyValuePair (KeyValuePair'),+ newKeyValuePair,++ -- ** LastRunErrorStatus+ LastRunErrorStatus (LastRunErrorStatus'),+ newLastRunErrorStatus,++ -- ** ListJobsFilterCriteria+ ListJobsFilterCriteria (ListJobsFilterCriteria'),+ newListJobsFilterCriteria,++ -- ** ListJobsFilterTerm+ ListJobsFilterTerm (ListJobsFilterTerm'),+ newListJobsFilterTerm,++ -- ** ListJobsSortCriteria+ ListJobsSortCriteria (ListJobsSortCriteria'),+ newListJobsSortCriteria,++ -- ** ManagedDataIdentifierSummary+ ManagedDataIdentifierSummary (ManagedDataIdentifierSummary'),+ newManagedDataIdentifierSummary,++ -- ** MatchingBucket+ MatchingBucket (MatchingBucket'),+ newMatchingBucket,++ -- ** MatchingResource+ MatchingResource (MatchingResource'),+ newMatchingResource,++ -- ** Member+ Member (Member'),+ newMember,++ -- ** MonthlySchedule+ MonthlySchedule (MonthlySchedule'),+ newMonthlySchedule,++ -- ** ObjectCountByEncryptionType+ ObjectCountByEncryptionType (ObjectCountByEncryptionType'),+ newObjectCountByEncryptionType,++ -- ** ObjectLevelStatistics+ ObjectLevelStatistics (ObjectLevelStatistics'),+ newObjectLevelStatistics,++ -- ** Occurrences+ Occurrences (Occurrences'),+ newOccurrences,++ -- ** Page+ Page (Page'),+ newPage,++ -- ** PolicyDetails+ PolicyDetails (PolicyDetails'),+ newPolicyDetails,++ -- ** Range+ Range (Range'),+ newRange,++ -- ** Record+ Record (Record'),+ newRecord,++ -- ** ReplicationDetails+ ReplicationDetails (ReplicationDetails'),+ newReplicationDetails,++ -- ** ResourceProfileArtifact+ ResourceProfileArtifact (ResourceProfileArtifact'),+ newResourceProfileArtifact,++ -- ** ResourceStatistics+ ResourceStatistics (ResourceStatistics'),+ newResourceStatistics,++ -- ** ResourcesAffected+ ResourcesAffected (ResourcesAffected'),+ newResourcesAffected,++ -- ** RevealConfiguration+ RevealConfiguration (RevealConfiguration'),+ newRevealConfiguration,++ -- ** S3Bucket+ S3Bucket (S3Bucket'),+ newS3Bucket,++ -- ** S3BucketCriteriaForJob+ S3BucketCriteriaForJob (S3BucketCriteriaForJob'),+ newS3BucketCriteriaForJob,++ -- ** S3BucketDefinitionForJob+ S3BucketDefinitionForJob (S3BucketDefinitionForJob'),+ newS3BucketDefinitionForJob,++ -- ** S3BucketOwner+ S3BucketOwner (S3BucketOwner'),+ newS3BucketOwner,++ -- ** S3ClassificationScope+ S3ClassificationScope (S3ClassificationScope'),+ newS3ClassificationScope,++ -- ** S3ClassificationScopeExclusion+ S3ClassificationScopeExclusion (S3ClassificationScopeExclusion'),+ newS3ClassificationScopeExclusion,++ -- ** S3ClassificationScopeExclusionUpdate+ S3ClassificationScopeExclusionUpdate (S3ClassificationScopeExclusionUpdate'),+ newS3ClassificationScopeExclusionUpdate,++ -- ** S3ClassificationScopeUpdate+ S3ClassificationScopeUpdate (S3ClassificationScopeUpdate'),+ newS3ClassificationScopeUpdate,++ -- ** S3Destination+ S3Destination (S3Destination'),+ newS3Destination,++ -- ** S3JobDefinition+ S3JobDefinition (S3JobDefinition'),+ newS3JobDefinition,++ -- ** S3Object+ S3Object (S3Object'),+ newS3Object,++ -- ** S3WordsList+ S3WordsList (S3WordsList'),+ newS3WordsList,++ -- ** Scoping+ Scoping (Scoping'),+ newScoping,++ -- ** SearchResourcesBucketCriteria+ SearchResourcesBucketCriteria (SearchResourcesBucketCriteria'),+ newSearchResourcesBucketCriteria,++ -- ** SearchResourcesCriteria+ SearchResourcesCriteria (SearchResourcesCriteria'),+ newSearchResourcesCriteria,++ -- ** SearchResourcesCriteriaBlock+ SearchResourcesCriteriaBlock (SearchResourcesCriteriaBlock'),+ newSearchResourcesCriteriaBlock,++ -- ** SearchResourcesSimpleCriterion+ SearchResourcesSimpleCriterion (SearchResourcesSimpleCriterion'),+ newSearchResourcesSimpleCriterion,++ -- ** SearchResourcesSortCriteria+ SearchResourcesSortCriteria (SearchResourcesSortCriteria'),+ newSearchResourcesSortCriteria,++ -- ** SearchResourcesTagCriterion+ SearchResourcesTagCriterion (SearchResourcesTagCriterion'),+ newSearchResourcesTagCriterion,++ -- ** SearchResourcesTagCriterionPair+ SearchResourcesTagCriterionPair (SearchResourcesTagCriterionPair'),+ newSearchResourcesTagCriterionPair,++ -- ** SecurityHubConfiguration+ SecurityHubConfiguration (SecurityHubConfiguration'),+ newSecurityHubConfiguration,++ -- ** SensitiveDataItem+ SensitiveDataItem (SensitiveDataItem'),+ newSensitiveDataItem,++ -- ** SensitivityAggregations+ SensitivityAggregations (SensitivityAggregations'),+ newSensitivityAggregations,++ -- ** SensitivityInspectionTemplateExcludes+ SensitivityInspectionTemplateExcludes (SensitivityInspectionTemplateExcludes'),+ newSensitivityInspectionTemplateExcludes,++ -- ** SensitivityInspectionTemplateIncludes+ SensitivityInspectionTemplateIncludes (SensitivityInspectionTemplateIncludes'),+ newSensitivityInspectionTemplateIncludes,++ -- ** SensitivityInspectionTemplatesEntry+ SensitivityInspectionTemplatesEntry (SensitivityInspectionTemplatesEntry'),+ newSensitivityInspectionTemplatesEntry,++ -- ** ServerSideEncryption+ ServerSideEncryption (ServerSideEncryption'),+ newServerSideEncryption,++ -- ** ServiceLimit+ ServiceLimit (ServiceLimit'),+ newServiceLimit,++ -- ** SessionContext+ SessionContext (SessionContext'),+ newSessionContext,++ -- ** SessionContextAttributes+ SessionContextAttributes (SessionContextAttributes'),+ newSessionContextAttributes,++ -- ** SessionIssuer+ SessionIssuer (SessionIssuer'),+ newSessionIssuer,++ -- ** Severity+ Severity (Severity'),+ newSeverity,++ -- ** SeverityLevel+ SeverityLevel (SeverityLevel'),+ newSeverityLevel,++ -- ** SimpleCriterionForJob+ SimpleCriterionForJob (SimpleCriterionForJob'),+ newSimpleCriterionForJob,++ -- ** SimpleScopeTerm+ SimpleScopeTerm (SimpleScopeTerm'),+ newSimpleScopeTerm,++ -- ** SortCriteria+ SortCriteria (SortCriteria'),+ newSortCriteria,++ -- ** Statistics+ Statistics (Statistics'),+ newStatistics,++ -- ** SuppressDataIdentifier+ SuppressDataIdentifier (SuppressDataIdentifier'),+ newSuppressDataIdentifier,++ -- ** TagCriterionForJob+ TagCriterionForJob (TagCriterionForJob'),+ newTagCriterionForJob,++ -- ** TagCriterionPairForJob+ TagCriterionPairForJob (TagCriterionPairForJob'),+ newTagCriterionPairForJob,++ -- ** TagScopeTerm+ TagScopeTerm (TagScopeTerm'),+ newTagScopeTerm,++ -- ** TagValuePair+ TagValuePair (TagValuePair'),+ newTagValuePair,++ -- ** UnprocessedAccount+ UnprocessedAccount (UnprocessedAccount'),+ newUnprocessedAccount,++ -- ** UsageByAccount+ UsageByAccount (UsageByAccount'),+ newUsageByAccount,++ -- ** UsageRecord+ UsageRecord (UsageRecord'),+ newUsageRecord,++ -- ** UsageStatisticsFilter+ UsageStatisticsFilter (UsageStatisticsFilter'),+ newUsageStatisticsFilter,++ -- ** UsageStatisticsSortBy+ UsageStatisticsSortBy (UsageStatisticsSortBy'),+ newUsageStatisticsSortBy,++ -- ** UsageTotal+ UsageTotal (UsageTotal'),+ newUsageTotal,++ -- ** UserIdentity+ UserIdentity (UserIdentity'),+ newUserIdentity,++ -- ** UserIdentityRoot+ UserIdentityRoot (UserIdentityRoot'),+ newUserIdentityRoot,++ -- ** UserPausedDetails+ UserPausedDetails (UserPausedDetails'),+ newUserPausedDetails,++ -- ** WeeklySchedule+ WeeklySchedule (WeeklySchedule'),+ newWeeklySchedule,+ )+where++import Amazonka.MacieV2.AcceptInvitation+import Amazonka.MacieV2.BatchGetCustomDataIdentifiers+import Amazonka.MacieV2.CreateAllowList+import Amazonka.MacieV2.CreateClassificationJob+import Amazonka.MacieV2.CreateCustomDataIdentifier+import Amazonka.MacieV2.CreateFindingsFilter+import Amazonka.MacieV2.CreateInvitations+import Amazonka.MacieV2.CreateMember+import Amazonka.MacieV2.CreateSampleFindings+import Amazonka.MacieV2.DeclineInvitations+import Amazonka.MacieV2.DeleteAllowList+import Amazonka.MacieV2.DeleteCustomDataIdentifier+import Amazonka.MacieV2.DeleteFindingsFilter+import Amazonka.MacieV2.DeleteInvitations+import Amazonka.MacieV2.DeleteMember+import Amazonka.MacieV2.DescribeBuckets+import Amazonka.MacieV2.DescribeClassificationJob+import Amazonka.MacieV2.DescribeOrganizationConfiguration+import Amazonka.MacieV2.DisableMacie+import Amazonka.MacieV2.DisableOrganizationAdminAccount+import Amazonka.MacieV2.DisassociateFromAdministratorAccount+import Amazonka.MacieV2.DisassociateFromMasterAccount+import Amazonka.MacieV2.DisassociateMember+import Amazonka.MacieV2.EnableMacie+import Amazonka.MacieV2.EnableOrganizationAdminAccount+import Amazonka.MacieV2.GetAdministratorAccount+import Amazonka.MacieV2.GetAllowList+import Amazonka.MacieV2.GetAutomatedDiscoveryConfiguration+import Amazonka.MacieV2.GetBucketStatistics+import Amazonka.MacieV2.GetClassificationExportConfiguration+import Amazonka.MacieV2.GetClassificationScope+import Amazonka.MacieV2.GetCustomDataIdentifier+import Amazonka.MacieV2.GetFindingStatistics+import Amazonka.MacieV2.GetFindings+import Amazonka.MacieV2.GetFindingsFilter+import Amazonka.MacieV2.GetFindingsPublicationConfiguration+import Amazonka.MacieV2.GetInvitationsCount+import Amazonka.MacieV2.GetMacieSession+import Amazonka.MacieV2.GetMasterAccount+import Amazonka.MacieV2.GetMember+import Amazonka.MacieV2.GetResourceProfile+import Amazonka.MacieV2.GetRevealConfiguration+import Amazonka.MacieV2.GetSensitiveDataOccurrences+import Amazonka.MacieV2.GetSensitiveDataOccurrencesAvailability+import Amazonka.MacieV2.GetSensitivityInspectionTemplate+import Amazonka.MacieV2.GetUsageStatistics+import Amazonka.MacieV2.GetUsageTotals+import Amazonka.MacieV2.Lens+import Amazonka.MacieV2.ListAllowLists+import Amazonka.MacieV2.ListClassificationJobs+import Amazonka.MacieV2.ListClassificationScopes+import Amazonka.MacieV2.ListCustomDataIdentifiers+import Amazonka.MacieV2.ListFindings+import Amazonka.MacieV2.ListFindingsFilters+import Amazonka.MacieV2.ListInvitations+import Amazonka.MacieV2.ListManagedDataIdentifiers+import Amazonka.MacieV2.ListMembers+import Amazonka.MacieV2.ListOrganizationAdminAccounts+import Amazonka.MacieV2.ListResourceProfileArtifacts+import Amazonka.MacieV2.ListResourceProfileDetections+import Amazonka.MacieV2.ListSensitivityInspectionTemplates+import Amazonka.MacieV2.ListTagsForResource+import Amazonka.MacieV2.PutClassificationExportConfiguration+import Amazonka.MacieV2.PutFindingsPublicationConfiguration+import Amazonka.MacieV2.SearchResources+import Amazonka.MacieV2.TagResource+import Amazonka.MacieV2.TestCustomDataIdentifier+import Amazonka.MacieV2.Types+import Amazonka.MacieV2.UntagResource+import Amazonka.MacieV2.UpdateAllowList+import Amazonka.MacieV2.UpdateAutomatedDiscoveryConfiguration+import Amazonka.MacieV2.UpdateClassificationJob+import Amazonka.MacieV2.UpdateClassificationScope+import Amazonka.MacieV2.UpdateFindingsFilter+import Amazonka.MacieV2.UpdateMacieSession+import Amazonka.MacieV2.UpdateMemberSession+import Amazonka.MacieV2.UpdateOrganizationConfiguration+import Amazonka.MacieV2.UpdateResourceProfile+import Amazonka.MacieV2.UpdateResourceProfileDetections+import Amazonka.MacieV2.UpdateRevealConfiguration+import Amazonka.MacieV2.UpdateSensitivityInspectionTemplate+import Amazonka.MacieV2.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 'MacieV2'.++-- $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/MacieV2/AcceptInvitation.hs view
@@ -0,0 +1,198 @@+{-# 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.MacieV2.AcceptInvitation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Accepts an Amazon Macie membership invitation that was received from a+-- specific account.+module Amazonka.MacieV2.AcceptInvitation+ ( -- * Creating a Request+ AcceptInvitation (..),+ newAcceptInvitation,++ -- * Request Lenses+ acceptInvitation_administratorAccountId,+ acceptInvitation_masterAccount,+ acceptInvitation_invitationId,++ -- * Destructuring the Response+ AcceptInvitationResponse (..),+ newAcceptInvitationResponse,++ -- * Response Lenses+ acceptInvitationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAcceptInvitation' smart constructor.+data AcceptInvitation = AcceptInvitation'+ { -- | The Amazon Web Services account ID for the account that sent the+ -- invitation.+ administratorAccountId :: Prelude.Maybe Prelude.Text,+ -- | (Deprecated) The Amazon Web Services account ID for the account that+ -- sent the invitation. This property has been replaced by the+ -- administratorAccountId property and is retained only for backward+ -- compatibility.+ masterAccount :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the invitation to accept.+ invitationId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AcceptInvitation' 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:+--+-- 'administratorAccountId', 'acceptInvitation_administratorAccountId' - The Amazon Web Services account ID for the account that sent the+-- invitation.+--+-- 'masterAccount', 'acceptInvitation_masterAccount' - (Deprecated) The Amazon Web Services account ID for the account that+-- sent the invitation. This property has been replaced by the+-- administratorAccountId property and is retained only for backward+-- compatibility.+--+-- 'invitationId', 'acceptInvitation_invitationId' - The unique identifier for the invitation to accept.+newAcceptInvitation ::+ -- | 'invitationId'+ Prelude.Text ->+ AcceptInvitation+newAcceptInvitation pInvitationId_ =+ AcceptInvitation'+ { administratorAccountId =+ Prelude.Nothing,+ masterAccount = Prelude.Nothing,+ invitationId = pInvitationId_+ }++-- | The Amazon Web Services account ID for the account that sent the+-- invitation.+acceptInvitation_administratorAccountId :: Lens.Lens' AcceptInvitation (Prelude.Maybe Prelude.Text)+acceptInvitation_administratorAccountId = Lens.lens (\AcceptInvitation' {administratorAccountId} -> administratorAccountId) (\s@AcceptInvitation' {} a -> s {administratorAccountId = a} :: AcceptInvitation)++-- | (Deprecated) The Amazon Web Services account ID for the account that+-- sent the invitation. This property has been replaced by the+-- administratorAccountId property and is retained only for backward+-- compatibility.+acceptInvitation_masterAccount :: Lens.Lens' AcceptInvitation (Prelude.Maybe Prelude.Text)+acceptInvitation_masterAccount = Lens.lens (\AcceptInvitation' {masterAccount} -> masterAccount) (\s@AcceptInvitation' {} a -> s {masterAccount = a} :: AcceptInvitation)++-- | The unique identifier for the invitation to accept.+acceptInvitation_invitationId :: Lens.Lens' AcceptInvitation Prelude.Text+acceptInvitation_invitationId = Lens.lens (\AcceptInvitation' {invitationId} -> invitationId) (\s@AcceptInvitation' {} a -> s {invitationId = a} :: AcceptInvitation)++instance Core.AWSRequest AcceptInvitation where+ type+ AWSResponse AcceptInvitation =+ AcceptInvitationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ AcceptInvitationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AcceptInvitation where+ hashWithSalt _salt AcceptInvitation' {..} =+ _salt+ `Prelude.hashWithSalt` administratorAccountId+ `Prelude.hashWithSalt` masterAccount+ `Prelude.hashWithSalt` invitationId++instance Prelude.NFData AcceptInvitation where+ rnf AcceptInvitation' {..} =+ Prelude.rnf administratorAccountId+ `Prelude.seq` Prelude.rnf masterAccount+ `Prelude.seq` Prelude.rnf invitationId++instance Data.ToHeaders AcceptInvitation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AcceptInvitation where+ toJSON AcceptInvitation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("administratorAccountId" Data..=)+ Prelude.<$> administratorAccountId,+ ("masterAccount" Data..=) Prelude.<$> masterAccount,+ Prelude.Just ("invitationId" Data..= invitationId)+ ]+ )++instance Data.ToPath AcceptInvitation where+ toPath = Prelude.const "/invitations/accept"++instance Data.ToQuery AcceptInvitation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAcceptInvitationResponse' smart constructor.+data AcceptInvitationResponse = AcceptInvitationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AcceptInvitationResponse' 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', 'acceptInvitationResponse_httpStatus' - The response's http status code.+newAcceptInvitationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AcceptInvitationResponse+newAcceptInvitationResponse pHttpStatus_ =+ AcceptInvitationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+acceptInvitationResponse_httpStatus :: Lens.Lens' AcceptInvitationResponse Prelude.Int+acceptInvitationResponse_httpStatus = Lens.lens (\AcceptInvitationResponse' {httpStatus} -> httpStatus) (\s@AcceptInvitationResponse' {} a -> s {httpStatus = a} :: AcceptInvitationResponse)++instance Prelude.NFData AcceptInvitationResponse where+ rnf AcceptInvitationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/BatchGetCustomDataIdentifiers.hs view
@@ -0,0 +1,204 @@+{-# 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.MacieV2.BatchGetCustomDataIdentifiers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about one or more custom data identifiers.+module Amazonka.MacieV2.BatchGetCustomDataIdentifiers+ ( -- * Creating a Request+ BatchGetCustomDataIdentifiers (..),+ newBatchGetCustomDataIdentifiers,++ -- * Request Lenses+ batchGetCustomDataIdentifiers_ids,++ -- * Destructuring the Response+ BatchGetCustomDataIdentifiersResponse (..),+ newBatchGetCustomDataIdentifiersResponse,++ -- * Response Lenses+ batchGetCustomDataIdentifiersResponse_customDataIdentifiers,+ batchGetCustomDataIdentifiersResponse_notFoundIdentifierIds,+ batchGetCustomDataIdentifiersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newBatchGetCustomDataIdentifiers' smart constructor.+data BatchGetCustomDataIdentifiers = BatchGetCustomDataIdentifiers'+ { -- | An array of custom data identifier IDs, one for each custom data+ -- identifier to retrieve information about.+ ids :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetCustomDataIdentifiers' 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:+--+-- 'ids', 'batchGetCustomDataIdentifiers_ids' - An array of custom data identifier IDs, one for each custom data+-- identifier to retrieve information about.+newBatchGetCustomDataIdentifiers ::+ BatchGetCustomDataIdentifiers+newBatchGetCustomDataIdentifiers =+ BatchGetCustomDataIdentifiers'+ { ids =+ Prelude.Nothing+ }++-- | An array of custom data identifier IDs, one for each custom data+-- identifier to retrieve information about.+batchGetCustomDataIdentifiers_ids :: Lens.Lens' BatchGetCustomDataIdentifiers (Prelude.Maybe [Prelude.Text])+batchGetCustomDataIdentifiers_ids = Lens.lens (\BatchGetCustomDataIdentifiers' {ids} -> ids) (\s@BatchGetCustomDataIdentifiers' {} a -> s {ids = a} :: BatchGetCustomDataIdentifiers) Prelude.. Lens.mapping Lens.coerced++instance+ Core.AWSRequest+ BatchGetCustomDataIdentifiers+ where+ type+ AWSResponse BatchGetCustomDataIdentifiers =+ BatchGetCustomDataIdentifiersResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ BatchGetCustomDataIdentifiersResponse'+ Prelude.<$> ( x+ Data..?> "customDataIdentifiers"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> ( x+ Data..?> "notFoundIdentifierIds"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ BatchGetCustomDataIdentifiers+ where+ hashWithSalt _salt BatchGetCustomDataIdentifiers' {..} =+ _salt `Prelude.hashWithSalt` ids++instance Prelude.NFData BatchGetCustomDataIdentifiers where+ rnf BatchGetCustomDataIdentifiers' {..} =+ Prelude.rnf ids++instance Data.ToHeaders BatchGetCustomDataIdentifiers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON BatchGetCustomDataIdentifiers where+ toJSON BatchGetCustomDataIdentifiers' {..} =+ Data.object+ (Prelude.catMaybes [("ids" Data..=) Prelude.<$> ids])++instance Data.ToPath BatchGetCustomDataIdentifiers where+ toPath = Prelude.const "/custom-data-identifiers/get"++instance Data.ToQuery BatchGetCustomDataIdentifiers where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newBatchGetCustomDataIdentifiersResponse' smart constructor.+data BatchGetCustomDataIdentifiersResponse = BatchGetCustomDataIdentifiersResponse'+ { -- | An array of objects, one for each custom data identifier that matches+ -- the criteria specified in the request.+ customDataIdentifiers :: Prelude.Maybe [BatchGetCustomDataIdentifierSummary],+ -- | An array of custom data identifier IDs, one for each custom data+ -- identifier that was specified in the request but doesn\'t correlate to+ -- an existing custom data identifier.+ notFoundIdentifierIds :: 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 'BatchGetCustomDataIdentifiersResponse' 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:+--+-- 'customDataIdentifiers', 'batchGetCustomDataIdentifiersResponse_customDataIdentifiers' - An array of objects, one for each custom data identifier that matches+-- the criteria specified in the request.+--+-- 'notFoundIdentifierIds', 'batchGetCustomDataIdentifiersResponse_notFoundIdentifierIds' - An array of custom data identifier IDs, one for each custom data+-- identifier that was specified in the request but doesn\'t correlate to+-- an existing custom data identifier.+--+-- 'httpStatus', 'batchGetCustomDataIdentifiersResponse_httpStatus' - The response's http status code.+newBatchGetCustomDataIdentifiersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ BatchGetCustomDataIdentifiersResponse+newBatchGetCustomDataIdentifiersResponse pHttpStatus_ =+ BatchGetCustomDataIdentifiersResponse'+ { customDataIdentifiers =+ Prelude.Nothing,+ notFoundIdentifierIds =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each custom data identifier that matches+-- the criteria specified in the request.+batchGetCustomDataIdentifiersResponse_customDataIdentifiers :: Lens.Lens' BatchGetCustomDataIdentifiersResponse (Prelude.Maybe [BatchGetCustomDataIdentifierSummary])+batchGetCustomDataIdentifiersResponse_customDataIdentifiers = Lens.lens (\BatchGetCustomDataIdentifiersResponse' {customDataIdentifiers} -> customDataIdentifiers) (\s@BatchGetCustomDataIdentifiersResponse' {} a -> s {customDataIdentifiers = a} :: BatchGetCustomDataIdentifiersResponse) Prelude.. Lens.mapping Lens.coerced++-- | An array of custom data identifier IDs, one for each custom data+-- identifier that was specified in the request but doesn\'t correlate to+-- an existing custom data identifier.+batchGetCustomDataIdentifiersResponse_notFoundIdentifierIds :: Lens.Lens' BatchGetCustomDataIdentifiersResponse (Prelude.Maybe [Prelude.Text])+batchGetCustomDataIdentifiersResponse_notFoundIdentifierIds = Lens.lens (\BatchGetCustomDataIdentifiersResponse' {notFoundIdentifierIds} -> notFoundIdentifierIds) (\s@BatchGetCustomDataIdentifiersResponse' {} a -> s {notFoundIdentifierIds = a} :: BatchGetCustomDataIdentifiersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+batchGetCustomDataIdentifiersResponse_httpStatus :: Lens.Lens' BatchGetCustomDataIdentifiersResponse Prelude.Int+batchGetCustomDataIdentifiersResponse_httpStatus = Lens.lens (\BatchGetCustomDataIdentifiersResponse' {httpStatus} -> httpStatus) (\s@BatchGetCustomDataIdentifiersResponse' {} a -> s {httpStatus = a} :: BatchGetCustomDataIdentifiersResponse)++instance+ Prelude.NFData+ BatchGetCustomDataIdentifiersResponse+ where+ rnf BatchGetCustomDataIdentifiersResponse' {..} =+ Prelude.rnf customDataIdentifiers+ `Prelude.seq` Prelude.rnf notFoundIdentifierIds+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/CreateAllowList.hs view
@@ -0,0 +1,269 @@+{-# 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.MacieV2.CreateAllowList+-- 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 and defines the settings for an allow list.+module Amazonka.MacieV2.CreateAllowList+ ( -- * Creating a Request+ CreateAllowList (..),+ newCreateAllowList,++ -- * Request Lenses+ createAllowList_description,+ createAllowList_tags,+ createAllowList_criteria,+ createAllowList_clientToken,+ createAllowList_name,++ -- * Destructuring the Response+ CreateAllowListResponse (..),+ newCreateAllowListResponse,++ -- * Response Lenses+ createAllowListResponse_arn,+ createAllowListResponse_id,+ createAllowListResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateAllowList' smart constructor.+data CreateAllowList = CreateAllowList'+ { -- | A custom description of the allow list. The description can contain as+ -- many as 512 characters.+ description :: Prelude.Maybe Prelude.Text,+ -- | A map of key-value pairs that specifies the tags to associate with the+ -- allow list.+ --+ -- An allow list can have a maximum of 50 tags. Each tag consists of a tag+ -- key and an associated tag value. The maximum length of a tag key is 128+ -- characters. The maximum length of a tag value is 256 characters.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The criteria that specify the text or text pattern to ignore. The+ -- criteria can be the location and name of an S3 object that lists+ -- specific text to ignore (s3WordsList), or a regular expression (regex)+ -- that defines a text pattern to ignore.+ criteria :: AllowListCriteria,+ -- | A unique, case-sensitive token that you provide to ensure the+ -- idempotency of the request.+ clientToken :: Prelude.Text,+ -- | A custom name for the allow list. The name can contain as many as 128+ -- characters.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateAllowList' 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', 'createAllowList_description' - A custom description of the allow list. The description can contain as+-- many as 512 characters.+--+-- 'tags', 'createAllowList_tags' - A map of key-value pairs that specifies the tags to associate with the+-- allow list.+--+-- An allow list can have a maximum of 50 tags. Each tag consists of a tag+-- key and an associated tag value. The maximum length of a tag key is 128+-- characters. The maximum length of a tag value is 256 characters.+--+-- 'criteria', 'createAllowList_criteria' - The criteria that specify the text or text pattern to ignore. The+-- criteria can be the location and name of an S3 object that lists+-- specific text to ignore (s3WordsList), or a regular expression (regex)+-- that defines a text pattern to ignore.+--+-- 'clientToken', 'createAllowList_clientToken' - A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+--+-- 'name', 'createAllowList_name' - A custom name for the allow list. The name can contain as many as 128+-- characters.+newCreateAllowList ::+ -- | 'criteria'+ AllowListCriteria ->+ -- | 'clientToken'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ CreateAllowList+newCreateAllowList pCriteria_ pClientToken_ pName_ =+ CreateAllowList'+ { description = Prelude.Nothing,+ tags = Prelude.Nothing,+ criteria = pCriteria_,+ clientToken = pClientToken_,+ name = pName_+ }++-- | A custom description of the allow list. The description can contain as+-- many as 512 characters.+createAllowList_description :: Lens.Lens' CreateAllowList (Prelude.Maybe Prelude.Text)+createAllowList_description = Lens.lens (\CreateAllowList' {description} -> description) (\s@CreateAllowList' {} a -> s {description = a} :: CreateAllowList)++-- | A map of key-value pairs that specifies the tags to associate with the+-- allow list.+--+-- An allow list can have a maximum of 50 tags. Each tag consists of a tag+-- key and an associated tag value. The maximum length of a tag key is 128+-- characters. The maximum length of a tag value is 256 characters.+createAllowList_tags :: Lens.Lens' CreateAllowList (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createAllowList_tags = Lens.lens (\CreateAllowList' {tags} -> tags) (\s@CreateAllowList' {} a -> s {tags = a} :: CreateAllowList) Prelude.. Lens.mapping Lens.coerced++-- | The criteria that specify the text or text pattern to ignore. The+-- criteria can be the location and name of an S3 object that lists+-- specific text to ignore (s3WordsList), or a regular expression (regex)+-- that defines a text pattern to ignore.+createAllowList_criteria :: Lens.Lens' CreateAllowList AllowListCriteria+createAllowList_criteria = Lens.lens (\CreateAllowList' {criteria} -> criteria) (\s@CreateAllowList' {} a -> s {criteria = a} :: CreateAllowList)++-- | A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+createAllowList_clientToken :: Lens.Lens' CreateAllowList Prelude.Text+createAllowList_clientToken = Lens.lens (\CreateAllowList' {clientToken} -> clientToken) (\s@CreateAllowList' {} a -> s {clientToken = a} :: CreateAllowList)++-- | A custom name for the allow list. The name can contain as many as 128+-- characters.+createAllowList_name :: Lens.Lens' CreateAllowList Prelude.Text+createAllowList_name = Lens.lens (\CreateAllowList' {name} -> name) (\s@CreateAllowList' {} a -> s {name = a} :: CreateAllowList)++instance Core.AWSRequest CreateAllowList where+ type+ AWSResponse CreateAllowList =+ CreateAllowListResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateAllowListResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "id")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateAllowList where+ hashWithSalt _salt CreateAllowList' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` criteria+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateAllowList where+ rnf CreateAllowList' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf criteria+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateAllowList where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateAllowList where+ toJSON CreateAllowList' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("criteria" Data..= criteria),+ Prelude.Just ("clientToken" Data..= clientToken),+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath CreateAllowList where+ toPath = Prelude.const "/allow-lists"++instance Data.ToQuery CreateAllowList where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateAllowListResponse' smart constructor.+data CreateAllowListResponse = CreateAllowListResponse'+ { -- | The Amazon Resource Name (ARN) of the allow list.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the allow list.+ id :: 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 'CreateAllowListResponse' 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', 'createAllowListResponse_arn' - The Amazon Resource Name (ARN) of the allow list.+--+-- 'id', 'createAllowListResponse_id' - The unique identifier for the allow list.+--+-- 'httpStatus', 'createAllowListResponse_httpStatus' - The response's http status code.+newCreateAllowListResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateAllowListResponse+newCreateAllowListResponse pHttpStatus_ =+ CreateAllowListResponse'+ { arn = Prelude.Nothing,+ id = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the allow list.+createAllowListResponse_arn :: Lens.Lens' CreateAllowListResponse (Prelude.Maybe Prelude.Text)+createAllowListResponse_arn = Lens.lens (\CreateAllowListResponse' {arn} -> arn) (\s@CreateAllowListResponse' {} a -> s {arn = a} :: CreateAllowListResponse)++-- | The unique identifier for the allow list.+createAllowListResponse_id :: Lens.Lens' CreateAllowListResponse (Prelude.Maybe Prelude.Text)+createAllowListResponse_id = Lens.lens (\CreateAllowListResponse' {id} -> id) (\s@CreateAllowListResponse' {} a -> s {id = a} :: CreateAllowListResponse)++-- | The response's http status code.+createAllowListResponse_httpStatus :: Lens.Lens' CreateAllowListResponse Prelude.Int+createAllowListResponse_httpStatus = Lens.lens (\CreateAllowListResponse' {httpStatus} -> httpStatus) (\s@CreateAllowListResponse' {} a -> s {httpStatus = a} :: CreateAllowListResponse)++instance Prelude.NFData CreateAllowListResponse where+ rnf CreateAllowListResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/CreateClassificationJob.hs view
@@ -0,0 +1,537 @@+{-# 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.MacieV2.CreateClassificationJob+-- 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 and defines the settings for a classification job.+module Amazonka.MacieV2.CreateClassificationJob+ ( -- * Creating a Request+ CreateClassificationJob (..),+ newCreateClassificationJob,++ -- * Request Lenses+ createClassificationJob_allowListIds,+ createClassificationJob_customDataIdentifierIds,+ createClassificationJob_description,+ createClassificationJob_initialRun,+ createClassificationJob_managedDataIdentifierIds,+ createClassificationJob_managedDataIdentifierSelector,+ createClassificationJob_samplingPercentage,+ createClassificationJob_scheduleFrequency,+ createClassificationJob_tags,+ createClassificationJob_s3JobDefinition,+ createClassificationJob_jobType,+ createClassificationJob_clientToken,+ createClassificationJob_name,++ -- * Destructuring the Response+ CreateClassificationJobResponse (..),+ newCreateClassificationJobResponse,++ -- * Response Lenses+ createClassificationJobResponse_jobArn,+ createClassificationJobResponse_jobId,+ createClassificationJobResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateClassificationJob' smart constructor.+data CreateClassificationJob = CreateClassificationJob'+ { -- | An array of unique identifiers, one for each allow list for the job to+ -- use when it analyzes data.+ allowListIds :: Prelude.Maybe [Prelude.Text],+ -- | An array of unique identifiers, one for each custom data identifier for+ -- the job to use when it analyzes data. To use only managed data+ -- identifiers, don\'t specify a value for this property and specify a+ -- value other than NONE for the managedDataIdentifierSelector property.+ customDataIdentifierIds :: Prelude.Maybe [Prelude.Text],+ -- | A custom description of the job. The description can contain as many as+ -- 200 characters.+ description :: Prelude.Maybe Prelude.Text,+ -- | For a recurring job, specifies whether to analyze all existing, eligible+ -- objects immediately after the job is created (true). To analyze only+ -- those objects that are created or changed after you create the job and+ -- before the job\'s first scheduled run, set this value to false.+ --+ -- If you configure the job to run only once, don\'t specify a value for+ -- this property.+ initialRun :: Prelude.Maybe Prelude.Bool,+ -- | An array of unique identifiers, one for each managed data identifier for+ -- the job to include (use) or exclude (not use) when it analyzes data.+ -- Inclusion or exclusion depends on the managed data identifier selection+ -- type that you specify for the job (managedDataIdentifierSelector).+ --+ -- To retrieve a list of valid values for this property, use the+ -- ListManagedDataIdentifiers operation.+ managedDataIdentifierIds :: Prelude.Maybe [Prelude.Text],+ -- | The selection type to apply when determining which managed data+ -- identifiers the job uses to analyze data. Valid values are:+ --+ -- - ALL - Use all the managed data identifiers that Amazon Macie+ -- provides. If you specify this value, don\'t specify any values for+ -- the managedDataIdentifierIds property.+ --+ -- - EXCLUDE - Use all the managed data identifiers that Macie provides+ -- except the managed data identifiers specified by the+ -- managedDataIdentifierIds property.+ --+ -- - INCLUDE - Use only the managed data identifiers specified by the+ -- managedDataIdentifierIds property.+ --+ -- - NONE - Don\'t use any managed data identifiers. If you specify this+ -- value, specify at least one custom data identifier for the job+ -- (customDataIdentifierIds) and don\'t specify any values for the+ -- managedDataIdentifierIds property.+ --+ -- If you don\'t specify a value for this property, the job uses all+ -- managed data identifiers. If you don\'t specify a value for this+ -- property or you specify ALL or EXCLUDE for a recurring job, the job also+ -- uses new managed data identifiers as they are released.+ managedDataIdentifierSelector :: Prelude.Maybe ManagedDataIdentifierSelector,+ -- | The sampling depth, as a percentage, for the job to apply when+ -- processing objects. This value determines the percentage of eligible+ -- objects that the job analyzes. If this value is less than 100, Amazon+ -- Macie selects the objects to analyze at random, up to the specified+ -- percentage, and analyzes all the data in those objects.+ samplingPercentage :: Prelude.Maybe Prelude.Int,+ -- | The recurrence pattern for running the job. To run the job only once,+ -- don\'t specify a value for this property and set the value for the+ -- jobType property to ONE_TIME.+ scheduleFrequency :: Prelude.Maybe JobScheduleFrequency,+ -- | A map of key-value pairs that specifies the tags to associate with the+ -- job.+ --+ -- A job can have a maximum of 50 tags. Each tag consists of a tag key and+ -- an associated tag value. The maximum length of a tag key is 128+ -- characters. The maximum length of a tag value is 256 characters.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The S3 buckets that contain the objects to analyze, and the scope of+ -- that analysis.+ s3JobDefinition :: S3JobDefinition,+ -- | The schedule for running the job. Valid values are:+ --+ -- - ONE_TIME - Run the job only once. If you specify this value, don\'t+ -- specify a value for the scheduleFrequency property.+ --+ -- - SCHEDULED - Run the job on a daily, weekly, or monthly basis. If you+ -- specify this value, use the scheduleFrequency property to define the+ -- recurrence pattern for the job.+ jobType :: JobType,+ -- | A unique, case-sensitive token that you provide to ensure the+ -- idempotency of the request.+ clientToken :: Prelude.Text,+ -- | A custom name for the job. The name can contain as many as 500+ -- characters.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateClassificationJob' 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:+--+-- 'allowListIds', 'createClassificationJob_allowListIds' - An array of unique identifiers, one for each allow list for the job to+-- use when it analyzes data.+--+-- 'customDataIdentifierIds', 'createClassificationJob_customDataIdentifierIds' - An array of unique identifiers, one for each custom data identifier for+-- the job to use when it analyzes data. To use only managed data+-- identifiers, don\'t specify a value for this property and specify a+-- value other than NONE for the managedDataIdentifierSelector property.+--+-- 'description', 'createClassificationJob_description' - A custom description of the job. The description can contain as many as+-- 200 characters.+--+-- 'initialRun', 'createClassificationJob_initialRun' - For a recurring job, specifies whether to analyze all existing, eligible+-- objects immediately after the job is created (true). To analyze only+-- those objects that are created or changed after you create the job and+-- before the job\'s first scheduled run, set this value to false.+--+-- If you configure the job to run only once, don\'t specify a value for+-- this property.+--+-- 'managedDataIdentifierIds', 'createClassificationJob_managedDataIdentifierIds' - An array of unique identifiers, one for each managed data identifier for+-- the job to include (use) or exclude (not use) when it analyzes data.+-- Inclusion or exclusion depends on the managed data identifier selection+-- type that you specify for the job (managedDataIdentifierSelector).+--+-- To retrieve a list of valid values for this property, use the+-- ListManagedDataIdentifiers operation.+--+-- 'managedDataIdentifierSelector', 'createClassificationJob_managedDataIdentifierSelector' - The selection type to apply when determining which managed data+-- identifiers the job uses to analyze data. Valid values are:+--+-- - ALL - Use all the managed data identifiers that Amazon Macie+-- provides. If you specify this value, don\'t specify any values for+-- the managedDataIdentifierIds property.+--+-- - EXCLUDE - Use all the managed data identifiers that Macie provides+-- except the managed data identifiers specified by the+-- managedDataIdentifierIds property.+--+-- - INCLUDE - Use only the managed data identifiers specified by the+-- managedDataIdentifierIds property.+--+-- - NONE - Don\'t use any managed data identifiers. If you specify this+-- value, specify at least one custom data identifier for the job+-- (customDataIdentifierIds) and don\'t specify any values for the+-- managedDataIdentifierIds property.+--+-- If you don\'t specify a value for this property, the job uses all+-- managed data identifiers. If you don\'t specify a value for this+-- property or you specify ALL or EXCLUDE for a recurring job, the job also+-- uses new managed data identifiers as they are released.+--+-- 'samplingPercentage', 'createClassificationJob_samplingPercentage' - The sampling depth, as a percentage, for the job to apply when+-- processing objects. This value determines the percentage of eligible+-- objects that the job analyzes. If this value is less than 100, Amazon+-- Macie selects the objects to analyze at random, up to the specified+-- percentage, and analyzes all the data in those objects.+--+-- 'scheduleFrequency', 'createClassificationJob_scheduleFrequency' - The recurrence pattern for running the job. To run the job only once,+-- don\'t specify a value for this property and set the value for the+-- jobType property to ONE_TIME.+--+-- 'tags', 'createClassificationJob_tags' - A map of key-value pairs that specifies the tags to associate with the+-- job.+--+-- A job can have a maximum of 50 tags. Each tag consists of a tag key and+-- an associated tag value. The maximum length of a tag key is 128+-- characters. The maximum length of a tag value is 256 characters.+--+-- 's3JobDefinition', 'createClassificationJob_s3JobDefinition' - The S3 buckets that contain the objects to analyze, and the scope of+-- that analysis.+--+-- 'jobType', 'createClassificationJob_jobType' - The schedule for running the job. Valid values are:+--+-- - ONE_TIME - Run the job only once. If you specify this value, don\'t+-- specify a value for the scheduleFrequency property.+--+-- - SCHEDULED - Run the job on a daily, weekly, or monthly basis. If you+-- specify this value, use the scheduleFrequency property to define the+-- recurrence pattern for the job.+--+-- 'clientToken', 'createClassificationJob_clientToken' - A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+--+-- 'name', 'createClassificationJob_name' - A custom name for the job. The name can contain as many as 500+-- characters.+newCreateClassificationJob ::+ -- | 's3JobDefinition'+ S3JobDefinition ->+ -- | 'jobType'+ JobType ->+ -- | 'clientToken'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ CreateClassificationJob+newCreateClassificationJob+ pS3JobDefinition_+ pJobType_+ pClientToken_+ pName_ =+ CreateClassificationJob'+ { allowListIds =+ Prelude.Nothing,+ customDataIdentifierIds = Prelude.Nothing,+ description = Prelude.Nothing,+ initialRun = Prelude.Nothing,+ managedDataIdentifierIds = Prelude.Nothing,+ managedDataIdentifierSelector = Prelude.Nothing,+ samplingPercentage = Prelude.Nothing,+ scheduleFrequency = Prelude.Nothing,+ tags = Prelude.Nothing,+ s3JobDefinition = pS3JobDefinition_,+ jobType = pJobType_,+ clientToken = pClientToken_,+ name = pName_+ }++-- | An array of unique identifiers, one for each allow list for the job to+-- use when it analyzes data.+createClassificationJob_allowListIds :: Lens.Lens' CreateClassificationJob (Prelude.Maybe [Prelude.Text])+createClassificationJob_allowListIds = Lens.lens (\CreateClassificationJob' {allowListIds} -> allowListIds) (\s@CreateClassificationJob' {} a -> s {allowListIds = a} :: CreateClassificationJob) Prelude.. Lens.mapping Lens.coerced++-- | An array of unique identifiers, one for each custom data identifier for+-- the job to use when it analyzes data. To use only managed data+-- identifiers, don\'t specify a value for this property and specify a+-- value other than NONE for the managedDataIdentifierSelector property.+createClassificationJob_customDataIdentifierIds :: Lens.Lens' CreateClassificationJob (Prelude.Maybe [Prelude.Text])+createClassificationJob_customDataIdentifierIds = Lens.lens (\CreateClassificationJob' {customDataIdentifierIds} -> customDataIdentifierIds) (\s@CreateClassificationJob' {} a -> s {customDataIdentifierIds = a} :: CreateClassificationJob) Prelude.. Lens.mapping Lens.coerced++-- | A custom description of the job. The description can contain as many as+-- 200 characters.+createClassificationJob_description :: Lens.Lens' CreateClassificationJob (Prelude.Maybe Prelude.Text)+createClassificationJob_description = Lens.lens (\CreateClassificationJob' {description} -> description) (\s@CreateClassificationJob' {} a -> s {description = a} :: CreateClassificationJob)++-- | For a recurring job, specifies whether to analyze all existing, eligible+-- objects immediately after the job is created (true). To analyze only+-- those objects that are created or changed after you create the job and+-- before the job\'s first scheduled run, set this value to false.+--+-- If you configure the job to run only once, don\'t specify a value for+-- this property.+createClassificationJob_initialRun :: Lens.Lens' CreateClassificationJob (Prelude.Maybe Prelude.Bool)+createClassificationJob_initialRun = Lens.lens (\CreateClassificationJob' {initialRun} -> initialRun) (\s@CreateClassificationJob' {} a -> s {initialRun = a} :: CreateClassificationJob)++-- | An array of unique identifiers, one for each managed data identifier for+-- the job to include (use) or exclude (not use) when it analyzes data.+-- Inclusion or exclusion depends on the managed data identifier selection+-- type that you specify for the job (managedDataIdentifierSelector).+--+-- To retrieve a list of valid values for this property, use the+-- ListManagedDataIdentifiers operation.+createClassificationJob_managedDataIdentifierIds :: Lens.Lens' CreateClassificationJob (Prelude.Maybe [Prelude.Text])+createClassificationJob_managedDataIdentifierIds = Lens.lens (\CreateClassificationJob' {managedDataIdentifierIds} -> managedDataIdentifierIds) (\s@CreateClassificationJob' {} a -> s {managedDataIdentifierIds = a} :: CreateClassificationJob) Prelude.. Lens.mapping Lens.coerced++-- | The selection type to apply when determining which managed data+-- identifiers the job uses to analyze data. Valid values are:+--+-- - ALL - Use all the managed data identifiers that Amazon Macie+-- provides. If you specify this value, don\'t specify any values for+-- the managedDataIdentifierIds property.+--+-- - EXCLUDE - Use all the managed data identifiers that Macie provides+-- except the managed data identifiers specified by the+-- managedDataIdentifierIds property.+--+-- - INCLUDE - Use only the managed data identifiers specified by the+-- managedDataIdentifierIds property.+--+-- - NONE - Don\'t use any managed data identifiers. If you specify this+-- value, specify at least one custom data identifier for the job+-- (customDataIdentifierIds) and don\'t specify any values for the+-- managedDataIdentifierIds property.+--+-- If you don\'t specify a value for this property, the job uses all+-- managed data identifiers. If you don\'t specify a value for this+-- property or you specify ALL or EXCLUDE for a recurring job, the job also+-- uses new managed data identifiers as they are released.+createClassificationJob_managedDataIdentifierSelector :: Lens.Lens' CreateClassificationJob (Prelude.Maybe ManagedDataIdentifierSelector)+createClassificationJob_managedDataIdentifierSelector = Lens.lens (\CreateClassificationJob' {managedDataIdentifierSelector} -> managedDataIdentifierSelector) (\s@CreateClassificationJob' {} a -> s {managedDataIdentifierSelector = a} :: CreateClassificationJob)++-- | The sampling depth, as a percentage, for the job to apply when+-- processing objects. This value determines the percentage of eligible+-- objects that the job analyzes. If this value is less than 100, Amazon+-- Macie selects the objects to analyze at random, up to the specified+-- percentage, and analyzes all the data in those objects.+createClassificationJob_samplingPercentage :: Lens.Lens' CreateClassificationJob (Prelude.Maybe Prelude.Int)+createClassificationJob_samplingPercentage = Lens.lens (\CreateClassificationJob' {samplingPercentage} -> samplingPercentage) (\s@CreateClassificationJob' {} a -> s {samplingPercentage = a} :: CreateClassificationJob)++-- | The recurrence pattern for running the job. To run the job only once,+-- don\'t specify a value for this property and set the value for the+-- jobType property to ONE_TIME.+createClassificationJob_scheduleFrequency :: Lens.Lens' CreateClassificationJob (Prelude.Maybe JobScheduleFrequency)+createClassificationJob_scheduleFrequency = Lens.lens (\CreateClassificationJob' {scheduleFrequency} -> scheduleFrequency) (\s@CreateClassificationJob' {} a -> s {scheduleFrequency = a} :: CreateClassificationJob)++-- | A map of key-value pairs that specifies the tags to associate with the+-- job.+--+-- A job can have a maximum of 50 tags. Each tag consists of a tag key and+-- an associated tag value. The maximum length of a tag key is 128+-- characters. The maximum length of a tag value is 256 characters.+createClassificationJob_tags :: Lens.Lens' CreateClassificationJob (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createClassificationJob_tags = Lens.lens (\CreateClassificationJob' {tags} -> tags) (\s@CreateClassificationJob' {} a -> s {tags = a} :: CreateClassificationJob) Prelude.. Lens.mapping Lens.coerced++-- | The S3 buckets that contain the objects to analyze, and the scope of+-- that analysis.+createClassificationJob_s3JobDefinition :: Lens.Lens' CreateClassificationJob S3JobDefinition+createClassificationJob_s3JobDefinition = Lens.lens (\CreateClassificationJob' {s3JobDefinition} -> s3JobDefinition) (\s@CreateClassificationJob' {} a -> s {s3JobDefinition = a} :: CreateClassificationJob)++-- | The schedule for running the job. Valid values are:+--+-- - ONE_TIME - Run the job only once. If you specify this value, don\'t+-- specify a value for the scheduleFrequency property.+--+-- - SCHEDULED - Run the job on a daily, weekly, or monthly basis. If you+-- specify this value, use the scheduleFrequency property to define the+-- recurrence pattern for the job.+createClassificationJob_jobType :: Lens.Lens' CreateClassificationJob JobType+createClassificationJob_jobType = Lens.lens (\CreateClassificationJob' {jobType} -> jobType) (\s@CreateClassificationJob' {} a -> s {jobType = a} :: CreateClassificationJob)++-- | A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+createClassificationJob_clientToken :: Lens.Lens' CreateClassificationJob Prelude.Text+createClassificationJob_clientToken = Lens.lens (\CreateClassificationJob' {clientToken} -> clientToken) (\s@CreateClassificationJob' {} a -> s {clientToken = a} :: CreateClassificationJob)++-- | A custom name for the job. The name can contain as many as 500+-- characters.+createClassificationJob_name :: Lens.Lens' CreateClassificationJob Prelude.Text+createClassificationJob_name = Lens.lens (\CreateClassificationJob' {name} -> name) (\s@CreateClassificationJob' {} a -> s {name = a} :: CreateClassificationJob)++instance Core.AWSRequest CreateClassificationJob where+ type+ AWSResponse CreateClassificationJob =+ CreateClassificationJobResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateClassificationJobResponse'+ Prelude.<$> (x Data..?> "jobArn")+ Prelude.<*> (x Data..?> "jobId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateClassificationJob where+ hashWithSalt _salt CreateClassificationJob' {..} =+ _salt+ `Prelude.hashWithSalt` allowListIds+ `Prelude.hashWithSalt` customDataIdentifierIds+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` initialRun+ `Prelude.hashWithSalt` managedDataIdentifierIds+ `Prelude.hashWithSalt` managedDataIdentifierSelector+ `Prelude.hashWithSalt` samplingPercentage+ `Prelude.hashWithSalt` scheduleFrequency+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` s3JobDefinition+ `Prelude.hashWithSalt` jobType+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateClassificationJob where+ rnf CreateClassificationJob' {..} =+ Prelude.rnf allowListIds+ `Prelude.seq` Prelude.rnf customDataIdentifierIds+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf initialRun+ `Prelude.seq` Prelude.rnf managedDataIdentifierIds+ `Prelude.seq` Prelude.rnf managedDataIdentifierSelector+ `Prelude.seq` Prelude.rnf samplingPercentage+ `Prelude.seq` Prelude.rnf scheduleFrequency+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf s3JobDefinition+ `Prelude.seq` Prelude.rnf jobType+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateClassificationJob where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateClassificationJob where+ toJSON CreateClassificationJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("allowListIds" Data..=) Prelude.<$> allowListIds,+ ("customDataIdentifierIds" Data..=)+ Prelude.<$> customDataIdentifierIds,+ ("description" Data..=) Prelude.<$> description,+ ("initialRun" Data..=) Prelude.<$> initialRun,+ ("managedDataIdentifierIds" Data..=)+ Prelude.<$> managedDataIdentifierIds,+ ("managedDataIdentifierSelector" Data..=)+ Prelude.<$> managedDataIdentifierSelector,+ ("samplingPercentage" Data..=)+ Prelude.<$> samplingPercentage,+ ("scheduleFrequency" Data..=)+ Prelude.<$> scheduleFrequency,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("s3JobDefinition" Data..= s3JobDefinition),+ Prelude.Just ("jobType" Data..= jobType),+ Prelude.Just ("clientToken" Data..= clientToken),+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath CreateClassificationJob where+ toPath = Prelude.const "/jobs"++instance Data.ToQuery CreateClassificationJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateClassificationJobResponse' smart constructor.+data CreateClassificationJobResponse = CreateClassificationJobResponse'+ { -- | The Amazon Resource Name (ARN) of the job.+ jobArn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the job.+ jobId :: 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 'CreateClassificationJobResponse' 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:+--+-- 'jobArn', 'createClassificationJobResponse_jobArn' - The Amazon Resource Name (ARN) of the job.+--+-- 'jobId', 'createClassificationJobResponse_jobId' - The unique identifier for the job.+--+-- 'httpStatus', 'createClassificationJobResponse_httpStatus' - The response's http status code.+newCreateClassificationJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateClassificationJobResponse+newCreateClassificationJobResponse pHttpStatus_ =+ CreateClassificationJobResponse'+ { jobArn =+ Prelude.Nothing,+ jobId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the job.+createClassificationJobResponse_jobArn :: Lens.Lens' CreateClassificationJobResponse (Prelude.Maybe Prelude.Text)+createClassificationJobResponse_jobArn = Lens.lens (\CreateClassificationJobResponse' {jobArn} -> jobArn) (\s@CreateClassificationJobResponse' {} a -> s {jobArn = a} :: CreateClassificationJobResponse)++-- | The unique identifier for the job.+createClassificationJobResponse_jobId :: Lens.Lens' CreateClassificationJobResponse (Prelude.Maybe Prelude.Text)+createClassificationJobResponse_jobId = Lens.lens (\CreateClassificationJobResponse' {jobId} -> jobId) (\s@CreateClassificationJobResponse' {} a -> s {jobId = a} :: CreateClassificationJobResponse)++-- | The response's http status code.+createClassificationJobResponse_httpStatus :: Lens.Lens' CreateClassificationJobResponse Prelude.Int+createClassificationJobResponse_httpStatus = Lens.lens (\CreateClassificationJobResponse' {httpStatus} -> httpStatus) (\s@CreateClassificationJobResponse' {} a -> s {httpStatus = a} :: CreateClassificationJobResponse)++instance+ Prelude.NFData+ CreateClassificationJobResponse+ where+ rnf CreateClassificationJobResponse' {..} =+ Prelude.rnf jobArn+ `Prelude.seq` Prelude.rnf jobId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/CreateCustomDataIdentifier.hs view
@@ -0,0 +1,420 @@+{-# 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.MacieV2.CreateCustomDataIdentifier+-- 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 and defines the criteria and other settings for a custom data+-- identifier.+module Amazonka.MacieV2.CreateCustomDataIdentifier+ ( -- * Creating a Request+ CreateCustomDataIdentifier (..),+ newCreateCustomDataIdentifier,++ -- * Request Lenses+ createCustomDataIdentifier_clientToken,+ createCustomDataIdentifier_description,+ createCustomDataIdentifier_ignoreWords,+ createCustomDataIdentifier_keywords,+ createCustomDataIdentifier_maximumMatchDistance,+ createCustomDataIdentifier_severityLevels,+ createCustomDataIdentifier_tags,+ createCustomDataIdentifier_regex,+ createCustomDataIdentifier_name,++ -- * Destructuring the Response+ CreateCustomDataIdentifierResponse (..),+ newCreateCustomDataIdentifierResponse,++ -- * Response Lenses+ createCustomDataIdentifierResponse_customDataIdentifierId,+ createCustomDataIdentifierResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateCustomDataIdentifier' smart constructor.+data CreateCustomDataIdentifier = CreateCustomDataIdentifier'+ { -- | A unique, case-sensitive token that you provide to ensure the+ -- idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A custom description of the custom data identifier. The description can+ -- contain as many as 512 characters.+ --+ -- We strongly recommend that you avoid including any sensitive data in the+ -- description of a custom data identifier. Other users of your account+ -- might be able to see this description, depending on the actions that+ -- they\'re allowed to perform in Amazon Macie.+ description :: Prelude.Maybe Prelude.Text,+ -- | An array that lists specific character sequences (/ignore words/) to+ -- exclude from the results. If the text matched by the regular expression+ -- contains any string in this array, Amazon Macie ignores it. The array+ -- can contain as many as 10 ignore words. Each ignore word can contain+ -- 4-90 UTF-8 characters. Ignore words are case sensitive.+ ignoreWords :: Prelude.Maybe [Prelude.Text],+ -- | An array that lists specific character sequences (/keywords/), one of+ -- which must precede and be within proximity (maximumMatchDistance) of the+ -- regular expression to match. The array can contain as many as 50+ -- keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords+ -- aren\'t case sensitive.+ keywords :: Prelude.Maybe [Prelude.Text],+ -- | The maximum number of characters that can exist between the end of at+ -- least one complete character sequence specified by the keywords array+ -- and the end of the text that matches the regex pattern. If a complete+ -- keyword precedes all the text that matches the pattern and the keyword+ -- is within the specified distance, Amazon Macie includes the result. The+ -- distance can be 1-300 characters. The default value is 50.+ maximumMatchDistance :: Prelude.Maybe Prelude.Int,+ -- | The severity to assign to findings that the custom data identifier+ -- produces, based on the number of occurrences of text that matches the+ -- custom data identifier\'s detection criteria. You can specify as many as+ -- three SeverityLevel objects in this array, one for each severity: LOW,+ -- MEDIUM, or HIGH. If you specify more than one, the occurrences+ -- thresholds must be in ascending order by severity, moving from LOW to+ -- HIGH. For example, 1 for LOW, 50 for MEDIUM, and 100 for HIGH. If an S3+ -- object contains fewer occurrences than the lowest specified threshold,+ -- Amazon Macie doesn\'t create a finding.+ --+ -- If you don\'t specify any values for this array, Macie creates findings+ -- for S3 objects that contain at least one occurrence of text that matches+ -- the detection criteria, and Macie assigns the MEDIUM severity to those+ -- findings.+ severityLevels :: Prelude.Maybe [SeverityLevel],+ -- | A map of key-value pairs that specifies the tags to associate with the+ -- custom data identifier.+ --+ -- A custom data identifier can have a maximum of 50 tags. Each tag+ -- consists of a tag key and an associated tag value. The maximum length of+ -- a tag key is 128 characters. The maximum length of a tag value is 256+ -- characters.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The regular expression (/regex/) that defines the pattern to match. The+ -- expression can contain as many as 512 characters.+ regex :: Prelude.Text,+ -- | A custom name for the custom data identifier. The name can contain as+ -- many as 128 characters.+ --+ -- We strongly recommend that you avoid including any sensitive data in the+ -- name of a custom data identifier. Other users of your account might be+ -- able to see this name, depending on the actions that they\'re allowed to+ -- perform in Amazon Macie.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCustomDataIdentifier' 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:+--+-- 'clientToken', 'createCustomDataIdentifier_clientToken' - A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+--+-- 'description', 'createCustomDataIdentifier_description' - A custom description of the custom data identifier. The description can+-- contain as many as 512 characters.+--+-- We strongly recommend that you avoid including any sensitive data in the+-- description of a custom data identifier. Other users of your account+-- might be able to see this description, depending on the actions that+-- they\'re allowed to perform in Amazon Macie.+--+-- 'ignoreWords', 'createCustomDataIdentifier_ignoreWords' - An array that lists specific character sequences (/ignore words/) to+-- exclude from the results. If the text matched by the regular expression+-- contains any string in this array, Amazon Macie ignores it. The array+-- can contain as many as 10 ignore words. Each ignore word can contain+-- 4-90 UTF-8 characters. Ignore words are case sensitive.+--+-- 'keywords', 'createCustomDataIdentifier_keywords' - An array that lists specific character sequences (/keywords/), one of+-- which must precede and be within proximity (maximumMatchDistance) of the+-- regular expression to match. The array can contain as many as 50+-- keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords+-- aren\'t case sensitive.+--+-- 'maximumMatchDistance', 'createCustomDataIdentifier_maximumMatchDistance' - The maximum number of characters that can exist between the end of at+-- least one complete character sequence specified by the keywords array+-- and the end of the text that matches the regex pattern. If a complete+-- keyword precedes all the text that matches the pattern and the keyword+-- is within the specified distance, Amazon Macie includes the result. The+-- distance can be 1-300 characters. The default value is 50.+--+-- 'severityLevels', 'createCustomDataIdentifier_severityLevels' - The severity to assign to findings that the custom data identifier+-- produces, based on the number of occurrences of text that matches the+-- custom data identifier\'s detection criteria. You can specify as many as+-- three SeverityLevel objects in this array, one for each severity: LOW,+-- MEDIUM, or HIGH. If you specify more than one, the occurrences+-- thresholds must be in ascending order by severity, moving from LOW to+-- HIGH. For example, 1 for LOW, 50 for MEDIUM, and 100 for HIGH. If an S3+-- object contains fewer occurrences than the lowest specified threshold,+-- Amazon Macie doesn\'t create a finding.+--+-- If you don\'t specify any values for this array, Macie creates findings+-- for S3 objects that contain at least one occurrence of text that matches+-- the detection criteria, and Macie assigns the MEDIUM severity to those+-- findings.+--+-- 'tags', 'createCustomDataIdentifier_tags' - A map of key-value pairs that specifies the tags to associate with the+-- custom data identifier.+--+-- A custom data identifier can have a maximum of 50 tags. Each tag+-- consists of a tag key and an associated tag value. The maximum length of+-- a tag key is 128 characters. The maximum length of a tag value is 256+-- characters.+--+-- 'regex', 'createCustomDataIdentifier_regex' - The regular expression (/regex/) that defines the pattern to match. The+-- expression can contain as many as 512 characters.+--+-- 'name', 'createCustomDataIdentifier_name' - A custom name for the custom data identifier. The name can contain as+-- many as 128 characters.+--+-- We strongly recommend that you avoid including any sensitive data in the+-- name of a custom data identifier. Other users of your account might be+-- able to see this name, depending on the actions that they\'re allowed to+-- perform in Amazon Macie.+newCreateCustomDataIdentifier ::+ -- | 'regex'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ CreateCustomDataIdentifier+newCreateCustomDataIdentifier pRegex_ pName_ =+ CreateCustomDataIdentifier'+ { clientToken =+ Prelude.Nothing,+ description = Prelude.Nothing,+ ignoreWords = Prelude.Nothing,+ keywords = Prelude.Nothing,+ maximumMatchDistance = Prelude.Nothing,+ severityLevels = Prelude.Nothing,+ tags = Prelude.Nothing,+ regex = pRegex_,+ name = pName_+ }++-- | A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+createCustomDataIdentifier_clientToken :: Lens.Lens' CreateCustomDataIdentifier (Prelude.Maybe Prelude.Text)+createCustomDataIdentifier_clientToken = Lens.lens (\CreateCustomDataIdentifier' {clientToken} -> clientToken) (\s@CreateCustomDataIdentifier' {} a -> s {clientToken = a} :: CreateCustomDataIdentifier)++-- | A custom description of the custom data identifier. The description can+-- contain as many as 512 characters.+--+-- We strongly recommend that you avoid including any sensitive data in the+-- description of a custom data identifier. Other users of your account+-- might be able to see this description, depending on the actions that+-- they\'re allowed to perform in Amazon Macie.+createCustomDataIdentifier_description :: Lens.Lens' CreateCustomDataIdentifier (Prelude.Maybe Prelude.Text)+createCustomDataIdentifier_description = Lens.lens (\CreateCustomDataIdentifier' {description} -> description) (\s@CreateCustomDataIdentifier' {} a -> s {description = a} :: CreateCustomDataIdentifier)++-- | An array that lists specific character sequences (/ignore words/) to+-- exclude from the results. If the text matched by the regular expression+-- contains any string in this array, Amazon Macie ignores it. The array+-- can contain as many as 10 ignore words. Each ignore word can contain+-- 4-90 UTF-8 characters. Ignore words are case sensitive.+createCustomDataIdentifier_ignoreWords :: Lens.Lens' CreateCustomDataIdentifier (Prelude.Maybe [Prelude.Text])+createCustomDataIdentifier_ignoreWords = Lens.lens (\CreateCustomDataIdentifier' {ignoreWords} -> ignoreWords) (\s@CreateCustomDataIdentifier' {} a -> s {ignoreWords = a} :: CreateCustomDataIdentifier) Prelude.. Lens.mapping Lens.coerced++-- | An array that lists specific character sequences (/keywords/), one of+-- which must precede and be within proximity (maximumMatchDistance) of the+-- regular expression to match. The array can contain as many as 50+-- keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords+-- aren\'t case sensitive.+createCustomDataIdentifier_keywords :: Lens.Lens' CreateCustomDataIdentifier (Prelude.Maybe [Prelude.Text])+createCustomDataIdentifier_keywords = Lens.lens (\CreateCustomDataIdentifier' {keywords} -> keywords) (\s@CreateCustomDataIdentifier' {} a -> s {keywords = a} :: CreateCustomDataIdentifier) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of characters that can exist between the end of at+-- least one complete character sequence specified by the keywords array+-- and the end of the text that matches the regex pattern. If a complete+-- keyword precedes all the text that matches the pattern and the keyword+-- is within the specified distance, Amazon Macie includes the result. The+-- distance can be 1-300 characters. The default value is 50.+createCustomDataIdentifier_maximumMatchDistance :: Lens.Lens' CreateCustomDataIdentifier (Prelude.Maybe Prelude.Int)+createCustomDataIdentifier_maximumMatchDistance = Lens.lens (\CreateCustomDataIdentifier' {maximumMatchDistance} -> maximumMatchDistance) (\s@CreateCustomDataIdentifier' {} a -> s {maximumMatchDistance = a} :: CreateCustomDataIdentifier)++-- | The severity to assign to findings that the custom data identifier+-- produces, based on the number of occurrences of text that matches the+-- custom data identifier\'s detection criteria. You can specify as many as+-- three SeverityLevel objects in this array, one for each severity: LOW,+-- MEDIUM, or HIGH. If you specify more than one, the occurrences+-- thresholds must be in ascending order by severity, moving from LOW to+-- HIGH. For example, 1 for LOW, 50 for MEDIUM, and 100 for HIGH. If an S3+-- object contains fewer occurrences than the lowest specified threshold,+-- Amazon Macie doesn\'t create a finding.+--+-- If you don\'t specify any values for this array, Macie creates findings+-- for S3 objects that contain at least one occurrence of text that matches+-- the detection criteria, and Macie assigns the MEDIUM severity to those+-- findings.+createCustomDataIdentifier_severityLevels :: Lens.Lens' CreateCustomDataIdentifier (Prelude.Maybe [SeverityLevel])+createCustomDataIdentifier_severityLevels = Lens.lens (\CreateCustomDataIdentifier' {severityLevels} -> severityLevels) (\s@CreateCustomDataIdentifier' {} a -> s {severityLevels = a} :: CreateCustomDataIdentifier) Prelude.. Lens.mapping Lens.coerced++-- | A map of key-value pairs that specifies the tags to associate with the+-- custom data identifier.+--+-- A custom data identifier can have a maximum of 50 tags. Each tag+-- consists of a tag key and an associated tag value. The maximum length of+-- a tag key is 128 characters. The maximum length of a tag value is 256+-- characters.+createCustomDataIdentifier_tags :: Lens.Lens' CreateCustomDataIdentifier (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createCustomDataIdentifier_tags = Lens.lens (\CreateCustomDataIdentifier' {tags} -> tags) (\s@CreateCustomDataIdentifier' {} a -> s {tags = a} :: CreateCustomDataIdentifier) Prelude.. Lens.mapping Lens.coerced++-- | The regular expression (/regex/) that defines the pattern to match. The+-- expression can contain as many as 512 characters.+createCustomDataIdentifier_regex :: Lens.Lens' CreateCustomDataIdentifier Prelude.Text+createCustomDataIdentifier_regex = Lens.lens (\CreateCustomDataIdentifier' {regex} -> regex) (\s@CreateCustomDataIdentifier' {} a -> s {regex = a} :: CreateCustomDataIdentifier)++-- | A custom name for the custom data identifier. The name can contain as+-- many as 128 characters.+--+-- We strongly recommend that you avoid including any sensitive data in the+-- name of a custom data identifier. Other users of your account might be+-- able to see this name, depending on the actions that they\'re allowed to+-- perform in Amazon Macie.+createCustomDataIdentifier_name :: Lens.Lens' CreateCustomDataIdentifier Prelude.Text+createCustomDataIdentifier_name = Lens.lens (\CreateCustomDataIdentifier' {name} -> name) (\s@CreateCustomDataIdentifier' {} a -> s {name = a} :: CreateCustomDataIdentifier)++instance Core.AWSRequest CreateCustomDataIdentifier where+ type+ AWSResponse CreateCustomDataIdentifier =+ CreateCustomDataIdentifierResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateCustomDataIdentifierResponse'+ Prelude.<$> (x Data..?> "customDataIdentifierId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateCustomDataIdentifier where+ hashWithSalt _salt CreateCustomDataIdentifier' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` ignoreWords+ `Prelude.hashWithSalt` keywords+ `Prelude.hashWithSalt` maximumMatchDistance+ `Prelude.hashWithSalt` severityLevels+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` regex+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateCustomDataIdentifier where+ rnf CreateCustomDataIdentifier' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf ignoreWords+ `Prelude.seq` Prelude.rnf keywords+ `Prelude.seq` Prelude.rnf maximumMatchDistance+ `Prelude.seq` Prelude.rnf severityLevels+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf regex+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateCustomDataIdentifier where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateCustomDataIdentifier where+ toJSON CreateCustomDataIdentifier' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("description" Data..=) Prelude.<$> description,+ ("ignoreWords" Data..=) Prelude.<$> ignoreWords,+ ("keywords" Data..=) Prelude.<$> keywords,+ ("maximumMatchDistance" Data..=)+ Prelude.<$> maximumMatchDistance,+ ("severityLevels" Data..=)+ Prelude.<$> severityLevels,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("regex" Data..= regex),+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath CreateCustomDataIdentifier where+ toPath = Prelude.const "/custom-data-identifiers"++instance Data.ToQuery CreateCustomDataIdentifier where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateCustomDataIdentifierResponse' smart constructor.+data CreateCustomDataIdentifierResponse = CreateCustomDataIdentifierResponse'+ { -- | The unique identifier for the custom data identifier that was created.+ customDataIdentifierId :: 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 'CreateCustomDataIdentifierResponse' 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:+--+-- 'customDataIdentifierId', 'createCustomDataIdentifierResponse_customDataIdentifierId' - The unique identifier for the custom data identifier that was created.+--+-- 'httpStatus', 'createCustomDataIdentifierResponse_httpStatus' - The response's http status code.+newCreateCustomDataIdentifierResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateCustomDataIdentifierResponse+newCreateCustomDataIdentifierResponse pHttpStatus_ =+ CreateCustomDataIdentifierResponse'+ { customDataIdentifierId =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the custom data identifier that was created.+createCustomDataIdentifierResponse_customDataIdentifierId :: Lens.Lens' CreateCustomDataIdentifierResponse (Prelude.Maybe Prelude.Text)+createCustomDataIdentifierResponse_customDataIdentifierId = Lens.lens (\CreateCustomDataIdentifierResponse' {customDataIdentifierId} -> customDataIdentifierId) (\s@CreateCustomDataIdentifierResponse' {} a -> s {customDataIdentifierId = a} :: CreateCustomDataIdentifierResponse)++-- | The response's http status code.+createCustomDataIdentifierResponse_httpStatus :: Lens.Lens' CreateCustomDataIdentifierResponse Prelude.Int+createCustomDataIdentifierResponse_httpStatus = Lens.lens (\CreateCustomDataIdentifierResponse' {httpStatus} -> httpStatus) (\s@CreateCustomDataIdentifierResponse' {} a -> s {httpStatus = a} :: CreateCustomDataIdentifierResponse)++instance+ Prelude.NFData+ CreateCustomDataIdentifierResponse+ where+ rnf CreateCustomDataIdentifierResponse' {..} =+ Prelude.rnf customDataIdentifierId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/CreateFindingsFilter.hs view
@@ -0,0 +1,341 @@+{-# 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.MacieV2.CreateFindingsFilter+-- 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 and defines the criteria and other settings for a findings+-- filter.+module Amazonka.MacieV2.CreateFindingsFilter+ ( -- * Creating a Request+ CreateFindingsFilter (..),+ newCreateFindingsFilter,++ -- * Request Lenses+ createFindingsFilter_clientToken,+ createFindingsFilter_description,+ createFindingsFilter_position,+ createFindingsFilter_tags,+ createFindingsFilter_action,+ createFindingsFilter_findingCriteria,+ createFindingsFilter_name,++ -- * Destructuring the Response+ CreateFindingsFilterResponse (..),+ newCreateFindingsFilterResponse,++ -- * Response Lenses+ createFindingsFilterResponse_arn,+ createFindingsFilterResponse_id,+ createFindingsFilterResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateFindingsFilter' smart constructor.+data CreateFindingsFilter = CreateFindingsFilter'+ { -- | A unique, case-sensitive token that you provide to ensure the+ -- idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A custom description of the filter. The description can contain as many+ -- as 512 characters.+ --+ -- We strongly recommend that you avoid including any sensitive data in the+ -- description of a filter. Other users of your account might be able to+ -- see this description, depending on the actions that they\'re allowed to+ -- perform in Amazon Macie.+ description :: Prelude.Maybe Prelude.Text,+ -- | The position of the filter in the list of saved filters on the Amazon+ -- Macie console. This value also determines the order in which the filter+ -- is applied to findings, relative to other filters that are also applied+ -- to the findings.+ position :: Prelude.Maybe Prelude.Int,+ -- | A map of key-value pairs that specifies the tags to associate with the+ -- filter.+ --+ -- A findings filter can have a maximum of 50 tags. Each tag consists of a+ -- tag key and an associated tag value. The maximum length of a tag key is+ -- 128 characters. The maximum length of a tag value is 256 characters.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The action to perform on findings that match the filter criteria+ -- (findingCriteria). Valid values are: ARCHIVE, suppress (automatically+ -- archive) the findings; and, NOOP, don\'t perform any action on the+ -- findings.+ action :: FindingsFilterAction,+ -- | The criteria to use to filter findings.+ findingCriteria :: FindingCriteria,+ -- | A custom name for the filter. The name must contain at least 3+ -- characters and can contain as many as 64 characters.+ --+ -- We strongly recommend that you avoid including any sensitive data in the+ -- name of a filter. Other users of your account might be able to see this+ -- name, depending on the actions that they\'re allowed to perform in+ -- Amazon Macie.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFindingsFilter' 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:+--+-- 'clientToken', 'createFindingsFilter_clientToken' - A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+--+-- 'description', 'createFindingsFilter_description' - A custom description of the filter. The description can contain as many+-- as 512 characters.+--+-- We strongly recommend that you avoid including any sensitive data in the+-- description of a filter. Other users of your account might be able to+-- see this description, depending on the actions that they\'re allowed to+-- perform in Amazon Macie.+--+-- 'position', 'createFindingsFilter_position' - The position of the filter in the list of saved filters on the Amazon+-- Macie console. This value also determines the order in which the filter+-- is applied to findings, relative to other filters that are also applied+-- to the findings.+--+-- 'tags', 'createFindingsFilter_tags' - A map of key-value pairs that specifies the tags to associate with the+-- filter.+--+-- A findings filter can have a maximum of 50 tags. Each tag consists of a+-- tag key and an associated tag value. The maximum length of a tag key is+-- 128 characters. The maximum length of a tag value is 256 characters.+--+-- 'action', 'createFindingsFilter_action' - The action to perform on findings that match the filter criteria+-- (findingCriteria). Valid values are: ARCHIVE, suppress (automatically+-- archive) the findings; and, NOOP, don\'t perform any action on the+-- findings.+--+-- 'findingCriteria', 'createFindingsFilter_findingCriteria' - The criteria to use to filter findings.+--+-- 'name', 'createFindingsFilter_name' - A custom name for the filter. The name must contain at least 3+-- characters and can contain as many as 64 characters.+--+-- We strongly recommend that you avoid including any sensitive data in the+-- name of a filter. Other users of your account might be able to see this+-- name, depending on the actions that they\'re allowed to perform in+-- Amazon Macie.+newCreateFindingsFilter ::+ -- | 'action'+ FindingsFilterAction ->+ -- | 'findingCriteria'+ FindingCriteria ->+ -- | 'name'+ Prelude.Text ->+ CreateFindingsFilter+newCreateFindingsFilter+ pAction_+ pFindingCriteria_+ pName_ =+ CreateFindingsFilter'+ { clientToken =+ Prelude.Nothing,+ description = Prelude.Nothing,+ position = Prelude.Nothing,+ tags = Prelude.Nothing,+ action = pAction_,+ findingCriteria = pFindingCriteria_,+ name = pName_+ }++-- | A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+createFindingsFilter_clientToken :: Lens.Lens' CreateFindingsFilter (Prelude.Maybe Prelude.Text)+createFindingsFilter_clientToken = Lens.lens (\CreateFindingsFilter' {clientToken} -> clientToken) (\s@CreateFindingsFilter' {} a -> s {clientToken = a} :: CreateFindingsFilter)++-- | A custom description of the filter. The description can contain as many+-- as 512 characters.+--+-- We strongly recommend that you avoid including any sensitive data in the+-- description of a filter. Other users of your account might be able to+-- see this description, depending on the actions that they\'re allowed to+-- perform in Amazon Macie.+createFindingsFilter_description :: Lens.Lens' CreateFindingsFilter (Prelude.Maybe Prelude.Text)+createFindingsFilter_description = Lens.lens (\CreateFindingsFilter' {description} -> description) (\s@CreateFindingsFilter' {} a -> s {description = a} :: CreateFindingsFilter)++-- | The position of the filter in the list of saved filters on the Amazon+-- Macie console. This value also determines the order in which the filter+-- is applied to findings, relative to other filters that are also applied+-- to the findings.+createFindingsFilter_position :: Lens.Lens' CreateFindingsFilter (Prelude.Maybe Prelude.Int)+createFindingsFilter_position = Lens.lens (\CreateFindingsFilter' {position} -> position) (\s@CreateFindingsFilter' {} a -> s {position = a} :: CreateFindingsFilter)++-- | A map of key-value pairs that specifies the tags to associate with the+-- filter.+--+-- A findings filter can have a maximum of 50 tags. Each tag consists of a+-- tag key and an associated tag value. The maximum length of a tag key is+-- 128 characters. The maximum length of a tag value is 256 characters.+createFindingsFilter_tags :: Lens.Lens' CreateFindingsFilter (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createFindingsFilter_tags = Lens.lens (\CreateFindingsFilter' {tags} -> tags) (\s@CreateFindingsFilter' {} a -> s {tags = a} :: CreateFindingsFilter) Prelude.. Lens.mapping Lens.coerced++-- | The action to perform on findings that match the filter criteria+-- (findingCriteria). Valid values are: ARCHIVE, suppress (automatically+-- archive) the findings; and, NOOP, don\'t perform any action on the+-- findings.+createFindingsFilter_action :: Lens.Lens' CreateFindingsFilter FindingsFilterAction+createFindingsFilter_action = Lens.lens (\CreateFindingsFilter' {action} -> action) (\s@CreateFindingsFilter' {} a -> s {action = a} :: CreateFindingsFilter)++-- | The criteria to use to filter findings.+createFindingsFilter_findingCriteria :: Lens.Lens' CreateFindingsFilter FindingCriteria+createFindingsFilter_findingCriteria = Lens.lens (\CreateFindingsFilter' {findingCriteria} -> findingCriteria) (\s@CreateFindingsFilter' {} a -> s {findingCriteria = a} :: CreateFindingsFilter)++-- | A custom name for the filter. The name must contain at least 3+-- characters and can contain as many as 64 characters.+--+-- We strongly recommend that you avoid including any sensitive data in the+-- name of a filter. Other users of your account might be able to see this+-- name, depending on the actions that they\'re allowed to perform in+-- Amazon Macie.+createFindingsFilter_name :: Lens.Lens' CreateFindingsFilter Prelude.Text+createFindingsFilter_name = Lens.lens (\CreateFindingsFilter' {name} -> name) (\s@CreateFindingsFilter' {} a -> s {name = a} :: CreateFindingsFilter)++instance Core.AWSRequest CreateFindingsFilter where+ type+ AWSResponse CreateFindingsFilter =+ CreateFindingsFilterResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateFindingsFilterResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "id")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateFindingsFilter where+ hashWithSalt _salt CreateFindingsFilter' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` position+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` findingCriteria+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateFindingsFilter where+ rnf CreateFindingsFilter' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf position+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf action+ `Prelude.seq` Prelude.rnf findingCriteria+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateFindingsFilter where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateFindingsFilter where+ toJSON CreateFindingsFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("description" Data..=) Prelude.<$> description,+ ("position" Data..=) Prelude.<$> position,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("action" Data..= action),+ Prelude.Just+ ("findingCriteria" Data..= findingCriteria),+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath CreateFindingsFilter where+ toPath = Prelude.const "/findingsfilters"++instance Data.ToQuery CreateFindingsFilter where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateFindingsFilterResponse' smart constructor.+data CreateFindingsFilterResponse = CreateFindingsFilterResponse'+ { -- | The Amazon Resource Name (ARN) of the filter that was created.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the filter that was created.+ id :: 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 'CreateFindingsFilterResponse' 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', 'createFindingsFilterResponse_arn' - The Amazon Resource Name (ARN) of the filter that was created.+--+-- 'id', 'createFindingsFilterResponse_id' - The unique identifier for the filter that was created.+--+-- 'httpStatus', 'createFindingsFilterResponse_httpStatus' - The response's http status code.+newCreateFindingsFilterResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateFindingsFilterResponse+newCreateFindingsFilterResponse pHttpStatus_ =+ CreateFindingsFilterResponse'+ { arn =+ Prelude.Nothing,+ id = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the filter that was created.+createFindingsFilterResponse_arn :: Lens.Lens' CreateFindingsFilterResponse (Prelude.Maybe Prelude.Text)+createFindingsFilterResponse_arn = Lens.lens (\CreateFindingsFilterResponse' {arn} -> arn) (\s@CreateFindingsFilterResponse' {} a -> s {arn = a} :: CreateFindingsFilterResponse)++-- | The unique identifier for the filter that was created.+createFindingsFilterResponse_id :: Lens.Lens' CreateFindingsFilterResponse (Prelude.Maybe Prelude.Text)+createFindingsFilterResponse_id = Lens.lens (\CreateFindingsFilterResponse' {id} -> id) (\s@CreateFindingsFilterResponse' {} a -> s {id = a} :: CreateFindingsFilterResponse)++-- | The response's http status code.+createFindingsFilterResponse_httpStatus :: Lens.Lens' CreateFindingsFilterResponse Prelude.Int+createFindingsFilterResponse_httpStatus = Lens.lens (\CreateFindingsFilterResponse' {httpStatus} -> httpStatus) (\s@CreateFindingsFilterResponse' {} a -> s {httpStatus = a} :: CreateFindingsFilterResponse)++instance Prelude.NFData CreateFindingsFilterResponse where+ rnf CreateFindingsFilterResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/CreateInvitations.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.MacieV2.CreateInvitations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sends an Amazon Macie membership invitation to one or more accounts.+module Amazonka.MacieV2.CreateInvitations+ ( -- * Creating a Request+ CreateInvitations (..),+ newCreateInvitations,++ -- * Request Lenses+ createInvitations_disableEmailNotification,+ createInvitations_message,+ createInvitations_accountIds,++ -- * Destructuring the Response+ CreateInvitationsResponse (..),+ newCreateInvitationsResponse,++ -- * Response Lenses+ createInvitationsResponse_unprocessedAccounts,+ createInvitationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateInvitations' smart constructor.+data CreateInvitations = CreateInvitations'+ { -- | Specifies whether to send the invitation as an email message. If this+ -- value is false, Amazon Macie sends the invitation (as an email message)+ -- to the email address that you specified for the recipient\'s account+ -- when you associated the account with your account. The default value is+ -- false.+ disableEmailNotification :: Prelude.Maybe Prelude.Bool,+ -- | Custom text to include in the email message that contains the+ -- invitation. The text can contain as many as 80 alphanumeric characters.+ message :: Prelude.Maybe Prelude.Text,+ -- | An array that lists Amazon Web Services account IDs, one for each+ -- account to send the invitation to.+ accountIds :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateInvitations' 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:+--+-- 'disableEmailNotification', 'createInvitations_disableEmailNotification' - Specifies whether to send the invitation as an email message. If this+-- value is false, Amazon Macie sends the invitation (as an email message)+-- to the email address that you specified for the recipient\'s account+-- when you associated the account with your account. The default value is+-- false.+--+-- 'message', 'createInvitations_message' - Custom text to include in the email message that contains the+-- invitation. The text can contain as many as 80 alphanumeric characters.+--+-- 'accountIds', 'createInvitations_accountIds' - An array that lists Amazon Web Services account IDs, one for each+-- account to send the invitation to.+newCreateInvitations ::+ CreateInvitations+newCreateInvitations =+ CreateInvitations'+ { disableEmailNotification =+ Prelude.Nothing,+ message = Prelude.Nothing,+ accountIds = Prelude.mempty+ }++-- | Specifies whether to send the invitation as an email message. If this+-- value is false, Amazon Macie sends the invitation (as an email message)+-- to the email address that you specified for the recipient\'s account+-- when you associated the account with your account. The default value is+-- false.+createInvitations_disableEmailNotification :: Lens.Lens' CreateInvitations (Prelude.Maybe Prelude.Bool)+createInvitations_disableEmailNotification = Lens.lens (\CreateInvitations' {disableEmailNotification} -> disableEmailNotification) (\s@CreateInvitations' {} a -> s {disableEmailNotification = a} :: CreateInvitations)++-- | Custom text to include in the email message that contains the+-- invitation. The text can contain as many as 80 alphanumeric characters.+createInvitations_message :: Lens.Lens' CreateInvitations (Prelude.Maybe Prelude.Text)+createInvitations_message = Lens.lens (\CreateInvitations' {message} -> message) (\s@CreateInvitations' {} a -> s {message = a} :: CreateInvitations)++-- | An array that lists Amazon Web Services account IDs, one for each+-- account to send the invitation to.+createInvitations_accountIds :: Lens.Lens' CreateInvitations [Prelude.Text]+createInvitations_accountIds = Lens.lens (\CreateInvitations' {accountIds} -> accountIds) (\s@CreateInvitations' {} a -> s {accountIds = a} :: CreateInvitations) Prelude.. Lens.coerced++instance Core.AWSRequest CreateInvitations where+ type+ AWSResponse CreateInvitations =+ CreateInvitationsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateInvitationsResponse'+ Prelude.<$> ( x+ Data..?> "unprocessedAccounts"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateInvitations where+ hashWithSalt _salt CreateInvitations' {..} =+ _salt+ `Prelude.hashWithSalt` disableEmailNotification+ `Prelude.hashWithSalt` message+ `Prelude.hashWithSalt` accountIds++instance Prelude.NFData CreateInvitations where+ rnf CreateInvitations' {..} =+ Prelude.rnf disableEmailNotification+ `Prelude.seq` Prelude.rnf message+ `Prelude.seq` Prelude.rnf accountIds++instance Data.ToHeaders CreateInvitations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateInvitations where+ toJSON CreateInvitations' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("disableEmailNotification" Data..=)+ Prelude.<$> disableEmailNotification,+ ("message" Data..=) Prelude.<$> message,+ Prelude.Just ("accountIds" Data..= accountIds)+ ]+ )++instance Data.ToPath CreateInvitations where+ toPath = Prelude.const "/invitations"++instance Data.ToQuery CreateInvitations where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateInvitationsResponse' smart constructor.+data CreateInvitationsResponse = CreateInvitationsResponse'+ { -- | An array of objects, one for each account whose invitation hasn\'t been+ -- processed. Each object identifies the account and explains why the+ -- invitation hasn\'t been processed for the account.+ unprocessedAccounts :: Prelude.Maybe [UnprocessedAccount],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateInvitationsResponse' 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:+--+-- 'unprocessedAccounts', 'createInvitationsResponse_unprocessedAccounts' - An array of objects, one for each account whose invitation hasn\'t been+-- processed. Each object identifies the account and explains why the+-- invitation hasn\'t been processed for the account.+--+-- 'httpStatus', 'createInvitationsResponse_httpStatus' - The response's http status code.+newCreateInvitationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateInvitationsResponse+newCreateInvitationsResponse pHttpStatus_ =+ CreateInvitationsResponse'+ { unprocessedAccounts =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each account whose invitation hasn\'t been+-- processed. Each object identifies the account and explains why the+-- invitation hasn\'t been processed for the account.+createInvitationsResponse_unprocessedAccounts :: Lens.Lens' CreateInvitationsResponse (Prelude.Maybe [UnprocessedAccount])+createInvitationsResponse_unprocessedAccounts = Lens.lens (\CreateInvitationsResponse' {unprocessedAccounts} -> unprocessedAccounts) (\s@CreateInvitationsResponse' {} a -> s {unprocessedAccounts = a} :: CreateInvitationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+createInvitationsResponse_httpStatus :: Lens.Lens' CreateInvitationsResponse Prelude.Int+createInvitationsResponse_httpStatus = Lens.lens (\CreateInvitationsResponse' {httpStatus} -> httpStatus) (\s@CreateInvitationsResponse' {} a -> s {httpStatus = a} :: CreateInvitationsResponse)++instance Prelude.NFData CreateInvitationsResponse where+ rnf CreateInvitationsResponse' {..} =+ Prelude.rnf unprocessedAccounts+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/CreateMember.hs view
@@ -0,0 +1,196 @@+{-# 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.MacieV2.CreateMember+-- 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 account with an Amazon Macie administrator account.+module Amazonka.MacieV2.CreateMember+ ( -- * Creating a Request+ CreateMember (..),+ newCreateMember,++ -- * Request Lenses+ createMember_tags,+ createMember_account,++ -- * Destructuring the Response+ CreateMemberResponse (..),+ newCreateMemberResponse,++ -- * Response Lenses+ createMemberResponse_arn,+ createMemberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateMember' smart constructor.+data CreateMember = CreateMember'+ { -- | A map of key-value pairs that specifies the tags to associate with the+ -- account in Amazon Macie.+ --+ -- An account can have a maximum of 50 tags. Each tag consists of a tag key+ -- and an associated tag value. The maximum length of a tag key is 128+ -- characters. The maximum length of a tag value is 256 characters.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The details of the account to associate with the administrator account.+ account :: AccountDetail+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMember' 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', 'createMember_tags' - A map of key-value pairs that specifies the tags to associate with the+-- account in Amazon Macie.+--+-- An account can have a maximum of 50 tags. Each tag consists of a tag key+-- and an associated tag value. The maximum length of a tag key is 128+-- characters. The maximum length of a tag value is 256 characters.+--+-- 'account', 'createMember_account' - The details of the account to associate with the administrator account.+newCreateMember ::+ -- | 'account'+ AccountDetail ->+ CreateMember+newCreateMember pAccount_ =+ CreateMember'+ { tags = Prelude.Nothing,+ account = pAccount_+ }++-- | A map of key-value pairs that specifies the tags to associate with the+-- account in Amazon Macie.+--+-- An account can have a maximum of 50 tags. Each tag consists of a tag key+-- and an associated tag value. The maximum length of a tag key is 128+-- characters. The maximum length of a tag value is 256 characters.+createMember_tags :: Lens.Lens' CreateMember (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createMember_tags = Lens.lens (\CreateMember' {tags} -> tags) (\s@CreateMember' {} a -> s {tags = a} :: CreateMember) Prelude.. Lens.mapping Lens.coerced++-- | The details of the account to associate with the administrator account.+createMember_account :: Lens.Lens' CreateMember AccountDetail+createMember_account = Lens.lens (\CreateMember' {account} -> account) (\s@CreateMember' {} a -> s {account = a} :: CreateMember)++instance Core.AWSRequest CreateMember where+ type AWSResponse CreateMember = CreateMemberResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateMemberResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateMember where+ hashWithSalt _salt CreateMember' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` account++instance Prelude.NFData CreateMember where+ rnf CreateMember' {..} =+ Prelude.rnf tags `Prelude.seq` Prelude.rnf account++instance Data.ToHeaders CreateMember where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateMember where+ toJSON CreateMember' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just ("account" Data..= account)+ ]+ )++instance Data.ToPath CreateMember where+ toPath = Prelude.const "/members"++instance Data.ToQuery CreateMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateMemberResponse' smart constructor.+data CreateMemberResponse = CreateMemberResponse'+ { -- | The Amazon Resource Name (ARN) of the account that was associated with+ -- the administrator account.+ arn :: 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 'CreateMemberResponse' 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', 'createMemberResponse_arn' - The Amazon Resource Name (ARN) of the account that was associated with+-- the administrator account.+--+-- 'httpStatus', 'createMemberResponse_httpStatus' - The response's http status code.+newCreateMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateMemberResponse+newCreateMemberResponse pHttpStatus_ =+ CreateMemberResponse'+ { arn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the account that was associated with+-- the administrator account.+createMemberResponse_arn :: Lens.Lens' CreateMemberResponse (Prelude.Maybe Prelude.Text)+createMemberResponse_arn = Lens.lens (\CreateMemberResponse' {arn} -> arn) (\s@CreateMemberResponse' {} a -> s {arn = a} :: CreateMemberResponse)++-- | The response's http status code.+createMemberResponse_httpStatus :: Lens.Lens' CreateMemberResponse Prelude.Int+createMemberResponse_httpStatus = Lens.lens (\CreateMemberResponse' {httpStatus} -> httpStatus) (\s@CreateMemberResponse' {} a -> s {httpStatus = a} :: CreateMemberResponse)++instance Prelude.NFData CreateMemberResponse where+ rnf CreateMemberResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/CreateSampleFindings.hs view
@@ -0,0 +1,160 @@+{-# 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.MacieV2.CreateSampleFindings+-- 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 sample findings.+module Amazonka.MacieV2.CreateSampleFindings+ ( -- * Creating a Request+ CreateSampleFindings (..),+ newCreateSampleFindings,++ -- * Request Lenses+ createSampleFindings_findingTypes,++ -- * Destructuring the Response+ CreateSampleFindingsResponse (..),+ newCreateSampleFindingsResponse,++ -- * Response Lenses+ createSampleFindingsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateSampleFindings' smart constructor.+data CreateSampleFindings = CreateSampleFindings'+ { -- | An array of finding types, one for each type of sample finding to+ -- create. To create a sample of every type of finding that Amazon Macie+ -- supports, don\'t include this array in your request.+ findingTypes :: Prelude.Maybe [FindingType]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSampleFindings' 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:+--+-- 'findingTypes', 'createSampleFindings_findingTypes' - An array of finding types, one for each type of sample finding to+-- create. To create a sample of every type of finding that Amazon Macie+-- supports, don\'t include this array in your request.+newCreateSampleFindings ::+ CreateSampleFindings+newCreateSampleFindings =+ CreateSampleFindings'+ { findingTypes =+ Prelude.Nothing+ }++-- | An array of finding types, one for each type of sample finding to+-- create. To create a sample of every type of finding that Amazon Macie+-- supports, don\'t include this array in your request.+createSampleFindings_findingTypes :: Lens.Lens' CreateSampleFindings (Prelude.Maybe [FindingType])+createSampleFindings_findingTypes = Lens.lens (\CreateSampleFindings' {findingTypes} -> findingTypes) (\s@CreateSampleFindings' {} a -> s {findingTypes = a} :: CreateSampleFindings) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest CreateSampleFindings where+ type+ AWSResponse CreateSampleFindings =+ CreateSampleFindingsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ CreateSampleFindingsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateSampleFindings where+ hashWithSalt _salt CreateSampleFindings' {..} =+ _salt `Prelude.hashWithSalt` findingTypes++instance Prelude.NFData CreateSampleFindings where+ rnf CreateSampleFindings' {..} =+ Prelude.rnf findingTypes++instance Data.ToHeaders CreateSampleFindings where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateSampleFindings where+ toJSON CreateSampleFindings' {..} =+ Data.object+ ( Prelude.catMaybes+ [("findingTypes" Data..=) Prelude.<$> findingTypes]+ )++instance Data.ToPath CreateSampleFindings where+ toPath = Prelude.const "/findings/sample"++instance Data.ToQuery CreateSampleFindings where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSampleFindingsResponse' smart constructor.+data CreateSampleFindingsResponse = CreateSampleFindingsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSampleFindingsResponse' 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', 'createSampleFindingsResponse_httpStatus' - The response's http status code.+newCreateSampleFindingsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateSampleFindingsResponse+newCreateSampleFindingsResponse pHttpStatus_ =+ CreateSampleFindingsResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+createSampleFindingsResponse_httpStatus :: Lens.Lens' CreateSampleFindingsResponse Prelude.Int+createSampleFindingsResponse_httpStatus = Lens.lens (\CreateSampleFindingsResponse' {httpStatus} -> httpStatus) (\s@CreateSampleFindingsResponse' {} a -> s {httpStatus = a} :: CreateSampleFindingsResponse)++instance Prelude.NFData CreateSampleFindingsResponse where+ rnf CreateSampleFindingsResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DeclineInvitations.hs view
@@ -0,0 +1,175 @@+{-# 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.MacieV2.DeclineInvitations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Declines Amazon Macie membership invitations that were received from+-- specific accounts.+module Amazonka.MacieV2.DeclineInvitations+ ( -- * Creating a Request+ DeclineInvitations (..),+ newDeclineInvitations,++ -- * Request Lenses+ declineInvitations_accountIds,++ -- * Destructuring the Response+ DeclineInvitationsResponse (..),+ newDeclineInvitationsResponse,++ -- * Response Lenses+ declineInvitationsResponse_unprocessedAccounts,+ declineInvitationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeclineInvitations' smart constructor.+data DeclineInvitations = DeclineInvitations'+ { -- | An array that lists Amazon Web Services account IDs, one for each+ -- account that sent an invitation to decline.+ accountIds :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeclineInvitations' 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:+--+-- 'accountIds', 'declineInvitations_accountIds' - An array that lists Amazon Web Services account IDs, one for each+-- account that sent an invitation to decline.+newDeclineInvitations ::+ DeclineInvitations+newDeclineInvitations =+ DeclineInvitations' {accountIds = Prelude.mempty}++-- | An array that lists Amazon Web Services account IDs, one for each+-- account that sent an invitation to decline.+declineInvitations_accountIds :: Lens.Lens' DeclineInvitations [Prelude.Text]+declineInvitations_accountIds = Lens.lens (\DeclineInvitations' {accountIds} -> accountIds) (\s@DeclineInvitations' {} a -> s {accountIds = a} :: DeclineInvitations) Prelude.. Lens.coerced++instance Core.AWSRequest DeclineInvitations where+ type+ AWSResponse DeclineInvitations =+ DeclineInvitationsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeclineInvitationsResponse'+ Prelude.<$> ( x+ Data..?> "unprocessedAccounts"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeclineInvitations where+ hashWithSalt _salt DeclineInvitations' {..} =+ _salt `Prelude.hashWithSalt` accountIds++instance Prelude.NFData DeclineInvitations where+ rnf DeclineInvitations' {..} = Prelude.rnf accountIds++instance Data.ToHeaders DeclineInvitations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeclineInvitations where+ toJSON DeclineInvitations' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("accountIds" Data..= accountIds)]+ )++instance Data.ToPath DeclineInvitations where+ toPath = Prelude.const "/invitations/decline"++instance Data.ToQuery DeclineInvitations where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeclineInvitationsResponse' smart constructor.+data DeclineInvitationsResponse = DeclineInvitationsResponse'+ { -- | An array of objects, one for each account whose invitation hasn\'t been+ -- declined. Each object identifies the account and explains why the+ -- request hasn\'t been processed for that account.+ unprocessedAccounts :: Prelude.Maybe [UnprocessedAccount],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeclineInvitationsResponse' 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:+--+-- 'unprocessedAccounts', 'declineInvitationsResponse_unprocessedAccounts' - An array of objects, one for each account whose invitation hasn\'t been+-- declined. Each object identifies the account and explains why the+-- request hasn\'t been processed for that account.+--+-- 'httpStatus', 'declineInvitationsResponse_httpStatus' - The response's http status code.+newDeclineInvitationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeclineInvitationsResponse+newDeclineInvitationsResponse pHttpStatus_ =+ DeclineInvitationsResponse'+ { unprocessedAccounts =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each account whose invitation hasn\'t been+-- declined. Each object identifies the account and explains why the+-- request hasn\'t been processed for that account.+declineInvitationsResponse_unprocessedAccounts :: Lens.Lens' DeclineInvitationsResponse (Prelude.Maybe [UnprocessedAccount])+declineInvitationsResponse_unprocessedAccounts = Lens.lens (\DeclineInvitationsResponse' {unprocessedAccounts} -> unprocessedAccounts) (\s@DeclineInvitationsResponse' {} a -> s {unprocessedAccounts = a} :: DeclineInvitationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+declineInvitationsResponse_httpStatus :: Lens.Lens' DeclineInvitationsResponse Prelude.Int+declineInvitationsResponse_httpStatus = Lens.lens (\DeclineInvitationsResponse' {httpStatus} -> httpStatus) (\s@DeclineInvitationsResponse' {} a -> s {httpStatus = a} :: DeclineInvitationsResponse)++instance Prelude.NFData DeclineInvitationsResponse where+ rnf DeclineInvitationsResponse' {..} =+ Prelude.rnf unprocessedAccounts+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DeleteAllowList.hs view
@@ -0,0 +1,188 @@+{-# 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.MacieV2.DeleteAllowList+-- 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 allow list.+module Amazonka.MacieV2.DeleteAllowList+ ( -- * Creating a Request+ DeleteAllowList (..),+ newDeleteAllowList,++ -- * Request Lenses+ deleteAllowList_ignoreJobChecks,+ deleteAllowList_id,++ -- * Destructuring the Response+ DeleteAllowListResponse (..),+ newDeleteAllowListResponse,++ -- * Response Lenses+ deleteAllowListResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAllowList' smart constructor.+data DeleteAllowList = DeleteAllowList'+ { -- | Specifies whether to force deletion of the allow list, even if active+ -- classification jobs are configured to use the list.+ --+ -- When you try to delete an allow list, Amazon Macie checks for+ -- classification jobs that use the list and have a status other than+ -- COMPLETE or CANCELLED. By default, Macie rejects your request if any+ -- jobs meet these criteria. To skip these checks and delete the list, set+ -- this value to true. To delete the list only if no active jobs are+ -- configured to use it, set this value to false.+ ignoreJobChecks :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAllowList' 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:+--+-- 'ignoreJobChecks', 'deleteAllowList_ignoreJobChecks' - Specifies whether to force deletion of the allow list, even if active+-- classification jobs are configured to use the list.+--+-- When you try to delete an allow list, Amazon Macie checks for+-- classification jobs that use the list and have a status other than+-- COMPLETE or CANCELLED. By default, Macie rejects your request if any+-- jobs meet these criteria. To skip these checks and delete the list, set+-- this value to true. To delete the list only if no active jobs are+-- configured to use it, set this value to false.+--+-- 'id', 'deleteAllowList_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newDeleteAllowList ::+ -- | 'id'+ Prelude.Text ->+ DeleteAllowList+newDeleteAllowList pId_ =+ DeleteAllowList'+ { ignoreJobChecks = Prelude.Nothing,+ id = pId_+ }++-- | Specifies whether to force deletion of the allow list, even if active+-- classification jobs are configured to use the list.+--+-- When you try to delete an allow list, Amazon Macie checks for+-- classification jobs that use the list and have a status other than+-- COMPLETE or CANCELLED. By default, Macie rejects your request if any+-- jobs meet these criteria. To skip these checks and delete the list, set+-- this value to true. To delete the list only if no active jobs are+-- configured to use it, set this value to false.+deleteAllowList_ignoreJobChecks :: Lens.Lens' DeleteAllowList (Prelude.Maybe Prelude.Text)+deleteAllowList_ignoreJobChecks = Lens.lens (\DeleteAllowList' {ignoreJobChecks} -> ignoreJobChecks) (\s@DeleteAllowList' {} a -> s {ignoreJobChecks = a} :: DeleteAllowList)++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+deleteAllowList_id :: Lens.Lens' DeleteAllowList Prelude.Text+deleteAllowList_id = Lens.lens (\DeleteAllowList' {id} -> id) (\s@DeleteAllowList' {} a -> s {id = a} :: DeleteAllowList)++instance Core.AWSRequest DeleteAllowList where+ type+ AWSResponse DeleteAllowList =+ DeleteAllowListResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteAllowListResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteAllowList where+ hashWithSalt _salt DeleteAllowList' {..} =+ _salt+ `Prelude.hashWithSalt` ignoreJobChecks+ `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteAllowList where+ rnf DeleteAllowList' {..} =+ Prelude.rnf ignoreJobChecks+ `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders DeleteAllowList where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteAllowList where+ toPath DeleteAllowList' {..} =+ Prelude.mconcat ["/allow-lists/", Data.toBS id]++instance Data.ToQuery DeleteAllowList where+ toQuery DeleteAllowList' {..} =+ Prelude.mconcat+ ["ignoreJobChecks" Data.=: ignoreJobChecks]++-- | /See:/ 'newDeleteAllowListResponse' smart constructor.+data DeleteAllowListResponse = DeleteAllowListResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAllowListResponse' 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', 'deleteAllowListResponse_httpStatus' - The response's http status code.+newDeleteAllowListResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteAllowListResponse+newDeleteAllowListResponse pHttpStatus_ =+ DeleteAllowListResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteAllowListResponse_httpStatus :: Lens.Lens' DeleteAllowListResponse Prelude.Int+deleteAllowListResponse_httpStatus = Lens.lens (\DeleteAllowListResponse' {httpStatus} -> httpStatus) (\s@DeleteAllowListResponse' {} a -> s {httpStatus = a} :: DeleteAllowListResponse)++instance Prelude.NFData DeleteAllowListResponse where+ rnf DeleteAllowListResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DeleteCustomDataIdentifier.hs view
@@ -0,0 +1,153 @@+{-# 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.MacieV2.DeleteCustomDataIdentifier+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Soft deletes a custom data identifier.+module Amazonka.MacieV2.DeleteCustomDataIdentifier+ ( -- * Creating a Request+ DeleteCustomDataIdentifier (..),+ newDeleteCustomDataIdentifier,++ -- * Request Lenses+ deleteCustomDataIdentifier_id,++ -- * Destructuring the Response+ DeleteCustomDataIdentifierResponse (..),+ newDeleteCustomDataIdentifierResponse,++ -- * Response Lenses+ deleteCustomDataIdentifierResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteCustomDataIdentifier' smart constructor.+data DeleteCustomDataIdentifier = DeleteCustomDataIdentifier'+ { -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCustomDataIdentifier' 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', 'deleteCustomDataIdentifier_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newDeleteCustomDataIdentifier ::+ -- | 'id'+ Prelude.Text ->+ DeleteCustomDataIdentifier+newDeleteCustomDataIdentifier pId_ =+ DeleteCustomDataIdentifier' {id = pId_}++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+deleteCustomDataIdentifier_id :: Lens.Lens' DeleteCustomDataIdentifier Prelude.Text+deleteCustomDataIdentifier_id = Lens.lens (\DeleteCustomDataIdentifier' {id} -> id) (\s@DeleteCustomDataIdentifier' {} a -> s {id = a} :: DeleteCustomDataIdentifier)++instance Core.AWSRequest DeleteCustomDataIdentifier where+ type+ AWSResponse DeleteCustomDataIdentifier =+ DeleteCustomDataIdentifierResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteCustomDataIdentifierResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteCustomDataIdentifier where+ hashWithSalt _salt DeleteCustomDataIdentifier' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteCustomDataIdentifier where+ rnf DeleteCustomDataIdentifier' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteCustomDataIdentifier where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteCustomDataIdentifier where+ toPath DeleteCustomDataIdentifier' {..} =+ Prelude.mconcat+ ["/custom-data-identifiers/", Data.toBS id]++instance Data.ToQuery DeleteCustomDataIdentifier where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteCustomDataIdentifierResponse' smart constructor.+data DeleteCustomDataIdentifierResponse = DeleteCustomDataIdentifierResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCustomDataIdentifierResponse' 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', 'deleteCustomDataIdentifierResponse_httpStatus' - The response's http status code.+newDeleteCustomDataIdentifierResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteCustomDataIdentifierResponse+newDeleteCustomDataIdentifierResponse pHttpStatus_ =+ DeleteCustomDataIdentifierResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteCustomDataIdentifierResponse_httpStatus :: Lens.Lens' DeleteCustomDataIdentifierResponse Prelude.Int+deleteCustomDataIdentifierResponse_httpStatus = Lens.lens (\DeleteCustomDataIdentifierResponse' {httpStatus} -> httpStatus) (\s@DeleteCustomDataIdentifierResponse' {} a -> s {httpStatus = a} :: DeleteCustomDataIdentifierResponse)++instance+ Prelude.NFData+ DeleteCustomDataIdentifierResponse+ where+ rnf DeleteCustomDataIdentifierResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DeleteFindingsFilter.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.MacieV2.DeleteFindingsFilter+-- 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 findings filter.+module Amazonka.MacieV2.DeleteFindingsFilter+ ( -- * Creating a Request+ DeleteFindingsFilter (..),+ newDeleteFindingsFilter,++ -- * Request Lenses+ deleteFindingsFilter_id,++ -- * Destructuring the Response+ DeleteFindingsFilterResponse (..),+ newDeleteFindingsFilterResponse,++ -- * Response Lenses+ deleteFindingsFilterResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteFindingsFilter' smart constructor.+data DeleteFindingsFilter = DeleteFindingsFilter'+ { -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFindingsFilter' 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', 'deleteFindingsFilter_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newDeleteFindingsFilter ::+ -- | 'id'+ Prelude.Text ->+ DeleteFindingsFilter+newDeleteFindingsFilter pId_ =+ DeleteFindingsFilter' {id = pId_}++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+deleteFindingsFilter_id :: Lens.Lens' DeleteFindingsFilter Prelude.Text+deleteFindingsFilter_id = Lens.lens (\DeleteFindingsFilter' {id} -> id) (\s@DeleteFindingsFilter' {} a -> s {id = a} :: DeleteFindingsFilter)++instance Core.AWSRequest DeleteFindingsFilter where+ type+ AWSResponse DeleteFindingsFilter =+ DeleteFindingsFilterResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteFindingsFilterResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteFindingsFilter where+ hashWithSalt _salt DeleteFindingsFilter' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteFindingsFilter where+ rnf DeleteFindingsFilter' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteFindingsFilter where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteFindingsFilter where+ toPath DeleteFindingsFilter' {..} =+ Prelude.mconcat ["/findingsfilters/", Data.toBS id]++instance Data.ToQuery DeleteFindingsFilter where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteFindingsFilterResponse' smart constructor.+data DeleteFindingsFilterResponse = DeleteFindingsFilterResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFindingsFilterResponse' 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', 'deleteFindingsFilterResponse_httpStatus' - The response's http status code.+newDeleteFindingsFilterResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteFindingsFilterResponse+newDeleteFindingsFilterResponse pHttpStatus_ =+ DeleteFindingsFilterResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteFindingsFilterResponse_httpStatus :: Lens.Lens' DeleteFindingsFilterResponse Prelude.Int+deleteFindingsFilterResponse_httpStatus = Lens.lens (\DeleteFindingsFilterResponse' {httpStatus} -> httpStatus) (\s@DeleteFindingsFilterResponse' {} a -> s {httpStatus = a} :: DeleteFindingsFilterResponse)++instance Prelude.NFData DeleteFindingsFilterResponse where+ rnf DeleteFindingsFilterResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DeleteInvitations.hs view
@@ -0,0 +1,175 @@+{-# 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.MacieV2.DeleteInvitations+-- 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 Amazon Macie membership invitations that were received from+-- specific accounts.+module Amazonka.MacieV2.DeleteInvitations+ ( -- * Creating a Request+ DeleteInvitations (..),+ newDeleteInvitations,++ -- * Request Lenses+ deleteInvitations_accountIds,++ -- * Destructuring the Response+ DeleteInvitationsResponse (..),+ newDeleteInvitationsResponse,++ -- * Response Lenses+ deleteInvitationsResponse_unprocessedAccounts,+ deleteInvitationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteInvitations' smart constructor.+data DeleteInvitations = DeleteInvitations'+ { -- | An array that lists Amazon Web Services account IDs, one for each+ -- account that sent an invitation to delete.+ accountIds :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteInvitations' 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:+--+-- 'accountIds', 'deleteInvitations_accountIds' - An array that lists Amazon Web Services account IDs, one for each+-- account that sent an invitation to delete.+newDeleteInvitations ::+ DeleteInvitations+newDeleteInvitations =+ DeleteInvitations' {accountIds = Prelude.mempty}++-- | An array that lists Amazon Web Services account IDs, one for each+-- account that sent an invitation to delete.+deleteInvitations_accountIds :: Lens.Lens' DeleteInvitations [Prelude.Text]+deleteInvitations_accountIds = Lens.lens (\DeleteInvitations' {accountIds} -> accountIds) (\s@DeleteInvitations' {} a -> s {accountIds = a} :: DeleteInvitations) Prelude.. Lens.coerced++instance Core.AWSRequest DeleteInvitations where+ type+ AWSResponse DeleteInvitations =+ DeleteInvitationsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteInvitationsResponse'+ Prelude.<$> ( x+ Data..?> "unprocessedAccounts"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteInvitations where+ hashWithSalt _salt DeleteInvitations' {..} =+ _salt `Prelude.hashWithSalt` accountIds++instance Prelude.NFData DeleteInvitations where+ rnf DeleteInvitations' {..} = Prelude.rnf accountIds++instance Data.ToHeaders DeleteInvitations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DeleteInvitations where+ toJSON DeleteInvitations' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("accountIds" Data..= accountIds)]+ )++instance Data.ToPath DeleteInvitations where+ toPath = Prelude.const "/invitations/delete"++instance Data.ToQuery DeleteInvitations where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteInvitationsResponse' smart constructor.+data DeleteInvitationsResponse = DeleteInvitationsResponse'+ { -- | An array of objects, one for each account whose invitation hasn\'t been+ -- deleted. Each object identifies the account and explains why the request+ -- hasn\'t been processed for that account.+ unprocessedAccounts :: Prelude.Maybe [UnprocessedAccount],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteInvitationsResponse' 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:+--+-- 'unprocessedAccounts', 'deleteInvitationsResponse_unprocessedAccounts' - An array of objects, one for each account whose invitation hasn\'t been+-- deleted. Each object identifies the account and explains why the request+-- hasn\'t been processed for that account.+--+-- 'httpStatus', 'deleteInvitationsResponse_httpStatus' - The response's http status code.+newDeleteInvitationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteInvitationsResponse+newDeleteInvitationsResponse pHttpStatus_ =+ DeleteInvitationsResponse'+ { unprocessedAccounts =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each account whose invitation hasn\'t been+-- deleted. Each object identifies the account and explains why the request+-- hasn\'t been processed for that account.+deleteInvitationsResponse_unprocessedAccounts :: Lens.Lens' DeleteInvitationsResponse (Prelude.Maybe [UnprocessedAccount])+deleteInvitationsResponse_unprocessedAccounts = Lens.lens (\DeleteInvitationsResponse' {unprocessedAccounts} -> unprocessedAccounts) (\s@DeleteInvitationsResponse' {} a -> s {unprocessedAccounts = a} :: DeleteInvitationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+deleteInvitationsResponse_httpStatus :: Lens.Lens' DeleteInvitationsResponse Prelude.Int+deleteInvitationsResponse_httpStatus = Lens.lens (\DeleteInvitationsResponse' {httpStatus} -> httpStatus) (\s@DeleteInvitationsResponse' {} a -> s {httpStatus = a} :: DeleteInvitationsResponse)++instance Prelude.NFData DeleteInvitationsResponse where+ rnf DeleteInvitationsResponse' {..} =+ Prelude.rnf unprocessedAccounts+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DeleteMember.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.DeleteMember+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the association between an Amazon Macie administrator account+-- and an account.+module Amazonka.MacieV2.DeleteMember+ ( -- * Creating a Request+ DeleteMember (..),+ newDeleteMember,++ -- * Request Lenses+ deleteMember_id,++ -- * Destructuring the Response+ DeleteMemberResponse (..),+ newDeleteMemberResponse,++ -- * Response Lenses+ deleteMemberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteMember' smart constructor.+data DeleteMember = DeleteMember'+ { -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMember' 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', 'deleteMember_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newDeleteMember ::+ -- | 'id'+ Prelude.Text ->+ DeleteMember+newDeleteMember pId_ = DeleteMember' {id = pId_}++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+deleteMember_id :: Lens.Lens' DeleteMember Prelude.Text+deleteMember_id = Lens.lens (\DeleteMember' {id} -> id) (\s@DeleteMember' {} a -> s {id = a} :: DeleteMember)++instance Core.AWSRequest DeleteMember where+ type AWSResponse DeleteMember = DeleteMemberResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteMemberResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteMember where+ hashWithSalt _salt DeleteMember' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteMember where+ rnf DeleteMember' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteMember where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteMember where+ toPath DeleteMember' {..} =+ Prelude.mconcat ["/members/", Data.toBS id]++instance Data.ToQuery DeleteMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteMemberResponse' smart constructor.+data DeleteMemberResponse = DeleteMemberResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMemberResponse' 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', 'deleteMemberResponse_httpStatus' - The response's http status code.+newDeleteMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteMemberResponse+newDeleteMemberResponse pHttpStatus_ =+ DeleteMemberResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteMemberResponse_httpStatus :: Lens.Lens' DeleteMemberResponse Prelude.Int+deleteMemberResponse_httpStatus = Lens.lens (\DeleteMemberResponse' {httpStatus} -> httpStatus) (\s@DeleteMemberResponse' {} a -> s {httpStatus = a} :: DeleteMemberResponse)++instance Prelude.NFData DeleteMemberResponse where+ rnf DeleteMemberResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DescribeBuckets.hs view
@@ -0,0 +1,257 @@+{-# 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.MacieV2.DescribeBuckets+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves (queries) statistical data and other information about one or+-- more S3 buckets that Amazon Macie monitors and analyzes for an account.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.DescribeBuckets+ ( -- * Creating a Request+ DescribeBuckets (..),+ newDescribeBuckets,++ -- * Request Lenses+ describeBuckets_criteria,+ describeBuckets_maxResults,+ describeBuckets_nextToken,+ describeBuckets_sortCriteria,++ -- * Destructuring the Response+ DescribeBucketsResponse (..),+ newDescribeBucketsResponse,++ -- * Response Lenses+ describeBucketsResponse_buckets,+ describeBucketsResponse_nextToken,+ describeBucketsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeBuckets' smart constructor.+data DescribeBuckets = DescribeBuckets'+ { -- | The criteria to use to filter the query results.+ criteria :: Prelude.Maybe (Prelude.HashMap Prelude.Text BucketCriteriaAdditionalProperties),+ -- | The maximum number of items to include in each page of the response. The+ -- default value is 50.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The criteria to use to sort the query results.+ sortCriteria :: Prelude.Maybe BucketSortCriteria+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeBuckets' 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:+--+-- 'criteria', 'describeBuckets_criteria' - The criteria to use to filter the query results.+--+-- 'maxResults', 'describeBuckets_maxResults' - The maximum number of items to include in each page of the response. The+-- default value is 50.+--+-- 'nextToken', 'describeBuckets_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+--+-- 'sortCriteria', 'describeBuckets_sortCriteria' - The criteria to use to sort the query results.+newDescribeBuckets ::+ DescribeBuckets+newDescribeBuckets =+ DescribeBuckets'+ { criteria = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ sortCriteria = Prelude.Nothing+ }++-- | The criteria to use to filter the query results.+describeBuckets_criteria :: Lens.Lens' DescribeBuckets (Prelude.Maybe (Prelude.HashMap Prelude.Text BucketCriteriaAdditionalProperties))+describeBuckets_criteria = Lens.lens (\DescribeBuckets' {criteria} -> criteria) (\s@DescribeBuckets' {} a -> s {criteria = a} :: DescribeBuckets) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of items to include in each page of the response. The+-- default value is 50.+describeBuckets_maxResults :: Lens.Lens' DescribeBuckets (Prelude.Maybe Prelude.Int)+describeBuckets_maxResults = Lens.lens (\DescribeBuckets' {maxResults} -> maxResults) (\s@DescribeBuckets' {} a -> s {maxResults = a} :: DescribeBuckets)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+describeBuckets_nextToken :: Lens.Lens' DescribeBuckets (Prelude.Maybe Prelude.Text)+describeBuckets_nextToken = Lens.lens (\DescribeBuckets' {nextToken} -> nextToken) (\s@DescribeBuckets' {} a -> s {nextToken = a} :: DescribeBuckets)++-- | The criteria to use to sort the query results.+describeBuckets_sortCriteria :: Lens.Lens' DescribeBuckets (Prelude.Maybe BucketSortCriteria)+describeBuckets_sortCriteria = Lens.lens (\DescribeBuckets' {sortCriteria} -> sortCriteria) (\s@DescribeBuckets' {} a -> s {sortCriteria = a} :: DescribeBuckets)++instance Core.AWSPager DescribeBuckets where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? describeBucketsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? describeBucketsResponse_buckets+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& describeBuckets_nextToken+ Lens..~ rs+ Lens.^? describeBucketsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest DescribeBuckets where+ type+ AWSResponse DescribeBuckets =+ DescribeBucketsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeBucketsResponse'+ Prelude.<$> (x Data..?> "buckets" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeBuckets where+ hashWithSalt _salt DescribeBuckets' {..} =+ _salt+ `Prelude.hashWithSalt` criteria+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` sortCriteria++instance Prelude.NFData DescribeBuckets where+ rnf DescribeBuckets' {..} =+ Prelude.rnf criteria+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf sortCriteria++instance Data.ToHeaders DescribeBuckets where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DescribeBuckets where+ toJSON DescribeBuckets' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("criteria" Data..=) Prelude.<$> criteria,+ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ ("sortCriteria" Data..=) Prelude.<$> sortCriteria+ ]+ )++instance Data.ToPath DescribeBuckets where+ toPath = Prelude.const "/datasources/s3"++instance Data.ToQuery DescribeBuckets where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeBucketsResponse' smart constructor.+data DescribeBucketsResponse = DescribeBucketsResponse'+ { -- | An array of objects, one for each bucket that matches the filter+ -- criteria specified in the request.+ buckets :: Prelude.Maybe [BucketMetadata],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'DescribeBucketsResponse' 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:+--+-- 'buckets', 'describeBucketsResponse_buckets' - An array of objects, one for each bucket that matches the filter+-- criteria specified in the request.+--+-- 'nextToken', 'describeBucketsResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'describeBucketsResponse_httpStatus' - The response's http status code.+newDescribeBucketsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeBucketsResponse+newDescribeBucketsResponse pHttpStatus_ =+ DescribeBucketsResponse'+ { buckets = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each bucket that matches the filter+-- criteria specified in the request.+describeBucketsResponse_buckets :: Lens.Lens' DescribeBucketsResponse (Prelude.Maybe [BucketMetadata])+describeBucketsResponse_buckets = Lens.lens (\DescribeBucketsResponse' {buckets} -> buckets) (\s@DescribeBucketsResponse' {} a -> s {buckets = a} :: DescribeBucketsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+describeBucketsResponse_nextToken :: Lens.Lens' DescribeBucketsResponse (Prelude.Maybe Prelude.Text)+describeBucketsResponse_nextToken = Lens.lens (\DescribeBucketsResponse' {nextToken} -> nextToken) (\s@DescribeBucketsResponse' {} a -> s {nextToken = a} :: DescribeBucketsResponse)++-- | The response's http status code.+describeBucketsResponse_httpStatus :: Lens.Lens' DescribeBucketsResponse Prelude.Int+describeBucketsResponse_httpStatus = Lens.lens (\DescribeBucketsResponse' {httpStatus} -> httpStatus) (\s@DescribeBucketsResponse' {} a -> s {httpStatus = a} :: DescribeBucketsResponse)++instance Prelude.NFData DescribeBucketsResponse where+ rnf DescribeBucketsResponse' {..} =+ Prelude.rnf buckets+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DescribeClassificationJob.hs view
@@ -0,0 +1,643 @@+{-# 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.MacieV2.DescribeClassificationJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the status and settings for a classification job.+module Amazonka.MacieV2.DescribeClassificationJob+ ( -- * Creating a Request+ DescribeClassificationJob (..),+ newDescribeClassificationJob,++ -- * Request Lenses+ describeClassificationJob_jobId,++ -- * Destructuring the Response+ DescribeClassificationJobResponse (..),+ newDescribeClassificationJobResponse,++ -- * Response Lenses+ describeClassificationJobResponse_allowListIds,+ describeClassificationJobResponse_clientToken,+ describeClassificationJobResponse_createdAt,+ describeClassificationJobResponse_customDataIdentifierIds,+ describeClassificationJobResponse_description,+ describeClassificationJobResponse_initialRun,+ describeClassificationJobResponse_jobArn,+ describeClassificationJobResponse_jobId,+ describeClassificationJobResponse_jobStatus,+ describeClassificationJobResponse_jobType,+ describeClassificationJobResponse_lastRunErrorStatus,+ describeClassificationJobResponse_lastRunTime,+ describeClassificationJobResponse_managedDataIdentifierIds,+ describeClassificationJobResponse_managedDataIdentifierSelector,+ describeClassificationJobResponse_name,+ describeClassificationJobResponse_s3JobDefinition,+ describeClassificationJobResponse_samplingPercentage,+ describeClassificationJobResponse_scheduleFrequency,+ describeClassificationJobResponse_statistics,+ describeClassificationJobResponse_tags,+ describeClassificationJobResponse_userPausedDetails,+ describeClassificationJobResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeClassificationJob' smart constructor.+data DescribeClassificationJob = DescribeClassificationJob'+ { -- | The unique identifier for the classification job.+ jobId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeClassificationJob' 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:+--+-- 'jobId', 'describeClassificationJob_jobId' - The unique identifier for the classification job.+newDescribeClassificationJob ::+ -- | 'jobId'+ Prelude.Text ->+ DescribeClassificationJob+newDescribeClassificationJob pJobId_ =+ DescribeClassificationJob' {jobId = pJobId_}++-- | The unique identifier for the classification job.+describeClassificationJob_jobId :: Lens.Lens' DescribeClassificationJob Prelude.Text+describeClassificationJob_jobId = Lens.lens (\DescribeClassificationJob' {jobId} -> jobId) (\s@DescribeClassificationJob' {} a -> s {jobId = a} :: DescribeClassificationJob)++instance Core.AWSRequest DescribeClassificationJob where+ type+ AWSResponse DescribeClassificationJob =+ DescribeClassificationJobResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeClassificationJobResponse'+ Prelude.<$> (x Data..?> "allowListIds" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "clientToken")+ Prelude.<*> (x Data..?> "createdAt")+ Prelude.<*> ( x+ Data..?> "customDataIdentifierIds"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "description")+ Prelude.<*> (x Data..?> "initialRun")+ Prelude.<*> (x Data..?> "jobArn")+ Prelude.<*> (x Data..?> "jobId")+ Prelude.<*> (x Data..?> "jobStatus")+ Prelude.<*> (x Data..?> "jobType")+ Prelude.<*> (x Data..?> "lastRunErrorStatus")+ Prelude.<*> (x Data..?> "lastRunTime")+ Prelude.<*> ( x+ Data..?> "managedDataIdentifierIds"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "managedDataIdentifierSelector")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (x Data..?> "s3JobDefinition")+ Prelude.<*> (x Data..?> "samplingPercentage")+ Prelude.<*> (x Data..?> "scheduleFrequency")+ Prelude.<*> (x Data..?> "statistics")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "userPausedDetails")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeClassificationJob where+ hashWithSalt _salt DescribeClassificationJob' {..} =+ _salt `Prelude.hashWithSalt` jobId++instance Prelude.NFData DescribeClassificationJob where+ rnf DescribeClassificationJob' {..} =+ Prelude.rnf jobId++instance Data.ToHeaders DescribeClassificationJob where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeClassificationJob where+ toPath DescribeClassificationJob' {..} =+ Prelude.mconcat ["/jobs/", Data.toBS jobId]++instance Data.ToQuery DescribeClassificationJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeClassificationJobResponse' smart constructor.+data DescribeClassificationJobResponse = DescribeClassificationJobResponse'+ { -- | An array of unique identifiers, one for each allow list that the job+ -- uses when it analyzes data.+ allowListIds :: Prelude.Maybe [Prelude.Text],+ -- | The token that was provided to ensure the idempotency of the request to+ -- create the job.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when the job was+ -- created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | An array of unique identifiers, one for each custom data identifier that+ -- the job uses when it analyzes data. This value is null if the job uses+ -- only managed data identifiers to analyze data.+ customDataIdentifierIds :: Prelude.Maybe [Prelude.Text],+ -- | The custom description of the job.+ description :: Prelude.Maybe Prelude.Text,+ -- | For a recurring job, specifies whether you configured the job to analyze+ -- all existing, eligible objects immediately after the job was created+ -- (true). If you configured the job to analyze only those objects that+ -- were created or changed after the job was created and before the job\'s+ -- first scheduled run, this value is false. This value is also false for a+ -- one-time job.+ initialRun :: Prelude.Maybe Prelude.Bool,+ -- | The Amazon Resource Name (ARN) of the job.+ jobArn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the job.+ jobId :: Prelude.Maybe Prelude.Text,+ -- | The current status of the job. Possible values are:+ --+ -- - CANCELLED - You cancelled the job or, if it\'s a one-time job, you+ -- paused the job and didn\'t resume it within 30 days.+ --+ -- - COMPLETE - For a one-time job, Amazon Macie finished processing the+ -- data specified for the job. This value doesn\'t apply to recurring+ -- jobs.+ --+ -- - IDLE - For a recurring job, the previous scheduled run is complete+ -- and the next scheduled run is pending. This value doesn\'t apply to+ -- one-time jobs.+ --+ -- - PAUSED - Macie started running the job but additional processing+ -- would exceed the monthly sensitive data discovery quota for your+ -- account or one or more member accounts that the job analyzes data+ -- for.+ --+ -- - RUNNING - For a one-time job, the job is in progress. For a+ -- recurring job, a scheduled run is in progress.+ --+ -- - USER_PAUSED - You paused the job. If you paused the job while it had+ -- a status of RUNNING and you don\'t resume it within 30 days of+ -- pausing it, the job or job run will expire and be cancelled,+ -- depending on the job\'s type. To check the expiration date, refer to+ -- the UserPausedDetails.jobExpiresAt property.+ jobStatus :: Prelude.Maybe JobStatus,+ -- | The schedule for running the job. Possible values are:+ --+ -- - ONE_TIME - The job runs only once.+ --+ -- - SCHEDULED - The job runs on a daily, weekly, or monthly basis. The+ -- scheduleFrequency property indicates the recurrence pattern for the+ -- job.+ jobType :: Prelude.Maybe JobType,+ -- | Specifies whether any account- or bucket-level access errors occurred+ -- when the job ran. For a recurring job, this value indicates the error+ -- status of the job\'s most recent run.+ lastRunErrorStatus :: Prelude.Maybe LastRunErrorStatus,+ -- | The date and time, in UTC and extended ISO 8601 format, when the job+ -- started. If the job is a recurring job, this value indicates when the+ -- most recent run started or, if the job hasn\'t run yet, when the job was+ -- created.+ lastRunTime :: Prelude.Maybe Data.ISO8601,+ -- | An array of unique identifiers, one for each managed data identifier+ -- that the job is explicitly configured to include (use) or exclude (not+ -- use) when it analyzes data. Inclusion or exclusion depends on the+ -- managed data identifier selection type specified for the job+ -- (managedDataIdentifierSelector). This value is null if the job\'s+ -- managed data identifier selection type is ALL or the job uses only+ -- custom data identifiers (customDataIdentifierIds) to analyze data.+ managedDataIdentifierIds :: Prelude.Maybe [Prelude.Text],+ -- | The selection type that determines which managed data identifiers the+ -- job uses to analyze data. Possible values are:+ --+ -- - ALL - Use all the managed data identifiers that Amazon Macie+ -- provides.+ --+ -- - EXCLUDE - Use all the managed data identifiers that Macie provides+ -- except the managed data identifiers specified by the+ -- managedDataIdentifierIds property.+ --+ -- - INCLUDE - Use only the managed data identifiers specified by the+ -- managedDataIdentifierIds property.+ --+ -- - NONE - Don\'t use any managed data identifiers.+ --+ -- If this value is null, the job uses all managed data identifiers. If+ -- this value is null, ALL, or EXCLUDE for a recurring job, the job also+ -- uses new managed data identifiers as they are released.+ managedDataIdentifierSelector :: Prelude.Maybe ManagedDataIdentifierSelector,+ -- | The custom name of the job.+ name :: Prelude.Maybe Prelude.Text,+ -- | The S3 buckets that contain the objects to analyze, and the scope of+ -- that analysis.+ s3JobDefinition :: Prelude.Maybe S3JobDefinition,+ -- | The sampling depth, as a percentage, that determines the percentage of+ -- eligible objects that the job analyzes.+ samplingPercentage :: Prelude.Maybe Prelude.Int,+ -- | The recurrence pattern for running the job. This value is null if the+ -- job is configured to run only once.+ scheduleFrequency :: Prelude.Maybe JobScheduleFrequency,+ -- | The number of times that the job has run and processing statistics for+ -- the job\'s current run.+ statistics :: Prelude.Maybe Statistics,+ -- | A map of key-value pairs that specifies which tags (keys and values) are+ -- associated with the classification job.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | If the current status of the job is USER_PAUSED, specifies when the job+ -- was paused and when the job or job run will expire and be cancelled if+ -- it isn\'t resumed. This value is present only if the value for jobStatus+ -- is USER_PAUSED.+ userPausedDetails :: Prelude.Maybe UserPausedDetails,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeClassificationJobResponse' 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:+--+-- 'allowListIds', 'describeClassificationJobResponse_allowListIds' - An array of unique identifiers, one for each allow list that the job+-- uses when it analyzes data.+--+-- 'clientToken', 'describeClassificationJobResponse_clientToken' - The token that was provided to ensure the idempotency of the request to+-- create the job.+--+-- 'createdAt', 'describeClassificationJobResponse_createdAt' - The date and time, in UTC and extended ISO 8601 format, when the job was+-- created.+--+-- 'customDataIdentifierIds', 'describeClassificationJobResponse_customDataIdentifierIds' - An array of unique identifiers, one for each custom data identifier that+-- the job uses when it analyzes data. This value is null if the job uses+-- only managed data identifiers to analyze data.+--+-- 'description', 'describeClassificationJobResponse_description' - The custom description of the job.+--+-- 'initialRun', 'describeClassificationJobResponse_initialRun' - For a recurring job, specifies whether you configured the job to analyze+-- all existing, eligible objects immediately after the job was created+-- (true). If you configured the job to analyze only those objects that+-- were created or changed after the job was created and before the job\'s+-- first scheduled run, this value is false. This value is also false for a+-- one-time job.+--+-- 'jobArn', 'describeClassificationJobResponse_jobArn' - The Amazon Resource Name (ARN) of the job.+--+-- 'jobId', 'describeClassificationJobResponse_jobId' - The unique identifier for the job.+--+-- 'jobStatus', 'describeClassificationJobResponse_jobStatus' - The current status of the job. Possible values are:+--+-- - CANCELLED - You cancelled the job or, if it\'s a one-time job, you+-- paused the job and didn\'t resume it within 30 days.+--+-- - COMPLETE - For a one-time job, Amazon Macie finished processing the+-- data specified for the job. This value doesn\'t apply to recurring+-- jobs.+--+-- - IDLE - For a recurring job, the previous scheduled run is complete+-- and the next scheduled run is pending. This value doesn\'t apply to+-- one-time jobs.+--+-- - PAUSED - Macie started running the job but additional processing+-- would exceed the monthly sensitive data discovery quota for your+-- account or one or more member accounts that the job analyzes data+-- for.+--+-- - RUNNING - For a one-time job, the job is in progress. For a+-- recurring job, a scheduled run is in progress.+--+-- - USER_PAUSED - You paused the job. If you paused the job while it had+-- a status of RUNNING and you don\'t resume it within 30 days of+-- pausing it, the job or job run will expire and be cancelled,+-- depending on the job\'s type. To check the expiration date, refer to+-- the UserPausedDetails.jobExpiresAt property.+--+-- 'jobType', 'describeClassificationJobResponse_jobType' - The schedule for running the job. Possible values are:+--+-- - ONE_TIME - The job runs only once.+--+-- - SCHEDULED - The job runs on a daily, weekly, or monthly basis. The+-- scheduleFrequency property indicates the recurrence pattern for the+-- job.+--+-- 'lastRunErrorStatus', 'describeClassificationJobResponse_lastRunErrorStatus' - Specifies whether any account- or bucket-level access errors occurred+-- when the job ran. For a recurring job, this value indicates the error+-- status of the job\'s most recent run.+--+-- 'lastRunTime', 'describeClassificationJobResponse_lastRunTime' - The date and time, in UTC and extended ISO 8601 format, when the job+-- started. If the job is a recurring job, this value indicates when the+-- most recent run started or, if the job hasn\'t run yet, when the job was+-- created.+--+-- 'managedDataIdentifierIds', 'describeClassificationJobResponse_managedDataIdentifierIds' - An array of unique identifiers, one for each managed data identifier+-- that the job is explicitly configured to include (use) or exclude (not+-- use) when it analyzes data. Inclusion or exclusion depends on the+-- managed data identifier selection type specified for the job+-- (managedDataIdentifierSelector). This value is null if the job\'s+-- managed data identifier selection type is ALL or the job uses only+-- custom data identifiers (customDataIdentifierIds) to analyze data.+--+-- 'managedDataIdentifierSelector', 'describeClassificationJobResponse_managedDataIdentifierSelector' - The selection type that determines which managed data identifiers the+-- job uses to analyze data. Possible values are:+--+-- - ALL - Use all the managed data identifiers that Amazon Macie+-- provides.+--+-- - EXCLUDE - Use all the managed data identifiers that Macie provides+-- except the managed data identifiers specified by the+-- managedDataIdentifierIds property.+--+-- - INCLUDE - Use only the managed data identifiers specified by the+-- managedDataIdentifierIds property.+--+-- - NONE - Don\'t use any managed data identifiers.+--+-- If this value is null, the job uses all managed data identifiers. If+-- this value is null, ALL, or EXCLUDE for a recurring job, the job also+-- uses new managed data identifiers as they are released.+--+-- 'name', 'describeClassificationJobResponse_name' - The custom name of the job.+--+-- 's3JobDefinition', 'describeClassificationJobResponse_s3JobDefinition' - The S3 buckets that contain the objects to analyze, and the scope of+-- that analysis.+--+-- 'samplingPercentage', 'describeClassificationJobResponse_samplingPercentage' - The sampling depth, as a percentage, that determines the percentage of+-- eligible objects that the job analyzes.+--+-- 'scheduleFrequency', 'describeClassificationJobResponse_scheduleFrequency' - The recurrence pattern for running the job. This value is null if the+-- job is configured to run only once.+--+-- 'statistics', 'describeClassificationJobResponse_statistics' - The number of times that the job has run and processing statistics for+-- the job\'s current run.+--+-- 'tags', 'describeClassificationJobResponse_tags' - A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the classification job.+--+-- 'userPausedDetails', 'describeClassificationJobResponse_userPausedDetails' - If the current status of the job is USER_PAUSED, specifies when the job+-- was paused and when the job or job run will expire and be cancelled if+-- it isn\'t resumed. This value is present only if the value for jobStatus+-- is USER_PAUSED.+--+-- 'httpStatus', 'describeClassificationJobResponse_httpStatus' - The response's http status code.+newDescribeClassificationJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeClassificationJobResponse+newDescribeClassificationJobResponse pHttpStatus_ =+ DescribeClassificationJobResponse'+ { allowListIds =+ Prelude.Nothing,+ clientToken = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ customDataIdentifierIds =+ Prelude.Nothing,+ description = Prelude.Nothing,+ initialRun = Prelude.Nothing,+ jobArn = Prelude.Nothing,+ jobId = Prelude.Nothing,+ jobStatus = Prelude.Nothing,+ jobType = Prelude.Nothing,+ lastRunErrorStatus = Prelude.Nothing,+ lastRunTime = Prelude.Nothing,+ managedDataIdentifierIds =+ Prelude.Nothing,+ managedDataIdentifierSelector =+ Prelude.Nothing,+ name = Prelude.Nothing,+ s3JobDefinition = Prelude.Nothing,+ samplingPercentage = Prelude.Nothing,+ scheduleFrequency = Prelude.Nothing,+ statistics = Prelude.Nothing,+ tags = Prelude.Nothing,+ userPausedDetails = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of unique identifiers, one for each allow list that the job+-- uses when it analyzes data.+describeClassificationJobResponse_allowListIds :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe [Prelude.Text])+describeClassificationJobResponse_allowListIds = Lens.lens (\DescribeClassificationJobResponse' {allowListIds} -> allowListIds) (\s@DescribeClassificationJobResponse' {} a -> s {allowListIds = a} :: DescribeClassificationJobResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that was provided to ensure the idempotency of the request to+-- create the job.+describeClassificationJobResponse_clientToken :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe Prelude.Text)+describeClassificationJobResponse_clientToken = Lens.lens (\DescribeClassificationJobResponse' {clientToken} -> clientToken) (\s@DescribeClassificationJobResponse' {} a -> s {clientToken = a} :: DescribeClassificationJobResponse)++-- | The date and time, in UTC and extended ISO 8601 format, when the job was+-- created.+describeClassificationJobResponse_createdAt :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe Prelude.UTCTime)+describeClassificationJobResponse_createdAt = Lens.lens (\DescribeClassificationJobResponse' {createdAt} -> createdAt) (\s@DescribeClassificationJobResponse' {} a -> s {createdAt = a} :: DescribeClassificationJobResponse) Prelude.. Lens.mapping Data._Time++-- | An array of unique identifiers, one for each custom data identifier that+-- the job uses when it analyzes data. This value is null if the job uses+-- only managed data identifiers to analyze data.+describeClassificationJobResponse_customDataIdentifierIds :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe [Prelude.Text])+describeClassificationJobResponse_customDataIdentifierIds = Lens.lens (\DescribeClassificationJobResponse' {customDataIdentifierIds} -> customDataIdentifierIds) (\s@DescribeClassificationJobResponse' {} a -> s {customDataIdentifierIds = a} :: DescribeClassificationJobResponse) Prelude.. Lens.mapping Lens.coerced++-- | The custom description of the job.+describeClassificationJobResponse_description :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe Prelude.Text)+describeClassificationJobResponse_description = Lens.lens (\DescribeClassificationJobResponse' {description} -> description) (\s@DescribeClassificationJobResponse' {} a -> s {description = a} :: DescribeClassificationJobResponse)++-- | For a recurring job, specifies whether you configured the job to analyze+-- all existing, eligible objects immediately after the job was created+-- (true). If you configured the job to analyze only those objects that+-- were created or changed after the job was created and before the job\'s+-- first scheduled run, this value is false. This value is also false for a+-- one-time job.+describeClassificationJobResponse_initialRun :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe Prelude.Bool)+describeClassificationJobResponse_initialRun = Lens.lens (\DescribeClassificationJobResponse' {initialRun} -> initialRun) (\s@DescribeClassificationJobResponse' {} a -> s {initialRun = a} :: DescribeClassificationJobResponse)++-- | The Amazon Resource Name (ARN) of the job.+describeClassificationJobResponse_jobArn :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe Prelude.Text)+describeClassificationJobResponse_jobArn = Lens.lens (\DescribeClassificationJobResponse' {jobArn} -> jobArn) (\s@DescribeClassificationJobResponse' {} a -> s {jobArn = a} :: DescribeClassificationJobResponse)++-- | The unique identifier for the job.+describeClassificationJobResponse_jobId :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe Prelude.Text)+describeClassificationJobResponse_jobId = Lens.lens (\DescribeClassificationJobResponse' {jobId} -> jobId) (\s@DescribeClassificationJobResponse' {} a -> s {jobId = a} :: DescribeClassificationJobResponse)++-- | The current status of the job. Possible values are:+--+-- - CANCELLED - You cancelled the job or, if it\'s a one-time job, you+-- paused the job and didn\'t resume it within 30 days.+--+-- - COMPLETE - For a one-time job, Amazon Macie finished processing the+-- data specified for the job. This value doesn\'t apply to recurring+-- jobs.+--+-- - IDLE - For a recurring job, the previous scheduled run is complete+-- and the next scheduled run is pending. This value doesn\'t apply to+-- one-time jobs.+--+-- - PAUSED - Macie started running the job but additional processing+-- would exceed the monthly sensitive data discovery quota for your+-- account or one or more member accounts that the job analyzes data+-- for.+--+-- - RUNNING - For a one-time job, the job is in progress. For a+-- recurring job, a scheduled run is in progress.+--+-- - USER_PAUSED - You paused the job. If you paused the job while it had+-- a status of RUNNING and you don\'t resume it within 30 days of+-- pausing it, the job or job run will expire and be cancelled,+-- depending on the job\'s type. To check the expiration date, refer to+-- the UserPausedDetails.jobExpiresAt property.+describeClassificationJobResponse_jobStatus :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe JobStatus)+describeClassificationJobResponse_jobStatus = Lens.lens (\DescribeClassificationJobResponse' {jobStatus} -> jobStatus) (\s@DescribeClassificationJobResponse' {} a -> s {jobStatus = a} :: DescribeClassificationJobResponse)++-- | The schedule for running the job. Possible values are:+--+-- - ONE_TIME - The job runs only once.+--+-- - SCHEDULED - The job runs on a daily, weekly, or monthly basis. The+-- scheduleFrequency property indicates the recurrence pattern for the+-- job.+describeClassificationJobResponse_jobType :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe JobType)+describeClassificationJobResponse_jobType = Lens.lens (\DescribeClassificationJobResponse' {jobType} -> jobType) (\s@DescribeClassificationJobResponse' {} a -> s {jobType = a} :: DescribeClassificationJobResponse)++-- | Specifies whether any account- or bucket-level access errors occurred+-- when the job ran. For a recurring job, this value indicates the error+-- status of the job\'s most recent run.+describeClassificationJobResponse_lastRunErrorStatus :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe LastRunErrorStatus)+describeClassificationJobResponse_lastRunErrorStatus = Lens.lens (\DescribeClassificationJobResponse' {lastRunErrorStatus} -> lastRunErrorStatus) (\s@DescribeClassificationJobResponse' {} a -> s {lastRunErrorStatus = a} :: DescribeClassificationJobResponse)++-- | The date and time, in UTC and extended ISO 8601 format, when the job+-- started. If the job is a recurring job, this value indicates when the+-- most recent run started or, if the job hasn\'t run yet, when the job was+-- created.+describeClassificationJobResponse_lastRunTime :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe Prelude.UTCTime)+describeClassificationJobResponse_lastRunTime = Lens.lens (\DescribeClassificationJobResponse' {lastRunTime} -> lastRunTime) (\s@DescribeClassificationJobResponse' {} a -> s {lastRunTime = a} :: DescribeClassificationJobResponse) Prelude.. Lens.mapping Data._Time++-- | An array of unique identifiers, one for each managed data identifier+-- that the job is explicitly configured to include (use) or exclude (not+-- use) when it analyzes data. Inclusion or exclusion depends on the+-- managed data identifier selection type specified for the job+-- (managedDataIdentifierSelector). This value is null if the job\'s+-- managed data identifier selection type is ALL or the job uses only+-- custom data identifiers (customDataIdentifierIds) to analyze data.+describeClassificationJobResponse_managedDataIdentifierIds :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe [Prelude.Text])+describeClassificationJobResponse_managedDataIdentifierIds = Lens.lens (\DescribeClassificationJobResponse' {managedDataIdentifierIds} -> managedDataIdentifierIds) (\s@DescribeClassificationJobResponse' {} a -> s {managedDataIdentifierIds = a} :: DescribeClassificationJobResponse) Prelude.. Lens.mapping Lens.coerced++-- | The selection type that determines which managed data identifiers the+-- job uses to analyze data. Possible values are:+--+-- - ALL - Use all the managed data identifiers that Amazon Macie+-- provides.+--+-- - EXCLUDE - Use all the managed data identifiers that Macie provides+-- except the managed data identifiers specified by the+-- managedDataIdentifierIds property.+--+-- - INCLUDE - Use only the managed data identifiers specified by the+-- managedDataIdentifierIds property.+--+-- - NONE - Don\'t use any managed data identifiers.+--+-- If this value is null, the job uses all managed data identifiers. If+-- this value is null, ALL, or EXCLUDE for a recurring job, the job also+-- uses new managed data identifiers as they are released.+describeClassificationJobResponse_managedDataIdentifierSelector :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe ManagedDataIdentifierSelector)+describeClassificationJobResponse_managedDataIdentifierSelector = Lens.lens (\DescribeClassificationJobResponse' {managedDataIdentifierSelector} -> managedDataIdentifierSelector) (\s@DescribeClassificationJobResponse' {} a -> s {managedDataIdentifierSelector = a} :: DescribeClassificationJobResponse)++-- | The custom name of the job.+describeClassificationJobResponse_name :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe Prelude.Text)+describeClassificationJobResponse_name = Lens.lens (\DescribeClassificationJobResponse' {name} -> name) (\s@DescribeClassificationJobResponse' {} a -> s {name = a} :: DescribeClassificationJobResponse)++-- | The S3 buckets that contain the objects to analyze, and the scope of+-- that analysis.+describeClassificationJobResponse_s3JobDefinition :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe S3JobDefinition)+describeClassificationJobResponse_s3JobDefinition = Lens.lens (\DescribeClassificationJobResponse' {s3JobDefinition} -> s3JobDefinition) (\s@DescribeClassificationJobResponse' {} a -> s {s3JobDefinition = a} :: DescribeClassificationJobResponse)++-- | The sampling depth, as a percentage, that determines the percentage of+-- eligible objects that the job analyzes.+describeClassificationJobResponse_samplingPercentage :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe Prelude.Int)+describeClassificationJobResponse_samplingPercentage = Lens.lens (\DescribeClassificationJobResponse' {samplingPercentage} -> samplingPercentage) (\s@DescribeClassificationJobResponse' {} a -> s {samplingPercentage = a} :: DescribeClassificationJobResponse)++-- | The recurrence pattern for running the job. This value is null if the+-- job is configured to run only once.+describeClassificationJobResponse_scheduleFrequency :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe JobScheduleFrequency)+describeClassificationJobResponse_scheduleFrequency = Lens.lens (\DescribeClassificationJobResponse' {scheduleFrequency} -> scheduleFrequency) (\s@DescribeClassificationJobResponse' {} a -> s {scheduleFrequency = a} :: DescribeClassificationJobResponse)++-- | The number of times that the job has run and processing statistics for+-- the job\'s current run.+describeClassificationJobResponse_statistics :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe Statistics)+describeClassificationJobResponse_statistics = Lens.lens (\DescribeClassificationJobResponse' {statistics} -> statistics) (\s@DescribeClassificationJobResponse' {} a -> s {statistics = a} :: DescribeClassificationJobResponse)++-- | A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the classification job.+describeClassificationJobResponse_tags :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeClassificationJobResponse_tags = Lens.lens (\DescribeClassificationJobResponse' {tags} -> tags) (\s@DescribeClassificationJobResponse' {} a -> s {tags = a} :: DescribeClassificationJobResponse) Prelude.. Lens.mapping Lens.coerced++-- | If the current status of the job is USER_PAUSED, specifies when the job+-- was paused and when the job or job run will expire and be cancelled if+-- it isn\'t resumed. This value is present only if the value for jobStatus+-- is USER_PAUSED.+describeClassificationJobResponse_userPausedDetails :: Lens.Lens' DescribeClassificationJobResponse (Prelude.Maybe UserPausedDetails)+describeClassificationJobResponse_userPausedDetails = Lens.lens (\DescribeClassificationJobResponse' {userPausedDetails} -> userPausedDetails) (\s@DescribeClassificationJobResponse' {} a -> s {userPausedDetails = a} :: DescribeClassificationJobResponse)++-- | The response's http status code.+describeClassificationJobResponse_httpStatus :: Lens.Lens' DescribeClassificationJobResponse Prelude.Int+describeClassificationJobResponse_httpStatus = Lens.lens (\DescribeClassificationJobResponse' {httpStatus} -> httpStatus) (\s@DescribeClassificationJobResponse' {} a -> s {httpStatus = a} :: DescribeClassificationJobResponse)++instance+ Prelude.NFData+ DescribeClassificationJobResponse+ where+ rnf DescribeClassificationJobResponse' {..} =+ Prelude.rnf allowListIds+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf customDataIdentifierIds+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf initialRun+ `Prelude.seq` Prelude.rnf jobArn+ `Prelude.seq` Prelude.rnf jobId+ `Prelude.seq` Prelude.rnf jobStatus+ `Prelude.seq` Prelude.rnf jobType+ `Prelude.seq` Prelude.rnf lastRunErrorStatus+ `Prelude.seq` Prelude.rnf lastRunTime+ `Prelude.seq` Prelude.rnf managedDataIdentifierIds+ `Prelude.seq` Prelude.rnf managedDataIdentifierSelector+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf s3JobDefinition+ `Prelude.seq` Prelude.rnf samplingPercentage+ `Prelude.seq` Prelude.rnf scheduleFrequency+ `Prelude.seq` Prelude.rnf statistics+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf+ userPausedDetails+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DescribeOrganizationConfiguration.hs view
@@ -0,0 +1,184 @@+{-# 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.MacieV2.DescribeOrganizationConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the Amazon Macie configuration settings for an organization in+-- Organizations.+module Amazonka.MacieV2.DescribeOrganizationConfiguration+ ( -- * Creating a Request+ DescribeOrganizationConfiguration (..),+ newDescribeOrganizationConfiguration,++ -- * Destructuring the Response+ DescribeOrganizationConfigurationResponse (..),+ newDescribeOrganizationConfigurationResponse,++ -- * Response Lenses+ describeOrganizationConfigurationResponse_autoEnable,+ describeOrganizationConfigurationResponse_maxAccountLimitReached,+ describeOrganizationConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeOrganizationConfiguration' smart constructor.+data DescribeOrganizationConfiguration = DescribeOrganizationConfiguration'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeOrganizationConfiguration' 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.+newDescribeOrganizationConfiguration ::+ DescribeOrganizationConfiguration+newDescribeOrganizationConfiguration =+ DescribeOrganizationConfiguration'++instance+ Core.AWSRequest+ DescribeOrganizationConfiguration+ where+ type+ AWSResponse DescribeOrganizationConfiguration =+ DescribeOrganizationConfigurationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeOrganizationConfigurationResponse'+ Prelude.<$> (x Data..?> "autoEnable")+ Prelude.<*> (x Data..?> "maxAccountLimitReached")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DescribeOrganizationConfiguration+ where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance+ Prelude.NFData+ DescribeOrganizationConfiguration+ where+ rnf _ = ()++instance+ Data.ToHeaders+ DescribeOrganizationConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ DescribeOrganizationConfiguration+ where+ toPath = Prelude.const "/admin/configuration"++instance+ Data.ToQuery+ DescribeOrganizationConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeOrganizationConfigurationResponse' smart constructor.+data DescribeOrganizationConfigurationResponse = DescribeOrganizationConfigurationResponse'+ { -- | Specifies whether Amazon Macie is enabled automatically for accounts+ -- that are added to the organization.+ autoEnable :: Prelude.Maybe Prelude.Bool,+ -- | Specifies whether the maximum number of Amazon Macie member accounts are+ -- part of the organization.+ maxAccountLimitReached :: Prelude.Maybe Prelude.Bool,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeOrganizationConfigurationResponse' 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:+--+-- 'autoEnable', 'describeOrganizationConfigurationResponse_autoEnable' - Specifies whether Amazon Macie is enabled automatically for accounts+-- that are added to the organization.+--+-- 'maxAccountLimitReached', 'describeOrganizationConfigurationResponse_maxAccountLimitReached' - Specifies whether the maximum number of Amazon Macie member accounts are+-- part of the organization.+--+-- 'httpStatus', 'describeOrganizationConfigurationResponse_httpStatus' - The response's http status code.+newDescribeOrganizationConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeOrganizationConfigurationResponse+newDescribeOrganizationConfigurationResponse+ pHttpStatus_ =+ DescribeOrganizationConfigurationResponse'+ { autoEnable =+ Prelude.Nothing,+ maxAccountLimitReached =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Specifies whether Amazon Macie is enabled automatically for accounts+-- that are added to the organization.+describeOrganizationConfigurationResponse_autoEnable :: Lens.Lens' DescribeOrganizationConfigurationResponse (Prelude.Maybe Prelude.Bool)+describeOrganizationConfigurationResponse_autoEnable = Lens.lens (\DescribeOrganizationConfigurationResponse' {autoEnable} -> autoEnable) (\s@DescribeOrganizationConfigurationResponse' {} a -> s {autoEnable = a} :: DescribeOrganizationConfigurationResponse)++-- | Specifies whether the maximum number of Amazon Macie member accounts are+-- part of the organization.+describeOrganizationConfigurationResponse_maxAccountLimitReached :: Lens.Lens' DescribeOrganizationConfigurationResponse (Prelude.Maybe Prelude.Bool)+describeOrganizationConfigurationResponse_maxAccountLimitReached = Lens.lens (\DescribeOrganizationConfigurationResponse' {maxAccountLimitReached} -> maxAccountLimitReached) (\s@DescribeOrganizationConfigurationResponse' {} a -> s {maxAccountLimitReached = a} :: DescribeOrganizationConfigurationResponse)++-- | The response's http status code.+describeOrganizationConfigurationResponse_httpStatus :: Lens.Lens' DescribeOrganizationConfigurationResponse Prelude.Int+describeOrganizationConfigurationResponse_httpStatus = Lens.lens (\DescribeOrganizationConfigurationResponse' {httpStatus} -> httpStatus) (\s@DescribeOrganizationConfigurationResponse' {} a -> s {httpStatus = a} :: DescribeOrganizationConfigurationResponse)++instance+ Prelude.NFData+ DescribeOrganizationConfigurationResponse+ where+ rnf DescribeOrganizationConfigurationResponse' {..} =+ Prelude.rnf autoEnable+ `Prelude.seq` Prelude.rnf maxAccountLimitReached+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DisableMacie.hs view
@@ -0,0 +1,125 @@+{-# 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.MacieV2.DisableMacie+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disables Amazon Macie and deletes all settings and resources for a Macie+-- account.+module Amazonka.MacieV2.DisableMacie+ ( -- * Creating a Request+ DisableMacie (..),+ newDisableMacie,++ -- * Destructuring the Response+ DisableMacieResponse (..),+ newDisableMacieResponse,++ -- * Response Lenses+ disableMacieResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisableMacie' smart constructor.+data DisableMacie = DisableMacie'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisableMacie' 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.+newDisableMacie ::+ DisableMacie+newDisableMacie = DisableMacie'++instance Core.AWSRequest DisableMacie where+ type AWSResponse DisableMacie = DisableMacieResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DisableMacieResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DisableMacie where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DisableMacie where+ rnf _ = ()++instance Data.ToHeaders DisableMacie where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DisableMacie where+ toPath = Prelude.const "/macie"++instance Data.ToQuery DisableMacie where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisableMacieResponse' smart constructor.+data DisableMacieResponse = DisableMacieResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisableMacieResponse' 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', 'disableMacieResponse_httpStatus' - The response's http status code.+newDisableMacieResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisableMacieResponse+newDisableMacieResponse pHttpStatus_ =+ DisableMacieResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+disableMacieResponse_httpStatus :: Lens.Lens' DisableMacieResponse Prelude.Int+disableMacieResponse_httpStatus = Lens.lens (\DisableMacieResponse' {httpStatus} -> httpStatus) (\s@DisableMacieResponse' {} a -> s {httpStatus = a} :: DisableMacieResponse)++instance Prelude.NFData DisableMacieResponse where+ rnf DisableMacieResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DisableOrganizationAdminAccount.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.DisableOrganizationAdminAccount+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disables an account as the delegated Amazon Macie administrator account+-- for an organization in Organizations.+module Amazonka.MacieV2.DisableOrganizationAdminAccount+ ( -- * Creating a Request+ DisableOrganizationAdminAccount (..),+ newDisableOrganizationAdminAccount,++ -- * Request Lenses+ disableOrganizationAdminAccount_adminAccountId,++ -- * Destructuring the Response+ DisableOrganizationAdminAccountResponse (..),+ newDisableOrganizationAdminAccountResponse,++ -- * Response Lenses+ disableOrganizationAdminAccountResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisableOrganizationAdminAccount' smart constructor.+data DisableOrganizationAdminAccount = DisableOrganizationAdminAccount'+ { -- | The Amazon Web Services account ID of the delegated Amazon Macie+ -- administrator account.+ adminAccountId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisableOrganizationAdminAccount' 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', 'disableOrganizationAdminAccount_adminAccountId' - The Amazon Web Services account ID of the delegated Amazon Macie+-- administrator account.+newDisableOrganizationAdminAccount ::+ -- | 'adminAccountId'+ Prelude.Text ->+ DisableOrganizationAdminAccount+newDisableOrganizationAdminAccount pAdminAccountId_ =+ DisableOrganizationAdminAccount'+ { adminAccountId =+ pAdminAccountId_+ }++-- | The Amazon Web Services account ID of the delegated Amazon Macie+-- administrator account.+disableOrganizationAdminAccount_adminAccountId :: Lens.Lens' DisableOrganizationAdminAccount Prelude.Text+disableOrganizationAdminAccount_adminAccountId = Lens.lens (\DisableOrganizationAdminAccount' {adminAccountId} -> adminAccountId) (\s@DisableOrganizationAdminAccount' {} a -> s {adminAccountId = a} :: DisableOrganizationAdminAccount)++instance+ Core.AWSRequest+ DisableOrganizationAdminAccount+ where+ type+ AWSResponse DisableOrganizationAdminAccount =+ DisableOrganizationAdminAccountResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DisableOrganizationAdminAccountResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DisableOrganizationAdminAccount+ where+ hashWithSalt+ _salt+ DisableOrganizationAdminAccount' {..} =+ _salt `Prelude.hashWithSalt` adminAccountId++instance+ Prelude.NFData+ DisableOrganizationAdminAccount+ where+ rnf DisableOrganizationAdminAccount' {..} =+ Prelude.rnf adminAccountId++instance+ Data.ToHeaders+ DisableOrganizationAdminAccount+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DisableOrganizationAdminAccount where+ toPath = Prelude.const "/admin"++instance Data.ToQuery DisableOrganizationAdminAccount where+ toQuery DisableOrganizationAdminAccount' {..} =+ Prelude.mconcat+ ["adminAccountId" Data.=: adminAccountId]++-- | /See:/ 'newDisableOrganizationAdminAccountResponse' smart constructor.+data DisableOrganizationAdminAccountResponse = DisableOrganizationAdminAccountResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisableOrganizationAdminAccountResponse' 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', 'disableOrganizationAdminAccountResponse_httpStatus' - The response's http status code.+newDisableOrganizationAdminAccountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisableOrganizationAdminAccountResponse+newDisableOrganizationAdminAccountResponse+ pHttpStatus_ =+ DisableOrganizationAdminAccountResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+disableOrganizationAdminAccountResponse_httpStatus :: Lens.Lens' DisableOrganizationAdminAccountResponse Prelude.Int+disableOrganizationAdminAccountResponse_httpStatus = Lens.lens (\DisableOrganizationAdminAccountResponse' {httpStatus} -> httpStatus) (\s@DisableOrganizationAdminAccountResponse' {} a -> s {httpStatus = a} :: DisableOrganizationAdminAccountResponse)++instance+ Prelude.NFData+ DisableOrganizationAdminAccountResponse+ where+ rnf DisableOrganizationAdminAccountResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DisassociateFromAdministratorAccount.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.MacieV2.DisassociateFromAdministratorAccount+-- 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 member account from its Amazon Macie administrator+-- account.+module Amazonka.MacieV2.DisassociateFromAdministratorAccount+ ( -- * Creating a Request+ DisassociateFromAdministratorAccount (..),+ newDisassociateFromAdministratorAccount,++ -- * Destructuring the Response+ DisassociateFromAdministratorAccountResponse (..),+ newDisassociateFromAdministratorAccountResponse,++ -- * Response Lenses+ disassociateFromAdministratorAccountResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateFromAdministratorAccount' smart constructor.+data DisassociateFromAdministratorAccount = DisassociateFromAdministratorAccount'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateFromAdministratorAccount' 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.+newDisassociateFromAdministratorAccount ::+ DisassociateFromAdministratorAccount+newDisassociateFromAdministratorAccount =+ DisassociateFromAdministratorAccount'++instance+ Core.AWSRequest+ DisassociateFromAdministratorAccount+ where+ type+ AWSResponse DisassociateFromAdministratorAccount =+ DisassociateFromAdministratorAccountResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DisassociateFromAdministratorAccountResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DisassociateFromAdministratorAccount+ where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance+ Prelude.NFData+ DisassociateFromAdministratorAccount+ where+ rnf _ = ()++instance+ Data.ToHeaders+ DisassociateFromAdministratorAccount+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ DisassociateFromAdministratorAccount+ where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance+ Data.ToPath+ DisassociateFromAdministratorAccount+ where+ toPath = Prelude.const "/administrator/disassociate"++instance+ Data.ToQuery+ DisassociateFromAdministratorAccount+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateFromAdministratorAccountResponse' smart constructor.+data DisassociateFromAdministratorAccountResponse = DisassociateFromAdministratorAccountResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateFromAdministratorAccountResponse' 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', 'disassociateFromAdministratorAccountResponse_httpStatus' - The response's http status code.+newDisassociateFromAdministratorAccountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociateFromAdministratorAccountResponse+newDisassociateFromAdministratorAccountResponse+ pHttpStatus_ =+ DisassociateFromAdministratorAccountResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+disassociateFromAdministratorAccountResponse_httpStatus :: Lens.Lens' DisassociateFromAdministratorAccountResponse Prelude.Int+disassociateFromAdministratorAccountResponse_httpStatus = Lens.lens (\DisassociateFromAdministratorAccountResponse' {httpStatus} -> httpStatus) (\s@DisassociateFromAdministratorAccountResponse' {} a -> s {httpStatus = a} :: DisassociateFromAdministratorAccountResponse)++instance+ Prelude.NFData+ DisassociateFromAdministratorAccountResponse+ where+ rnf DisassociateFromAdministratorAccountResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DisassociateFromMasterAccount.hs view
@@ -0,0 +1,144 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.DisassociateFromMasterAccount+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- (Deprecated) Disassociates a member account from its Amazon Macie+-- administrator account. This operation has been replaced by the+-- DisassociateFromAdministratorAccount operation.+module Amazonka.MacieV2.DisassociateFromMasterAccount+ ( -- * Creating a Request+ DisassociateFromMasterAccount (..),+ newDisassociateFromMasterAccount,++ -- * Destructuring the Response+ DisassociateFromMasterAccountResponse (..),+ newDisassociateFromMasterAccountResponse,++ -- * Response Lenses+ disassociateFromMasterAccountResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateFromMasterAccount' smart constructor.+data DisassociateFromMasterAccount = DisassociateFromMasterAccount'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateFromMasterAccount' 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.+newDisassociateFromMasterAccount ::+ DisassociateFromMasterAccount+newDisassociateFromMasterAccount =+ DisassociateFromMasterAccount'++instance+ Core.AWSRequest+ DisassociateFromMasterAccount+ where+ type+ AWSResponse DisassociateFromMasterAccount =+ DisassociateFromMasterAccountResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DisassociateFromMasterAccountResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ DisassociateFromMasterAccount+ where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DisassociateFromMasterAccount where+ rnf _ = ()++instance Data.ToHeaders DisassociateFromMasterAccount where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DisassociateFromMasterAccount where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath DisassociateFromMasterAccount where+ toPath = Prelude.const "/master/disassociate"++instance Data.ToQuery DisassociateFromMasterAccount where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateFromMasterAccountResponse' smart constructor.+data DisassociateFromMasterAccountResponse = DisassociateFromMasterAccountResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateFromMasterAccountResponse' 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', 'disassociateFromMasterAccountResponse_httpStatus' - The response's http status code.+newDisassociateFromMasterAccountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociateFromMasterAccountResponse+newDisassociateFromMasterAccountResponse pHttpStatus_ =+ DisassociateFromMasterAccountResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+disassociateFromMasterAccountResponse_httpStatus :: Lens.Lens' DisassociateFromMasterAccountResponse Prelude.Int+disassociateFromMasterAccountResponse_httpStatus = Lens.lens (\DisassociateFromMasterAccountResponse' {httpStatus} -> httpStatus) (\s@DisassociateFromMasterAccountResponse' {} a -> s {httpStatus = a} :: DisassociateFromMasterAccountResponse)++instance+ Prelude.NFData+ DisassociateFromMasterAccountResponse+ where+ rnf DisassociateFromMasterAccountResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/DisassociateMember.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.MacieV2.DisassociateMember+-- 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 Amazon Macie administrator account from a member+-- account.+module Amazonka.MacieV2.DisassociateMember+ ( -- * Creating a Request+ DisassociateMember (..),+ newDisassociateMember,++ -- * Request Lenses+ disassociateMember_id,++ -- * Destructuring the Response+ DisassociateMemberResponse (..),+ newDisassociateMemberResponse,++ -- * Response Lenses+ disassociateMemberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateMember' smart constructor.+data DisassociateMember = DisassociateMember'+ { -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateMember' 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', 'disassociateMember_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newDisassociateMember ::+ -- | 'id'+ Prelude.Text ->+ DisassociateMember+newDisassociateMember pId_ =+ DisassociateMember' {id = pId_}++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+disassociateMember_id :: Lens.Lens' DisassociateMember Prelude.Text+disassociateMember_id = Lens.lens (\DisassociateMember' {id} -> id) (\s@DisassociateMember' {} a -> s {id = a} :: DisassociateMember)++instance Core.AWSRequest DisassociateMember where+ type+ AWSResponse DisassociateMember =+ DisassociateMemberResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DisassociateMemberResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DisassociateMember where+ hashWithSalt _salt DisassociateMember' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DisassociateMember where+ rnf DisassociateMember' {..} = Prelude.rnf id++instance Data.ToHeaders DisassociateMember where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON DisassociateMember where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath DisassociateMember where+ toPath DisassociateMember' {..} =+ Prelude.mconcat+ ["/members/disassociate/", Data.toBS id]++instance Data.ToQuery DisassociateMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateMemberResponse' smart constructor.+data DisassociateMemberResponse = DisassociateMemberResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateMemberResponse' 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', 'disassociateMemberResponse_httpStatus' - The response's http status code.+newDisassociateMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DisassociateMemberResponse+newDisassociateMemberResponse pHttpStatus_ =+ DisassociateMemberResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+disassociateMemberResponse_httpStatus :: Lens.Lens' DisassociateMemberResponse Prelude.Int+disassociateMemberResponse_httpStatus = Lens.lens (\DisassociateMemberResponse' {httpStatus} -> httpStatus) (\s@DisassociateMemberResponse' {} a -> s {httpStatus = a} :: DisassociateMemberResponse)++instance Prelude.NFData DisassociateMemberResponse where+ rnf DisassociateMemberResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/EnableMacie.hs view
@@ -0,0 +1,189 @@+{-# 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.MacieV2.EnableMacie+-- 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 Amazon Macie and specifies the configuration settings for a+-- Macie account.+module Amazonka.MacieV2.EnableMacie+ ( -- * Creating a Request+ EnableMacie (..),+ newEnableMacie,++ -- * Request Lenses+ enableMacie_clientToken,+ enableMacie_findingPublishingFrequency,+ enableMacie_status,++ -- * Destructuring the Response+ EnableMacieResponse (..),+ newEnableMacieResponse,++ -- * Response Lenses+ enableMacieResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newEnableMacie' smart constructor.+data EnableMacie = EnableMacie'+ { -- | A unique, case-sensitive token that you provide to ensure the+ -- idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | Specifies how often to publish updates to policy findings for the+ -- account. This includes publishing updates to Security Hub and Amazon+ -- EventBridge (formerly Amazon CloudWatch Events).+ findingPublishingFrequency :: Prelude.Maybe FindingPublishingFrequency,+ -- | Specifies the new status for the account. To enable Amazon Macie and+ -- start all Macie activities for the account, set this value to ENABLED.+ status :: Prelude.Maybe MacieStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EnableMacie' 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:+--+-- 'clientToken', 'enableMacie_clientToken' - A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+--+-- 'findingPublishingFrequency', 'enableMacie_findingPublishingFrequency' - Specifies how often to publish updates to policy findings for the+-- account. This includes publishing updates to Security Hub and Amazon+-- EventBridge (formerly Amazon CloudWatch Events).+--+-- 'status', 'enableMacie_status' - Specifies the new status for the account. To enable Amazon Macie and+-- start all Macie activities for the account, set this value to ENABLED.+newEnableMacie ::+ EnableMacie+newEnableMacie =+ EnableMacie'+ { clientToken = Prelude.Nothing,+ findingPublishingFrequency = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+enableMacie_clientToken :: Lens.Lens' EnableMacie (Prelude.Maybe Prelude.Text)+enableMacie_clientToken = Lens.lens (\EnableMacie' {clientToken} -> clientToken) (\s@EnableMacie' {} a -> s {clientToken = a} :: EnableMacie)++-- | Specifies how often to publish updates to policy findings for the+-- account. This includes publishing updates to Security Hub and Amazon+-- EventBridge (formerly Amazon CloudWatch Events).+enableMacie_findingPublishingFrequency :: Lens.Lens' EnableMacie (Prelude.Maybe FindingPublishingFrequency)+enableMacie_findingPublishingFrequency = Lens.lens (\EnableMacie' {findingPublishingFrequency} -> findingPublishingFrequency) (\s@EnableMacie' {} a -> s {findingPublishingFrequency = a} :: EnableMacie)++-- | Specifies the new status for the account. To enable Amazon Macie and+-- start all Macie activities for the account, set this value to ENABLED.+enableMacie_status :: Lens.Lens' EnableMacie (Prelude.Maybe MacieStatus)+enableMacie_status = Lens.lens (\EnableMacie' {status} -> status) (\s@EnableMacie' {} a -> s {status = a} :: EnableMacie)++instance Core.AWSRequest EnableMacie where+ type AWSResponse EnableMacie = EnableMacieResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ EnableMacieResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable EnableMacie where+ hashWithSalt _salt EnableMacie' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` findingPublishingFrequency+ `Prelude.hashWithSalt` status++instance Prelude.NFData EnableMacie where+ rnf EnableMacie' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf findingPublishingFrequency+ `Prelude.seq` Prelude.rnf status++instance Data.ToHeaders EnableMacie where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON EnableMacie where+ toJSON EnableMacie' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("findingPublishingFrequency" Data..=)+ Prelude.<$> findingPublishingFrequency,+ ("status" Data..=) Prelude.<$> status+ ]+ )++instance Data.ToPath EnableMacie where+ toPath = Prelude.const "/macie"++instance Data.ToQuery EnableMacie where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newEnableMacieResponse' smart constructor.+data EnableMacieResponse = EnableMacieResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EnableMacieResponse' 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', 'enableMacieResponse_httpStatus' - The response's http status code.+newEnableMacieResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ EnableMacieResponse+newEnableMacieResponse pHttpStatus_ =+ EnableMacieResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+enableMacieResponse_httpStatus :: Lens.Lens' EnableMacieResponse Prelude.Int+enableMacieResponse_httpStatus = Lens.lens (\EnableMacieResponse' {httpStatus} -> httpStatus) (\s@EnableMacieResponse' {} a -> s {httpStatus = a} :: EnableMacieResponse)++instance Prelude.NFData EnableMacieResponse where+ rnf EnableMacieResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/EnableOrganizationAdminAccount.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.MacieV2.EnableOrganizationAdminAccount+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Designates an account as the delegated Amazon Macie administrator+-- account for an organization in Organizations.+module Amazonka.MacieV2.EnableOrganizationAdminAccount+ ( -- * Creating a Request+ EnableOrganizationAdminAccount (..),+ newEnableOrganizationAdminAccount,++ -- * Request Lenses+ enableOrganizationAdminAccount_clientToken,+ enableOrganizationAdminAccount_adminAccountId,++ -- * Destructuring the Response+ EnableOrganizationAdminAccountResponse (..),+ newEnableOrganizationAdminAccountResponse,++ -- * Response Lenses+ enableOrganizationAdminAccountResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newEnableOrganizationAdminAccount' smart constructor.+data EnableOrganizationAdminAccount = EnableOrganizationAdminAccount'+ { -- | A unique, case-sensitive token that you provide to ensure the+ -- idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services account ID for the account to designate as the+ -- delegated Amazon Macie administrator account for the organization.+ adminAccountId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EnableOrganizationAdminAccount' 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:+--+-- 'clientToken', 'enableOrganizationAdminAccount_clientToken' - A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+--+-- 'adminAccountId', 'enableOrganizationAdminAccount_adminAccountId' - The Amazon Web Services account ID for the account to designate as the+-- delegated Amazon Macie administrator account for the organization.+newEnableOrganizationAdminAccount ::+ -- | 'adminAccountId'+ Prelude.Text ->+ EnableOrganizationAdminAccount+newEnableOrganizationAdminAccount pAdminAccountId_ =+ EnableOrganizationAdminAccount'+ { clientToken =+ Prelude.Nothing,+ adminAccountId = pAdminAccountId_+ }++-- | A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+enableOrganizationAdminAccount_clientToken :: Lens.Lens' EnableOrganizationAdminAccount (Prelude.Maybe Prelude.Text)+enableOrganizationAdminAccount_clientToken = Lens.lens (\EnableOrganizationAdminAccount' {clientToken} -> clientToken) (\s@EnableOrganizationAdminAccount' {} a -> s {clientToken = a} :: EnableOrganizationAdminAccount)++-- | The Amazon Web Services account ID for the account to designate as the+-- delegated Amazon Macie administrator account for the organization.+enableOrganizationAdminAccount_adminAccountId :: Lens.Lens' EnableOrganizationAdminAccount Prelude.Text+enableOrganizationAdminAccount_adminAccountId = Lens.lens (\EnableOrganizationAdminAccount' {adminAccountId} -> adminAccountId) (\s@EnableOrganizationAdminAccount' {} a -> s {adminAccountId = a} :: EnableOrganizationAdminAccount)++instance+ Core.AWSRequest+ EnableOrganizationAdminAccount+ where+ type+ AWSResponse EnableOrganizationAdminAccount =+ EnableOrganizationAdminAccountResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ EnableOrganizationAdminAccountResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ EnableOrganizationAdminAccount+ where+ hashWithSalt+ _salt+ EnableOrganizationAdminAccount' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` adminAccountId++instance+ Prelude.NFData+ EnableOrganizationAdminAccount+ where+ rnf EnableOrganizationAdminAccount' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf adminAccountId++instance+ Data.ToHeaders+ EnableOrganizationAdminAccount+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON EnableOrganizationAdminAccount where+ toJSON EnableOrganizationAdminAccount' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ Prelude.Just+ ("adminAccountId" Data..= adminAccountId)+ ]+ )++instance Data.ToPath EnableOrganizationAdminAccount where+ toPath = Prelude.const "/admin"++instance Data.ToQuery EnableOrganizationAdminAccount where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newEnableOrganizationAdminAccountResponse' smart constructor.+data EnableOrganizationAdminAccountResponse = EnableOrganizationAdminAccountResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EnableOrganizationAdminAccountResponse' 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', 'enableOrganizationAdminAccountResponse_httpStatus' - The response's http status code.+newEnableOrganizationAdminAccountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ EnableOrganizationAdminAccountResponse+newEnableOrganizationAdminAccountResponse+ pHttpStatus_ =+ EnableOrganizationAdminAccountResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+enableOrganizationAdminAccountResponse_httpStatus :: Lens.Lens' EnableOrganizationAdminAccountResponse Prelude.Int+enableOrganizationAdminAccountResponse_httpStatus = Lens.lens (\EnableOrganizationAdminAccountResponse' {httpStatus} -> httpStatus) (\s@EnableOrganizationAdminAccountResponse' {} a -> s {httpStatus = a} :: EnableOrganizationAdminAccountResponse)++instance+ Prelude.NFData+ EnableOrganizationAdminAccountResponse+ where+ rnf EnableOrganizationAdminAccountResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetAdministratorAccount.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.MacieV2.GetAdministratorAccount+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about the Amazon Macie administrator account for+-- an account.+module Amazonka.MacieV2.GetAdministratorAccount+ ( -- * Creating a Request+ GetAdministratorAccount (..),+ newGetAdministratorAccount,++ -- * Destructuring the Response+ GetAdministratorAccountResponse (..),+ newGetAdministratorAccountResponse,++ -- * Response Lenses+ getAdministratorAccountResponse_administrator,+ getAdministratorAccountResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAdministratorAccount' smart constructor.+data GetAdministratorAccount = GetAdministratorAccount'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAdministratorAccount' 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.+newGetAdministratorAccount ::+ GetAdministratorAccount+newGetAdministratorAccount = GetAdministratorAccount'++instance Core.AWSRequest GetAdministratorAccount where+ type+ AWSResponse GetAdministratorAccount =+ GetAdministratorAccountResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAdministratorAccountResponse'+ Prelude.<$> (x Data..?> "administrator")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetAdministratorAccount where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetAdministratorAccount where+ rnf _ = ()++instance Data.ToHeaders GetAdministratorAccount where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetAdministratorAccount where+ toPath = Prelude.const "/administrator"++instance Data.ToQuery GetAdministratorAccount where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAdministratorAccountResponse' smart constructor.+data GetAdministratorAccountResponse = GetAdministratorAccountResponse'+ { -- | The Amazon Web Services account ID for the administrator account. If the+ -- accounts are associated by an Amazon Macie membership invitation, this+ -- object also provides details about the invitation that was sent to+ -- establish the relationship between the accounts.+ administrator :: Prelude.Maybe Invitation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAdministratorAccountResponse' 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:+--+-- 'administrator', 'getAdministratorAccountResponse_administrator' - The Amazon Web Services account ID for the administrator account. If the+-- accounts are associated by an Amazon Macie membership invitation, this+-- object also provides details about the invitation that was sent to+-- establish the relationship between the accounts.+--+-- 'httpStatus', 'getAdministratorAccountResponse_httpStatus' - The response's http status code.+newGetAdministratorAccountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAdministratorAccountResponse+newGetAdministratorAccountResponse pHttpStatus_ =+ GetAdministratorAccountResponse'+ { administrator =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Web Services account ID for the administrator account. If the+-- accounts are associated by an Amazon Macie membership invitation, this+-- object also provides details about the invitation that was sent to+-- establish the relationship between the accounts.+getAdministratorAccountResponse_administrator :: Lens.Lens' GetAdministratorAccountResponse (Prelude.Maybe Invitation)+getAdministratorAccountResponse_administrator = Lens.lens (\GetAdministratorAccountResponse' {administrator} -> administrator) (\s@GetAdministratorAccountResponse' {} a -> s {administrator = a} :: GetAdministratorAccountResponse)++-- | The response's http status code.+getAdministratorAccountResponse_httpStatus :: Lens.Lens' GetAdministratorAccountResponse Prelude.Int+getAdministratorAccountResponse_httpStatus = Lens.lens (\GetAdministratorAccountResponse' {httpStatus} -> httpStatus) (\s@GetAdministratorAccountResponse' {} a -> s {httpStatus = a} :: GetAdministratorAccountResponse)++instance+ Prelude.NFData+ GetAdministratorAccountResponse+ where+ rnf GetAdministratorAccountResponse' {..} =+ Prelude.rnf administrator+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetAllowList.hs view
@@ -0,0 +1,274 @@+{-# 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.MacieV2.GetAllowList+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the settings and status of an allow list.+module Amazonka.MacieV2.GetAllowList+ ( -- * Creating a Request+ GetAllowList (..),+ newGetAllowList,++ -- * Request Lenses+ getAllowList_id,++ -- * Destructuring the Response+ GetAllowListResponse (..),+ newGetAllowListResponse,++ -- * Response Lenses+ getAllowListResponse_arn,+ getAllowListResponse_createdAt,+ getAllowListResponse_criteria,+ getAllowListResponse_description,+ getAllowListResponse_id,+ getAllowListResponse_name,+ getAllowListResponse_status,+ getAllowListResponse_tags,+ getAllowListResponse_updatedAt,+ getAllowListResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAllowList' smart constructor.+data GetAllowList = GetAllowList'+ { -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAllowList' 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', 'getAllowList_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newGetAllowList ::+ -- | 'id'+ Prelude.Text ->+ GetAllowList+newGetAllowList pId_ = GetAllowList' {id = pId_}++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+getAllowList_id :: Lens.Lens' GetAllowList Prelude.Text+getAllowList_id = Lens.lens (\GetAllowList' {id} -> id) (\s@GetAllowList' {} a -> s {id = a} :: GetAllowList)++instance Core.AWSRequest GetAllowList where+ type AWSResponse GetAllowList = GetAllowListResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAllowListResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "createdAt")+ Prelude.<*> (x Data..?> "criteria")+ Prelude.<*> (x Data..?> "description")+ Prelude.<*> (x Data..?> "id")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "updatedAt")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetAllowList where+ hashWithSalt _salt GetAllowList' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetAllowList where+ rnf GetAllowList' {..} = Prelude.rnf id++instance Data.ToHeaders GetAllowList where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetAllowList where+ toPath GetAllowList' {..} =+ Prelude.mconcat ["/allow-lists/", Data.toBS id]++instance Data.ToQuery GetAllowList where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAllowListResponse' smart constructor.+data GetAllowListResponse = GetAllowListResponse'+ { -- | The Amazon Resource Name (ARN) of the allow list.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when the allow+ -- list was created in Amazon Macie.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The criteria that specify the text or text pattern to ignore. The+ -- criteria can be the location and name of an S3 object that lists+ -- specific text to ignore (s3WordsList), or a regular expression (regex)+ -- that defines a text pattern to ignore.+ criteria :: Prelude.Maybe AllowListCriteria,+ -- | The custom description of the allow list.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the allow list.+ id :: Prelude.Maybe Prelude.Text,+ -- | The custom name of the allow list.+ name :: Prelude.Maybe Prelude.Text,+ -- | The current status of the allow list, which indicates whether Amazon+ -- Macie can access and use the list\'s criteria.+ status :: Prelude.Maybe AllowListStatus,+ -- | A map of key-value pairs that specifies which tags (keys and values) are+ -- associated with the allow list.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The date and time, in UTC and extended ISO 8601 format, when the allow+ -- list\'s settings were most recently changed in Amazon Macie.+ updatedAt :: Prelude.Maybe Data.ISO8601,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAllowListResponse' 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', 'getAllowListResponse_arn' - The Amazon Resource Name (ARN) of the allow list.+--+-- 'createdAt', 'getAllowListResponse_createdAt' - The date and time, in UTC and extended ISO 8601 format, when the allow+-- list was created in Amazon Macie.+--+-- 'criteria', 'getAllowListResponse_criteria' - The criteria that specify the text or text pattern to ignore. The+-- criteria can be the location and name of an S3 object that lists+-- specific text to ignore (s3WordsList), or a regular expression (regex)+-- that defines a text pattern to ignore.+--+-- 'description', 'getAllowListResponse_description' - The custom description of the allow list.+--+-- 'id', 'getAllowListResponse_id' - The unique identifier for the allow list.+--+-- 'name', 'getAllowListResponse_name' - The custom name of the allow list.+--+-- 'status', 'getAllowListResponse_status' - The current status of the allow list, which indicates whether Amazon+-- Macie can access and use the list\'s criteria.+--+-- 'tags', 'getAllowListResponse_tags' - A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the allow list.+--+-- 'updatedAt', 'getAllowListResponse_updatedAt' - The date and time, in UTC and extended ISO 8601 format, when the allow+-- list\'s settings were most recently changed in Amazon Macie.+--+-- 'httpStatus', 'getAllowListResponse_httpStatus' - The response's http status code.+newGetAllowListResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAllowListResponse+newGetAllowListResponse pHttpStatus_ =+ GetAllowListResponse'+ { arn = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ criteria = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ status = Prelude.Nothing,+ tags = Prelude.Nothing,+ updatedAt = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the allow list.+getAllowListResponse_arn :: Lens.Lens' GetAllowListResponse (Prelude.Maybe Prelude.Text)+getAllowListResponse_arn = Lens.lens (\GetAllowListResponse' {arn} -> arn) (\s@GetAllowListResponse' {} a -> s {arn = a} :: GetAllowListResponse)++-- | The date and time, in UTC and extended ISO 8601 format, when the allow+-- list was created in Amazon Macie.+getAllowListResponse_createdAt :: Lens.Lens' GetAllowListResponse (Prelude.Maybe Prelude.UTCTime)+getAllowListResponse_createdAt = Lens.lens (\GetAllowListResponse' {createdAt} -> createdAt) (\s@GetAllowListResponse' {} a -> s {createdAt = a} :: GetAllowListResponse) Prelude.. Lens.mapping Data._Time++-- | The criteria that specify the text or text pattern to ignore. The+-- criteria can be the location and name of an S3 object that lists+-- specific text to ignore (s3WordsList), or a regular expression (regex)+-- that defines a text pattern to ignore.+getAllowListResponse_criteria :: Lens.Lens' GetAllowListResponse (Prelude.Maybe AllowListCriteria)+getAllowListResponse_criteria = Lens.lens (\GetAllowListResponse' {criteria} -> criteria) (\s@GetAllowListResponse' {} a -> s {criteria = a} :: GetAllowListResponse)++-- | The custom description of the allow list.+getAllowListResponse_description :: Lens.Lens' GetAllowListResponse (Prelude.Maybe Prelude.Text)+getAllowListResponse_description = Lens.lens (\GetAllowListResponse' {description} -> description) (\s@GetAllowListResponse' {} a -> s {description = a} :: GetAllowListResponse)++-- | The unique identifier for the allow list.+getAllowListResponse_id :: Lens.Lens' GetAllowListResponse (Prelude.Maybe Prelude.Text)+getAllowListResponse_id = Lens.lens (\GetAllowListResponse' {id} -> id) (\s@GetAllowListResponse' {} a -> s {id = a} :: GetAllowListResponse)++-- | The custom name of the allow list.+getAllowListResponse_name :: Lens.Lens' GetAllowListResponse (Prelude.Maybe Prelude.Text)+getAllowListResponse_name = Lens.lens (\GetAllowListResponse' {name} -> name) (\s@GetAllowListResponse' {} a -> s {name = a} :: GetAllowListResponse)++-- | The current status of the allow list, which indicates whether Amazon+-- Macie can access and use the list\'s criteria.+getAllowListResponse_status :: Lens.Lens' GetAllowListResponse (Prelude.Maybe AllowListStatus)+getAllowListResponse_status = Lens.lens (\GetAllowListResponse' {status} -> status) (\s@GetAllowListResponse' {} a -> s {status = a} :: GetAllowListResponse)++-- | A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the allow list.+getAllowListResponse_tags :: Lens.Lens' GetAllowListResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getAllowListResponse_tags = Lens.lens (\GetAllowListResponse' {tags} -> tags) (\s@GetAllowListResponse' {} a -> s {tags = a} :: GetAllowListResponse) Prelude.. Lens.mapping Lens.coerced++-- | The date and time, in UTC and extended ISO 8601 format, when the allow+-- list\'s settings were most recently changed in Amazon Macie.+getAllowListResponse_updatedAt :: Lens.Lens' GetAllowListResponse (Prelude.Maybe Prelude.UTCTime)+getAllowListResponse_updatedAt = Lens.lens (\GetAllowListResponse' {updatedAt} -> updatedAt) (\s@GetAllowListResponse' {} a -> s {updatedAt = a} :: GetAllowListResponse) Prelude.. Lens.mapping Data._Time++-- | The response's http status code.+getAllowListResponse_httpStatus :: Lens.Lens' GetAllowListResponse Prelude.Int+getAllowListResponse_httpStatus = Lens.lens (\GetAllowListResponse' {httpStatus} -> httpStatus) (\s@GetAllowListResponse' {} a -> s {httpStatus = a} :: GetAllowListResponse)++instance Prelude.NFData GetAllowListResponse where+ rnf GetAllowListResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf criteria+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf updatedAt+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetAutomatedDiscoveryConfiguration.hs view
@@ -0,0 +1,282 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.GetAutomatedDiscoveryConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the configuration settings and status of automated sensitive+-- data discovery for an account.+module Amazonka.MacieV2.GetAutomatedDiscoveryConfiguration+ ( -- * Creating a Request+ GetAutomatedDiscoveryConfiguration (..),+ newGetAutomatedDiscoveryConfiguration,++ -- * Destructuring the Response+ GetAutomatedDiscoveryConfigurationResponse (..),+ newGetAutomatedDiscoveryConfigurationResponse,++ -- * Response Lenses+ getAutomatedDiscoveryConfigurationResponse_classificationScopeId,+ getAutomatedDiscoveryConfigurationResponse_disabledAt,+ getAutomatedDiscoveryConfigurationResponse_firstEnabledAt,+ getAutomatedDiscoveryConfigurationResponse_lastUpdatedAt,+ getAutomatedDiscoveryConfigurationResponse_sensitivityInspectionTemplateId,+ getAutomatedDiscoveryConfigurationResponse_status,+ getAutomatedDiscoveryConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetAutomatedDiscoveryConfiguration' smart constructor.+data GetAutomatedDiscoveryConfiguration = GetAutomatedDiscoveryConfiguration'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAutomatedDiscoveryConfiguration' 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.+newGetAutomatedDiscoveryConfiguration ::+ GetAutomatedDiscoveryConfiguration+newGetAutomatedDiscoveryConfiguration =+ GetAutomatedDiscoveryConfiguration'++instance+ Core.AWSRequest+ GetAutomatedDiscoveryConfiguration+ where+ type+ AWSResponse GetAutomatedDiscoveryConfiguration =+ GetAutomatedDiscoveryConfigurationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetAutomatedDiscoveryConfigurationResponse'+ Prelude.<$> (x Data..?> "classificationScopeId")+ Prelude.<*> (x Data..?> "disabledAt")+ Prelude.<*> (x Data..?> "firstEnabledAt")+ Prelude.<*> (x Data..?> "lastUpdatedAt")+ Prelude.<*> (x Data..?> "sensitivityInspectionTemplateId")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetAutomatedDiscoveryConfiguration+ where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance+ Prelude.NFData+ GetAutomatedDiscoveryConfiguration+ where+ rnf _ = ()++instance+ Data.ToHeaders+ GetAutomatedDiscoveryConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ GetAutomatedDiscoveryConfiguration+ where+ toPath =+ Prelude.const "/automated-discovery/configuration"++instance+ Data.ToQuery+ GetAutomatedDiscoveryConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetAutomatedDiscoveryConfigurationResponse' smart constructor.+data GetAutomatedDiscoveryConfigurationResponse = GetAutomatedDiscoveryConfigurationResponse'+ { -- | The unique identifier for the classification scope that\'s used when+ -- performing automated sensitive data discovery for the account. The+ -- classification scope specifies S3 buckets to exclude from automated+ -- sensitive data discovery.+ classificationScopeId :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when automated+ -- sensitive data discovery was most recently disabled for the account.+ -- This value is null if automated sensitive data discovery wasn\'t enabled+ -- and subsequently disabled for the account.+ disabledAt :: Prelude.Maybe Data.ISO8601,+ -- | The date and time, in UTC and extended ISO 8601 format, when automated+ -- sensitive data discovery was initially enabled for the account. This+ -- value is null if automated sensitive data discovery has never been+ -- enabled for the account.+ firstEnabledAt :: Prelude.Maybe Data.ISO8601,+ -- | The date and time, in UTC and extended ISO 8601 format, when automated+ -- sensitive data discovery was most recently enabled or disabled for the+ -- account.+ lastUpdatedAt :: Prelude.Maybe Data.ISO8601,+ -- | The unique identifier for the sensitivity inspection template that\'s+ -- used when performing automated sensitive data discovery for the account.+ -- The template specifies which allow lists, custom data identifiers, and+ -- managed data identifiers to use when analyzing data.+ sensitivityInspectionTemplateId :: Prelude.Maybe Prelude.Text,+ -- | The current status of the automated sensitive data discovery+ -- configuration for the account. Possible values are: ENABLED, use the+ -- specified settings to perform automated sensitive data discovery+ -- activities for the account; and, DISABLED, don\'t perform automated+ -- sensitive data discovery activities for the account.+ status :: Prelude.Maybe AutomatedDiscoveryStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetAutomatedDiscoveryConfigurationResponse' 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:+--+-- 'classificationScopeId', 'getAutomatedDiscoveryConfigurationResponse_classificationScopeId' - The unique identifier for the classification scope that\'s used when+-- performing automated sensitive data discovery for the account. The+-- classification scope specifies S3 buckets to exclude from automated+-- sensitive data discovery.+--+-- 'disabledAt', 'getAutomatedDiscoveryConfigurationResponse_disabledAt' - The date and time, in UTC and extended ISO 8601 format, when automated+-- sensitive data discovery was most recently disabled for the account.+-- This value is null if automated sensitive data discovery wasn\'t enabled+-- and subsequently disabled for the account.+--+-- 'firstEnabledAt', 'getAutomatedDiscoveryConfigurationResponse_firstEnabledAt' - The date and time, in UTC and extended ISO 8601 format, when automated+-- sensitive data discovery was initially enabled for the account. This+-- value is null if automated sensitive data discovery has never been+-- enabled for the account.+--+-- 'lastUpdatedAt', 'getAutomatedDiscoveryConfigurationResponse_lastUpdatedAt' - The date and time, in UTC and extended ISO 8601 format, when automated+-- sensitive data discovery was most recently enabled or disabled for the+-- account.+--+-- 'sensitivityInspectionTemplateId', 'getAutomatedDiscoveryConfigurationResponse_sensitivityInspectionTemplateId' - The unique identifier for the sensitivity inspection template that\'s+-- used when performing automated sensitive data discovery for the account.+-- The template specifies which allow lists, custom data identifiers, and+-- managed data identifiers to use when analyzing data.+--+-- 'status', 'getAutomatedDiscoveryConfigurationResponse_status' - The current status of the automated sensitive data discovery+-- configuration for the account. Possible values are: ENABLED, use the+-- specified settings to perform automated sensitive data discovery+-- activities for the account; and, DISABLED, don\'t perform automated+-- sensitive data discovery activities for the account.+--+-- 'httpStatus', 'getAutomatedDiscoveryConfigurationResponse_httpStatus' - The response's http status code.+newGetAutomatedDiscoveryConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetAutomatedDiscoveryConfigurationResponse+newGetAutomatedDiscoveryConfigurationResponse+ pHttpStatus_ =+ GetAutomatedDiscoveryConfigurationResponse'+ { classificationScopeId =+ Prelude.Nothing,+ disabledAt = Prelude.Nothing,+ firstEnabledAt =+ Prelude.Nothing,+ lastUpdatedAt = Prelude.Nothing,+ sensitivityInspectionTemplateId =+ Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the classification scope that\'s used when+-- performing automated sensitive data discovery for the account. The+-- classification scope specifies S3 buckets to exclude from automated+-- sensitive data discovery.+getAutomatedDiscoveryConfigurationResponse_classificationScopeId :: Lens.Lens' GetAutomatedDiscoveryConfigurationResponse (Prelude.Maybe Prelude.Text)+getAutomatedDiscoveryConfigurationResponse_classificationScopeId = Lens.lens (\GetAutomatedDiscoveryConfigurationResponse' {classificationScopeId} -> classificationScopeId) (\s@GetAutomatedDiscoveryConfigurationResponse' {} a -> s {classificationScopeId = a} :: GetAutomatedDiscoveryConfigurationResponse)++-- | The date and time, in UTC and extended ISO 8601 format, when automated+-- sensitive data discovery was most recently disabled for the account.+-- This value is null if automated sensitive data discovery wasn\'t enabled+-- and subsequently disabled for the account.+getAutomatedDiscoveryConfigurationResponse_disabledAt :: Lens.Lens' GetAutomatedDiscoveryConfigurationResponse (Prelude.Maybe Prelude.UTCTime)+getAutomatedDiscoveryConfigurationResponse_disabledAt = Lens.lens (\GetAutomatedDiscoveryConfigurationResponse' {disabledAt} -> disabledAt) (\s@GetAutomatedDiscoveryConfigurationResponse' {} a -> s {disabledAt = a} :: GetAutomatedDiscoveryConfigurationResponse) Prelude.. Lens.mapping Data._Time++-- | The date and time, in UTC and extended ISO 8601 format, when automated+-- sensitive data discovery was initially enabled for the account. This+-- value is null if automated sensitive data discovery has never been+-- enabled for the account.+getAutomatedDiscoveryConfigurationResponse_firstEnabledAt :: Lens.Lens' GetAutomatedDiscoveryConfigurationResponse (Prelude.Maybe Prelude.UTCTime)+getAutomatedDiscoveryConfigurationResponse_firstEnabledAt = Lens.lens (\GetAutomatedDiscoveryConfigurationResponse' {firstEnabledAt} -> firstEnabledAt) (\s@GetAutomatedDiscoveryConfigurationResponse' {} a -> s {firstEnabledAt = a} :: GetAutomatedDiscoveryConfigurationResponse) Prelude.. Lens.mapping Data._Time++-- | The date and time, in UTC and extended ISO 8601 format, when automated+-- sensitive data discovery was most recently enabled or disabled for the+-- account.+getAutomatedDiscoveryConfigurationResponse_lastUpdatedAt :: Lens.Lens' GetAutomatedDiscoveryConfigurationResponse (Prelude.Maybe Prelude.UTCTime)+getAutomatedDiscoveryConfigurationResponse_lastUpdatedAt = Lens.lens (\GetAutomatedDiscoveryConfigurationResponse' {lastUpdatedAt} -> lastUpdatedAt) (\s@GetAutomatedDiscoveryConfigurationResponse' {} a -> s {lastUpdatedAt = a} :: GetAutomatedDiscoveryConfigurationResponse) Prelude.. Lens.mapping Data._Time++-- | The unique identifier for the sensitivity inspection template that\'s+-- used when performing automated sensitive data discovery for the account.+-- The template specifies which allow lists, custom data identifiers, and+-- managed data identifiers to use when analyzing data.+getAutomatedDiscoveryConfigurationResponse_sensitivityInspectionTemplateId :: Lens.Lens' GetAutomatedDiscoveryConfigurationResponse (Prelude.Maybe Prelude.Text)+getAutomatedDiscoveryConfigurationResponse_sensitivityInspectionTemplateId = Lens.lens (\GetAutomatedDiscoveryConfigurationResponse' {sensitivityInspectionTemplateId} -> sensitivityInspectionTemplateId) (\s@GetAutomatedDiscoveryConfigurationResponse' {} a -> s {sensitivityInspectionTemplateId = a} :: GetAutomatedDiscoveryConfigurationResponse)++-- | The current status of the automated sensitive data discovery+-- configuration for the account. Possible values are: ENABLED, use the+-- specified settings to perform automated sensitive data discovery+-- activities for the account; and, DISABLED, don\'t perform automated+-- sensitive data discovery activities for the account.+getAutomatedDiscoveryConfigurationResponse_status :: Lens.Lens' GetAutomatedDiscoveryConfigurationResponse (Prelude.Maybe AutomatedDiscoveryStatus)+getAutomatedDiscoveryConfigurationResponse_status = Lens.lens (\GetAutomatedDiscoveryConfigurationResponse' {status} -> status) (\s@GetAutomatedDiscoveryConfigurationResponse' {} a -> s {status = a} :: GetAutomatedDiscoveryConfigurationResponse)++-- | The response's http status code.+getAutomatedDiscoveryConfigurationResponse_httpStatus :: Lens.Lens' GetAutomatedDiscoveryConfigurationResponse Prelude.Int+getAutomatedDiscoveryConfigurationResponse_httpStatus = Lens.lens (\GetAutomatedDiscoveryConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetAutomatedDiscoveryConfigurationResponse' {} a -> s {httpStatus = a} :: GetAutomatedDiscoveryConfigurationResponse)++instance+ Prelude.NFData+ GetAutomatedDiscoveryConfigurationResponse+ where+ rnf GetAutomatedDiscoveryConfigurationResponse' {..} =+ Prelude.rnf classificationScopeId+ `Prelude.seq` Prelude.rnf disabledAt+ `Prelude.seq` Prelude.rnf firstEnabledAt+ `Prelude.seq` Prelude.rnf lastUpdatedAt+ `Prelude.seq` Prelude.rnf sensitivityInspectionTemplateId+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetBucketStatistics.hs view
@@ -0,0 +1,432 @@+{-# 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.MacieV2.GetBucketStatistics+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves (queries) aggregated statistical data about all the S3 buckets+-- that Amazon Macie monitors and analyzes for an account.+module Amazonka.MacieV2.GetBucketStatistics+ ( -- * Creating a Request+ GetBucketStatistics (..),+ newGetBucketStatistics,++ -- * Request Lenses+ getBucketStatistics_accountId,++ -- * Destructuring the Response+ GetBucketStatisticsResponse (..),+ newGetBucketStatisticsResponse,++ -- * Response Lenses+ getBucketStatisticsResponse_bucketCount,+ getBucketStatisticsResponse_bucketCountByEffectivePermission,+ getBucketStatisticsResponse_bucketCountByEncryptionType,+ getBucketStatisticsResponse_bucketCountByObjectEncryptionRequirement,+ getBucketStatisticsResponse_bucketCountBySharedAccessType,+ getBucketStatisticsResponse_bucketStatisticsBySensitivity,+ getBucketStatisticsResponse_classifiableObjectCount,+ getBucketStatisticsResponse_classifiableSizeInBytes,+ getBucketStatisticsResponse_lastUpdated,+ getBucketStatisticsResponse_objectCount,+ getBucketStatisticsResponse_sizeInBytes,+ getBucketStatisticsResponse_sizeInBytesCompressed,+ getBucketStatisticsResponse_unclassifiableObjectCount,+ getBucketStatisticsResponse_unclassifiableObjectSizeInBytes,+ getBucketStatisticsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetBucketStatistics' smart constructor.+data GetBucketStatistics = GetBucketStatistics'+ { -- | The unique identifier for the Amazon Web Services account.+ accountId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketStatistics' 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:+--+-- 'accountId', 'getBucketStatistics_accountId' - The unique identifier for the Amazon Web Services account.+newGetBucketStatistics ::+ GetBucketStatistics+newGetBucketStatistics =+ GetBucketStatistics' {accountId = Prelude.Nothing}++-- | The unique identifier for the Amazon Web Services account.+getBucketStatistics_accountId :: Lens.Lens' GetBucketStatistics (Prelude.Maybe Prelude.Text)+getBucketStatistics_accountId = Lens.lens (\GetBucketStatistics' {accountId} -> accountId) (\s@GetBucketStatistics' {} a -> s {accountId = a} :: GetBucketStatistics)++instance Core.AWSRequest GetBucketStatistics where+ type+ AWSResponse GetBucketStatistics =+ GetBucketStatisticsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetBucketStatisticsResponse'+ Prelude.<$> (x Data..?> "bucketCount")+ Prelude.<*> (x Data..?> "bucketCountByEffectivePermission")+ Prelude.<*> (x Data..?> "bucketCountByEncryptionType")+ Prelude.<*> ( x+ Data..?> "bucketCountByObjectEncryptionRequirement"+ )+ Prelude.<*> (x Data..?> "bucketCountBySharedAccessType")+ Prelude.<*> (x Data..?> "bucketStatisticsBySensitivity")+ Prelude.<*> (x Data..?> "classifiableObjectCount")+ Prelude.<*> (x Data..?> "classifiableSizeInBytes")+ Prelude.<*> (x Data..?> "lastUpdated")+ Prelude.<*> (x Data..?> "objectCount")+ Prelude.<*> (x Data..?> "sizeInBytes")+ Prelude.<*> (x Data..?> "sizeInBytesCompressed")+ Prelude.<*> (x Data..?> "unclassifiableObjectCount")+ Prelude.<*> (x Data..?> "unclassifiableObjectSizeInBytes")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetBucketStatistics where+ hashWithSalt _salt GetBucketStatistics' {..} =+ _salt `Prelude.hashWithSalt` accountId++instance Prelude.NFData GetBucketStatistics where+ rnf GetBucketStatistics' {..} = Prelude.rnf accountId++instance Data.ToHeaders GetBucketStatistics where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetBucketStatistics where+ toJSON GetBucketStatistics' {..} =+ Data.object+ ( Prelude.catMaybes+ [("accountId" Data..=) Prelude.<$> accountId]+ )++instance Data.ToPath GetBucketStatistics where+ toPath = Prelude.const "/datasources/s3/statistics"++instance Data.ToQuery GetBucketStatistics where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetBucketStatisticsResponse' smart constructor.+data GetBucketStatisticsResponse = GetBucketStatisticsResponse'+ { -- | The total number of buckets.+ bucketCount :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets that are publicly accessible based on a+ -- combination of permissions settings for each bucket.+ bucketCountByEffectivePermission :: Prelude.Maybe BucketCountByEffectivePermission,+ -- | The total number of buckets that use certain types of server-side+ -- encryption to encrypt new objects by default. This object also reports+ -- the total number of buckets that don\'t encrypt new objects by default.+ bucketCountByEncryptionType :: Prelude.Maybe BucketCountByEncryptionType,+ -- | The total number of buckets whose bucket policies do or don\'t require+ -- server-side encryption of objects when objects are uploaded to the+ -- buckets.+ bucketCountByObjectEncryptionRequirement :: Prelude.Maybe BucketCountPolicyAllowsUnencryptedObjectUploads,+ -- | The total number of buckets that are or aren\'t shared with another+ -- Amazon Web Services account.+ bucketCountBySharedAccessType :: Prelude.Maybe BucketCountBySharedAccessType,+ -- | The aggregated sensitive data discovery statistics for the buckets. If+ -- automated sensitive data discovery is currently disabled for your+ -- account, the value for each statistic is 0.+ bucketStatisticsBySensitivity :: Prelude.Maybe BucketStatisticsBySensitivity,+ -- | The total number of objects that Amazon Macie can analyze in the+ -- buckets. These objects use a supported storage class and have a file+ -- name extension for a supported file or storage format.+ classifiableObjectCount :: Prelude.Maybe Prelude.Integer,+ -- | The total storage size, in bytes, of all the objects that Amazon Macie+ -- can analyze in the buckets. These objects use a supported storage class+ -- and have a file name extension for a supported file or storage format.+ --+ -- If versioning is enabled for any of the buckets, this value is based on+ -- the size of the latest version of each applicable object in the buckets.+ -- This value doesn\'t reflect the storage size of all versions of all+ -- applicable objects in the buckets.+ classifiableSizeInBytes :: Prelude.Maybe Prelude.Integer,+ -- | The date and time, in UTC and extended ISO 8601 format, when Amazon+ -- Macie most recently retrieved both bucket and object metadata from+ -- Amazon S3 for the buckets.+ lastUpdated :: Prelude.Maybe Data.ISO8601,+ -- | The total number of objects in the buckets.+ objectCount :: Prelude.Maybe Prelude.Integer,+ -- | The total storage size, in bytes, of the buckets.+ --+ -- If versioning is enabled for any of the buckets, this value is based on+ -- the size of the latest version of each object in the buckets. This value+ -- doesn\'t reflect the storage size of all versions of the objects in the+ -- buckets.+ sizeInBytes :: Prelude.Maybe Prelude.Integer,+ -- | The total storage size, in bytes, of the objects that are compressed+ -- (.gz, .gzip, .zip) files in the buckets.+ --+ -- If versioning is enabled for any of the buckets, this value is based on+ -- the size of the latest version of each applicable object in the buckets.+ -- This value doesn\'t reflect the storage size of all versions of the+ -- applicable objects in the buckets.+ sizeInBytesCompressed :: Prelude.Maybe Prelude.Integer,+ -- | The total number of objects that Amazon Macie can\'t analyze in the+ -- buckets. These objects don\'t use a supported storage class or don\'t+ -- have a file name extension for a supported file or storage format.+ unclassifiableObjectCount :: Prelude.Maybe ObjectLevelStatistics,+ -- | The total storage size, in bytes, of the objects that Amazon Macie+ -- can\'t analyze in the buckets. These objects don\'t use a supported+ -- storage class or don\'t have a file name extension for a supported file+ -- or storage format.+ unclassifiableObjectSizeInBytes :: Prelude.Maybe ObjectLevelStatistics,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketStatisticsResponse' 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:+--+-- 'bucketCount', 'getBucketStatisticsResponse_bucketCount' - The total number of buckets.+--+-- 'bucketCountByEffectivePermission', 'getBucketStatisticsResponse_bucketCountByEffectivePermission' - The total number of buckets that are publicly accessible based on a+-- combination of permissions settings for each bucket.+--+-- 'bucketCountByEncryptionType', 'getBucketStatisticsResponse_bucketCountByEncryptionType' - The total number of buckets that use certain types of server-side+-- encryption to encrypt new objects by default. This object also reports+-- the total number of buckets that don\'t encrypt new objects by default.+--+-- 'bucketCountByObjectEncryptionRequirement', 'getBucketStatisticsResponse_bucketCountByObjectEncryptionRequirement' - The total number of buckets whose bucket policies do or don\'t require+-- server-side encryption of objects when objects are uploaded to the+-- buckets.+--+-- 'bucketCountBySharedAccessType', 'getBucketStatisticsResponse_bucketCountBySharedAccessType' - The total number of buckets that are or aren\'t shared with another+-- Amazon Web Services account.+--+-- 'bucketStatisticsBySensitivity', 'getBucketStatisticsResponse_bucketStatisticsBySensitivity' - The aggregated sensitive data discovery statistics for the buckets. If+-- automated sensitive data discovery is currently disabled for your+-- account, the value for each statistic is 0.+--+-- 'classifiableObjectCount', 'getBucketStatisticsResponse_classifiableObjectCount' - The total number of objects that Amazon Macie can analyze in the+-- buckets. These objects use a supported storage class and have a file+-- name extension for a supported file or storage format.+--+-- 'classifiableSizeInBytes', 'getBucketStatisticsResponse_classifiableSizeInBytes' - The total storage size, in bytes, of all the objects that Amazon Macie+-- can analyze in the buckets. These objects use a supported storage class+-- and have a file name extension for a supported file or storage format.+--+-- If versioning is enabled for any of the buckets, this value is based on+-- the size of the latest version of each applicable object in the buckets.+-- This value doesn\'t reflect the storage size of all versions of all+-- applicable objects in the buckets.+--+-- 'lastUpdated', 'getBucketStatisticsResponse_lastUpdated' - The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie most recently retrieved both bucket and object metadata from+-- Amazon S3 for the buckets.+--+-- 'objectCount', 'getBucketStatisticsResponse_objectCount' - The total number of objects in the buckets.+--+-- 'sizeInBytes', 'getBucketStatisticsResponse_sizeInBytes' - The total storage size, in bytes, of the buckets.+--+-- If versioning is enabled for any of the buckets, this value is based on+-- the size of the latest version of each object in the buckets. This value+-- doesn\'t reflect the storage size of all versions of the objects in the+-- buckets.+--+-- 'sizeInBytesCompressed', 'getBucketStatisticsResponse_sizeInBytesCompressed' - The total storage size, in bytes, of the objects that are compressed+-- (.gz, .gzip, .zip) files in the buckets.+--+-- If versioning is enabled for any of the buckets, this value is based on+-- the size of the latest version of each applicable object in the buckets.+-- This value doesn\'t reflect the storage size of all versions of the+-- applicable objects in the buckets.+--+-- 'unclassifiableObjectCount', 'getBucketStatisticsResponse_unclassifiableObjectCount' - The total number of objects that Amazon Macie can\'t analyze in the+-- buckets. These objects don\'t use a supported storage class or don\'t+-- have a file name extension for a supported file or storage format.+--+-- 'unclassifiableObjectSizeInBytes', 'getBucketStatisticsResponse_unclassifiableObjectSizeInBytes' - The total storage size, in bytes, of the objects that Amazon Macie+-- can\'t analyze in the buckets. These objects don\'t use a supported+-- storage class or don\'t have a file name extension for a supported file+-- or storage format.+--+-- 'httpStatus', 'getBucketStatisticsResponse_httpStatus' - The response's http status code.+newGetBucketStatisticsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetBucketStatisticsResponse+newGetBucketStatisticsResponse pHttpStatus_ =+ GetBucketStatisticsResponse'+ { bucketCount =+ Prelude.Nothing,+ bucketCountByEffectivePermission =+ Prelude.Nothing,+ bucketCountByEncryptionType = Prelude.Nothing,+ bucketCountByObjectEncryptionRequirement =+ Prelude.Nothing,+ bucketCountBySharedAccessType =+ Prelude.Nothing,+ bucketStatisticsBySensitivity =+ Prelude.Nothing,+ classifiableObjectCount = Prelude.Nothing,+ classifiableSizeInBytes = Prelude.Nothing,+ lastUpdated = Prelude.Nothing,+ objectCount = Prelude.Nothing,+ sizeInBytes = Prelude.Nothing,+ sizeInBytesCompressed = Prelude.Nothing,+ unclassifiableObjectCount = Prelude.Nothing,+ unclassifiableObjectSizeInBytes =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The total number of buckets.+getBucketStatisticsResponse_bucketCount :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe Prelude.Integer)+getBucketStatisticsResponse_bucketCount = Lens.lens (\GetBucketStatisticsResponse' {bucketCount} -> bucketCount) (\s@GetBucketStatisticsResponse' {} a -> s {bucketCount = a} :: GetBucketStatisticsResponse)++-- | The total number of buckets that are publicly accessible based on a+-- combination of permissions settings for each bucket.+getBucketStatisticsResponse_bucketCountByEffectivePermission :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe BucketCountByEffectivePermission)+getBucketStatisticsResponse_bucketCountByEffectivePermission = Lens.lens (\GetBucketStatisticsResponse' {bucketCountByEffectivePermission} -> bucketCountByEffectivePermission) (\s@GetBucketStatisticsResponse' {} a -> s {bucketCountByEffectivePermission = a} :: GetBucketStatisticsResponse)++-- | The total number of buckets that use certain types of server-side+-- encryption to encrypt new objects by default. This object also reports+-- the total number of buckets that don\'t encrypt new objects by default.+getBucketStatisticsResponse_bucketCountByEncryptionType :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe BucketCountByEncryptionType)+getBucketStatisticsResponse_bucketCountByEncryptionType = Lens.lens (\GetBucketStatisticsResponse' {bucketCountByEncryptionType} -> bucketCountByEncryptionType) (\s@GetBucketStatisticsResponse' {} a -> s {bucketCountByEncryptionType = a} :: GetBucketStatisticsResponse)++-- | The total number of buckets whose bucket policies do or don\'t require+-- server-side encryption of objects when objects are uploaded to the+-- buckets.+getBucketStatisticsResponse_bucketCountByObjectEncryptionRequirement :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe BucketCountPolicyAllowsUnencryptedObjectUploads)+getBucketStatisticsResponse_bucketCountByObjectEncryptionRequirement = Lens.lens (\GetBucketStatisticsResponse' {bucketCountByObjectEncryptionRequirement} -> bucketCountByObjectEncryptionRequirement) (\s@GetBucketStatisticsResponse' {} a -> s {bucketCountByObjectEncryptionRequirement = a} :: GetBucketStatisticsResponse)++-- | The total number of buckets that are or aren\'t shared with another+-- Amazon Web Services account.+getBucketStatisticsResponse_bucketCountBySharedAccessType :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe BucketCountBySharedAccessType)+getBucketStatisticsResponse_bucketCountBySharedAccessType = Lens.lens (\GetBucketStatisticsResponse' {bucketCountBySharedAccessType} -> bucketCountBySharedAccessType) (\s@GetBucketStatisticsResponse' {} a -> s {bucketCountBySharedAccessType = a} :: GetBucketStatisticsResponse)++-- | The aggregated sensitive data discovery statistics for the buckets. If+-- automated sensitive data discovery is currently disabled for your+-- account, the value for each statistic is 0.+getBucketStatisticsResponse_bucketStatisticsBySensitivity :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe BucketStatisticsBySensitivity)+getBucketStatisticsResponse_bucketStatisticsBySensitivity = Lens.lens (\GetBucketStatisticsResponse' {bucketStatisticsBySensitivity} -> bucketStatisticsBySensitivity) (\s@GetBucketStatisticsResponse' {} a -> s {bucketStatisticsBySensitivity = a} :: GetBucketStatisticsResponse)++-- | The total number of objects that Amazon Macie can analyze in the+-- buckets. These objects use a supported storage class and have a file+-- name extension for a supported file or storage format.+getBucketStatisticsResponse_classifiableObjectCount :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe Prelude.Integer)+getBucketStatisticsResponse_classifiableObjectCount = Lens.lens (\GetBucketStatisticsResponse' {classifiableObjectCount} -> classifiableObjectCount) (\s@GetBucketStatisticsResponse' {} a -> s {classifiableObjectCount = a} :: GetBucketStatisticsResponse)++-- | The total storage size, in bytes, of all the objects that Amazon Macie+-- can analyze in the buckets. These objects use a supported storage class+-- and have a file name extension for a supported file or storage format.+--+-- If versioning is enabled for any of the buckets, this value is based on+-- the size of the latest version of each applicable object in the buckets.+-- This value doesn\'t reflect the storage size of all versions of all+-- applicable objects in the buckets.+getBucketStatisticsResponse_classifiableSizeInBytes :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe Prelude.Integer)+getBucketStatisticsResponse_classifiableSizeInBytes = Lens.lens (\GetBucketStatisticsResponse' {classifiableSizeInBytes} -> classifiableSizeInBytes) (\s@GetBucketStatisticsResponse' {} a -> s {classifiableSizeInBytes = a} :: GetBucketStatisticsResponse)++-- | The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie most recently retrieved both bucket and object metadata from+-- Amazon S3 for the buckets.+getBucketStatisticsResponse_lastUpdated :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe Prelude.UTCTime)+getBucketStatisticsResponse_lastUpdated = Lens.lens (\GetBucketStatisticsResponse' {lastUpdated} -> lastUpdated) (\s@GetBucketStatisticsResponse' {} a -> s {lastUpdated = a} :: GetBucketStatisticsResponse) Prelude.. Lens.mapping Data._Time++-- | The total number of objects in the buckets.+getBucketStatisticsResponse_objectCount :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe Prelude.Integer)+getBucketStatisticsResponse_objectCount = Lens.lens (\GetBucketStatisticsResponse' {objectCount} -> objectCount) (\s@GetBucketStatisticsResponse' {} a -> s {objectCount = a} :: GetBucketStatisticsResponse)++-- | The total storage size, in bytes, of the buckets.+--+-- If versioning is enabled for any of the buckets, this value is based on+-- the size of the latest version of each object in the buckets. This value+-- doesn\'t reflect the storage size of all versions of the objects in the+-- buckets.+getBucketStatisticsResponse_sizeInBytes :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe Prelude.Integer)+getBucketStatisticsResponse_sizeInBytes = Lens.lens (\GetBucketStatisticsResponse' {sizeInBytes} -> sizeInBytes) (\s@GetBucketStatisticsResponse' {} a -> s {sizeInBytes = a} :: GetBucketStatisticsResponse)++-- | The total storage size, in bytes, of the objects that are compressed+-- (.gz, .gzip, .zip) files in the buckets.+--+-- If versioning is enabled for any of the buckets, this value is based on+-- the size of the latest version of each applicable object in the buckets.+-- This value doesn\'t reflect the storage size of all versions of the+-- applicable objects in the buckets.+getBucketStatisticsResponse_sizeInBytesCompressed :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe Prelude.Integer)+getBucketStatisticsResponse_sizeInBytesCompressed = Lens.lens (\GetBucketStatisticsResponse' {sizeInBytesCompressed} -> sizeInBytesCompressed) (\s@GetBucketStatisticsResponse' {} a -> s {sizeInBytesCompressed = a} :: GetBucketStatisticsResponse)++-- | The total number of objects that Amazon Macie can\'t analyze in the+-- buckets. These objects don\'t use a supported storage class or don\'t+-- have a file name extension for a supported file or storage format.+getBucketStatisticsResponse_unclassifiableObjectCount :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe ObjectLevelStatistics)+getBucketStatisticsResponse_unclassifiableObjectCount = Lens.lens (\GetBucketStatisticsResponse' {unclassifiableObjectCount} -> unclassifiableObjectCount) (\s@GetBucketStatisticsResponse' {} a -> s {unclassifiableObjectCount = a} :: GetBucketStatisticsResponse)++-- | The total storage size, in bytes, of the objects that Amazon Macie+-- can\'t analyze in the buckets. These objects don\'t use a supported+-- storage class or don\'t have a file name extension for a supported file+-- or storage format.+getBucketStatisticsResponse_unclassifiableObjectSizeInBytes :: Lens.Lens' GetBucketStatisticsResponse (Prelude.Maybe ObjectLevelStatistics)+getBucketStatisticsResponse_unclassifiableObjectSizeInBytes = Lens.lens (\GetBucketStatisticsResponse' {unclassifiableObjectSizeInBytes} -> unclassifiableObjectSizeInBytes) (\s@GetBucketStatisticsResponse' {} a -> s {unclassifiableObjectSizeInBytes = a} :: GetBucketStatisticsResponse)++-- | The response's http status code.+getBucketStatisticsResponse_httpStatus :: Lens.Lens' GetBucketStatisticsResponse Prelude.Int+getBucketStatisticsResponse_httpStatus = Lens.lens (\GetBucketStatisticsResponse' {httpStatus} -> httpStatus) (\s@GetBucketStatisticsResponse' {} a -> s {httpStatus = a} :: GetBucketStatisticsResponse)++instance Prelude.NFData GetBucketStatisticsResponse where+ rnf GetBucketStatisticsResponse' {..} =+ Prelude.rnf bucketCount+ `Prelude.seq` Prelude.rnf bucketCountByEffectivePermission+ `Prelude.seq` Prelude.rnf bucketCountByEncryptionType+ `Prelude.seq` Prelude.rnf bucketCountByObjectEncryptionRequirement+ `Prelude.seq` Prelude.rnf bucketCountBySharedAccessType+ `Prelude.seq` Prelude.rnf bucketStatisticsBySensitivity+ `Prelude.seq` Prelude.rnf classifiableObjectCount+ `Prelude.seq` Prelude.rnf classifiableSizeInBytes+ `Prelude.seq` Prelude.rnf lastUpdated+ `Prelude.seq` Prelude.rnf objectCount+ `Prelude.seq` Prelude.rnf sizeInBytes+ `Prelude.seq` Prelude.rnf sizeInBytesCompressed+ `Prelude.seq` Prelude.rnf unclassifiableObjectCount+ `Prelude.seq` Prelude.rnf+ unclassifiableObjectSizeInBytes+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetClassificationExportConfiguration.hs view
@@ -0,0 +1,170 @@+{-# 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.MacieV2.GetClassificationExportConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the configuration settings for storing data classification+-- results.+module Amazonka.MacieV2.GetClassificationExportConfiguration+ ( -- * Creating a Request+ GetClassificationExportConfiguration (..),+ newGetClassificationExportConfiguration,++ -- * Destructuring the Response+ GetClassificationExportConfigurationResponse (..),+ newGetClassificationExportConfigurationResponse,++ -- * Response Lenses+ getClassificationExportConfigurationResponse_configuration,+ getClassificationExportConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetClassificationExportConfiguration' smart constructor.+data GetClassificationExportConfiguration = GetClassificationExportConfiguration'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetClassificationExportConfiguration' 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.+newGetClassificationExportConfiguration ::+ GetClassificationExportConfiguration+newGetClassificationExportConfiguration =+ GetClassificationExportConfiguration'++instance+ Core.AWSRequest+ GetClassificationExportConfiguration+ where+ type+ AWSResponse GetClassificationExportConfiguration =+ GetClassificationExportConfigurationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetClassificationExportConfigurationResponse'+ Prelude.<$> (x Data..?> "configuration")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetClassificationExportConfiguration+ where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance+ Prelude.NFData+ GetClassificationExportConfiguration+ where+ rnf _ = ()++instance+ Data.ToHeaders+ GetClassificationExportConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ GetClassificationExportConfiguration+ where+ toPath =+ Prelude.const+ "/classification-export-configuration"++instance+ Data.ToQuery+ GetClassificationExportConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetClassificationExportConfigurationResponse' smart constructor.+data GetClassificationExportConfigurationResponse = GetClassificationExportConfigurationResponse'+ { -- | The location where data classification results are stored, and the+ -- encryption settings that are used when storing results in that location.+ configuration :: Prelude.Maybe ClassificationExportConfiguration,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetClassificationExportConfigurationResponse' 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:+--+-- 'configuration', 'getClassificationExportConfigurationResponse_configuration' - The location where data classification results are stored, and the+-- encryption settings that are used when storing results in that location.+--+-- 'httpStatus', 'getClassificationExportConfigurationResponse_httpStatus' - The response's http status code.+newGetClassificationExportConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetClassificationExportConfigurationResponse+newGetClassificationExportConfigurationResponse+ pHttpStatus_ =+ GetClassificationExportConfigurationResponse'+ { configuration =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The location where data classification results are stored, and the+-- encryption settings that are used when storing results in that location.+getClassificationExportConfigurationResponse_configuration :: Lens.Lens' GetClassificationExportConfigurationResponse (Prelude.Maybe ClassificationExportConfiguration)+getClassificationExportConfigurationResponse_configuration = Lens.lens (\GetClassificationExportConfigurationResponse' {configuration} -> configuration) (\s@GetClassificationExportConfigurationResponse' {} a -> s {configuration = a} :: GetClassificationExportConfigurationResponse)++-- | The response's http status code.+getClassificationExportConfigurationResponse_httpStatus :: Lens.Lens' GetClassificationExportConfigurationResponse Prelude.Int+getClassificationExportConfigurationResponse_httpStatus = Lens.lens (\GetClassificationExportConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetClassificationExportConfigurationResponse' {} a -> s {httpStatus = a} :: GetClassificationExportConfigurationResponse)++instance+ Prelude.NFData+ GetClassificationExportConfigurationResponse+ where+ rnf GetClassificationExportConfigurationResponse' {..} =+ Prelude.rnf configuration+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetClassificationScope.hs view
@@ -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.MacieV2.GetClassificationScope+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the classification scope settings for an account.+module Amazonka.MacieV2.GetClassificationScope+ ( -- * Creating a Request+ GetClassificationScope (..),+ newGetClassificationScope,++ -- * Request Lenses+ getClassificationScope_id,++ -- * Destructuring the Response+ GetClassificationScopeResponse (..),+ newGetClassificationScopeResponse,++ -- * Response Lenses+ getClassificationScopeResponse_id,+ getClassificationScopeResponse_name,+ getClassificationScopeResponse_s3,+ getClassificationScopeResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetClassificationScope' smart constructor.+data GetClassificationScope = GetClassificationScope'+ { -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetClassificationScope' 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', 'getClassificationScope_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newGetClassificationScope ::+ -- | 'id'+ Prelude.Text ->+ GetClassificationScope+newGetClassificationScope pId_ =+ GetClassificationScope' {id = pId_}++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+getClassificationScope_id :: Lens.Lens' GetClassificationScope Prelude.Text+getClassificationScope_id = Lens.lens (\GetClassificationScope' {id} -> id) (\s@GetClassificationScope' {} a -> s {id = a} :: GetClassificationScope)++instance Core.AWSRequest GetClassificationScope where+ type+ AWSResponse GetClassificationScope =+ GetClassificationScopeResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetClassificationScopeResponse'+ Prelude.<$> (x Data..?> "id")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (x Data..?> "s3")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetClassificationScope where+ hashWithSalt _salt GetClassificationScope' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetClassificationScope where+ rnf GetClassificationScope' {..} = Prelude.rnf id++instance Data.ToHeaders GetClassificationScope where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetClassificationScope where+ toPath GetClassificationScope' {..} =+ Prelude.mconcat+ ["/classification-scopes/", Data.toBS id]++instance Data.ToQuery GetClassificationScope where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetClassificationScopeResponse' smart constructor.+data GetClassificationScopeResponse = GetClassificationScopeResponse'+ { -- | The unique identifier for the classification scope.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the classification scope.+ name :: Prelude.Maybe Prelude.Text,+ -- | The S3 buckets that are excluded from automated sensitive data+ -- discovery.+ s3 :: Prelude.Maybe S3ClassificationScope,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetClassificationScopeResponse' 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', 'getClassificationScopeResponse_id' - The unique identifier for the classification scope.+--+-- 'name', 'getClassificationScopeResponse_name' - The name of the classification scope.+--+-- 's3', 'getClassificationScopeResponse_s3' - The S3 buckets that are excluded from automated sensitive data+-- discovery.+--+-- 'httpStatus', 'getClassificationScopeResponse_httpStatus' - The response's http status code.+newGetClassificationScopeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetClassificationScopeResponse+newGetClassificationScopeResponse pHttpStatus_ =+ GetClassificationScopeResponse'+ { id =+ Prelude.Nothing,+ name = Prelude.Nothing,+ s3 = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The unique identifier for the classification scope.+getClassificationScopeResponse_id :: Lens.Lens' GetClassificationScopeResponse (Prelude.Maybe Prelude.Text)+getClassificationScopeResponse_id = Lens.lens (\GetClassificationScopeResponse' {id} -> id) (\s@GetClassificationScopeResponse' {} a -> s {id = a} :: GetClassificationScopeResponse)++-- | The name of the classification scope.+getClassificationScopeResponse_name :: Lens.Lens' GetClassificationScopeResponse (Prelude.Maybe Prelude.Text)+getClassificationScopeResponse_name = Lens.lens (\GetClassificationScopeResponse' {name} -> name) (\s@GetClassificationScopeResponse' {} a -> s {name = a} :: GetClassificationScopeResponse)++-- | The S3 buckets that are excluded from automated sensitive data+-- discovery.+getClassificationScopeResponse_s3 :: Lens.Lens' GetClassificationScopeResponse (Prelude.Maybe S3ClassificationScope)+getClassificationScopeResponse_s3 = Lens.lens (\GetClassificationScopeResponse' {s3} -> s3) (\s@GetClassificationScopeResponse' {} a -> s {s3 = a} :: GetClassificationScopeResponse)++-- | The response's http status code.+getClassificationScopeResponse_httpStatus :: Lens.Lens' GetClassificationScopeResponse Prelude.Int+getClassificationScopeResponse_httpStatus = Lens.lens (\GetClassificationScopeResponse' {httpStatus} -> httpStatus) (\s@GetClassificationScopeResponse' {} a -> s {httpStatus = a} :: GetClassificationScopeResponse)++instance+ Prelude.NFData+ GetClassificationScopeResponse+ where+ rnf GetClassificationScopeResponse' {..} =+ Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf s3+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetCustomDataIdentifier.hs view
@@ -0,0 +1,354 @@+{-# 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.MacieV2.GetCustomDataIdentifier+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the criteria and other settings for a custom data identifier.+module Amazonka.MacieV2.GetCustomDataIdentifier+ ( -- * Creating a Request+ GetCustomDataIdentifier (..),+ newGetCustomDataIdentifier,++ -- * Request Lenses+ getCustomDataIdentifier_id,++ -- * Destructuring the Response+ GetCustomDataIdentifierResponse (..),+ newGetCustomDataIdentifierResponse,++ -- * Response Lenses+ getCustomDataIdentifierResponse_arn,+ getCustomDataIdentifierResponse_createdAt,+ getCustomDataIdentifierResponse_deleted,+ getCustomDataIdentifierResponse_description,+ getCustomDataIdentifierResponse_id,+ getCustomDataIdentifierResponse_ignoreWords,+ getCustomDataIdentifierResponse_keywords,+ getCustomDataIdentifierResponse_maximumMatchDistance,+ getCustomDataIdentifierResponse_name,+ getCustomDataIdentifierResponse_regex,+ getCustomDataIdentifierResponse_severityLevels,+ getCustomDataIdentifierResponse_tags,+ getCustomDataIdentifierResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetCustomDataIdentifier' smart constructor.+data GetCustomDataIdentifier = GetCustomDataIdentifier'+ { -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCustomDataIdentifier' 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', 'getCustomDataIdentifier_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newGetCustomDataIdentifier ::+ -- | 'id'+ Prelude.Text ->+ GetCustomDataIdentifier+newGetCustomDataIdentifier pId_ =+ GetCustomDataIdentifier' {id = pId_}++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+getCustomDataIdentifier_id :: Lens.Lens' GetCustomDataIdentifier Prelude.Text+getCustomDataIdentifier_id = Lens.lens (\GetCustomDataIdentifier' {id} -> id) (\s@GetCustomDataIdentifier' {} a -> s {id = a} :: GetCustomDataIdentifier)++instance Core.AWSRequest GetCustomDataIdentifier where+ type+ AWSResponse GetCustomDataIdentifier =+ GetCustomDataIdentifierResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetCustomDataIdentifierResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "createdAt")+ Prelude.<*> (x Data..?> "deleted")+ Prelude.<*> (x Data..?> "description")+ Prelude.<*> (x Data..?> "id")+ Prelude.<*> (x Data..?> "ignoreWords" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "keywords" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "maximumMatchDistance")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (x Data..?> "regex")+ Prelude.<*> (x Data..?> "severityLevels" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetCustomDataIdentifier where+ hashWithSalt _salt GetCustomDataIdentifier' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetCustomDataIdentifier where+ rnf GetCustomDataIdentifier' {..} = Prelude.rnf id++instance Data.ToHeaders GetCustomDataIdentifier where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetCustomDataIdentifier where+ toPath GetCustomDataIdentifier' {..} =+ Prelude.mconcat+ ["/custom-data-identifiers/", Data.toBS id]++instance Data.ToQuery GetCustomDataIdentifier where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetCustomDataIdentifierResponse' smart constructor.+data GetCustomDataIdentifierResponse = GetCustomDataIdentifierResponse'+ { -- | The Amazon Resource Name (ARN) of the custom data identifier.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when the custom+ -- data identifier was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | Specifies whether the custom data identifier was deleted. If you delete+ -- a custom data identifier, Amazon Macie doesn\'t delete it permanently.+ -- Instead, it soft deletes the identifier.+ deleted :: Prelude.Maybe Prelude.Bool,+ -- | The custom description of the custom data identifier.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the custom data identifier.+ id :: Prelude.Maybe Prelude.Text,+ -- | An array that lists specific character sequences (/ignore words/) to+ -- exclude from the results. If the text matched by the regular expression+ -- contains any string in this array, Amazon Macie ignores it. Ignore words+ -- are case sensitive.+ ignoreWords :: Prelude.Maybe [Prelude.Text],+ -- | An array that lists specific character sequences (/keywords/), one of+ -- which must precede and be within proximity (maximumMatchDistance) of the+ -- regular expression to match. Keywords aren\'t case sensitive.+ keywords :: Prelude.Maybe [Prelude.Text],+ -- | The maximum number of characters that can exist between the end of at+ -- least one complete character sequence specified by the keywords array+ -- and the end of the text that matches the regex pattern. If a complete+ -- keyword precedes all the text that matches the pattern and the keyword+ -- is within the specified distance, Amazon Macie includes the result.+ -- Otherwise, Macie excludes the result.+ maximumMatchDistance :: Prelude.Maybe Prelude.Int,+ -- | The custom name of the custom data identifier.+ name :: Prelude.Maybe Prelude.Text,+ -- | The regular expression (/regex/) that defines the pattern to match.+ regex :: Prelude.Maybe Prelude.Text,+ -- | Specifies the severity that\'s assigned to findings that the custom data+ -- identifier produces, based on the number of occurrences of text that+ -- matches the custom data identifier\'s detection criteria. By default,+ -- Amazon Macie creates findings for S3 objects that contain at least one+ -- occurrence of text that matches the detection criteria, and Macie+ -- assigns the MEDIUM severity to those findings.+ severityLevels :: Prelude.Maybe [SeverityLevel],+ -- | A map of key-value pairs that identifies the tags (keys and values) that+ -- are associated with the custom data identifier.+ 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 'GetCustomDataIdentifierResponse' 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', 'getCustomDataIdentifierResponse_arn' - The Amazon Resource Name (ARN) of the custom data identifier.+--+-- 'createdAt', 'getCustomDataIdentifierResponse_createdAt' - The date and time, in UTC and extended ISO 8601 format, when the custom+-- data identifier was created.+--+-- 'deleted', 'getCustomDataIdentifierResponse_deleted' - Specifies whether the custom data identifier was deleted. If you delete+-- a custom data identifier, Amazon Macie doesn\'t delete it permanently.+-- Instead, it soft deletes the identifier.+--+-- 'description', 'getCustomDataIdentifierResponse_description' - The custom description of the custom data identifier.+--+-- 'id', 'getCustomDataIdentifierResponse_id' - The unique identifier for the custom data identifier.+--+-- 'ignoreWords', 'getCustomDataIdentifierResponse_ignoreWords' - An array that lists specific character sequences (/ignore words/) to+-- exclude from the results. If the text matched by the regular expression+-- contains any string in this array, Amazon Macie ignores it. Ignore words+-- are case sensitive.+--+-- 'keywords', 'getCustomDataIdentifierResponse_keywords' - An array that lists specific character sequences (/keywords/), one of+-- which must precede and be within proximity (maximumMatchDistance) of the+-- regular expression to match. Keywords aren\'t case sensitive.+--+-- 'maximumMatchDistance', 'getCustomDataIdentifierResponse_maximumMatchDistance' - The maximum number of characters that can exist between the end of at+-- least one complete character sequence specified by the keywords array+-- and the end of the text that matches the regex pattern. If a complete+-- keyword precedes all the text that matches the pattern and the keyword+-- is within the specified distance, Amazon Macie includes the result.+-- Otherwise, Macie excludes the result.+--+-- 'name', 'getCustomDataIdentifierResponse_name' - The custom name of the custom data identifier.+--+-- 'regex', 'getCustomDataIdentifierResponse_regex' - The regular expression (/regex/) that defines the pattern to match.+--+-- 'severityLevels', 'getCustomDataIdentifierResponse_severityLevels' - Specifies the severity that\'s assigned to findings that the custom data+-- identifier produces, based on the number of occurrences of text that+-- matches the custom data identifier\'s detection criteria. By default,+-- Amazon Macie creates findings for S3 objects that contain at least one+-- occurrence of text that matches the detection criteria, and Macie+-- assigns the MEDIUM severity to those findings.+--+-- 'tags', 'getCustomDataIdentifierResponse_tags' - A map of key-value pairs that identifies the tags (keys and values) that+-- are associated with the custom data identifier.+--+-- 'httpStatus', 'getCustomDataIdentifierResponse_httpStatus' - The response's http status code.+newGetCustomDataIdentifierResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetCustomDataIdentifierResponse+newGetCustomDataIdentifierResponse pHttpStatus_ =+ GetCustomDataIdentifierResponse'+ { arn =+ Prelude.Nothing,+ createdAt = Prelude.Nothing,+ deleted = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ ignoreWords = Prelude.Nothing,+ keywords = Prelude.Nothing,+ maximumMatchDistance = Prelude.Nothing,+ name = Prelude.Nothing,+ regex = Prelude.Nothing,+ severityLevels = Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the custom data identifier.+getCustomDataIdentifierResponse_arn :: Lens.Lens' GetCustomDataIdentifierResponse (Prelude.Maybe Prelude.Text)+getCustomDataIdentifierResponse_arn = Lens.lens (\GetCustomDataIdentifierResponse' {arn} -> arn) (\s@GetCustomDataIdentifierResponse' {} a -> s {arn = a} :: GetCustomDataIdentifierResponse)++-- | The date and time, in UTC and extended ISO 8601 format, when the custom+-- data identifier was created.+getCustomDataIdentifierResponse_createdAt :: Lens.Lens' GetCustomDataIdentifierResponse (Prelude.Maybe Prelude.UTCTime)+getCustomDataIdentifierResponse_createdAt = Lens.lens (\GetCustomDataIdentifierResponse' {createdAt} -> createdAt) (\s@GetCustomDataIdentifierResponse' {} a -> s {createdAt = a} :: GetCustomDataIdentifierResponse) Prelude.. Lens.mapping Data._Time++-- | Specifies whether the custom data identifier was deleted. If you delete+-- a custom data identifier, Amazon Macie doesn\'t delete it permanently.+-- Instead, it soft deletes the identifier.+getCustomDataIdentifierResponse_deleted :: Lens.Lens' GetCustomDataIdentifierResponse (Prelude.Maybe Prelude.Bool)+getCustomDataIdentifierResponse_deleted = Lens.lens (\GetCustomDataIdentifierResponse' {deleted} -> deleted) (\s@GetCustomDataIdentifierResponse' {} a -> s {deleted = a} :: GetCustomDataIdentifierResponse)++-- | The custom description of the custom data identifier.+getCustomDataIdentifierResponse_description :: Lens.Lens' GetCustomDataIdentifierResponse (Prelude.Maybe Prelude.Text)+getCustomDataIdentifierResponse_description = Lens.lens (\GetCustomDataIdentifierResponse' {description} -> description) (\s@GetCustomDataIdentifierResponse' {} a -> s {description = a} :: GetCustomDataIdentifierResponse)++-- | The unique identifier for the custom data identifier.+getCustomDataIdentifierResponse_id :: Lens.Lens' GetCustomDataIdentifierResponse (Prelude.Maybe Prelude.Text)+getCustomDataIdentifierResponse_id = Lens.lens (\GetCustomDataIdentifierResponse' {id} -> id) (\s@GetCustomDataIdentifierResponse' {} a -> s {id = a} :: GetCustomDataIdentifierResponse)++-- | An array that lists specific character sequences (/ignore words/) to+-- exclude from the results. If the text matched by the regular expression+-- contains any string in this array, Amazon Macie ignores it. Ignore words+-- are case sensitive.+getCustomDataIdentifierResponse_ignoreWords :: Lens.Lens' GetCustomDataIdentifierResponse (Prelude.Maybe [Prelude.Text])+getCustomDataIdentifierResponse_ignoreWords = Lens.lens (\GetCustomDataIdentifierResponse' {ignoreWords} -> ignoreWords) (\s@GetCustomDataIdentifierResponse' {} a -> s {ignoreWords = a} :: GetCustomDataIdentifierResponse) Prelude.. Lens.mapping Lens.coerced++-- | An array that lists specific character sequences (/keywords/), one of+-- which must precede and be within proximity (maximumMatchDistance) of the+-- regular expression to match. Keywords aren\'t case sensitive.+getCustomDataIdentifierResponse_keywords :: Lens.Lens' GetCustomDataIdentifierResponse (Prelude.Maybe [Prelude.Text])+getCustomDataIdentifierResponse_keywords = Lens.lens (\GetCustomDataIdentifierResponse' {keywords} -> keywords) (\s@GetCustomDataIdentifierResponse' {} a -> s {keywords = a} :: GetCustomDataIdentifierResponse) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of characters that can exist between the end of at+-- least one complete character sequence specified by the keywords array+-- and the end of the text that matches the regex pattern. If a complete+-- keyword precedes all the text that matches the pattern and the keyword+-- is within the specified distance, Amazon Macie includes the result.+-- Otherwise, Macie excludes the result.+getCustomDataIdentifierResponse_maximumMatchDistance :: Lens.Lens' GetCustomDataIdentifierResponse (Prelude.Maybe Prelude.Int)+getCustomDataIdentifierResponse_maximumMatchDistance = Lens.lens (\GetCustomDataIdentifierResponse' {maximumMatchDistance} -> maximumMatchDistance) (\s@GetCustomDataIdentifierResponse' {} a -> s {maximumMatchDistance = a} :: GetCustomDataIdentifierResponse)++-- | The custom name of the custom data identifier.+getCustomDataIdentifierResponse_name :: Lens.Lens' GetCustomDataIdentifierResponse (Prelude.Maybe Prelude.Text)+getCustomDataIdentifierResponse_name = Lens.lens (\GetCustomDataIdentifierResponse' {name} -> name) (\s@GetCustomDataIdentifierResponse' {} a -> s {name = a} :: GetCustomDataIdentifierResponse)++-- | The regular expression (/regex/) that defines the pattern to match.+getCustomDataIdentifierResponse_regex :: Lens.Lens' GetCustomDataIdentifierResponse (Prelude.Maybe Prelude.Text)+getCustomDataIdentifierResponse_regex = Lens.lens (\GetCustomDataIdentifierResponse' {regex} -> regex) (\s@GetCustomDataIdentifierResponse' {} a -> s {regex = a} :: GetCustomDataIdentifierResponse)++-- | Specifies the severity that\'s assigned to findings that the custom data+-- identifier produces, based on the number of occurrences of text that+-- matches the custom data identifier\'s detection criteria. By default,+-- Amazon Macie creates findings for S3 objects that contain at least one+-- occurrence of text that matches the detection criteria, and Macie+-- assigns the MEDIUM severity to those findings.+getCustomDataIdentifierResponse_severityLevels :: Lens.Lens' GetCustomDataIdentifierResponse (Prelude.Maybe [SeverityLevel])+getCustomDataIdentifierResponse_severityLevels = Lens.lens (\GetCustomDataIdentifierResponse' {severityLevels} -> severityLevels) (\s@GetCustomDataIdentifierResponse' {} a -> s {severityLevels = a} :: GetCustomDataIdentifierResponse) Prelude.. Lens.mapping Lens.coerced++-- | A map of key-value pairs that identifies the tags (keys and values) that+-- are associated with the custom data identifier.+getCustomDataIdentifierResponse_tags :: Lens.Lens' GetCustomDataIdentifierResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getCustomDataIdentifierResponse_tags = Lens.lens (\GetCustomDataIdentifierResponse' {tags} -> tags) (\s@GetCustomDataIdentifierResponse' {} a -> s {tags = a} :: GetCustomDataIdentifierResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getCustomDataIdentifierResponse_httpStatus :: Lens.Lens' GetCustomDataIdentifierResponse Prelude.Int+getCustomDataIdentifierResponse_httpStatus = Lens.lens (\GetCustomDataIdentifierResponse' {httpStatus} -> httpStatus) (\s@GetCustomDataIdentifierResponse' {} a -> s {httpStatus = a} :: GetCustomDataIdentifierResponse)++instance+ Prelude.NFData+ GetCustomDataIdentifierResponse+ where+ rnf GetCustomDataIdentifierResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf deleted+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf ignoreWords+ `Prelude.seq` Prelude.rnf keywords+ `Prelude.seq` Prelude.rnf maximumMatchDistance+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf regex+ `Prelude.seq` Prelude.rnf severityLevels+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetFindingStatistics.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.MacieV2.GetFindingStatistics+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves (queries) aggregated statistical data about findings.+module Amazonka.MacieV2.GetFindingStatistics+ ( -- * Creating a Request+ GetFindingStatistics (..),+ newGetFindingStatistics,++ -- * Request Lenses+ getFindingStatistics_findingCriteria,+ getFindingStatistics_size,+ getFindingStatistics_sortCriteria,+ getFindingStatistics_groupBy,++ -- * Destructuring the Response+ GetFindingStatisticsResponse (..),+ newGetFindingStatisticsResponse,++ -- * Response Lenses+ getFindingStatisticsResponse_countsByGroup,+ getFindingStatisticsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetFindingStatistics' smart constructor.+data GetFindingStatistics = GetFindingStatistics'+ { -- | The criteria to use to filter the query results.+ findingCriteria :: Prelude.Maybe FindingCriteria,+ -- | The maximum number of items to include in each page of the response.+ size :: Prelude.Maybe Prelude.Int,+ -- | The criteria to use to sort the query results.+ sortCriteria :: Prelude.Maybe FindingStatisticsSortCriteria,+ -- | The finding property to use to group the query results. Valid values+ -- are:+ --+ -- - classificationDetails.jobId - The unique identifier for the+ -- classification job that produced the finding.+ --+ -- - resourcesAffected.s3Bucket.name - The name of the S3 bucket that the+ -- finding applies to.+ --+ -- - severity.description - The severity level of the finding, such as+ -- High or Medium.+ --+ -- - type - The type of finding, such as Policy:IAMUser\/S3BucketPublic+ -- and SensitiveData:S3Object\/Personal.+ groupBy :: GroupBy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFindingStatistics' 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:+--+-- 'findingCriteria', 'getFindingStatistics_findingCriteria' - The criteria to use to filter the query results.+--+-- 'size', 'getFindingStatistics_size' - The maximum number of items to include in each page of the response.+--+-- 'sortCriteria', 'getFindingStatistics_sortCriteria' - The criteria to use to sort the query results.+--+-- 'groupBy', 'getFindingStatistics_groupBy' - The finding property to use to group the query results. Valid values+-- are:+--+-- - classificationDetails.jobId - The unique identifier for the+-- classification job that produced the finding.+--+-- - resourcesAffected.s3Bucket.name - The name of the S3 bucket that the+-- finding applies to.+--+-- - severity.description - The severity level of the finding, such as+-- High or Medium.+--+-- - type - The type of finding, such as Policy:IAMUser\/S3BucketPublic+-- and SensitiveData:S3Object\/Personal.+newGetFindingStatistics ::+ -- | 'groupBy'+ GroupBy ->+ GetFindingStatistics+newGetFindingStatistics pGroupBy_ =+ GetFindingStatistics'+ { findingCriteria =+ Prelude.Nothing,+ size = Prelude.Nothing,+ sortCriteria = Prelude.Nothing,+ groupBy = pGroupBy_+ }++-- | The criteria to use to filter the query results.+getFindingStatistics_findingCriteria :: Lens.Lens' GetFindingStatistics (Prelude.Maybe FindingCriteria)+getFindingStatistics_findingCriteria = Lens.lens (\GetFindingStatistics' {findingCriteria} -> findingCriteria) (\s@GetFindingStatistics' {} a -> s {findingCriteria = a} :: GetFindingStatistics)++-- | The maximum number of items to include in each page of the response.+getFindingStatistics_size :: Lens.Lens' GetFindingStatistics (Prelude.Maybe Prelude.Int)+getFindingStatistics_size = Lens.lens (\GetFindingStatistics' {size} -> size) (\s@GetFindingStatistics' {} a -> s {size = a} :: GetFindingStatistics)++-- | The criteria to use to sort the query results.+getFindingStatistics_sortCriteria :: Lens.Lens' GetFindingStatistics (Prelude.Maybe FindingStatisticsSortCriteria)+getFindingStatistics_sortCriteria = Lens.lens (\GetFindingStatistics' {sortCriteria} -> sortCriteria) (\s@GetFindingStatistics' {} a -> s {sortCriteria = a} :: GetFindingStatistics)++-- | The finding property to use to group the query results. Valid values+-- are:+--+-- - classificationDetails.jobId - The unique identifier for the+-- classification job that produced the finding.+--+-- - resourcesAffected.s3Bucket.name - The name of the S3 bucket that the+-- finding applies to.+--+-- - severity.description - The severity level of the finding, such as+-- High or Medium.+--+-- - type - The type of finding, such as Policy:IAMUser\/S3BucketPublic+-- and SensitiveData:S3Object\/Personal.+getFindingStatistics_groupBy :: Lens.Lens' GetFindingStatistics GroupBy+getFindingStatistics_groupBy = Lens.lens (\GetFindingStatistics' {groupBy} -> groupBy) (\s@GetFindingStatistics' {} a -> s {groupBy = a} :: GetFindingStatistics)++instance Core.AWSRequest GetFindingStatistics where+ type+ AWSResponse GetFindingStatistics =+ GetFindingStatisticsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetFindingStatisticsResponse'+ Prelude.<$> (x Data..?> "countsByGroup" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetFindingStatistics where+ hashWithSalt _salt GetFindingStatistics' {..} =+ _salt+ `Prelude.hashWithSalt` findingCriteria+ `Prelude.hashWithSalt` size+ `Prelude.hashWithSalt` sortCriteria+ `Prelude.hashWithSalt` groupBy++instance Prelude.NFData GetFindingStatistics where+ rnf GetFindingStatistics' {..} =+ Prelude.rnf findingCriteria+ `Prelude.seq` Prelude.rnf size+ `Prelude.seq` Prelude.rnf sortCriteria+ `Prelude.seq` Prelude.rnf groupBy++instance Data.ToHeaders GetFindingStatistics where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetFindingStatistics where+ toJSON GetFindingStatistics' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("findingCriteria" Data..=)+ Prelude.<$> findingCriteria,+ ("size" Data..=) Prelude.<$> size,+ ("sortCriteria" Data..=) Prelude.<$> sortCriteria,+ Prelude.Just ("groupBy" Data..= groupBy)+ ]+ )++instance Data.ToPath GetFindingStatistics where+ toPath = Prelude.const "/findings/statistics"++instance Data.ToQuery GetFindingStatistics where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetFindingStatisticsResponse' smart constructor.+data GetFindingStatisticsResponse = GetFindingStatisticsResponse'+ { -- | An array of objects, one for each group of findings that matches the+ -- filter criteria specified in the request.+ countsByGroup :: Prelude.Maybe [GroupCount],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFindingStatisticsResponse' 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:+--+-- 'countsByGroup', 'getFindingStatisticsResponse_countsByGroup' - An array of objects, one for each group of findings that matches the+-- filter criteria specified in the request.+--+-- 'httpStatus', 'getFindingStatisticsResponse_httpStatus' - The response's http status code.+newGetFindingStatisticsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetFindingStatisticsResponse+newGetFindingStatisticsResponse pHttpStatus_ =+ GetFindingStatisticsResponse'+ { countsByGroup =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each group of findings that matches the+-- filter criteria specified in the request.+getFindingStatisticsResponse_countsByGroup :: Lens.Lens' GetFindingStatisticsResponse (Prelude.Maybe [GroupCount])+getFindingStatisticsResponse_countsByGroup = Lens.lens (\GetFindingStatisticsResponse' {countsByGroup} -> countsByGroup) (\s@GetFindingStatisticsResponse' {} a -> s {countsByGroup = a} :: GetFindingStatisticsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getFindingStatisticsResponse_httpStatus :: Lens.Lens' GetFindingStatisticsResponse Prelude.Int+getFindingStatisticsResponse_httpStatus = Lens.lens (\GetFindingStatisticsResponse' {httpStatus} -> httpStatus) (\s@GetFindingStatisticsResponse' {} a -> s {httpStatus = a} :: GetFindingStatisticsResponse)++instance Prelude.NFData GetFindingStatisticsResponse where+ rnf GetFindingStatisticsResponse' {..} =+ Prelude.rnf countsByGroup+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetFindings.hs view
@@ -0,0 +1,186 @@+{-# 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.MacieV2.GetFindings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the details of one or more findings.+module Amazonka.MacieV2.GetFindings+ ( -- * Creating a Request+ GetFindings (..),+ newGetFindings,++ -- * Request Lenses+ getFindings_sortCriteria,+ getFindings_findingIds,++ -- * Destructuring the Response+ GetFindingsResponse (..),+ newGetFindingsResponse,++ -- * Response Lenses+ getFindingsResponse_findings,+ getFindingsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetFindings' smart constructor.+data GetFindings = GetFindings'+ { -- | The criteria for sorting the results of the request.+ sortCriteria :: Prelude.Maybe SortCriteria,+ -- | An array of strings that lists the unique identifiers for the findings+ -- to retrieve. You can specify as many as 50 unique identifiers in this+ -- array.+ findingIds :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFindings' 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:+--+-- 'sortCriteria', 'getFindings_sortCriteria' - The criteria for sorting the results of the request.+--+-- 'findingIds', 'getFindings_findingIds' - An array of strings that lists the unique identifiers for the findings+-- to retrieve. You can specify as many as 50 unique identifiers in this+-- array.+newGetFindings ::+ GetFindings+newGetFindings =+ GetFindings'+ { sortCriteria = Prelude.Nothing,+ findingIds = Prelude.mempty+ }++-- | The criteria for sorting the results of the request.+getFindings_sortCriteria :: Lens.Lens' GetFindings (Prelude.Maybe SortCriteria)+getFindings_sortCriteria = Lens.lens (\GetFindings' {sortCriteria} -> sortCriteria) (\s@GetFindings' {} a -> s {sortCriteria = a} :: GetFindings)++-- | An array of strings that lists the unique identifiers for the findings+-- to retrieve. You can specify as many as 50 unique identifiers in this+-- array.+getFindings_findingIds :: Lens.Lens' GetFindings [Prelude.Text]+getFindings_findingIds = Lens.lens (\GetFindings' {findingIds} -> findingIds) (\s@GetFindings' {} a -> s {findingIds = a} :: GetFindings) Prelude.. Lens.coerced++instance Core.AWSRequest GetFindings where+ type AWSResponse GetFindings = GetFindingsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetFindingsResponse'+ Prelude.<$> (x Data..?> "findings" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetFindings where+ hashWithSalt _salt GetFindings' {..} =+ _salt+ `Prelude.hashWithSalt` sortCriteria+ `Prelude.hashWithSalt` findingIds++instance Prelude.NFData GetFindings where+ rnf GetFindings' {..} =+ Prelude.rnf sortCriteria+ `Prelude.seq` Prelude.rnf findingIds++instance Data.ToHeaders GetFindings where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetFindings where+ toJSON GetFindings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("sortCriteria" Data..=) Prelude.<$> sortCriteria,+ Prelude.Just ("findingIds" Data..= findingIds)+ ]+ )++instance Data.ToPath GetFindings where+ toPath = Prelude.const "/findings/describe"++instance Data.ToQuery GetFindings where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetFindingsResponse' smart constructor.+data GetFindingsResponse = GetFindingsResponse'+ { -- | An array of objects, one for each finding that matches the criteria+ -- specified in the request.+ findings :: Prelude.Maybe [Finding],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFindingsResponse' 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:+--+-- 'findings', 'getFindingsResponse_findings' - An array of objects, one for each finding that matches the criteria+-- specified in the request.+--+-- 'httpStatus', 'getFindingsResponse_httpStatus' - The response's http status code.+newGetFindingsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetFindingsResponse+newGetFindingsResponse pHttpStatus_ =+ GetFindingsResponse'+ { findings = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each finding that matches the criteria+-- specified in the request.+getFindingsResponse_findings :: Lens.Lens' GetFindingsResponse (Prelude.Maybe [Finding])+getFindingsResponse_findings = Lens.lens (\GetFindingsResponse' {findings} -> findings) (\s@GetFindingsResponse' {} a -> s {findings = a} :: GetFindingsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getFindingsResponse_httpStatus :: Lens.Lens' GetFindingsResponse Prelude.Int+getFindingsResponse_httpStatus = Lens.lens (\GetFindingsResponse' {httpStatus} -> httpStatus) (\s@GetFindingsResponse' {} a -> s {httpStatus = a} :: GetFindingsResponse)++instance Prelude.NFData GetFindingsResponse where+ rnf GetFindingsResponse' {..} =+ Prelude.rnf findings+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetFindingsFilter.hs view
@@ -0,0 +1,266 @@+{-# 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.MacieV2.GetFindingsFilter+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the criteria and other settings for a findings filter.+module Amazonka.MacieV2.GetFindingsFilter+ ( -- * Creating a Request+ GetFindingsFilter (..),+ newGetFindingsFilter,++ -- * Request Lenses+ getFindingsFilter_id,++ -- * Destructuring the Response+ GetFindingsFilterResponse (..),+ newGetFindingsFilterResponse,++ -- * Response Lenses+ getFindingsFilterResponse_action,+ getFindingsFilterResponse_arn,+ getFindingsFilterResponse_description,+ getFindingsFilterResponse_findingCriteria,+ getFindingsFilterResponse_id,+ getFindingsFilterResponse_name,+ getFindingsFilterResponse_position,+ getFindingsFilterResponse_tags,+ getFindingsFilterResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetFindingsFilter' smart constructor.+data GetFindingsFilter = GetFindingsFilter'+ { -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFindingsFilter' 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', 'getFindingsFilter_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newGetFindingsFilter ::+ -- | 'id'+ Prelude.Text ->+ GetFindingsFilter+newGetFindingsFilter pId_ =+ GetFindingsFilter' {id = pId_}++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+getFindingsFilter_id :: Lens.Lens' GetFindingsFilter Prelude.Text+getFindingsFilter_id = Lens.lens (\GetFindingsFilter' {id} -> id) (\s@GetFindingsFilter' {} a -> s {id = a} :: GetFindingsFilter)++instance Core.AWSRequest GetFindingsFilter where+ type+ AWSResponse GetFindingsFilter =+ GetFindingsFilterResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetFindingsFilterResponse'+ Prelude.<$> (x Data..?> "action")+ Prelude.<*> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "description")+ Prelude.<*> (x Data..?> "findingCriteria")+ Prelude.<*> (x Data..?> "id")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (x Data..?> "position")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetFindingsFilter where+ hashWithSalt _salt GetFindingsFilter' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetFindingsFilter where+ rnf GetFindingsFilter' {..} = Prelude.rnf id++instance Data.ToHeaders GetFindingsFilter where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetFindingsFilter where+ toPath GetFindingsFilter' {..} =+ Prelude.mconcat ["/findingsfilters/", Data.toBS id]++instance Data.ToQuery GetFindingsFilter where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetFindingsFilterResponse' smart constructor.+data GetFindingsFilterResponse = GetFindingsFilterResponse'+ { -- | The action that\'s performed on findings that match the filter criteria+ -- (findingCriteria). Possible values are: ARCHIVE, suppress (automatically+ -- archive) the findings; and, NOOP, don\'t perform any action on the+ -- findings.+ action :: Prelude.Maybe FindingsFilterAction,+ -- | The Amazon Resource Name (ARN) of the filter.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The custom description of the filter.+ description :: Prelude.Maybe Prelude.Text,+ -- | The criteria that\'s used to filter findings.+ findingCriteria :: Prelude.Maybe FindingCriteria,+ -- | The unique identifier for the filter.+ id :: Prelude.Maybe Prelude.Text,+ -- | The custom name of the filter.+ name :: Prelude.Maybe Prelude.Text,+ -- | The position of the filter in the list of saved filters on the Amazon+ -- Macie console. This value also determines the order in which the filter+ -- is applied to findings, relative to other filters that are also applied+ -- to the findings.+ position :: Prelude.Maybe Prelude.Int,+ -- | A map of key-value pairs that specifies which tags (keys and values) are+ -- associated with the filter.+ 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 'GetFindingsFilterResponse' 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', 'getFindingsFilterResponse_action' - The action that\'s performed on findings that match the filter criteria+-- (findingCriteria). Possible values are: ARCHIVE, suppress (automatically+-- archive) the findings; and, NOOP, don\'t perform any action on the+-- findings.+--+-- 'arn', 'getFindingsFilterResponse_arn' - The Amazon Resource Name (ARN) of the filter.+--+-- 'description', 'getFindingsFilterResponse_description' - The custom description of the filter.+--+-- 'findingCriteria', 'getFindingsFilterResponse_findingCriteria' - The criteria that\'s used to filter findings.+--+-- 'id', 'getFindingsFilterResponse_id' - The unique identifier for the filter.+--+-- 'name', 'getFindingsFilterResponse_name' - The custom name of the filter.+--+-- 'position', 'getFindingsFilterResponse_position' - The position of the filter in the list of saved filters on the Amazon+-- Macie console. This value also determines the order in which the filter+-- is applied to findings, relative to other filters that are also applied+-- to the findings.+--+-- 'tags', 'getFindingsFilterResponse_tags' - A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the filter.+--+-- 'httpStatus', 'getFindingsFilterResponse_httpStatus' - The response's http status code.+newGetFindingsFilterResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetFindingsFilterResponse+newGetFindingsFilterResponse pHttpStatus_ =+ GetFindingsFilterResponse'+ { action =+ Prelude.Nothing,+ arn = Prelude.Nothing,+ description = Prelude.Nothing,+ findingCriteria = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ position = Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The action that\'s performed on findings that match the filter criteria+-- (findingCriteria). Possible values are: ARCHIVE, suppress (automatically+-- archive) the findings; and, NOOP, don\'t perform any action on the+-- findings.+getFindingsFilterResponse_action :: Lens.Lens' GetFindingsFilterResponse (Prelude.Maybe FindingsFilterAction)+getFindingsFilterResponse_action = Lens.lens (\GetFindingsFilterResponse' {action} -> action) (\s@GetFindingsFilterResponse' {} a -> s {action = a} :: GetFindingsFilterResponse)++-- | The Amazon Resource Name (ARN) of the filter.+getFindingsFilterResponse_arn :: Lens.Lens' GetFindingsFilterResponse (Prelude.Maybe Prelude.Text)+getFindingsFilterResponse_arn = Lens.lens (\GetFindingsFilterResponse' {arn} -> arn) (\s@GetFindingsFilterResponse' {} a -> s {arn = a} :: GetFindingsFilterResponse)++-- | The custom description of the filter.+getFindingsFilterResponse_description :: Lens.Lens' GetFindingsFilterResponse (Prelude.Maybe Prelude.Text)+getFindingsFilterResponse_description = Lens.lens (\GetFindingsFilterResponse' {description} -> description) (\s@GetFindingsFilterResponse' {} a -> s {description = a} :: GetFindingsFilterResponse)++-- | The criteria that\'s used to filter findings.+getFindingsFilterResponse_findingCriteria :: Lens.Lens' GetFindingsFilterResponse (Prelude.Maybe FindingCriteria)+getFindingsFilterResponse_findingCriteria = Lens.lens (\GetFindingsFilterResponse' {findingCriteria} -> findingCriteria) (\s@GetFindingsFilterResponse' {} a -> s {findingCriteria = a} :: GetFindingsFilterResponse)++-- | The unique identifier for the filter.+getFindingsFilterResponse_id :: Lens.Lens' GetFindingsFilterResponse (Prelude.Maybe Prelude.Text)+getFindingsFilterResponse_id = Lens.lens (\GetFindingsFilterResponse' {id} -> id) (\s@GetFindingsFilterResponse' {} a -> s {id = a} :: GetFindingsFilterResponse)++-- | The custom name of the filter.+getFindingsFilterResponse_name :: Lens.Lens' GetFindingsFilterResponse (Prelude.Maybe Prelude.Text)+getFindingsFilterResponse_name = Lens.lens (\GetFindingsFilterResponse' {name} -> name) (\s@GetFindingsFilterResponse' {} a -> s {name = a} :: GetFindingsFilterResponse)++-- | The position of the filter in the list of saved filters on the Amazon+-- Macie console. This value also determines the order in which the filter+-- is applied to findings, relative to other filters that are also applied+-- to the findings.+getFindingsFilterResponse_position :: Lens.Lens' GetFindingsFilterResponse (Prelude.Maybe Prelude.Int)+getFindingsFilterResponse_position = Lens.lens (\GetFindingsFilterResponse' {position} -> position) (\s@GetFindingsFilterResponse' {} a -> s {position = a} :: GetFindingsFilterResponse)++-- | A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the filter.+getFindingsFilterResponse_tags :: Lens.Lens' GetFindingsFilterResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getFindingsFilterResponse_tags = Lens.lens (\GetFindingsFilterResponse' {tags} -> tags) (\s@GetFindingsFilterResponse' {} a -> s {tags = a} :: GetFindingsFilterResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getFindingsFilterResponse_httpStatus :: Lens.Lens' GetFindingsFilterResponse Prelude.Int+getFindingsFilterResponse_httpStatus = Lens.lens (\GetFindingsFilterResponse' {httpStatus} -> httpStatus) (\s@GetFindingsFilterResponse' {} a -> s {httpStatus = a} :: GetFindingsFilterResponse)++instance Prelude.NFData GetFindingsFilterResponse where+ rnf GetFindingsFilterResponse' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf findingCriteria+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf position+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetFindingsPublicationConfiguration.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.MacieV2.GetFindingsPublicationConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the configuration settings for publishing findings to Security+-- Hub.+module Amazonka.MacieV2.GetFindingsPublicationConfiguration+ ( -- * Creating a Request+ GetFindingsPublicationConfiguration (..),+ newGetFindingsPublicationConfiguration,++ -- * Destructuring the Response+ GetFindingsPublicationConfigurationResponse (..),+ newGetFindingsPublicationConfigurationResponse,++ -- * Response Lenses+ getFindingsPublicationConfigurationResponse_securityHubConfiguration,+ getFindingsPublicationConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetFindingsPublicationConfiguration' smart constructor.+data GetFindingsPublicationConfiguration = GetFindingsPublicationConfiguration'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFindingsPublicationConfiguration' 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.+newGetFindingsPublicationConfiguration ::+ GetFindingsPublicationConfiguration+newGetFindingsPublicationConfiguration =+ GetFindingsPublicationConfiguration'++instance+ Core.AWSRequest+ GetFindingsPublicationConfiguration+ where+ type+ AWSResponse GetFindingsPublicationConfiguration =+ GetFindingsPublicationConfigurationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetFindingsPublicationConfigurationResponse'+ Prelude.<$> (x Data..?> "securityHubConfiguration")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetFindingsPublicationConfiguration+ where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance+ Prelude.NFData+ GetFindingsPublicationConfiguration+ where+ rnf _ = ()++instance+ Data.ToHeaders+ GetFindingsPublicationConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ GetFindingsPublicationConfiguration+ where+ toPath =+ Prelude.const "/findings-publication-configuration"++instance+ Data.ToQuery+ GetFindingsPublicationConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetFindingsPublicationConfigurationResponse' smart constructor.+data GetFindingsPublicationConfigurationResponse = GetFindingsPublicationConfigurationResponse'+ { -- | The configuration settings that determine which findings are published+ -- to Security Hub.+ securityHubConfiguration :: Prelude.Maybe SecurityHubConfiguration,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetFindingsPublicationConfigurationResponse' 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:+--+-- 'securityHubConfiguration', 'getFindingsPublicationConfigurationResponse_securityHubConfiguration' - The configuration settings that determine which findings are published+-- to Security Hub.+--+-- 'httpStatus', 'getFindingsPublicationConfigurationResponse_httpStatus' - The response's http status code.+newGetFindingsPublicationConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetFindingsPublicationConfigurationResponse+newGetFindingsPublicationConfigurationResponse+ pHttpStatus_ =+ GetFindingsPublicationConfigurationResponse'+ { securityHubConfiguration =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The configuration settings that determine which findings are published+-- to Security Hub.+getFindingsPublicationConfigurationResponse_securityHubConfiguration :: Lens.Lens' GetFindingsPublicationConfigurationResponse (Prelude.Maybe SecurityHubConfiguration)+getFindingsPublicationConfigurationResponse_securityHubConfiguration = Lens.lens (\GetFindingsPublicationConfigurationResponse' {securityHubConfiguration} -> securityHubConfiguration) (\s@GetFindingsPublicationConfigurationResponse' {} a -> s {securityHubConfiguration = a} :: GetFindingsPublicationConfigurationResponse)++-- | The response's http status code.+getFindingsPublicationConfigurationResponse_httpStatus :: Lens.Lens' GetFindingsPublicationConfigurationResponse Prelude.Int+getFindingsPublicationConfigurationResponse_httpStatus = Lens.lens (\GetFindingsPublicationConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetFindingsPublicationConfigurationResponse' {} a -> s {httpStatus = a} :: GetFindingsPublicationConfigurationResponse)++instance+ Prelude.NFData+ GetFindingsPublicationConfigurationResponse+ where+ rnf GetFindingsPublicationConfigurationResponse' {..} =+ Prelude.rnf securityHubConfiguration+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetInvitationsCount.hs view
@@ -0,0 +1,145 @@+{-# 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.MacieV2.GetInvitationsCount+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the count of Amazon Macie membership invitations that were+-- received by an account.+module Amazonka.MacieV2.GetInvitationsCount+ ( -- * Creating a Request+ GetInvitationsCount (..),+ newGetInvitationsCount,++ -- * Destructuring the Response+ GetInvitationsCountResponse (..),+ newGetInvitationsCountResponse,++ -- * Response Lenses+ getInvitationsCountResponse_invitationsCount,+ getInvitationsCountResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetInvitationsCount' smart constructor.+data GetInvitationsCount = GetInvitationsCount'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetInvitationsCount' 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.+newGetInvitationsCount ::+ GetInvitationsCount+newGetInvitationsCount = GetInvitationsCount'++instance Core.AWSRequest GetInvitationsCount where+ type+ AWSResponse GetInvitationsCount =+ GetInvitationsCountResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetInvitationsCountResponse'+ Prelude.<$> (x Data..?> "invitationsCount")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetInvitationsCount where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetInvitationsCount where+ rnf _ = ()++instance Data.ToHeaders GetInvitationsCount where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetInvitationsCount where+ toPath = Prelude.const "/invitations/count"++instance Data.ToQuery GetInvitationsCount where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetInvitationsCountResponse' smart constructor.+data GetInvitationsCountResponse = GetInvitationsCountResponse'+ { -- | The total number of invitations that were received by the account, not+ -- including the currently accepted invitation.+ invitationsCount :: Prelude.Maybe Prelude.Integer,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetInvitationsCountResponse' 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:+--+-- 'invitationsCount', 'getInvitationsCountResponse_invitationsCount' - The total number of invitations that were received by the account, not+-- including the currently accepted invitation.+--+-- 'httpStatus', 'getInvitationsCountResponse_httpStatus' - The response's http status code.+newGetInvitationsCountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetInvitationsCountResponse+newGetInvitationsCountResponse pHttpStatus_ =+ GetInvitationsCountResponse'+ { invitationsCount =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The total number of invitations that were received by the account, not+-- including the currently accepted invitation.+getInvitationsCountResponse_invitationsCount :: Lens.Lens' GetInvitationsCountResponse (Prelude.Maybe Prelude.Integer)+getInvitationsCountResponse_invitationsCount = Lens.lens (\GetInvitationsCountResponse' {invitationsCount} -> invitationsCount) (\s@GetInvitationsCountResponse' {} a -> s {invitationsCount = a} :: GetInvitationsCountResponse)++-- | The response's http status code.+getInvitationsCountResponse_httpStatus :: Lens.Lens' GetInvitationsCountResponse Prelude.Int+getInvitationsCountResponse_httpStatus = Lens.lens (\GetInvitationsCountResponse' {httpStatus} -> httpStatus) (\s@GetInvitationsCountResponse' {} a -> s {httpStatus = a} :: GetInvitationsCountResponse)++instance Prelude.NFData GetInvitationsCountResponse where+ rnf GetInvitationsCountResponse' {..} =+ Prelude.rnf invitationsCount+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetMacieSession.hs view
@@ -0,0 +1,217 @@+{-# 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.MacieV2.GetMacieSession+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the status and configuration settings for an Amazon Macie+-- account.+module Amazonka.MacieV2.GetMacieSession+ ( -- * Creating a Request+ GetMacieSession (..),+ newGetMacieSession,++ -- * Destructuring the Response+ GetMacieSessionResponse (..),+ newGetMacieSessionResponse,++ -- * Response Lenses+ getMacieSessionResponse_createdAt,+ getMacieSessionResponse_findingPublishingFrequency,+ getMacieSessionResponse_serviceRole,+ getMacieSessionResponse_status,+ getMacieSessionResponse_updatedAt,+ getMacieSessionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetMacieSession' smart constructor.+data GetMacieSession = GetMacieSession'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMacieSession' 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.+newGetMacieSession ::+ GetMacieSession+newGetMacieSession = GetMacieSession'++instance Core.AWSRequest GetMacieSession where+ type+ AWSResponse GetMacieSession =+ GetMacieSessionResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetMacieSessionResponse'+ Prelude.<$> (x Data..?> "createdAt")+ Prelude.<*> (x Data..?> "findingPublishingFrequency")+ Prelude.<*> (x Data..?> "serviceRole")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (x Data..?> "updatedAt")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetMacieSession where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetMacieSession where+ rnf _ = ()++instance Data.ToHeaders GetMacieSession where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetMacieSession where+ toPath = Prelude.const "/macie"++instance Data.ToQuery GetMacieSession where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMacieSessionResponse' smart constructor.+data GetMacieSessionResponse = GetMacieSessionResponse'+ { -- | The date and time, in UTC and extended ISO 8601 format, when the Amazon+ -- Macie account was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The frequency with which Amazon Macie publishes updates to policy+ -- findings for the account. This includes publishing updates to Security+ -- Hub and Amazon EventBridge (formerly Amazon CloudWatch Events).+ findingPublishingFrequency :: Prelude.Maybe FindingPublishingFrequency,+ -- | The Amazon Resource Name (ARN) of the service-linked role that allows+ -- Amazon Macie to monitor and analyze data in Amazon Web Services+ -- resources for the account.+ serviceRole :: Prelude.Maybe Prelude.Text,+ -- | The current status of the Amazon Macie account. Possible values are:+ -- PAUSED, the account is enabled but all Macie activities are suspended+ -- (paused) for the account; and, ENABLED, the account is enabled and all+ -- Macie activities are enabled for the account.+ status :: Prelude.Maybe MacieStatus,+ -- | The date and time, in UTC and extended ISO 8601 format, of the most+ -- recent change to the status of the Amazon Macie account.+ updatedAt :: Prelude.Maybe Data.ISO8601,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMacieSessionResponse' 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:+--+-- 'createdAt', 'getMacieSessionResponse_createdAt' - The date and time, in UTC and extended ISO 8601 format, when the Amazon+-- Macie account was created.+--+-- 'findingPublishingFrequency', 'getMacieSessionResponse_findingPublishingFrequency' - The frequency with which Amazon Macie publishes updates to policy+-- findings for the account. This includes publishing updates to Security+-- Hub and Amazon EventBridge (formerly Amazon CloudWatch Events).+--+-- 'serviceRole', 'getMacieSessionResponse_serviceRole' - The Amazon Resource Name (ARN) of the service-linked role that allows+-- Amazon Macie to monitor and analyze data in Amazon Web Services+-- resources for the account.+--+-- 'status', 'getMacieSessionResponse_status' - The current status of the Amazon Macie account. Possible values are:+-- PAUSED, the account is enabled but all Macie activities are suspended+-- (paused) for the account; and, ENABLED, the account is enabled and all+-- Macie activities are enabled for the account.+--+-- 'updatedAt', 'getMacieSessionResponse_updatedAt' - The date and time, in UTC and extended ISO 8601 format, of the most+-- recent change to the status of the Amazon Macie account.+--+-- 'httpStatus', 'getMacieSessionResponse_httpStatus' - The response's http status code.+newGetMacieSessionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetMacieSessionResponse+newGetMacieSessionResponse pHttpStatus_ =+ GetMacieSessionResponse'+ { createdAt =+ Prelude.Nothing,+ findingPublishingFrequency = Prelude.Nothing,+ serviceRole = Prelude.Nothing,+ status = Prelude.Nothing,+ updatedAt = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The date and time, in UTC and extended ISO 8601 format, when the Amazon+-- Macie account was created.+getMacieSessionResponse_createdAt :: Lens.Lens' GetMacieSessionResponse (Prelude.Maybe Prelude.UTCTime)+getMacieSessionResponse_createdAt = Lens.lens (\GetMacieSessionResponse' {createdAt} -> createdAt) (\s@GetMacieSessionResponse' {} a -> s {createdAt = a} :: GetMacieSessionResponse) Prelude.. Lens.mapping Data._Time++-- | The frequency with which Amazon Macie publishes updates to policy+-- findings for the account. This includes publishing updates to Security+-- Hub and Amazon EventBridge (formerly Amazon CloudWatch Events).+getMacieSessionResponse_findingPublishingFrequency :: Lens.Lens' GetMacieSessionResponse (Prelude.Maybe FindingPublishingFrequency)+getMacieSessionResponse_findingPublishingFrequency = Lens.lens (\GetMacieSessionResponse' {findingPublishingFrequency} -> findingPublishingFrequency) (\s@GetMacieSessionResponse' {} a -> s {findingPublishingFrequency = a} :: GetMacieSessionResponse)++-- | The Amazon Resource Name (ARN) of the service-linked role that allows+-- Amazon Macie to monitor and analyze data in Amazon Web Services+-- resources for the account.+getMacieSessionResponse_serviceRole :: Lens.Lens' GetMacieSessionResponse (Prelude.Maybe Prelude.Text)+getMacieSessionResponse_serviceRole = Lens.lens (\GetMacieSessionResponse' {serviceRole} -> serviceRole) (\s@GetMacieSessionResponse' {} a -> s {serviceRole = a} :: GetMacieSessionResponse)++-- | The current status of the Amazon Macie account. Possible values are:+-- PAUSED, the account is enabled but all Macie activities are suspended+-- (paused) for the account; and, ENABLED, the account is enabled and all+-- Macie activities are enabled for the account.+getMacieSessionResponse_status :: Lens.Lens' GetMacieSessionResponse (Prelude.Maybe MacieStatus)+getMacieSessionResponse_status = Lens.lens (\GetMacieSessionResponse' {status} -> status) (\s@GetMacieSessionResponse' {} a -> s {status = a} :: GetMacieSessionResponse)++-- | The date and time, in UTC and extended ISO 8601 format, of the most+-- recent change to the status of the Amazon Macie account.+getMacieSessionResponse_updatedAt :: Lens.Lens' GetMacieSessionResponse (Prelude.Maybe Prelude.UTCTime)+getMacieSessionResponse_updatedAt = Lens.lens (\GetMacieSessionResponse' {updatedAt} -> updatedAt) (\s@GetMacieSessionResponse' {} a -> s {updatedAt = a} :: GetMacieSessionResponse) Prelude.. Lens.mapping Data._Time++-- | The response's http status code.+getMacieSessionResponse_httpStatus :: Lens.Lens' GetMacieSessionResponse Prelude.Int+getMacieSessionResponse_httpStatus = Lens.lens (\GetMacieSessionResponse' {httpStatus} -> httpStatus) (\s@GetMacieSessionResponse' {} a -> s {httpStatus = a} :: GetMacieSessionResponse)++instance Prelude.NFData GetMacieSessionResponse where+ rnf GetMacieSessionResponse' {..} =+ Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf findingPublishingFrequency+ `Prelude.seq` Prelude.rnf serviceRole+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf updatedAt+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetMasterAccount.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.GetMasterAccount+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- (Deprecated) Retrieves information about the Amazon Macie administrator+-- account for an account. This operation has been replaced by the+-- GetAdministratorAccount operation.+module Amazonka.MacieV2.GetMasterAccount+ ( -- * Creating a Request+ GetMasterAccount (..),+ newGetMasterAccount,++ -- * Destructuring the Response+ GetMasterAccountResponse (..),+ newGetMasterAccountResponse,++ -- * Response Lenses+ getMasterAccountResponse_master,+ getMasterAccountResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetMasterAccount' smart constructor.+data GetMasterAccount = GetMasterAccount'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMasterAccount' 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.+newGetMasterAccount ::+ GetMasterAccount+newGetMasterAccount = GetMasterAccount'++instance Core.AWSRequest GetMasterAccount where+ type+ AWSResponse GetMasterAccount =+ GetMasterAccountResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetMasterAccountResponse'+ Prelude.<$> (x Data..?> "master")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetMasterAccount where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetMasterAccount where+ rnf _ = ()++instance Data.ToHeaders GetMasterAccount where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetMasterAccount where+ toPath = Prelude.const "/master"++instance Data.ToQuery GetMasterAccount where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMasterAccountResponse' smart constructor.+data GetMasterAccountResponse = GetMasterAccountResponse'+ { -- | (Deprecated) The Amazon Web Services account ID for the administrator+ -- account. If the accounts are associated by a Macie membership+ -- invitation, this object also provides details about the invitation that+ -- was sent to establish the relationship between the accounts.+ master :: Prelude.Maybe Invitation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMasterAccountResponse' 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:+--+-- 'master', 'getMasterAccountResponse_master' - (Deprecated) The Amazon Web Services account ID for the administrator+-- account. If the accounts are associated by a Macie membership+-- invitation, this object also provides details about the invitation that+-- was sent to establish the relationship between the accounts.+--+-- 'httpStatus', 'getMasterAccountResponse_httpStatus' - The response's http status code.+newGetMasterAccountResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetMasterAccountResponse+newGetMasterAccountResponse pHttpStatus_ =+ GetMasterAccountResponse'+ { master = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | (Deprecated) The Amazon Web Services account ID for the administrator+-- account. If the accounts are associated by a Macie membership+-- invitation, this object also provides details about the invitation that+-- was sent to establish the relationship between the accounts.+getMasterAccountResponse_master :: Lens.Lens' GetMasterAccountResponse (Prelude.Maybe Invitation)+getMasterAccountResponse_master = Lens.lens (\GetMasterAccountResponse' {master} -> master) (\s@GetMasterAccountResponse' {} a -> s {master = a} :: GetMasterAccountResponse)++-- | The response's http status code.+getMasterAccountResponse_httpStatus :: Lens.Lens' GetMasterAccountResponse Prelude.Int+getMasterAccountResponse_httpStatus = Lens.lens (\GetMasterAccountResponse' {httpStatus} -> httpStatus) (\s@GetMasterAccountResponse' {} a -> s {httpStatus = a} :: GetMasterAccountResponse)++instance Prelude.NFData GetMasterAccountResponse where+ rnf GetMasterAccountResponse' {..} =+ Prelude.rnf master+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetMember.hs view
@@ -0,0 +1,278 @@+{-# 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.MacieV2.GetMember+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about an account that\'s associated with an Amazon+-- Macie administrator account.+module Amazonka.MacieV2.GetMember+ ( -- * Creating a Request+ GetMember (..),+ newGetMember,++ -- * Request Lenses+ getMember_id,++ -- * Destructuring the Response+ GetMemberResponse (..),+ newGetMemberResponse,++ -- * Response Lenses+ getMemberResponse_accountId,+ getMemberResponse_administratorAccountId,+ getMemberResponse_arn,+ getMemberResponse_email,+ getMemberResponse_invitedAt,+ getMemberResponse_masterAccountId,+ getMemberResponse_relationshipStatus,+ getMemberResponse_tags,+ getMemberResponse_updatedAt,+ getMemberResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetMember' smart constructor.+data GetMember = GetMember'+ { -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMember' 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', 'getMember_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newGetMember ::+ -- | 'id'+ Prelude.Text ->+ GetMember+newGetMember pId_ = GetMember' {id = pId_}++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+getMember_id :: Lens.Lens' GetMember Prelude.Text+getMember_id = Lens.lens (\GetMember' {id} -> id) (\s@GetMember' {} a -> s {id = a} :: GetMember)++instance Core.AWSRequest GetMember where+ type AWSResponse GetMember = GetMemberResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetMemberResponse'+ Prelude.<$> (x Data..?> "accountId")+ Prelude.<*> (x Data..?> "administratorAccountId")+ Prelude.<*> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "email")+ Prelude.<*> (x Data..?> "invitedAt")+ Prelude.<*> (x Data..?> "masterAccountId")+ Prelude.<*> (x Data..?> "relationshipStatus")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "updatedAt")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetMember where+ hashWithSalt _salt GetMember' {..} =+ _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetMember where+ rnf GetMember' {..} = Prelude.rnf id++instance Data.ToHeaders GetMember where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetMember where+ toPath GetMember' {..} =+ Prelude.mconcat ["/members/", Data.toBS id]++instance Data.ToQuery GetMember where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMemberResponse' smart constructor.+data GetMemberResponse = GetMemberResponse'+ { -- | The Amazon Web Services account ID for the account.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services account ID for the administrator account.+ administratorAccountId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the account.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The email address for the account.+ email :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when an Amazon+ -- Macie membership invitation was last sent to the account. This value is+ -- null if an invitation hasn\'t been sent to the account.+ invitedAt :: Prelude.Maybe Data.ISO8601,+ -- | (Deprecated) The Amazon Web Services account ID for the administrator+ -- account. This property has been replaced by the administratorAccountId+ -- property and is retained only for backward compatibility.+ masterAccountId :: Prelude.Maybe Prelude.Text,+ -- | The current status of the relationship between the account and the+ -- administrator account.+ relationshipStatus :: Prelude.Maybe RelationshipStatus,+ -- | A map of key-value pairs that specifies which tags (keys and values) are+ -- associated with the account in Amazon Macie.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The date and time, in UTC and extended ISO 8601 format, of the most+ -- recent change to the status of the relationship between the account and+ -- the administrator account.+ updatedAt :: Prelude.Maybe Data.ISO8601,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMemberResponse' 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:+--+-- 'accountId', 'getMemberResponse_accountId' - The Amazon Web Services account ID for the account.+--+-- 'administratorAccountId', 'getMemberResponse_administratorAccountId' - The Amazon Web Services account ID for the administrator account.+--+-- 'arn', 'getMemberResponse_arn' - The Amazon Resource Name (ARN) of the account.+--+-- 'email', 'getMemberResponse_email' - The email address for the account.+--+-- 'invitedAt', 'getMemberResponse_invitedAt' - The date and time, in UTC and extended ISO 8601 format, when an Amazon+-- Macie membership invitation was last sent to the account. This value is+-- null if an invitation hasn\'t been sent to the account.+--+-- 'masterAccountId', 'getMemberResponse_masterAccountId' - (Deprecated) The Amazon Web Services account ID for the administrator+-- account. This property has been replaced by the administratorAccountId+-- property and is retained only for backward compatibility.+--+-- 'relationshipStatus', 'getMemberResponse_relationshipStatus' - The current status of the relationship between the account and the+-- administrator account.+--+-- 'tags', 'getMemberResponse_tags' - A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the account in Amazon Macie.+--+-- 'updatedAt', 'getMemberResponse_updatedAt' - The date and time, in UTC and extended ISO 8601 format, of the most+-- recent change to the status of the relationship between the account and+-- the administrator account.+--+-- 'httpStatus', 'getMemberResponse_httpStatus' - The response's http status code.+newGetMemberResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetMemberResponse+newGetMemberResponse pHttpStatus_ =+ GetMemberResponse'+ { accountId = Prelude.Nothing,+ administratorAccountId = Prelude.Nothing,+ arn = Prelude.Nothing,+ email = Prelude.Nothing,+ invitedAt = Prelude.Nothing,+ masterAccountId = Prelude.Nothing,+ relationshipStatus = Prelude.Nothing,+ tags = Prelude.Nothing,+ updatedAt = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Web Services account ID for the account.+getMemberResponse_accountId :: Lens.Lens' GetMemberResponse (Prelude.Maybe Prelude.Text)+getMemberResponse_accountId = Lens.lens (\GetMemberResponse' {accountId} -> accountId) (\s@GetMemberResponse' {} a -> s {accountId = a} :: GetMemberResponse)++-- | The Amazon Web Services account ID for the administrator account.+getMemberResponse_administratorAccountId :: Lens.Lens' GetMemberResponse (Prelude.Maybe Prelude.Text)+getMemberResponse_administratorAccountId = Lens.lens (\GetMemberResponse' {administratorAccountId} -> administratorAccountId) (\s@GetMemberResponse' {} a -> s {administratorAccountId = a} :: GetMemberResponse)++-- | The Amazon Resource Name (ARN) of the account.+getMemberResponse_arn :: Lens.Lens' GetMemberResponse (Prelude.Maybe Prelude.Text)+getMemberResponse_arn = Lens.lens (\GetMemberResponse' {arn} -> arn) (\s@GetMemberResponse' {} a -> s {arn = a} :: GetMemberResponse)++-- | The email address for the account.+getMemberResponse_email :: Lens.Lens' GetMemberResponse (Prelude.Maybe Prelude.Text)+getMemberResponse_email = Lens.lens (\GetMemberResponse' {email} -> email) (\s@GetMemberResponse' {} a -> s {email = a} :: GetMemberResponse)++-- | The date and time, in UTC and extended ISO 8601 format, when an Amazon+-- Macie membership invitation was last sent to the account. This value is+-- null if an invitation hasn\'t been sent to the account.+getMemberResponse_invitedAt :: Lens.Lens' GetMemberResponse (Prelude.Maybe Prelude.UTCTime)+getMemberResponse_invitedAt = Lens.lens (\GetMemberResponse' {invitedAt} -> invitedAt) (\s@GetMemberResponse' {} a -> s {invitedAt = a} :: GetMemberResponse) Prelude.. Lens.mapping Data._Time++-- | (Deprecated) The Amazon Web Services account ID for the administrator+-- account. This property has been replaced by the administratorAccountId+-- property and is retained only for backward compatibility.+getMemberResponse_masterAccountId :: Lens.Lens' GetMemberResponse (Prelude.Maybe Prelude.Text)+getMemberResponse_masterAccountId = Lens.lens (\GetMemberResponse' {masterAccountId} -> masterAccountId) (\s@GetMemberResponse' {} a -> s {masterAccountId = a} :: GetMemberResponse)++-- | The current status of the relationship between the account and the+-- administrator account.+getMemberResponse_relationshipStatus :: Lens.Lens' GetMemberResponse (Prelude.Maybe RelationshipStatus)+getMemberResponse_relationshipStatus = Lens.lens (\GetMemberResponse' {relationshipStatus} -> relationshipStatus) (\s@GetMemberResponse' {} a -> s {relationshipStatus = a} :: GetMemberResponse)++-- | A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the account in Amazon Macie.+getMemberResponse_tags :: Lens.Lens' GetMemberResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getMemberResponse_tags = Lens.lens (\GetMemberResponse' {tags} -> tags) (\s@GetMemberResponse' {} a -> s {tags = a} :: GetMemberResponse) Prelude.. Lens.mapping Lens.coerced++-- | The date and time, in UTC and extended ISO 8601 format, of the most+-- recent change to the status of the relationship between the account and+-- the administrator account.+getMemberResponse_updatedAt :: Lens.Lens' GetMemberResponse (Prelude.Maybe Prelude.UTCTime)+getMemberResponse_updatedAt = Lens.lens (\GetMemberResponse' {updatedAt} -> updatedAt) (\s@GetMemberResponse' {} a -> s {updatedAt = a} :: GetMemberResponse) Prelude.. Lens.mapping Data._Time++-- | The response's http status code.+getMemberResponse_httpStatus :: Lens.Lens' GetMemberResponse Prelude.Int+getMemberResponse_httpStatus = Lens.lens (\GetMemberResponse' {httpStatus} -> httpStatus) (\s@GetMemberResponse' {} a -> s {httpStatus = a} :: GetMemberResponse)++instance Prelude.NFData GetMemberResponse where+ rnf GetMemberResponse' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf administratorAccountId+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf email+ `Prelude.seq` Prelude.rnf invitedAt+ `Prelude.seq` Prelude.rnf masterAccountId+ `Prelude.seq` Prelude.rnf relationshipStatus+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf updatedAt+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetResourceProfile.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.MacieV2.GetResourceProfile+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves (queries) sensitive data discovery statistics and the+-- sensitivity score for an S3 bucket.+module Amazonka.MacieV2.GetResourceProfile+ ( -- * Creating a Request+ GetResourceProfile (..),+ newGetResourceProfile,++ -- * Request Lenses+ getResourceProfile_resourceArn,++ -- * Destructuring the Response+ GetResourceProfileResponse (..),+ newGetResourceProfileResponse,++ -- * Response Lenses+ getResourceProfileResponse_profileUpdatedAt,+ getResourceProfileResponse_sensitivityScore,+ getResourceProfileResponse_sensitivityScoreOverridden,+ getResourceProfileResponse_statistics,+ getResourceProfileResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetResourceProfile' smart constructor.+data GetResourceProfile = GetResourceProfile'+ { -- | The Amazon Resource Name (ARN) of the S3 bucket that the request applies+ -- to.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourceProfile' 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', 'getResourceProfile_resourceArn' - The Amazon Resource Name (ARN) of the S3 bucket that the request applies+-- to.+newGetResourceProfile ::+ -- | 'resourceArn'+ Prelude.Text ->+ GetResourceProfile+newGetResourceProfile pResourceArn_ =+ GetResourceProfile' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the S3 bucket that the request applies+-- to.+getResourceProfile_resourceArn :: Lens.Lens' GetResourceProfile Prelude.Text+getResourceProfile_resourceArn = Lens.lens (\GetResourceProfile' {resourceArn} -> resourceArn) (\s@GetResourceProfile' {} a -> s {resourceArn = a} :: GetResourceProfile)++instance Core.AWSRequest GetResourceProfile where+ type+ AWSResponse GetResourceProfile =+ GetResourceProfileResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetResourceProfileResponse'+ Prelude.<$> (x Data..?> "profileUpdatedAt")+ Prelude.<*> (x Data..?> "sensitivityScore")+ Prelude.<*> (x Data..?> "sensitivityScoreOverridden")+ Prelude.<*> (x Data..?> "statistics")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetResourceProfile where+ hashWithSalt _salt GetResourceProfile' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData GetResourceProfile where+ rnf GetResourceProfile' {..} = Prelude.rnf resourceArn++instance Data.ToHeaders GetResourceProfile where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetResourceProfile where+ toPath = Prelude.const "/resource-profiles"++instance Data.ToQuery GetResourceProfile where+ toQuery GetResourceProfile' {..} =+ Prelude.mconcat ["resourceArn" Data.=: resourceArn]++-- | /See:/ 'newGetResourceProfileResponse' smart constructor.+data GetResourceProfileResponse = GetResourceProfileResponse'+ { -- | The date and time, in UTC and extended ISO 8601 format, when Amazon+ -- Macie most recently recalculated sensitive data discovery statistics and+ -- details for the bucket. If the bucket\'s sensitivity score is calculated+ -- automatically, this includes the score.+ profileUpdatedAt :: Prelude.Maybe Data.ISO8601,+ -- | The current sensitivity score for the bucket, ranging from -1 (no+ -- analysis due to an error) to 100 (sensitive). By default, this score is+ -- calculated automatically based on the amount of data that Amazon Macie+ -- has analyzed in the bucket and the amount of sensitive data that Macie+ -- has found in the bucket.+ sensitivityScore :: Prelude.Maybe Prelude.Int,+ -- | Specifies whether the bucket\'s current sensitivity score was set+ -- manually. If this value is true, the score was manually changed to 100.+ -- If this value is false, the score was calculated automatically by Amazon+ -- Macie.+ sensitivityScoreOverridden :: Prelude.Maybe Prelude.Bool,+ -- | The sensitive data discovery statistics for the bucket. The statistics+ -- capture the results of automated sensitive data discovery activities+ -- that Amazon Macie has performed for the bucket.+ statistics :: Prelude.Maybe ResourceStatistics,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourceProfileResponse' 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:+--+-- 'profileUpdatedAt', 'getResourceProfileResponse_profileUpdatedAt' - The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie most recently recalculated sensitive data discovery statistics and+-- details for the bucket. If the bucket\'s sensitivity score is calculated+-- automatically, this includes the score.+--+-- 'sensitivityScore', 'getResourceProfileResponse_sensitivityScore' - The current sensitivity score for the bucket, ranging from -1 (no+-- analysis due to an error) to 100 (sensitive). By default, this score is+-- calculated automatically based on the amount of data that Amazon Macie+-- has analyzed in the bucket and the amount of sensitive data that Macie+-- has found in the bucket.+--+-- 'sensitivityScoreOverridden', 'getResourceProfileResponse_sensitivityScoreOverridden' - Specifies whether the bucket\'s current sensitivity score was set+-- manually. If this value is true, the score was manually changed to 100.+-- If this value is false, the score was calculated automatically by Amazon+-- Macie.+--+-- 'statistics', 'getResourceProfileResponse_statistics' - The sensitive data discovery statistics for the bucket. The statistics+-- capture the results of automated sensitive data discovery activities+-- that Amazon Macie has performed for the bucket.+--+-- 'httpStatus', 'getResourceProfileResponse_httpStatus' - The response's http status code.+newGetResourceProfileResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetResourceProfileResponse+newGetResourceProfileResponse pHttpStatus_ =+ GetResourceProfileResponse'+ { profileUpdatedAt =+ Prelude.Nothing,+ sensitivityScore = Prelude.Nothing,+ sensitivityScoreOverridden = Prelude.Nothing,+ statistics = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie most recently recalculated sensitive data discovery statistics and+-- details for the bucket. If the bucket\'s sensitivity score is calculated+-- automatically, this includes the score.+getResourceProfileResponse_profileUpdatedAt :: Lens.Lens' GetResourceProfileResponse (Prelude.Maybe Prelude.UTCTime)+getResourceProfileResponse_profileUpdatedAt = Lens.lens (\GetResourceProfileResponse' {profileUpdatedAt} -> profileUpdatedAt) (\s@GetResourceProfileResponse' {} a -> s {profileUpdatedAt = a} :: GetResourceProfileResponse) Prelude.. Lens.mapping Data._Time++-- | The current sensitivity score for the bucket, ranging from -1 (no+-- analysis due to an error) to 100 (sensitive). By default, this score is+-- calculated automatically based on the amount of data that Amazon Macie+-- has analyzed in the bucket and the amount of sensitive data that Macie+-- has found in the bucket.+getResourceProfileResponse_sensitivityScore :: Lens.Lens' GetResourceProfileResponse (Prelude.Maybe Prelude.Int)+getResourceProfileResponse_sensitivityScore = Lens.lens (\GetResourceProfileResponse' {sensitivityScore} -> sensitivityScore) (\s@GetResourceProfileResponse' {} a -> s {sensitivityScore = a} :: GetResourceProfileResponse)++-- | Specifies whether the bucket\'s current sensitivity score was set+-- manually. If this value is true, the score was manually changed to 100.+-- If this value is false, the score was calculated automatically by Amazon+-- Macie.+getResourceProfileResponse_sensitivityScoreOverridden :: Lens.Lens' GetResourceProfileResponse (Prelude.Maybe Prelude.Bool)+getResourceProfileResponse_sensitivityScoreOverridden = Lens.lens (\GetResourceProfileResponse' {sensitivityScoreOverridden} -> sensitivityScoreOverridden) (\s@GetResourceProfileResponse' {} a -> s {sensitivityScoreOverridden = a} :: GetResourceProfileResponse)++-- | The sensitive data discovery statistics for the bucket. The statistics+-- capture the results of automated sensitive data discovery activities+-- that Amazon Macie has performed for the bucket.+getResourceProfileResponse_statistics :: Lens.Lens' GetResourceProfileResponse (Prelude.Maybe ResourceStatistics)+getResourceProfileResponse_statistics = Lens.lens (\GetResourceProfileResponse' {statistics} -> statistics) (\s@GetResourceProfileResponse' {} a -> s {statistics = a} :: GetResourceProfileResponse)++-- | The response's http status code.+getResourceProfileResponse_httpStatus :: Lens.Lens' GetResourceProfileResponse Prelude.Int+getResourceProfileResponse_httpStatus = Lens.lens (\GetResourceProfileResponse' {httpStatus} -> httpStatus) (\s@GetResourceProfileResponse' {} a -> s {httpStatus = a} :: GetResourceProfileResponse)++instance Prelude.NFData GetResourceProfileResponse where+ rnf GetResourceProfileResponse' {..} =+ Prelude.rnf profileUpdatedAt+ `Prelude.seq` Prelude.rnf sensitivityScore+ `Prelude.seq` Prelude.rnf sensitivityScoreOverridden+ `Prelude.seq` Prelude.rnf statistics+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetRevealConfiguration.hs view
@@ -0,0 +1,148 @@+{-# 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.MacieV2.GetRevealConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the status and configuration settings for retrieving+-- occurrences of sensitive data reported by findings.+module Amazonka.MacieV2.GetRevealConfiguration+ ( -- * Creating a Request+ GetRevealConfiguration (..),+ newGetRevealConfiguration,++ -- * Destructuring the Response+ GetRevealConfigurationResponse (..),+ newGetRevealConfigurationResponse,++ -- * Response Lenses+ getRevealConfigurationResponse_configuration,+ getRevealConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetRevealConfiguration' smart constructor.+data GetRevealConfiguration = GetRevealConfiguration'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRevealConfiguration' 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.+newGetRevealConfiguration ::+ GetRevealConfiguration+newGetRevealConfiguration = GetRevealConfiguration'++instance Core.AWSRequest GetRevealConfiguration where+ type+ AWSResponse GetRevealConfiguration =+ GetRevealConfigurationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetRevealConfigurationResponse'+ Prelude.<$> (x Data..?> "configuration")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetRevealConfiguration where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData GetRevealConfiguration where+ rnf _ = ()++instance Data.ToHeaders GetRevealConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetRevealConfiguration where+ toPath = Prelude.const "/reveal-configuration"++instance Data.ToQuery GetRevealConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRevealConfigurationResponse' smart constructor.+data GetRevealConfigurationResponse = GetRevealConfigurationResponse'+ { -- | The current configuration settings and the status of the configuration+ -- for the account.+ configuration :: Prelude.Maybe RevealConfiguration,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRevealConfigurationResponse' 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:+--+-- 'configuration', 'getRevealConfigurationResponse_configuration' - The current configuration settings and the status of the configuration+-- for the account.+--+-- 'httpStatus', 'getRevealConfigurationResponse_httpStatus' - The response's http status code.+newGetRevealConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetRevealConfigurationResponse+newGetRevealConfigurationResponse pHttpStatus_ =+ GetRevealConfigurationResponse'+ { configuration =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The current configuration settings and the status of the configuration+-- for the account.+getRevealConfigurationResponse_configuration :: Lens.Lens' GetRevealConfigurationResponse (Prelude.Maybe RevealConfiguration)+getRevealConfigurationResponse_configuration = Lens.lens (\GetRevealConfigurationResponse' {configuration} -> configuration) (\s@GetRevealConfigurationResponse' {} a -> s {configuration = a} :: GetRevealConfigurationResponse)++-- | The response's http status code.+getRevealConfigurationResponse_httpStatus :: Lens.Lens' GetRevealConfigurationResponse Prelude.Int+getRevealConfigurationResponse_httpStatus = Lens.lens (\GetRevealConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetRevealConfigurationResponse' {} a -> s {httpStatus = a} :: GetRevealConfigurationResponse)++instance+ Prelude.NFData+ GetRevealConfigurationResponse+ where+ rnf GetRevealConfigurationResponse' {..} =+ Prelude.rnf configuration+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetSensitiveDataOccurrences.hs view
@@ -0,0 +1,236 @@+{-# 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.MacieV2.GetSensitiveDataOccurrences+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves occurrences of sensitive data reported by a finding.+module Amazonka.MacieV2.GetSensitiveDataOccurrences+ ( -- * Creating a Request+ GetSensitiveDataOccurrences (..),+ newGetSensitiveDataOccurrences,++ -- * Request Lenses+ getSensitiveDataOccurrences_findingId,++ -- * Destructuring the Response+ GetSensitiveDataOccurrencesResponse (..),+ newGetSensitiveDataOccurrencesResponse,++ -- * Response Lenses+ getSensitiveDataOccurrencesResponse_error,+ getSensitiveDataOccurrencesResponse_sensitiveDataOccurrences,+ getSensitiveDataOccurrencesResponse_status,+ getSensitiveDataOccurrencesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSensitiveDataOccurrences' smart constructor.+data GetSensitiveDataOccurrences = GetSensitiveDataOccurrences'+ { -- | The unique identifier for the finding.+ findingId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSensitiveDataOccurrences' 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:+--+-- 'findingId', 'getSensitiveDataOccurrences_findingId' - The unique identifier for the finding.+newGetSensitiveDataOccurrences ::+ -- | 'findingId'+ Prelude.Text ->+ GetSensitiveDataOccurrences+newGetSensitiveDataOccurrences pFindingId_ =+ GetSensitiveDataOccurrences'+ { findingId =+ pFindingId_+ }++-- | The unique identifier for the finding.+getSensitiveDataOccurrences_findingId :: Lens.Lens' GetSensitiveDataOccurrences Prelude.Text+getSensitiveDataOccurrences_findingId = Lens.lens (\GetSensitiveDataOccurrences' {findingId} -> findingId) (\s@GetSensitiveDataOccurrences' {} a -> s {findingId = a} :: GetSensitiveDataOccurrences)++instance Core.AWSRequest GetSensitiveDataOccurrences where+ type+ AWSResponse GetSensitiveDataOccurrences =+ GetSensitiveDataOccurrencesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetSensitiveDataOccurrencesResponse'+ Prelude.<$> (x Data..?> "error")+ Prelude.<*> ( x+ Data..?> "sensitiveDataOccurrences"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetSensitiveDataOccurrences where+ hashWithSalt _salt GetSensitiveDataOccurrences' {..} =+ _salt `Prelude.hashWithSalt` findingId++instance Prelude.NFData GetSensitiveDataOccurrences where+ rnf GetSensitiveDataOccurrences' {..} =+ Prelude.rnf findingId++instance Data.ToHeaders GetSensitiveDataOccurrences where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetSensitiveDataOccurrences where+ toPath GetSensitiveDataOccurrences' {..} =+ Prelude.mconcat+ ["/findings/", Data.toBS findingId, "/reveal"]++instance Data.ToQuery GetSensitiveDataOccurrences where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSensitiveDataOccurrencesResponse' smart constructor.+data GetSensitiveDataOccurrencesResponse = GetSensitiveDataOccurrencesResponse'+ { -- | If an error occurred when Amazon Macie attempted to retrieve occurrences+ -- of sensitive data reported by the finding, a description of the error+ -- that occurred. This value is null if the status (status) of the request+ -- is PROCESSING or SUCCESS.+ error :: Prelude.Maybe Prelude.Text,+ -- | A map that specifies 1-100 types of sensitive data reported by the+ -- finding and, for each type, 1-10 occurrences of sensitive data.+ sensitiveDataOccurrences :: Prelude.Maybe (Prelude.HashMap Prelude.Text [DetectedDataDetails]),+ -- | The status of the request to retrieve occurrences of sensitive data+ -- reported by the finding. Possible values are:+ --+ -- - ERROR - An error occurred when Amazon Macie attempted to locate,+ -- retrieve, or encrypt the sensitive data. The error value indicates+ -- the nature of the error that occurred.+ --+ -- - PROCESSING - Macie is processing the request.+ --+ -- - SUCCESS - Macie successfully located, retrieved, and encrypted the+ -- sensitive data.+ status :: Prelude.Maybe RevealRequestStatus,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSensitiveDataOccurrencesResponse' 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:+--+-- 'error', 'getSensitiveDataOccurrencesResponse_error' - If an error occurred when Amazon Macie attempted to retrieve occurrences+-- of sensitive data reported by the finding, a description of the error+-- that occurred. This value is null if the status (status) of the request+-- is PROCESSING or SUCCESS.+--+-- 'sensitiveDataOccurrences', 'getSensitiveDataOccurrencesResponse_sensitiveDataOccurrences' - A map that specifies 1-100 types of sensitive data reported by the+-- finding and, for each type, 1-10 occurrences of sensitive data.+--+-- 'status', 'getSensitiveDataOccurrencesResponse_status' - The status of the request to retrieve occurrences of sensitive data+-- reported by the finding. Possible values are:+--+-- - ERROR - An error occurred when Amazon Macie attempted to locate,+-- retrieve, or encrypt the sensitive data. The error value indicates+-- the nature of the error that occurred.+--+-- - PROCESSING - Macie is processing the request.+--+-- - SUCCESS - Macie successfully located, retrieved, and encrypted the+-- sensitive data.+--+-- 'httpStatus', 'getSensitiveDataOccurrencesResponse_httpStatus' - The response's http status code.+newGetSensitiveDataOccurrencesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetSensitiveDataOccurrencesResponse+newGetSensitiveDataOccurrencesResponse pHttpStatus_ =+ GetSensitiveDataOccurrencesResponse'+ { error =+ Prelude.Nothing,+ sensitiveDataOccurrences =+ Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | If an error occurred when Amazon Macie attempted to retrieve occurrences+-- of sensitive data reported by the finding, a description of the error+-- that occurred. This value is null if the status (status) of the request+-- is PROCESSING or SUCCESS.+getSensitiveDataOccurrencesResponse_error :: Lens.Lens' GetSensitiveDataOccurrencesResponse (Prelude.Maybe Prelude.Text)+getSensitiveDataOccurrencesResponse_error = Lens.lens (\GetSensitiveDataOccurrencesResponse' {error} -> error) (\s@GetSensitiveDataOccurrencesResponse' {} a -> s {error = a} :: GetSensitiveDataOccurrencesResponse)++-- | A map that specifies 1-100 types of sensitive data reported by the+-- finding and, for each type, 1-10 occurrences of sensitive data.+getSensitiveDataOccurrencesResponse_sensitiveDataOccurrences :: Lens.Lens' GetSensitiveDataOccurrencesResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text [DetectedDataDetails]))+getSensitiveDataOccurrencesResponse_sensitiveDataOccurrences = Lens.lens (\GetSensitiveDataOccurrencesResponse' {sensitiveDataOccurrences} -> sensitiveDataOccurrences) (\s@GetSensitiveDataOccurrencesResponse' {} a -> s {sensitiveDataOccurrences = a} :: GetSensitiveDataOccurrencesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The status of the request to retrieve occurrences of sensitive data+-- reported by the finding. Possible values are:+--+-- - ERROR - An error occurred when Amazon Macie attempted to locate,+-- retrieve, or encrypt the sensitive data. The error value indicates+-- the nature of the error that occurred.+--+-- - PROCESSING - Macie is processing the request.+--+-- - SUCCESS - Macie successfully located, retrieved, and encrypted the+-- sensitive data.+getSensitiveDataOccurrencesResponse_status :: Lens.Lens' GetSensitiveDataOccurrencesResponse (Prelude.Maybe RevealRequestStatus)+getSensitiveDataOccurrencesResponse_status = Lens.lens (\GetSensitiveDataOccurrencesResponse' {status} -> status) (\s@GetSensitiveDataOccurrencesResponse' {} a -> s {status = a} :: GetSensitiveDataOccurrencesResponse)++-- | The response's http status code.+getSensitiveDataOccurrencesResponse_httpStatus :: Lens.Lens' GetSensitiveDataOccurrencesResponse Prelude.Int+getSensitiveDataOccurrencesResponse_httpStatus = Lens.lens (\GetSensitiveDataOccurrencesResponse' {httpStatus} -> httpStatus) (\s@GetSensitiveDataOccurrencesResponse' {} a -> s {httpStatus = a} :: GetSensitiveDataOccurrencesResponse)++instance+ Prelude.NFData+ GetSensitiveDataOccurrencesResponse+ where+ rnf GetSensitiveDataOccurrencesResponse' {..} =+ Prelude.rnf error+ `Prelude.seq` Prelude.rnf sensitiveDataOccurrences+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetSensitiveDataOccurrencesAvailability.hs view
@@ -0,0 +1,296 @@+{-# 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.MacieV2.GetSensitiveDataOccurrencesAvailability+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Checks whether occurrences of sensitive data can be retrieved for a+-- finding.+module Amazonka.MacieV2.GetSensitiveDataOccurrencesAvailability+ ( -- * Creating a Request+ GetSensitiveDataOccurrencesAvailability (..),+ newGetSensitiveDataOccurrencesAvailability,++ -- * Request Lenses+ getSensitiveDataOccurrencesAvailability_findingId,++ -- * Destructuring the Response+ GetSensitiveDataOccurrencesAvailabilityResponse (..),+ newGetSensitiveDataOccurrencesAvailabilityResponse,++ -- * Response Lenses+ getSensitiveDataOccurrencesAvailabilityResponse_code,+ getSensitiveDataOccurrencesAvailabilityResponse_reasons,+ getSensitiveDataOccurrencesAvailabilityResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSensitiveDataOccurrencesAvailability' smart constructor.+data GetSensitiveDataOccurrencesAvailability = GetSensitiveDataOccurrencesAvailability'+ { -- | The unique identifier for the finding.+ findingId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSensitiveDataOccurrencesAvailability' 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:+--+-- 'findingId', 'getSensitiveDataOccurrencesAvailability_findingId' - The unique identifier for the finding.+newGetSensitiveDataOccurrencesAvailability ::+ -- | 'findingId'+ Prelude.Text ->+ GetSensitiveDataOccurrencesAvailability+newGetSensitiveDataOccurrencesAvailability+ pFindingId_ =+ GetSensitiveDataOccurrencesAvailability'+ { findingId =+ pFindingId_+ }++-- | The unique identifier for the finding.+getSensitiveDataOccurrencesAvailability_findingId :: Lens.Lens' GetSensitiveDataOccurrencesAvailability Prelude.Text+getSensitiveDataOccurrencesAvailability_findingId = Lens.lens (\GetSensitiveDataOccurrencesAvailability' {findingId} -> findingId) (\s@GetSensitiveDataOccurrencesAvailability' {} a -> s {findingId = a} :: GetSensitiveDataOccurrencesAvailability)++instance+ Core.AWSRequest+ GetSensitiveDataOccurrencesAvailability+ where+ type+ AWSResponse+ GetSensitiveDataOccurrencesAvailability =+ GetSensitiveDataOccurrencesAvailabilityResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetSensitiveDataOccurrencesAvailabilityResponse'+ Prelude.<$> (x Data..?> "code")+ Prelude.<*> (x Data..?> "reasons" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetSensitiveDataOccurrencesAvailability+ where+ hashWithSalt+ _salt+ GetSensitiveDataOccurrencesAvailability' {..} =+ _salt `Prelude.hashWithSalt` findingId++instance+ Prelude.NFData+ GetSensitiveDataOccurrencesAvailability+ where+ rnf GetSensitiveDataOccurrencesAvailability' {..} =+ Prelude.rnf findingId++instance+ Data.ToHeaders+ GetSensitiveDataOccurrencesAvailability+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ GetSensitiveDataOccurrencesAvailability+ where+ toPath GetSensitiveDataOccurrencesAvailability' {..} =+ Prelude.mconcat+ [ "/findings/",+ Data.toBS findingId,+ "/reveal/availability"+ ]++instance+ Data.ToQuery+ GetSensitiveDataOccurrencesAvailability+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSensitiveDataOccurrencesAvailabilityResponse' smart constructor.+data GetSensitiveDataOccurrencesAvailabilityResponse = GetSensitiveDataOccurrencesAvailabilityResponse'+ { -- | Specifies whether occurrences of sensitive data can be retrieved for the+ -- finding. Possible values are: AVAILABLE, the sensitive data can be+ -- retrieved; and, UNAVAILABLE, the sensitive data can\'t be retrieved. If+ -- this value is UNAVAILABLE, the reasons array indicates why the data+ -- can\'t be retrieved.+ code :: Prelude.Maybe AvailabilityCode,+ -- | Specifies why occurrences of sensitive data can\'t be retrieved for the+ -- finding. Possible values are:+ --+ -- - INVALID_CLASSIFICATION_RESULT - Amazon Macie can\'t verify the+ -- location of the sensitive data to retrieve. There isn\'t a+ -- corresponding sensitive data discovery result for the finding. Or+ -- the sensitive data discovery result specified by the+ -- ClassificationDetails.detailedResultsLocation field of the finding+ -- isn\'t available, is malformed or corrupted, or uses an unsupported+ -- storage format.+ --+ -- - OBJECT_EXCEEDS_SIZE_QUOTA - The storage size of the affected S3+ -- object exceeds the size quota for retrieving occurrences of+ -- sensitive data.+ --+ -- - OBJECT_UNAVAILABLE - The affected S3 object isn\'t available. The+ -- object might have been renamed, moved, or deleted. Or the object was+ -- changed after Macie created the finding.+ --+ -- - UNSUPPORTED_FINDING_TYPE - The specified finding isn\'t a sensitive+ -- data finding.+ --+ -- - UNSUPPORTED_OBJECT_TYPE - The affected S3 object uses a file or+ -- storage format that Macie doesn\'t support for retrieving+ -- occurrences of sensitive data.+ --+ -- This value is null if sensitive data can be retrieved for the finding.+ reasons :: Prelude.Maybe [UnavailabilityReasonCode],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSensitiveDataOccurrencesAvailabilityResponse' 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:+--+-- 'code', 'getSensitiveDataOccurrencesAvailabilityResponse_code' - Specifies whether occurrences of sensitive data can be retrieved for the+-- finding. Possible values are: AVAILABLE, the sensitive data can be+-- retrieved; and, UNAVAILABLE, the sensitive data can\'t be retrieved. If+-- this value is UNAVAILABLE, the reasons array indicates why the data+-- can\'t be retrieved.+--+-- 'reasons', 'getSensitiveDataOccurrencesAvailabilityResponse_reasons' - Specifies why occurrences of sensitive data can\'t be retrieved for the+-- finding. Possible values are:+--+-- - INVALID_CLASSIFICATION_RESULT - Amazon Macie can\'t verify the+-- location of the sensitive data to retrieve. There isn\'t a+-- corresponding sensitive data discovery result for the finding. Or+-- the sensitive data discovery result specified by the+-- ClassificationDetails.detailedResultsLocation field of the finding+-- isn\'t available, is malformed or corrupted, or uses an unsupported+-- storage format.+--+-- - OBJECT_EXCEEDS_SIZE_QUOTA - The storage size of the affected S3+-- object exceeds the size quota for retrieving occurrences of+-- sensitive data.+--+-- - OBJECT_UNAVAILABLE - The affected S3 object isn\'t available. The+-- object might have been renamed, moved, or deleted. Or the object was+-- changed after Macie created the finding.+--+-- - UNSUPPORTED_FINDING_TYPE - The specified finding isn\'t a sensitive+-- data finding.+--+-- - UNSUPPORTED_OBJECT_TYPE - The affected S3 object uses a file or+-- storage format that Macie doesn\'t support for retrieving+-- occurrences of sensitive data.+--+-- This value is null if sensitive data can be retrieved for the finding.+--+-- 'httpStatus', 'getSensitiveDataOccurrencesAvailabilityResponse_httpStatus' - The response's http status code.+newGetSensitiveDataOccurrencesAvailabilityResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetSensitiveDataOccurrencesAvailabilityResponse+newGetSensitiveDataOccurrencesAvailabilityResponse+ pHttpStatus_ =+ GetSensitiveDataOccurrencesAvailabilityResponse'+ { code =+ Prelude.Nothing,+ reasons = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Specifies whether occurrences of sensitive data can be retrieved for the+-- finding. Possible values are: AVAILABLE, the sensitive data can be+-- retrieved; and, UNAVAILABLE, the sensitive data can\'t be retrieved. If+-- this value is UNAVAILABLE, the reasons array indicates why the data+-- can\'t be retrieved.+getSensitiveDataOccurrencesAvailabilityResponse_code :: Lens.Lens' GetSensitiveDataOccurrencesAvailabilityResponse (Prelude.Maybe AvailabilityCode)+getSensitiveDataOccurrencesAvailabilityResponse_code = Lens.lens (\GetSensitiveDataOccurrencesAvailabilityResponse' {code} -> code) (\s@GetSensitiveDataOccurrencesAvailabilityResponse' {} a -> s {code = a} :: GetSensitiveDataOccurrencesAvailabilityResponse)++-- | Specifies why occurrences of sensitive data can\'t be retrieved for the+-- finding. Possible values are:+--+-- - INVALID_CLASSIFICATION_RESULT - Amazon Macie can\'t verify the+-- location of the sensitive data to retrieve. There isn\'t a+-- corresponding sensitive data discovery result for the finding. Or+-- the sensitive data discovery result specified by the+-- ClassificationDetails.detailedResultsLocation field of the finding+-- isn\'t available, is malformed or corrupted, or uses an unsupported+-- storage format.+--+-- - OBJECT_EXCEEDS_SIZE_QUOTA - The storage size of the affected S3+-- object exceeds the size quota for retrieving occurrences of+-- sensitive data.+--+-- - OBJECT_UNAVAILABLE - The affected S3 object isn\'t available. The+-- object might have been renamed, moved, or deleted. Or the object was+-- changed after Macie created the finding.+--+-- - UNSUPPORTED_FINDING_TYPE - The specified finding isn\'t a sensitive+-- data finding.+--+-- - UNSUPPORTED_OBJECT_TYPE - The affected S3 object uses a file or+-- storage format that Macie doesn\'t support for retrieving+-- occurrences of sensitive data.+--+-- This value is null if sensitive data can be retrieved for the finding.+getSensitiveDataOccurrencesAvailabilityResponse_reasons :: Lens.Lens' GetSensitiveDataOccurrencesAvailabilityResponse (Prelude.Maybe [UnavailabilityReasonCode])+getSensitiveDataOccurrencesAvailabilityResponse_reasons = Lens.lens (\GetSensitiveDataOccurrencesAvailabilityResponse' {reasons} -> reasons) (\s@GetSensitiveDataOccurrencesAvailabilityResponse' {} a -> s {reasons = a} :: GetSensitiveDataOccurrencesAvailabilityResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getSensitiveDataOccurrencesAvailabilityResponse_httpStatus :: Lens.Lens' GetSensitiveDataOccurrencesAvailabilityResponse Prelude.Int+getSensitiveDataOccurrencesAvailabilityResponse_httpStatus = Lens.lens (\GetSensitiveDataOccurrencesAvailabilityResponse' {httpStatus} -> httpStatus) (\s@GetSensitiveDataOccurrencesAvailabilityResponse' {} a -> s {httpStatus = a} :: GetSensitiveDataOccurrencesAvailabilityResponse)++instance+ Prelude.NFData+ GetSensitiveDataOccurrencesAvailabilityResponse+ where+ rnf+ GetSensitiveDataOccurrencesAvailabilityResponse' {..} =+ Prelude.rnf code+ `Prelude.seq` Prelude.rnf reasons+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetSensitivityInspectionTemplate.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.MacieV2.GetSensitivityInspectionTemplate+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the settings for the sensitivity inspection template for an+-- account.+module Amazonka.MacieV2.GetSensitivityInspectionTemplate+ ( -- * Creating a Request+ GetSensitivityInspectionTemplate (..),+ newGetSensitivityInspectionTemplate,++ -- * Request Lenses+ getSensitivityInspectionTemplate_id,++ -- * Destructuring the Response+ GetSensitivityInspectionTemplateResponse (..),+ newGetSensitivityInspectionTemplateResponse,++ -- * Response Lenses+ getSensitivityInspectionTemplateResponse_description,+ getSensitivityInspectionTemplateResponse_excludes,+ getSensitivityInspectionTemplateResponse_includes,+ getSensitivityInspectionTemplateResponse_name,+ getSensitivityInspectionTemplateResponse_sensitivityInspectionTemplateId,+ getSensitivityInspectionTemplateResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSensitivityInspectionTemplate' smart constructor.+data GetSensitivityInspectionTemplate = GetSensitivityInspectionTemplate'+ { -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSensitivityInspectionTemplate' 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', 'getSensitivityInspectionTemplate_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newGetSensitivityInspectionTemplate ::+ -- | 'id'+ Prelude.Text ->+ GetSensitivityInspectionTemplate+newGetSensitivityInspectionTemplate pId_ =+ GetSensitivityInspectionTemplate' {id = pId_}++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+getSensitivityInspectionTemplate_id :: Lens.Lens' GetSensitivityInspectionTemplate Prelude.Text+getSensitivityInspectionTemplate_id = Lens.lens (\GetSensitivityInspectionTemplate' {id} -> id) (\s@GetSensitivityInspectionTemplate' {} a -> s {id = a} :: GetSensitivityInspectionTemplate)++instance+ Core.AWSRequest+ GetSensitivityInspectionTemplate+ where+ type+ AWSResponse GetSensitivityInspectionTemplate =+ GetSensitivityInspectionTemplateResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetSensitivityInspectionTemplateResponse'+ Prelude.<$> (x Data..?> "description")+ Prelude.<*> (x Data..?> "excludes")+ Prelude.<*> (x Data..?> "includes")+ Prelude.<*> (x Data..?> "name")+ Prelude.<*> (x Data..?> "sensitivityInspectionTemplateId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ GetSensitivityInspectionTemplate+ where+ hashWithSalt+ _salt+ GetSensitivityInspectionTemplate' {..} =+ _salt `Prelude.hashWithSalt` id++instance+ Prelude.NFData+ GetSensitivityInspectionTemplate+ where+ rnf GetSensitivityInspectionTemplate' {..} =+ Prelude.rnf id++instance+ Data.ToHeaders+ GetSensitivityInspectionTemplate+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetSensitivityInspectionTemplate where+ toPath GetSensitivityInspectionTemplate' {..} =+ Prelude.mconcat+ ["/templates/sensitivity-inspections/", Data.toBS id]++instance+ Data.ToQuery+ GetSensitivityInspectionTemplate+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSensitivityInspectionTemplateResponse' smart constructor.+data GetSensitivityInspectionTemplateResponse = GetSensitivityInspectionTemplateResponse'+ { -- | The custom description of the template.+ description :: Prelude.Maybe Prelude.Text,+ -- | The managed data identifiers that are explicitly excluded (not used)+ -- when analyzing data.+ excludes :: Prelude.Maybe SensitivityInspectionTemplateExcludes,+ -- | The allow lists, custom data identifiers, and managed data identifiers+ -- that are included (used) when analyzing data.+ includes :: Prelude.Maybe SensitivityInspectionTemplateIncludes,+ -- | The name of the template.+ name :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the template.+ sensitivityInspectionTemplateId :: 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 'GetSensitivityInspectionTemplateResponse' 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', 'getSensitivityInspectionTemplateResponse_description' - The custom description of the template.+--+-- 'excludes', 'getSensitivityInspectionTemplateResponse_excludes' - The managed data identifiers that are explicitly excluded (not used)+-- when analyzing data.+--+-- 'includes', 'getSensitivityInspectionTemplateResponse_includes' - The allow lists, custom data identifiers, and managed data identifiers+-- that are included (used) when analyzing data.+--+-- 'name', 'getSensitivityInspectionTemplateResponse_name' - The name of the template.+--+-- 'sensitivityInspectionTemplateId', 'getSensitivityInspectionTemplateResponse_sensitivityInspectionTemplateId' - The unique identifier for the template.+--+-- 'httpStatus', 'getSensitivityInspectionTemplateResponse_httpStatus' - The response's http status code.+newGetSensitivityInspectionTemplateResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetSensitivityInspectionTemplateResponse+newGetSensitivityInspectionTemplateResponse+ pHttpStatus_ =+ GetSensitivityInspectionTemplateResponse'+ { description =+ Prelude.Nothing,+ excludes = Prelude.Nothing,+ includes = Prelude.Nothing,+ name = Prelude.Nothing,+ sensitivityInspectionTemplateId =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The custom description of the template.+getSensitivityInspectionTemplateResponse_description :: Lens.Lens' GetSensitivityInspectionTemplateResponse (Prelude.Maybe Prelude.Text)+getSensitivityInspectionTemplateResponse_description = Lens.lens (\GetSensitivityInspectionTemplateResponse' {description} -> description) (\s@GetSensitivityInspectionTemplateResponse' {} a -> s {description = a} :: GetSensitivityInspectionTemplateResponse)++-- | The managed data identifiers that are explicitly excluded (not used)+-- when analyzing data.+getSensitivityInspectionTemplateResponse_excludes :: Lens.Lens' GetSensitivityInspectionTemplateResponse (Prelude.Maybe SensitivityInspectionTemplateExcludes)+getSensitivityInspectionTemplateResponse_excludes = Lens.lens (\GetSensitivityInspectionTemplateResponse' {excludes} -> excludes) (\s@GetSensitivityInspectionTemplateResponse' {} a -> s {excludes = a} :: GetSensitivityInspectionTemplateResponse)++-- | The allow lists, custom data identifiers, and managed data identifiers+-- that are included (used) when analyzing data.+getSensitivityInspectionTemplateResponse_includes :: Lens.Lens' GetSensitivityInspectionTemplateResponse (Prelude.Maybe SensitivityInspectionTemplateIncludes)+getSensitivityInspectionTemplateResponse_includes = Lens.lens (\GetSensitivityInspectionTemplateResponse' {includes} -> includes) (\s@GetSensitivityInspectionTemplateResponse' {} a -> s {includes = a} :: GetSensitivityInspectionTemplateResponse)++-- | The name of the template.+getSensitivityInspectionTemplateResponse_name :: Lens.Lens' GetSensitivityInspectionTemplateResponse (Prelude.Maybe Prelude.Text)+getSensitivityInspectionTemplateResponse_name = Lens.lens (\GetSensitivityInspectionTemplateResponse' {name} -> name) (\s@GetSensitivityInspectionTemplateResponse' {} a -> s {name = a} :: GetSensitivityInspectionTemplateResponse)++-- | The unique identifier for the template.+getSensitivityInspectionTemplateResponse_sensitivityInspectionTemplateId :: Lens.Lens' GetSensitivityInspectionTemplateResponse (Prelude.Maybe Prelude.Text)+getSensitivityInspectionTemplateResponse_sensitivityInspectionTemplateId = Lens.lens (\GetSensitivityInspectionTemplateResponse' {sensitivityInspectionTemplateId} -> sensitivityInspectionTemplateId) (\s@GetSensitivityInspectionTemplateResponse' {} a -> s {sensitivityInspectionTemplateId = a} :: GetSensitivityInspectionTemplateResponse)++-- | The response's http status code.+getSensitivityInspectionTemplateResponse_httpStatus :: Lens.Lens' GetSensitivityInspectionTemplateResponse Prelude.Int+getSensitivityInspectionTemplateResponse_httpStatus = Lens.lens (\GetSensitivityInspectionTemplateResponse' {httpStatus} -> httpStatus) (\s@GetSensitivityInspectionTemplateResponse' {} a -> s {httpStatus = a} :: GetSensitivityInspectionTemplateResponse)++instance+ Prelude.NFData+ GetSensitivityInspectionTemplateResponse+ where+ rnf GetSensitivityInspectionTemplateResponse' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf excludes+ `Prelude.seq` Prelude.rnf includes+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf sensitivityInspectionTemplateId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetUsageStatistics.hs view
@@ -0,0 +1,304 @@+{-# 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.MacieV2.GetUsageStatistics+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves (queries) quotas and aggregated usage data for one or more+-- accounts.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.GetUsageStatistics+ ( -- * Creating a Request+ GetUsageStatistics (..),+ newGetUsageStatistics,++ -- * Request Lenses+ getUsageStatistics_filterBy,+ getUsageStatistics_maxResults,+ getUsageStatistics_nextToken,+ getUsageStatistics_sortBy,+ getUsageStatistics_timeRange,++ -- * Destructuring the Response+ GetUsageStatisticsResponse (..),+ newGetUsageStatisticsResponse,++ -- * Response Lenses+ getUsageStatisticsResponse_nextToken,+ getUsageStatisticsResponse_records,+ getUsageStatisticsResponse_timeRange,+ getUsageStatisticsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetUsageStatistics' smart constructor.+data GetUsageStatistics = GetUsageStatistics'+ { -- | An array of objects, one for each condition to use to filter the query+ -- results. If you specify more than one condition, Amazon Macie uses an+ -- AND operator to join the conditions.+ filterBy :: Prelude.Maybe [UsageStatisticsFilter],+ -- | The maximum number of items to include in each page of the response.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The criteria to use to sort the query results.+ sortBy :: Prelude.Maybe UsageStatisticsSortBy,+ -- | The inclusive time period to query usage data for. Valid values are:+ -- MONTH_TO_DATE, for the current calendar month to date; and,+ -- PAST_30_DAYS, for the preceding 30 days. If you don\'t specify a value,+ -- Amazon Macie provides usage data for the preceding 30 days.+ timeRange :: Prelude.Maybe TimeRange+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetUsageStatistics' 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:+--+-- 'filterBy', 'getUsageStatistics_filterBy' - An array of objects, one for each condition to use to filter the query+-- results. If you specify more than one condition, Amazon Macie uses an+-- AND operator to join the conditions.+--+-- 'maxResults', 'getUsageStatistics_maxResults' - The maximum number of items to include in each page of the response.+--+-- 'nextToken', 'getUsageStatistics_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+--+-- 'sortBy', 'getUsageStatistics_sortBy' - The criteria to use to sort the query results.+--+-- 'timeRange', 'getUsageStatistics_timeRange' - The inclusive time period to query usage data for. Valid values are:+-- MONTH_TO_DATE, for the current calendar month to date; and,+-- PAST_30_DAYS, for the preceding 30 days. If you don\'t specify a value,+-- Amazon Macie provides usage data for the preceding 30 days.+newGetUsageStatistics ::+ GetUsageStatistics+newGetUsageStatistics =+ GetUsageStatistics'+ { filterBy = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ sortBy = Prelude.Nothing,+ timeRange = Prelude.Nothing+ }++-- | An array of objects, one for each condition to use to filter the query+-- results. If you specify more than one condition, Amazon Macie uses an+-- AND operator to join the conditions.+getUsageStatistics_filterBy :: Lens.Lens' GetUsageStatistics (Prelude.Maybe [UsageStatisticsFilter])+getUsageStatistics_filterBy = Lens.lens (\GetUsageStatistics' {filterBy} -> filterBy) (\s@GetUsageStatistics' {} a -> s {filterBy = a} :: GetUsageStatistics) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of items to include in each page of the response.+getUsageStatistics_maxResults :: Lens.Lens' GetUsageStatistics (Prelude.Maybe Prelude.Int)+getUsageStatistics_maxResults = Lens.lens (\GetUsageStatistics' {maxResults} -> maxResults) (\s@GetUsageStatistics' {} a -> s {maxResults = a} :: GetUsageStatistics)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+getUsageStatistics_nextToken :: Lens.Lens' GetUsageStatistics (Prelude.Maybe Prelude.Text)+getUsageStatistics_nextToken = Lens.lens (\GetUsageStatistics' {nextToken} -> nextToken) (\s@GetUsageStatistics' {} a -> s {nextToken = a} :: GetUsageStatistics)++-- | The criteria to use to sort the query results.+getUsageStatistics_sortBy :: Lens.Lens' GetUsageStatistics (Prelude.Maybe UsageStatisticsSortBy)+getUsageStatistics_sortBy = Lens.lens (\GetUsageStatistics' {sortBy} -> sortBy) (\s@GetUsageStatistics' {} a -> s {sortBy = a} :: GetUsageStatistics)++-- | The inclusive time period to query usage data for. Valid values are:+-- MONTH_TO_DATE, for the current calendar month to date; and,+-- PAST_30_DAYS, for the preceding 30 days. If you don\'t specify a value,+-- Amazon Macie provides usage data for the preceding 30 days.+getUsageStatistics_timeRange :: Lens.Lens' GetUsageStatistics (Prelude.Maybe TimeRange)+getUsageStatistics_timeRange = Lens.lens (\GetUsageStatistics' {timeRange} -> timeRange) (\s@GetUsageStatistics' {} a -> s {timeRange = a} :: GetUsageStatistics)++instance Core.AWSPager GetUsageStatistics where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? getUsageStatisticsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? getUsageStatisticsResponse_records+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& getUsageStatistics_nextToken+ Lens..~ rs+ Lens.^? getUsageStatisticsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest GetUsageStatistics where+ type+ AWSResponse GetUsageStatistics =+ GetUsageStatisticsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetUsageStatisticsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "records" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "timeRange")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetUsageStatistics where+ hashWithSalt _salt GetUsageStatistics' {..} =+ _salt+ `Prelude.hashWithSalt` filterBy+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` sortBy+ `Prelude.hashWithSalt` timeRange++instance Prelude.NFData GetUsageStatistics where+ rnf GetUsageStatistics' {..} =+ Prelude.rnf filterBy+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf sortBy+ `Prelude.seq` Prelude.rnf timeRange++instance Data.ToHeaders GetUsageStatistics where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GetUsageStatistics where+ toJSON GetUsageStatistics' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("filterBy" Data..=) Prelude.<$> filterBy,+ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ ("sortBy" Data..=) Prelude.<$> sortBy,+ ("timeRange" Data..=) Prelude.<$> timeRange+ ]+ )++instance Data.ToPath GetUsageStatistics where+ toPath = Prelude.const "/usage/statistics"++instance Data.ToQuery GetUsageStatistics where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetUsageStatisticsResponse' smart constructor.+data GetUsageStatisticsResponse = GetUsageStatisticsResponse'+ { -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | An array of objects that contains the results of the query. Each object+ -- contains the data for an account that matches the filter criteria+ -- specified in the request.+ records :: Prelude.Maybe [UsageRecord],+ -- | The inclusive time period that the usage data applies to. Possible+ -- values are: MONTH_TO_DATE, for the current calendar month to date; and,+ -- PAST_30_DAYS, for the preceding 30 days.+ timeRange :: Prelude.Maybe TimeRange,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetUsageStatisticsResponse' 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', 'getUsageStatisticsResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'records', 'getUsageStatisticsResponse_records' - An array of objects that contains the results of the query. Each object+-- contains the data for an account that matches the filter criteria+-- specified in the request.+--+-- 'timeRange', 'getUsageStatisticsResponse_timeRange' - The inclusive time period that the usage data applies to. Possible+-- values are: MONTH_TO_DATE, for the current calendar month to date; and,+-- PAST_30_DAYS, for the preceding 30 days.+--+-- 'httpStatus', 'getUsageStatisticsResponse_httpStatus' - The response's http status code.+newGetUsageStatisticsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetUsageStatisticsResponse+newGetUsageStatisticsResponse pHttpStatus_ =+ GetUsageStatisticsResponse'+ { nextToken =+ Prelude.Nothing,+ records = Prelude.Nothing,+ timeRange = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+getUsageStatisticsResponse_nextToken :: Lens.Lens' GetUsageStatisticsResponse (Prelude.Maybe Prelude.Text)+getUsageStatisticsResponse_nextToken = Lens.lens (\GetUsageStatisticsResponse' {nextToken} -> nextToken) (\s@GetUsageStatisticsResponse' {} a -> s {nextToken = a} :: GetUsageStatisticsResponse)++-- | An array of objects that contains the results of the query. Each object+-- contains the data for an account that matches the filter criteria+-- specified in the request.+getUsageStatisticsResponse_records :: Lens.Lens' GetUsageStatisticsResponse (Prelude.Maybe [UsageRecord])+getUsageStatisticsResponse_records = Lens.lens (\GetUsageStatisticsResponse' {records} -> records) (\s@GetUsageStatisticsResponse' {} a -> s {records = a} :: GetUsageStatisticsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The inclusive time period that the usage data applies to. Possible+-- values are: MONTH_TO_DATE, for the current calendar month to date; and,+-- PAST_30_DAYS, for the preceding 30 days.+getUsageStatisticsResponse_timeRange :: Lens.Lens' GetUsageStatisticsResponse (Prelude.Maybe TimeRange)+getUsageStatisticsResponse_timeRange = Lens.lens (\GetUsageStatisticsResponse' {timeRange} -> timeRange) (\s@GetUsageStatisticsResponse' {} a -> s {timeRange = a} :: GetUsageStatisticsResponse)++-- | The response's http status code.+getUsageStatisticsResponse_httpStatus :: Lens.Lens' GetUsageStatisticsResponse Prelude.Int+getUsageStatisticsResponse_httpStatus = Lens.lens (\GetUsageStatisticsResponse' {httpStatus} -> httpStatus) (\s@GetUsageStatisticsResponse' {} a -> s {httpStatus = a} :: GetUsageStatisticsResponse)++instance Prelude.NFData GetUsageStatisticsResponse where+ rnf GetUsageStatisticsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf records+ `Prelude.seq` Prelude.rnf timeRange+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/GetUsageTotals.hs view
@@ -0,0 +1,189 @@+{-# 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.MacieV2.GetUsageTotals+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves (queries) aggregated usage data for an account.+module Amazonka.MacieV2.GetUsageTotals+ ( -- * Creating a Request+ GetUsageTotals (..),+ newGetUsageTotals,++ -- * Request Lenses+ getUsageTotals_timeRange,++ -- * Destructuring the Response+ GetUsageTotalsResponse (..),+ newGetUsageTotalsResponse,++ -- * Response Lenses+ getUsageTotalsResponse_timeRange,+ getUsageTotalsResponse_usageTotals,+ getUsageTotalsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetUsageTotals' smart constructor.+data GetUsageTotals = GetUsageTotals'+ { -- | The inclusive time period to retrieve the data for. Valid values are:+ -- MONTH_TO_DATE, for the current calendar month to date; and,+ -- PAST_30_DAYS, for the preceding 30 days. If you don\'t specify a value+ -- for this parameter, Amazon Macie provides aggregated usage data for the+ -- preceding 30 days.+ timeRange :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetUsageTotals' 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:+--+-- 'timeRange', 'getUsageTotals_timeRange' - The inclusive time period to retrieve the data for. Valid values are:+-- MONTH_TO_DATE, for the current calendar month to date; and,+-- PAST_30_DAYS, for the preceding 30 days. If you don\'t specify a value+-- for this parameter, Amazon Macie provides aggregated usage data for the+-- preceding 30 days.+newGetUsageTotals ::+ GetUsageTotals+newGetUsageTotals =+ GetUsageTotals' {timeRange = Prelude.Nothing}++-- | The inclusive time period to retrieve the data for. Valid values are:+-- MONTH_TO_DATE, for the current calendar month to date; and,+-- PAST_30_DAYS, for the preceding 30 days. If you don\'t specify a value+-- for this parameter, Amazon Macie provides aggregated usage data for the+-- preceding 30 days.+getUsageTotals_timeRange :: Lens.Lens' GetUsageTotals (Prelude.Maybe Prelude.Text)+getUsageTotals_timeRange = Lens.lens (\GetUsageTotals' {timeRange} -> timeRange) (\s@GetUsageTotals' {} a -> s {timeRange = a} :: GetUsageTotals)++instance Core.AWSRequest GetUsageTotals where+ type+ AWSResponse GetUsageTotals =+ GetUsageTotalsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetUsageTotalsResponse'+ Prelude.<$> (x Data..?> "timeRange")+ Prelude.<*> (x Data..?> "usageTotals" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetUsageTotals where+ hashWithSalt _salt GetUsageTotals' {..} =+ _salt `Prelude.hashWithSalt` timeRange++instance Prelude.NFData GetUsageTotals where+ rnf GetUsageTotals' {..} = Prelude.rnf timeRange++instance Data.ToHeaders GetUsageTotals where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetUsageTotals where+ toPath = Prelude.const "/usage"++instance Data.ToQuery GetUsageTotals where+ toQuery GetUsageTotals' {..} =+ Prelude.mconcat ["timeRange" Data.=: timeRange]++-- | /See:/ 'newGetUsageTotalsResponse' smart constructor.+data GetUsageTotalsResponse = GetUsageTotalsResponse'+ { -- | The inclusive time period that the usage data applies to. Possible+ -- values are: MONTH_TO_DATE, for the current calendar month to date; and,+ -- PAST_30_DAYS, for the preceding 30 days.+ timeRange :: Prelude.Maybe TimeRange,+ -- | An array of objects that contains the results of the query. Each object+ -- contains the data for a specific usage metric.+ usageTotals :: Prelude.Maybe [UsageTotal],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetUsageTotalsResponse' 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:+--+-- 'timeRange', 'getUsageTotalsResponse_timeRange' - The inclusive time period that the usage data applies to. Possible+-- values are: MONTH_TO_DATE, for the current calendar month to date; and,+-- PAST_30_DAYS, for the preceding 30 days.+--+-- 'usageTotals', 'getUsageTotalsResponse_usageTotals' - An array of objects that contains the results of the query. Each object+-- contains the data for a specific usage metric.+--+-- 'httpStatus', 'getUsageTotalsResponse_httpStatus' - The response's http status code.+newGetUsageTotalsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetUsageTotalsResponse+newGetUsageTotalsResponse pHttpStatus_ =+ GetUsageTotalsResponse'+ { timeRange =+ Prelude.Nothing,+ usageTotals = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The inclusive time period that the usage data applies to. Possible+-- values are: MONTH_TO_DATE, for the current calendar month to date; and,+-- PAST_30_DAYS, for the preceding 30 days.+getUsageTotalsResponse_timeRange :: Lens.Lens' GetUsageTotalsResponse (Prelude.Maybe TimeRange)+getUsageTotalsResponse_timeRange = Lens.lens (\GetUsageTotalsResponse' {timeRange} -> timeRange) (\s@GetUsageTotalsResponse' {} a -> s {timeRange = a} :: GetUsageTotalsResponse)++-- | An array of objects that contains the results of the query. Each object+-- contains the data for a specific usage metric.+getUsageTotalsResponse_usageTotals :: Lens.Lens' GetUsageTotalsResponse (Prelude.Maybe [UsageTotal])+getUsageTotalsResponse_usageTotals = Lens.lens (\GetUsageTotalsResponse' {usageTotals} -> usageTotals) (\s@GetUsageTotalsResponse' {} a -> s {usageTotals = a} :: GetUsageTotalsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getUsageTotalsResponse_httpStatus :: Lens.Lens' GetUsageTotalsResponse Prelude.Int+getUsageTotalsResponse_httpStatus = Lens.lens (\GetUsageTotalsResponse' {httpStatus} -> httpStatus) (\s@GetUsageTotalsResponse' {} a -> s {httpStatus = a} :: GetUsageTotalsResponse)++instance Prelude.NFData GetUsageTotalsResponse where+ rnf GetUsageTotalsResponse' {..} =+ Prelude.rnf timeRange+ `Prelude.seq` Prelude.rnf usageTotals+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/Lens.hs view
@@ -0,0 +1,1535 @@+{-# 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.MacieV2.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.MacieV2.Lens+ ( -- * Operations++ -- ** AcceptInvitation+ acceptInvitation_administratorAccountId,+ acceptInvitation_masterAccount,+ acceptInvitation_invitationId,+ acceptInvitationResponse_httpStatus,++ -- ** BatchGetCustomDataIdentifiers+ batchGetCustomDataIdentifiers_ids,+ batchGetCustomDataIdentifiersResponse_customDataIdentifiers,+ batchGetCustomDataIdentifiersResponse_notFoundIdentifierIds,+ batchGetCustomDataIdentifiersResponse_httpStatus,++ -- ** CreateAllowList+ createAllowList_description,+ createAllowList_tags,+ createAllowList_criteria,+ createAllowList_clientToken,+ createAllowList_name,+ createAllowListResponse_arn,+ createAllowListResponse_id,+ createAllowListResponse_httpStatus,++ -- ** CreateClassificationJob+ createClassificationJob_allowListIds,+ createClassificationJob_customDataIdentifierIds,+ createClassificationJob_description,+ createClassificationJob_initialRun,+ createClassificationJob_managedDataIdentifierIds,+ createClassificationJob_managedDataIdentifierSelector,+ createClassificationJob_samplingPercentage,+ createClassificationJob_scheduleFrequency,+ createClassificationJob_tags,+ createClassificationJob_s3JobDefinition,+ createClassificationJob_jobType,+ createClassificationJob_clientToken,+ createClassificationJob_name,+ createClassificationJobResponse_jobArn,+ createClassificationJobResponse_jobId,+ createClassificationJobResponse_httpStatus,++ -- ** CreateCustomDataIdentifier+ createCustomDataIdentifier_clientToken,+ createCustomDataIdentifier_description,+ createCustomDataIdentifier_ignoreWords,+ createCustomDataIdentifier_keywords,+ createCustomDataIdentifier_maximumMatchDistance,+ createCustomDataIdentifier_severityLevels,+ createCustomDataIdentifier_tags,+ createCustomDataIdentifier_regex,+ createCustomDataIdentifier_name,+ createCustomDataIdentifierResponse_customDataIdentifierId,+ createCustomDataIdentifierResponse_httpStatus,++ -- ** CreateFindingsFilter+ createFindingsFilter_clientToken,+ createFindingsFilter_description,+ createFindingsFilter_position,+ createFindingsFilter_tags,+ createFindingsFilter_action,+ createFindingsFilter_findingCriteria,+ createFindingsFilter_name,+ createFindingsFilterResponse_arn,+ createFindingsFilterResponse_id,+ createFindingsFilterResponse_httpStatus,++ -- ** CreateInvitations+ createInvitations_disableEmailNotification,+ createInvitations_message,+ createInvitations_accountIds,+ createInvitationsResponse_unprocessedAccounts,+ createInvitationsResponse_httpStatus,++ -- ** CreateMember+ createMember_tags,+ createMember_account,+ createMemberResponse_arn,+ createMemberResponse_httpStatus,++ -- ** CreateSampleFindings+ createSampleFindings_findingTypes,+ createSampleFindingsResponse_httpStatus,++ -- ** DeclineInvitations+ declineInvitations_accountIds,+ declineInvitationsResponse_unprocessedAccounts,+ declineInvitationsResponse_httpStatus,++ -- ** DeleteAllowList+ deleteAllowList_ignoreJobChecks,+ deleteAllowList_id,+ deleteAllowListResponse_httpStatus,++ -- ** DeleteCustomDataIdentifier+ deleteCustomDataIdentifier_id,+ deleteCustomDataIdentifierResponse_httpStatus,++ -- ** DeleteFindingsFilter+ deleteFindingsFilter_id,+ deleteFindingsFilterResponse_httpStatus,++ -- ** DeleteInvitations+ deleteInvitations_accountIds,+ deleteInvitationsResponse_unprocessedAccounts,+ deleteInvitationsResponse_httpStatus,++ -- ** DeleteMember+ deleteMember_id,+ deleteMemberResponse_httpStatus,++ -- ** DescribeBuckets+ describeBuckets_criteria,+ describeBuckets_maxResults,+ describeBuckets_nextToken,+ describeBuckets_sortCriteria,+ describeBucketsResponse_buckets,+ describeBucketsResponse_nextToken,+ describeBucketsResponse_httpStatus,++ -- ** DescribeClassificationJob+ describeClassificationJob_jobId,+ describeClassificationJobResponse_allowListIds,+ describeClassificationJobResponse_clientToken,+ describeClassificationJobResponse_createdAt,+ describeClassificationJobResponse_customDataIdentifierIds,+ describeClassificationJobResponse_description,+ describeClassificationJobResponse_initialRun,+ describeClassificationJobResponse_jobArn,+ describeClassificationJobResponse_jobId,+ describeClassificationJobResponse_jobStatus,+ describeClassificationJobResponse_jobType,+ describeClassificationJobResponse_lastRunErrorStatus,+ describeClassificationJobResponse_lastRunTime,+ describeClassificationJobResponse_managedDataIdentifierIds,+ describeClassificationJobResponse_managedDataIdentifierSelector,+ describeClassificationJobResponse_name,+ describeClassificationJobResponse_s3JobDefinition,+ describeClassificationJobResponse_samplingPercentage,+ describeClassificationJobResponse_scheduleFrequency,+ describeClassificationJobResponse_statistics,+ describeClassificationJobResponse_tags,+ describeClassificationJobResponse_userPausedDetails,+ describeClassificationJobResponse_httpStatus,++ -- ** DescribeOrganizationConfiguration+ describeOrganizationConfigurationResponse_autoEnable,+ describeOrganizationConfigurationResponse_maxAccountLimitReached,+ describeOrganizationConfigurationResponse_httpStatus,++ -- ** DisableMacie+ disableMacieResponse_httpStatus,++ -- ** DisableOrganizationAdminAccount+ disableOrganizationAdminAccount_adminAccountId,+ disableOrganizationAdminAccountResponse_httpStatus,++ -- ** DisassociateFromAdministratorAccount+ disassociateFromAdministratorAccountResponse_httpStatus,++ -- ** DisassociateFromMasterAccount+ disassociateFromMasterAccountResponse_httpStatus,++ -- ** DisassociateMember+ disassociateMember_id,+ disassociateMemberResponse_httpStatus,++ -- ** EnableMacie+ enableMacie_clientToken,+ enableMacie_findingPublishingFrequency,+ enableMacie_status,+ enableMacieResponse_httpStatus,++ -- ** EnableOrganizationAdminAccount+ enableOrganizationAdminAccount_clientToken,+ enableOrganizationAdminAccount_adminAccountId,+ enableOrganizationAdminAccountResponse_httpStatus,++ -- ** GetAdministratorAccount+ getAdministratorAccountResponse_administrator,+ getAdministratorAccountResponse_httpStatus,++ -- ** GetAllowList+ getAllowList_id,+ getAllowListResponse_arn,+ getAllowListResponse_createdAt,+ getAllowListResponse_criteria,+ getAllowListResponse_description,+ getAllowListResponse_id,+ getAllowListResponse_name,+ getAllowListResponse_status,+ getAllowListResponse_tags,+ getAllowListResponse_updatedAt,+ getAllowListResponse_httpStatus,++ -- ** GetAutomatedDiscoveryConfiguration+ getAutomatedDiscoveryConfigurationResponse_classificationScopeId,+ getAutomatedDiscoveryConfigurationResponse_disabledAt,+ getAutomatedDiscoveryConfigurationResponse_firstEnabledAt,+ getAutomatedDiscoveryConfigurationResponse_lastUpdatedAt,+ getAutomatedDiscoveryConfigurationResponse_sensitivityInspectionTemplateId,+ getAutomatedDiscoveryConfigurationResponse_status,+ getAutomatedDiscoveryConfigurationResponse_httpStatus,++ -- ** GetBucketStatistics+ getBucketStatistics_accountId,+ getBucketStatisticsResponse_bucketCount,+ getBucketStatisticsResponse_bucketCountByEffectivePermission,+ getBucketStatisticsResponse_bucketCountByEncryptionType,+ getBucketStatisticsResponse_bucketCountByObjectEncryptionRequirement,+ getBucketStatisticsResponse_bucketCountBySharedAccessType,+ getBucketStatisticsResponse_bucketStatisticsBySensitivity,+ getBucketStatisticsResponse_classifiableObjectCount,+ getBucketStatisticsResponse_classifiableSizeInBytes,+ getBucketStatisticsResponse_lastUpdated,+ getBucketStatisticsResponse_objectCount,+ getBucketStatisticsResponse_sizeInBytes,+ getBucketStatisticsResponse_sizeInBytesCompressed,+ getBucketStatisticsResponse_unclassifiableObjectCount,+ getBucketStatisticsResponse_unclassifiableObjectSizeInBytes,+ getBucketStatisticsResponse_httpStatus,++ -- ** GetClassificationExportConfiguration+ getClassificationExportConfigurationResponse_configuration,+ getClassificationExportConfigurationResponse_httpStatus,++ -- ** GetClassificationScope+ getClassificationScope_id,+ getClassificationScopeResponse_id,+ getClassificationScopeResponse_name,+ getClassificationScopeResponse_s3,+ getClassificationScopeResponse_httpStatus,++ -- ** GetCustomDataIdentifier+ getCustomDataIdentifier_id,+ getCustomDataIdentifierResponse_arn,+ getCustomDataIdentifierResponse_createdAt,+ getCustomDataIdentifierResponse_deleted,+ getCustomDataIdentifierResponse_description,+ getCustomDataIdentifierResponse_id,+ getCustomDataIdentifierResponse_ignoreWords,+ getCustomDataIdentifierResponse_keywords,+ getCustomDataIdentifierResponse_maximumMatchDistance,+ getCustomDataIdentifierResponse_name,+ getCustomDataIdentifierResponse_regex,+ getCustomDataIdentifierResponse_severityLevels,+ getCustomDataIdentifierResponse_tags,+ getCustomDataIdentifierResponse_httpStatus,++ -- ** GetFindingStatistics+ getFindingStatistics_findingCriteria,+ getFindingStatistics_size,+ getFindingStatistics_sortCriteria,+ getFindingStatistics_groupBy,+ getFindingStatisticsResponse_countsByGroup,+ getFindingStatisticsResponse_httpStatus,++ -- ** GetFindings+ getFindings_sortCriteria,+ getFindings_findingIds,+ getFindingsResponse_findings,+ getFindingsResponse_httpStatus,++ -- ** GetFindingsFilter+ getFindingsFilter_id,+ getFindingsFilterResponse_action,+ getFindingsFilterResponse_arn,+ getFindingsFilterResponse_description,+ getFindingsFilterResponse_findingCriteria,+ getFindingsFilterResponse_id,+ getFindingsFilterResponse_name,+ getFindingsFilterResponse_position,+ getFindingsFilterResponse_tags,+ getFindingsFilterResponse_httpStatus,++ -- ** GetFindingsPublicationConfiguration+ getFindingsPublicationConfigurationResponse_securityHubConfiguration,+ getFindingsPublicationConfigurationResponse_httpStatus,++ -- ** GetInvitationsCount+ getInvitationsCountResponse_invitationsCount,+ getInvitationsCountResponse_httpStatus,++ -- ** GetMacieSession+ getMacieSessionResponse_createdAt,+ getMacieSessionResponse_findingPublishingFrequency,+ getMacieSessionResponse_serviceRole,+ getMacieSessionResponse_status,+ getMacieSessionResponse_updatedAt,+ getMacieSessionResponse_httpStatus,++ -- ** GetMasterAccount+ getMasterAccountResponse_master,+ getMasterAccountResponse_httpStatus,++ -- ** GetMember+ getMember_id,+ getMemberResponse_accountId,+ getMemberResponse_administratorAccountId,+ getMemberResponse_arn,+ getMemberResponse_email,+ getMemberResponse_invitedAt,+ getMemberResponse_masterAccountId,+ getMemberResponse_relationshipStatus,+ getMemberResponse_tags,+ getMemberResponse_updatedAt,+ getMemberResponse_httpStatus,++ -- ** GetResourceProfile+ getResourceProfile_resourceArn,+ getResourceProfileResponse_profileUpdatedAt,+ getResourceProfileResponse_sensitivityScore,+ getResourceProfileResponse_sensitivityScoreOverridden,+ getResourceProfileResponse_statistics,+ getResourceProfileResponse_httpStatus,++ -- ** GetRevealConfiguration+ getRevealConfigurationResponse_configuration,+ getRevealConfigurationResponse_httpStatus,++ -- ** GetSensitiveDataOccurrences+ getSensitiveDataOccurrences_findingId,+ getSensitiveDataOccurrencesResponse_error,+ getSensitiveDataOccurrencesResponse_sensitiveDataOccurrences,+ getSensitiveDataOccurrencesResponse_status,+ getSensitiveDataOccurrencesResponse_httpStatus,++ -- ** GetSensitiveDataOccurrencesAvailability+ getSensitiveDataOccurrencesAvailability_findingId,+ getSensitiveDataOccurrencesAvailabilityResponse_code,+ getSensitiveDataOccurrencesAvailabilityResponse_reasons,+ getSensitiveDataOccurrencesAvailabilityResponse_httpStatus,++ -- ** GetSensitivityInspectionTemplate+ getSensitivityInspectionTemplate_id,+ getSensitivityInspectionTemplateResponse_description,+ getSensitivityInspectionTemplateResponse_excludes,+ getSensitivityInspectionTemplateResponse_includes,+ getSensitivityInspectionTemplateResponse_name,+ getSensitivityInspectionTemplateResponse_sensitivityInspectionTemplateId,+ getSensitivityInspectionTemplateResponse_httpStatus,++ -- ** GetUsageStatistics+ getUsageStatistics_filterBy,+ getUsageStatistics_maxResults,+ getUsageStatistics_nextToken,+ getUsageStatistics_sortBy,+ getUsageStatistics_timeRange,+ getUsageStatisticsResponse_nextToken,+ getUsageStatisticsResponse_records,+ getUsageStatisticsResponse_timeRange,+ getUsageStatisticsResponse_httpStatus,++ -- ** GetUsageTotals+ getUsageTotals_timeRange,+ getUsageTotalsResponse_timeRange,+ getUsageTotalsResponse_usageTotals,+ getUsageTotalsResponse_httpStatus,++ -- ** ListAllowLists+ listAllowLists_maxResults,+ listAllowLists_nextToken,+ listAllowListsResponse_allowLists,+ listAllowListsResponse_nextToken,+ listAllowListsResponse_httpStatus,++ -- ** ListClassificationJobs+ listClassificationJobs_filterCriteria,+ listClassificationJobs_maxResults,+ listClassificationJobs_nextToken,+ listClassificationJobs_sortCriteria,+ listClassificationJobsResponse_items,+ listClassificationJobsResponse_nextToken,+ listClassificationJobsResponse_httpStatus,++ -- ** ListClassificationScopes+ listClassificationScopes_name,+ listClassificationScopes_nextToken,+ listClassificationScopesResponse_classificationScopes,+ listClassificationScopesResponse_nextToken,+ listClassificationScopesResponse_httpStatus,++ -- ** ListCustomDataIdentifiers+ listCustomDataIdentifiers_maxResults,+ listCustomDataIdentifiers_nextToken,+ listCustomDataIdentifiersResponse_items,+ listCustomDataIdentifiersResponse_nextToken,+ listCustomDataIdentifiersResponse_httpStatus,++ -- ** ListFindings+ listFindings_findingCriteria,+ listFindings_maxResults,+ listFindings_nextToken,+ listFindings_sortCriteria,+ listFindingsResponse_findingIds,+ listFindingsResponse_nextToken,+ listFindingsResponse_httpStatus,++ -- ** ListFindingsFilters+ listFindingsFilters_maxResults,+ listFindingsFilters_nextToken,+ listFindingsFiltersResponse_findingsFilterListItems,+ listFindingsFiltersResponse_nextToken,+ listFindingsFiltersResponse_httpStatus,++ -- ** ListInvitations+ listInvitations_maxResults,+ listInvitations_nextToken,+ listInvitationsResponse_invitations,+ listInvitationsResponse_nextToken,+ listInvitationsResponse_httpStatus,++ -- ** ListManagedDataIdentifiers+ listManagedDataIdentifiers_nextToken,+ listManagedDataIdentifiersResponse_items,+ listManagedDataIdentifiersResponse_nextToken,+ listManagedDataIdentifiersResponse_httpStatus,++ -- ** ListMembers+ listMembers_maxResults,+ listMembers_nextToken,+ listMembers_onlyAssociated,+ listMembersResponse_members,+ listMembersResponse_nextToken,+ listMembersResponse_httpStatus,++ -- ** ListOrganizationAdminAccounts+ listOrganizationAdminAccounts_maxResults,+ listOrganizationAdminAccounts_nextToken,+ listOrganizationAdminAccountsResponse_adminAccounts,+ listOrganizationAdminAccountsResponse_nextToken,+ listOrganizationAdminAccountsResponse_httpStatus,++ -- ** ListResourceProfileArtifacts+ listResourceProfileArtifacts_nextToken,+ listResourceProfileArtifacts_resourceArn,+ listResourceProfileArtifactsResponse_artifacts,+ listResourceProfileArtifactsResponse_nextToken,+ listResourceProfileArtifactsResponse_httpStatus,++ -- ** ListResourceProfileDetections+ listResourceProfileDetections_maxResults,+ listResourceProfileDetections_nextToken,+ listResourceProfileDetections_resourceArn,+ listResourceProfileDetectionsResponse_detections,+ listResourceProfileDetectionsResponse_nextToken,+ listResourceProfileDetectionsResponse_httpStatus,++ -- ** ListSensitivityInspectionTemplates+ listSensitivityInspectionTemplates_maxResults,+ listSensitivityInspectionTemplates_nextToken,+ listSensitivityInspectionTemplatesResponse_nextToken,+ listSensitivityInspectionTemplatesResponse_sensitivityInspectionTemplates,+ listSensitivityInspectionTemplatesResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** PutClassificationExportConfiguration+ putClassificationExportConfiguration_configuration,+ putClassificationExportConfigurationResponse_configuration,+ putClassificationExportConfigurationResponse_httpStatus,++ -- ** PutFindingsPublicationConfiguration+ putFindingsPublicationConfiguration_clientToken,+ putFindingsPublicationConfiguration_securityHubConfiguration,+ putFindingsPublicationConfigurationResponse_httpStatus,++ -- ** SearchResources+ searchResources_bucketCriteria,+ searchResources_maxResults,+ searchResources_nextToken,+ searchResources_sortCriteria,+ searchResourcesResponse_matchingResources,+ searchResourcesResponse_nextToken,+ searchResourcesResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,+ tagResourceResponse_httpStatus,++ -- ** TestCustomDataIdentifier+ testCustomDataIdentifier_ignoreWords,+ testCustomDataIdentifier_keywords,+ testCustomDataIdentifier_maximumMatchDistance,+ testCustomDataIdentifier_regex,+ testCustomDataIdentifier_sampleText,+ testCustomDataIdentifierResponse_matchCount,+ testCustomDataIdentifierResponse_httpStatus,++ -- ** UntagResource+ untagResource_tagKeys,+ untagResource_resourceArn,+ untagResourceResponse_httpStatus,++ -- ** UpdateAllowList+ updateAllowList_description,+ updateAllowList_id,+ updateAllowList_criteria,+ updateAllowList_name,+ updateAllowListResponse_arn,+ updateAllowListResponse_id,+ updateAllowListResponse_httpStatus,++ -- ** UpdateAutomatedDiscoveryConfiguration+ updateAutomatedDiscoveryConfiguration_status,+ updateAutomatedDiscoveryConfigurationResponse_httpStatus,++ -- ** UpdateClassificationJob+ updateClassificationJob_jobId,+ updateClassificationJob_jobStatus,+ updateClassificationJobResponse_httpStatus,++ -- ** UpdateClassificationScope+ updateClassificationScope_s3,+ updateClassificationScope_id,+ updateClassificationScopeResponse_httpStatus,++ -- ** UpdateFindingsFilter+ updateFindingsFilter_action,+ updateFindingsFilter_clientToken,+ updateFindingsFilter_description,+ updateFindingsFilter_findingCriteria,+ updateFindingsFilter_name,+ updateFindingsFilter_position,+ updateFindingsFilter_id,+ updateFindingsFilterResponse_arn,+ updateFindingsFilterResponse_id,+ updateFindingsFilterResponse_httpStatus,++ -- ** UpdateMacieSession+ updateMacieSession_findingPublishingFrequency,+ updateMacieSession_status,+ updateMacieSessionResponse_httpStatus,++ -- ** UpdateMemberSession+ updateMemberSession_id,+ updateMemberSession_status,+ updateMemberSessionResponse_httpStatus,++ -- ** UpdateOrganizationConfiguration+ updateOrganizationConfiguration_autoEnable,+ updateOrganizationConfigurationResponse_httpStatus,++ -- ** UpdateResourceProfile+ updateResourceProfile_sensitivityScoreOverride,+ updateResourceProfile_resourceArn,+ updateResourceProfileResponse_httpStatus,++ -- ** UpdateResourceProfileDetections+ updateResourceProfileDetections_suppressDataIdentifiers,+ updateResourceProfileDetections_resourceArn,+ updateResourceProfileDetectionsResponse_httpStatus,++ -- ** UpdateRevealConfiguration+ updateRevealConfiguration_configuration,+ updateRevealConfigurationResponse_configuration,+ updateRevealConfigurationResponse_httpStatus,++ -- ** UpdateSensitivityInspectionTemplate+ updateSensitivityInspectionTemplate_description,+ updateSensitivityInspectionTemplate_excludes,+ updateSensitivityInspectionTemplate_includes,+ updateSensitivityInspectionTemplate_id,+ updateSensitivityInspectionTemplateResponse_httpStatus,++ -- * Types++ -- ** AccessControlList+ accessControlList_allowsPublicReadAccess,+ accessControlList_allowsPublicWriteAccess,++ -- ** AccountDetail+ accountDetail_email,+ accountDetail_accountId,++ -- ** AccountLevelPermissions+ accountLevelPermissions_blockPublicAccess,++ -- ** AdminAccount+ adminAccount_accountId,+ adminAccount_status,++ -- ** AllowListCriteria+ allowListCriteria_regex,+ allowListCriteria_s3WordsList,++ -- ** AllowListStatus+ allowListStatus_description,+ allowListStatus_code,++ -- ** AllowListSummary+ allowListSummary_arn,+ allowListSummary_createdAt,+ allowListSummary_description,+ allowListSummary_id,+ allowListSummary_name,+ allowListSummary_updatedAt,++ -- ** ApiCallDetails+ apiCallDetails_api,+ apiCallDetails_apiServiceName,+ apiCallDetails_firstSeen,+ apiCallDetails_lastSeen,++ -- ** AssumedRole+ assumedRole_accessKeyId,+ assumedRole_accountId,+ assumedRole_arn,+ assumedRole_principalId,+ assumedRole_sessionContext,++ -- ** AwsAccount+ awsAccount_accountId,+ awsAccount_principalId,++ -- ** AwsService+ awsService_invokedBy,++ -- ** BatchGetCustomDataIdentifierSummary+ batchGetCustomDataIdentifierSummary_arn,+ batchGetCustomDataIdentifierSummary_createdAt,+ batchGetCustomDataIdentifierSummary_deleted,+ batchGetCustomDataIdentifierSummary_description,+ batchGetCustomDataIdentifierSummary_id,+ batchGetCustomDataIdentifierSummary_name,++ -- ** BlockPublicAccess+ blockPublicAccess_blockPublicAcls,+ blockPublicAccess_blockPublicPolicy,+ blockPublicAccess_ignorePublicAcls,+ blockPublicAccess_restrictPublicBuckets,++ -- ** BucketCountByEffectivePermission+ bucketCountByEffectivePermission_publiclyAccessible,+ bucketCountByEffectivePermission_publiclyReadable,+ bucketCountByEffectivePermission_publiclyWritable,+ bucketCountByEffectivePermission_unknown,++ -- ** BucketCountByEncryptionType+ bucketCountByEncryptionType_kmsManaged,+ bucketCountByEncryptionType_s3Managed,+ bucketCountByEncryptionType_unencrypted,+ bucketCountByEncryptionType_unknown,++ -- ** BucketCountBySharedAccessType+ bucketCountBySharedAccessType_external,+ bucketCountBySharedAccessType_internal,+ bucketCountBySharedAccessType_notShared,+ bucketCountBySharedAccessType_unknown,++ -- ** BucketCountPolicyAllowsUnencryptedObjectUploads+ bucketCountPolicyAllowsUnencryptedObjectUploads_allowsUnencryptedObjectUploads,+ bucketCountPolicyAllowsUnencryptedObjectUploads_deniesUnencryptedObjectUploads,+ bucketCountPolicyAllowsUnencryptedObjectUploads_unknown,++ -- ** BucketCriteriaAdditionalProperties+ bucketCriteriaAdditionalProperties_eq,+ bucketCriteriaAdditionalProperties_gt,+ bucketCriteriaAdditionalProperties_gte,+ bucketCriteriaAdditionalProperties_lt,+ bucketCriteriaAdditionalProperties_lte,+ bucketCriteriaAdditionalProperties_neq,+ bucketCriteriaAdditionalProperties_prefix,++ -- ** BucketLevelPermissions+ bucketLevelPermissions_accessControlList,+ bucketLevelPermissions_blockPublicAccess,+ bucketLevelPermissions_bucketPolicy,++ -- ** BucketMetadata+ bucketMetadata_accountId,+ bucketMetadata_allowsUnencryptedObjectUploads,+ bucketMetadata_bucketArn,+ bucketMetadata_bucketCreatedAt,+ bucketMetadata_bucketName,+ bucketMetadata_classifiableObjectCount,+ bucketMetadata_classifiableSizeInBytes,+ bucketMetadata_errorCode,+ bucketMetadata_errorMessage,+ bucketMetadata_jobDetails,+ bucketMetadata_lastAutomatedDiscoveryTime,+ bucketMetadata_lastUpdated,+ bucketMetadata_objectCount,+ bucketMetadata_objectCountByEncryptionType,+ bucketMetadata_publicAccess,+ bucketMetadata_region,+ bucketMetadata_replicationDetails,+ bucketMetadata_sensitivityScore,+ bucketMetadata_serverSideEncryption,+ bucketMetadata_sharedAccess,+ bucketMetadata_sizeInBytes,+ bucketMetadata_sizeInBytesCompressed,+ bucketMetadata_tags,+ bucketMetadata_unclassifiableObjectCount,+ bucketMetadata_unclassifiableObjectSizeInBytes,+ bucketMetadata_versioning,++ -- ** BucketPermissionConfiguration+ bucketPermissionConfiguration_accountLevelPermissions,+ bucketPermissionConfiguration_bucketLevelPermissions,++ -- ** BucketPolicy+ bucketPolicy_allowsPublicReadAccess,+ bucketPolicy_allowsPublicWriteAccess,++ -- ** BucketPublicAccess+ bucketPublicAccess_effectivePermission,+ bucketPublicAccess_permissionConfiguration,++ -- ** BucketServerSideEncryption+ bucketServerSideEncryption_kmsMasterKeyId,+ bucketServerSideEncryption_type,++ -- ** BucketSortCriteria+ bucketSortCriteria_attributeName,+ bucketSortCriteria_orderBy,++ -- ** BucketStatisticsBySensitivity+ bucketStatisticsBySensitivity_classificationError,+ bucketStatisticsBySensitivity_notClassified,+ bucketStatisticsBySensitivity_notSensitive,+ bucketStatisticsBySensitivity_sensitive,++ -- ** Cell+ cell_cellReference,+ cell_column,+ cell_columnName,+ cell_row,++ -- ** ClassificationDetails+ classificationDetails_detailedResultsLocation,+ classificationDetails_jobArn,+ classificationDetails_jobId,+ classificationDetails_originType,+ classificationDetails_result,++ -- ** ClassificationExportConfiguration+ classificationExportConfiguration_s3Destination,++ -- ** ClassificationResult+ classificationResult_additionalOccurrences,+ classificationResult_customDataIdentifiers,+ classificationResult_mimeType,+ classificationResult_sensitiveData,+ classificationResult_sizeClassified,+ classificationResult_status,++ -- ** ClassificationResultStatus+ classificationResultStatus_code,+ classificationResultStatus_reason,++ -- ** ClassificationScopeSummary+ classificationScopeSummary_id,+ classificationScopeSummary_name,++ -- ** CriteriaBlockForJob+ criteriaBlockForJob_and,++ -- ** CriteriaForJob+ criteriaForJob_simpleCriterion,+ criteriaForJob_tagCriterion,++ -- ** CriterionAdditionalProperties+ criterionAdditionalProperties_eq,+ criterionAdditionalProperties_eqExactMatch,+ criterionAdditionalProperties_gt,+ criterionAdditionalProperties_gte,+ criterionAdditionalProperties_lt,+ criterionAdditionalProperties_lte,+ criterionAdditionalProperties_neq,++ -- ** CustomDataIdentifierSummary+ customDataIdentifierSummary_arn,+ customDataIdentifierSummary_createdAt,+ customDataIdentifierSummary_description,+ customDataIdentifierSummary_id,+ customDataIdentifierSummary_name,++ -- ** CustomDataIdentifiers+ customDataIdentifiers_detections,+ customDataIdentifiers_totalCount,++ -- ** CustomDetection+ customDetection_arn,+ customDetection_count,+ customDetection_name,+ customDetection_occurrences,++ -- ** DailySchedule++ -- ** DefaultDetection+ defaultDetection_count,+ defaultDetection_occurrences,+ defaultDetection_type,++ -- ** DetectedDataDetails+ detectedDataDetails_value,++ -- ** Detection+ detection_arn,+ detection_count,+ detection_id,+ detection_name,+ detection_suppressed,+ detection_type,++ -- ** DomainDetails+ domainDetails_domainName,++ -- ** FederatedUser+ federatedUser_accessKeyId,+ federatedUser_accountId,+ federatedUser_arn,+ federatedUser_principalId,+ federatedUser_sessionContext,++ -- ** Finding+ finding_accountId,+ finding_archived,+ finding_category,+ finding_classificationDetails,+ finding_count,+ finding_createdAt,+ finding_description,+ finding_id,+ finding_partition,+ finding_policyDetails,+ finding_region,+ finding_resourcesAffected,+ finding_sample,+ finding_schemaVersion,+ finding_severity,+ finding_title,+ finding_type,+ finding_updatedAt,++ -- ** FindingAction+ findingAction_actionType,+ findingAction_apiCallDetails,++ -- ** FindingActor+ findingActor_domainDetails,+ findingActor_ipAddressDetails,+ findingActor_userIdentity,++ -- ** FindingCriteria+ findingCriteria_criterion,++ -- ** FindingStatisticsSortCriteria+ findingStatisticsSortCriteria_attributeName,+ findingStatisticsSortCriteria_orderBy,++ -- ** FindingsFilterListItem+ findingsFilterListItem_action,+ findingsFilterListItem_arn,+ findingsFilterListItem_id,+ findingsFilterListItem_name,+ findingsFilterListItem_tags,++ -- ** GroupCount+ groupCount_count,+ groupCount_groupKey,++ -- ** IamUser+ iamUser_accountId,+ iamUser_arn,+ iamUser_principalId,+ iamUser_userName,++ -- ** Invitation+ invitation_accountId,+ invitation_invitationId,+ invitation_invitedAt,+ invitation_relationshipStatus,++ -- ** IpAddressDetails+ ipAddressDetails_ipAddressV4,+ ipAddressDetails_ipCity,+ ipAddressDetails_ipCountry,+ ipAddressDetails_ipGeoLocation,+ ipAddressDetails_ipOwner,++ -- ** IpCity+ ipCity_name,++ -- ** IpCountry+ ipCountry_code,+ ipCountry_name,++ -- ** IpGeoLocation+ ipGeoLocation_lat,+ ipGeoLocation_lon,++ -- ** IpOwner+ ipOwner_asn,+ ipOwner_asnOrg,+ ipOwner_isp,+ ipOwner_org,++ -- ** JobDetails+ jobDetails_isDefinedInJob,+ jobDetails_isMonitoredByJob,+ jobDetails_lastJobId,+ jobDetails_lastJobRunTime,++ -- ** JobScheduleFrequency+ jobScheduleFrequency_dailySchedule,+ jobScheduleFrequency_monthlySchedule,+ jobScheduleFrequency_weeklySchedule,++ -- ** JobScopeTerm+ jobScopeTerm_simpleScopeTerm,+ jobScopeTerm_tagScopeTerm,++ -- ** JobScopingBlock+ jobScopingBlock_and,++ -- ** JobSummary+ jobSummary_bucketCriteria,+ jobSummary_bucketDefinitions,+ jobSummary_createdAt,+ jobSummary_jobId,+ jobSummary_jobStatus,+ jobSummary_jobType,+ jobSummary_lastRunErrorStatus,+ jobSummary_name,+ jobSummary_userPausedDetails,++ -- ** KeyValuePair+ keyValuePair_key,+ keyValuePair_value,++ -- ** LastRunErrorStatus+ lastRunErrorStatus_code,++ -- ** ListJobsFilterCriteria+ listJobsFilterCriteria_excludes,+ listJobsFilterCriteria_includes,++ -- ** ListJobsFilterTerm+ listJobsFilterTerm_comparator,+ listJobsFilterTerm_key,+ listJobsFilterTerm_values,++ -- ** ListJobsSortCriteria+ listJobsSortCriteria_attributeName,+ listJobsSortCriteria_orderBy,++ -- ** ManagedDataIdentifierSummary+ managedDataIdentifierSummary_category,+ managedDataIdentifierSummary_id,++ -- ** MatchingBucket+ matchingBucket_accountId,+ matchingBucket_bucketName,+ matchingBucket_classifiableObjectCount,+ matchingBucket_classifiableSizeInBytes,+ matchingBucket_errorCode,+ matchingBucket_errorMessage,+ matchingBucket_jobDetails,+ matchingBucket_lastAutomatedDiscoveryTime,+ matchingBucket_objectCount,+ matchingBucket_objectCountByEncryptionType,+ matchingBucket_sensitivityScore,+ matchingBucket_sizeInBytes,+ matchingBucket_sizeInBytesCompressed,+ matchingBucket_unclassifiableObjectCount,+ matchingBucket_unclassifiableObjectSizeInBytes,++ -- ** MatchingResource+ matchingResource_matchingBucket,++ -- ** Member+ member_accountId,+ member_administratorAccountId,+ member_arn,+ member_email,+ member_invitedAt,+ member_masterAccountId,+ member_relationshipStatus,+ member_tags,+ member_updatedAt,++ -- ** MonthlySchedule+ monthlySchedule_dayOfMonth,++ -- ** ObjectCountByEncryptionType+ objectCountByEncryptionType_customerManaged,+ objectCountByEncryptionType_kmsManaged,+ objectCountByEncryptionType_s3Managed,+ objectCountByEncryptionType_unencrypted,+ objectCountByEncryptionType_unknown,++ -- ** ObjectLevelStatistics+ objectLevelStatistics_fileType,+ objectLevelStatistics_storageClass,+ objectLevelStatistics_total,++ -- ** Occurrences+ occurrences_cells,+ occurrences_lineRanges,+ occurrences_offsetRanges,+ occurrences_pages,+ occurrences_records,++ -- ** Page+ page_lineRange,+ page_offsetRange,+ page_pageNumber,++ -- ** PolicyDetails+ policyDetails_action,+ policyDetails_actor,++ -- ** Range+ range_end,+ range_start,+ range_startColumn,++ -- ** Record+ record_jsonPath,+ record_recordIndex,++ -- ** ReplicationDetails+ replicationDetails_replicated,+ replicationDetails_replicatedExternally,+ replicationDetails_replicationAccounts,++ -- ** ResourceProfileArtifact+ resourceProfileArtifact_sensitive,+ resourceProfileArtifact_classificationResultStatus,+ resourceProfileArtifact_arn,++ -- ** ResourceStatistics+ resourceStatistics_totalBytesClassified,+ resourceStatistics_totalDetections,+ resourceStatistics_totalDetectionsSuppressed,+ resourceStatistics_totalItemsClassified,+ resourceStatistics_totalItemsSensitive,+ resourceStatistics_totalItemsSkipped,+ resourceStatistics_totalItemsSkippedInvalidEncryption,+ resourceStatistics_totalItemsSkippedInvalidKms,+ resourceStatistics_totalItemsSkippedPermissionDenied,++ -- ** ResourcesAffected+ resourcesAffected_s3Bucket,+ resourcesAffected_s3Object,++ -- ** RevealConfiguration+ revealConfiguration_kmsKeyId,+ revealConfiguration_status,++ -- ** S3Bucket+ s3Bucket_allowsUnencryptedObjectUploads,+ s3Bucket_arn,+ s3Bucket_createdAt,+ s3Bucket_defaultServerSideEncryption,+ s3Bucket_name,+ s3Bucket_owner,+ s3Bucket_publicAccess,+ s3Bucket_tags,++ -- ** S3BucketCriteriaForJob+ s3BucketCriteriaForJob_excludes,+ s3BucketCriteriaForJob_includes,++ -- ** S3BucketDefinitionForJob+ s3BucketDefinitionForJob_accountId,+ s3BucketDefinitionForJob_buckets,++ -- ** S3BucketOwner+ s3BucketOwner_displayName,+ s3BucketOwner_id,++ -- ** S3ClassificationScope+ s3ClassificationScope_excludes,++ -- ** S3ClassificationScopeExclusion+ s3ClassificationScopeExclusion_bucketNames,++ -- ** S3ClassificationScopeExclusionUpdate+ s3ClassificationScopeExclusionUpdate_bucketNames,+ s3ClassificationScopeExclusionUpdate_operation,++ -- ** S3ClassificationScopeUpdate+ s3ClassificationScopeUpdate_excludes,++ -- ** S3Destination+ s3Destination_keyPrefix,+ s3Destination_bucketName,+ s3Destination_kmsKeyArn,++ -- ** S3JobDefinition+ s3JobDefinition_bucketCriteria,+ s3JobDefinition_bucketDefinitions,+ s3JobDefinition_scoping,++ -- ** S3Object+ s3Object_bucketArn,+ s3Object_eTag,+ s3Object_extension,+ s3Object_key,+ s3Object_lastModified,+ s3Object_path,+ s3Object_publicAccess,+ s3Object_serverSideEncryption,+ s3Object_size,+ s3Object_storageClass,+ s3Object_tags,+ s3Object_versionId,++ -- ** S3WordsList+ s3WordsList_bucketName,+ s3WordsList_objectKey,++ -- ** Scoping+ scoping_excludes,+ scoping_includes,++ -- ** SearchResourcesBucketCriteria+ searchResourcesBucketCriteria_excludes,+ searchResourcesBucketCriteria_includes,++ -- ** SearchResourcesCriteria+ searchResourcesCriteria_simpleCriterion,+ searchResourcesCriteria_tagCriterion,++ -- ** SearchResourcesCriteriaBlock+ searchResourcesCriteriaBlock_and,++ -- ** SearchResourcesSimpleCriterion+ searchResourcesSimpleCriterion_comparator,+ searchResourcesSimpleCriterion_key,+ searchResourcesSimpleCriterion_values,++ -- ** SearchResourcesSortCriteria+ searchResourcesSortCriteria_attributeName,+ searchResourcesSortCriteria_orderBy,++ -- ** SearchResourcesTagCriterion+ searchResourcesTagCriterion_comparator,+ searchResourcesTagCriterion_tagValues,++ -- ** SearchResourcesTagCriterionPair+ searchResourcesTagCriterionPair_key,+ searchResourcesTagCriterionPair_value,++ -- ** SecurityHubConfiguration+ securityHubConfiguration_publishPolicyFindings,+ securityHubConfiguration_publishClassificationFindings,++ -- ** SensitiveDataItem+ sensitiveDataItem_category,+ sensitiveDataItem_detections,+ sensitiveDataItem_totalCount,++ -- ** SensitivityAggregations+ sensitivityAggregations_classifiableSizeInBytes,+ sensitivityAggregations_publiclyAccessibleCount,+ sensitivityAggregations_totalCount,+ sensitivityAggregations_totalSizeInBytes,++ -- ** SensitivityInspectionTemplateExcludes+ sensitivityInspectionTemplateExcludes_managedDataIdentifierIds,++ -- ** SensitivityInspectionTemplateIncludes+ sensitivityInspectionTemplateIncludes_allowListIds,+ sensitivityInspectionTemplateIncludes_customDataIdentifierIds,+ sensitivityInspectionTemplateIncludes_managedDataIdentifierIds,++ -- ** SensitivityInspectionTemplatesEntry+ sensitivityInspectionTemplatesEntry_id,+ sensitivityInspectionTemplatesEntry_name,++ -- ** ServerSideEncryption+ serverSideEncryption_encryptionType,+ serverSideEncryption_kmsMasterKeyId,++ -- ** ServiceLimit+ serviceLimit_isServiceLimited,+ serviceLimit_unit,+ serviceLimit_value,++ -- ** SessionContext+ sessionContext_attributes,+ sessionContext_sessionIssuer,++ -- ** SessionContextAttributes+ sessionContextAttributes_creationDate,+ sessionContextAttributes_mfaAuthenticated,++ -- ** SessionIssuer+ sessionIssuer_accountId,+ sessionIssuer_arn,+ sessionIssuer_principalId,+ sessionIssuer_type,+ sessionIssuer_userName,++ -- ** Severity+ severity_description,+ severity_score,++ -- ** SeverityLevel+ severityLevel_occurrencesThreshold,+ severityLevel_severity,++ -- ** SimpleCriterionForJob+ simpleCriterionForJob_comparator,+ simpleCriterionForJob_key,+ simpleCriterionForJob_values,++ -- ** SimpleScopeTerm+ simpleScopeTerm_comparator,+ simpleScopeTerm_key,+ simpleScopeTerm_values,++ -- ** SortCriteria+ sortCriteria_attributeName,+ sortCriteria_orderBy,++ -- ** Statistics+ statistics_approximateNumberOfObjectsToProcess,+ statistics_numberOfRuns,++ -- ** SuppressDataIdentifier+ suppressDataIdentifier_id,+ suppressDataIdentifier_type,++ -- ** TagCriterionForJob+ tagCriterionForJob_comparator,+ tagCriterionForJob_tagValues,++ -- ** TagCriterionPairForJob+ tagCriterionPairForJob_key,+ tagCriterionPairForJob_value,++ -- ** TagScopeTerm+ tagScopeTerm_comparator,+ tagScopeTerm_key,+ tagScopeTerm_tagValues,+ tagScopeTerm_target,++ -- ** TagValuePair+ tagValuePair_key,+ tagValuePair_value,++ -- ** UnprocessedAccount+ unprocessedAccount_accountId,+ unprocessedAccount_errorCode,+ unprocessedAccount_errorMessage,++ -- ** UsageByAccount+ usageByAccount_currency,+ usageByAccount_estimatedCost,+ usageByAccount_serviceLimit,+ usageByAccount_type,++ -- ** UsageRecord+ usageRecord_accountId,+ usageRecord_automatedDiscoveryFreeTrialStartDate,+ usageRecord_freeTrialStartDate,+ usageRecord_usage,++ -- ** UsageStatisticsFilter+ usageStatisticsFilter_comparator,+ usageStatisticsFilter_key,+ usageStatisticsFilter_values,++ -- ** UsageStatisticsSortBy+ usageStatisticsSortBy_key,+ usageStatisticsSortBy_orderBy,++ -- ** UsageTotal+ usageTotal_currency,+ usageTotal_estimatedCost,+ usageTotal_type,++ -- ** UserIdentity+ userIdentity_assumedRole,+ userIdentity_awsAccount,+ userIdentity_awsService,+ userIdentity_federatedUser,+ userIdentity_iamUser,+ userIdentity_root,+ userIdentity_type,++ -- ** UserIdentityRoot+ userIdentityRoot_accountId,+ userIdentityRoot_arn,+ userIdentityRoot_principalId,++ -- ** UserPausedDetails+ userPausedDetails_jobExpiresAt,+ userPausedDetails_jobImminentExpirationHealthEventArn,+ userPausedDetails_jobPausedAt,++ -- ** WeeklySchedule+ weeklySchedule_dayOfWeek,+ )+where++import Amazonka.MacieV2.AcceptInvitation+import Amazonka.MacieV2.BatchGetCustomDataIdentifiers+import Amazonka.MacieV2.CreateAllowList+import Amazonka.MacieV2.CreateClassificationJob+import Amazonka.MacieV2.CreateCustomDataIdentifier+import Amazonka.MacieV2.CreateFindingsFilter+import Amazonka.MacieV2.CreateInvitations+import Amazonka.MacieV2.CreateMember+import Amazonka.MacieV2.CreateSampleFindings+import Amazonka.MacieV2.DeclineInvitations+import Amazonka.MacieV2.DeleteAllowList+import Amazonka.MacieV2.DeleteCustomDataIdentifier+import Amazonka.MacieV2.DeleteFindingsFilter+import Amazonka.MacieV2.DeleteInvitations+import Amazonka.MacieV2.DeleteMember+import Amazonka.MacieV2.DescribeBuckets+import Amazonka.MacieV2.DescribeClassificationJob+import Amazonka.MacieV2.DescribeOrganizationConfiguration+import Amazonka.MacieV2.DisableMacie+import Amazonka.MacieV2.DisableOrganizationAdminAccount+import Amazonka.MacieV2.DisassociateFromAdministratorAccount+import Amazonka.MacieV2.DisassociateFromMasterAccount+import Amazonka.MacieV2.DisassociateMember+import Amazonka.MacieV2.EnableMacie+import Amazonka.MacieV2.EnableOrganizationAdminAccount+import Amazonka.MacieV2.GetAdministratorAccount+import Amazonka.MacieV2.GetAllowList+import Amazonka.MacieV2.GetAutomatedDiscoveryConfiguration+import Amazonka.MacieV2.GetBucketStatistics+import Amazonka.MacieV2.GetClassificationExportConfiguration+import Amazonka.MacieV2.GetClassificationScope+import Amazonka.MacieV2.GetCustomDataIdentifier+import Amazonka.MacieV2.GetFindingStatistics+import Amazonka.MacieV2.GetFindings+import Amazonka.MacieV2.GetFindingsFilter+import Amazonka.MacieV2.GetFindingsPublicationConfiguration+import Amazonka.MacieV2.GetInvitationsCount+import Amazonka.MacieV2.GetMacieSession+import Amazonka.MacieV2.GetMasterAccount+import Amazonka.MacieV2.GetMember+import Amazonka.MacieV2.GetResourceProfile+import Amazonka.MacieV2.GetRevealConfiguration+import Amazonka.MacieV2.GetSensitiveDataOccurrences+import Amazonka.MacieV2.GetSensitiveDataOccurrencesAvailability+import Amazonka.MacieV2.GetSensitivityInspectionTemplate+import Amazonka.MacieV2.GetUsageStatistics+import Amazonka.MacieV2.GetUsageTotals+import Amazonka.MacieV2.ListAllowLists+import Amazonka.MacieV2.ListClassificationJobs+import Amazonka.MacieV2.ListClassificationScopes+import Amazonka.MacieV2.ListCustomDataIdentifiers+import Amazonka.MacieV2.ListFindings+import Amazonka.MacieV2.ListFindingsFilters+import Amazonka.MacieV2.ListInvitations+import Amazonka.MacieV2.ListManagedDataIdentifiers+import Amazonka.MacieV2.ListMembers+import Amazonka.MacieV2.ListOrganizationAdminAccounts+import Amazonka.MacieV2.ListResourceProfileArtifacts+import Amazonka.MacieV2.ListResourceProfileDetections+import Amazonka.MacieV2.ListSensitivityInspectionTemplates+import Amazonka.MacieV2.ListTagsForResource+import Amazonka.MacieV2.PutClassificationExportConfiguration+import Amazonka.MacieV2.PutFindingsPublicationConfiguration+import Amazonka.MacieV2.SearchResources+import Amazonka.MacieV2.TagResource+import Amazonka.MacieV2.TestCustomDataIdentifier+import Amazonka.MacieV2.Types.AccessControlList+import Amazonka.MacieV2.Types.AccountDetail+import Amazonka.MacieV2.Types.AccountLevelPermissions+import Amazonka.MacieV2.Types.AdminAccount+import Amazonka.MacieV2.Types.AllowListCriteria+import Amazonka.MacieV2.Types.AllowListStatus+import Amazonka.MacieV2.Types.AllowListSummary+import Amazonka.MacieV2.Types.ApiCallDetails+import Amazonka.MacieV2.Types.AssumedRole+import Amazonka.MacieV2.Types.AwsAccount+import Amazonka.MacieV2.Types.AwsService+import Amazonka.MacieV2.Types.BatchGetCustomDataIdentifierSummary+import Amazonka.MacieV2.Types.BlockPublicAccess+import Amazonka.MacieV2.Types.BucketCountByEffectivePermission+import Amazonka.MacieV2.Types.BucketCountByEncryptionType+import Amazonka.MacieV2.Types.BucketCountBySharedAccessType+import Amazonka.MacieV2.Types.BucketCountPolicyAllowsUnencryptedObjectUploads+import Amazonka.MacieV2.Types.BucketCriteriaAdditionalProperties+import Amazonka.MacieV2.Types.BucketLevelPermissions+import Amazonka.MacieV2.Types.BucketMetadata+import Amazonka.MacieV2.Types.BucketPermissionConfiguration+import Amazonka.MacieV2.Types.BucketPolicy+import Amazonka.MacieV2.Types.BucketPublicAccess+import Amazonka.MacieV2.Types.BucketServerSideEncryption+import Amazonka.MacieV2.Types.BucketSortCriteria+import Amazonka.MacieV2.Types.BucketStatisticsBySensitivity+import Amazonka.MacieV2.Types.Cell+import Amazonka.MacieV2.Types.ClassificationDetails+import Amazonka.MacieV2.Types.ClassificationExportConfiguration+import Amazonka.MacieV2.Types.ClassificationResult+import Amazonka.MacieV2.Types.ClassificationResultStatus+import Amazonka.MacieV2.Types.ClassificationScopeSummary+import Amazonka.MacieV2.Types.CriteriaBlockForJob+import Amazonka.MacieV2.Types.CriteriaForJob+import Amazonka.MacieV2.Types.CriterionAdditionalProperties+import Amazonka.MacieV2.Types.CustomDataIdentifierSummary+import Amazonka.MacieV2.Types.CustomDataIdentifiers+import Amazonka.MacieV2.Types.CustomDetection+import Amazonka.MacieV2.Types.DailySchedule+import Amazonka.MacieV2.Types.DefaultDetection+import Amazonka.MacieV2.Types.DetectedDataDetails+import Amazonka.MacieV2.Types.Detection+import Amazonka.MacieV2.Types.DomainDetails+import Amazonka.MacieV2.Types.FederatedUser+import Amazonka.MacieV2.Types.Finding+import Amazonka.MacieV2.Types.FindingAction+import Amazonka.MacieV2.Types.FindingActor+import Amazonka.MacieV2.Types.FindingCriteria+import Amazonka.MacieV2.Types.FindingStatisticsSortCriteria+import Amazonka.MacieV2.Types.FindingsFilterListItem+import Amazonka.MacieV2.Types.GroupCount+import Amazonka.MacieV2.Types.IamUser+import Amazonka.MacieV2.Types.Invitation+import Amazonka.MacieV2.Types.IpAddressDetails+import Amazonka.MacieV2.Types.IpCity+import Amazonka.MacieV2.Types.IpCountry+import Amazonka.MacieV2.Types.IpGeoLocation+import Amazonka.MacieV2.Types.IpOwner+import Amazonka.MacieV2.Types.JobDetails+import Amazonka.MacieV2.Types.JobScheduleFrequency+import Amazonka.MacieV2.Types.JobScopeTerm+import Amazonka.MacieV2.Types.JobScopingBlock+import Amazonka.MacieV2.Types.JobSummary+import Amazonka.MacieV2.Types.KeyValuePair+import Amazonka.MacieV2.Types.LastRunErrorStatus+import Amazonka.MacieV2.Types.ListJobsFilterCriteria+import Amazonka.MacieV2.Types.ListJobsFilterTerm+import Amazonka.MacieV2.Types.ListJobsSortCriteria+import Amazonka.MacieV2.Types.ManagedDataIdentifierSummary+import Amazonka.MacieV2.Types.MatchingBucket+import Amazonka.MacieV2.Types.MatchingResource+import Amazonka.MacieV2.Types.Member+import Amazonka.MacieV2.Types.MonthlySchedule+import Amazonka.MacieV2.Types.ObjectCountByEncryptionType+import Amazonka.MacieV2.Types.ObjectLevelStatistics+import Amazonka.MacieV2.Types.Occurrences+import Amazonka.MacieV2.Types.Page+import Amazonka.MacieV2.Types.PolicyDetails+import Amazonka.MacieV2.Types.Range+import Amazonka.MacieV2.Types.Record+import Amazonka.MacieV2.Types.ReplicationDetails+import Amazonka.MacieV2.Types.ResourceProfileArtifact+import Amazonka.MacieV2.Types.ResourceStatistics+import Amazonka.MacieV2.Types.ResourcesAffected+import Amazonka.MacieV2.Types.RevealConfiguration+import Amazonka.MacieV2.Types.S3Bucket+import Amazonka.MacieV2.Types.S3BucketCriteriaForJob+import Amazonka.MacieV2.Types.S3BucketDefinitionForJob+import Amazonka.MacieV2.Types.S3BucketOwner+import Amazonka.MacieV2.Types.S3ClassificationScope+import Amazonka.MacieV2.Types.S3ClassificationScopeExclusion+import Amazonka.MacieV2.Types.S3ClassificationScopeExclusionUpdate+import Amazonka.MacieV2.Types.S3ClassificationScopeUpdate+import Amazonka.MacieV2.Types.S3Destination+import Amazonka.MacieV2.Types.S3JobDefinition+import Amazonka.MacieV2.Types.S3Object+import Amazonka.MacieV2.Types.S3WordsList+import Amazonka.MacieV2.Types.Scoping+import Amazonka.MacieV2.Types.SearchResourcesBucketCriteria+import Amazonka.MacieV2.Types.SearchResourcesCriteria+import Amazonka.MacieV2.Types.SearchResourcesCriteriaBlock+import Amazonka.MacieV2.Types.SearchResourcesSimpleCriterion+import Amazonka.MacieV2.Types.SearchResourcesSortCriteria+import Amazonka.MacieV2.Types.SearchResourcesTagCriterion+import Amazonka.MacieV2.Types.SearchResourcesTagCriterionPair+import Amazonka.MacieV2.Types.SecurityHubConfiguration+import Amazonka.MacieV2.Types.SensitiveDataItem+import Amazonka.MacieV2.Types.SensitivityAggregations+import Amazonka.MacieV2.Types.SensitivityInspectionTemplateExcludes+import Amazonka.MacieV2.Types.SensitivityInspectionTemplateIncludes+import Amazonka.MacieV2.Types.SensitivityInspectionTemplatesEntry+import Amazonka.MacieV2.Types.ServerSideEncryption+import Amazonka.MacieV2.Types.ServiceLimit+import Amazonka.MacieV2.Types.SessionContext+import Amazonka.MacieV2.Types.SessionContextAttributes+import Amazonka.MacieV2.Types.SessionIssuer+import Amazonka.MacieV2.Types.Severity+import Amazonka.MacieV2.Types.SeverityLevel+import Amazonka.MacieV2.Types.SimpleCriterionForJob+import Amazonka.MacieV2.Types.SimpleScopeTerm+import Amazonka.MacieV2.Types.SortCriteria+import Amazonka.MacieV2.Types.Statistics+import Amazonka.MacieV2.Types.SuppressDataIdentifier+import Amazonka.MacieV2.Types.TagCriterionForJob+import Amazonka.MacieV2.Types.TagCriterionPairForJob+import Amazonka.MacieV2.Types.TagScopeTerm+import Amazonka.MacieV2.Types.TagValuePair+import Amazonka.MacieV2.Types.UnprocessedAccount+import Amazonka.MacieV2.Types.UsageByAccount+import Amazonka.MacieV2.Types.UsageRecord+import Amazonka.MacieV2.Types.UsageStatisticsFilter+import Amazonka.MacieV2.Types.UsageStatisticsSortBy+import Amazonka.MacieV2.Types.UsageTotal+import Amazonka.MacieV2.Types.UserIdentity+import Amazonka.MacieV2.Types.UserIdentityRoot+import Amazonka.MacieV2.Types.UserPausedDetails+import Amazonka.MacieV2.Types.WeeklySchedule+import Amazonka.MacieV2.UntagResource+import Amazonka.MacieV2.UpdateAllowList+import Amazonka.MacieV2.UpdateAutomatedDiscoveryConfiguration+import Amazonka.MacieV2.UpdateClassificationJob+import Amazonka.MacieV2.UpdateClassificationScope+import Amazonka.MacieV2.UpdateFindingsFilter+import Amazonka.MacieV2.UpdateMacieSession+import Amazonka.MacieV2.UpdateMemberSession+import Amazonka.MacieV2.UpdateOrganizationConfiguration+import Amazonka.MacieV2.UpdateResourceProfile+import Amazonka.MacieV2.UpdateResourceProfileDetections+import Amazonka.MacieV2.UpdateRevealConfiguration+import Amazonka.MacieV2.UpdateSensitivityInspectionTemplate
+ gen/Amazonka/MacieV2/ListAllowLists.hs view
@@ -0,0 +1,224 @@+{-# 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.MacieV2.ListAllowLists+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a subset of information about all the allow lists for an+-- account.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.ListAllowLists+ ( -- * Creating a Request+ ListAllowLists (..),+ newListAllowLists,++ -- * Request Lenses+ listAllowLists_maxResults,+ listAllowLists_nextToken,++ -- * Destructuring the Response+ ListAllowListsResponse (..),+ newListAllowListsResponse,++ -- * Response Lenses+ listAllowListsResponse_allowLists,+ listAllowListsResponse_nextToken,+ listAllowListsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAllowLists' smart constructor.+data ListAllowLists = ListAllowLists'+ { -- | The maximum number of items to include in each page of a paginated+ -- response.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAllowLists' 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', 'listAllowLists_maxResults' - The maximum number of items to include in each page of a paginated+-- response.+--+-- 'nextToken', 'listAllowLists_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+newListAllowLists ::+ ListAllowLists+newListAllowLists =+ ListAllowLists'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of items to include in each page of a paginated+-- response.+listAllowLists_maxResults :: Lens.Lens' ListAllowLists (Prelude.Maybe Prelude.Natural)+listAllowLists_maxResults = Lens.lens (\ListAllowLists' {maxResults} -> maxResults) (\s@ListAllowLists' {} a -> s {maxResults = a} :: ListAllowLists)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+listAllowLists_nextToken :: Lens.Lens' ListAllowLists (Prelude.Maybe Prelude.Text)+listAllowLists_nextToken = Lens.lens (\ListAllowLists' {nextToken} -> nextToken) (\s@ListAllowLists' {} a -> s {nextToken = a} :: ListAllowLists)++instance Core.AWSPager ListAllowLists where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listAllowListsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listAllowListsResponse_allowLists+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listAllowLists_nextToken+ Lens..~ rs+ Lens.^? listAllowListsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListAllowLists where+ type+ AWSResponse ListAllowLists =+ ListAllowListsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAllowListsResponse'+ Prelude.<$> (x Data..?> "allowLists" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAllowLists where+ hashWithSalt _salt ListAllowLists' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListAllowLists where+ rnf ListAllowLists' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListAllowLists where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListAllowLists where+ toPath = Prelude.const "/allow-lists"++instance Data.ToQuery ListAllowLists where+ toQuery ListAllowLists' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListAllowListsResponse' smart constructor.+data ListAllowListsResponse = ListAllowListsResponse'+ { -- | An array of objects, one for each allow list.+ allowLists :: Prelude.Maybe [AllowListSummary],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'ListAllowListsResponse' 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:+--+-- 'allowLists', 'listAllowListsResponse_allowLists' - An array of objects, one for each allow list.+--+-- 'nextToken', 'listAllowListsResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'listAllowListsResponse_httpStatus' - The response's http status code.+newListAllowListsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAllowListsResponse+newListAllowListsResponse pHttpStatus_ =+ ListAllowListsResponse'+ { allowLists =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each allow list.+listAllowListsResponse_allowLists :: Lens.Lens' ListAllowListsResponse (Prelude.Maybe [AllowListSummary])+listAllowListsResponse_allowLists = Lens.lens (\ListAllowListsResponse' {allowLists} -> allowLists) (\s@ListAllowListsResponse' {} a -> s {allowLists = a} :: ListAllowListsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+listAllowListsResponse_nextToken :: Lens.Lens' ListAllowListsResponse (Prelude.Maybe Prelude.Text)+listAllowListsResponse_nextToken = Lens.lens (\ListAllowListsResponse' {nextToken} -> nextToken) (\s@ListAllowListsResponse' {} a -> s {nextToken = a} :: ListAllowListsResponse)++-- | The response's http status code.+listAllowListsResponse_httpStatus :: Lens.Lens' ListAllowListsResponse Prelude.Int+listAllowListsResponse_httpStatus = Lens.lens (\ListAllowListsResponse' {httpStatus} -> httpStatus) (\s@ListAllowListsResponse' {} a -> s {httpStatus = a} :: ListAllowListsResponse)++instance Prelude.NFData ListAllowListsResponse where+ rnf ListAllowListsResponse' {..} =+ Prelude.rnf allowLists+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/ListClassificationJobs.hs view
@@ -0,0 +1,259 @@+{-# 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.MacieV2.ListClassificationJobs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a subset of information about one or more classification jobs.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.ListClassificationJobs+ ( -- * Creating a Request+ ListClassificationJobs (..),+ newListClassificationJobs,++ -- * Request Lenses+ listClassificationJobs_filterCriteria,+ listClassificationJobs_maxResults,+ listClassificationJobs_nextToken,+ listClassificationJobs_sortCriteria,++ -- * Destructuring the Response+ ListClassificationJobsResponse (..),+ newListClassificationJobsResponse,++ -- * Response Lenses+ listClassificationJobsResponse_items,+ listClassificationJobsResponse_nextToken,+ listClassificationJobsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListClassificationJobs' smart constructor.+data ListClassificationJobs = ListClassificationJobs'+ { -- | The criteria to use to filter the results.+ filterCriteria :: Prelude.Maybe ListJobsFilterCriteria,+ -- | The maximum number of items to include in each page of the response.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The criteria to use to sort the results.+ sortCriteria :: Prelude.Maybe ListJobsSortCriteria+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListClassificationJobs' 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:+--+-- 'filterCriteria', 'listClassificationJobs_filterCriteria' - The criteria to use to filter the results.+--+-- 'maxResults', 'listClassificationJobs_maxResults' - The maximum number of items to include in each page of the response.+--+-- 'nextToken', 'listClassificationJobs_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+--+-- 'sortCriteria', 'listClassificationJobs_sortCriteria' - The criteria to use to sort the results.+newListClassificationJobs ::+ ListClassificationJobs+newListClassificationJobs =+ ListClassificationJobs'+ { filterCriteria =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ sortCriteria = Prelude.Nothing+ }++-- | The criteria to use to filter the results.+listClassificationJobs_filterCriteria :: Lens.Lens' ListClassificationJobs (Prelude.Maybe ListJobsFilterCriteria)+listClassificationJobs_filterCriteria = Lens.lens (\ListClassificationJobs' {filterCriteria} -> filterCriteria) (\s@ListClassificationJobs' {} a -> s {filterCriteria = a} :: ListClassificationJobs)++-- | The maximum number of items to include in each page of the response.+listClassificationJobs_maxResults :: Lens.Lens' ListClassificationJobs (Prelude.Maybe Prelude.Int)+listClassificationJobs_maxResults = Lens.lens (\ListClassificationJobs' {maxResults} -> maxResults) (\s@ListClassificationJobs' {} a -> s {maxResults = a} :: ListClassificationJobs)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+listClassificationJobs_nextToken :: Lens.Lens' ListClassificationJobs (Prelude.Maybe Prelude.Text)+listClassificationJobs_nextToken = Lens.lens (\ListClassificationJobs' {nextToken} -> nextToken) (\s@ListClassificationJobs' {} a -> s {nextToken = a} :: ListClassificationJobs)++-- | The criteria to use to sort the results.+listClassificationJobs_sortCriteria :: Lens.Lens' ListClassificationJobs (Prelude.Maybe ListJobsSortCriteria)+listClassificationJobs_sortCriteria = Lens.lens (\ListClassificationJobs' {sortCriteria} -> sortCriteria) (\s@ListClassificationJobs' {} a -> s {sortCriteria = a} :: ListClassificationJobs)++instance Core.AWSPager ListClassificationJobs where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listClassificationJobsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listClassificationJobsResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listClassificationJobs_nextToken+ Lens..~ rs+ Lens.^? listClassificationJobsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListClassificationJobs where+ type+ AWSResponse ListClassificationJobs =+ ListClassificationJobsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListClassificationJobsResponse'+ Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListClassificationJobs where+ hashWithSalt _salt ListClassificationJobs' {..} =+ _salt+ `Prelude.hashWithSalt` filterCriteria+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` sortCriteria++instance Prelude.NFData ListClassificationJobs where+ rnf ListClassificationJobs' {..} =+ Prelude.rnf filterCriteria+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf sortCriteria++instance Data.ToHeaders ListClassificationJobs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListClassificationJobs where+ toJSON ListClassificationJobs' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("filterCriteria" Data..=)+ Prelude.<$> filterCriteria,+ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ ("sortCriteria" Data..=) Prelude.<$> sortCriteria+ ]+ )++instance Data.ToPath ListClassificationJobs where+ toPath = Prelude.const "/jobs/list"++instance Data.ToQuery ListClassificationJobs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListClassificationJobsResponse' smart constructor.+data ListClassificationJobsResponse = ListClassificationJobsResponse'+ { -- | An array of objects, one for each job that matches the filter criteria+ -- specified in the request.+ items :: Prelude.Maybe [JobSummary],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'ListClassificationJobsResponse' 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:+--+-- 'items', 'listClassificationJobsResponse_items' - An array of objects, one for each job that matches the filter criteria+-- specified in the request.+--+-- 'nextToken', 'listClassificationJobsResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'listClassificationJobsResponse_httpStatus' - The response's http status code.+newListClassificationJobsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListClassificationJobsResponse+newListClassificationJobsResponse pHttpStatus_ =+ ListClassificationJobsResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each job that matches the filter criteria+-- specified in the request.+listClassificationJobsResponse_items :: Lens.Lens' ListClassificationJobsResponse (Prelude.Maybe [JobSummary])+listClassificationJobsResponse_items = Lens.lens (\ListClassificationJobsResponse' {items} -> items) (\s@ListClassificationJobsResponse' {} a -> s {items = a} :: ListClassificationJobsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+listClassificationJobsResponse_nextToken :: Lens.Lens' ListClassificationJobsResponse (Prelude.Maybe Prelude.Text)+listClassificationJobsResponse_nextToken = Lens.lens (\ListClassificationJobsResponse' {nextToken} -> nextToken) (\s@ListClassificationJobsResponse' {} a -> s {nextToken = a} :: ListClassificationJobsResponse)++-- | The response's http status code.+listClassificationJobsResponse_httpStatus :: Lens.Lens' ListClassificationJobsResponse Prelude.Int+listClassificationJobsResponse_httpStatus = Lens.lens (\ListClassificationJobsResponse' {httpStatus} -> httpStatus) (\s@ListClassificationJobsResponse' {} a -> s {httpStatus = a} :: ListClassificationJobsResponse)++instance+ Prelude.NFData+ ListClassificationJobsResponse+ where+ rnf ListClassificationJobsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/ListClassificationScopes.hs view
@@ -0,0 +1,231 @@+{-# 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.MacieV2.ListClassificationScopes+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a subset of information about the classification scope for an+-- account.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.ListClassificationScopes+ ( -- * Creating a Request+ ListClassificationScopes (..),+ newListClassificationScopes,++ -- * Request Lenses+ listClassificationScopes_name,+ listClassificationScopes_nextToken,++ -- * Destructuring the Response+ ListClassificationScopesResponse (..),+ newListClassificationScopesResponse,++ -- * Response Lenses+ listClassificationScopesResponse_classificationScopes,+ listClassificationScopesResponse_nextToken,+ listClassificationScopesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListClassificationScopes' smart constructor.+data ListClassificationScopes = ListClassificationScopes'+ { -- | The name of the classification scope to retrieve the unique identifier+ -- for.+ name :: Prelude.Maybe Prelude.Text,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListClassificationScopes' 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:+--+-- 'name', 'listClassificationScopes_name' - The name of the classification scope to retrieve the unique identifier+-- for.+--+-- 'nextToken', 'listClassificationScopes_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+newListClassificationScopes ::+ ListClassificationScopes+newListClassificationScopes =+ ListClassificationScopes'+ { name = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The name of the classification scope to retrieve the unique identifier+-- for.+listClassificationScopes_name :: Lens.Lens' ListClassificationScopes (Prelude.Maybe Prelude.Text)+listClassificationScopes_name = Lens.lens (\ListClassificationScopes' {name} -> name) (\s@ListClassificationScopes' {} a -> s {name = a} :: ListClassificationScopes)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+listClassificationScopes_nextToken :: Lens.Lens' ListClassificationScopes (Prelude.Maybe Prelude.Text)+listClassificationScopes_nextToken = Lens.lens (\ListClassificationScopes' {nextToken} -> nextToken) (\s@ListClassificationScopes' {} a -> s {nextToken = a} :: ListClassificationScopes)++instance Core.AWSPager ListClassificationScopes where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listClassificationScopesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listClassificationScopesResponse_classificationScopes+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listClassificationScopes_nextToken+ Lens..~ rs+ Lens.^? listClassificationScopesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListClassificationScopes where+ type+ AWSResponse ListClassificationScopes =+ ListClassificationScopesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListClassificationScopesResponse'+ Prelude.<$> ( x+ Data..?> "classificationScopes"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListClassificationScopes where+ hashWithSalt _salt ListClassificationScopes' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListClassificationScopes where+ rnf ListClassificationScopes' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListClassificationScopes where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListClassificationScopes where+ toPath = Prelude.const "/classification-scopes"++instance Data.ToQuery ListClassificationScopes where+ toQuery ListClassificationScopes' {..} =+ Prelude.mconcat+ ["name" Data.=: name, "nextToken" Data.=: nextToken]++-- | /See:/ 'newListClassificationScopesResponse' smart constructor.+data ListClassificationScopesResponse = ListClassificationScopesResponse'+ { -- | An array that specifies the unique identifier and name of the+ -- classification scope for the account.+ classificationScopes :: Prelude.Maybe [ClassificationScopeSummary],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'ListClassificationScopesResponse' 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:+--+-- 'classificationScopes', 'listClassificationScopesResponse_classificationScopes' - An array that specifies the unique identifier and name of the+-- classification scope for the account.+--+-- 'nextToken', 'listClassificationScopesResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'listClassificationScopesResponse_httpStatus' - The response's http status code.+newListClassificationScopesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListClassificationScopesResponse+newListClassificationScopesResponse pHttpStatus_ =+ ListClassificationScopesResponse'+ { classificationScopes =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array that specifies the unique identifier and name of the+-- classification scope for the account.+listClassificationScopesResponse_classificationScopes :: Lens.Lens' ListClassificationScopesResponse (Prelude.Maybe [ClassificationScopeSummary])+listClassificationScopesResponse_classificationScopes = Lens.lens (\ListClassificationScopesResponse' {classificationScopes} -> classificationScopes) (\s@ListClassificationScopesResponse' {} a -> s {classificationScopes = a} :: ListClassificationScopesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+listClassificationScopesResponse_nextToken :: Lens.Lens' ListClassificationScopesResponse (Prelude.Maybe Prelude.Text)+listClassificationScopesResponse_nextToken = Lens.lens (\ListClassificationScopesResponse' {nextToken} -> nextToken) (\s@ListClassificationScopesResponse' {} a -> s {nextToken = a} :: ListClassificationScopesResponse)++-- | The response's http status code.+listClassificationScopesResponse_httpStatus :: Lens.Lens' ListClassificationScopesResponse Prelude.Int+listClassificationScopesResponse_httpStatus = Lens.lens (\ListClassificationScopesResponse' {httpStatus} -> httpStatus) (\s@ListClassificationScopesResponse' {} a -> s {httpStatus = a} :: ListClassificationScopesResponse)++instance+ Prelude.NFData+ ListClassificationScopesResponse+ where+ rnf ListClassificationScopesResponse' {..} =+ Prelude.rnf classificationScopes+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/ListCustomDataIdentifiers.hs view
@@ -0,0 +1,231 @@+{-# 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.MacieV2.ListCustomDataIdentifiers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a subset of information about all the custom data identifiers+-- for an account.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.ListCustomDataIdentifiers+ ( -- * Creating a Request+ ListCustomDataIdentifiers (..),+ newListCustomDataIdentifiers,++ -- * Request Lenses+ listCustomDataIdentifiers_maxResults,+ listCustomDataIdentifiers_nextToken,++ -- * Destructuring the Response+ ListCustomDataIdentifiersResponse (..),+ newListCustomDataIdentifiersResponse,++ -- * Response Lenses+ listCustomDataIdentifiersResponse_items,+ listCustomDataIdentifiersResponse_nextToken,+ listCustomDataIdentifiersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListCustomDataIdentifiers' smart constructor.+data ListCustomDataIdentifiers = ListCustomDataIdentifiers'+ { -- | The maximum number of items to include in each page of the response.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCustomDataIdentifiers' 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', 'listCustomDataIdentifiers_maxResults' - The maximum number of items to include in each page of the response.+--+-- 'nextToken', 'listCustomDataIdentifiers_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+newListCustomDataIdentifiers ::+ ListCustomDataIdentifiers+newListCustomDataIdentifiers =+ ListCustomDataIdentifiers'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of items to include in each page of the response.+listCustomDataIdentifiers_maxResults :: Lens.Lens' ListCustomDataIdentifiers (Prelude.Maybe Prelude.Int)+listCustomDataIdentifiers_maxResults = Lens.lens (\ListCustomDataIdentifiers' {maxResults} -> maxResults) (\s@ListCustomDataIdentifiers' {} a -> s {maxResults = a} :: ListCustomDataIdentifiers)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+listCustomDataIdentifiers_nextToken :: Lens.Lens' ListCustomDataIdentifiers (Prelude.Maybe Prelude.Text)+listCustomDataIdentifiers_nextToken = Lens.lens (\ListCustomDataIdentifiers' {nextToken} -> nextToken) (\s@ListCustomDataIdentifiers' {} a -> s {nextToken = a} :: ListCustomDataIdentifiers)++instance Core.AWSPager ListCustomDataIdentifiers where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listCustomDataIdentifiersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listCustomDataIdentifiersResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listCustomDataIdentifiers_nextToken+ Lens..~ rs+ Lens.^? listCustomDataIdentifiersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListCustomDataIdentifiers where+ type+ AWSResponse ListCustomDataIdentifiers =+ ListCustomDataIdentifiersResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListCustomDataIdentifiersResponse'+ Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListCustomDataIdentifiers where+ hashWithSalt _salt ListCustomDataIdentifiers' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListCustomDataIdentifiers where+ rnf ListCustomDataIdentifiers' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListCustomDataIdentifiers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListCustomDataIdentifiers where+ toJSON ListCustomDataIdentifiers' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken+ ]+ )++instance Data.ToPath ListCustomDataIdentifiers where+ toPath =+ Prelude.const "/custom-data-identifiers/list"++instance Data.ToQuery ListCustomDataIdentifiers where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListCustomDataIdentifiersResponse' smart constructor.+data ListCustomDataIdentifiersResponse = ListCustomDataIdentifiersResponse'+ { -- | An array of objects, one for each custom data identifier.+ items :: Prelude.Maybe [CustomDataIdentifierSummary],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'ListCustomDataIdentifiersResponse' 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:+--+-- 'items', 'listCustomDataIdentifiersResponse_items' - An array of objects, one for each custom data identifier.+--+-- 'nextToken', 'listCustomDataIdentifiersResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'listCustomDataIdentifiersResponse_httpStatus' - The response's http status code.+newListCustomDataIdentifiersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListCustomDataIdentifiersResponse+newListCustomDataIdentifiersResponse pHttpStatus_ =+ ListCustomDataIdentifiersResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each custom data identifier.+listCustomDataIdentifiersResponse_items :: Lens.Lens' ListCustomDataIdentifiersResponse (Prelude.Maybe [CustomDataIdentifierSummary])+listCustomDataIdentifiersResponse_items = Lens.lens (\ListCustomDataIdentifiersResponse' {items} -> items) (\s@ListCustomDataIdentifiersResponse' {} a -> s {items = a} :: ListCustomDataIdentifiersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+listCustomDataIdentifiersResponse_nextToken :: Lens.Lens' ListCustomDataIdentifiersResponse (Prelude.Maybe Prelude.Text)+listCustomDataIdentifiersResponse_nextToken = Lens.lens (\ListCustomDataIdentifiersResponse' {nextToken} -> nextToken) (\s@ListCustomDataIdentifiersResponse' {} a -> s {nextToken = a} :: ListCustomDataIdentifiersResponse)++-- | The response's http status code.+listCustomDataIdentifiersResponse_httpStatus :: Lens.Lens' ListCustomDataIdentifiersResponse Prelude.Int+listCustomDataIdentifiersResponse_httpStatus = Lens.lens (\ListCustomDataIdentifiersResponse' {httpStatus} -> httpStatus) (\s@ListCustomDataIdentifiersResponse' {} a -> s {httpStatus = a} :: ListCustomDataIdentifiersResponse)++instance+ Prelude.NFData+ ListCustomDataIdentifiersResponse+ where+ rnf ListCustomDataIdentifiersResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/ListFindings.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.MacieV2.ListFindings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a subset of information about one or more findings.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.ListFindings+ ( -- * Creating a Request+ ListFindings (..),+ newListFindings,++ -- * Request Lenses+ listFindings_findingCriteria,+ listFindings_maxResults,+ listFindings_nextToken,+ listFindings_sortCriteria,++ -- * Destructuring the Response+ ListFindingsResponse (..),+ newListFindingsResponse,++ -- * Response Lenses+ listFindingsResponse_findingIds,+ listFindingsResponse_nextToken,+ listFindingsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListFindings' smart constructor.+data ListFindings = ListFindings'+ { -- | The criteria to use to filter the results.+ findingCriteria :: Prelude.Maybe FindingCriteria,+ -- | The maximum number of items to include in each page of the response.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The criteria to use to sort the results.+ sortCriteria :: Prelude.Maybe SortCriteria+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFindings' 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:+--+-- 'findingCriteria', 'listFindings_findingCriteria' - The criteria to use to filter the results.+--+-- 'maxResults', 'listFindings_maxResults' - The maximum number of items to include in each page of the response.+--+-- 'nextToken', 'listFindings_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+--+-- 'sortCriteria', 'listFindings_sortCriteria' - The criteria to use to sort the results.+newListFindings ::+ ListFindings+newListFindings =+ ListFindings'+ { findingCriteria = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ sortCriteria = Prelude.Nothing+ }++-- | The criteria to use to filter the results.+listFindings_findingCriteria :: Lens.Lens' ListFindings (Prelude.Maybe FindingCriteria)+listFindings_findingCriteria = Lens.lens (\ListFindings' {findingCriteria} -> findingCriteria) (\s@ListFindings' {} a -> s {findingCriteria = a} :: ListFindings)++-- | The maximum number of items to include in each page of the response.+listFindings_maxResults :: Lens.Lens' ListFindings (Prelude.Maybe Prelude.Int)+listFindings_maxResults = Lens.lens (\ListFindings' {maxResults} -> maxResults) (\s@ListFindings' {} a -> s {maxResults = a} :: ListFindings)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+listFindings_nextToken :: Lens.Lens' ListFindings (Prelude.Maybe Prelude.Text)+listFindings_nextToken = Lens.lens (\ListFindings' {nextToken} -> nextToken) (\s@ListFindings' {} a -> s {nextToken = a} :: ListFindings)++-- | The criteria to use to sort the results.+listFindings_sortCriteria :: Lens.Lens' ListFindings (Prelude.Maybe SortCriteria)+listFindings_sortCriteria = Lens.lens (\ListFindings' {sortCriteria} -> sortCriteria) (\s@ListFindings' {} a -> s {sortCriteria = a} :: ListFindings)++instance Core.AWSPager ListFindings where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listFindingsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listFindingsResponse_findingIds+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listFindings_nextToken+ Lens..~ rs+ Lens.^? listFindingsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListFindings where+ type AWSResponse ListFindings = ListFindingsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListFindingsResponse'+ Prelude.<$> (x Data..?> "findingIds" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListFindings where+ hashWithSalt _salt ListFindings' {..} =+ _salt+ `Prelude.hashWithSalt` findingCriteria+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` sortCriteria++instance Prelude.NFData ListFindings where+ rnf ListFindings' {..} =+ Prelude.rnf findingCriteria+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf sortCriteria++instance Data.ToHeaders ListFindings where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListFindings where+ toJSON ListFindings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("findingCriteria" Data..=)+ Prelude.<$> findingCriteria,+ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ ("sortCriteria" Data..=) Prelude.<$> sortCriteria+ ]+ )++instance Data.ToPath ListFindings where+ toPath = Prelude.const "/findings"++instance Data.ToQuery ListFindings where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListFindingsResponse' smart constructor.+data ListFindingsResponse = ListFindingsResponse'+ { -- | An array of strings, where each string is the unique identifier for a+ -- finding that matches the filter criteria specified in the request.+ findingIds :: Prelude.Maybe [Prelude.Text],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'ListFindingsResponse' 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:+--+-- 'findingIds', 'listFindingsResponse_findingIds' - An array of strings, where each string is the unique identifier for a+-- finding that matches the filter criteria specified in the request.+--+-- 'nextToken', 'listFindingsResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'listFindingsResponse_httpStatus' - The response's http status code.+newListFindingsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListFindingsResponse+newListFindingsResponse pHttpStatus_ =+ ListFindingsResponse'+ { findingIds = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of strings, where each string is the unique identifier for a+-- finding that matches the filter criteria specified in the request.+listFindingsResponse_findingIds :: Lens.Lens' ListFindingsResponse (Prelude.Maybe [Prelude.Text])+listFindingsResponse_findingIds = Lens.lens (\ListFindingsResponse' {findingIds} -> findingIds) (\s@ListFindingsResponse' {} a -> s {findingIds = a} :: ListFindingsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+listFindingsResponse_nextToken :: Lens.Lens' ListFindingsResponse (Prelude.Maybe Prelude.Text)+listFindingsResponse_nextToken = Lens.lens (\ListFindingsResponse' {nextToken} -> nextToken) (\s@ListFindingsResponse' {} a -> s {nextToken = a} :: ListFindingsResponse)++-- | The response's http status code.+listFindingsResponse_httpStatus :: Lens.Lens' ListFindingsResponse Prelude.Int+listFindingsResponse_httpStatus = Lens.lens (\ListFindingsResponse' {httpStatus} -> httpStatus) (\s@ListFindingsResponse' {} a -> s {httpStatus = a} :: ListFindingsResponse)++instance Prelude.NFData ListFindingsResponse where+ rnf ListFindingsResponse' {..} =+ Prelude.rnf findingIds+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/ListFindingsFilters.hs view
@@ -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.MacieV2.ListFindingsFilters+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a subset of information about all the findings filters for an+-- account.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.ListFindingsFilters+ ( -- * Creating a Request+ ListFindingsFilters (..),+ newListFindingsFilters,++ -- * Request Lenses+ listFindingsFilters_maxResults,+ listFindingsFilters_nextToken,++ -- * Destructuring the Response+ ListFindingsFiltersResponse (..),+ newListFindingsFiltersResponse,++ -- * Response Lenses+ listFindingsFiltersResponse_findingsFilterListItems,+ listFindingsFiltersResponse_nextToken,+ listFindingsFiltersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListFindingsFilters' smart constructor.+data ListFindingsFilters = ListFindingsFilters'+ { -- | The maximum number of items to include in each page of a paginated+ -- response.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFindingsFilters' 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', 'listFindingsFilters_maxResults' - The maximum number of items to include in each page of a paginated+-- response.+--+-- 'nextToken', 'listFindingsFilters_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+newListFindingsFilters ::+ ListFindingsFilters+newListFindingsFilters =+ ListFindingsFilters'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of items to include in each page of a paginated+-- response.+listFindingsFilters_maxResults :: Lens.Lens' ListFindingsFilters (Prelude.Maybe Prelude.Natural)+listFindingsFilters_maxResults = Lens.lens (\ListFindingsFilters' {maxResults} -> maxResults) (\s@ListFindingsFilters' {} a -> s {maxResults = a} :: ListFindingsFilters)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+listFindingsFilters_nextToken :: Lens.Lens' ListFindingsFilters (Prelude.Maybe Prelude.Text)+listFindingsFilters_nextToken = Lens.lens (\ListFindingsFilters' {nextToken} -> nextToken) (\s@ListFindingsFilters' {} a -> s {nextToken = a} :: ListFindingsFilters)++instance Core.AWSPager ListFindingsFilters where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listFindingsFiltersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listFindingsFiltersResponse_findingsFilterListItems+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listFindingsFilters_nextToken+ Lens..~ rs+ Lens.^? listFindingsFiltersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListFindingsFilters where+ type+ AWSResponse ListFindingsFilters =+ ListFindingsFiltersResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListFindingsFiltersResponse'+ Prelude.<$> ( x+ Data..?> "findingsFilterListItems"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListFindingsFilters where+ hashWithSalt _salt ListFindingsFilters' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListFindingsFilters where+ rnf ListFindingsFilters' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListFindingsFilters where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListFindingsFilters where+ toPath = Prelude.const "/findingsfilters"++instance Data.ToQuery ListFindingsFilters where+ toQuery ListFindingsFilters' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListFindingsFiltersResponse' smart constructor.+data ListFindingsFiltersResponse = ListFindingsFiltersResponse'+ { -- | An array of objects, one for each filter that\'s associated with the+ -- account.+ findingsFilterListItems :: Prelude.Maybe [FindingsFilterListItem],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'ListFindingsFiltersResponse' 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:+--+-- 'findingsFilterListItems', 'listFindingsFiltersResponse_findingsFilterListItems' - An array of objects, one for each filter that\'s associated with the+-- account.+--+-- 'nextToken', 'listFindingsFiltersResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'listFindingsFiltersResponse_httpStatus' - The response's http status code.+newListFindingsFiltersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListFindingsFiltersResponse+newListFindingsFiltersResponse pHttpStatus_ =+ ListFindingsFiltersResponse'+ { findingsFilterListItems =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each filter that\'s associated with the+-- account.+listFindingsFiltersResponse_findingsFilterListItems :: Lens.Lens' ListFindingsFiltersResponse (Prelude.Maybe [FindingsFilterListItem])+listFindingsFiltersResponse_findingsFilterListItems = Lens.lens (\ListFindingsFiltersResponse' {findingsFilterListItems} -> findingsFilterListItems) (\s@ListFindingsFiltersResponse' {} a -> s {findingsFilterListItems = a} :: ListFindingsFiltersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+listFindingsFiltersResponse_nextToken :: Lens.Lens' ListFindingsFiltersResponse (Prelude.Maybe Prelude.Text)+listFindingsFiltersResponse_nextToken = Lens.lens (\ListFindingsFiltersResponse' {nextToken} -> nextToken) (\s@ListFindingsFiltersResponse' {} a -> s {nextToken = a} :: ListFindingsFiltersResponse)++-- | The response's http status code.+listFindingsFiltersResponse_httpStatus :: Lens.Lens' ListFindingsFiltersResponse Prelude.Int+listFindingsFiltersResponse_httpStatus = Lens.lens (\ListFindingsFiltersResponse' {httpStatus} -> httpStatus) (\s@ListFindingsFiltersResponse' {} a -> s {httpStatus = a} :: ListFindingsFiltersResponse)++instance Prelude.NFData ListFindingsFiltersResponse where+ rnf ListFindingsFiltersResponse' {..} =+ Prelude.rnf findingsFilterListItems+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/ListInvitations.hs view
@@ -0,0 +1,227 @@+{-# 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.MacieV2.ListInvitations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about the Amazon Macie membership invitations that+-- were received by an account.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.ListInvitations+ ( -- * Creating a Request+ ListInvitations (..),+ newListInvitations,++ -- * Request Lenses+ listInvitations_maxResults,+ listInvitations_nextToken,++ -- * Destructuring the Response+ ListInvitationsResponse (..),+ newListInvitationsResponse,++ -- * Response Lenses+ listInvitationsResponse_invitations,+ listInvitationsResponse_nextToken,+ listInvitationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListInvitations' smart constructor.+data ListInvitations = ListInvitations'+ { -- | The maximum number of items to include in each page of a paginated+ -- response.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListInvitations' 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', 'listInvitations_maxResults' - The maximum number of items to include in each page of a paginated+-- response.+--+-- 'nextToken', 'listInvitations_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+newListInvitations ::+ ListInvitations+newListInvitations =+ ListInvitations'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of items to include in each page of a paginated+-- response.+listInvitations_maxResults :: Lens.Lens' ListInvitations (Prelude.Maybe Prelude.Natural)+listInvitations_maxResults = Lens.lens (\ListInvitations' {maxResults} -> maxResults) (\s@ListInvitations' {} a -> s {maxResults = a} :: ListInvitations)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+listInvitations_nextToken :: Lens.Lens' ListInvitations (Prelude.Maybe Prelude.Text)+listInvitations_nextToken = Lens.lens (\ListInvitations' {nextToken} -> nextToken) (\s@ListInvitations' {} a -> s {nextToken = a} :: ListInvitations)++instance Core.AWSPager ListInvitations where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listInvitationsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listInvitationsResponse_invitations+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listInvitations_nextToken+ Lens..~ rs+ Lens.^? listInvitationsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListInvitations where+ type+ AWSResponse ListInvitations =+ ListInvitationsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListInvitationsResponse'+ Prelude.<$> (x Data..?> "invitations" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListInvitations where+ hashWithSalt _salt ListInvitations' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListInvitations where+ rnf ListInvitations' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListInvitations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListInvitations where+ toPath = Prelude.const "/invitations"++instance Data.ToQuery ListInvitations where+ toQuery ListInvitations' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListInvitationsResponse' smart constructor.+data ListInvitationsResponse = ListInvitationsResponse'+ { -- | An array of objects, one for each invitation that was received by the+ -- account.+ invitations :: Prelude.Maybe [Invitation],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'ListInvitationsResponse' 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:+--+-- 'invitations', 'listInvitationsResponse_invitations' - An array of objects, one for each invitation that was received by the+-- account.+--+-- 'nextToken', 'listInvitationsResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'listInvitationsResponse_httpStatus' - The response's http status code.+newListInvitationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListInvitationsResponse+newListInvitationsResponse pHttpStatus_ =+ ListInvitationsResponse'+ { invitations =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each invitation that was received by the+-- account.+listInvitationsResponse_invitations :: Lens.Lens' ListInvitationsResponse (Prelude.Maybe [Invitation])+listInvitationsResponse_invitations = Lens.lens (\ListInvitationsResponse' {invitations} -> invitations) (\s@ListInvitationsResponse' {} a -> s {invitations = a} :: ListInvitationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+listInvitationsResponse_nextToken :: Lens.Lens' ListInvitationsResponse (Prelude.Maybe Prelude.Text)+listInvitationsResponse_nextToken = Lens.lens (\ListInvitationsResponse' {nextToken} -> nextToken) (\s@ListInvitationsResponse' {} a -> s {nextToken = a} :: ListInvitationsResponse)++-- | The response's http status code.+listInvitationsResponse_httpStatus :: Lens.Lens' ListInvitationsResponse Prelude.Int+listInvitationsResponse_httpStatus = Lens.lens (\ListInvitationsResponse' {httpStatus} -> httpStatus) (\s@ListInvitationsResponse' {} a -> s {httpStatus = a} :: ListInvitationsResponse)++instance Prelude.NFData ListInvitationsResponse where+ rnf ListInvitationsResponse' {..} =+ Prelude.rnf invitations+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/ListManagedDataIdentifiers.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.MacieV2.ListManagedDataIdentifiers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about all the managed data identifiers that Amazon+-- Macie currently provides.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.ListManagedDataIdentifiers+ ( -- * Creating a Request+ ListManagedDataIdentifiers (..),+ newListManagedDataIdentifiers,++ -- * Request Lenses+ listManagedDataIdentifiers_nextToken,++ -- * Destructuring the Response+ ListManagedDataIdentifiersResponse (..),+ newListManagedDataIdentifiersResponse,++ -- * Response Lenses+ listManagedDataIdentifiersResponse_items,+ listManagedDataIdentifiersResponse_nextToken,+ listManagedDataIdentifiersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListManagedDataIdentifiers' smart constructor.+data ListManagedDataIdentifiers = ListManagedDataIdentifiers'+ { -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListManagedDataIdentifiers' 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', 'listManagedDataIdentifiers_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+newListManagedDataIdentifiers ::+ ListManagedDataIdentifiers+newListManagedDataIdentifiers =+ ListManagedDataIdentifiers'+ { nextToken =+ Prelude.Nothing+ }++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+listManagedDataIdentifiers_nextToken :: Lens.Lens' ListManagedDataIdentifiers (Prelude.Maybe Prelude.Text)+listManagedDataIdentifiers_nextToken = Lens.lens (\ListManagedDataIdentifiers' {nextToken} -> nextToken) (\s@ListManagedDataIdentifiers' {} a -> s {nextToken = a} :: ListManagedDataIdentifiers)++instance Core.AWSPager ListManagedDataIdentifiers where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listManagedDataIdentifiersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listManagedDataIdentifiersResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listManagedDataIdentifiers_nextToken+ Lens..~ rs+ Lens.^? listManagedDataIdentifiersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListManagedDataIdentifiers where+ type+ AWSResponse ListManagedDataIdentifiers =+ ListManagedDataIdentifiersResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListManagedDataIdentifiersResponse'+ Prelude.<$> (x Data..?> "items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListManagedDataIdentifiers where+ hashWithSalt _salt ListManagedDataIdentifiers' {..} =+ _salt `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListManagedDataIdentifiers where+ rnf ListManagedDataIdentifiers' {..} =+ Prelude.rnf nextToken++instance Data.ToHeaders ListManagedDataIdentifiers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListManagedDataIdentifiers where+ toJSON ListManagedDataIdentifiers' {..} =+ Data.object+ ( Prelude.catMaybes+ [("nextToken" Data..=) Prelude.<$> nextToken]+ )++instance Data.ToPath ListManagedDataIdentifiers where+ toPath =+ Prelude.const "/managed-data-identifiers/list"++instance Data.ToQuery ListManagedDataIdentifiers where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListManagedDataIdentifiersResponse' smart constructor.+data ListManagedDataIdentifiersResponse = ListManagedDataIdentifiersResponse'+ { -- | An array of objects, one for each managed data identifier.+ items :: Prelude.Maybe [ManagedDataIdentifierSummary],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'ListManagedDataIdentifiersResponse' 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:+--+-- 'items', 'listManagedDataIdentifiersResponse_items' - An array of objects, one for each managed data identifier.+--+-- 'nextToken', 'listManagedDataIdentifiersResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'listManagedDataIdentifiersResponse_httpStatus' - The response's http status code.+newListManagedDataIdentifiersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListManagedDataIdentifiersResponse+newListManagedDataIdentifiersResponse pHttpStatus_ =+ ListManagedDataIdentifiersResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each managed data identifier.+listManagedDataIdentifiersResponse_items :: Lens.Lens' ListManagedDataIdentifiersResponse (Prelude.Maybe [ManagedDataIdentifierSummary])+listManagedDataIdentifiersResponse_items = Lens.lens (\ListManagedDataIdentifiersResponse' {items} -> items) (\s@ListManagedDataIdentifiersResponse' {} a -> s {items = a} :: ListManagedDataIdentifiersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+listManagedDataIdentifiersResponse_nextToken :: Lens.Lens' ListManagedDataIdentifiersResponse (Prelude.Maybe Prelude.Text)+listManagedDataIdentifiersResponse_nextToken = Lens.lens (\ListManagedDataIdentifiersResponse' {nextToken} -> nextToken) (\s@ListManagedDataIdentifiersResponse' {} a -> s {nextToken = a} :: ListManagedDataIdentifiersResponse)++-- | The response's http status code.+listManagedDataIdentifiersResponse_httpStatus :: Lens.Lens' ListManagedDataIdentifiersResponse Prelude.Int+listManagedDataIdentifiersResponse_httpStatus = Lens.lens (\ListManagedDataIdentifiersResponse' {httpStatus} -> httpStatus) (\s@ListManagedDataIdentifiersResponse' {} a -> s {httpStatus = a} :: ListManagedDataIdentifiersResponse)++instance+ Prelude.NFData+ ListManagedDataIdentifiersResponse+ where+ rnf ListManagedDataIdentifiersResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/ListMembers.hs view
@@ -0,0 +1,246 @@+{-# 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.MacieV2.ListMembers+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about the accounts that are associated with an+-- Amazon Macie administrator account.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.ListMembers+ ( -- * Creating a Request+ ListMembers (..),+ newListMembers,++ -- * Request Lenses+ listMembers_maxResults,+ listMembers_nextToken,+ listMembers_onlyAssociated,++ -- * Destructuring the Response+ ListMembersResponse (..),+ newListMembersResponse,++ -- * Response Lenses+ listMembersResponse_members,+ listMembersResponse_nextToken,+ listMembersResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListMembers' smart constructor.+data ListMembers = ListMembers'+ { -- | The maximum number of items to include in each page of a paginated+ -- response.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | Specifies which accounts to include in the response, based on the status+ -- of an account\'s relationship with the administrator account. By+ -- default, the response includes only current member accounts. To include+ -- all accounts, set this value to false.+ onlyAssociated :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMembers' 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', 'listMembers_maxResults' - The maximum number of items to include in each page of a paginated+-- response.+--+-- 'nextToken', 'listMembers_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+--+-- 'onlyAssociated', 'listMembers_onlyAssociated' - Specifies which accounts to include in the response, based on the status+-- of an account\'s relationship with the administrator account. By+-- default, the response includes only current member accounts. To include+-- all accounts, set this value to false.+newListMembers ::+ ListMembers+newListMembers =+ ListMembers'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ onlyAssociated = Prelude.Nothing+ }++-- | The maximum number of items to include in each page of a paginated+-- response.+listMembers_maxResults :: Lens.Lens' ListMembers (Prelude.Maybe Prelude.Natural)+listMembers_maxResults = Lens.lens (\ListMembers' {maxResults} -> maxResults) (\s@ListMembers' {} a -> s {maxResults = a} :: ListMembers)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+listMembers_nextToken :: Lens.Lens' ListMembers (Prelude.Maybe Prelude.Text)+listMembers_nextToken = Lens.lens (\ListMembers' {nextToken} -> nextToken) (\s@ListMembers' {} a -> s {nextToken = a} :: ListMembers)++-- | Specifies which accounts to include in the response, based on the status+-- of an account\'s relationship with the administrator account. By+-- default, the response includes only current member accounts. To include+-- all accounts, set this value to false.+listMembers_onlyAssociated :: Lens.Lens' ListMembers (Prelude.Maybe Prelude.Text)+listMembers_onlyAssociated = Lens.lens (\ListMembers' {onlyAssociated} -> onlyAssociated) (\s@ListMembers' {} a -> s {onlyAssociated = a} :: ListMembers)++instance Core.AWSPager ListMembers where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listMembersResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listMembersResponse_members+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listMembers_nextToken+ Lens..~ rs+ Lens.^? listMembersResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListMembers where+ type AWSResponse ListMembers = ListMembersResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListMembersResponse'+ Prelude.<$> (x Data..?> "members" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListMembers where+ hashWithSalt _salt ListMembers' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` onlyAssociated++instance Prelude.NFData ListMembers where+ rnf ListMembers' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf onlyAssociated++instance Data.ToHeaders ListMembers where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListMembers where+ toPath = Prelude.const "/members"++instance Data.ToQuery ListMembers where+ toQuery ListMembers' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "onlyAssociated" Data.=: onlyAssociated+ ]++-- | /See:/ 'newListMembersResponse' smart constructor.+data ListMembersResponse = ListMembersResponse'+ { -- | An array of objects, one for each account that\'s associated with the+ -- administrator account and matches the criteria specified in the request.+ members :: Prelude.Maybe [Member],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'ListMembersResponse' 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:+--+-- 'members', 'listMembersResponse_members' - An array of objects, one for each account that\'s associated with the+-- administrator account and matches the criteria specified in the request.+--+-- 'nextToken', 'listMembersResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'listMembersResponse_httpStatus' - The response's http status code.+newListMembersResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListMembersResponse+newListMembersResponse pHttpStatus_ =+ ListMembersResponse'+ { members = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each account that\'s associated with the+-- administrator account and matches the criteria specified in the request.+listMembersResponse_members :: Lens.Lens' ListMembersResponse (Prelude.Maybe [Member])+listMembersResponse_members = Lens.lens (\ListMembersResponse' {members} -> members) (\s@ListMembersResponse' {} a -> s {members = a} :: ListMembersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+listMembersResponse_nextToken :: Lens.Lens' ListMembersResponse (Prelude.Maybe Prelude.Text)+listMembersResponse_nextToken = Lens.lens (\ListMembersResponse' {nextToken} -> nextToken) (\s@ListMembersResponse' {} a -> s {nextToken = a} :: ListMembersResponse)++-- | The response's http status code.+listMembersResponse_httpStatus :: Lens.Lens' ListMembersResponse Prelude.Int+listMembersResponse_httpStatus = Lens.lens (\ListMembersResponse' {httpStatus} -> httpStatus) (\s@ListMembersResponse' {} a -> s {httpStatus = a} :: ListMembersResponse)++instance Prelude.NFData ListMembersResponse where+ rnf ListMembersResponse' {..} =+ Prelude.rnf members+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/ListOrganizationAdminAccounts.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.MacieV2.ListOrganizationAdminAccounts+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about the delegated Amazon Macie administrator+-- account for an organization in Organizations.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.ListOrganizationAdminAccounts+ ( -- * Creating a Request+ ListOrganizationAdminAccounts (..),+ newListOrganizationAdminAccounts,++ -- * Request Lenses+ listOrganizationAdminAccounts_maxResults,+ listOrganizationAdminAccounts_nextToken,++ -- * Destructuring the Response+ ListOrganizationAdminAccountsResponse (..),+ newListOrganizationAdminAccountsResponse,++ -- * Response Lenses+ listOrganizationAdminAccountsResponse_adminAccounts,+ listOrganizationAdminAccountsResponse_nextToken,+ listOrganizationAdminAccountsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListOrganizationAdminAccounts' smart constructor.+data ListOrganizationAdminAccounts = ListOrganizationAdminAccounts'+ { -- | The maximum number of items to include in each page of a paginated+ -- response.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListOrganizationAdminAccounts' 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', 'listOrganizationAdminAccounts_maxResults' - The maximum number of items to include in each page of a paginated+-- response.+--+-- 'nextToken', 'listOrganizationAdminAccounts_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+newListOrganizationAdminAccounts ::+ ListOrganizationAdminAccounts+newListOrganizationAdminAccounts =+ ListOrganizationAdminAccounts'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of items to include in each page of a paginated+-- response.+listOrganizationAdminAccounts_maxResults :: Lens.Lens' ListOrganizationAdminAccounts (Prelude.Maybe Prelude.Natural)+listOrganizationAdminAccounts_maxResults = Lens.lens (\ListOrganizationAdminAccounts' {maxResults} -> maxResults) (\s@ListOrganizationAdminAccounts' {} a -> s {maxResults = a} :: ListOrganizationAdminAccounts)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+listOrganizationAdminAccounts_nextToken :: Lens.Lens' ListOrganizationAdminAccounts (Prelude.Maybe Prelude.Text)+listOrganizationAdminAccounts_nextToken = Lens.lens (\ListOrganizationAdminAccounts' {nextToken} -> nextToken) (\s@ListOrganizationAdminAccounts' {} a -> s {nextToken = a} :: ListOrganizationAdminAccounts)++instance Core.AWSPager ListOrganizationAdminAccounts where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listOrganizationAdminAccountsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listOrganizationAdminAccountsResponse_adminAccounts+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listOrganizationAdminAccounts_nextToken+ Lens..~ rs+ Lens.^? listOrganizationAdminAccountsResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListOrganizationAdminAccounts+ where+ type+ AWSResponse ListOrganizationAdminAccounts =+ ListOrganizationAdminAccountsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListOrganizationAdminAccountsResponse'+ Prelude.<$> (x Data..?> "adminAccounts" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListOrganizationAdminAccounts+ where+ hashWithSalt _salt ListOrganizationAdminAccounts' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListOrganizationAdminAccounts where+ rnf ListOrganizationAdminAccounts' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListOrganizationAdminAccounts where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListOrganizationAdminAccounts where+ toPath = Prelude.const "/admin"++instance Data.ToQuery ListOrganizationAdminAccounts where+ toQuery ListOrganizationAdminAccounts' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListOrganizationAdminAccountsResponse' smart constructor.+data ListOrganizationAdminAccountsResponse = ListOrganizationAdminAccountsResponse'+ { -- | An array of objects, one for each delegated Amazon Macie administrator+ -- account for the organization. Only one of these accounts can have a+ -- status of ENABLED.+ adminAccounts :: Prelude.Maybe [AdminAccount],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'ListOrganizationAdminAccountsResponse' 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:+--+-- 'adminAccounts', 'listOrganizationAdminAccountsResponse_adminAccounts' - An array of objects, one for each delegated Amazon Macie administrator+-- account for the organization. Only one of these accounts can have a+-- status of ENABLED.+--+-- 'nextToken', 'listOrganizationAdminAccountsResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'listOrganizationAdminAccountsResponse_httpStatus' - The response's http status code.+newListOrganizationAdminAccountsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListOrganizationAdminAccountsResponse+newListOrganizationAdminAccountsResponse pHttpStatus_ =+ ListOrganizationAdminAccountsResponse'+ { adminAccounts =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each delegated Amazon Macie administrator+-- account for the organization. Only one of these accounts can have a+-- status of ENABLED.+listOrganizationAdminAccountsResponse_adminAccounts :: Lens.Lens' ListOrganizationAdminAccountsResponse (Prelude.Maybe [AdminAccount])+listOrganizationAdminAccountsResponse_adminAccounts = Lens.lens (\ListOrganizationAdminAccountsResponse' {adminAccounts} -> adminAccounts) (\s@ListOrganizationAdminAccountsResponse' {} a -> s {adminAccounts = a} :: ListOrganizationAdminAccountsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+listOrganizationAdminAccountsResponse_nextToken :: Lens.Lens' ListOrganizationAdminAccountsResponse (Prelude.Maybe Prelude.Text)+listOrganizationAdminAccountsResponse_nextToken = Lens.lens (\ListOrganizationAdminAccountsResponse' {nextToken} -> nextToken) (\s@ListOrganizationAdminAccountsResponse' {} a -> s {nextToken = a} :: ListOrganizationAdminAccountsResponse)++-- | The response's http status code.+listOrganizationAdminAccountsResponse_httpStatus :: Lens.Lens' ListOrganizationAdminAccountsResponse Prelude.Int+listOrganizationAdminAccountsResponse_httpStatus = Lens.lens (\ListOrganizationAdminAccountsResponse' {httpStatus} -> httpStatus) (\s@ListOrganizationAdminAccountsResponse' {} a -> s {httpStatus = a} :: ListOrganizationAdminAccountsResponse)++instance+ Prelude.NFData+ ListOrganizationAdminAccountsResponse+ where+ rnf ListOrganizationAdminAccountsResponse' {..} =+ Prelude.rnf adminAccounts+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/ListResourceProfileArtifacts.hs view
@@ -0,0 +1,236 @@+{-# 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.MacieV2.ListResourceProfileArtifacts+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about objects that were selected from an S3 bucket+-- for automated sensitive data discovery.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.ListResourceProfileArtifacts+ ( -- * Creating a Request+ ListResourceProfileArtifacts (..),+ newListResourceProfileArtifacts,++ -- * Request Lenses+ listResourceProfileArtifacts_nextToken,+ listResourceProfileArtifacts_resourceArn,++ -- * Destructuring the Response+ ListResourceProfileArtifactsResponse (..),+ newListResourceProfileArtifactsResponse,++ -- * Response Lenses+ listResourceProfileArtifactsResponse_artifacts,+ listResourceProfileArtifactsResponse_nextToken,+ listResourceProfileArtifactsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListResourceProfileArtifacts' smart constructor.+data ListResourceProfileArtifacts = ListResourceProfileArtifacts'+ { -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the S3 bucket that the request applies+ -- to.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourceProfileArtifacts' 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', 'listResourceProfileArtifacts_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+--+-- 'resourceArn', 'listResourceProfileArtifacts_resourceArn' - The Amazon Resource Name (ARN) of the S3 bucket that the request applies+-- to.+newListResourceProfileArtifacts ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListResourceProfileArtifacts+newListResourceProfileArtifacts pResourceArn_ =+ ListResourceProfileArtifacts'+ { nextToken =+ Prelude.Nothing,+ resourceArn = pResourceArn_+ }++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+listResourceProfileArtifacts_nextToken :: Lens.Lens' ListResourceProfileArtifacts (Prelude.Maybe Prelude.Text)+listResourceProfileArtifacts_nextToken = Lens.lens (\ListResourceProfileArtifacts' {nextToken} -> nextToken) (\s@ListResourceProfileArtifacts' {} a -> s {nextToken = a} :: ListResourceProfileArtifacts)++-- | The Amazon Resource Name (ARN) of the S3 bucket that the request applies+-- to.+listResourceProfileArtifacts_resourceArn :: Lens.Lens' ListResourceProfileArtifacts Prelude.Text+listResourceProfileArtifacts_resourceArn = Lens.lens (\ListResourceProfileArtifacts' {resourceArn} -> resourceArn) (\s@ListResourceProfileArtifacts' {} a -> s {resourceArn = a} :: ListResourceProfileArtifacts)++instance Core.AWSPager ListResourceProfileArtifacts where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listResourceProfileArtifactsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listResourceProfileArtifactsResponse_artifacts+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listResourceProfileArtifacts_nextToken+ Lens..~ rs+ Lens.^? listResourceProfileArtifactsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListResourceProfileArtifacts where+ type+ AWSResponse ListResourceProfileArtifacts =+ ListResourceProfileArtifactsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListResourceProfileArtifactsResponse'+ Prelude.<$> (x Data..?> "artifacts" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListResourceProfileArtifacts+ where+ hashWithSalt _salt ListResourceProfileArtifacts' {..} =+ _salt+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListResourceProfileArtifacts where+ rnf ListResourceProfileArtifacts' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resourceArn++instance Data.ToHeaders ListResourceProfileArtifacts where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListResourceProfileArtifacts where+ toPath = Prelude.const "/resource-profiles/artifacts"++instance Data.ToQuery ListResourceProfileArtifacts where+ toQuery ListResourceProfileArtifacts' {..} =+ Prelude.mconcat+ [ "nextToken" Data.=: nextToken,+ "resourceArn" Data.=: resourceArn+ ]++-- | /See:/ 'newListResourceProfileArtifactsResponse' smart constructor.+data ListResourceProfileArtifactsResponse = ListResourceProfileArtifactsResponse'+ { -- | An array of objects, one for each S3 object that Amazon Macie selected+ -- for analysis.+ artifacts :: Prelude.Maybe [ResourceProfileArtifact],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'ListResourceProfileArtifactsResponse' 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:+--+-- 'artifacts', 'listResourceProfileArtifactsResponse_artifacts' - An array of objects, one for each S3 object that Amazon Macie selected+-- for analysis.+--+-- 'nextToken', 'listResourceProfileArtifactsResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'listResourceProfileArtifactsResponse_httpStatus' - The response's http status code.+newListResourceProfileArtifactsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListResourceProfileArtifactsResponse+newListResourceProfileArtifactsResponse pHttpStatus_ =+ ListResourceProfileArtifactsResponse'+ { artifacts =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each S3 object that Amazon Macie selected+-- for analysis.+listResourceProfileArtifactsResponse_artifacts :: Lens.Lens' ListResourceProfileArtifactsResponse (Prelude.Maybe [ResourceProfileArtifact])+listResourceProfileArtifactsResponse_artifacts = Lens.lens (\ListResourceProfileArtifactsResponse' {artifacts} -> artifacts) (\s@ListResourceProfileArtifactsResponse' {} a -> s {artifacts = a} :: ListResourceProfileArtifactsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+listResourceProfileArtifactsResponse_nextToken :: Lens.Lens' ListResourceProfileArtifactsResponse (Prelude.Maybe Prelude.Text)+listResourceProfileArtifactsResponse_nextToken = Lens.lens (\ListResourceProfileArtifactsResponse' {nextToken} -> nextToken) (\s@ListResourceProfileArtifactsResponse' {} a -> s {nextToken = a} :: ListResourceProfileArtifactsResponse)++-- | The response's http status code.+listResourceProfileArtifactsResponse_httpStatus :: Lens.Lens' ListResourceProfileArtifactsResponse Prelude.Int+listResourceProfileArtifactsResponse_httpStatus = Lens.lens (\ListResourceProfileArtifactsResponse' {httpStatus} -> httpStatus) (\s@ListResourceProfileArtifactsResponse' {} a -> s {httpStatus = a} :: ListResourceProfileArtifactsResponse)++instance+ Prelude.NFData+ ListResourceProfileArtifactsResponse+ where+ rnf ListResourceProfileArtifactsResponse' {..} =+ Prelude.rnf artifacts+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/ListResourceProfileDetections.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.MacieV2.ListResourceProfileDetections+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about the types and amount of sensitive data that+-- Amazon Macie found in an S3 bucket.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.ListResourceProfileDetections+ ( -- * Creating a Request+ ListResourceProfileDetections (..),+ newListResourceProfileDetections,++ -- * Request Lenses+ listResourceProfileDetections_maxResults,+ listResourceProfileDetections_nextToken,+ listResourceProfileDetections_resourceArn,++ -- * Destructuring the Response+ ListResourceProfileDetectionsResponse (..),+ newListResourceProfileDetectionsResponse,++ -- * Response Lenses+ listResourceProfileDetectionsResponse_detections,+ listResourceProfileDetectionsResponse_nextToken,+ listResourceProfileDetectionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListResourceProfileDetections' smart constructor.+data ListResourceProfileDetections = ListResourceProfileDetections'+ { -- | The maximum number of items to include in each page of a paginated+ -- response.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the S3 bucket that the request applies+ -- to.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResourceProfileDetections' 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', 'listResourceProfileDetections_maxResults' - The maximum number of items to include in each page of a paginated+-- response.+--+-- 'nextToken', 'listResourceProfileDetections_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+--+-- 'resourceArn', 'listResourceProfileDetections_resourceArn' - The Amazon Resource Name (ARN) of the S3 bucket that the request applies+-- to.+newListResourceProfileDetections ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListResourceProfileDetections+newListResourceProfileDetections pResourceArn_ =+ ListResourceProfileDetections'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ resourceArn = pResourceArn_+ }++-- | The maximum number of items to include in each page of a paginated+-- response.+listResourceProfileDetections_maxResults :: Lens.Lens' ListResourceProfileDetections (Prelude.Maybe Prelude.Natural)+listResourceProfileDetections_maxResults = Lens.lens (\ListResourceProfileDetections' {maxResults} -> maxResults) (\s@ListResourceProfileDetections' {} a -> s {maxResults = a} :: ListResourceProfileDetections)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+listResourceProfileDetections_nextToken :: Lens.Lens' ListResourceProfileDetections (Prelude.Maybe Prelude.Text)+listResourceProfileDetections_nextToken = Lens.lens (\ListResourceProfileDetections' {nextToken} -> nextToken) (\s@ListResourceProfileDetections' {} a -> s {nextToken = a} :: ListResourceProfileDetections)++-- | The Amazon Resource Name (ARN) of the S3 bucket that the request applies+-- to.+listResourceProfileDetections_resourceArn :: Lens.Lens' ListResourceProfileDetections Prelude.Text+listResourceProfileDetections_resourceArn = Lens.lens (\ListResourceProfileDetections' {resourceArn} -> resourceArn) (\s@ListResourceProfileDetections' {} a -> s {resourceArn = a} :: ListResourceProfileDetections)++instance Core.AWSPager ListResourceProfileDetections where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listResourceProfileDetectionsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listResourceProfileDetectionsResponse_detections+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listResourceProfileDetections_nextToken+ Lens..~ rs+ Lens.^? listResourceProfileDetectionsResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListResourceProfileDetections+ where+ type+ AWSResponse ListResourceProfileDetections =+ ListResourceProfileDetectionsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListResourceProfileDetectionsResponse'+ Prelude.<$> (x Data..?> "detections" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListResourceProfileDetections+ where+ hashWithSalt _salt ListResourceProfileDetections' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListResourceProfileDetections where+ rnf ListResourceProfileDetections' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resourceArn++instance Data.ToHeaders ListResourceProfileDetections where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListResourceProfileDetections where+ toPath =+ Prelude.const "/resource-profiles/detections"++instance Data.ToQuery ListResourceProfileDetections where+ toQuery ListResourceProfileDetections' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "resourceArn" Data.=: resourceArn+ ]++-- | /See:/ 'newListResourceProfileDetectionsResponse' smart constructor.+data ListResourceProfileDetectionsResponse = ListResourceProfileDetectionsResponse'+ { -- | An array of objects, one for each type of sensitive data that Amazon+ -- Macie found in the bucket. Each object reports the number of occurrences+ -- of the specified type and provides information about the custom data+ -- identifier or managed data identifier that detected the data.+ detections :: Prelude.Maybe [Detection],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'ListResourceProfileDetectionsResponse' 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:+--+-- 'detections', 'listResourceProfileDetectionsResponse_detections' - An array of objects, one for each type of sensitive data that Amazon+-- Macie found in the bucket. Each object reports the number of occurrences+-- of the specified type and provides information about the custom data+-- identifier or managed data identifier that detected the data.+--+-- 'nextToken', 'listResourceProfileDetectionsResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'listResourceProfileDetectionsResponse_httpStatus' - The response's http status code.+newListResourceProfileDetectionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListResourceProfileDetectionsResponse+newListResourceProfileDetectionsResponse pHttpStatus_ =+ ListResourceProfileDetectionsResponse'+ { detections =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each type of sensitive data that Amazon+-- Macie found in the bucket. Each object reports the number of occurrences+-- of the specified type and provides information about the custom data+-- identifier or managed data identifier that detected the data.+listResourceProfileDetectionsResponse_detections :: Lens.Lens' ListResourceProfileDetectionsResponse (Prelude.Maybe [Detection])+listResourceProfileDetectionsResponse_detections = Lens.lens (\ListResourceProfileDetectionsResponse' {detections} -> detections) (\s@ListResourceProfileDetectionsResponse' {} a -> s {detections = a} :: ListResourceProfileDetectionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+listResourceProfileDetectionsResponse_nextToken :: Lens.Lens' ListResourceProfileDetectionsResponse (Prelude.Maybe Prelude.Text)+listResourceProfileDetectionsResponse_nextToken = Lens.lens (\ListResourceProfileDetectionsResponse' {nextToken} -> nextToken) (\s@ListResourceProfileDetectionsResponse' {} a -> s {nextToken = a} :: ListResourceProfileDetectionsResponse)++-- | The response's http status code.+listResourceProfileDetectionsResponse_httpStatus :: Lens.Lens' ListResourceProfileDetectionsResponse Prelude.Int+listResourceProfileDetectionsResponse_httpStatus = Lens.lens (\ListResourceProfileDetectionsResponse' {httpStatus} -> httpStatus) (\s@ListResourceProfileDetectionsResponse' {} a -> s {httpStatus = a} :: ListResourceProfileDetectionsResponse)++instance+ Prelude.NFData+ ListResourceProfileDetectionsResponse+ where+ rnf ListResourceProfileDetectionsResponse' {..} =+ Prelude.rnf detections+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/ListSensitivityInspectionTemplates.hs view
@@ -0,0 +1,260 @@+{-# 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.MacieV2.ListSensitivityInspectionTemplates+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a subset of information about the sensitivity inspection+-- template for an account.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.ListSensitivityInspectionTemplates+ ( -- * Creating a Request+ ListSensitivityInspectionTemplates (..),+ newListSensitivityInspectionTemplates,++ -- * Request Lenses+ listSensitivityInspectionTemplates_maxResults,+ listSensitivityInspectionTemplates_nextToken,++ -- * Destructuring the Response+ ListSensitivityInspectionTemplatesResponse (..),+ newListSensitivityInspectionTemplatesResponse,++ -- * Response Lenses+ listSensitivityInspectionTemplatesResponse_nextToken,+ listSensitivityInspectionTemplatesResponse_sensitivityInspectionTemplates,+ listSensitivityInspectionTemplatesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListSensitivityInspectionTemplates' smart constructor.+data ListSensitivityInspectionTemplates = ListSensitivityInspectionTemplates'+ { -- | The maximum number of items to include in each page of a paginated+ -- response.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSensitivityInspectionTemplates' 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', 'listSensitivityInspectionTemplates_maxResults' - The maximum number of items to include in each page of a paginated+-- response.+--+-- 'nextToken', 'listSensitivityInspectionTemplates_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+newListSensitivityInspectionTemplates ::+ ListSensitivityInspectionTemplates+newListSensitivityInspectionTemplates =+ ListSensitivityInspectionTemplates'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of items to include in each page of a paginated+-- response.+listSensitivityInspectionTemplates_maxResults :: Lens.Lens' ListSensitivityInspectionTemplates (Prelude.Maybe Prelude.Natural)+listSensitivityInspectionTemplates_maxResults = Lens.lens (\ListSensitivityInspectionTemplates' {maxResults} -> maxResults) (\s@ListSensitivityInspectionTemplates' {} a -> s {maxResults = a} :: ListSensitivityInspectionTemplates)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+listSensitivityInspectionTemplates_nextToken :: Lens.Lens' ListSensitivityInspectionTemplates (Prelude.Maybe Prelude.Text)+listSensitivityInspectionTemplates_nextToken = Lens.lens (\ListSensitivityInspectionTemplates' {nextToken} -> nextToken) (\s@ListSensitivityInspectionTemplates' {} a -> s {nextToken = a} :: ListSensitivityInspectionTemplates)++instance+ Core.AWSPager+ ListSensitivityInspectionTemplates+ where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listSensitivityInspectionTemplatesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listSensitivityInspectionTemplatesResponse_sensitivityInspectionTemplates+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listSensitivityInspectionTemplates_nextToken+ Lens..~ rs+ Lens.^? listSensitivityInspectionTemplatesResponse_nextToken+ Prelude.. Lens._Just++instance+ Core.AWSRequest+ ListSensitivityInspectionTemplates+ where+ type+ AWSResponse ListSensitivityInspectionTemplates =+ ListSensitivityInspectionTemplatesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListSensitivityInspectionTemplatesResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> ( x+ Data..?> "sensitivityInspectionTemplates"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ ListSensitivityInspectionTemplates+ where+ hashWithSalt+ _salt+ ListSensitivityInspectionTemplates' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance+ Prelude.NFData+ ListSensitivityInspectionTemplates+ where+ rnf ListSensitivityInspectionTemplates' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance+ Data.ToHeaders+ ListSensitivityInspectionTemplates+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToPath+ ListSensitivityInspectionTemplates+ where+ toPath =+ Prelude.const "/templates/sensitivity-inspections"++instance+ Data.ToQuery+ ListSensitivityInspectionTemplates+ where+ toQuery ListSensitivityInspectionTemplates' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListSensitivityInspectionTemplatesResponse' smart constructor.+data ListSensitivityInspectionTemplatesResponse = ListSensitivityInspectionTemplatesResponse'+ { -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | An array that specifies the unique identifier and name of the+ -- sensitivity inspection template for the account.+ sensitivityInspectionTemplates :: Prelude.Maybe [SensitivityInspectionTemplatesEntry],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSensitivityInspectionTemplatesResponse' 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', 'listSensitivityInspectionTemplatesResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'sensitivityInspectionTemplates', 'listSensitivityInspectionTemplatesResponse_sensitivityInspectionTemplates' - An array that specifies the unique identifier and name of the+-- sensitivity inspection template for the account.+--+-- 'httpStatus', 'listSensitivityInspectionTemplatesResponse_httpStatus' - The response's http status code.+newListSensitivityInspectionTemplatesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListSensitivityInspectionTemplatesResponse+newListSensitivityInspectionTemplatesResponse+ pHttpStatus_ =+ ListSensitivityInspectionTemplatesResponse'+ { nextToken =+ Prelude.Nothing,+ sensitivityInspectionTemplates =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+listSensitivityInspectionTemplatesResponse_nextToken :: Lens.Lens' ListSensitivityInspectionTemplatesResponse (Prelude.Maybe Prelude.Text)+listSensitivityInspectionTemplatesResponse_nextToken = Lens.lens (\ListSensitivityInspectionTemplatesResponse' {nextToken} -> nextToken) (\s@ListSensitivityInspectionTemplatesResponse' {} a -> s {nextToken = a} :: ListSensitivityInspectionTemplatesResponse)++-- | An array that specifies the unique identifier and name of the+-- sensitivity inspection template for the account.+listSensitivityInspectionTemplatesResponse_sensitivityInspectionTemplates :: Lens.Lens' ListSensitivityInspectionTemplatesResponse (Prelude.Maybe [SensitivityInspectionTemplatesEntry])+listSensitivityInspectionTemplatesResponse_sensitivityInspectionTemplates = Lens.lens (\ListSensitivityInspectionTemplatesResponse' {sensitivityInspectionTemplates} -> sensitivityInspectionTemplates) (\s@ListSensitivityInspectionTemplatesResponse' {} a -> s {sensitivityInspectionTemplates = a} :: ListSensitivityInspectionTemplatesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSensitivityInspectionTemplatesResponse_httpStatus :: Lens.Lens' ListSensitivityInspectionTemplatesResponse Prelude.Int+listSensitivityInspectionTemplatesResponse_httpStatus = Lens.lens (\ListSensitivityInspectionTemplatesResponse' {httpStatus} -> httpStatus) (\s@ListSensitivityInspectionTemplatesResponse' {} a -> s {httpStatus = a} :: ListSensitivityInspectionTemplatesResponse)++instance+ Prelude.NFData+ ListSensitivityInspectionTemplatesResponse+ where+ rnf ListSensitivityInspectionTemplatesResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf sensitivityInspectionTemplates+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/ListTagsForResource.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.MacieV2.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)+--+-- Retrieves the tags (keys and values) that are associated with an Amazon+-- Macie resource.+module Amazonka.MacieV2.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+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'+ { -- | A map of key-value pairs that specifies which tags (keys and values) are+ -- associated with the resource.+ 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' - A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the resource.+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/MacieV2/PutClassificationExportConfiguration.hs view
@@ -0,0 +1,207 @@+{-# 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.MacieV2.PutClassificationExportConfiguration+-- 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 or updates the configuration settings for storing data+-- classification results.+module Amazonka.MacieV2.PutClassificationExportConfiguration+ ( -- * Creating a Request+ PutClassificationExportConfiguration (..),+ newPutClassificationExportConfiguration,++ -- * Request Lenses+ putClassificationExportConfiguration_configuration,++ -- * Destructuring the Response+ PutClassificationExportConfigurationResponse (..),+ newPutClassificationExportConfigurationResponse,++ -- * Response Lenses+ putClassificationExportConfigurationResponse_configuration,+ putClassificationExportConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutClassificationExportConfiguration' smart constructor.+data PutClassificationExportConfiguration = PutClassificationExportConfiguration'+ { -- | The location to store data classification results in, and the encryption+ -- settings to use when storing results in that location.+ configuration :: ClassificationExportConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutClassificationExportConfiguration' 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:+--+-- 'configuration', 'putClassificationExportConfiguration_configuration' - The location to store data classification results in, and the encryption+-- settings to use when storing results in that location.+newPutClassificationExportConfiguration ::+ -- | 'configuration'+ ClassificationExportConfiguration ->+ PutClassificationExportConfiguration+newPutClassificationExportConfiguration+ pConfiguration_ =+ PutClassificationExportConfiguration'+ { configuration =+ pConfiguration_+ }++-- | The location to store data classification results in, and the encryption+-- settings to use when storing results in that location.+putClassificationExportConfiguration_configuration :: Lens.Lens' PutClassificationExportConfiguration ClassificationExportConfiguration+putClassificationExportConfiguration_configuration = Lens.lens (\PutClassificationExportConfiguration' {configuration} -> configuration) (\s@PutClassificationExportConfiguration' {} a -> s {configuration = a} :: PutClassificationExportConfiguration)++instance+ Core.AWSRequest+ PutClassificationExportConfiguration+ where+ type+ AWSResponse PutClassificationExportConfiguration =+ PutClassificationExportConfigurationResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ PutClassificationExportConfigurationResponse'+ Prelude.<$> (x Data..?> "configuration")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ PutClassificationExportConfiguration+ where+ hashWithSalt+ _salt+ PutClassificationExportConfiguration' {..} =+ _salt `Prelude.hashWithSalt` configuration++instance+ Prelude.NFData+ PutClassificationExportConfiguration+ where+ rnf PutClassificationExportConfiguration' {..} =+ Prelude.rnf configuration++instance+ Data.ToHeaders+ PutClassificationExportConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ PutClassificationExportConfiguration+ where+ toJSON PutClassificationExportConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("configuration" Data..= configuration)+ ]+ )++instance+ Data.ToPath+ PutClassificationExportConfiguration+ where+ toPath =+ Prelude.const+ "/classification-export-configuration"++instance+ Data.ToQuery+ PutClassificationExportConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutClassificationExportConfigurationResponse' smart constructor.+data PutClassificationExportConfigurationResponse = PutClassificationExportConfigurationResponse'+ { -- | The location where the data classification results are stored, and the+ -- encryption settings that are used when storing results in that location.+ configuration :: Prelude.Maybe ClassificationExportConfiguration,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutClassificationExportConfigurationResponse' 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:+--+-- 'configuration', 'putClassificationExportConfigurationResponse_configuration' - The location where the data classification results are stored, and the+-- encryption settings that are used when storing results in that location.+--+-- 'httpStatus', 'putClassificationExportConfigurationResponse_httpStatus' - The response's http status code.+newPutClassificationExportConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutClassificationExportConfigurationResponse+newPutClassificationExportConfigurationResponse+ pHttpStatus_ =+ PutClassificationExportConfigurationResponse'+ { configuration =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The location where the data classification results are stored, and the+-- encryption settings that are used when storing results in that location.+putClassificationExportConfigurationResponse_configuration :: Lens.Lens' PutClassificationExportConfigurationResponse (Prelude.Maybe ClassificationExportConfiguration)+putClassificationExportConfigurationResponse_configuration = Lens.lens (\PutClassificationExportConfigurationResponse' {configuration} -> configuration) (\s@PutClassificationExportConfigurationResponse' {} a -> s {configuration = a} :: PutClassificationExportConfigurationResponse)++-- | The response's http status code.+putClassificationExportConfigurationResponse_httpStatus :: Lens.Lens' PutClassificationExportConfigurationResponse Prelude.Int+putClassificationExportConfigurationResponse_httpStatus = Lens.lens (\PutClassificationExportConfigurationResponse' {httpStatus} -> httpStatus) (\s@PutClassificationExportConfigurationResponse' {} a -> s {httpStatus = a} :: PutClassificationExportConfigurationResponse)++instance+ Prelude.NFData+ PutClassificationExportConfigurationResponse+ where+ rnf PutClassificationExportConfigurationResponse' {..} =+ Prelude.rnf configuration+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/PutFindingsPublicationConfiguration.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.MacieV2.PutFindingsPublicationConfiguration+-- 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 configuration settings for publishing findings to Security+-- Hub.+module Amazonka.MacieV2.PutFindingsPublicationConfiguration+ ( -- * Creating a Request+ PutFindingsPublicationConfiguration (..),+ newPutFindingsPublicationConfiguration,++ -- * Request Lenses+ putFindingsPublicationConfiguration_clientToken,+ putFindingsPublicationConfiguration_securityHubConfiguration,++ -- * Destructuring the Response+ PutFindingsPublicationConfigurationResponse (..),+ newPutFindingsPublicationConfigurationResponse,++ -- * Response Lenses+ putFindingsPublicationConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutFindingsPublicationConfiguration' smart constructor.+data PutFindingsPublicationConfiguration = PutFindingsPublicationConfiguration'+ { -- | A unique, case-sensitive token that you provide to ensure the+ -- idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | The configuration settings that determine which findings to publish to+ -- Security Hub.+ securityHubConfiguration :: Prelude.Maybe SecurityHubConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutFindingsPublicationConfiguration' 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:+--+-- 'clientToken', 'putFindingsPublicationConfiguration_clientToken' - A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+--+-- 'securityHubConfiguration', 'putFindingsPublicationConfiguration_securityHubConfiguration' - The configuration settings that determine which findings to publish to+-- Security Hub.+newPutFindingsPublicationConfiguration ::+ PutFindingsPublicationConfiguration+newPutFindingsPublicationConfiguration =+ PutFindingsPublicationConfiguration'+ { clientToken =+ Prelude.Nothing,+ securityHubConfiguration =+ Prelude.Nothing+ }++-- | A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+putFindingsPublicationConfiguration_clientToken :: Lens.Lens' PutFindingsPublicationConfiguration (Prelude.Maybe Prelude.Text)+putFindingsPublicationConfiguration_clientToken = Lens.lens (\PutFindingsPublicationConfiguration' {clientToken} -> clientToken) (\s@PutFindingsPublicationConfiguration' {} a -> s {clientToken = a} :: PutFindingsPublicationConfiguration)++-- | The configuration settings that determine which findings to publish to+-- Security Hub.+putFindingsPublicationConfiguration_securityHubConfiguration :: Lens.Lens' PutFindingsPublicationConfiguration (Prelude.Maybe SecurityHubConfiguration)+putFindingsPublicationConfiguration_securityHubConfiguration = Lens.lens (\PutFindingsPublicationConfiguration' {securityHubConfiguration} -> securityHubConfiguration) (\s@PutFindingsPublicationConfiguration' {} a -> s {securityHubConfiguration = a} :: PutFindingsPublicationConfiguration)++instance+ Core.AWSRequest+ PutFindingsPublicationConfiguration+ where+ type+ AWSResponse PutFindingsPublicationConfiguration =+ PutFindingsPublicationConfigurationResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutFindingsPublicationConfigurationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ PutFindingsPublicationConfiguration+ where+ hashWithSalt+ _salt+ PutFindingsPublicationConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` securityHubConfiguration++instance+ Prelude.NFData+ PutFindingsPublicationConfiguration+ where+ rnf PutFindingsPublicationConfiguration' {..} =+ Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf securityHubConfiguration++instance+ Data.ToHeaders+ PutFindingsPublicationConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ PutFindingsPublicationConfiguration+ where+ toJSON PutFindingsPublicationConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("securityHubConfiguration" Data..=)+ Prelude.<$> securityHubConfiguration+ ]+ )++instance+ Data.ToPath+ PutFindingsPublicationConfiguration+ where+ toPath =+ Prelude.const "/findings-publication-configuration"++instance+ Data.ToQuery+ PutFindingsPublicationConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutFindingsPublicationConfigurationResponse' smart constructor.+data PutFindingsPublicationConfigurationResponse = PutFindingsPublicationConfigurationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutFindingsPublicationConfigurationResponse' 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', 'putFindingsPublicationConfigurationResponse_httpStatus' - The response's http status code.+newPutFindingsPublicationConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutFindingsPublicationConfigurationResponse+newPutFindingsPublicationConfigurationResponse+ pHttpStatus_ =+ PutFindingsPublicationConfigurationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putFindingsPublicationConfigurationResponse_httpStatus :: Lens.Lens' PutFindingsPublicationConfigurationResponse Prelude.Int+putFindingsPublicationConfigurationResponse_httpStatus = Lens.lens (\PutFindingsPublicationConfigurationResponse' {httpStatus} -> httpStatus) (\s@PutFindingsPublicationConfigurationResponse' {} a -> s {httpStatus = a} :: PutFindingsPublicationConfigurationResponse)++instance+ Prelude.NFData+ PutFindingsPublicationConfigurationResponse+ where+ rnf PutFindingsPublicationConfigurationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/SearchResources.hs view
@@ -0,0 +1,266 @@+{-# 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.MacieV2.SearchResources+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves (queries) statistical data and other information about Amazon+-- Web Services resources that Amazon Macie monitors and analyzes.+--+-- This operation returns paginated results.+module Amazonka.MacieV2.SearchResources+ ( -- * Creating a Request+ SearchResources (..),+ newSearchResources,++ -- * Request Lenses+ searchResources_bucketCriteria,+ searchResources_maxResults,+ searchResources_nextToken,+ searchResources_sortCriteria,++ -- * Destructuring the Response+ SearchResourcesResponse (..),+ newSearchResourcesResponse,++ -- * Response Lenses+ searchResourcesResponse_matchingResources,+ searchResourcesResponse_nextToken,+ searchResourcesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newSearchResources' smart constructor.+data SearchResources = SearchResources'+ { -- | The filter conditions that determine which S3 buckets to include or+ -- exclude from the query results.+ bucketCriteria :: Prelude.Maybe SearchResourcesBucketCriteria,+ -- | The maximum number of items to include in each page of the response. The+ -- default value is 50.+ maxResults :: Prelude.Maybe Prelude.Int,+ -- | The nextToken string that specifies which page of results to return in a+ -- paginated response.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The criteria to use to sort the results.+ sortCriteria :: Prelude.Maybe SearchResourcesSortCriteria+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchResources' 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:+--+-- 'bucketCriteria', 'searchResources_bucketCriteria' - The filter conditions that determine which S3 buckets to include or+-- exclude from the query results.+--+-- 'maxResults', 'searchResources_maxResults' - The maximum number of items to include in each page of the response. The+-- default value is 50.+--+-- 'nextToken', 'searchResources_nextToken' - The nextToken string that specifies which page of results to return in a+-- paginated response.+--+-- 'sortCriteria', 'searchResources_sortCriteria' - The criteria to use to sort the results.+newSearchResources ::+ SearchResources+newSearchResources =+ SearchResources'+ { bucketCriteria = Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ sortCriteria = Prelude.Nothing+ }++-- | The filter conditions that determine which S3 buckets to include or+-- exclude from the query results.+searchResources_bucketCriteria :: Lens.Lens' SearchResources (Prelude.Maybe SearchResourcesBucketCriteria)+searchResources_bucketCriteria = Lens.lens (\SearchResources' {bucketCriteria} -> bucketCriteria) (\s@SearchResources' {} a -> s {bucketCriteria = a} :: SearchResources)++-- | The maximum number of items to include in each page of the response. The+-- default value is 50.+searchResources_maxResults :: Lens.Lens' SearchResources (Prelude.Maybe Prelude.Int)+searchResources_maxResults = Lens.lens (\SearchResources' {maxResults} -> maxResults) (\s@SearchResources' {} a -> s {maxResults = a} :: SearchResources)++-- | The nextToken string that specifies which page of results to return in a+-- paginated response.+searchResources_nextToken :: Lens.Lens' SearchResources (Prelude.Maybe Prelude.Text)+searchResources_nextToken = Lens.lens (\SearchResources' {nextToken} -> nextToken) (\s@SearchResources' {} a -> s {nextToken = a} :: SearchResources)++-- | The criteria to use to sort the results.+searchResources_sortCriteria :: Lens.Lens' SearchResources (Prelude.Maybe SearchResourcesSortCriteria)+searchResources_sortCriteria = Lens.lens (\SearchResources' {sortCriteria} -> sortCriteria) (\s@SearchResources' {} a -> s {sortCriteria = a} :: SearchResources)++instance Core.AWSPager SearchResources where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? searchResourcesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? searchResourcesResponse_matchingResources+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& searchResources_nextToken+ Lens..~ rs+ Lens.^? searchResourcesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest SearchResources where+ type+ AWSResponse SearchResources =+ SearchResourcesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ SearchResourcesResponse'+ Prelude.<$> ( x+ Data..?> "matchingResources"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable SearchResources where+ hashWithSalt _salt SearchResources' {..} =+ _salt+ `Prelude.hashWithSalt` bucketCriteria+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` sortCriteria++instance Prelude.NFData SearchResources where+ rnf SearchResources' {..} =+ Prelude.rnf bucketCriteria+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf sortCriteria++instance Data.ToHeaders SearchResources where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON SearchResources where+ toJSON SearchResources' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("bucketCriteria" Data..=)+ Prelude.<$> bucketCriteria,+ ("maxResults" Data..=) Prelude.<$> maxResults,+ ("nextToken" Data..=) Prelude.<$> nextToken,+ ("sortCriteria" Data..=) Prelude.<$> sortCriteria+ ]+ )++instance Data.ToPath SearchResources where+ toPath =+ Prelude.const "/datasources/search-resources"++instance Data.ToQuery SearchResources where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newSearchResourcesResponse' smart constructor.+data SearchResourcesResponse = SearchResourcesResponse'+ { -- | An array of objects, one for each resource that matches the filter+ -- criteria specified in the request.+ matchingResources :: Prelude.Maybe [MatchingResource],+ -- | The string to use in a subsequent request to get the next page of+ -- results in a paginated response. This value is null if there are no+ -- additional pages.+ 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 'SearchResourcesResponse' 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:+--+-- 'matchingResources', 'searchResourcesResponse_matchingResources' - An array of objects, one for each resource that matches the filter+-- criteria specified in the request.+--+-- 'nextToken', 'searchResourcesResponse_nextToken' - The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+--+-- 'httpStatus', 'searchResourcesResponse_httpStatus' - The response's http status code.+newSearchResourcesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ SearchResourcesResponse+newSearchResourcesResponse pHttpStatus_ =+ SearchResourcesResponse'+ { matchingResources =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | An array of objects, one for each resource that matches the filter+-- criteria specified in the request.+searchResourcesResponse_matchingResources :: Lens.Lens' SearchResourcesResponse (Prelude.Maybe [MatchingResource])+searchResourcesResponse_matchingResources = Lens.lens (\SearchResourcesResponse' {matchingResources} -> matchingResources) (\s@SearchResourcesResponse' {} a -> s {matchingResources = a} :: SearchResourcesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The string to use in a subsequent request to get the next page of+-- results in a paginated response. This value is null if there are no+-- additional pages.+searchResourcesResponse_nextToken :: Lens.Lens' SearchResourcesResponse (Prelude.Maybe Prelude.Text)+searchResourcesResponse_nextToken = Lens.lens (\SearchResourcesResponse' {nextToken} -> nextToken) (\s@SearchResourcesResponse' {} a -> s {nextToken = a} :: SearchResourcesResponse)++-- | The response's http status code.+searchResourcesResponse_httpStatus :: Lens.Lens' SearchResourcesResponse Prelude.Int+searchResourcesResponse_httpStatus = Lens.lens (\SearchResourcesResponse' {httpStatus} -> httpStatus) (\s@SearchResourcesResponse' {} a -> s {httpStatus = a} :: SearchResourcesResponse)++instance Prelude.NFData SearchResourcesResponse where+ rnf SearchResourcesResponse' {..} =+ Prelude.rnf matchingResources+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/TagResource.hs view
@@ -0,0 +1,179 @@+{-# 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.MacieV2.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)+--+-- Adds or updates one or more tags (keys and values) that are associated+-- with an Amazon Macie resource.+module Amazonka.MacieV2.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,++ -- * Response Lenses+ tagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+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,+ -- | A map of key-value pairs that specifies the tags to associate with the+ -- resource.+ --+ -- A resource can have a maximum of 50 tags. Each tag consists of a tag key+ -- and an associated tag value. The maximum length of a tag key is 128+ -- characters. The maximum length of a tag value is 256 characters.+ 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' - A map of key-value pairs that specifies the tags to associate with the+-- resource.+--+-- A resource can have a maximum of 50 tags. Each tag consists of a tag key+-- and an associated tag value. The maximum length of a tag key is 128+-- characters. The maximum length of a tag value is 256 characters.+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)++-- | A map of key-value pairs that specifies the tags to associate with the+-- resource.+--+-- A resource can have a maximum of 50 tags. Each tag consists of a tag key+-- and an associated tag value. The maximum length of a tag key is 128+-- characters. The maximum length of a tag value is 256 characters.+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/MacieV2/TestCustomDataIdentifier.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.MacieV2.TestCustomDataIdentifier+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Tests a custom data identifier.+module Amazonka.MacieV2.TestCustomDataIdentifier+ ( -- * Creating a Request+ TestCustomDataIdentifier (..),+ newTestCustomDataIdentifier,++ -- * Request Lenses+ testCustomDataIdentifier_ignoreWords,+ testCustomDataIdentifier_keywords,+ testCustomDataIdentifier_maximumMatchDistance,+ testCustomDataIdentifier_regex,+ testCustomDataIdentifier_sampleText,++ -- * Destructuring the Response+ TestCustomDataIdentifierResponse (..),+ newTestCustomDataIdentifierResponse,++ -- * Response Lenses+ testCustomDataIdentifierResponse_matchCount,+ testCustomDataIdentifierResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTestCustomDataIdentifier' smart constructor.+data TestCustomDataIdentifier = TestCustomDataIdentifier'+ { -- | An array that lists specific character sequences (/ignore words/) to+ -- exclude from the results. If the text matched by the regular expression+ -- contains any string in this array, Amazon Macie ignores it. The array+ -- can contain as many as 10 ignore words. Each ignore word can contain+ -- 4-90 UTF-8 characters. Ignore words are case sensitive.+ ignoreWords :: Prelude.Maybe [Prelude.Text],+ -- | An array that lists specific character sequences (/keywords/), one of+ -- which must precede and be within proximity (maximumMatchDistance) of the+ -- regular expression to match. The array can contain as many as 50+ -- keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords+ -- aren\'t case sensitive.+ keywords :: Prelude.Maybe [Prelude.Text],+ -- | The maximum number of characters that can exist between the end of at+ -- least one complete character sequence specified by the keywords array+ -- and the end of the text that matches the regex pattern. If a complete+ -- keyword precedes all the text that matches the pattern and the keyword+ -- is within the specified distance, Amazon Macie includes the result. The+ -- distance can be 1-300 characters. The default value is 50.+ maximumMatchDistance :: Prelude.Maybe Prelude.Int,+ -- | The regular expression (/regex/) that defines the pattern to match. The+ -- expression can contain as many as 512 characters.+ regex :: Prelude.Text,+ -- | The sample text to inspect by using the custom data identifier. The text+ -- can contain as many as 1,000 characters.+ sampleText :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TestCustomDataIdentifier' 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:+--+-- 'ignoreWords', 'testCustomDataIdentifier_ignoreWords' - An array that lists specific character sequences (/ignore words/) to+-- exclude from the results. If the text matched by the regular expression+-- contains any string in this array, Amazon Macie ignores it. The array+-- can contain as many as 10 ignore words. Each ignore word can contain+-- 4-90 UTF-8 characters. Ignore words are case sensitive.+--+-- 'keywords', 'testCustomDataIdentifier_keywords' - An array that lists specific character sequences (/keywords/), one of+-- which must precede and be within proximity (maximumMatchDistance) of the+-- regular expression to match. The array can contain as many as 50+-- keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords+-- aren\'t case sensitive.+--+-- 'maximumMatchDistance', 'testCustomDataIdentifier_maximumMatchDistance' - The maximum number of characters that can exist between the end of at+-- least one complete character sequence specified by the keywords array+-- and the end of the text that matches the regex pattern. If a complete+-- keyword precedes all the text that matches the pattern and the keyword+-- is within the specified distance, Amazon Macie includes the result. The+-- distance can be 1-300 characters. The default value is 50.+--+-- 'regex', 'testCustomDataIdentifier_regex' - The regular expression (/regex/) that defines the pattern to match. The+-- expression can contain as many as 512 characters.+--+-- 'sampleText', 'testCustomDataIdentifier_sampleText' - The sample text to inspect by using the custom data identifier. The text+-- can contain as many as 1,000 characters.+newTestCustomDataIdentifier ::+ -- | 'regex'+ Prelude.Text ->+ -- | 'sampleText'+ Prelude.Text ->+ TestCustomDataIdentifier+newTestCustomDataIdentifier pRegex_ pSampleText_ =+ TestCustomDataIdentifier'+ { ignoreWords =+ Prelude.Nothing,+ keywords = Prelude.Nothing,+ maximumMatchDistance = Prelude.Nothing,+ regex = pRegex_,+ sampleText = pSampleText_+ }++-- | An array that lists specific character sequences (/ignore words/) to+-- exclude from the results. If the text matched by the regular expression+-- contains any string in this array, Amazon Macie ignores it. The array+-- can contain as many as 10 ignore words. Each ignore word can contain+-- 4-90 UTF-8 characters. Ignore words are case sensitive.+testCustomDataIdentifier_ignoreWords :: Lens.Lens' TestCustomDataIdentifier (Prelude.Maybe [Prelude.Text])+testCustomDataIdentifier_ignoreWords = Lens.lens (\TestCustomDataIdentifier' {ignoreWords} -> ignoreWords) (\s@TestCustomDataIdentifier' {} a -> s {ignoreWords = a} :: TestCustomDataIdentifier) Prelude.. Lens.mapping Lens.coerced++-- | An array that lists specific character sequences (/keywords/), one of+-- which must precede and be within proximity (maximumMatchDistance) of the+-- regular expression to match. The array can contain as many as 50+-- keywords. Each keyword can contain 3-90 UTF-8 characters. Keywords+-- aren\'t case sensitive.+testCustomDataIdentifier_keywords :: Lens.Lens' TestCustomDataIdentifier (Prelude.Maybe [Prelude.Text])+testCustomDataIdentifier_keywords = Lens.lens (\TestCustomDataIdentifier' {keywords} -> keywords) (\s@TestCustomDataIdentifier' {} a -> s {keywords = a} :: TestCustomDataIdentifier) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of characters that can exist between the end of at+-- least one complete character sequence specified by the keywords array+-- and the end of the text that matches the regex pattern. If a complete+-- keyword precedes all the text that matches the pattern and the keyword+-- is within the specified distance, Amazon Macie includes the result. The+-- distance can be 1-300 characters. The default value is 50.+testCustomDataIdentifier_maximumMatchDistance :: Lens.Lens' TestCustomDataIdentifier (Prelude.Maybe Prelude.Int)+testCustomDataIdentifier_maximumMatchDistance = Lens.lens (\TestCustomDataIdentifier' {maximumMatchDistance} -> maximumMatchDistance) (\s@TestCustomDataIdentifier' {} a -> s {maximumMatchDistance = a} :: TestCustomDataIdentifier)++-- | The regular expression (/regex/) that defines the pattern to match. The+-- expression can contain as many as 512 characters.+testCustomDataIdentifier_regex :: Lens.Lens' TestCustomDataIdentifier Prelude.Text+testCustomDataIdentifier_regex = Lens.lens (\TestCustomDataIdentifier' {regex} -> regex) (\s@TestCustomDataIdentifier' {} a -> s {regex = a} :: TestCustomDataIdentifier)++-- | The sample text to inspect by using the custom data identifier. The text+-- can contain as many as 1,000 characters.+testCustomDataIdentifier_sampleText :: Lens.Lens' TestCustomDataIdentifier Prelude.Text+testCustomDataIdentifier_sampleText = Lens.lens (\TestCustomDataIdentifier' {sampleText} -> sampleText) (\s@TestCustomDataIdentifier' {} a -> s {sampleText = a} :: TestCustomDataIdentifier)++instance Core.AWSRequest TestCustomDataIdentifier where+ type+ AWSResponse TestCustomDataIdentifier =+ TestCustomDataIdentifierResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ TestCustomDataIdentifierResponse'+ Prelude.<$> (x Data..?> "matchCount")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable TestCustomDataIdentifier where+ hashWithSalt _salt TestCustomDataIdentifier' {..} =+ _salt+ `Prelude.hashWithSalt` ignoreWords+ `Prelude.hashWithSalt` keywords+ `Prelude.hashWithSalt` maximumMatchDistance+ `Prelude.hashWithSalt` regex+ `Prelude.hashWithSalt` sampleText++instance Prelude.NFData TestCustomDataIdentifier where+ rnf TestCustomDataIdentifier' {..} =+ Prelude.rnf ignoreWords+ `Prelude.seq` Prelude.rnf keywords+ `Prelude.seq` Prelude.rnf maximumMatchDistance+ `Prelude.seq` Prelude.rnf regex+ `Prelude.seq` Prelude.rnf sampleText++instance Data.ToHeaders TestCustomDataIdentifier where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TestCustomDataIdentifier where+ toJSON TestCustomDataIdentifier' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ignoreWords" Data..=) Prelude.<$> ignoreWords,+ ("keywords" Data..=) Prelude.<$> keywords,+ ("maximumMatchDistance" Data..=)+ Prelude.<$> maximumMatchDistance,+ Prelude.Just ("regex" Data..= regex),+ Prelude.Just ("sampleText" Data..= sampleText)+ ]+ )++instance Data.ToPath TestCustomDataIdentifier where+ toPath =+ Prelude.const "/custom-data-identifiers/test"++instance Data.ToQuery TestCustomDataIdentifier where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTestCustomDataIdentifierResponse' smart constructor.+data TestCustomDataIdentifierResponse = TestCustomDataIdentifierResponse'+ { -- | The number of occurrences of sample text that matched the criteria+ -- specified by the custom data identifier.+ matchCount :: Prelude.Maybe Prelude.Int,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TestCustomDataIdentifierResponse' 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:+--+-- 'matchCount', 'testCustomDataIdentifierResponse_matchCount' - The number of occurrences of sample text that matched the criteria+-- specified by the custom data identifier.+--+-- 'httpStatus', 'testCustomDataIdentifierResponse_httpStatus' - The response's http status code.+newTestCustomDataIdentifierResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ TestCustomDataIdentifierResponse+newTestCustomDataIdentifierResponse pHttpStatus_ =+ TestCustomDataIdentifierResponse'+ { matchCount =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The number of occurrences of sample text that matched the criteria+-- specified by the custom data identifier.+testCustomDataIdentifierResponse_matchCount :: Lens.Lens' TestCustomDataIdentifierResponse (Prelude.Maybe Prelude.Int)+testCustomDataIdentifierResponse_matchCount = Lens.lens (\TestCustomDataIdentifierResponse' {matchCount} -> matchCount) (\s@TestCustomDataIdentifierResponse' {} a -> s {matchCount = a} :: TestCustomDataIdentifierResponse)++-- | The response's http status code.+testCustomDataIdentifierResponse_httpStatus :: Lens.Lens' TestCustomDataIdentifierResponse Prelude.Int+testCustomDataIdentifierResponse_httpStatus = Lens.lens (\TestCustomDataIdentifierResponse' {httpStatus} -> httpStatus) (\s@TestCustomDataIdentifierResponse' {} a -> s {httpStatus = a} :: TestCustomDataIdentifierResponse)++instance+ Prelude.NFData+ TestCustomDataIdentifierResponse+ where+ rnf TestCustomDataIdentifierResponse' {..} =+ Prelude.rnf matchCount+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/Types.hs view
@@ -0,0 +1,1540 @@+{-# 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.MacieV2.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.MacieV2.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AccessDeniedException,+ _ConflictException,+ _InternalServerException,+ _ResourceNotFoundException,+ _ServiceQuotaExceededException,+ _ThrottlingException,+ _UnprocessableEntityException,+ _ValidationException,++ -- * AdminStatus+ AdminStatus (..),++ -- * AllowListStatusCode+ AllowListStatusCode (..),++ -- * AllowsUnencryptedObjectUploads+ AllowsUnencryptedObjectUploads (..),++ -- * AutomatedDiscoveryStatus+ AutomatedDiscoveryStatus (..),++ -- * AvailabilityCode+ AvailabilityCode (..),++ -- * BucketMetadataErrorCode+ BucketMetadataErrorCode (..),++ -- * ClassificationScopeUpdateOperation+ ClassificationScopeUpdateOperation (..),++ -- * Currency+ Currency (..),++ -- * DataIdentifierSeverity+ DataIdentifierSeverity (..),++ -- * DataIdentifierType+ DataIdentifierType (..),++ -- * DayOfWeek+ DayOfWeek (..),++ -- * EffectivePermission+ EffectivePermission (..),++ -- * EncryptionType+ EncryptionType (..),++ -- * ErrorCode+ ErrorCode (..),++ -- * FindingActionType+ FindingActionType (..),++ -- * FindingCategory+ FindingCategory (..),++ -- * FindingPublishingFrequency+ FindingPublishingFrequency (..),++ -- * FindingStatisticsSortAttributeName+ FindingStatisticsSortAttributeName (..),++ -- * FindingType+ FindingType (..),++ -- * FindingsFilterAction+ FindingsFilterAction (..),++ -- * GroupBy+ GroupBy (..),++ -- * IsDefinedInJob+ IsDefinedInJob (..),++ -- * IsMonitoredByJob+ IsMonitoredByJob (..),++ -- * JobComparator+ JobComparator (..),++ -- * JobStatus+ JobStatus (..),++ -- * JobType+ JobType (..),++ -- * LastRunErrorStatusCode+ LastRunErrorStatusCode (..),++ -- * ListJobsFilterKey+ ListJobsFilterKey (..),++ -- * ListJobsSortAttributeName+ ListJobsSortAttributeName (..),++ -- * MacieStatus+ MacieStatus (..),++ -- * ManagedDataIdentifierSelector+ ManagedDataIdentifierSelector (..),++ -- * OrderBy+ OrderBy (..),++ -- * OriginType+ OriginType (..),++ -- * RelationshipStatus+ RelationshipStatus (..),++ -- * RevealRequestStatus+ RevealRequestStatus (..),++ -- * RevealStatus+ RevealStatus (..),++ -- * ScopeFilterKey+ ScopeFilterKey (..),++ -- * SearchResourcesComparator+ SearchResourcesComparator (..),++ -- * SearchResourcesSimpleCriterionKey+ SearchResourcesSimpleCriterionKey (..),++ -- * SearchResourcesSortAttributeName+ SearchResourcesSortAttributeName (..),++ -- * SensitiveDataItemCategory+ SensitiveDataItemCategory (..),++ -- * SeverityDescription+ SeverityDescription (..),++ -- * SharedAccess+ SharedAccess (..),++ -- * SimpleCriterionKeyForJob+ SimpleCriterionKeyForJob (..),++ -- * StorageClass+ StorageClass (..),++ -- * TagTarget+ TagTarget (..),++ -- * TimeRange+ TimeRange (..),++ -- * Type+ Type (..),++ -- * UnavailabilityReasonCode+ UnavailabilityReasonCode (..),++ -- * Unit+ Unit (..),++ -- * UsageStatisticsFilterComparator+ UsageStatisticsFilterComparator (..),++ -- * UsageStatisticsFilterKey+ UsageStatisticsFilterKey (..),++ -- * UsageStatisticsSortKey+ UsageStatisticsSortKey (..),++ -- * UsageType+ UsageType (..),++ -- * UserIdentityType+ UserIdentityType (..),++ -- * AccessControlList+ AccessControlList (..),+ newAccessControlList,+ accessControlList_allowsPublicReadAccess,+ accessControlList_allowsPublicWriteAccess,++ -- * AccountDetail+ AccountDetail (..),+ newAccountDetail,+ accountDetail_email,+ accountDetail_accountId,++ -- * AccountLevelPermissions+ AccountLevelPermissions (..),+ newAccountLevelPermissions,+ accountLevelPermissions_blockPublicAccess,++ -- * AdminAccount+ AdminAccount (..),+ newAdminAccount,+ adminAccount_accountId,+ adminAccount_status,++ -- * AllowListCriteria+ AllowListCriteria (..),+ newAllowListCriteria,+ allowListCriteria_regex,+ allowListCriteria_s3WordsList,++ -- * AllowListStatus+ AllowListStatus (..),+ newAllowListStatus,+ allowListStatus_description,+ allowListStatus_code,++ -- * AllowListSummary+ AllowListSummary (..),+ newAllowListSummary,+ allowListSummary_arn,+ allowListSummary_createdAt,+ allowListSummary_description,+ allowListSummary_id,+ allowListSummary_name,+ allowListSummary_updatedAt,++ -- * ApiCallDetails+ ApiCallDetails (..),+ newApiCallDetails,+ apiCallDetails_api,+ apiCallDetails_apiServiceName,+ apiCallDetails_firstSeen,+ apiCallDetails_lastSeen,++ -- * AssumedRole+ AssumedRole (..),+ newAssumedRole,+ assumedRole_accessKeyId,+ assumedRole_accountId,+ assumedRole_arn,+ assumedRole_principalId,+ assumedRole_sessionContext,++ -- * AwsAccount+ AwsAccount (..),+ newAwsAccount,+ awsAccount_accountId,+ awsAccount_principalId,++ -- * AwsService+ AwsService (..),+ newAwsService,+ awsService_invokedBy,++ -- * BatchGetCustomDataIdentifierSummary+ BatchGetCustomDataIdentifierSummary (..),+ newBatchGetCustomDataIdentifierSummary,+ batchGetCustomDataIdentifierSummary_arn,+ batchGetCustomDataIdentifierSummary_createdAt,+ batchGetCustomDataIdentifierSummary_deleted,+ batchGetCustomDataIdentifierSummary_description,+ batchGetCustomDataIdentifierSummary_id,+ batchGetCustomDataIdentifierSummary_name,++ -- * BlockPublicAccess+ BlockPublicAccess (..),+ newBlockPublicAccess,+ blockPublicAccess_blockPublicAcls,+ blockPublicAccess_blockPublicPolicy,+ blockPublicAccess_ignorePublicAcls,+ blockPublicAccess_restrictPublicBuckets,++ -- * BucketCountByEffectivePermission+ BucketCountByEffectivePermission (..),+ newBucketCountByEffectivePermission,+ bucketCountByEffectivePermission_publiclyAccessible,+ bucketCountByEffectivePermission_publiclyReadable,+ bucketCountByEffectivePermission_publiclyWritable,+ bucketCountByEffectivePermission_unknown,++ -- * BucketCountByEncryptionType+ BucketCountByEncryptionType (..),+ newBucketCountByEncryptionType,+ bucketCountByEncryptionType_kmsManaged,+ bucketCountByEncryptionType_s3Managed,+ bucketCountByEncryptionType_unencrypted,+ bucketCountByEncryptionType_unknown,++ -- * BucketCountBySharedAccessType+ BucketCountBySharedAccessType (..),+ newBucketCountBySharedAccessType,+ bucketCountBySharedAccessType_external,+ bucketCountBySharedAccessType_internal,+ bucketCountBySharedAccessType_notShared,+ bucketCountBySharedAccessType_unknown,++ -- * BucketCountPolicyAllowsUnencryptedObjectUploads+ BucketCountPolicyAllowsUnencryptedObjectUploads (..),+ newBucketCountPolicyAllowsUnencryptedObjectUploads,+ bucketCountPolicyAllowsUnencryptedObjectUploads_allowsUnencryptedObjectUploads,+ bucketCountPolicyAllowsUnencryptedObjectUploads_deniesUnencryptedObjectUploads,+ bucketCountPolicyAllowsUnencryptedObjectUploads_unknown,++ -- * BucketCriteriaAdditionalProperties+ BucketCriteriaAdditionalProperties (..),+ newBucketCriteriaAdditionalProperties,+ bucketCriteriaAdditionalProperties_eq,+ bucketCriteriaAdditionalProperties_gt,+ bucketCriteriaAdditionalProperties_gte,+ bucketCriteriaAdditionalProperties_lt,+ bucketCriteriaAdditionalProperties_lte,+ bucketCriteriaAdditionalProperties_neq,+ bucketCriteriaAdditionalProperties_prefix,++ -- * BucketLevelPermissions+ BucketLevelPermissions (..),+ newBucketLevelPermissions,+ bucketLevelPermissions_accessControlList,+ bucketLevelPermissions_blockPublicAccess,+ bucketLevelPermissions_bucketPolicy,++ -- * BucketMetadata+ BucketMetadata (..),+ newBucketMetadata,+ bucketMetadata_accountId,+ bucketMetadata_allowsUnencryptedObjectUploads,+ bucketMetadata_bucketArn,+ bucketMetadata_bucketCreatedAt,+ bucketMetadata_bucketName,+ bucketMetadata_classifiableObjectCount,+ bucketMetadata_classifiableSizeInBytes,+ bucketMetadata_errorCode,+ bucketMetadata_errorMessage,+ bucketMetadata_jobDetails,+ bucketMetadata_lastAutomatedDiscoveryTime,+ bucketMetadata_lastUpdated,+ bucketMetadata_objectCount,+ bucketMetadata_objectCountByEncryptionType,+ bucketMetadata_publicAccess,+ bucketMetadata_region,+ bucketMetadata_replicationDetails,+ bucketMetadata_sensitivityScore,+ bucketMetadata_serverSideEncryption,+ bucketMetadata_sharedAccess,+ bucketMetadata_sizeInBytes,+ bucketMetadata_sizeInBytesCompressed,+ bucketMetadata_tags,+ bucketMetadata_unclassifiableObjectCount,+ bucketMetadata_unclassifiableObjectSizeInBytes,+ bucketMetadata_versioning,++ -- * BucketPermissionConfiguration+ BucketPermissionConfiguration (..),+ newBucketPermissionConfiguration,+ bucketPermissionConfiguration_accountLevelPermissions,+ bucketPermissionConfiguration_bucketLevelPermissions,++ -- * BucketPolicy+ BucketPolicy (..),+ newBucketPolicy,+ bucketPolicy_allowsPublicReadAccess,+ bucketPolicy_allowsPublicWriteAccess,++ -- * BucketPublicAccess+ BucketPublicAccess (..),+ newBucketPublicAccess,+ bucketPublicAccess_effectivePermission,+ bucketPublicAccess_permissionConfiguration,++ -- * BucketServerSideEncryption+ BucketServerSideEncryption (..),+ newBucketServerSideEncryption,+ bucketServerSideEncryption_kmsMasterKeyId,+ bucketServerSideEncryption_type,++ -- * BucketSortCriteria+ BucketSortCriteria (..),+ newBucketSortCriteria,+ bucketSortCriteria_attributeName,+ bucketSortCriteria_orderBy,++ -- * BucketStatisticsBySensitivity+ BucketStatisticsBySensitivity (..),+ newBucketStatisticsBySensitivity,+ bucketStatisticsBySensitivity_classificationError,+ bucketStatisticsBySensitivity_notClassified,+ bucketStatisticsBySensitivity_notSensitive,+ bucketStatisticsBySensitivity_sensitive,++ -- * Cell+ Cell (..),+ newCell,+ cell_cellReference,+ cell_column,+ cell_columnName,+ cell_row,++ -- * ClassificationDetails+ ClassificationDetails (..),+ newClassificationDetails,+ classificationDetails_detailedResultsLocation,+ classificationDetails_jobArn,+ classificationDetails_jobId,+ classificationDetails_originType,+ classificationDetails_result,++ -- * ClassificationExportConfiguration+ ClassificationExportConfiguration (..),+ newClassificationExportConfiguration,+ classificationExportConfiguration_s3Destination,++ -- * ClassificationResult+ ClassificationResult (..),+ newClassificationResult,+ classificationResult_additionalOccurrences,+ classificationResult_customDataIdentifiers,+ classificationResult_mimeType,+ classificationResult_sensitiveData,+ classificationResult_sizeClassified,+ classificationResult_status,++ -- * ClassificationResultStatus+ ClassificationResultStatus (..),+ newClassificationResultStatus,+ classificationResultStatus_code,+ classificationResultStatus_reason,++ -- * ClassificationScopeSummary+ ClassificationScopeSummary (..),+ newClassificationScopeSummary,+ classificationScopeSummary_id,+ classificationScopeSummary_name,++ -- * CriteriaBlockForJob+ CriteriaBlockForJob (..),+ newCriteriaBlockForJob,+ criteriaBlockForJob_and,++ -- * CriteriaForJob+ CriteriaForJob (..),+ newCriteriaForJob,+ criteriaForJob_simpleCriterion,+ criteriaForJob_tagCriterion,++ -- * CriterionAdditionalProperties+ CriterionAdditionalProperties (..),+ newCriterionAdditionalProperties,+ criterionAdditionalProperties_eq,+ criterionAdditionalProperties_eqExactMatch,+ criterionAdditionalProperties_gt,+ criterionAdditionalProperties_gte,+ criterionAdditionalProperties_lt,+ criterionAdditionalProperties_lte,+ criterionAdditionalProperties_neq,++ -- * CustomDataIdentifierSummary+ CustomDataIdentifierSummary (..),+ newCustomDataIdentifierSummary,+ customDataIdentifierSummary_arn,+ customDataIdentifierSummary_createdAt,+ customDataIdentifierSummary_description,+ customDataIdentifierSummary_id,+ customDataIdentifierSummary_name,++ -- * CustomDataIdentifiers+ CustomDataIdentifiers (..),+ newCustomDataIdentifiers,+ customDataIdentifiers_detections,+ customDataIdentifiers_totalCount,++ -- * CustomDetection+ CustomDetection (..),+ newCustomDetection,+ customDetection_arn,+ customDetection_count,+ customDetection_name,+ customDetection_occurrences,++ -- * DailySchedule+ DailySchedule (..),+ newDailySchedule,++ -- * DefaultDetection+ DefaultDetection (..),+ newDefaultDetection,+ defaultDetection_count,+ defaultDetection_occurrences,+ defaultDetection_type,++ -- * DetectedDataDetails+ DetectedDataDetails (..),+ newDetectedDataDetails,+ detectedDataDetails_value,++ -- * Detection+ Detection (..),+ newDetection,+ detection_arn,+ detection_count,+ detection_id,+ detection_name,+ detection_suppressed,+ detection_type,++ -- * DomainDetails+ DomainDetails (..),+ newDomainDetails,+ domainDetails_domainName,++ -- * FederatedUser+ FederatedUser (..),+ newFederatedUser,+ federatedUser_accessKeyId,+ federatedUser_accountId,+ federatedUser_arn,+ federatedUser_principalId,+ federatedUser_sessionContext,++ -- * Finding+ Finding (..),+ newFinding,+ finding_accountId,+ finding_archived,+ finding_category,+ finding_classificationDetails,+ finding_count,+ finding_createdAt,+ finding_description,+ finding_id,+ finding_partition,+ finding_policyDetails,+ finding_region,+ finding_resourcesAffected,+ finding_sample,+ finding_schemaVersion,+ finding_severity,+ finding_title,+ finding_type,+ finding_updatedAt,++ -- * FindingAction+ FindingAction (..),+ newFindingAction,+ findingAction_actionType,+ findingAction_apiCallDetails,++ -- * FindingActor+ FindingActor (..),+ newFindingActor,+ findingActor_domainDetails,+ findingActor_ipAddressDetails,+ findingActor_userIdentity,++ -- * FindingCriteria+ FindingCriteria (..),+ newFindingCriteria,+ findingCriteria_criterion,++ -- * FindingStatisticsSortCriteria+ FindingStatisticsSortCriteria (..),+ newFindingStatisticsSortCriteria,+ findingStatisticsSortCriteria_attributeName,+ findingStatisticsSortCriteria_orderBy,++ -- * FindingsFilterListItem+ FindingsFilterListItem (..),+ newFindingsFilterListItem,+ findingsFilterListItem_action,+ findingsFilterListItem_arn,+ findingsFilterListItem_id,+ findingsFilterListItem_name,+ findingsFilterListItem_tags,++ -- * GroupCount+ GroupCount (..),+ newGroupCount,+ groupCount_count,+ groupCount_groupKey,++ -- * IamUser+ IamUser (..),+ newIamUser,+ iamUser_accountId,+ iamUser_arn,+ iamUser_principalId,+ iamUser_userName,++ -- * Invitation+ Invitation (..),+ newInvitation,+ invitation_accountId,+ invitation_invitationId,+ invitation_invitedAt,+ invitation_relationshipStatus,++ -- * IpAddressDetails+ IpAddressDetails (..),+ newIpAddressDetails,+ ipAddressDetails_ipAddressV4,+ ipAddressDetails_ipCity,+ ipAddressDetails_ipCountry,+ ipAddressDetails_ipGeoLocation,+ ipAddressDetails_ipOwner,++ -- * IpCity+ IpCity (..),+ newIpCity,+ ipCity_name,++ -- * IpCountry+ IpCountry (..),+ newIpCountry,+ ipCountry_code,+ ipCountry_name,++ -- * IpGeoLocation+ IpGeoLocation (..),+ newIpGeoLocation,+ ipGeoLocation_lat,+ ipGeoLocation_lon,++ -- * IpOwner+ IpOwner (..),+ newIpOwner,+ ipOwner_asn,+ ipOwner_asnOrg,+ ipOwner_isp,+ ipOwner_org,++ -- * JobDetails+ JobDetails (..),+ newJobDetails,+ jobDetails_isDefinedInJob,+ jobDetails_isMonitoredByJob,+ jobDetails_lastJobId,+ jobDetails_lastJobRunTime,++ -- * JobScheduleFrequency+ JobScheduleFrequency (..),+ newJobScheduleFrequency,+ jobScheduleFrequency_dailySchedule,+ jobScheduleFrequency_monthlySchedule,+ jobScheduleFrequency_weeklySchedule,++ -- * JobScopeTerm+ JobScopeTerm (..),+ newJobScopeTerm,+ jobScopeTerm_simpleScopeTerm,+ jobScopeTerm_tagScopeTerm,++ -- * JobScopingBlock+ JobScopingBlock (..),+ newJobScopingBlock,+ jobScopingBlock_and,++ -- * JobSummary+ JobSummary (..),+ newJobSummary,+ jobSummary_bucketCriteria,+ jobSummary_bucketDefinitions,+ jobSummary_createdAt,+ jobSummary_jobId,+ jobSummary_jobStatus,+ jobSummary_jobType,+ jobSummary_lastRunErrorStatus,+ jobSummary_name,+ jobSummary_userPausedDetails,++ -- * KeyValuePair+ KeyValuePair (..),+ newKeyValuePair,+ keyValuePair_key,+ keyValuePair_value,++ -- * LastRunErrorStatus+ LastRunErrorStatus (..),+ newLastRunErrorStatus,+ lastRunErrorStatus_code,++ -- * ListJobsFilterCriteria+ ListJobsFilterCriteria (..),+ newListJobsFilterCriteria,+ listJobsFilterCriteria_excludes,+ listJobsFilterCriteria_includes,++ -- * ListJobsFilterTerm+ ListJobsFilterTerm (..),+ newListJobsFilterTerm,+ listJobsFilterTerm_comparator,+ listJobsFilterTerm_key,+ listJobsFilterTerm_values,++ -- * ListJobsSortCriteria+ ListJobsSortCriteria (..),+ newListJobsSortCriteria,+ listJobsSortCriteria_attributeName,+ listJobsSortCriteria_orderBy,++ -- * ManagedDataIdentifierSummary+ ManagedDataIdentifierSummary (..),+ newManagedDataIdentifierSummary,+ managedDataIdentifierSummary_category,+ managedDataIdentifierSummary_id,++ -- * MatchingBucket+ MatchingBucket (..),+ newMatchingBucket,+ matchingBucket_accountId,+ matchingBucket_bucketName,+ matchingBucket_classifiableObjectCount,+ matchingBucket_classifiableSizeInBytes,+ matchingBucket_errorCode,+ matchingBucket_errorMessage,+ matchingBucket_jobDetails,+ matchingBucket_lastAutomatedDiscoveryTime,+ matchingBucket_objectCount,+ matchingBucket_objectCountByEncryptionType,+ matchingBucket_sensitivityScore,+ matchingBucket_sizeInBytes,+ matchingBucket_sizeInBytesCompressed,+ matchingBucket_unclassifiableObjectCount,+ matchingBucket_unclassifiableObjectSizeInBytes,++ -- * MatchingResource+ MatchingResource (..),+ newMatchingResource,+ matchingResource_matchingBucket,++ -- * Member+ Member (..),+ newMember,+ member_accountId,+ member_administratorAccountId,+ member_arn,+ member_email,+ member_invitedAt,+ member_masterAccountId,+ member_relationshipStatus,+ member_tags,+ member_updatedAt,++ -- * MonthlySchedule+ MonthlySchedule (..),+ newMonthlySchedule,+ monthlySchedule_dayOfMonth,++ -- * ObjectCountByEncryptionType+ ObjectCountByEncryptionType (..),+ newObjectCountByEncryptionType,+ objectCountByEncryptionType_customerManaged,+ objectCountByEncryptionType_kmsManaged,+ objectCountByEncryptionType_s3Managed,+ objectCountByEncryptionType_unencrypted,+ objectCountByEncryptionType_unknown,++ -- * ObjectLevelStatistics+ ObjectLevelStatistics (..),+ newObjectLevelStatistics,+ objectLevelStatistics_fileType,+ objectLevelStatistics_storageClass,+ objectLevelStatistics_total,++ -- * Occurrences+ Occurrences (..),+ newOccurrences,+ occurrences_cells,+ occurrences_lineRanges,+ occurrences_offsetRanges,+ occurrences_pages,+ occurrences_records,++ -- * Page+ Page (..),+ newPage,+ page_lineRange,+ page_offsetRange,+ page_pageNumber,++ -- * PolicyDetails+ PolicyDetails (..),+ newPolicyDetails,+ policyDetails_action,+ policyDetails_actor,++ -- * Range+ Range (..),+ newRange,+ range_end,+ range_start,+ range_startColumn,++ -- * Record+ Record (..),+ newRecord,+ record_jsonPath,+ record_recordIndex,++ -- * ReplicationDetails+ ReplicationDetails (..),+ newReplicationDetails,+ replicationDetails_replicated,+ replicationDetails_replicatedExternally,+ replicationDetails_replicationAccounts,++ -- * ResourceProfileArtifact+ ResourceProfileArtifact (..),+ newResourceProfileArtifact,+ resourceProfileArtifact_sensitive,+ resourceProfileArtifact_classificationResultStatus,+ resourceProfileArtifact_arn,++ -- * ResourceStatistics+ ResourceStatistics (..),+ newResourceStatistics,+ resourceStatistics_totalBytesClassified,+ resourceStatistics_totalDetections,+ resourceStatistics_totalDetectionsSuppressed,+ resourceStatistics_totalItemsClassified,+ resourceStatistics_totalItemsSensitive,+ resourceStatistics_totalItemsSkipped,+ resourceStatistics_totalItemsSkippedInvalidEncryption,+ resourceStatistics_totalItemsSkippedInvalidKms,+ resourceStatistics_totalItemsSkippedPermissionDenied,++ -- * ResourcesAffected+ ResourcesAffected (..),+ newResourcesAffected,+ resourcesAffected_s3Bucket,+ resourcesAffected_s3Object,++ -- * RevealConfiguration+ RevealConfiguration (..),+ newRevealConfiguration,+ revealConfiguration_kmsKeyId,+ revealConfiguration_status,++ -- * S3Bucket+ S3Bucket (..),+ newS3Bucket,+ s3Bucket_allowsUnencryptedObjectUploads,+ s3Bucket_arn,+ s3Bucket_createdAt,+ s3Bucket_defaultServerSideEncryption,+ s3Bucket_name,+ s3Bucket_owner,+ s3Bucket_publicAccess,+ s3Bucket_tags,++ -- * S3BucketCriteriaForJob+ S3BucketCriteriaForJob (..),+ newS3BucketCriteriaForJob,+ s3BucketCriteriaForJob_excludes,+ s3BucketCriteriaForJob_includes,++ -- * S3BucketDefinitionForJob+ S3BucketDefinitionForJob (..),+ newS3BucketDefinitionForJob,+ s3BucketDefinitionForJob_accountId,+ s3BucketDefinitionForJob_buckets,++ -- * S3BucketOwner+ S3BucketOwner (..),+ newS3BucketOwner,+ s3BucketOwner_displayName,+ s3BucketOwner_id,++ -- * S3ClassificationScope+ S3ClassificationScope (..),+ newS3ClassificationScope,+ s3ClassificationScope_excludes,++ -- * S3ClassificationScopeExclusion+ S3ClassificationScopeExclusion (..),+ newS3ClassificationScopeExclusion,+ s3ClassificationScopeExclusion_bucketNames,++ -- * S3ClassificationScopeExclusionUpdate+ S3ClassificationScopeExclusionUpdate (..),+ newS3ClassificationScopeExclusionUpdate,+ s3ClassificationScopeExclusionUpdate_bucketNames,+ s3ClassificationScopeExclusionUpdate_operation,++ -- * S3ClassificationScopeUpdate+ S3ClassificationScopeUpdate (..),+ newS3ClassificationScopeUpdate,+ s3ClassificationScopeUpdate_excludes,++ -- * S3Destination+ S3Destination (..),+ newS3Destination,+ s3Destination_keyPrefix,+ s3Destination_bucketName,+ s3Destination_kmsKeyArn,++ -- * S3JobDefinition+ S3JobDefinition (..),+ newS3JobDefinition,+ s3JobDefinition_bucketCriteria,+ s3JobDefinition_bucketDefinitions,+ s3JobDefinition_scoping,++ -- * S3Object+ S3Object (..),+ newS3Object,+ s3Object_bucketArn,+ s3Object_eTag,+ s3Object_extension,+ s3Object_key,+ s3Object_lastModified,+ s3Object_path,+ s3Object_publicAccess,+ s3Object_serverSideEncryption,+ s3Object_size,+ s3Object_storageClass,+ s3Object_tags,+ s3Object_versionId,++ -- * S3WordsList+ S3WordsList (..),+ newS3WordsList,+ s3WordsList_bucketName,+ s3WordsList_objectKey,++ -- * Scoping+ Scoping (..),+ newScoping,+ scoping_excludes,+ scoping_includes,++ -- * SearchResourcesBucketCriteria+ SearchResourcesBucketCriteria (..),+ newSearchResourcesBucketCriteria,+ searchResourcesBucketCriteria_excludes,+ searchResourcesBucketCriteria_includes,++ -- * SearchResourcesCriteria+ SearchResourcesCriteria (..),+ newSearchResourcesCriteria,+ searchResourcesCriteria_simpleCriterion,+ searchResourcesCriteria_tagCriterion,++ -- * SearchResourcesCriteriaBlock+ SearchResourcesCriteriaBlock (..),+ newSearchResourcesCriteriaBlock,+ searchResourcesCriteriaBlock_and,++ -- * SearchResourcesSimpleCriterion+ SearchResourcesSimpleCriterion (..),+ newSearchResourcesSimpleCriterion,+ searchResourcesSimpleCriterion_comparator,+ searchResourcesSimpleCriterion_key,+ searchResourcesSimpleCriterion_values,++ -- * SearchResourcesSortCriteria+ SearchResourcesSortCriteria (..),+ newSearchResourcesSortCriteria,+ searchResourcesSortCriteria_attributeName,+ searchResourcesSortCriteria_orderBy,++ -- * SearchResourcesTagCriterion+ SearchResourcesTagCriterion (..),+ newSearchResourcesTagCriterion,+ searchResourcesTagCriterion_comparator,+ searchResourcesTagCriterion_tagValues,++ -- * SearchResourcesTagCriterionPair+ SearchResourcesTagCriterionPair (..),+ newSearchResourcesTagCriterionPair,+ searchResourcesTagCriterionPair_key,+ searchResourcesTagCriterionPair_value,++ -- * SecurityHubConfiguration+ SecurityHubConfiguration (..),+ newSecurityHubConfiguration,+ securityHubConfiguration_publishPolicyFindings,+ securityHubConfiguration_publishClassificationFindings,++ -- * SensitiveDataItem+ SensitiveDataItem (..),+ newSensitiveDataItem,+ sensitiveDataItem_category,+ sensitiveDataItem_detections,+ sensitiveDataItem_totalCount,++ -- * SensitivityAggregations+ SensitivityAggregations (..),+ newSensitivityAggregations,+ sensitivityAggregations_classifiableSizeInBytes,+ sensitivityAggregations_publiclyAccessibleCount,+ sensitivityAggregations_totalCount,+ sensitivityAggregations_totalSizeInBytes,++ -- * SensitivityInspectionTemplateExcludes+ SensitivityInspectionTemplateExcludes (..),+ newSensitivityInspectionTemplateExcludes,+ sensitivityInspectionTemplateExcludes_managedDataIdentifierIds,++ -- * SensitivityInspectionTemplateIncludes+ SensitivityInspectionTemplateIncludes (..),+ newSensitivityInspectionTemplateIncludes,+ sensitivityInspectionTemplateIncludes_allowListIds,+ sensitivityInspectionTemplateIncludes_customDataIdentifierIds,+ sensitivityInspectionTemplateIncludes_managedDataIdentifierIds,++ -- * SensitivityInspectionTemplatesEntry+ SensitivityInspectionTemplatesEntry (..),+ newSensitivityInspectionTemplatesEntry,+ sensitivityInspectionTemplatesEntry_id,+ sensitivityInspectionTemplatesEntry_name,++ -- * ServerSideEncryption+ ServerSideEncryption (..),+ newServerSideEncryption,+ serverSideEncryption_encryptionType,+ serverSideEncryption_kmsMasterKeyId,++ -- * ServiceLimit+ ServiceLimit (..),+ newServiceLimit,+ serviceLimit_isServiceLimited,+ serviceLimit_unit,+ serviceLimit_value,++ -- * SessionContext+ SessionContext (..),+ newSessionContext,+ sessionContext_attributes,+ sessionContext_sessionIssuer,++ -- * SessionContextAttributes+ SessionContextAttributes (..),+ newSessionContextAttributes,+ sessionContextAttributes_creationDate,+ sessionContextAttributes_mfaAuthenticated,++ -- * SessionIssuer+ SessionIssuer (..),+ newSessionIssuer,+ sessionIssuer_accountId,+ sessionIssuer_arn,+ sessionIssuer_principalId,+ sessionIssuer_type,+ sessionIssuer_userName,++ -- * Severity+ Severity (..),+ newSeverity,+ severity_description,+ severity_score,++ -- * SeverityLevel+ SeverityLevel (..),+ newSeverityLevel,+ severityLevel_occurrencesThreshold,+ severityLevel_severity,++ -- * SimpleCriterionForJob+ SimpleCriterionForJob (..),+ newSimpleCriterionForJob,+ simpleCriterionForJob_comparator,+ simpleCriterionForJob_key,+ simpleCriterionForJob_values,++ -- * SimpleScopeTerm+ SimpleScopeTerm (..),+ newSimpleScopeTerm,+ simpleScopeTerm_comparator,+ simpleScopeTerm_key,+ simpleScopeTerm_values,++ -- * SortCriteria+ SortCriteria (..),+ newSortCriteria,+ sortCriteria_attributeName,+ sortCriteria_orderBy,++ -- * Statistics+ Statistics (..),+ newStatistics,+ statistics_approximateNumberOfObjectsToProcess,+ statistics_numberOfRuns,++ -- * SuppressDataIdentifier+ SuppressDataIdentifier (..),+ newSuppressDataIdentifier,+ suppressDataIdentifier_id,+ suppressDataIdentifier_type,++ -- * TagCriterionForJob+ TagCriterionForJob (..),+ newTagCriterionForJob,+ tagCriterionForJob_comparator,+ tagCriterionForJob_tagValues,++ -- * TagCriterionPairForJob+ TagCriterionPairForJob (..),+ newTagCriterionPairForJob,+ tagCriterionPairForJob_key,+ tagCriterionPairForJob_value,++ -- * TagScopeTerm+ TagScopeTerm (..),+ newTagScopeTerm,+ tagScopeTerm_comparator,+ tagScopeTerm_key,+ tagScopeTerm_tagValues,+ tagScopeTerm_target,++ -- * TagValuePair+ TagValuePair (..),+ newTagValuePair,+ tagValuePair_key,+ tagValuePair_value,++ -- * UnprocessedAccount+ UnprocessedAccount (..),+ newUnprocessedAccount,+ unprocessedAccount_accountId,+ unprocessedAccount_errorCode,+ unprocessedAccount_errorMessage,++ -- * UsageByAccount+ UsageByAccount (..),+ newUsageByAccount,+ usageByAccount_currency,+ usageByAccount_estimatedCost,+ usageByAccount_serviceLimit,+ usageByAccount_type,++ -- * UsageRecord+ UsageRecord (..),+ newUsageRecord,+ usageRecord_accountId,+ usageRecord_automatedDiscoveryFreeTrialStartDate,+ usageRecord_freeTrialStartDate,+ usageRecord_usage,++ -- * UsageStatisticsFilter+ UsageStatisticsFilter (..),+ newUsageStatisticsFilter,+ usageStatisticsFilter_comparator,+ usageStatisticsFilter_key,+ usageStatisticsFilter_values,++ -- * UsageStatisticsSortBy+ UsageStatisticsSortBy (..),+ newUsageStatisticsSortBy,+ usageStatisticsSortBy_key,+ usageStatisticsSortBy_orderBy,++ -- * UsageTotal+ UsageTotal (..),+ newUsageTotal,+ usageTotal_currency,+ usageTotal_estimatedCost,+ usageTotal_type,++ -- * UserIdentity+ UserIdentity (..),+ newUserIdentity,+ userIdentity_assumedRole,+ userIdentity_awsAccount,+ userIdentity_awsService,+ userIdentity_federatedUser,+ userIdentity_iamUser,+ userIdentity_root,+ userIdentity_type,++ -- * UserIdentityRoot+ UserIdentityRoot (..),+ newUserIdentityRoot,+ userIdentityRoot_accountId,+ userIdentityRoot_arn,+ userIdentityRoot_principalId,++ -- * UserPausedDetails+ UserPausedDetails (..),+ newUserPausedDetails,+ userPausedDetails_jobExpiresAt,+ userPausedDetails_jobImminentExpirationHealthEventArn,+ userPausedDetails_jobPausedAt,++ -- * WeeklySchedule+ WeeklySchedule (..),+ newWeeklySchedule,+ weeklySchedule_dayOfWeek,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.MacieV2.Types.AccessControlList+import Amazonka.MacieV2.Types.AccountDetail+import Amazonka.MacieV2.Types.AccountLevelPermissions+import Amazonka.MacieV2.Types.AdminAccount+import Amazonka.MacieV2.Types.AdminStatus+import Amazonka.MacieV2.Types.AllowListCriteria+import Amazonka.MacieV2.Types.AllowListStatus+import Amazonka.MacieV2.Types.AllowListStatusCode+import Amazonka.MacieV2.Types.AllowListSummary+import Amazonka.MacieV2.Types.AllowsUnencryptedObjectUploads+import Amazonka.MacieV2.Types.ApiCallDetails+import Amazonka.MacieV2.Types.AssumedRole+import Amazonka.MacieV2.Types.AutomatedDiscoveryStatus+import Amazonka.MacieV2.Types.AvailabilityCode+import Amazonka.MacieV2.Types.AwsAccount+import Amazonka.MacieV2.Types.AwsService+import Amazonka.MacieV2.Types.BatchGetCustomDataIdentifierSummary+import Amazonka.MacieV2.Types.BlockPublicAccess+import Amazonka.MacieV2.Types.BucketCountByEffectivePermission+import Amazonka.MacieV2.Types.BucketCountByEncryptionType+import Amazonka.MacieV2.Types.BucketCountBySharedAccessType+import Amazonka.MacieV2.Types.BucketCountPolicyAllowsUnencryptedObjectUploads+import Amazonka.MacieV2.Types.BucketCriteriaAdditionalProperties+import Amazonka.MacieV2.Types.BucketLevelPermissions+import Amazonka.MacieV2.Types.BucketMetadata+import Amazonka.MacieV2.Types.BucketMetadataErrorCode+import Amazonka.MacieV2.Types.BucketPermissionConfiguration+import Amazonka.MacieV2.Types.BucketPolicy+import Amazonka.MacieV2.Types.BucketPublicAccess+import Amazonka.MacieV2.Types.BucketServerSideEncryption+import Amazonka.MacieV2.Types.BucketSortCriteria+import Amazonka.MacieV2.Types.BucketStatisticsBySensitivity+import Amazonka.MacieV2.Types.Cell+import Amazonka.MacieV2.Types.ClassificationDetails+import Amazonka.MacieV2.Types.ClassificationExportConfiguration+import Amazonka.MacieV2.Types.ClassificationResult+import Amazonka.MacieV2.Types.ClassificationResultStatus+import Amazonka.MacieV2.Types.ClassificationScopeSummary+import Amazonka.MacieV2.Types.ClassificationScopeUpdateOperation+import Amazonka.MacieV2.Types.CriteriaBlockForJob+import Amazonka.MacieV2.Types.CriteriaForJob+import Amazonka.MacieV2.Types.CriterionAdditionalProperties+import Amazonka.MacieV2.Types.Currency+import Amazonka.MacieV2.Types.CustomDataIdentifierSummary+import Amazonka.MacieV2.Types.CustomDataIdentifiers+import Amazonka.MacieV2.Types.CustomDetection+import Amazonka.MacieV2.Types.DailySchedule+import Amazonka.MacieV2.Types.DataIdentifierSeverity+import Amazonka.MacieV2.Types.DataIdentifierType+import Amazonka.MacieV2.Types.DayOfWeek+import Amazonka.MacieV2.Types.DefaultDetection+import Amazonka.MacieV2.Types.DetectedDataDetails+import Amazonka.MacieV2.Types.Detection+import Amazonka.MacieV2.Types.DomainDetails+import Amazonka.MacieV2.Types.EffectivePermission+import Amazonka.MacieV2.Types.EncryptionType+import Amazonka.MacieV2.Types.ErrorCode+import Amazonka.MacieV2.Types.FederatedUser+import Amazonka.MacieV2.Types.Finding+import Amazonka.MacieV2.Types.FindingAction+import Amazonka.MacieV2.Types.FindingActionType+import Amazonka.MacieV2.Types.FindingActor+import Amazonka.MacieV2.Types.FindingCategory+import Amazonka.MacieV2.Types.FindingCriteria+import Amazonka.MacieV2.Types.FindingPublishingFrequency+import Amazonka.MacieV2.Types.FindingStatisticsSortAttributeName+import Amazonka.MacieV2.Types.FindingStatisticsSortCriteria+import Amazonka.MacieV2.Types.FindingType+import Amazonka.MacieV2.Types.FindingsFilterAction+import Amazonka.MacieV2.Types.FindingsFilterListItem+import Amazonka.MacieV2.Types.GroupBy+import Amazonka.MacieV2.Types.GroupCount+import Amazonka.MacieV2.Types.IamUser+import Amazonka.MacieV2.Types.Invitation+import Amazonka.MacieV2.Types.IpAddressDetails+import Amazonka.MacieV2.Types.IpCity+import Amazonka.MacieV2.Types.IpCountry+import Amazonka.MacieV2.Types.IpGeoLocation+import Amazonka.MacieV2.Types.IpOwner+import Amazonka.MacieV2.Types.IsDefinedInJob+import Amazonka.MacieV2.Types.IsMonitoredByJob+import Amazonka.MacieV2.Types.JobComparator+import Amazonka.MacieV2.Types.JobDetails+import Amazonka.MacieV2.Types.JobScheduleFrequency+import Amazonka.MacieV2.Types.JobScopeTerm+import Amazonka.MacieV2.Types.JobScopingBlock+import Amazonka.MacieV2.Types.JobStatus+import Amazonka.MacieV2.Types.JobSummary+import Amazonka.MacieV2.Types.JobType+import Amazonka.MacieV2.Types.KeyValuePair+import Amazonka.MacieV2.Types.LastRunErrorStatus+import Amazonka.MacieV2.Types.LastRunErrorStatusCode+import Amazonka.MacieV2.Types.ListJobsFilterCriteria+import Amazonka.MacieV2.Types.ListJobsFilterKey+import Amazonka.MacieV2.Types.ListJobsFilterTerm+import Amazonka.MacieV2.Types.ListJobsSortAttributeName+import Amazonka.MacieV2.Types.ListJobsSortCriteria+import Amazonka.MacieV2.Types.MacieStatus+import Amazonka.MacieV2.Types.ManagedDataIdentifierSelector+import Amazonka.MacieV2.Types.ManagedDataIdentifierSummary+import Amazonka.MacieV2.Types.MatchingBucket+import Amazonka.MacieV2.Types.MatchingResource+import Amazonka.MacieV2.Types.Member+import Amazonka.MacieV2.Types.MonthlySchedule+import Amazonka.MacieV2.Types.ObjectCountByEncryptionType+import Amazonka.MacieV2.Types.ObjectLevelStatistics+import Amazonka.MacieV2.Types.Occurrences+import Amazonka.MacieV2.Types.OrderBy+import Amazonka.MacieV2.Types.OriginType+import Amazonka.MacieV2.Types.Page+import Amazonka.MacieV2.Types.PolicyDetails+import Amazonka.MacieV2.Types.Range+import Amazonka.MacieV2.Types.Record+import Amazonka.MacieV2.Types.RelationshipStatus+import Amazonka.MacieV2.Types.ReplicationDetails+import Amazonka.MacieV2.Types.ResourceProfileArtifact+import Amazonka.MacieV2.Types.ResourceStatistics+import Amazonka.MacieV2.Types.ResourcesAffected+import Amazonka.MacieV2.Types.RevealConfiguration+import Amazonka.MacieV2.Types.RevealRequestStatus+import Amazonka.MacieV2.Types.RevealStatus+import Amazonka.MacieV2.Types.S3Bucket+import Amazonka.MacieV2.Types.S3BucketCriteriaForJob+import Amazonka.MacieV2.Types.S3BucketDefinitionForJob+import Amazonka.MacieV2.Types.S3BucketOwner+import Amazonka.MacieV2.Types.S3ClassificationScope+import Amazonka.MacieV2.Types.S3ClassificationScopeExclusion+import Amazonka.MacieV2.Types.S3ClassificationScopeExclusionUpdate+import Amazonka.MacieV2.Types.S3ClassificationScopeUpdate+import Amazonka.MacieV2.Types.S3Destination+import Amazonka.MacieV2.Types.S3JobDefinition+import Amazonka.MacieV2.Types.S3Object+import Amazonka.MacieV2.Types.S3WordsList+import Amazonka.MacieV2.Types.ScopeFilterKey+import Amazonka.MacieV2.Types.Scoping+import Amazonka.MacieV2.Types.SearchResourcesBucketCriteria+import Amazonka.MacieV2.Types.SearchResourcesComparator+import Amazonka.MacieV2.Types.SearchResourcesCriteria+import Amazonka.MacieV2.Types.SearchResourcesCriteriaBlock+import Amazonka.MacieV2.Types.SearchResourcesSimpleCriterion+import Amazonka.MacieV2.Types.SearchResourcesSimpleCriterionKey+import Amazonka.MacieV2.Types.SearchResourcesSortAttributeName+import Amazonka.MacieV2.Types.SearchResourcesSortCriteria+import Amazonka.MacieV2.Types.SearchResourcesTagCriterion+import Amazonka.MacieV2.Types.SearchResourcesTagCriterionPair+import Amazonka.MacieV2.Types.SecurityHubConfiguration+import Amazonka.MacieV2.Types.SensitiveDataItem+import Amazonka.MacieV2.Types.SensitiveDataItemCategory+import Amazonka.MacieV2.Types.SensitivityAggregations+import Amazonka.MacieV2.Types.SensitivityInspectionTemplateExcludes+import Amazonka.MacieV2.Types.SensitivityInspectionTemplateIncludes+import Amazonka.MacieV2.Types.SensitivityInspectionTemplatesEntry+import Amazonka.MacieV2.Types.ServerSideEncryption+import Amazonka.MacieV2.Types.ServiceLimit+import Amazonka.MacieV2.Types.SessionContext+import Amazonka.MacieV2.Types.SessionContextAttributes+import Amazonka.MacieV2.Types.SessionIssuer+import Amazonka.MacieV2.Types.Severity+import Amazonka.MacieV2.Types.SeverityDescription+import Amazonka.MacieV2.Types.SeverityLevel+import Amazonka.MacieV2.Types.SharedAccess+import Amazonka.MacieV2.Types.SimpleCriterionForJob+import Amazonka.MacieV2.Types.SimpleCriterionKeyForJob+import Amazonka.MacieV2.Types.SimpleScopeTerm+import Amazonka.MacieV2.Types.SortCriteria+import Amazonka.MacieV2.Types.Statistics+import Amazonka.MacieV2.Types.StorageClass+import Amazonka.MacieV2.Types.SuppressDataIdentifier+import Amazonka.MacieV2.Types.TagCriterionForJob+import Amazonka.MacieV2.Types.TagCriterionPairForJob+import Amazonka.MacieV2.Types.TagScopeTerm+import Amazonka.MacieV2.Types.TagTarget+import Amazonka.MacieV2.Types.TagValuePair+import Amazonka.MacieV2.Types.TimeRange+import Amazonka.MacieV2.Types.Type+import Amazonka.MacieV2.Types.UnavailabilityReasonCode+import Amazonka.MacieV2.Types.Unit+import Amazonka.MacieV2.Types.UnprocessedAccount+import Amazonka.MacieV2.Types.UsageByAccount+import Amazonka.MacieV2.Types.UsageRecord+import Amazonka.MacieV2.Types.UsageStatisticsFilter+import Amazonka.MacieV2.Types.UsageStatisticsFilterComparator+import Amazonka.MacieV2.Types.UsageStatisticsFilterKey+import Amazonka.MacieV2.Types.UsageStatisticsSortBy+import Amazonka.MacieV2.Types.UsageStatisticsSortKey+import Amazonka.MacieV2.Types.UsageTotal+import Amazonka.MacieV2.Types.UsageType+import Amazonka.MacieV2.Types.UserIdentity+import Amazonka.MacieV2.Types.UserIdentityRoot+import Amazonka.MacieV2.Types.UserIdentityType+import Amazonka.MacieV2.Types.UserPausedDetails+import Amazonka.MacieV2.Types.WeeklySchedule+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2020-01-01@ of the Amazon Macie 2 SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "MacieV2",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "macie2",+ Core.signingName = "macie2",+ Core.version = "2020-01-01",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "MacieV2",+ 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++-- | Provides information about an error that occurred due to insufficient+-- access to a specified resource.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+ Core._MatchServiceError+ defaultService+ "AccessDeniedException"+ Prelude.. Core.hasStatus 403++-- | Provides information about an error that occurred due to a versioning+-- conflict for a specified resource.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+ Core._MatchServiceError+ defaultService+ "ConflictException"+ Prelude.. Core.hasStatus 409++-- | Provides information about an error that occurred due to an unknown+-- internal server error, exception, or failure.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+ Core._MatchServiceError+ defaultService+ "InternalServerException"+ Prelude.. Core.hasStatus 500++-- | Provides information about an error that occurred because a specified+-- resource wasn\'t found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+ Core._MatchServiceError+ defaultService+ "ResourceNotFoundException"+ Prelude.. Core.hasStatus 404++-- | Provides information about an error that occurred due to one or more+-- service quotas for an account.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+ Core._MatchServiceError+ defaultService+ "ServiceQuotaExceededException"+ Prelude.. Core.hasStatus 402++-- | Provides information about an error that occurred because too many+-- requests were sent during a certain amount of time.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+ Core._MatchServiceError+ defaultService+ "ThrottlingException"+ Prelude.. Core.hasStatus 429++-- | Provides information about an error that occurred due to an+-- unprocessable entity.+_UnprocessableEntityException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnprocessableEntityException =+ Core._MatchServiceError+ defaultService+ "UnprocessableEntityException"+ Prelude.. Core.hasStatus 422++-- | Provides information about an error that occurred due to a syntax error+-- in a request.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+ Core._MatchServiceError+ defaultService+ "ValidationException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/MacieV2/Types/AccessControlList.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.Types.AccessControlList+-- 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.MacieV2.Types.AccessControlList 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++-- | Provides information about the permissions settings of the bucket-level+-- access control list (ACL) for an S3 bucket.+--+-- /See:/ 'newAccessControlList' smart constructor.+data AccessControlList = AccessControlList'+ { -- | Specifies whether the ACL grants the general public with read access+ -- permissions for the bucket.+ allowsPublicReadAccess :: Prelude.Maybe Prelude.Bool,+ -- | Specifies whether the ACL grants the general public with write access+ -- permissions for the bucket.+ allowsPublicWriteAccess :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccessControlList' 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:+--+-- 'allowsPublicReadAccess', 'accessControlList_allowsPublicReadAccess' - Specifies whether the ACL grants the general public with read access+-- permissions for the bucket.+--+-- 'allowsPublicWriteAccess', 'accessControlList_allowsPublicWriteAccess' - Specifies whether the ACL grants the general public with write access+-- permissions for the bucket.+newAccessControlList ::+ AccessControlList+newAccessControlList =+ AccessControlList'+ { allowsPublicReadAccess =+ Prelude.Nothing,+ allowsPublicWriteAccess = Prelude.Nothing+ }++-- | Specifies whether the ACL grants the general public with read access+-- permissions for the bucket.+accessControlList_allowsPublicReadAccess :: Lens.Lens' AccessControlList (Prelude.Maybe Prelude.Bool)+accessControlList_allowsPublicReadAccess = Lens.lens (\AccessControlList' {allowsPublicReadAccess} -> allowsPublicReadAccess) (\s@AccessControlList' {} a -> s {allowsPublicReadAccess = a} :: AccessControlList)++-- | Specifies whether the ACL grants the general public with write access+-- permissions for the bucket.+accessControlList_allowsPublicWriteAccess :: Lens.Lens' AccessControlList (Prelude.Maybe Prelude.Bool)+accessControlList_allowsPublicWriteAccess = Lens.lens (\AccessControlList' {allowsPublicWriteAccess} -> allowsPublicWriteAccess) (\s@AccessControlList' {} a -> s {allowsPublicWriteAccess = a} :: AccessControlList)++instance Data.FromJSON AccessControlList where+ parseJSON =+ Data.withObject+ "AccessControlList"+ ( \x ->+ AccessControlList'+ Prelude.<$> (x Data..:? "allowsPublicReadAccess")+ Prelude.<*> (x Data..:? "allowsPublicWriteAccess")+ )++instance Prelude.Hashable AccessControlList where+ hashWithSalt _salt AccessControlList' {..} =+ _salt+ `Prelude.hashWithSalt` allowsPublicReadAccess+ `Prelude.hashWithSalt` allowsPublicWriteAccess++instance Prelude.NFData AccessControlList where+ rnf AccessControlList' {..} =+ Prelude.rnf allowsPublicReadAccess+ `Prelude.seq` Prelude.rnf allowsPublicWriteAccess
+ gen/Amazonka/MacieV2/Types/AccountDetail.hs view
@@ -0,0 +1,88 @@+{-# 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.MacieV2.Types.AccountDetail+-- 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.MacieV2.Types.AccountDetail 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++-- | Specifies the details of an account to associate with an Amazon Macie+-- administrator account.+--+-- /See:/ 'newAccountDetail' smart constructor.+data AccountDetail = AccountDetail'+ { -- | The email address for the account.+ email :: Prelude.Text,+ -- | The Amazon Web Services account ID for the account.+ accountId :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccountDetail' 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:+--+-- 'email', 'accountDetail_email' - The email address for the account.+--+-- 'accountId', 'accountDetail_accountId' - The Amazon Web Services account ID for the account.+newAccountDetail ::+ -- | 'email'+ Prelude.Text ->+ -- | 'accountId'+ Prelude.Text ->+ AccountDetail+newAccountDetail pEmail_ pAccountId_ =+ AccountDetail'+ { email = pEmail_,+ accountId = pAccountId_+ }++-- | The email address for the account.+accountDetail_email :: Lens.Lens' AccountDetail Prelude.Text+accountDetail_email = Lens.lens (\AccountDetail' {email} -> email) (\s@AccountDetail' {} a -> s {email = a} :: AccountDetail)++-- | The Amazon Web Services account ID for the account.+accountDetail_accountId :: Lens.Lens' AccountDetail Prelude.Text+accountDetail_accountId = Lens.lens (\AccountDetail' {accountId} -> accountId) (\s@AccountDetail' {} a -> s {accountId = a} :: AccountDetail)++instance Prelude.Hashable AccountDetail where+ hashWithSalt _salt AccountDetail' {..} =+ _salt+ `Prelude.hashWithSalt` email+ `Prelude.hashWithSalt` accountId++instance Prelude.NFData AccountDetail where+ rnf AccountDetail' {..} =+ Prelude.rnf email+ `Prelude.seq` Prelude.rnf accountId++instance Data.ToJSON AccountDetail where+ toJSON AccountDetail' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("email" Data..= email),+ Prelude.Just ("accountId" Data..= accountId)+ ]+ )
+ gen/Amazonka/MacieV2/Types/AccountLevelPermissions.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.MacieV2.Types.AccountLevelPermissions+-- 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.MacieV2.Types.AccountLevelPermissions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.BlockPublicAccess+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the account-level permissions settings that+-- apply to an S3 bucket.+--+-- /See:/ 'newAccountLevelPermissions' smart constructor.+data AccountLevelPermissions = AccountLevelPermissions'+ { -- | The block public access settings for the Amazon Web Services account+ -- that owns the bucket.+ blockPublicAccess :: Prelude.Maybe BlockPublicAccess+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccountLevelPermissions' 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:+--+-- 'blockPublicAccess', 'accountLevelPermissions_blockPublicAccess' - The block public access settings for the Amazon Web Services account+-- that owns the bucket.+newAccountLevelPermissions ::+ AccountLevelPermissions+newAccountLevelPermissions =+ AccountLevelPermissions'+ { blockPublicAccess =+ Prelude.Nothing+ }++-- | The block public access settings for the Amazon Web Services account+-- that owns the bucket.+accountLevelPermissions_blockPublicAccess :: Lens.Lens' AccountLevelPermissions (Prelude.Maybe BlockPublicAccess)+accountLevelPermissions_blockPublicAccess = Lens.lens (\AccountLevelPermissions' {blockPublicAccess} -> blockPublicAccess) (\s@AccountLevelPermissions' {} a -> s {blockPublicAccess = a} :: AccountLevelPermissions)++instance Data.FromJSON AccountLevelPermissions where+ parseJSON =+ Data.withObject+ "AccountLevelPermissions"+ ( \x ->+ AccountLevelPermissions'+ Prelude.<$> (x Data..:? "blockPublicAccess")+ )++instance Prelude.Hashable AccountLevelPermissions where+ hashWithSalt _salt AccountLevelPermissions' {..} =+ _salt `Prelude.hashWithSalt` blockPublicAccess++instance Prelude.NFData AccountLevelPermissions where+ rnf AccountLevelPermissions' {..} =+ Prelude.rnf blockPublicAccess
+ gen/Amazonka/MacieV2/Types/AdminAccount.hs view
@@ -0,0 +1,89 @@+{-# 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.MacieV2.Types.AdminAccount+-- 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.MacieV2.Types.AdminAccount where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.AdminStatus+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the delegated Amazon Macie administrator+-- account for an organization in Organizations.+--+-- /See:/ 'newAdminAccount' smart constructor.+data AdminAccount = AdminAccount'+ { -- | The Amazon Web Services account ID for the account.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The current status of the account as the delegated Amazon Macie+ -- administrator account for the organization.+ status :: Prelude.Maybe AdminStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AdminAccount' 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:+--+-- 'accountId', 'adminAccount_accountId' - The Amazon Web Services account ID for the account.+--+-- 'status', 'adminAccount_status' - The current status of the account as the delegated Amazon Macie+-- administrator account for the organization.+newAdminAccount ::+ AdminAccount+newAdminAccount =+ AdminAccount'+ { accountId = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | The Amazon Web Services account ID for the account.+adminAccount_accountId :: Lens.Lens' AdminAccount (Prelude.Maybe Prelude.Text)+adminAccount_accountId = Lens.lens (\AdminAccount' {accountId} -> accountId) (\s@AdminAccount' {} a -> s {accountId = a} :: AdminAccount)++-- | The current status of the account as the delegated Amazon Macie+-- administrator account for the organization.+adminAccount_status :: Lens.Lens' AdminAccount (Prelude.Maybe AdminStatus)+adminAccount_status = Lens.lens (\AdminAccount' {status} -> status) (\s@AdminAccount' {} a -> s {status = a} :: AdminAccount)++instance Data.FromJSON AdminAccount where+ parseJSON =+ Data.withObject+ "AdminAccount"+ ( \x ->+ AdminAccount'+ Prelude.<$> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable AdminAccount where+ hashWithSalt _salt AdminAccount' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` status++instance Prelude.NFData AdminAccount where+ rnf AdminAccount' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/MacieV2/Types/AdminStatus.hs view
@@ -0,0 +1,74 @@+{-# 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.MacieV2.Types.AdminStatus+-- 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.MacieV2.Types.AdminStatus+ ( AdminStatus+ ( ..,+ AdminStatus_DISABLING_IN_PROGRESS,+ AdminStatus_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The current status of an account as the delegated Amazon Macie+-- administrator account for an organization in Organizations. Possible+-- values are:+newtype AdminStatus = AdminStatus'+ { fromAdminStatus ::+ 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 AdminStatus_DISABLING_IN_PROGRESS :: AdminStatus+pattern AdminStatus_DISABLING_IN_PROGRESS = AdminStatus' "DISABLING_IN_PROGRESS"++pattern AdminStatus_ENABLED :: AdminStatus+pattern AdminStatus_ENABLED = AdminStatus' "ENABLED"++{-# COMPLETE+ AdminStatus_DISABLING_IN_PROGRESS,+ AdminStatus_ENABLED,+ AdminStatus'+ #-}
+ gen/Amazonka/MacieV2/Types/AllowListCriteria.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.MacieV2.Types.AllowListCriteria+-- 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.MacieV2.Types.AllowListCriteria where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.S3WordsList+import qualified Amazonka.Prelude as Prelude++-- | Specifies the criteria for an allow list. The criteria must specify a+-- regular expression (regex) or an S3 object (s3WordsList). It can\'t+-- specify both.+--+-- /See:/ 'newAllowListCriteria' smart constructor.+data AllowListCriteria = AllowListCriteria'+ { -- | The regular expression (/regex/) that defines the text pattern to+ -- ignore. The expression can contain as many as 512 characters.+ regex :: Prelude.Maybe Prelude.Text,+ -- | The location and name of the S3 object that lists specific text to+ -- ignore.+ s3WordsList :: Prelude.Maybe S3WordsList+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AllowListCriteria' 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:+--+-- 'regex', 'allowListCriteria_regex' - The regular expression (/regex/) that defines the text pattern to+-- ignore. The expression can contain as many as 512 characters.+--+-- 's3WordsList', 'allowListCriteria_s3WordsList' - The location and name of the S3 object that lists specific text to+-- ignore.+newAllowListCriteria ::+ AllowListCriteria+newAllowListCriteria =+ AllowListCriteria'+ { regex = Prelude.Nothing,+ s3WordsList = Prelude.Nothing+ }++-- | The regular expression (/regex/) that defines the text pattern to+-- ignore. The expression can contain as many as 512 characters.+allowListCriteria_regex :: Lens.Lens' AllowListCriteria (Prelude.Maybe Prelude.Text)+allowListCriteria_regex = Lens.lens (\AllowListCriteria' {regex} -> regex) (\s@AllowListCriteria' {} a -> s {regex = a} :: AllowListCriteria)++-- | The location and name of the S3 object that lists specific text to+-- ignore.+allowListCriteria_s3WordsList :: Lens.Lens' AllowListCriteria (Prelude.Maybe S3WordsList)+allowListCriteria_s3WordsList = Lens.lens (\AllowListCriteria' {s3WordsList} -> s3WordsList) (\s@AllowListCriteria' {} a -> s {s3WordsList = a} :: AllowListCriteria)++instance Data.FromJSON AllowListCriteria where+ parseJSON =+ Data.withObject+ "AllowListCriteria"+ ( \x ->+ AllowListCriteria'+ Prelude.<$> (x Data..:? "regex")+ Prelude.<*> (x Data..:? "s3WordsList")+ )++instance Prelude.Hashable AllowListCriteria where+ hashWithSalt _salt AllowListCriteria' {..} =+ _salt+ `Prelude.hashWithSalt` regex+ `Prelude.hashWithSalt` s3WordsList++instance Prelude.NFData AllowListCriteria where+ rnf AllowListCriteria' {..} =+ Prelude.rnf regex+ `Prelude.seq` Prelude.rnf s3WordsList++instance Data.ToJSON AllowListCriteria where+ toJSON AllowListCriteria' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("regex" Data..=) Prelude.<$> regex,+ ("s3WordsList" Data..=) Prelude.<$> s3WordsList+ ]+ )
+ gen/Amazonka/MacieV2/Types/AllowListStatus.hs view
@@ -0,0 +1,229 @@+{-# 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.MacieV2.Types.AllowListStatus+-- 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.MacieV2.Types.AllowListStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.AllowListStatusCode+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the current status of an allow list, which+-- indicates whether Amazon Macie can access and use the list\'s criteria.+--+-- /See:/ 'newAllowListStatus' smart constructor.+data AllowListStatus = AllowListStatus'+ { -- | A brief description of the status of the allow list. Amazon Macie uses+ -- this value to provide additional information about an error that+ -- occurred when Macie tried to access and use the list\'s criteria.+ description :: Prelude.Maybe Prelude.Text,+ -- | The current status of the allow list. If the list\'s criteria specify a+ -- regular expression (regex), this value is typically OK. Amazon Macie can+ -- compile the expression.+ --+ -- If the list\'s criteria specify an S3 object, possible values are:+ --+ -- - OK - Macie can retrieve and parse the contents of the object.+ --+ -- - S3_OBJECT_ACCESS_DENIED - Macie isn\'t allowed to access the object+ -- or the object is encrypted with a customer managed KMS key that+ -- Macie isn\'t allowed to use. Check the bucket policy and other+ -- permissions settings for the bucket and the object. If the object is+ -- encrypted, also ensure that it\'s encrypted with a key that Macie is+ -- allowed to use.+ --+ -- - S3_OBJECT_EMPTY - Macie can retrieve the object but the object+ -- doesn\'t contain any content. Ensure that the object contains the+ -- correct entries. Also ensure that the list\'s criteria specify the+ -- correct bucket and object names.+ --+ -- - S3_OBJECT_NOT_FOUND - The object doesn\'t exist in Amazon S3. Ensure+ -- that the list\'s criteria specify the correct bucket and object+ -- names.+ --+ -- - S3_OBJECT_OVERSIZE - Macie can retrieve the object. However, the+ -- object contains too many entries or its storage size exceeds the+ -- quota for an allow list. Try breaking the list into multiple files+ -- and ensure that each file doesn\'t exceed any quotas. Then configure+ -- list settings in Macie for each file.+ --+ -- - S3_THROTTLED - Amazon S3 throttled the request to retrieve the+ -- object. Wait a few minutes and then try again.+ --+ -- - S3_USER_ACCESS_DENIED - Amazon S3 denied the request to retrieve the+ -- object. If the specified object exists, you\'re not allowed to+ -- access it or it\'s encrypted with an KMS key that you\'re not+ -- allowed to use. Work with your Amazon Web Services administrator to+ -- ensure that the list\'s criteria specify the correct bucket and+ -- object names, and you have read access to the bucket and the object.+ -- If the object is encrypted, also ensure that it\'s encrypted with a+ -- key that you\'re allowed to use.+ --+ -- - UNKNOWN_ERROR - A transient or internal error occurred when Macie+ -- attempted to retrieve or parse the object. Wait a few minutes and+ -- then try again. A list can also have this status if it\'s encrypted+ -- with a key that Amazon S3 and Macie can\'t access or use.+ code :: AllowListStatusCode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AllowListStatus' 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', 'allowListStatus_description' - A brief description of the status of the allow list. Amazon Macie uses+-- this value to provide additional information about an error that+-- occurred when Macie tried to access and use the list\'s criteria.+--+-- 'code', 'allowListStatus_code' - The current status of the allow list. If the list\'s criteria specify a+-- regular expression (regex), this value is typically OK. Amazon Macie can+-- compile the expression.+--+-- If the list\'s criteria specify an S3 object, possible values are:+--+-- - OK - Macie can retrieve and parse the contents of the object.+--+-- - S3_OBJECT_ACCESS_DENIED - Macie isn\'t allowed to access the object+-- or the object is encrypted with a customer managed KMS key that+-- Macie isn\'t allowed to use. Check the bucket policy and other+-- permissions settings for the bucket and the object. If the object is+-- encrypted, also ensure that it\'s encrypted with a key that Macie is+-- allowed to use.+--+-- - S3_OBJECT_EMPTY - Macie can retrieve the object but the object+-- doesn\'t contain any content. Ensure that the object contains the+-- correct entries. Also ensure that the list\'s criteria specify the+-- correct bucket and object names.+--+-- - S3_OBJECT_NOT_FOUND - The object doesn\'t exist in Amazon S3. Ensure+-- that the list\'s criteria specify the correct bucket and object+-- names.+--+-- - S3_OBJECT_OVERSIZE - Macie can retrieve the object. However, the+-- object contains too many entries or its storage size exceeds the+-- quota for an allow list. Try breaking the list into multiple files+-- and ensure that each file doesn\'t exceed any quotas. Then configure+-- list settings in Macie for each file.+--+-- - S3_THROTTLED - Amazon S3 throttled the request to retrieve the+-- object. Wait a few minutes and then try again.+--+-- - S3_USER_ACCESS_DENIED - Amazon S3 denied the request to retrieve the+-- object. If the specified object exists, you\'re not allowed to+-- access it or it\'s encrypted with an KMS key that you\'re not+-- allowed to use. Work with your Amazon Web Services administrator to+-- ensure that the list\'s criteria specify the correct bucket and+-- object names, and you have read access to the bucket and the object.+-- If the object is encrypted, also ensure that it\'s encrypted with a+-- key that you\'re allowed to use.+--+-- - UNKNOWN_ERROR - A transient or internal error occurred when Macie+-- attempted to retrieve or parse the object. Wait a few minutes and+-- then try again. A list can also have this status if it\'s encrypted+-- with a key that Amazon S3 and Macie can\'t access or use.+newAllowListStatus ::+ -- | 'code'+ AllowListStatusCode ->+ AllowListStatus+newAllowListStatus pCode_ =+ AllowListStatus'+ { description = Prelude.Nothing,+ code = pCode_+ }++-- | A brief description of the status of the allow list. Amazon Macie uses+-- this value to provide additional information about an error that+-- occurred when Macie tried to access and use the list\'s criteria.+allowListStatus_description :: Lens.Lens' AllowListStatus (Prelude.Maybe Prelude.Text)+allowListStatus_description = Lens.lens (\AllowListStatus' {description} -> description) (\s@AllowListStatus' {} a -> s {description = a} :: AllowListStatus)++-- | The current status of the allow list. If the list\'s criteria specify a+-- regular expression (regex), this value is typically OK. Amazon Macie can+-- compile the expression.+--+-- If the list\'s criteria specify an S3 object, possible values are:+--+-- - OK - Macie can retrieve and parse the contents of the object.+--+-- - S3_OBJECT_ACCESS_DENIED - Macie isn\'t allowed to access the object+-- or the object is encrypted with a customer managed KMS key that+-- Macie isn\'t allowed to use. Check the bucket policy and other+-- permissions settings for the bucket and the object. If the object is+-- encrypted, also ensure that it\'s encrypted with a key that Macie is+-- allowed to use.+--+-- - S3_OBJECT_EMPTY - Macie can retrieve the object but the object+-- doesn\'t contain any content. Ensure that the object contains the+-- correct entries. Also ensure that the list\'s criteria specify the+-- correct bucket and object names.+--+-- - S3_OBJECT_NOT_FOUND - The object doesn\'t exist in Amazon S3. Ensure+-- that the list\'s criteria specify the correct bucket and object+-- names.+--+-- - S3_OBJECT_OVERSIZE - Macie can retrieve the object. However, the+-- object contains too many entries or its storage size exceeds the+-- quota for an allow list. Try breaking the list into multiple files+-- and ensure that each file doesn\'t exceed any quotas. Then configure+-- list settings in Macie for each file.+--+-- - S3_THROTTLED - Amazon S3 throttled the request to retrieve the+-- object. Wait a few minutes and then try again.+--+-- - S3_USER_ACCESS_DENIED - Amazon S3 denied the request to retrieve the+-- object. If the specified object exists, you\'re not allowed to+-- access it or it\'s encrypted with an KMS key that you\'re not+-- allowed to use. Work with your Amazon Web Services administrator to+-- ensure that the list\'s criteria specify the correct bucket and+-- object names, and you have read access to the bucket and the object.+-- If the object is encrypted, also ensure that it\'s encrypted with a+-- key that you\'re allowed to use.+--+-- - UNKNOWN_ERROR - A transient or internal error occurred when Macie+-- attempted to retrieve or parse the object. Wait a few minutes and+-- then try again. A list can also have this status if it\'s encrypted+-- with a key that Amazon S3 and Macie can\'t access or use.+allowListStatus_code :: Lens.Lens' AllowListStatus AllowListStatusCode+allowListStatus_code = Lens.lens (\AllowListStatus' {code} -> code) (\s@AllowListStatus' {} a -> s {code = a} :: AllowListStatus)++instance Data.FromJSON AllowListStatus where+ parseJSON =+ Data.withObject+ "AllowListStatus"+ ( \x ->+ AllowListStatus'+ Prelude.<$> (x Data..:? "description")+ Prelude.<*> (x Data..: "code")+ )++instance Prelude.Hashable AllowListStatus where+ hashWithSalt _salt AllowListStatus' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` code++instance Prelude.NFData AllowListStatus where+ rnf AllowListStatus' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf code
+ gen/Amazonka/MacieV2/Types/AllowListStatusCode.hs view
@@ -0,0 +1,103 @@+{-# 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.MacieV2.Types.AllowListStatusCode+-- 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.MacieV2.Types.AllowListStatusCode+ ( AllowListStatusCode+ ( ..,+ AllowListStatusCode_OK,+ AllowListStatusCode_S3_OBJECT_ACCESS_DENIED,+ AllowListStatusCode_S3_OBJECT_EMPTY,+ AllowListStatusCode_S3_OBJECT_NOT_FOUND,+ AllowListStatusCode_S3_OBJECT_OVERSIZE,+ AllowListStatusCode_S3_THROTTLED,+ AllowListStatusCode_S3_USER_ACCESS_DENIED,+ AllowListStatusCode_UNKNOWN_ERROR+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Indicates the current status of an allow list. Depending on the type of+-- criteria that the list specifies, possible values are:+newtype AllowListStatusCode = AllowListStatusCode'+ { fromAllowListStatusCode ::+ 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 AllowListStatusCode_OK :: AllowListStatusCode+pattern AllowListStatusCode_OK = AllowListStatusCode' "OK"++pattern AllowListStatusCode_S3_OBJECT_ACCESS_DENIED :: AllowListStatusCode+pattern AllowListStatusCode_S3_OBJECT_ACCESS_DENIED = AllowListStatusCode' "S3_OBJECT_ACCESS_DENIED"++pattern AllowListStatusCode_S3_OBJECT_EMPTY :: AllowListStatusCode+pattern AllowListStatusCode_S3_OBJECT_EMPTY = AllowListStatusCode' "S3_OBJECT_EMPTY"++pattern AllowListStatusCode_S3_OBJECT_NOT_FOUND :: AllowListStatusCode+pattern AllowListStatusCode_S3_OBJECT_NOT_FOUND = AllowListStatusCode' "S3_OBJECT_NOT_FOUND"++pattern AllowListStatusCode_S3_OBJECT_OVERSIZE :: AllowListStatusCode+pattern AllowListStatusCode_S3_OBJECT_OVERSIZE = AllowListStatusCode' "S3_OBJECT_OVERSIZE"++pattern AllowListStatusCode_S3_THROTTLED :: AllowListStatusCode+pattern AllowListStatusCode_S3_THROTTLED = AllowListStatusCode' "S3_THROTTLED"++pattern AllowListStatusCode_S3_USER_ACCESS_DENIED :: AllowListStatusCode+pattern AllowListStatusCode_S3_USER_ACCESS_DENIED = AllowListStatusCode' "S3_USER_ACCESS_DENIED"++pattern AllowListStatusCode_UNKNOWN_ERROR :: AllowListStatusCode+pattern AllowListStatusCode_UNKNOWN_ERROR = AllowListStatusCode' "UNKNOWN_ERROR"++{-# COMPLETE+ AllowListStatusCode_OK,+ AllowListStatusCode_S3_OBJECT_ACCESS_DENIED,+ AllowListStatusCode_S3_OBJECT_EMPTY,+ AllowListStatusCode_S3_OBJECT_NOT_FOUND,+ AllowListStatusCode_S3_OBJECT_OVERSIZE,+ AllowListStatusCode_S3_THROTTLED,+ AllowListStatusCode_S3_USER_ACCESS_DENIED,+ AllowListStatusCode_UNKNOWN_ERROR,+ AllowListStatusCode'+ #-}
+ gen/Amazonka/MacieV2/Types/AllowListSummary.hs view
@@ -0,0 +1,138 @@+{-# 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.MacieV2.Types.AllowListSummary+-- 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.MacieV2.Types.AllowListSummary 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++-- | Provides a subset of information about an allow list.+--+-- /See:/ 'newAllowListSummary' smart constructor.+data AllowListSummary = AllowListSummary'+ { -- | The Amazon Resource Name (ARN) of the allow list.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when the allow+ -- list was created in Amazon Macie.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The custom description of the allow list.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the allow list.+ id :: Prelude.Maybe Prelude.Text,+ -- | The custom name of the allow list.+ name :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when the allow+ -- list\'s settings were most recently changed in Amazon Macie.+ updatedAt :: Prelude.Maybe Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AllowListSummary' 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', 'allowListSummary_arn' - The Amazon Resource Name (ARN) of the allow list.+--+-- 'createdAt', 'allowListSummary_createdAt' - The date and time, in UTC and extended ISO 8601 format, when the allow+-- list was created in Amazon Macie.+--+-- 'description', 'allowListSummary_description' - The custom description of the allow list.+--+-- 'id', 'allowListSummary_id' - The unique identifier for the allow list.+--+-- 'name', 'allowListSummary_name' - The custom name of the allow list.+--+-- 'updatedAt', 'allowListSummary_updatedAt' - The date and time, in UTC and extended ISO 8601 format, when the allow+-- list\'s settings were most recently changed in Amazon Macie.+newAllowListSummary ::+ AllowListSummary+newAllowListSummary =+ AllowListSummary'+ { arn = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ updatedAt = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the allow list.+allowListSummary_arn :: Lens.Lens' AllowListSummary (Prelude.Maybe Prelude.Text)+allowListSummary_arn = Lens.lens (\AllowListSummary' {arn} -> arn) (\s@AllowListSummary' {} a -> s {arn = a} :: AllowListSummary)++-- | The date and time, in UTC and extended ISO 8601 format, when the allow+-- list was created in Amazon Macie.+allowListSummary_createdAt :: Lens.Lens' AllowListSummary (Prelude.Maybe Prelude.UTCTime)+allowListSummary_createdAt = Lens.lens (\AllowListSummary' {createdAt} -> createdAt) (\s@AllowListSummary' {} a -> s {createdAt = a} :: AllowListSummary) Prelude.. Lens.mapping Data._Time++-- | The custom description of the allow list.+allowListSummary_description :: Lens.Lens' AllowListSummary (Prelude.Maybe Prelude.Text)+allowListSummary_description = Lens.lens (\AllowListSummary' {description} -> description) (\s@AllowListSummary' {} a -> s {description = a} :: AllowListSummary)++-- | The unique identifier for the allow list.+allowListSummary_id :: Lens.Lens' AllowListSummary (Prelude.Maybe Prelude.Text)+allowListSummary_id = Lens.lens (\AllowListSummary' {id} -> id) (\s@AllowListSummary' {} a -> s {id = a} :: AllowListSummary)++-- | The custom name of the allow list.+allowListSummary_name :: Lens.Lens' AllowListSummary (Prelude.Maybe Prelude.Text)+allowListSummary_name = Lens.lens (\AllowListSummary' {name} -> name) (\s@AllowListSummary' {} a -> s {name = a} :: AllowListSummary)++-- | The date and time, in UTC and extended ISO 8601 format, when the allow+-- list\'s settings were most recently changed in Amazon Macie.+allowListSummary_updatedAt :: Lens.Lens' AllowListSummary (Prelude.Maybe Prelude.UTCTime)+allowListSummary_updatedAt = Lens.lens (\AllowListSummary' {updatedAt} -> updatedAt) (\s@AllowListSummary' {} a -> s {updatedAt = a} :: AllowListSummary) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON AllowListSummary where+ parseJSON =+ Data.withObject+ "AllowListSummary"+ ( \x ->+ AllowListSummary'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "updatedAt")+ )++instance Prelude.Hashable AllowListSummary where+ hashWithSalt _salt AllowListSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData AllowListSummary where+ rnf AllowListSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/MacieV2/Types/AllowsUnencryptedObjectUploads.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.MacieV2.Types.AllowsUnencryptedObjectUploads+-- 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.MacieV2.Types.AllowsUnencryptedObjectUploads+ ( AllowsUnencryptedObjectUploads+ ( ..,+ AllowsUnencryptedObjectUploads_FALSE,+ AllowsUnencryptedObjectUploads_TRUE,+ AllowsUnencryptedObjectUploads_UNKNOWN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AllowsUnencryptedObjectUploads = AllowsUnencryptedObjectUploads'+ { fromAllowsUnencryptedObjectUploads ::+ 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 AllowsUnencryptedObjectUploads_FALSE :: AllowsUnencryptedObjectUploads+pattern AllowsUnencryptedObjectUploads_FALSE = AllowsUnencryptedObjectUploads' "FALSE"++pattern AllowsUnencryptedObjectUploads_TRUE :: AllowsUnencryptedObjectUploads+pattern AllowsUnencryptedObjectUploads_TRUE = AllowsUnencryptedObjectUploads' "TRUE"++pattern AllowsUnencryptedObjectUploads_UNKNOWN :: AllowsUnencryptedObjectUploads+pattern AllowsUnencryptedObjectUploads_UNKNOWN = AllowsUnencryptedObjectUploads' "UNKNOWN"++{-# COMPLETE+ AllowsUnencryptedObjectUploads_FALSE,+ AllowsUnencryptedObjectUploads_TRUE,+ AllowsUnencryptedObjectUploads_UNKNOWN,+ AllowsUnencryptedObjectUploads'+ #-}
+ gen/Amazonka/MacieV2/Types/ApiCallDetails.hs view
@@ -0,0 +1,121 @@+{-# 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.MacieV2.Types.ApiCallDetails+-- 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.MacieV2.Types.ApiCallDetails 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++-- | Provides information about an API operation that an entity invoked for+-- an affected resource.+--+-- /See:/ 'newApiCallDetails' smart constructor.+data ApiCallDetails = ApiCallDetails'+ { -- | The name of the operation that was invoked most recently and produced+ -- the finding.+ api :: Prelude.Maybe Prelude.Text,+ -- | The URL of the Amazon Web Service that provides the operation, for+ -- example: s3.amazonaws.com.+ apiServiceName :: Prelude.Maybe Prelude.Text,+ -- | The first date and time, in UTC and extended ISO 8601 format, when any+ -- operation was invoked and produced the finding.+ firstSeen :: Prelude.Maybe Data.ISO8601,+ -- | The most recent date and time, in UTC and extended ISO 8601 format, when+ -- the specified operation (api) was invoked and produced the finding.+ lastSeen :: Prelude.Maybe Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApiCallDetails' 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:+--+-- 'api', 'apiCallDetails_api' - The name of the operation that was invoked most recently and produced+-- the finding.+--+-- 'apiServiceName', 'apiCallDetails_apiServiceName' - The URL of the Amazon Web Service that provides the operation, for+-- example: s3.amazonaws.com.+--+-- 'firstSeen', 'apiCallDetails_firstSeen' - The first date and time, in UTC and extended ISO 8601 format, when any+-- operation was invoked and produced the finding.+--+-- 'lastSeen', 'apiCallDetails_lastSeen' - The most recent date and time, in UTC and extended ISO 8601 format, when+-- the specified operation (api) was invoked and produced the finding.+newApiCallDetails ::+ ApiCallDetails+newApiCallDetails =+ ApiCallDetails'+ { api = Prelude.Nothing,+ apiServiceName = Prelude.Nothing,+ firstSeen = Prelude.Nothing,+ lastSeen = Prelude.Nothing+ }++-- | The name of the operation that was invoked most recently and produced+-- the finding.+apiCallDetails_api :: Lens.Lens' ApiCallDetails (Prelude.Maybe Prelude.Text)+apiCallDetails_api = Lens.lens (\ApiCallDetails' {api} -> api) (\s@ApiCallDetails' {} a -> s {api = a} :: ApiCallDetails)++-- | The URL of the Amazon Web Service that provides the operation, for+-- example: s3.amazonaws.com.+apiCallDetails_apiServiceName :: Lens.Lens' ApiCallDetails (Prelude.Maybe Prelude.Text)+apiCallDetails_apiServiceName = Lens.lens (\ApiCallDetails' {apiServiceName} -> apiServiceName) (\s@ApiCallDetails' {} a -> s {apiServiceName = a} :: ApiCallDetails)++-- | The first date and time, in UTC and extended ISO 8601 format, when any+-- operation was invoked and produced the finding.+apiCallDetails_firstSeen :: Lens.Lens' ApiCallDetails (Prelude.Maybe Prelude.UTCTime)+apiCallDetails_firstSeen = Lens.lens (\ApiCallDetails' {firstSeen} -> firstSeen) (\s@ApiCallDetails' {} a -> s {firstSeen = a} :: ApiCallDetails) Prelude.. Lens.mapping Data._Time++-- | The most recent date and time, in UTC and extended ISO 8601 format, when+-- the specified operation (api) was invoked and produced the finding.+apiCallDetails_lastSeen :: Lens.Lens' ApiCallDetails (Prelude.Maybe Prelude.UTCTime)+apiCallDetails_lastSeen = Lens.lens (\ApiCallDetails' {lastSeen} -> lastSeen) (\s@ApiCallDetails' {} a -> s {lastSeen = a} :: ApiCallDetails) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON ApiCallDetails where+ parseJSON =+ Data.withObject+ "ApiCallDetails"+ ( \x ->+ ApiCallDetails'+ Prelude.<$> (x Data..:? "api")+ Prelude.<*> (x Data..:? "apiServiceName")+ Prelude.<*> (x Data..:? "firstSeen")+ Prelude.<*> (x Data..:? "lastSeen")+ )++instance Prelude.Hashable ApiCallDetails where+ hashWithSalt _salt ApiCallDetails' {..} =+ _salt+ `Prelude.hashWithSalt` api+ `Prelude.hashWithSalt` apiServiceName+ `Prelude.hashWithSalt` firstSeen+ `Prelude.hashWithSalt` lastSeen++instance Prelude.NFData ApiCallDetails where+ rnf ApiCallDetails' {..} =+ Prelude.rnf api+ `Prelude.seq` Prelude.rnf apiServiceName+ `Prelude.seq` Prelude.rnf firstSeen+ `Prelude.seq` Prelude.rnf lastSeen
+ gen/Amazonka/MacieV2/Types/AssumedRole.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.MacieV2.Types.AssumedRole+-- 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.MacieV2.Types.AssumedRole where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.SessionContext+import qualified Amazonka.Prelude as Prelude++-- | Provides information about an identity that performed an action on an+-- affected resource by using temporary security credentials. The+-- credentials were obtained using the AssumeRole operation of the Security+-- Token Service (STS) API.+--+-- /See:/ 'newAssumedRole' smart constructor.+data AssumedRole = AssumedRole'+ { -- | The Amazon Web Services access key ID that identifies the credentials.+ accessKeyId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the Amazon Web Services account that owns the+ -- entity that was used to get the credentials.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the entity that was used to get the+ -- credentials.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the entity that was used to get the+ -- credentials.+ principalId :: Prelude.Maybe Prelude.Text,+ -- | The details of the session that was created for the credentials,+ -- including the entity that issued the session.+ sessionContext :: Prelude.Maybe SessionContext+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssumedRole' 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:+--+-- 'accessKeyId', 'assumedRole_accessKeyId' - The Amazon Web Services access key ID that identifies the credentials.+--+-- 'accountId', 'assumedRole_accountId' - The unique identifier for the Amazon Web Services account that owns the+-- entity that was used to get the credentials.+--+-- 'arn', 'assumedRole_arn' - The Amazon Resource Name (ARN) of the entity that was used to get the+-- credentials.+--+-- 'principalId', 'assumedRole_principalId' - The unique identifier for the entity that was used to get the+-- credentials.+--+-- 'sessionContext', 'assumedRole_sessionContext' - The details of the session that was created for the credentials,+-- including the entity that issued the session.+newAssumedRole ::+ AssumedRole+newAssumedRole =+ AssumedRole'+ { accessKeyId = Prelude.Nothing,+ accountId = Prelude.Nothing,+ arn = Prelude.Nothing,+ principalId = Prelude.Nothing,+ sessionContext = Prelude.Nothing+ }++-- | The Amazon Web Services access key ID that identifies the credentials.+assumedRole_accessKeyId :: Lens.Lens' AssumedRole (Prelude.Maybe Prelude.Text)+assumedRole_accessKeyId = Lens.lens (\AssumedRole' {accessKeyId} -> accessKeyId) (\s@AssumedRole' {} a -> s {accessKeyId = a} :: AssumedRole)++-- | The unique identifier for the Amazon Web Services account that owns the+-- entity that was used to get the credentials.+assumedRole_accountId :: Lens.Lens' AssumedRole (Prelude.Maybe Prelude.Text)+assumedRole_accountId = Lens.lens (\AssumedRole' {accountId} -> accountId) (\s@AssumedRole' {} a -> s {accountId = a} :: AssumedRole)++-- | The Amazon Resource Name (ARN) of the entity that was used to get the+-- credentials.+assumedRole_arn :: Lens.Lens' AssumedRole (Prelude.Maybe Prelude.Text)+assumedRole_arn = Lens.lens (\AssumedRole' {arn} -> arn) (\s@AssumedRole' {} a -> s {arn = a} :: AssumedRole)++-- | The unique identifier for the entity that was used to get the+-- credentials.+assumedRole_principalId :: Lens.Lens' AssumedRole (Prelude.Maybe Prelude.Text)+assumedRole_principalId = Lens.lens (\AssumedRole' {principalId} -> principalId) (\s@AssumedRole' {} a -> s {principalId = a} :: AssumedRole)++-- | The details of the session that was created for the credentials,+-- including the entity that issued the session.+assumedRole_sessionContext :: Lens.Lens' AssumedRole (Prelude.Maybe SessionContext)+assumedRole_sessionContext = Lens.lens (\AssumedRole' {sessionContext} -> sessionContext) (\s@AssumedRole' {} a -> s {sessionContext = a} :: AssumedRole)++instance Data.FromJSON AssumedRole where+ parseJSON =+ Data.withObject+ "AssumedRole"+ ( \x ->+ AssumedRole'+ Prelude.<$> (x Data..:? "accessKeyId")+ Prelude.<*> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "principalId")+ Prelude.<*> (x Data..:? "sessionContext")+ )++instance Prelude.Hashable AssumedRole where+ hashWithSalt _salt AssumedRole' {..} =+ _salt+ `Prelude.hashWithSalt` accessKeyId+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` principalId+ `Prelude.hashWithSalt` sessionContext++instance Prelude.NFData AssumedRole where+ rnf AssumedRole' {..} =+ Prelude.rnf accessKeyId+ `Prelude.seq` Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf principalId+ `Prelude.seq` Prelude.rnf sessionContext
+ gen/Amazonka/MacieV2/Types/AutomatedDiscoveryStatus.hs view
@@ -0,0 +1,73 @@+{-# 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.MacieV2.Types.AutomatedDiscoveryStatus+-- 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.MacieV2.Types.AutomatedDiscoveryStatus+ ( AutomatedDiscoveryStatus+ ( ..,+ AutomatedDiscoveryStatus_DISABLED,+ AutomatedDiscoveryStatus_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The status of the automated sensitive data discovery configuration for+-- an Amazon Macie account. Valid values are:+newtype AutomatedDiscoveryStatus = AutomatedDiscoveryStatus'+ { fromAutomatedDiscoveryStatus ::+ 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 AutomatedDiscoveryStatus_DISABLED :: AutomatedDiscoveryStatus+pattern AutomatedDiscoveryStatus_DISABLED = AutomatedDiscoveryStatus' "DISABLED"++pattern AutomatedDiscoveryStatus_ENABLED :: AutomatedDiscoveryStatus+pattern AutomatedDiscoveryStatus_ENABLED = AutomatedDiscoveryStatus' "ENABLED"++{-# COMPLETE+ AutomatedDiscoveryStatus_DISABLED,+ AutomatedDiscoveryStatus_ENABLED,+ AutomatedDiscoveryStatus'+ #-}
+ gen/Amazonka/MacieV2/Types/AvailabilityCode.hs view
@@ -0,0 +1,73 @@+{-# 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.MacieV2.Types.AvailabilityCode+-- 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.MacieV2.Types.AvailabilityCode+ ( AvailabilityCode+ ( ..,+ AvailabilityCode_AVAILABLE,+ AvailabilityCode_UNAVAILABLE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies whether occurrences of sensitive data can be retrieved for a+-- finding. Possible values are:+newtype AvailabilityCode = AvailabilityCode'+ { fromAvailabilityCode ::+ 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 AvailabilityCode_AVAILABLE :: AvailabilityCode+pattern AvailabilityCode_AVAILABLE = AvailabilityCode' "AVAILABLE"++pattern AvailabilityCode_UNAVAILABLE :: AvailabilityCode+pattern AvailabilityCode_UNAVAILABLE = AvailabilityCode' "UNAVAILABLE"++{-# COMPLETE+ AvailabilityCode_AVAILABLE,+ AvailabilityCode_UNAVAILABLE,+ AvailabilityCode'+ #-}
+ gen/Amazonka/MacieV2/Types/AwsAccount.hs view
@@ -0,0 +1,87 @@+{-# 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.MacieV2.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.MacieV2.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++-- | Provides information about an Amazon Web Services account and entity+-- that performed an action on an affected resource. The action was+-- performed using the credentials for an Amazon Web Services account other+-- than your own account.+--+-- /See:/ 'newAwsAccount' smart constructor.+data AwsAccount = AwsAccount'+ { -- | The unique identifier for the Amazon Web Services account.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the entity that performed the action.+ principalId :: 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:+--+-- 'accountId', 'awsAccount_accountId' - The unique identifier for the Amazon Web Services account.+--+-- 'principalId', 'awsAccount_principalId' - The unique identifier for the entity that performed the action.+newAwsAccount ::+ AwsAccount+newAwsAccount =+ AwsAccount'+ { accountId = Prelude.Nothing,+ principalId = Prelude.Nothing+ }++-- | The unique identifier for the Amazon Web Services account.+awsAccount_accountId :: Lens.Lens' AwsAccount (Prelude.Maybe Prelude.Text)+awsAccount_accountId = Lens.lens (\AwsAccount' {accountId} -> accountId) (\s@AwsAccount' {} a -> s {accountId = a} :: AwsAccount)++-- | The unique identifier for the entity that performed the action.+awsAccount_principalId :: Lens.Lens' AwsAccount (Prelude.Maybe Prelude.Text)+awsAccount_principalId = Lens.lens (\AwsAccount' {principalId} -> principalId) (\s@AwsAccount' {} a -> s {principalId = a} :: AwsAccount)++instance Data.FromJSON AwsAccount where+ parseJSON =+ Data.withObject+ "AwsAccount"+ ( \x ->+ AwsAccount'+ Prelude.<$> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "principalId")+ )++instance Prelude.Hashable AwsAccount where+ hashWithSalt _salt AwsAccount' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` principalId++instance Prelude.NFData AwsAccount where+ rnf AwsAccount' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf principalId
+ gen/Amazonka/MacieV2/Types/AwsService.hs view
@@ -0,0 +1,68 @@+{-# 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.MacieV2.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.MacieV2.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++-- | Provides information about an Amazon Web Service that performed an+-- action on an affected resource.+--+-- /See:/ 'newAwsService' smart constructor.+data AwsService = AwsService'+ { -- | The name of the Amazon Web Service that performed the action.+ invokedBy :: 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:+--+-- 'invokedBy', 'awsService_invokedBy' - The name of the Amazon Web Service that performed the action.+newAwsService ::+ AwsService+newAwsService =+ AwsService' {invokedBy = Prelude.Nothing}++-- | The name of the Amazon Web Service that performed the action.+awsService_invokedBy :: Lens.Lens' AwsService (Prelude.Maybe Prelude.Text)+awsService_invokedBy = Lens.lens (\AwsService' {invokedBy} -> invokedBy) (\s@AwsService' {} a -> s {invokedBy = a} :: AwsService)++instance Data.FromJSON AwsService where+ parseJSON =+ Data.withObject+ "AwsService"+ ( \x ->+ AwsService' Prelude.<$> (x Data..:? "invokedBy")+ )++instance Prelude.Hashable AwsService where+ hashWithSalt _salt AwsService' {..} =+ _salt `Prelude.hashWithSalt` invokedBy++instance Prelude.NFData AwsService where+ rnf AwsService' {..} = Prelude.rnf invokedBy
+ gen/Amazonka/MacieV2/Types/BatchGetCustomDataIdentifierSummary.hs view
@@ -0,0 +1,153 @@+{-# 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.MacieV2.Types.BatchGetCustomDataIdentifierSummary+-- 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.MacieV2.Types.BatchGetCustomDataIdentifierSummary 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++-- | Provides information about a custom data identifier.+--+-- /See:/ 'newBatchGetCustomDataIdentifierSummary' smart constructor.+data BatchGetCustomDataIdentifierSummary = BatchGetCustomDataIdentifierSummary'+ { -- | The Amazon Resource Name (ARN) of the custom data identifier.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when the custom+ -- data identifier was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | Specifies whether the custom data identifier was deleted. If you delete+ -- a custom data identifier, Amazon Macie doesn\'t delete it permanently.+ -- Instead, it soft deletes the identifier.+ deleted :: Prelude.Maybe Prelude.Bool,+ -- | The custom description of the custom data identifier.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the custom data identifier.+ id :: Prelude.Maybe Prelude.Text,+ -- | The custom name of the custom data identifier.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BatchGetCustomDataIdentifierSummary' 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', 'batchGetCustomDataIdentifierSummary_arn' - The Amazon Resource Name (ARN) of the custom data identifier.+--+-- 'createdAt', 'batchGetCustomDataIdentifierSummary_createdAt' - The date and time, in UTC and extended ISO 8601 format, when the custom+-- data identifier was created.+--+-- 'deleted', 'batchGetCustomDataIdentifierSummary_deleted' - Specifies whether the custom data identifier was deleted. If you delete+-- a custom data identifier, Amazon Macie doesn\'t delete it permanently.+-- Instead, it soft deletes the identifier.+--+-- 'description', 'batchGetCustomDataIdentifierSummary_description' - The custom description of the custom data identifier.+--+-- 'id', 'batchGetCustomDataIdentifierSummary_id' - The unique identifier for the custom data identifier.+--+-- 'name', 'batchGetCustomDataIdentifierSummary_name' - The custom name of the custom data identifier.+newBatchGetCustomDataIdentifierSummary ::+ BatchGetCustomDataIdentifierSummary+newBatchGetCustomDataIdentifierSummary =+ BatchGetCustomDataIdentifierSummary'+ { arn =+ Prelude.Nothing,+ createdAt = Prelude.Nothing,+ deleted = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the custom data identifier.+batchGetCustomDataIdentifierSummary_arn :: Lens.Lens' BatchGetCustomDataIdentifierSummary (Prelude.Maybe Prelude.Text)+batchGetCustomDataIdentifierSummary_arn = Lens.lens (\BatchGetCustomDataIdentifierSummary' {arn} -> arn) (\s@BatchGetCustomDataIdentifierSummary' {} a -> s {arn = a} :: BatchGetCustomDataIdentifierSummary)++-- | The date and time, in UTC and extended ISO 8601 format, when the custom+-- data identifier was created.+batchGetCustomDataIdentifierSummary_createdAt :: Lens.Lens' BatchGetCustomDataIdentifierSummary (Prelude.Maybe Prelude.UTCTime)+batchGetCustomDataIdentifierSummary_createdAt = Lens.lens (\BatchGetCustomDataIdentifierSummary' {createdAt} -> createdAt) (\s@BatchGetCustomDataIdentifierSummary' {} a -> s {createdAt = a} :: BatchGetCustomDataIdentifierSummary) Prelude.. Lens.mapping Data._Time++-- | Specifies whether the custom data identifier was deleted. If you delete+-- a custom data identifier, Amazon Macie doesn\'t delete it permanently.+-- Instead, it soft deletes the identifier.+batchGetCustomDataIdentifierSummary_deleted :: Lens.Lens' BatchGetCustomDataIdentifierSummary (Prelude.Maybe Prelude.Bool)+batchGetCustomDataIdentifierSummary_deleted = Lens.lens (\BatchGetCustomDataIdentifierSummary' {deleted} -> deleted) (\s@BatchGetCustomDataIdentifierSummary' {} a -> s {deleted = a} :: BatchGetCustomDataIdentifierSummary)++-- | The custom description of the custom data identifier.+batchGetCustomDataIdentifierSummary_description :: Lens.Lens' BatchGetCustomDataIdentifierSummary (Prelude.Maybe Prelude.Text)+batchGetCustomDataIdentifierSummary_description = Lens.lens (\BatchGetCustomDataIdentifierSummary' {description} -> description) (\s@BatchGetCustomDataIdentifierSummary' {} a -> s {description = a} :: BatchGetCustomDataIdentifierSummary)++-- | The unique identifier for the custom data identifier.+batchGetCustomDataIdentifierSummary_id :: Lens.Lens' BatchGetCustomDataIdentifierSummary (Prelude.Maybe Prelude.Text)+batchGetCustomDataIdentifierSummary_id = Lens.lens (\BatchGetCustomDataIdentifierSummary' {id} -> id) (\s@BatchGetCustomDataIdentifierSummary' {} a -> s {id = a} :: BatchGetCustomDataIdentifierSummary)++-- | The custom name of the custom data identifier.+batchGetCustomDataIdentifierSummary_name :: Lens.Lens' BatchGetCustomDataIdentifierSummary (Prelude.Maybe Prelude.Text)+batchGetCustomDataIdentifierSummary_name = Lens.lens (\BatchGetCustomDataIdentifierSummary' {name} -> name) (\s@BatchGetCustomDataIdentifierSummary' {} a -> s {name = a} :: BatchGetCustomDataIdentifierSummary)++instance+ Data.FromJSON+ BatchGetCustomDataIdentifierSummary+ where+ parseJSON =+ Data.withObject+ "BatchGetCustomDataIdentifierSummary"+ ( \x ->+ BatchGetCustomDataIdentifierSummary'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "deleted")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ )++instance+ Prelude.Hashable+ BatchGetCustomDataIdentifierSummary+ where+ hashWithSalt+ _salt+ BatchGetCustomDataIdentifierSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` deleted+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name++instance+ Prelude.NFData+ BatchGetCustomDataIdentifierSummary+ where+ rnf BatchGetCustomDataIdentifierSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf deleted+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/MacieV2/Types/BlockPublicAccess.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.MacieV2.Types.BlockPublicAccess+-- 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.MacieV2.Types.BlockPublicAccess 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++-- | Provides information about the block public access settings for an S3+-- bucket. These settings can apply to a bucket at the account or bucket+-- level. For detailed information about each setting, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html Blocking public access to your Amazon S3 storage>+-- in the /Amazon Simple Storage Service User Guide/.+--+-- /See:/ 'newBlockPublicAccess' smart constructor.+data BlockPublicAccess = BlockPublicAccess'+ { -- | Specifies whether Amazon S3 blocks public access control lists (ACLs)+ -- for the bucket and objects in the bucket.+ blockPublicAcls :: Prelude.Maybe Prelude.Bool,+ -- | Specifies whether Amazon S3 blocks public bucket policies for the+ -- bucket.+ blockPublicPolicy :: Prelude.Maybe Prelude.Bool,+ -- | Specifies whether Amazon S3 ignores public ACLs for the bucket and+ -- objects in the bucket.+ ignorePublicAcls :: Prelude.Maybe Prelude.Bool,+ -- | Specifies whether Amazon S3 restricts public bucket policies for the+ -- bucket.+ restrictPublicBuckets :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BlockPublicAccess' 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:+--+-- 'blockPublicAcls', 'blockPublicAccess_blockPublicAcls' - Specifies whether Amazon S3 blocks public access control lists (ACLs)+-- for the bucket and objects in the bucket.+--+-- 'blockPublicPolicy', 'blockPublicAccess_blockPublicPolicy' - Specifies whether Amazon S3 blocks public bucket policies for the+-- bucket.+--+-- 'ignorePublicAcls', 'blockPublicAccess_ignorePublicAcls' - Specifies whether Amazon S3 ignores public ACLs for the bucket and+-- objects in the bucket.+--+-- 'restrictPublicBuckets', 'blockPublicAccess_restrictPublicBuckets' - Specifies whether Amazon S3 restricts public bucket policies for the+-- bucket.+newBlockPublicAccess ::+ BlockPublicAccess+newBlockPublicAccess =+ BlockPublicAccess'+ { blockPublicAcls =+ Prelude.Nothing,+ blockPublicPolicy = Prelude.Nothing,+ ignorePublicAcls = Prelude.Nothing,+ restrictPublicBuckets = Prelude.Nothing+ }++-- | Specifies whether Amazon S3 blocks public access control lists (ACLs)+-- for the bucket and objects in the bucket.+blockPublicAccess_blockPublicAcls :: Lens.Lens' BlockPublicAccess (Prelude.Maybe Prelude.Bool)+blockPublicAccess_blockPublicAcls = Lens.lens (\BlockPublicAccess' {blockPublicAcls} -> blockPublicAcls) (\s@BlockPublicAccess' {} a -> s {blockPublicAcls = a} :: BlockPublicAccess)++-- | Specifies whether Amazon S3 blocks public bucket policies for the+-- bucket.+blockPublicAccess_blockPublicPolicy :: Lens.Lens' BlockPublicAccess (Prelude.Maybe Prelude.Bool)+blockPublicAccess_blockPublicPolicy = Lens.lens (\BlockPublicAccess' {blockPublicPolicy} -> blockPublicPolicy) (\s@BlockPublicAccess' {} a -> s {blockPublicPolicy = a} :: BlockPublicAccess)++-- | Specifies whether Amazon S3 ignores public ACLs for the bucket and+-- objects in the bucket.+blockPublicAccess_ignorePublicAcls :: Lens.Lens' BlockPublicAccess (Prelude.Maybe Prelude.Bool)+blockPublicAccess_ignorePublicAcls = Lens.lens (\BlockPublicAccess' {ignorePublicAcls} -> ignorePublicAcls) (\s@BlockPublicAccess' {} a -> s {ignorePublicAcls = a} :: BlockPublicAccess)++-- | Specifies whether Amazon S3 restricts public bucket policies for the+-- bucket.+blockPublicAccess_restrictPublicBuckets :: Lens.Lens' BlockPublicAccess (Prelude.Maybe Prelude.Bool)+blockPublicAccess_restrictPublicBuckets = Lens.lens (\BlockPublicAccess' {restrictPublicBuckets} -> restrictPublicBuckets) (\s@BlockPublicAccess' {} a -> s {restrictPublicBuckets = a} :: BlockPublicAccess)++instance Data.FromJSON BlockPublicAccess where+ parseJSON =+ Data.withObject+ "BlockPublicAccess"+ ( \x ->+ BlockPublicAccess'+ Prelude.<$> (x Data..:? "blockPublicAcls")+ Prelude.<*> (x Data..:? "blockPublicPolicy")+ Prelude.<*> (x Data..:? "ignorePublicAcls")+ Prelude.<*> (x Data..:? "restrictPublicBuckets")+ )++instance Prelude.Hashable BlockPublicAccess where+ hashWithSalt _salt BlockPublicAccess' {..} =+ _salt+ `Prelude.hashWithSalt` blockPublicAcls+ `Prelude.hashWithSalt` blockPublicPolicy+ `Prelude.hashWithSalt` ignorePublicAcls+ `Prelude.hashWithSalt` restrictPublicBuckets++instance Prelude.NFData BlockPublicAccess where+ rnf BlockPublicAccess' {..} =+ Prelude.rnf blockPublicAcls+ `Prelude.seq` Prelude.rnf blockPublicPolicy+ `Prelude.seq` Prelude.rnf ignorePublicAcls+ `Prelude.seq` Prelude.rnf restrictPublicBuckets
+ gen/Amazonka/MacieV2/Types/BucketCountByEffectivePermission.hs view
@@ -0,0 +1,137 @@+{-# 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.MacieV2.Types.BucketCountByEffectivePermission+-- 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.MacieV2.Types.BucketCountByEffectivePermission 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++-- | Provides information about the number of S3 buckets that are publicly+-- accessible based on a combination of permissions settings for each+-- bucket.+--+-- /See:/ 'newBucketCountByEffectivePermission' smart constructor.+data BucketCountByEffectivePermission = BucketCountByEffectivePermission'+ { -- | The total number of buckets that allow the general public to have read+ -- or write access to the bucket.+ publiclyAccessible :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets that allow the general public to have read+ -- access to the bucket.+ publiclyReadable :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets that allow the general public to have write+ -- access to the bucket.+ publiclyWritable :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets that Amazon Macie wasn\'t able to evaluate+ -- permissions settings for. Macie can\'t determine whether these buckets+ -- are publicly accessible.+ unknown :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketCountByEffectivePermission' 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:+--+-- 'publiclyAccessible', 'bucketCountByEffectivePermission_publiclyAccessible' - The total number of buckets that allow the general public to have read+-- or write access to the bucket.+--+-- 'publiclyReadable', 'bucketCountByEffectivePermission_publiclyReadable' - The total number of buckets that allow the general public to have read+-- access to the bucket.+--+-- 'publiclyWritable', 'bucketCountByEffectivePermission_publiclyWritable' - The total number of buckets that allow the general public to have write+-- access to the bucket.+--+-- 'unknown', 'bucketCountByEffectivePermission_unknown' - The total number of buckets that Amazon Macie wasn\'t able to evaluate+-- permissions settings for. Macie can\'t determine whether these buckets+-- are publicly accessible.+newBucketCountByEffectivePermission ::+ BucketCountByEffectivePermission+newBucketCountByEffectivePermission =+ BucketCountByEffectivePermission'+ { publiclyAccessible =+ Prelude.Nothing,+ publiclyReadable = Prelude.Nothing,+ publiclyWritable = Prelude.Nothing,+ unknown = Prelude.Nothing+ }++-- | The total number of buckets that allow the general public to have read+-- or write access to the bucket.+bucketCountByEffectivePermission_publiclyAccessible :: Lens.Lens' BucketCountByEffectivePermission (Prelude.Maybe Prelude.Integer)+bucketCountByEffectivePermission_publiclyAccessible = Lens.lens (\BucketCountByEffectivePermission' {publiclyAccessible} -> publiclyAccessible) (\s@BucketCountByEffectivePermission' {} a -> s {publiclyAccessible = a} :: BucketCountByEffectivePermission)++-- | The total number of buckets that allow the general public to have read+-- access to the bucket.+bucketCountByEffectivePermission_publiclyReadable :: Lens.Lens' BucketCountByEffectivePermission (Prelude.Maybe Prelude.Integer)+bucketCountByEffectivePermission_publiclyReadable = Lens.lens (\BucketCountByEffectivePermission' {publiclyReadable} -> publiclyReadable) (\s@BucketCountByEffectivePermission' {} a -> s {publiclyReadable = a} :: BucketCountByEffectivePermission)++-- | The total number of buckets that allow the general public to have write+-- access to the bucket.+bucketCountByEffectivePermission_publiclyWritable :: Lens.Lens' BucketCountByEffectivePermission (Prelude.Maybe Prelude.Integer)+bucketCountByEffectivePermission_publiclyWritable = Lens.lens (\BucketCountByEffectivePermission' {publiclyWritable} -> publiclyWritable) (\s@BucketCountByEffectivePermission' {} a -> s {publiclyWritable = a} :: BucketCountByEffectivePermission)++-- | The total number of buckets that Amazon Macie wasn\'t able to evaluate+-- permissions settings for. Macie can\'t determine whether these buckets+-- are publicly accessible.+bucketCountByEffectivePermission_unknown :: Lens.Lens' BucketCountByEffectivePermission (Prelude.Maybe Prelude.Integer)+bucketCountByEffectivePermission_unknown = Lens.lens (\BucketCountByEffectivePermission' {unknown} -> unknown) (\s@BucketCountByEffectivePermission' {} a -> s {unknown = a} :: BucketCountByEffectivePermission)++instance+ Data.FromJSON+ BucketCountByEffectivePermission+ where+ parseJSON =+ Data.withObject+ "BucketCountByEffectivePermission"+ ( \x ->+ BucketCountByEffectivePermission'+ Prelude.<$> (x Data..:? "publiclyAccessible")+ Prelude.<*> (x Data..:? "publiclyReadable")+ Prelude.<*> (x Data..:? "publiclyWritable")+ Prelude.<*> (x Data..:? "unknown")+ )++instance+ Prelude.Hashable+ BucketCountByEffectivePermission+ where+ hashWithSalt+ _salt+ BucketCountByEffectivePermission' {..} =+ _salt+ `Prelude.hashWithSalt` publiclyAccessible+ `Prelude.hashWithSalt` publiclyReadable+ `Prelude.hashWithSalt` publiclyWritable+ `Prelude.hashWithSalt` unknown++instance+ Prelude.NFData+ BucketCountByEffectivePermission+ where+ rnf BucketCountByEffectivePermission' {..} =+ Prelude.rnf publiclyAccessible+ `Prelude.seq` Prelude.rnf publiclyReadable+ `Prelude.seq` Prelude.rnf publiclyWritable+ `Prelude.seq` Prelude.rnf unknown
+ gen/Amazonka/MacieV2/Types/BucketCountByEncryptionType.hs view
@@ -0,0 +1,134 @@+{-# 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.MacieV2.Types.BucketCountByEncryptionType+-- 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.MacieV2.Types.BucketCountByEncryptionType 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++-- | Provides information about the number of S3 buckets that use certain+-- types of server-side encryption by default or don\'t encrypt new objects+-- by default. For detailed information about these settings, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html Setting default server-side encryption behavior for Amazon S3 buckets>+-- in the /Amazon Simple Storage Service User Guide/.+--+-- /See:/ 'newBucketCountByEncryptionType' smart constructor.+data BucketCountByEncryptionType = BucketCountByEncryptionType'+ { -- | The total number of buckets that use an KMS key to encrypt new objects+ -- by default, either an Amazon Web Services managed key or a customer+ -- managed key. These buckets use KMS encryption (SSE-KMS) by default.+ kmsManaged :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets that use an Amazon S3 managed key to encrypt+ -- new objects by default. These buckets use Amazon S3 managed encryption+ -- (SSE-S3) by default.+ s3Managed :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets that don\'t encrypt new objects by default.+ -- Default encryption is disabled for these buckets.+ unencrypted :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets that Amazon Macie doesn\'t have current+ -- encryption metadata for. Macie can\'t provide current data about the+ -- default encryption settings for these buckets.+ unknown :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketCountByEncryptionType' 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:+--+-- 'kmsManaged', 'bucketCountByEncryptionType_kmsManaged' - The total number of buckets that use an KMS key to encrypt new objects+-- by default, either an Amazon Web Services managed key or a customer+-- managed key. These buckets use KMS encryption (SSE-KMS) by default.+--+-- 's3Managed', 'bucketCountByEncryptionType_s3Managed' - The total number of buckets that use an Amazon S3 managed key to encrypt+-- new objects by default. These buckets use Amazon S3 managed encryption+-- (SSE-S3) by default.+--+-- 'unencrypted', 'bucketCountByEncryptionType_unencrypted' - The total number of buckets that don\'t encrypt new objects by default.+-- Default encryption is disabled for these buckets.+--+-- 'unknown', 'bucketCountByEncryptionType_unknown' - The total number of buckets that Amazon Macie doesn\'t have current+-- encryption metadata for. Macie can\'t provide current data about the+-- default encryption settings for these buckets.+newBucketCountByEncryptionType ::+ BucketCountByEncryptionType+newBucketCountByEncryptionType =+ BucketCountByEncryptionType'+ { kmsManaged =+ Prelude.Nothing,+ s3Managed = Prelude.Nothing,+ unencrypted = Prelude.Nothing,+ unknown = Prelude.Nothing+ }++-- | The total number of buckets that use an KMS key to encrypt new objects+-- by default, either an Amazon Web Services managed key or a customer+-- managed key. These buckets use KMS encryption (SSE-KMS) by default.+bucketCountByEncryptionType_kmsManaged :: Lens.Lens' BucketCountByEncryptionType (Prelude.Maybe Prelude.Integer)+bucketCountByEncryptionType_kmsManaged = Lens.lens (\BucketCountByEncryptionType' {kmsManaged} -> kmsManaged) (\s@BucketCountByEncryptionType' {} a -> s {kmsManaged = a} :: BucketCountByEncryptionType)++-- | The total number of buckets that use an Amazon S3 managed key to encrypt+-- new objects by default. These buckets use Amazon S3 managed encryption+-- (SSE-S3) by default.+bucketCountByEncryptionType_s3Managed :: Lens.Lens' BucketCountByEncryptionType (Prelude.Maybe Prelude.Integer)+bucketCountByEncryptionType_s3Managed = Lens.lens (\BucketCountByEncryptionType' {s3Managed} -> s3Managed) (\s@BucketCountByEncryptionType' {} a -> s {s3Managed = a} :: BucketCountByEncryptionType)++-- | The total number of buckets that don\'t encrypt new objects by default.+-- Default encryption is disabled for these buckets.+bucketCountByEncryptionType_unencrypted :: Lens.Lens' BucketCountByEncryptionType (Prelude.Maybe Prelude.Integer)+bucketCountByEncryptionType_unencrypted = Lens.lens (\BucketCountByEncryptionType' {unencrypted} -> unencrypted) (\s@BucketCountByEncryptionType' {} a -> s {unencrypted = a} :: BucketCountByEncryptionType)++-- | The total number of buckets that Amazon Macie doesn\'t have current+-- encryption metadata for. Macie can\'t provide current data about the+-- default encryption settings for these buckets.+bucketCountByEncryptionType_unknown :: Lens.Lens' BucketCountByEncryptionType (Prelude.Maybe Prelude.Integer)+bucketCountByEncryptionType_unknown = Lens.lens (\BucketCountByEncryptionType' {unknown} -> unknown) (\s@BucketCountByEncryptionType' {} a -> s {unknown = a} :: BucketCountByEncryptionType)++instance Data.FromJSON BucketCountByEncryptionType where+ parseJSON =+ Data.withObject+ "BucketCountByEncryptionType"+ ( \x ->+ BucketCountByEncryptionType'+ Prelude.<$> (x Data..:? "kmsManaged")+ Prelude.<*> (x Data..:? "s3Managed")+ Prelude.<*> (x Data..:? "unencrypted")+ Prelude.<*> (x Data..:? "unknown")+ )++instance Prelude.Hashable BucketCountByEncryptionType where+ hashWithSalt _salt BucketCountByEncryptionType' {..} =+ _salt+ `Prelude.hashWithSalt` kmsManaged+ `Prelude.hashWithSalt` s3Managed+ `Prelude.hashWithSalt` unencrypted+ `Prelude.hashWithSalt` unknown++instance Prelude.NFData BucketCountByEncryptionType where+ rnf BucketCountByEncryptionType' {..} =+ Prelude.rnf kmsManaged+ `Prelude.seq` Prelude.rnf s3Managed+ `Prelude.seq` Prelude.rnf unencrypted+ `Prelude.seq` Prelude.rnf unknown
@@ -0,0 +1,128 @@+{-# 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.MacieV2.Types.BucketCountBySharedAccessType+-- 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.MacieV2.Types.BucketCountBySharedAccessType 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++-- | Provides information about the number of S3 buckets that are or aren\'t+-- shared with other Amazon Web Services accounts.+--+-- /See:/ 'newBucketCountBySharedAccessType' smart constructor.+data BucketCountBySharedAccessType = BucketCountBySharedAccessType'+ { -- | The total number of buckets that are shared with an Amazon Web Services+ -- account that isn\'t part of the same Amazon Macie organization.+ external :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets that are shared with an Amazon Web Services+ -- account that\'s part of the same Amazon Macie organization.+ internal :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets that aren\'t shared with other Amazon Web+ -- Services accounts.+ notShared :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets that Amazon Macie wasn\'t able to evaluate+ -- shared access settings for. Macie can\'t determine whether these buckets+ -- are shared with other Amazon Web Services accounts.+ unknown :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketCountBySharedAccessType' 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:+--+-- 'external', 'bucketCountBySharedAccessType_external' - The total number of buckets that are shared with an Amazon Web Services+-- account that isn\'t part of the same Amazon Macie organization.+--+-- 'internal', 'bucketCountBySharedAccessType_internal' - The total number of buckets that are shared with an Amazon Web Services+-- account that\'s part of the same Amazon Macie organization.+--+-- 'notShared', 'bucketCountBySharedAccessType_notShared' - The total number of buckets that aren\'t shared with other Amazon Web+-- Services accounts.+--+-- 'unknown', 'bucketCountBySharedAccessType_unknown' - The total number of buckets that Amazon Macie wasn\'t able to evaluate+-- shared access settings for. Macie can\'t determine whether these buckets+-- are shared with other Amazon Web Services accounts.+newBucketCountBySharedAccessType ::+ BucketCountBySharedAccessType+newBucketCountBySharedAccessType =+ BucketCountBySharedAccessType'+ { external =+ Prelude.Nothing,+ internal = Prelude.Nothing,+ notShared = Prelude.Nothing,+ unknown = Prelude.Nothing+ }++-- | The total number of buckets that are shared with an Amazon Web Services+-- account that isn\'t part of the same Amazon Macie organization.+bucketCountBySharedAccessType_external :: Lens.Lens' BucketCountBySharedAccessType (Prelude.Maybe Prelude.Integer)+bucketCountBySharedAccessType_external = Lens.lens (\BucketCountBySharedAccessType' {external} -> external) (\s@BucketCountBySharedAccessType' {} a -> s {external = a} :: BucketCountBySharedAccessType)++-- | The total number of buckets that are shared with an Amazon Web Services+-- account that\'s part of the same Amazon Macie organization.+bucketCountBySharedAccessType_internal :: Lens.Lens' BucketCountBySharedAccessType (Prelude.Maybe Prelude.Integer)+bucketCountBySharedAccessType_internal = Lens.lens (\BucketCountBySharedAccessType' {internal} -> internal) (\s@BucketCountBySharedAccessType' {} a -> s {internal = a} :: BucketCountBySharedAccessType)++-- | The total number of buckets that aren\'t shared with other Amazon Web+-- Services accounts.+bucketCountBySharedAccessType_notShared :: Lens.Lens' BucketCountBySharedAccessType (Prelude.Maybe Prelude.Integer)+bucketCountBySharedAccessType_notShared = Lens.lens (\BucketCountBySharedAccessType' {notShared} -> notShared) (\s@BucketCountBySharedAccessType' {} a -> s {notShared = a} :: BucketCountBySharedAccessType)++-- | The total number of buckets that Amazon Macie wasn\'t able to evaluate+-- shared access settings for. Macie can\'t determine whether these buckets+-- are shared with other Amazon Web Services accounts.+bucketCountBySharedAccessType_unknown :: Lens.Lens' BucketCountBySharedAccessType (Prelude.Maybe Prelude.Integer)+bucketCountBySharedAccessType_unknown = Lens.lens (\BucketCountBySharedAccessType' {unknown} -> unknown) (\s@BucketCountBySharedAccessType' {} a -> s {unknown = a} :: BucketCountBySharedAccessType)++instance Data.FromJSON BucketCountBySharedAccessType where+ parseJSON =+ Data.withObject+ "BucketCountBySharedAccessType"+ ( \x ->+ BucketCountBySharedAccessType'+ Prelude.<$> (x Data..:? "external")+ Prelude.<*> (x Data..:? "internal")+ Prelude.<*> (x Data..:? "notShared")+ Prelude.<*> (x Data..:? "unknown")+ )++instance+ Prelude.Hashable+ BucketCountBySharedAccessType+ where+ hashWithSalt _salt BucketCountBySharedAccessType' {..} =+ _salt+ `Prelude.hashWithSalt` external+ `Prelude.hashWithSalt` internal+ `Prelude.hashWithSalt` notShared+ `Prelude.hashWithSalt` unknown++instance Prelude.NFData BucketCountBySharedAccessType where+ rnf BucketCountBySharedAccessType' {..} =+ Prelude.rnf external+ `Prelude.seq` Prelude.rnf internal+ `Prelude.seq` Prelude.rnf notShared+ `Prelude.seq` Prelude.rnf unknown
+ gen/Amazonka/MacieV2/Types/BucketCountPolicyAllowsUnencryptedObjectUploads.hs view
@@ -0,0 +1,154 @@+{-# 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.MacieV2.Types.BucketCountPolicyAllowsUnencryptedObjectUploads+-- 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.MacieV2.Types.BucketCountPolicyAllowsUnencryptedObjectUploads 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++-- | Provides information about the number of S3 buckets whose bucket+-- policies do or don\'t require server-side encryption of objects when+-- objects are uploaded to the buckets.+--+-- /See:/ 'newBucketCountPolicyAllowsUnencryptedObjectUploads' smart constructor.+data BucketCountPolicyAllowsUnencryptedObjectUploads = BucketCountPolicyAllowsUnencryptedObjectUploads'+ { -- | The total number of buckets that don\'t have a bucket policy or have a+ -- bucket policy that doesn\'t require server-side encryption of new+ -- objects. If a bucket policy exists, the policy doesn\'t require+ -- PutObject requests to include a valid server-side encryption header: the+ -- x-amz-server-side-encryption header with a value of AES256 or aws:kms,+ -- or the x-amz-server-side-encryption-customer-algorithm header with a+ -- value of AES256.+ allowsUnencryptedObjectUploads :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets whose bucket policies require server-side+ -- encryption of new objects. PutObject requests for these buckets must+ -- include a valid server-side encryption header: the+ -- x-amz-server-side-encryption header with a value of AES256 or aws:kms,+ -- or the x-amz-server-side-encryption-customer-algorithm header with a+ -- value of AES256.+ deniesUnencryptedObjectUploads :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets that Amazon Macie wasn\'t able to evaluate+ -- server-side encryption requirements for. Macie can\'t determine whether+ -- the bucket policies for these buckets require server-side encryption of+ -- new objects.+ unknown :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketCountPolicyAllowsUnencryptedObjectUploads' 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:+--+-- 'allowsUnencryptedObjectUploads', 'bucketCountPolicyAllowsUnencryptedObjectUploads_allowsUnencryptedObjectUploads' - The total number of buckets that don\'t have a bucket policy or have a+-- bucket policy that doesn\'t require server-side encryption of new+-- objects. If a bucket policy exists, the policy doesn\'t require+-- PutObject requests to include a valid server-side encryption header: the+-- x-amz-server-side-encryption header with a value of AES256 or aws:kms,+-- or the x-amz-server-side-encryption-customer-algorithm header with a+-- value of AES256.+--+-- 'deniesUnencryptedObjectUploads', 'bucketCountPolicyAllowsUnencryptedObjectUploads_deniesUnencryptedObjectUploads' - The total number of buckets whose bucket policies require server-side+-- encryption of new objects. PutObject requests for these buckets must+-- include a valid server-side encryption header: the+-- x-amz-server-side-encryption header with a value of AES256 or aws:kms,+-- or the x-amz-server-side-encryption-customer-algorithm header with a+-- value of AES256.+--+-- 'unknown', 'bucketCountPolicyAllowsUnencryptedObjectUploads_unknown' - The total number of buckets that Amazon Macie wasn\'t able to evaluate+-- server-side encryption requirements for. Macie can\'t determine whether+-- the bucket policies for these buckets require server-side encryption of+-- new objects.+newBucketCountPolicyAllowsUnencryptedObjectUploads ::+ BucketCountPolicyAllowsUnencryptedObjectUploads+newBucketCountPolicyAllowsUnencryptedObjectUploads =+ BucketCountPolicyAllowsUnencryptedObjectUploads'+ { allowsUnencryptedObjectUploads =+ Prelude.Nothing,+ deniesUnencryptedObjectUploads =+ Prelude.Nothing,+ unknown = Prelude.Nothing+ }++-- | The total number of buckets that don\'t have a bucket policy or have a+-- bucket policy that doesn\'t require server-side encryption of new+-- objects. If a bucket policy exists, the policy doesn\'t require+-- PutObject requests to include a valid server-side encryption header: the+-- x-amz-server-side-encryption header with a value of AES256 or aws:kms,+-- or the x-amz-server-side-encryption-customer-algorithm header with a+-- value of AES256.+bucketCountPolicyAllowsUnencryptedObjectUploads_allowsUnencryptedObjectUploads :: Lens.Lens' BucketCountPolicyAllowsUnencryptedObjectUploads (Prelude.Maybe Prelude.Integer)+bucketCountPolicyAllowsUnencryptedObjectUploads_allowsUnencryptedObjectUploads = Lens.lens (\BucketCountPolicyAllowsUnencryptedObjectUploads' {allowsUnencryptedObjectUploads} -> allowsUnencryptedObjectUploads) (\s@BucketCountPolicyAllowsUnencryptedObjectUploads' {} a -> s {allowsUnencryptedObjectUploads = a} :: BucketCountPolicyAllowsUnencryptedObjectUploads)++-- | The total number of buckets whose bucket policies require server-side+-- encryption of new objects. PutObject requests for these buckets must+-- include a valid server-side encryption header: the+-- x-amz-server-side-encryption header with a value of AES256 or aws:kms,+-- or the x-amz-server-side-encryption-customer-algorithm header with a+-- value of AES256.+bucketCountPolicyAllowsUnencryptedObjectUploads_deniesUnencryptedObjectUploads :: Lens.Lens' BucketCountPolicyAllowsUnencryptedObjectUploads (Prelude.Maybe Prelude.Integer)+bucketCountPolicyAllowsUnencryptedObjectUploads_deniesUnencryptedObjectUploads = Lens.lens (\BucketCountPolicyAllowsUnencryptedObjectUploads' {deniesUnencryptedObjectUploads} -> deniesUnencryptedObjectUploads) (\s@BucketCountPolicyAllowsUnencryptedObjectUploads' {} a -> s {deniesUnencryptedObjectUploads = a} :: BucketCountPolicyAllowsUnencryptedObjectUploads)++-- | The total number of buckets that Amazon Macie wasn\'t able to evaluate+-- server-side encryption requirements for. Macie can\'t determine whether+-- the bucket policies for these buckets require server-side encryption of+-- new objects.+bucketCountPolicyAllowsUnencryptedObjectUploads_unknown :: Lens.Lens' BucketCountPolicyAllowsUnencryptedObjectUploads (Prelude.Maybe Prelude.Integer)+bucketCountPolicyAllowsUnencryptedObjectUploads_unknown = Lens.lens (\BucketCountPolicyAllowsUnencryptedObjectUploads' {unknown} -> unknown) (\s@BucketCountPolicyAllowsUnencryptedObjectUploads' {} a -> s {unknown = a} :: BucketCountPolicyAllowsUnencryptedObjectUploads)++instance+ Data.FromJSON+ BucketCountPolicyAllowsUnencryptedObjectUploads+ where+ parseJSON =+ Data.withObject+ "BucketCountPolicyAllowsUnencryptedObjectUploads"+ ( \x ->+ BucketCountPolicyAllowsUnencryptedObjectUploads'+ Prelude.<$> (x Data..:? "allowsUnencryptedObjectUploads")+ Prelude.<*> (x Data..:? "deniesUnencryptedObjectUploads")+ Prelude.<*> (x Data..:? "unknown")+ )++instance+ Prelude.Hashable+ BucketCountPolicyAllowsUnencryptedObjectUploads+ where+ hashWithSalt+ _salt+ BucketCountPolicyAllowsUnencryptedObjectUploads' {..} =+ _salt+ `Prelude.hashWithSalt` allowsUnencryptedObjectUploads+ `Prelude.hashWithSalt` deniesUnencryptedObjectUploads+ `Prelude.hashWithSalt` unknown++instance+ Prelude.NFData+ BucketCountPolicyAllowsUnencryptedObjectUploads+ where+ rnf+ BucketCountPolicyAllowsUnencryptedObjectUploads' {..} =+ Prelude.rnf allowsUnencryptedObjectUploads+ `Prelude.seq` Prelude.rnf deniesUnencryptedObjectUploads+ `Prelude.seq` Prelude.rnf unknown
+ gen/Amazonka/MacieV2/Types/BucketCriteriaAdditionalProperties.hs view
@@ -0,0 +1,168 @@+{-# 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.MacieV2.Types.BucketCriteriaAdditionalProperties+-- 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.MacieV2.Types.BucketCriteriaAdditionalProperties 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++-- | Specifies the operator to use in a property-based condition that filters+-- the results of a query for information about S3 buckets.+--+-- /See:/ 'newBucketCriteriaAdditionalProperties' smart constructor.+data BucketCriteriaAdditionalProperties = BucketCriteriaAdditionalProperties'+ { -- | The value for the property matches (equals) the specified value. If you+ -- specify multiple values, Amazon Macie uses OR logic to join the values.+ eq :: Prelude.Maybe [Prelude.Text],+ -- | The value for the property is greater than the specified value.+ gt :: Prelude.Maybe Prelude.Integer,+ -- | The value for the property is greater than or equal to the specified+ -- value.+ gte :: Prelude.Maybe Prelude.Integer,+ -- | The value for the property is less than the specified value.+ lt :: Prelude.Maybe Prelude.Integer,+ -- | The value for the property is less than or equal to the specified value.+ lte :: Prelude.Maybe Prelude.Integer,+ -- | The value for the property doesn\'t match (doesn\'t equal) the specified+ -- value. If you specify multiple values, Amazon Macie uses OR logic to+ -- join the values.+ neq :: Prelude.Maybe [Prelude.Text],+ -- | The name of the bucket begins with the specified value.+ prefix :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketCriteriaAdditionalProperties' 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:+--+-- 'eq', 'bucketCriteriaAdditionalProperties_eq' - The value for the property matches (equals) the specified value. If you+-- specify multiple values, Amazon Macie uses OR logic to join the values.+--+-- 'gt', 'bucketCriteriaAdditionalProperties_gt' - The value for the property is greater than the specified value.+--+-- 'gte', 'bucketCriteriaAdditionalProperties_gte' - The value for the property is greater than or equal to the specified+-- value.+--+-- 'lt', 'bucketCriteriaAdditionalProperties_lt' - The value for the property is less than the specified value.+--+-- 'lte', 'bucketCriteriaAdditionalProperties_lte' - The value for the property is less than or equal to the specified value.+--+-- 'neq', 'bucketCriteriaAdditionalProperties_neq' - The value for the property doesn\'t match (doesn\'t equal) the specified+-- value. If you specify multiple values, Amazon Macie uses OR logic to+-- join the values.+--+-- 'prefix', 'bucketCriteriaAdditionalProperties_prefix' - The name of the bucket begins with the specified value.+newBucketCriteriaAdditionalProperties ::+ BucketCriteriaAdditionalProperties+newBucketCriteriaAdditionalProperties =+ BucketCriteriaAdditionalProperties'+ { eq =+ Prelude.Nothing,+ gt = Prelude.Nothing,+ gte = Prelude.Nothing,+ lt = Prelude.Nothing,+ lte = Prelude.Nothing,+ neq = Prelude.Nothing,+ prefix = Prelude.Nothing+ }++-- | The value for the property matches (equals) the specified value. If you+-- specify multiple values, Amazon Macie uses OR logic to join the values.+bucketCriteriaAdditionalProperties_eq :: Lens.Lens' BucketCriteriaAdditionalProperties (Prelude.Maybe [Prelude.Text])+bucketCriteriaAdditionalProperties_eq = Lens.lens (\BucketCriteriaAdditionalProperties' {eq} -> eq) (\s@BucketCriteriaAdditionalProperties' {} a -> s {eq = a} :: BucketCriteriaAdditionalProperties) Prelude.. Lens.mapping Lens.coerced++-- | The value for the property is greater than the specified value.+bucketCriteriaAdditionalProperties_gt :: Lens.Lens' BucketCriteriaAdditionalProperties (Prelude.Maybe Prelude.Integer)+bucketCriteriaAdditionalProperties_gt = Lens.lens (\BucketCriteriaAdditionalProperties' {gt} -> gt) (\s@BucketCriteriaAdditionalProperties' {} a -> s {gt = a} :: BucketCriteriaAdditionalProperties)++-- | The value for the property is greater than or equal to the specified+-- value.+bucketCriteriaAdditionalProperties_gte :: Lens.Lens' BucketCriteriaAdditionalProperties (Prelude.Maybe Prelude.Integer)+bucketCriteriaAdditionalProperties_gte = Lens.lens (\BucketCriteriaAdditionalProperties' {gte} -> gte) (\s@BucketCriteriaAdditionalProperties' {} a -> s {gte = a} :: BucketCriteriaAdditionalProperties)++-- | The value for the property is less than the specified value.+bucketCriteriaAdditionalProperties_lt :: Lens.Lens' BucketCriteriaAdditionalProperties (Prelude.Maybe Prelude.Integer)+bucketCriteriaAdditionalProperties_lt = Lens.lens (\BucketCriteriaAdditionalProperties' {lt} -> lt) (\s@BucketCriteriaAdditionalProperties' {} a -> s {lt = a} :: BucketCriteriaAdditionalProperties)++-- | The value for the property is less than or equal to the specified value.+bucketCriteriaAdditionalProperties_lte :: Lens.Lens' BucketCriteriaAdditionalProperties (Prelude.Maybe Prelude.Integer)+bucketCriteriaAdditionalProperties_lte = Lens.lens (\BucketCriteriaAdditionalProperties' {lte} -> lte) (\s@BucketCriteriaAdditionalProperties' {} a -> s {lte = a} :: BucketCriteriaAdditionalProperties)++-- | The value for the property doesn\'t match (doesn\'t equal) the specified+-- value. If you specify multiple values, Amazon Macie uses OR logic to+-- join the values.+bucketCriteriaAdditionalProperties_neq :: Lens.Lens' BucketCriteriaAdditionalProperties (Prelude.Maybe [Prelude.Text])+bucketCriteriaAdditionalProperties_neq = Lens.lens (\BucketCriteriaAdditionalProperties' {neq} -> neq) (\s@BucketCriteriaAdditionalProperties' {} a -> s {neq = a} :: BucketCriteriaAdditionalProperties) Prelude.. Lens.mapping Lens.coerced++-- | The name of the bucket begins with the specified value.+bucketCriteriaAdditionalProperties_prefix :: Lens.Lens' BucketCriteriaAdditionalProperties (Prelude.Maybe Prelude.Text)+bucketCriteriaAdditionalProperties_prefix = Lens.lens (\BucketCriteriaAdditionalProperties' {prefix} -> prefix) (\s@BucketCriteriaAdditionalProperties' {} a -> s {prefix = a} :: BucketCriteriaAdditionalProperties)++instance+ Prelude.Hashable+ BucketCriteriaAdditionalProperties+ where+ hashWithSalt+ _salt+ BucketCriteriaAdditionalProperties' {..} =+ _salt+ `Prelude.hashWithSalt` eq+ `Prelude.hashWithSalt` gt+ `Prelude.hashWithSalt` gte+ `Prelude.hashWithSalt` lt+ `Prelude.hashWithSalt` lte+ `Prelude.hashWithSalt` neq+ `Prelude.hashWithSalt` prefix++instance+ Prelude.NFData+ BucketCriteriaAdditionalProperties+ where+ rnf BucketCriteriaAdditionalProperties' {..} =+ Prelude.rnf eq+ `Prelude.seq` Prelude.rnf gt+ `Prelude.seq` Prelude.rnf gte+ `Prelude.seq` Prelude.rnf lt+ `Prelude.seq` Prelude.rnf lte+ `Prelude.seq` Prelude.rnf neq+ `Prelude.seq` Prelude.rnf prefix++instance+ Data.ToJSON+ BucketCriteriaAdditionalProperties+ where+ toJSON BucketCriteriaAdditionalProperties' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("eq" Data..=) Prelude.<$> eq,+ ("gt" Data..=) Prelude.<$> gt,+ ("gte" Data..=) Prelude.<$> gte,+ ("lt" Data..=) Prelude.<$> lt,+ ("lte" Data..=) Prelude.<$> lte,+ ("neq" Data..=) Prelude.<$> neq,+ ("prefix" Data..=) Prelude.<$> prefix+ ]+ )
+ gen/Amazonka/MacieV2/Types/BucketLevelPermissions.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.MacieV2.Types.BucketLevelPermissions+-- 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.MacieV2.Types.BucketLevelPermissions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.AccessControlList+import Amazonka.MacieV2.Types.BlockPublicAccess+import Amazonka.MacieV2.Types.BucketPolicy+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the bucket-level permissions settings for an+-- S3 bucket.+--+-- /See:/ 'newBucketLevelPermissions' smart constructor.+data BucketLevelPermissions = BucketLevelPermissions'+ { -- | The permissions settings of the access control list (ACL) for the+ -- bucket. This value is null if an ACL hasn\'t been defined for the+ -- bucket.+ accessControlList :: Prelude.Maybe AccessControlList,+ -- | The block public access settings for the bucket.+ blockPublicAccess :: Prelude.Maybe BlockPublicAccess,+ -- | The permissions settings of the bucket policy for the bucket. This value+ -- is null if a bucket policy hasn\'t been defined for the bucket.+ bucketPolicy :: Prelude.Maybe BucketPolicy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketLevelPermissions' 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:+--+-- 'accessControlList', 'bucketLevelPermissions_accessControlList' - The permissions settings of the access control list (ACL) for the+-- bucket. This value is null if an ACL hasn\'t been defined for the+-- bucket.+--+-- 'blockPublicAccess', 'bucketLevelPermissions_blockPublicAccess' - The block public access settings for the bucket.+--+-- 'bucketPolicy', 'bucketLevelPermissions_bucketPolicy' - The permissions settings of the bucket policy for the bucket. This value+-- is null if a bucket policy hasn\'t been defined for the bucket.+newBucketLevelPermissions ::+ BucketLevelPermissions+newBucketLevelPermissions =+ BucketLevelPermissions'+ { accessControlList =+ Prelude.Nothing,+ blockPublicAccess = Prelude.Nothing,+ bucketPolicy = Prelude.Nothing+ }++-- | The permissions settings of the access control list (ACL) for the+-- bucket. This value is null if an ACL hasn\'t been defined for the+-- bucket.+bucketLevelPermissions_accessControlList :: Lens.Lens' BucketLevelPermissions (Prelude.Maybe AccessControlList)+bucketLevelPermissions_accessControlList = Lens.lens (\BucketLevelPermissions' {accessControlList} -> accessControlList) (\s@BucketLevelPermissions' {} a -> s {accessControlList = a} :: BucketLevelPermissions)++-- | The block public access settings for the bucket.+bucketLevelPermissions_blockPublicAccess :: Lens.Lens' BucketLevelPermissions (Prelude.Maybe BlockPublicAccess)+bucketLevelPermissions_blockPublicAccess = Lens.lens (\BucketLevelPermissions' {blockPublicAccess} -> blockPublicAccess) (\s@BucketLevelPermissions' {} a -> s {blockPublicAccess = a} :: BucketLevelPermissions)++-- | The permissions settings of the bucket policy for the bucket. This value+-- is null if a bucket policy hasn\'t been defined for the bucket.+bucketLevelPermissions_bucketPolicy :: Lens.Lens' BucketLevelPermissions (Prelude.Maybe BucketPolicy)+bucketLevelPermissions_bucketPolicy = Lens.lens (\BucketLevelPermissions' {bucketPolicy} -> bucketPolicy) (\s@BucketLevelPermissions' {} a -> s {bucketPolicy = a} :: BucketLevelPermissions)++instance Data.FromJSON BucketLevelPermissions where+ parseJSON =+ Data.withObject+ "BucketLevelPermissions"+ ( \x ->+ BucketLevelPermissions'+ Prelude.<$> (x Data..:? "accessControlList")+ Prelude.<*> (x Data..:? "blockPublicAccess")+ Prelude.<*> (x Data..:? "bucketPolicy")+ )++instance Prelude.Hashable BucketLevelPermissions where+ hashWithSalt _salt BucketLevelPermissions' {..} =+ _salt+ `Prelude.hashWithSalt` accessControlList+ `Prelude.hashWithSalt` blockPublicAccess+ `Prelude.hashWithSalt` bucketPolicy++instance Prelude.NFData BucketLevelPermissions where+ rnf BucketLevelPermissions' {..} =+ Prelude.rnf accessControlList+ `Prelude.seq` Prelude.rnf blockPublicAccess+ `Prelude.seq` Prelude.rnf bucketPolicy
+ gen/Amazonka/MacieV2/Types/BucketMetadata.hs view
@@ -0,0 +1,648 @@+{-# 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.MacieV2.Types.BucketMetadata+-- 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.MacieV2.Types.BucketMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.AllowsUnencryptedObjectUploads+import Amazonka.MacieV2.Types.BucketMetadataErrorCode+import Amazonka.MacieV2.Types.BucketPublicAccess+import Amazonka.MacieV2.Types.BucketServerSideEncryption+import Amazonka.MacieV2.Types.JobDetails+import Amazonka.MacieV2.Types.KeyValuePair+import Amazonka.MacieV2.Types.ObjectCountByEncryptionType+import Amazonka.MacieV2.Types.ObjectLevelStatistics+import Amazonka.MacieV2.Types.ReplicationDetails+import Amazonka.MacieV2.Types.SharedAccess+import qualified Amazonka.Prelude as Prelude++-- | Provides statistical data and other information about an S3 bucket that+-- Amazon Macie monitors and analyzes for your account. If an error occurs+-- when Macie attempts to retrieve and process metadata from Amazon S3 for+-- the bucket and the bucket\'s objects, the value for the versioning+-- property is false and the value for most other properties is null. Key+-- exceptions are accountId, bucketArn, bucketCreatedAt, bucketName,+-- lastUpdated, and region. To identify the cause of the error, refer to+-- the errorCode and errorMessage values.+--+-- /See:/ 'newBucketMetadata' smart constructor.+data BucketMetadata = BucketMetadata'+ { -- | The unique identifier for the Amazon Web Services account that owns the+ -- bucket.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | Specifies whether the bucket policy for the bucket requires server-side+ -- encryption of objects when objects are uploaded to the bucket. Possible+ -- values are:+ --+ -- - FALSE - The bucket policy requires server-side encryption of new+ -- objects. PutObject requests must include a valid server-side+ -- encryption header.+ --+ -- - TRUE - The bucket doesn\'t have a bucket policy or it has a bucket+ -- policy that doesn\'t require server-side encryption of new objects.+ -- If a bucket policy exists, it doesn\'t require PutObject requests to+ -- include a valid server-side encryption header.+ --+ -- - UNKNOWN - Amazon Macie can\'t determine whether the bucket policy+ -- requires server-side encryption of new objects.+ --+ -- Valid server-side encryption headers are: x-amz-server-side-encryption+ -- with a value of AES256 or aws:kms, and+ -- x-amz-server-side-encryption-customer-algorithm with a value of AES256.+ allowsUnencryptedObjectUploads :: Prelude.Maybe AllowsUnencryptedObjectUploads,+ -- | The Amazon Resource Name (ARN) of the bucket.+ bucketArn :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when the bucket+ -- was created, or changes such as edits to the bucket\'s policy were most+ -- recently made to the bucket.+ bucketCreatedAt :: Prelude.Maybe Data.ISO8601,+ -- | The name of the bucket.+ bucketName :: Prelude.Maybe Prelude.Text,+ -- | The total number of objects that Amazon Macie can analyze in the bucket.+ -- These objects use a supported storage class and have a file name+ -- extension for a supported file or storage format.+ classifiableObjectCount :: Prelude.Maybe Prelude.Integer,+ -- | The total storage size, in bytes, of the objects that Amazon Macie can+ -- analyze in the bucket. These objects use a supported storage class and+ -- have a file name extension for a supported file or storage format.+ --+ -- If versioning is enabled for the bucket, Macie calculates this value+ -- based on the size of the latest version of each applicable object in the+ -- bucket. This value doesn\'t reflect the storage size of all versions of+ -- each applicable object in the bucket.+ classifiableSizeInBytes :: Prelude.Maybe Prelude.Integer,+ -- | Specifies the error code for an error that prevented Amazon Macie from+ -- retrieving and processing information about the bucket and the bucket\'s+ -- objects. If this value is ACCESS_DENIED, Macie doesn\'t have permission+ -- to retrieve the information. For example, the bucket has a restrictive+ -- bucket policy and Amazon S3 denied the request. If this value is null,+ -- Macie was able to retrieve and process the information.+ errorCode :: Prelude.Maybe BucketMetadataErrorCode,+ -- | A brief description of the error (errorCode) that prevented Amazon Macie+ -- from retrieving and processing information about the bucket and the+ -- bucket\'s objects. This value is null if Macie was able to retrieve and+ -- process the information.+ errorMessage :: Prelude.Maybe Prelude.Text,+ -- | Specifies whether any one-time or recurring classification jobs are+ -- configured to analyze data in the bucket, and, if so, the details of the+ -- job that ran most recently.+ jobDetails :: Prelude.Maybe JobDetails,+ -- | The date and time, in UTC and extended ISO 8601 format, when Amazon+ -- Macie most recently performed automated sensitive data discovery for the+ -- bucket. This value is null if automated sensitive data discovery is+ -- currently disabled for your account.+ lastAutomatedDiscoveryTime :: Prelude.Maybe Data.ISO8601,+ -- | The date and time, in UTC and extended ISO 8601 format, when Amazon+ -- Macie most recently retrieved both bucket and object metadata from+ -- Amazon S3 for the bucket.+ lastUpdated :: Prelude.Maybe Data.ISO8601,+ -- | The total number of objects in the bucket.+ objectCount :: Prelude.Maybe Prelude.Integer,+ -- | The total number of objects that are in the bucket, grouped by+ -- server-side encryption type. This includes a grouping that reports the+ -- total number of objects that aren\'t encrypted or use client-side+ -- encryption.+ objectCountByEncryptionType :: Prelude.Maybe ObjectCountByEncryptionType,+ -- | Specifies whether the bucket is publicly accessible due to the+ -- combination of permissions settings that apply to the bucket, and+ -- provides information about those settings.+ publicAccess :: Prelude.Maybe BucketPublicAccess,+ -- | The Amazon Web Services Region that hosts the bucket.+ region :: Prelude.Maybe Prelude.Text,+ -- | Specifies whether the bucket is configured to replicate one or more+ -- objects to buckets for other Amazon Web Services accounts and, if so,+ -- which accounts.+ replicationDetails :: Prelude.Maybe ReplicationDetails,+ -- | The sensitivity score for the bucket, ranging from -1 (no analysis due+ -- to an error) to 100 (sensitive). This value is null if automated+ -- sensitive data discovery is currently disabled for your account.+ sensitivityScore :: Prelude.Maybe Prelude.Int,+ -- | Specifies whether the bucket encrypts new objects by default and, if so,+ -- the type of server-side encryption that\'s used.+ serverSideEncryption :: Prelude.Maybe BucketServerSideEncryption,+ -- | Specifies whether the bucket is shared with another Amazon Web Services+ -- account. Possible values are:+ --+ -- - EXTERNAL - The bucket is shared with an Amazon Web Services account+ -- that isn\'t part of the same Amazon Macie organization.+ --+ -- - INTERNAL - The bucket is shared with an Amazon Web Services account+ -- that\'s part of the same Amazon Macie organization.+ --+ -- - NOT_SHARED - The bucket isn\'t shared with other Amazon Web Services+ -- accounts.+ --+ -- - UNKNOWN - Amazon Macie wasn\'t able to evaluate the shared access+ -- settings for the bucket.+ sharedAccess :: Prelude.Maybe SharedAccess,+ -- | The total storage size, in bytes, of the bucket.+ --+ -- If versioning is enabled for the bucket, Amazon Macie calculates this+ -- value based on the size of the latest version of each object in the+ -- bucket. This value doesn\'t reflect the storage size of all versions of+ -- each object in the bucket.+ sizeInBytes :: Prelude.Maybe Prelude.Integer,+ -- | The total storage size, in bytes, of the objects that are compressed+ -- (.gz, .gzip, .zip) files in the bucket.+ --+ -- If versioning is enabled for the bucket, Amazon Macie calculates this+ -- value based on the size of the latest version of each applicable object+ -- in the bucket. This value doesn\'t reflect the storage size of all+ -- versions of each applicable object in the bucket.+ sizeInBytesCompressed :: Prelude.Maybe Prelude.Integer,+ -- | An array that specifies the tags (keys and values) that are associated+ -- with the bucket.+ tags :: Prelude.Maybe [KeyValuePair],+ -- | The total number of objects that Amazon Macie can\'t analyze in the+ -- bucket. These objects don\'t use a supported storage class or don\'t+ -- have a file name extension for a supported file or storage format.+ unclassifiableObjectCount :: Prelude.Maybe ObjectLevelStatistics,+ -- | The total storage size, in bytes, of the objects that Amazon Macie+ -- can\'t analyze in the bucket. These objects don\'t use a supported+ -- storage class or don\'t have a file name extension for a supported file+ -- or storage format.+ unclassifiableObjectSizeInBytes :: Prelude.Maybe ObjectLevelStatistics,+ -- | Specifies whether versioning is enabled for the bucket.+ versioning :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketMetadata' 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:+--+-- 'accountId', 'bucketMetadata_accountId' - The unique identifier for the Amazon Web Services account that owns the+-- bucket.+--+-- 'allowsUnencryptedObjectUploads', 'bucketMetadata_allowsUnencryptedObjectUploads' - Specifies whether the bucket policy for the bucket requires server-side+-- encryption of objects when objects are uploaded to the bucket. Possible+-- values are:+--+-- - FALSE - The bucket policy requires server-side encryption of new+-- objects. PutObject requests must include a valid server-side+-- encryption header.+--+-- - TRUE - The bucket doesn\'t have a bucket policy or it has a bucket+-- policy that doesn\'t require server-side encryption of new objects.+-- If a bucket policy exists, it doesn\'t require PutObject requests to+-- include a valid server-side encryption header.+--+-- - UNKNOWN - Amazon Macie can\'t determine whether the bucket policy+-- requires server-side encryption of new objects.+--+-- Valid server-side encryption headers are: x-amz-server-side-encryption+-- with a value of AES256 or aws:kms, and+-- x-amz-server-side-encryption-customer-algorithm with a value of AES256.+--+-- 'bucketArn', 'bucketMetadata_bucketArn' - The Amazon Resource Name (ARN) of the bucket.+--+-- 'bucketCreatedAt', 'bucketMetadata_bucketCreatedAt' - The date and time, in UTC and extended ISO 8601 format, when the bucket+-- was created, or changes such as edits to the bucket\'s policy were most+-- recently made to the bucket.+--+-- 'bucketName', 'bucketMetadata_bucketName' - The name of the bucket.+--+-- 'classifiableObjectCount', 'bucketMetadata_classifiableObjectCount' - The total number of objects that Amazon Macie can analyze in the bucket.+-- These objects use a supported storage class and have a file name+-- extension for a supported file or storage format.+--+-- 'classifiableSizeInBytes', 'bucketMetadata_classifiableSizeInBytes' - The total storage size, in bytes, of the objects that Amazon Macie can+-- analyze in the bucket. These objects use a supported storage class and+-- have a file name extension for a supported file or storage format.+--+-- If versioning is enabled for the bucket, Macie calculates this value+-- based on the size of the latest version of each applicable object in the+-- bucket. This value doesn\'t reflect the storage size of all versions of+-- each applicable object in the bucket.+--+-- 'errorCode', 'bucketMetadata_errorCode' - Specifies the error code for an error that prevented Amazon Macie from+-- retrieving and processing information about the bucket and the bucket\'s+-- objects. If this value is ACCESS_DENIED, Macie doesn\'t have permission+-- to retrieve the information. For example, the bucket has a restrictive+-- bucket policy and Amazon S3 denied the request. If this value is null,+-- Macie was able to retrieve and process the information.+--+-- 'errorMessage', 'bucketMetadata_errorMessage' - A brief description of the error (errorCode) that prevented Amazon Macie+-- from retrieving and processing information about the bucket and the+-- bucket\'s objects. This value is null if Macie was able to retrieve and+-- process the information.+--+-- 'jobDetails', 'bucketMetadata_jobDetails' - Specifies whether any one-time or recurring classification jobs are+-- configured to analyze data in the bucket, and, if so, the details of the+-- job that ran most recently.+--+-- 'lastAutomatedDiscoveryTime', 'bucketMetadata_lastAutomatedDiscoveryTime' - The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie most recently performed automated sensitive data discovery for the+-- bucket. This value is null if automated sensitive data discovery is+-- currently disabled for your account.+--+-- 'lastUpdated', 'bucketMetadata_lastUpdated' - The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie most recently retrieved both bucket and object metadata from+-- Amazon S3 for the bucket.+--+-- 'objectCount', 'bucketMetadata_objectCount' - The total number of objects in the bucket.+--+-- 'objectCountByEncryptionType', 'bucketMetadata_objectCountByEncryptionType' - The total number of objects that are in the bucket, grouped by+-- server-side encryption type. This includes a grouping that reports the+-- total number of objects that aren\'t encrypted or use client-side+-- encryption.+--+-- 'publicAccess', 'bucketMetadata_publicAccess' - Specifies whether the bucket is publicly accessible due to the+-- combination of permissions settings that apply to the bucket, and+-- provides information about those settings.+--+-- 'region', 'bucketMetadata_region' - The Amazon Web Services Region that hosts the bucket.+--+-- 'replicationDetails', 'bucketMetadata_replicationDetails' - Specifies whether the bucket is configured to replicate one or more+-- objects to buckets for other Amazon Web Services accounts and, if so,+-- which accounts.+--+-- 'sensitivityScore', 'bucketMetadata_sensitivityScore' - The sensitivity score for the bucket, ranging from -1 (no analysis due+-- to an error) to 100 (sensitive). This value is null if automated+-- sensitive data discovery is currently disabled for your account.+--+-- 'serverSideEncryption', 'bucketMetadata_serverSideEncryption' - Specifies whether the bucket encrypts new objects by default and, if so,+-- the type of server-side encryption that\'s used.+--+-- 'sharedAccess', 'bucketMetadata_sharedAccess' - Specifies whether the bucket is shared with another Amazon Web Services+-- account. Possible values are:+--+-- - EXTERNAL - The bucket is shared with an Amazon Web Services account+-- that isn\'t part of the same Amazon Macie organization.+--+-- - INTERNAL - The bucket is shared with an Amazon Web Services account+-- that\'s part of the same Amazon Macie organization.+--+-- - NOT_SHARED - The bucket isn\'t shared with other Amazon Web Services+-- accounts.+--+-- - UNKNOWN - Amazon Macie wasn\'t able to evaluate the shared access+-- settings for the bucket.+--+-- 'sizeInBytes', 'bucketMetadata_sizeInBytes' - The total storage size, in bytes, of the bucket.+--+-- If versioning is enabled for the bucket, Amazon Macie calculates this+-- value based on the size of the latest version of each object in the+-- bucket. This value doesn\'t reflect the storage size of all versions of+-- each object in the bucket.+--+-- 'sizeInBytesCompressed', 'bucketMetadata_sizeInBytesCompressed' - The total storage size, in bytes, of the objects that are compressed+-- (.gz, .gzip, .zip) files in the bucket.+--+-- If versioning is enabled for the bucket, Amazon Macie calculates this+-- value based on the size of the latest version of each applicable object+-- in the bucket. This value doesn\'t reflect the storage size of all+-- versions of each applicable object in the bucket.+--+-- 'tags', 'bucketMetadata_tags' - An array that specifies the tags (keys and values) that are associated+-- with the bucket.+--+-- 'unclassifiableObjectCount', 'bucketMetadata_unclassifiableObjectCount' - The total number of objects that Amazon Macie can\'t analyze in the+-- bucket. These objects don\'t use a supported storage class or don\'t+-- have a file name extension for a supported file or storage format.+--+-- 'unclassifiableObjectSizeInBytes', 'bucketMetadata_unclassifiableObjectSizeInBytes' - The total storage size, in bytes, of the objects that Amazon Macie+-- can\'t analyze in the bucket. These objects don\'t use a supported+-- storage class or don\'t have a file name extension for a supported file+-- or storage format.+--+-- 'versioning', 'bucketMetadata_versioning' - Specifies whether versioning is enabled for the bucket.+newBucketMetadata ::+ BucketMetadata+newBucketMetadata =+ BucketMetadata'+ { accountId = Prelude.Nothing,+ allowsUnencryptedObjectUploads = Prelude.Nothing,+ bucketArn = Prelude.Nothing,+ bucketCreatedAt = Prelude.Nothing,+ bucketName = Prelude.Nothing,+ classifiableObjectCount = Prelude.Nothing,+ classifiableSizeInBytes = Prelude.Nothing,+ errorCode = Prelude.Nothing,+ errorMessage = Prelude.Nothing,+ jobDetails = Prelude.Nothing,+ lastAutomatedDiscoveryTime = Prelude.Nothing,+ lastUpdated = Prelude.Nothing,+ objectCount = Prelude.Nothing,+ objectCountByEncryptionType = Prelude.Nothing,+ publicAccess = Prelude.Nothing,+ region = Prelude.Nothing,+ replicationDetails = Prelude.Nothing,+ sensitivityScore = Prelude.Nothing,+ serverSideEncryption = Prelude.Nothing,+ sharedAccess = Prelude.Nothing,+ sizeInBytes = Prelude.Nothing,+ sizeInBytesCompressed = Prelude.Nothing,+ tags = Prelude.Nothing,+ unclassifiableObjectCount = Prelude.Nothing,+ unclassifiableObjectSizeInBytes = Prelude.Nothing,+ versioning = Prelude.Nothing+ }++-- | The unique identifier for the Amazon Web Services account that owns the+-- bucket.+bucketMetadata_accountId :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.Text)+bucketMetadata_accountId = Lens.lens (\BucketMetadata' {accountId} -> accountId) (\s@BucketMetadata' {} a -> s {accountId = a} :: BucketMetadata)++-- | Specifies whether the bucket policy for the bucket requires server-side+-- encryption of objects when objects are uploaded to the bucket. Possible+-- values are:+--+-- - FALSE - The bucket policy requires server-side encryption of new+-- objects. PutObject requests must include a valid server-side+-- encryption header.+--+-- - TRUE - The bucket doesn\'t have a bucket policy or it has a bucket+-- policy that doesn\'t require server-side encryption of new objects.+-- If a bucket policy exists, it doesn\'t require PutObject requests to+-- include a valid server-side encryption header.+--+-- - UNKNOWN - Amazon Macie can\'t determine whether the bucket policy+-- requires server-side encryption of new objects.+--+-- Valid server-side encryption headers are: x-amz-server-side-encryption+-- with a value of AES256 or aws:kms, and+-- x-amz-server-side-encryption-customer-algorithm with a value of AES256.+bucketMetadata_allowsUnencryptedObjectUploads :: Lens.Lens' BucketMetadata (Prelude.Maybe AllowsUnencryptedObjectUploads)+bucketMetadata_allowsUnencryptedObjectUploads = Lens.lens (\BucketMetadata' {allowsUnencryptedObjectUploads} -> allowsUnencryptedObjectUploads) (\s@BucketMetadata' {} a -> s {allowsUnencryptedObjectUploads = a} :: BucketMetadata)++-- | The Amazon Resource Name (ARN) of the bucket.+bucketMetadata_bucketArn :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.Text)+bucketMetadata_bucketArn = Lens.lens (\BucketMetadata' {bucketArn} -> bucketArn) (\s@BucketMetadata' {} a -> s {bucketArn = a} :: BucketMetadata)++-- | The date and time, in UTC and extended ISO 8601 format, when the bucket+-- was created, or changes such as edits to the bucket\'s policy were most+-- recently made to the bucket.+bucketMetadata_bucketCreatedAt :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.UTCTime)+bucketMetadata_bucketCreatedAt = Lens.lens (\BucketMetadata' {bucketCreatedAt} -> bucketCreatedAt) (\s@BucketMetadata' {} a -> s {bucketCreatedAt = a} :: BucketMetadata) Prelude.. Lens.mapping Data._Time++-- | The name of the bucket.+bucketMetadata_bucketName :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.Text)+bucketMetadata_bucketName = Lens.lens (\BucketMetadata' {bucketName} -> bucketName) (\s@BucketMetadata' {} a -> s {bucketName = a} :: BucketMetadata)++-- | The total number of objects that Amazon Macie can analyze in the bucket.+-- These objects use a supported storage class and have a file name+-- extension for a supported file or storage format.+bucketMetadata_classifiableObjectCount :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.Integer)+bucketMetadata_classifiableObjectCount = Lens.lens (\BucketMetadata' {classifiableObjectCount} -> classifiableObjectCount) (\s@BucketMetadata' {} a -> s {classifiableObjectCount = a} :: BucketMetadata)++-- | The total storage size, in bytes, of the objects that Amazon Macie can+-- analyze in the bucket. These objects use a supported storage class and+-- have a file name extension for a supported file or storage format.+--+-- If versioning is enabled for the bucket, Macie calculates this value+-- based on the size of the latest version of each applicable object in the+-- bucket. This value doesn\'t reflect the storage size of all versions of+-- each applicable object in the bucket.+bucketMetadata_classifiableSizeInBytes :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.Integer)+bucketMetadata_classifiableSizeInBytes = Lens.lens (\BucketMetadata' {classifiableSizeInBytes} -> classifiableSizeInBytes) (\s@BucketMetadata' {} a -> s {classifiableSizeInBytes = a} :: BucketMetadata)++-- | Specifies the error code for an error that prevented Amazon Macie from+-- retrieving and processing information about the bucket and the bucket\'s+-- objects. If this value is ACCESS_DENIED, Macie doesn\'t have permission+-- to retrieve the information. For example, the bucket has a restrictive+-- bucket policy and Amazon S3 denied the request. If this value is null,+-- Macie was able to retrieve and process the information.+bucketMetadata_errorCode :: Lens.Lens' BucketMetadata (Prelude.Maybe BucketMetadataErrorCode)+bucketMetadata_errorCode = Lens.lens (\BucketMetadata' {errorCode} -> errorCode) (\s@BucketMetadata' {} a -> s {errorCode = a} :: BucketMetadata)++-- | A brief description of the error (errorCode) that prevented Amazon Macie+-- from retrieving and processing information about the bucket and the+-- bucket\'s objects. This value is null if Macie was able to retrieve and+-- process the information.+bucketMetadata_errorMessage :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.Text)+bucketMetadata_errorMessage = Lens.lens (\BucketMetadata' {errorMessage} -> errorMessage) (\s@BucketMetadata' {} a -> s {errorMessage = a} :: BucketMetadata)++-- | Specifies whether any one-time or recurring classification jobs are+-- configured to analyze data in the bucket, and, if so, the details of the+-- job that ran most recently.+bucketMetadata_jobDetails :: Lens.Lens' BucketMetadata (Prelude.Maybe JobDetails)+bucketMetadata_jobDetails = Lens.lens (\BucketMetadata' {jobDetails} -> jobDetails) (\s@BucketMetadata' {} a -> s {jobDetails = a} :: BucketMetadata)++-- | The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie most recently performed automated sensitive data discovery for the+-- bucket. This value is null if automated sensitive data discovery is+-- currently disabled for your account.+bucketMetadata_lastAutomatedDiscoveryTime :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.UTCTime)+bucketMetadata_lastAutomatedDiscoveryTime = Lens.lens (\BucketMetadata' {lastAutomatedDiscoveryTime} -> lastAutomatedDiscoveryTime) (\s@BucketMetadata' {} a -> s {lastAutomatedDiscoveryTime = a} :: BucketMetadata) Prelude.. Lens.mapping Data._Time++-- | The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie most recently retrieved both bucket and object metadata from+-- Amazon S3 for the bucket.+bucketMetadata_lastUpdated :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.UTCTime)+bucketMetadata_lastUpdated = Lens.lens (\BucketMetadata' {lastUpdated} -> lastUpdated) (\s@BucketMetadata' {} a -> s {lastUpdated = a} :: BucketMetadata) Prelude.. Lens.mapping Data._Time++-- | The total number of objects in the bucket.+bucketMetadata_objectCount :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.Integer)+bucketMetadata_objectCount = Lens.lens (\BucketMetadata' {objectCount} -> objectCount) (\s@BucketMetadata' {} a -> s {objectCount = a} :: BucketMetadata)++-- | The total number of objects that are in the bucket, grouped by+-- server-side encryption type. This includes a grouping that reports the+-- total number of objects that aren\'t encrypted or use client-side+-- encryption.+bucketMetadata_objectCountByEncryptionType :: Lens.Lens' BucketMetadata (Prelude.Maybe ObjectCountByEncryptionType)+bucketMetadata_objectCountByEncryptionType = Lens.lens (\BucketMetadata' {objectCountByEncryptionType} -> objectCountByEncryptionType) (\s@BucketMetadata' {} a -> s {objectCountByEncryptionType = a} :: BucketMetadata)++-- | Specifies whether the bucket is publicly accessible due to the+-- combination of permissions settings that apply to the bucket, and+-- provides information about those settings.+bucketMetadata_publicAccess :: Lens.Lens' BucketMetadata (Prelude.Maybe BucketPublicAccess)+bucketMetadata_publicAccess = Lens.lens (\BucketMetadata' {publicAccess} -> publicAccess) (\s@BucketMetadata' {} a -> s {publicAccess = a} :: BucketMetadata)++-- | The Amazon Web Services Region that hosts the bucket.+bucketMetadata_region :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.Text)+bucketMetadata_region = Lens.lens (\BucketMetadata' {region} -> region) (\s@BucketMetadata' {} a -> s {region = a} :: BucketMetadata)++-- | Specifies whether the bucket is configured to replicate one or more+-- objects to buckets for other Amazon Web Services accounts and, if so,+-- which accounts.+bucketMetadata_replicationDetails :: Lens.Lens' BucketMetadata (Prelude.Maybe ReplicationDetails)+bucketMetadata_replicationDetails = Lens.lens (\BucketMetadata' {replicationDetails} -> replicationDetails) (\s@BucketMetadata' {} a -> s {replicationDetails = a} :: BucketMetadata)++-- | The sensitivity score for the bucket, ranging from -1 (no analysis due+-- to an error) to 100 (sensitive). This value is null if automated+-- sensitive data discovery is currently disabled for your account.+bucketMetadata_sensitivityScore :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.Int)+bucketMetadata_sensitivityScore = Lens.lens (\BucketMetadata' {sensitivityScore} -> sensitivityScore) (\s@BucketMetadata' {} a -> s {sensitivityScore = a} :: BucketMetadata)++-- | Specifies whether the bucket encrypts new objects by default and, if so,+-- the type of server-side encryption that\'s used.+bucketMetadata_serverSideEncryption :: Lens.Lens' BucketMetadata (Prelude.Maybe BucketServerSideEncryption)+bucketMetadata_serverSideEncryption = Lens.lens (\BucketMetadata' {serverSideEncryption} -> serverSideEncryption) (\s@BucketMetadata' {} a -> s {serverSideEncryption = a} :: BucketMetadata)++-- | Specifies whether the bucket is shared with another Amazon Web Services+-- account. Possible values are:+--+-- - EXTERNAL - The bucket is shared with an Amazon Web Services account+-- that isn\'t part of the same Amazon Macie organization.+--+-- - INTERNAL - The bucket is shared with an Amazon Web Services account+-- that\'s part of the same Amazon Macie organization.+--+-- - NOT_SHARED - The bucket isn\'t shared with other Amazon Web Services+-- accounts.+--+-- - UNKNOWN - Amazon Macie wasn\'t able to evaluate the shared access+-- settings for the bucket.+bucketMetadata_sharedAccess :: Lens.Lens' BucketMetadata (Prelude.Maybe SharedAccess)+bucketMetadata_sharedAccess = Lens.lens (\BucketMetadata' {sharedAccess} -> sharedAccess) (\s@BucketMetadata' {} a -> s {sharedAccess = a} :: BucketMetadata)++-- | The total storage size, in bytes, of the bucket.+--+-- If versioning is enabled for the bucket, Amazon Macie calculates this+-- value based on the size of the latest version of each object in the+-- bucket. This value doesn\'t reflect the storage size of all versions of+-- each object in the bucket.+bucketMetadata_sizeInBytes :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.Integer)+bucketMetadata_sizeInBytes = Lens.lens (\BucketMetadata' {sizeInBytes} -> sizeInBytes) (\s@BucketMetadata' {} a -> s {sizeInBytes = a} :: BucketMetadata)++-- | The total storage size, in bytes, of the objects that are compressed+-- (.gz, .gzip, .zip) files in the bucket.+--+-- If versioning is enabled for the bucket, Amazon Macie calculates this+-- value based on the size of the latest version of each applicable object+-- in the bucket. This value doesn\'t reflect the storage size of all+-- versions of each applicable object in the bucket.+bucketMetadata_sizeInBytesCompressed :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.Integer)+bucketMetadata_sizeInBytesCompressed = Lens.lens (\BucketMetadata' {sizeInBytesCompressed} -> sizeInBytesCompressed) (\s@BucketMetadata' {} a -> s {sizeInBytesCompressed = a} :: BucketMetadata)++-- | An array that specifies the tags (keys and values) that are associated+-- with the bucket.+bucketMetadata_tags :: Lens.Lens' BucketMetadata (Prelude.Maybe [KeyValuePair])+bucketMetadata_tags = Lens.lens (\BucketMetadata' {tags} -> tags) (\s@BucketMetadata' {} a -> s {tags = a} :: BucketMetadata) Prelude.. Lens.mapping Lens.coerced++-- | The total number of objects that Amazon Macie can\'t analyze in the+-- bucket. These objects don\'t use a supported storage class or don\'t+-- have a file name extension for a supported file or storage format.+bucketMetadata_unclassifiableObjectCount :: Lens.Lens' BucketMetadata (Prelude.Maybe ObjectLevelStatistics)+bucketMetadata_unclassifiableObjectCount = Lens.lens (\BucketMetadata' {unclassifiableObjectCount} -> unclassifiableObjectCount) (\s@BucketMetadata' {} a -> s {unclassifiableObjectCount = a} :: BucketMetadata)++-- | The total storage size, in bytes, of the objects that Amazon Macie+-- can\'t analyze in the bucket. These objects don\'t use a supported+-- storage class or don\'t have a file name extension for a supported file+-- or storage format.+bucketMetadata_unclassifiableObjectSizeInBytes :: Lens.Lens' BucketMetadata (Prelude.Maybe ObjectLevelStatistics)+bucketMetadata_unclassifiableObjectSizeInBytes = Lens.lens (\BucketMetadata' {unclassifiableObjectSizeInBytes} -> unclassifiableObjectSizeInBytes) (\s@BucketMetadata' {} a -> s {unclassifiableObjectSizeInBytes = a} :: BucketMetadata)++-- | Specifies whether versioning is enabled for the bucket.+bucketMetadata_versioning :: Lens.Lens' BucketMetadata (Prelude.Maybe Prelude.Bool)+bucketMetadata_versioning = Lens.lens (\BucketMetadata' {versioning} -> versioning) (\s@BucketMetadata' {} a -> s {versioning = a} :: BucketMetadata)++instance Data.FromJSON BucketMetadata where+ parseJSON =+ Data.withObject+ "BucketMetadata"+ ( \x ->+ BucketMetadata'+ Prelude.<$> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "allowsUnencryptedObjectUploads")+ Prelude.<*> (x Data..:? "bucketArn")+ Prelude.<*> (x Data..:? "bucketCreatedAt")+ Prelude.<*> (x Data..:? "bucketName")+ Prelude.<*> (x Data..:? "classifiableObjectCount")+ Prelude.<*> (x Data..:? "classifiableSizeInBytes")+ Prelude.<*> (x Data..:? "errorCode")+ Prelude.<*> (x Data..:? "errorMessage")+ Prelude.<*> (x Data..:? "jobDetails")+ Prelude.<*> (x Data..:? "lastAutomatedDiscoveryTime")+ Prelude.<*> (x Data..:? "lastUpdated")+ Prelude.<*> (x Data..:? "objectCount")+ Prelude.<*> (x Data..:? "objectCountByEncryptionType")+ Prelude.<*> (x Data..:? "publicAccess")+ Prelude.<*> (x Data..:? "region")+ Prelude.<*> (x Data..:? "replicationDetails")+ Prelude.<*> (x Data..:? "sensitivityScore")+ Prelude.<*> (x Data..:? "serverSideEncryption")+ Prelude.<*> (x Data..:? "sharedAccess")+ Prelude.<*> (x Data..:? "sizeInBytes")+ Prelude.<*> (x Data..:? "sizeInBytesCompressed")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "unclassifiableObjectCount")+ Prelude.<*> (x Data..:? "unclassifiableObjectSizeInBytes")+ Prelude.<*> (x Data..:? "versioning")+ )++instance Prelude.Hashable BucketMetadata where+ hashWithSalt _salt BucketMetadata' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` allowsUnencryptedObjectUploads+ `Prelude.hashWithSalt` bucketArn+ `Prelude.hashWithSalt` bucketCreatedAt+ `Prelude.hashWithSalt` bucketName+ `Prelude.hashWithSalt` classifiableObjectCount+ `Prelude.hashWithSalt` classifiableSizeInBytes+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` jobDetails+ `Prelude.hashWithSalt` lastAutomatedDiscoveryTime+ `Prelude.hashWithSalt` lastUpdated+ `Prelude.hashWithSalt` objectCount+ `Prelude.hashWithSalt` objectCountByEncryptionType+ `Prelude.hashWithSalt` publicAccess+ `Prelude.hashWithSalt` region+ `Prelude.hashWithSalt` replicationDetails+ `Prelude.hashWithSalt` sensitivityScore+ `Prelude.hashWithSalt` serverSideEncryption+ `Prelude.hashWithSalt` sharedAccess+ `Prelude.hashWithSalt` sizeInBytes+ `Prelude.hashWithSalt` sizeInBytesCompressed+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` unclassifiableObjectCount+ `Prelude.hashWithSalt` unclassifiableObjectSizeInBytes+ `Prelude.hashWithSalt` versioning++instance Prelude.NFData BucketMetadata where+ rnf BucketMetadata' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf allowsUnencryptedObjectUploads+ `Prelude.seq` Prelude.rnf bucketArn+ `Prelude.seq` Prelude.rnf bucketCreatedAt+ `Prelude.seq` Prelude.rnf bucketName+ `Prelude.seq` Prelude.rnf classifiableObjectCount+ `Prelude.seq` Prelude.rnf classifiableSizeInBytes+ `Prelude.seq` Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf jobDetails+ `Prelude.seq` Prelude.rnf lastAutomatedDiscoveryTime+ `Prelude.seq` Prelude.rnf lastUpdated+ `Prelude.seq` Prelude.rnf objectCount+ `Prelude.seq` Prelude.rnf objectCountByEncryptionType+ `Prelude.seq` Prelude.rnf publicAccess+ `Prelude.seq` Prelude.rnf region+ `Prelude.seq` Prelude.rnf replicationDetails+ `Prelude.seq` Prelude.rnf sensitivityScore+ `Prelude.seq` Prelude.rnf serverSideEncryption+ `Prelude.seq` Prelude.rnf sharedAccess+ `Prelude.seq` Prelude.rnf sizeInBytes+ `Prelude.seq` Prelude.rnf+ sizeInBytesCompressed+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf+ unclassifiableObjectCount+ `Prelude.seq` Prelude.rnf+ unclassifiableObjectSizeInBytes+ `Prelude.seq` Prelude.rnf+ versioning
+ gen/Amazonka/MacieV2/Types/BucketMetadataErrorCode.hs view
@@ -0,0 +1,69 @@+{-# 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.MacieV2.Types.BucketMetadataErrorCode+-- 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.MacieV2.Types.BucketMetadataErrorCode+ ( BucketMetadataErrorCode+ ( ..,+ BucketMetadataErrorCode_ACCESS_DENIED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The error code for an error that prevented Amazon Macie from retrieving+-- and processing metadata from Amazon S3 for an S3 bucket and the+-- bucket\'s objects.+newtype BucketMetadataErrorCode = BucketMetadataErrorCode'+ { fromBucketMetadataErrorCode ::+ 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 BucketMetadataErrorCode_ACCESS_DENIED :: BucketMetadataErrorCode+pattern BucketMetadataErrorCode_ACCESS_DENIED = BucketMetadataErrorCode' "ACCESS_DENIED"++{-# COMPLETE+ BucketMetadataErrorCode_ACCESS_DENIED,+ BucketMetadataErrorCode'+ #-}
+ gen/Amazonka/MacieV2/Types/BucketPermissionConfiguration.hs view
@@ -0,0 +1,91 @@+{-# 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.MacieV2.Types.BucketPermissionConfiguration+-- 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.MacieV2.Types.BucketPermissionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.AccountLevelPermissions+import Amazonka.MacieV2.Types.BucketLevelPermissions+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the account-level and bucket-level+-- permissions settings for an S3 bucket.+--+-- /See:/ 'newBucketPermissionConfiguration' smart constructor.+data BucketPermissionConfiguration = BucketPermissionConfiguration'+ { -- | The account-level permissions settings that apply to the bucket.+ accountLevelPermissions :: Prelude.Maybe AccountLevelPermissions,+ -- | The bucket-level permissions settings for the bucket.+ bucketLevelPermissions :: Prelude.Maybe BucketLevelPermissions+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketPermissionConfiguration' 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:+--+-- 'accountLevelPermissions', 'bucketPermissionConfiguration_accountLevelPermissions' - The account-level permissions settings that apply to the bucket.+--+-- 'bucketLevelPermissions', 'bucketPermissionConfiguration_bucketLevelPermissions' - The bucket-level permissions settings for the bucket.+newBucketPermissionConfiguration ::+ BucketPermissionConfiguration+newBucketPermissionConfiguration =+ BucketPermissionConfiguration'+ { accountLevelPermissions =+ Prelude.Nothing,+ bucketLevelPermissions = Prelude.Nothing+ }++-- | The account-level permissions settings that apply to the bucket.+bucketPermissionConfiguration_accountLevelPermissions :: Lens.Lens' BucketPermissionConfiguration (Prelude.Maybe AccountLevelPermissions)+bucketPermissionConfiguration_accountLevelPermissions = Lens.lens (\BucketPermissionConfiguration' {accountLevelPermissions} -> accountLevelPermissions) (\s@BucketPermissionConfiguration' {} a -> s {accountLevelPermissions = a} :: BucketPermissionConfiguration)++-- | The bucket-level permissions settings for the bucket.+bucketPermissionConfiguration_bucketLevelPermissions :: Lens.Lens' BucketPermissionConfiguration (Prelude.Maybe BucketLevelPermissions)+bucketPermissionConfiguration_bucketLevelPermissions = Lens.lens (\BucketPermissionConfiguration' {bucketLevelPermissions} -> bucketLevelPermissions) (\s@BucketPermissionConfiguration' {} a -> s {bucketLevelPermissions = a} :: BucketPermissionConfiguration)++instance Data.FromJSON BucketPermissionConfiguration where+ parseJSON =+ Data.withObject+ "BucketPermissionConfiguration"+ ( \x ->+ BucketPermissionConfiguration'+ Prelude.<$> (x Data..:? "accountLevelPermissions")+ Prelude.<*> (x Data..:? "bucketLevelPermissions")+ )++instance+ Prelude.Hashable+ BucketPermissionConfiguration+ where+ hashWithSalt _salt BucketPermissionConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` accountLevelPermissions+ `Prelude.hashWithSalt` bucketLevelPermissions++instance Prelude.NFData BucketPermissionConfiguration where+ rnf BucketPermissionConfiguration' {..} =+ Prelude.rnf accountLevelPermissions+ `Prelude.seq` Prelude.rnf bucketLevelPermissions
+ gen/Amazonka/MacieV2/Types/BucketPolicy.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.Types.BucketPolicy+-- 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.MacieV2.Types.BucketPolicy 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++-- | Provides information about the permissions settings of the bucket policy+-- for an S3 bucket.+--+-- /See:/ 'newBucketPolicy' smart constructor.+data BucketPolicy = BucketPolicy'+ { -- | Specifies whether the bucket policy allows the general public to have+ -- read access to the bucket.+ allowsPublicReadAccess :: Prelude.Maybe Prelude.Bool,+ -- | Specifies whether the bucket policy allows the general public to have+ -- write access to the bucket.+ allowsPublicWriteAccess :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketPolicy' 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:+--+-- 'allowsPublicReadAccess', 'bucketPolicy_allowsPublicReadAccess' - Specifies whether the bucket policy allows the general public to have+-- read access to the bucket.+--+-- 'allowsPublicWriteAccess', 'bucketPolicy_allowsPublicWriteAccess' - Specifies whether the bucket policy allows the general public to have+-- write access to the bucket.+newBucketPolicy ::+ BucketPolicy+newBucketPolicy =+ BucketPolicy'+ { allowsPublicReadAccess =+ Prelude.Nothing,+ allowsPublicWriteAccess = Prelude.Nothing+ }++-- | Specifies whether the bucket policy allows the general public to have+-- read access to the bucket.+bucketPolicy_allowsPublicReadAccess :: Lens.Lens' BucketPolicy (Prelude.Maybe Prelude.Bool)+bucketPolicy_allowsPublicReadAccess = Lens.lens (\BucketPolicy' {allowsPublicReadAccess} -> allowsPublicReadAccess) (\s@BucketPolicy' {} a -> s {allowsPublicReadAccess = a} :: BucketPolicy)++-- | Specifies whether the bucket policy allows the general public to have+-- write access to the bucket.+bucketPolicy_allowsPublicWriteAccess :: Lens.Lens' BucketPolicy (Prelude.Maybe Prelude.Bool)+bucketPolicy_allowsPublicWriteAccess = Lens.lens (\BucketPolicy' {allowsPublicWriteAccess} -> allowsPublicWriteAccess) (\s@BucketPolicy' {} a -> s {allowsPublicWriteAccess = a} :: BucketPolicy)++instance Data.FromJSON BucketPolicy where+ parseJSON =+ Data.withObject+ "BucketPolicy"+ ( \x ->+ BucketPolicy'+ Prelude.<$> (x Data..:? "allowsPublicReadAccess")+ Prelude.<*> (x Data..:? "allowsPublicWriteAccess")+ )++instance Prelude.Hashable BucketPolicy where+ hashWithSalt _salt BucketPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` allowsPublicReadAccess+ `Prelude.hashWithSalt` allowsPublicWriteAccess++instance Prelude.NFData BucketPolicy where+ rnf BucketPolicy' {..} =+ Prelude.rnf allowsPublicReadAccess+ `Prelude.seq` Prelude.rnf allowsPublicWriteAccess
+ gen/Amazonka/MacieV2/Types/BucketPublicAccess.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.MacieV2.Types.BucketPublicAccess+-- 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.MacieV2.Types.BucketPublicAccess where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.BucketPermissionConfiguration+import Amazonka.MacieV2.Types.EffectivePermission+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the permissions settings that determine+-- whether an S3 bucket is publicly accessible.+--+-- /See:/ 'newBucketPublicAccess' smart constructor.+data BucketPublicAccess = BucketPublicAccess'+ { -- | Specifies whether the bucket is publicly accessible due to the+ -- combination of permissions settings that apply to the bucket. Possible+ -- values are:+ --+ -- - NOT_PUBLIC - The bucket isn\'t publicly accessible.+ --+ -- - PUBLIC - The bucket is publicly accessible.+ --+ -- - UNKNOWN - Amazon Macie can\'t determine whether the bucket is+ -- publicly accessible.+ effectivePermission :: Prelude.Maybe EffectivePermission,+ -- | The account-level and bucket-level permissions settings for the bucket.+ permissionConfiguration :: Prelude.Maybe BucketPermissionConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketPublicAccess' 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:+--+-- 'effectivePermission', 'bucketPublicAccess_effectivePermission' - Specifies whether the bucket is publicly accessible due to the+-- combination of permissions settings that apply to the bucket. Possible+-- values are:+--+-- - NOT_PUBLIC - The bucket isn\'t publicly accessible.+--+-- - PUBLIC - The bucket is publicly accessible.+--+-- - UNKNOWN - Amazon Macie can\'t determine whether the bucket is+-- publicly accessible.+--+-- 'permissionConfiguration', 'bucketPublicAccess_permissionConfiguration' - The account-level and bucket-level permissions settings for the bucket.+newBucketPublicAccess ::+ BucketPublicAccess+newBucketPublicAccess =+ BucketPublicAccess'+ { effectivePermission =+ Prelude.Nothing,+ permissionConfiguration = Prelude.Nothing+ }++-- | Specifies whether the bucket is publicly accessible due to the+-- combination of permissions settings that apply to the bucket. Possible+-- values are:+--+-- - NOT_PUBLIC - The bucket isn\'t publicly accessible.+--+-- - PUBLIC - The bucket is publicly accessible.+--+-- - UNKNOWN - Amazon Macie can\'t determine whether the bucket is+-- publicly accessible.+bucketPublicAccess_effectivePermission :: Lens.Lens' BucketPublicAccess (Prelude.Maybe EffectivePermission)+bucketPublicAccess_effectivePermission = Lens.lens (\BucketPublicAccess' {effectivePermission} -> effectivePermission) (\s@BucketPublicAccess' {} a -> s {effectivePermission = a} :: BucketPublicAccess)++-- | The account-level and bucket-level permissions settings for the bucket.+bucketPublicAccess_permissionConfiguration :: Lens.Lens' BucketPublicAccess (Prelude.Maybe BucketPermissionConfiguration)+bucketPublicAccess_permissionConfiguration = Lens.lens (\BucketPublicAccess' {permissionConfiguration} -> permissionConfiguration) (\s@BucketPublicAccess' {} a -> s {permissionConfiguration = a} :: BucketPublicAccess)++instance Data.FromJSON BucketPublicAccess where+ parseJSON =+ Data.withObject+ "BucketPublicAccess"+ ( \x ->+ BucketPublicAccess'+ Prelude.<$> (x Data..:? "effectivePermission")+ Prelude.<*> (x Data..:? "permissionConfiguration")+ )++instance Prelude.Hashable BucketPublicAccess where+ hashWithSalt _salt BucketPublicAccess' {..} =+ _salt+ `Prelude.hashWithSalt` effectivePermission+ `Prelude.hashWithSalt` permissionConfiguration++instance Prelude.NFData BucketPublicAccess where+ rnf BucketPublicAccess' {..} =+ Prelude.rnf effectivePermission+ `Prelude.seq` Prelude.rnf permissionConfiguration
+ gen/Amazonka/MacieV2/Types/BucketServerSideEncryption.hs view
@@ -0,0 +1,134 @@+{-# 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.MacieV2.Types.BucketServerSideEncryption+-- 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.MacieV2.Types.BucketServerSideEncryption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.Type+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the default server-side encryption settings+-- for an S3 bucket. For detailed information about these settings, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html Setting default server-side encryption behavior for Amazon S3 buckets>+-- in the /Amazon Simple Storage Service User Guide/.+--+-- /See:/ 'newBucketServerSideEncryption' smart constructor.+data BucketServerSideEncryption = BucketServerSideEncryption'+ { -- | The Amazon Resource Name (ARN) or unique identifier (key ID) for the KMS+ -- key that\'s used by default to encrypt objects that are added to the+ -- bucket. This value is null if the bucket uses an Amazon S3 managed key+ -- to encrypt new objects or the bucket doesn\'t encrypt new objects by+ -- default.+ kmsMasterKeyId :: Prelude.Maybe Prelude.Text,+ -- | The type of server-side encryption that\'s used by default when storing+ -- new objects in the bucket. Possible values are:+ --+ -- - AES256 - New objects are encrypted with an Amazon S3 managed key.+ -- They use SSE-S3 encryption.+ --+ -- - aws:kms - New objects are encrypted with an KMS key+ -- (kmsMasterKeyId), either an Amazon Web Services managed key or a+ -- customer managed key. They use SSE-KMS encryption.+ --+ -- - NONE - New objects aren\'t encrypted by default. Default encryption+ -- is disabled for the bucket.+ type' :: Prelude.Maybe Type+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketServerSideEncryption' 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:+--+-- 'kmsMasterKeyId', 'bucketServerSideEncryption_kmsMasterKeyId' - The Amazon Resource Name (ARN) or unique identifier (key ID) for the KMS+-- key that\'s used by default to encrypt objects that are added to the+-- bucket. This value is null if the bucket uses an Amazon S3 managed key+-- to encrypt new objects or the bucket doesn\'t encrypt new objects by+-- default.+--+-- 'type'', 'bucketServerSideEncryption_type' - The type of server-side encryption that\'s used by default when storing+-- new objects in the bucket. Possible values are:+--+-- - AES256 - New objects are encrypted with an Amazon S3 managed key.+-- They use SSE-S3 encryption.+--+-- - aws:kms - New objects are encrypted with an KMS key+-- (kmsMasterKeyId), either an Amazon Web Services managed key or a+-- customer managed key. They use SSE-KMS encryption.+--+-- - NONE - New objects aren\'t encrypted by default. Default encryption+-- is disabled for the bucket.+newBucketServerSideEncryption ::+ BucketServerSideEncryption+newBucketServerSideEncryption =+ BucketServerSideEncryption'+ { kmsMasterKeyId =+ Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) or unique identifier (key ID) for the KMS+-- key that\'s used by default to encrypt objects that are added to the+-- bucket. This value is null if the bucket uses an Amazon S3 managed key+-- to encrypt new objects or the bucket doesn\'t encrypt new objects by+-- default.+bucketServerSideEncryption_kmsMasterKeyId :: Lens.Lens' BucketServerSideEncryption (Prelude.Maybe Prelude.Text)+bucketServerSideEncryption_kmsMasterKeyId = Lens.lens (\BucketServerSideEncryption' {kmsMasterKeyId} -> kmsMasterKeyId) (\s@BucketServerSideEncryption' {} a -> s {kmsMasterKeyId = a} :: BucketServerSideEncryption)++-- | The type of server-side encryption that\'s used by default when storing+-- new objects in the bucket. Possible values are:+--+-- - AES256 - New objects are encrypted with an Amazon S3 managed key.+-- They use SSE-S3 encryption.+--+-- - aws:kms - New objects are encrypted with an KMS key+-- (kmsMasterKeyId), either an Amazon Web Services managed key or a+-- customer managed key. They use SSE-KMS encryption.+--+-- - NONE - New objects aren\'t encrypted by default. Default encryption+-- is disabled for the bucket.+bucketServerSideEncryption_type :: Lens.Lens' BucketServerSideEncryption (Prelude.Maybe Type)+bucketServerSideEncryption_type = Lens.lens (\BucketServerSideEncryption' {type'} -> type') (\s@BucketServerSideEncryption' {} a -> s {type' = a} :: BucketServerSideEncryption)++instance Data.FromJSON BucketServerSideEncryption where+ parseJSON =+ Data.withObject+ "BucketServerSideEncryption"+ ( \x ->+ BucketServerSideEncryption'+ Prelude.<$> (x Data..:? "kmsMasterKeyId")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable BucketServerSideEncryption where+ hashWithSalt _salt BucketServerSideEncryption' {..} =+ _salt+ `Prelude.hashWithSalt` kmsMasterKeyId+ `Prelude.hashWithSalt` type'++instance Prelude.NFData BucketServerSideEncryption where+ rnf BucketServerSideEncryption' {..} =+ Prelude.rnf kmsMasterKeyId+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/MacieV2/Types/BucketSortCriteria.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.MacieV2.Types.BucketSortCriteria+-- 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.MacieV2.Types.BucketSortCriteria where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.OrderBy+import qualified Amazonka.Prelude as Prelude++-- | Specifies criteria for sorting the results of a query for information+-- about S3 buckets.+--+-- /See:/ 'newBucketSortCriteria' smart constructor.+data BucketSortCriteria = BucketSortCriteria'+ { -- | The name of the bucket property to sort the results by. This value can+ -- be one of the following properties that Amazon Macie defines as bucket+ -- metadata: accountId, bucketName, classifiableObjectCount,+ -- classifiableSizeInBytes, objectCount, sensitivityScore, or sizeInBytes.+ attributeName :: Prelude.Maybe Prelude.Text,+ -- | The sort order to apply to the results, based on the value specified by+ -- the attributeName property. Valid values are: ASC, sort the results in+ -- ascending order; and, DESC, sort the results in descending order.+ orderBy :: Prelude.Maybe OrderBy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketSortCriteria' 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:+--+-- 'attributeName', 'bucketSortCriteria_attributeName' - The name of the bucket property to sort the results by. This value can+-- be one of the following properties that Amazon Macie defines as bucket+-- metadata: accountId, bucketName, classifiableObjectCount,+-- classifiableSizeInBytes, objectCount, sensitivityScore, or sizeInBytes.+--+-- 'orderBy', 'bucketSortCriteria_orderBy' - The sort order to apply to the results, based on the value specified by+-- the attributeName property. Valid values are: ASC, sort the results in+-- ascending order; and, DESC, sort the results in descending order.+newBucketSortCriteria ::+ BucketSortCriteria+newBucketSortCriteria =+ BucketSortCriteria'+ { attributeName =+ Prelude.Nothing,+ orderBy = Prelude.Nothing+ }++-- | The name of the bucket property to sort the results by. This value can+-- be one of the following properties that Amazon Macie defines as bucket+-- metadata: accountId, bucketName, classifiableObjectCount,+-- classifiableSizeInBytes, objectCount, sensitivityScore, or sizeInBytes.+bucketSortCriteria_attributeName :: Lens.Lens' BucketSortCriteria (Prelude.Maybe Prelude.Text)+bucketSortCriteria_attributeName = Lens.lens (\BucketSortCriteria' {attributeName} -> attributeName) (\s@BucketSortCriteria' {} a -> s {attributeName = a} :: BucketSortCriteria)++-- | The sort order to apply to the results, based on the value specified by+-- the attributeName property. Valid values are: ASC, sort the results in+-- ascending order; and, DESC, sort the results in descending order.+bucketSortCriteria_orderBy :: Lens.Lens' BucketSortCriteria (Prelude.Maybe OrderBy)+bucketSortCriteria_orderBy = Lens.lens (\BucketSortCriteria' {orderBy} -> orderBy) (\s@BucketSortCriteria' {} a -> s {orderBy = a} :: BucketSortCriteria)++instance Prelude.Hashable BucketSortCriteria where+ hashWithSalt _salt BucketSortCriteria' {..} =+ _salt+ `Prelude.hashWithSalt` attributeName+ `Prelude.hashWithSalt` orderBy++instance Prelude.NFData BucketSortCriteria where+ rnf BucketSortCriteria' {..} =+ Prelude.rnf attributeName+ `Prelude.seq` Prelude.rnf orderBy++instance Data.ToJSON BucketSortCriteria where+ toJSON BucketSortCriteria' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("attributeName" Data..=) Prelude.<$> attributeName,+ ("orderBy" Data..=) Prelude.<$> orderBy+ ]+ )
+ gen/Amazonka/MacieV2/Types/BucketStatisticsBySensitivity.hs view
@@ -0,0 +1,128 @@+{-# 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.MacieV2.Types.BucketStatisticsBySensitivity+-- 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.MacieV2.Types.BucketStatisticsBySensitivity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.SensitivityAggregations+import qualified Amazonka.Prelude as Prelude++-- | Provides aggregated statistical data for sensitive data discovery+-- metrics that apply to S3 buckets, grouped by bucket sensitivity score+-- (sensitivityScore). If automated sensitive data discovery is currently+-- disabled for your account, the value for each metric is 0.+--+-- /See:/ 'newBucketStatisticsBySensitivity' smart constructor.+data BucketStatisticsBySensitivity = BucketStatisticsBySensitivity'+ { -- | The aggregated statistical data for all buckets that have a sensitivity+ -- score of -1.+ classificationError :: Prelude.Maybe SensitivityAggregations,+ -- | The aggregated statistical data for all buckets that have a sensitivity+ -- score of 50.+ notClassified :: Prelude.Maybe SensitivityAggregations,+ -- | The aggregated statistical data for all buckets that have a sensitivity+ -- score of 0-49.+ notSensitive :: Prelude.Maybe SensitivityAggregations,+ -- | The aggregated statistical data for all buckets that have a sensitivity+ -- score of 51-100.+ sensitive :: Prelude.Maybe SensitivityAggregations+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketStatisticsBySensitivity' 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:+--+-- 'classificationError', 'bucketStatisticsBySensitivity_classificationError' - The aggregated statistical data for all buckets that have a sensitivity+-- score of -1.+--+-- 'notClassified', 'bucketStatisticsBySensitivity_notClassified' - The aggregated statistical data for all buckets that have a sensitivity+-- score of 50.+--+-- 'notSensitive', 'bucketStatisticsBySensitivity_notSensitive' - The aggregated statistical data for all buckets that have a sensitivity+-- score of 0-49.+--+-- 'sensitive', 'bucketStatisticsBySensitivity_sensitive' - The aggregated statistical data for all buckets that have a sensitivity+-- score of 51-100.+newBucketStatisticsBySensitivity ::+ BucketStatisticsBySensitivity+newBucketStatisticsBySensitivity =+ BucketStatisticsBySensitivity'+ { classificationError =+ Prelude.Nothing,+ notClassified = Prelude.Nothing,+ notSensitive = Prelude.Nothing,+ sensitive = Prelude.Nothing+ }++-- | The aggregated statistical data for all buckets that have a sensitivity+-- score of -1.+bucketStatisticsBySensitivity_classificationError :: Lens.Lens' BucketStatisticsBySensitivity (Prelude.Maybe SensitivityAggregations)+bucketStatisticsBySensitivity_classificationError = Lens.lens (\BucketStatisticsBySensitivity' {classificationError} -> classificationError) (\s@BucketStatisticsBySensitivity' {} a -> s {classificationError = a} :: BucketStatisticsBySensitivity)++-- | The aggregated statistical data for all buckets that have a sensitivity+-- score of 50.+bucketStatisticsBySensitivity_notClassified :: Lens.Lens' BucketStatisticsBySensitivity (Prelude.Maybe SensitivityAggregations)+bucketStatisticsBySensitivity_notClassified = Lens.lens (\BucketStatisticsBySensitivity' {notClassified} -> notClassified) (\s@BucketStatisticsBySensitivity' {} a -> s {notClassified = a} :: BucketStatisticsBySensitivity)++-- | The aggregated statistical data for all buckets that have a sensitivity+-- score of 0-49.+bucketStatisticsBySensitivity_notSensitive :: Lens.Lens' BucketStatisticsBySensitivity (Prelude.Maybe SensitivityAggregations)+bucketStatisticsBySensitivity_notSensitive = Lens.lens (\BucketStatisticsBySensitivity' {notSensitive} -> notSensitive) (\s@BucketStatisticsBySensitivity' {} a -> s {notSensitive = a} :: BucketStatisticsBySensitivity)++-- | The aggregated statistical data for all buckets that have a sensitivity+-- score of 51-100.+bucketStatisticsBySensitivity_sensitive :: Lens.Lens' BucketStatisticsBySensitivity (Prelude.Maybe SensitivityAggregations)+bucketStatisticsBySensitivity_sensitive = Lens.lens (\BucketStatisticsBySensitivity' {sensitive} -> sensitive) (\s@BucketStatisticsBySensitivity' {} a -> s {sensitive = a} :: BucketStatisticsBySensitivity)++instance Data.FromJSON BucketStatisticsBySensitivity where+ parseJSON =+ Data.withObject+ "BucketStatisticsBySensitivity"+ ( \x ->+ BucketStatisticsBySensitivity'+ Prelude.<$> (x Data..:? "classificationError")+ Prelude.<*> (x Data..:? "notClassified")+ Prelude.<*> (x Data..:? "notSensitive")+ Prelude.<*> (x Data..:? "sensitive")+ )++instance+ Prelude.Hashable+ BucketStatisticsBySensitivity+ where+ hashWithSalt _salt BucketStatisticsBySensitivity' {..} =+ _salt+ `Prelude.hashWithSalt` classificationError+ `Prelude.hashWithSalt` notClassified+ `Prelude.hashWithSalt` notSensitive+ `Prelude.hashWithSalt` sensitive++instance Prelude.NFData BucketStatisticsBySensitivity where+ rnf BucketStatisticsBySensitivity' {..} =+ Prelude.rnf classificationError+ `Prelude.seq` Prelude.rnf notClassified+ `Prelude.seq` Prelude.rnf notSensitive+ `Prelude.seq` Prelude.rnf sensitive
+ gen/Amazonka/MacieV2/Types/Cell.hs view
@@ -0,0 +1,124 @@+{-# 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.MacieV2.Types.Cell+-- 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.MacieV2.Types.Cell 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++-- | Specifies the location of an occurrence of sensitive data in a Microsoft+-- Excel workbook, CSV file, or TSV file.+--+-- /See:/ 'newCell' smart constructor.+data Cell = Cell'+ { -- | The location of the cell, as an absolute cell reference, that contains+ -- the sensitive data, for example Sheet2!C5 for cell C5 on Sheet2 in a+ -- Microsoft Excel workbook. This value is null for CSV and TSV files.+ cellReference :: Prelude.Maybe Prelude.Text,+ -- | The column number of the column that contains the sensitive data. For a+ -- Microsoft Excel workbook, this value correlates to the alphabetical+ -- character(s) for a column identifier, for example: 1 for column A, 2 for+ -- column B, and so on.+ column :: Prelude.Maybe Prelude.Integer,+ -- | The name of the column that contains the sensitive data, if available.+ columnName :: Prelude.Maybe Prelude.Text,+ -- | The row number of the row that contains the sensitive data.+ row :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Cell' 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:+--+-- 'cellReference', 'cell_cellReference' - The location of the cell, as an absolute cell reference, that contains+-- the sensitive data, for example Sheet2!C5 for cell C5 on Sheet2 in a+-- Microsoft Excel workbook. This value is null for CSV and TSV files.+--+-- 'column', 'cell_column' - The column number of the column that contains the sensitive data. For a+-- Microsoft Excel workbook, this value correlates to the alphabetical+-- character(s) for a column identifier, for example: 1 for column A, 2 for+-- column B, and so on.+--+-- 'columnName', 'cell_columnName' - The name of the column that contains the sensitive data, if available.+--+-- 'row', 'cell_row' - The row number of the row that contains the sensitive data.+newCell ::+ Cell+newCell =+ Cell'+ { cellReference = Prelude.Nothing,+ column = Prelude.Nothing,+ columnName = Prelude.Nothing,+ row = Prelude.Nothing+ }++-- | The location of the cell, as an absolute cell reference, that contains+-- the sensitive data, for example Sheet2!C5 for cell C5 on Sheet2 in a+-- Microsoft Excel workbook. This value is null for CSV and TSV files.+cell_cellReference :: Lens.Lens' Cell (Prelude.Maybe Prelude.Text)+cell_cellReference = Lens.lens (\Cell' {cellReference} -> cellReference) (\s@Cell' {} a -> s {cellReference = a} :: Cell)++-- | The column number of the column that contains the sensitive data. For a+-- Microsoft Excel workbook, this value correlates to the alphabetical+-- character(s) for a column identifier, for example: 1 for column A, 2 for+-- column B, and so on.+cell_column :: Lens.Lens' Cell (Prelude.Maybe Prelude.Integer)+cell_column = Lens.lens (\Cell' {column} -> column) (\s@Cell' {} a -> s {column = a} :: Cell)++-- | The name of the column that contains the sensitive data, if available.+cell_columnName :: Lens.Lens' Cell (Prelude.Maybe Prelude.Text)+cell_columnName = Lens.lens (\Cell' {columnName} -> columnName) (\s@Cell' {} a -> s {columnName = a} :: Cell)++-- | The row number of the row that contains the sensitive data.+cell_row :: Lens.Lens' Cell (Prelude.Maybe Prelude.Integer)+cell_row = Lens.lens (\Cell' {row} -> row) (\s@Cell' {} a -> s {row = a} :: Cell)++instance Data.FromJSON Cell where+ parseJSON =+ Data.withObject+ "Cell"+ ( \x ->+ Cell'+ Prelude.<$> (x Data..:? "cellReference")+ Prelude.<*> (x Data..:? "column")+ Prelude.<*> (x Data..:? "columnName")+ Prelude.<*> (x Data..:? "row")+ )++instance Prelude.Hashable Cell where+ hashWithSalt _salt Cell' {..} =+ _salt+ `Prelude.hashWithSalt` cellReference+ `Prelude.hashWithSalt` column+ `Prelude.hashWithSalt` columnName+ `Prelude.hashWithSalt` row++instance Prelude.NFData Cell where+ rnf Cell' {..} =+ Prelude.rnf cellReference+ `Prelude.seq` Prelude.rnf column+ `Prelude.seq` Prelude.rnf columnName+ `Prelude.seq` Prelude.rnf row
+ gen/Amazonka/MacieV2/Types/ClassificationDetails.hs view
@@ -0,0 +1,154 @@+{-# 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.MacieV2.Types.ClassificationDetails+-- 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.MacieV2.Types.ClassificationDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.ClassificationResult+import Amazonka.MacieV2.Types.OriginType+import qualified Amazonka.Prelude as Prelude++-- | Provides information about a sensitive data finding and the details of+-- the finding.+--+-- /See:/ 'newClassificationDetails' smart constructor.+data ClassificationDetails = ClassificationDetails'+ { -- | The path to the folder or file in Amazon S3 that contains the+ -- corresponding sensitive data discovery result for the finding. If a+ -- finding applies to a large archive or compressed file, this value is the+ -- path to a folder. Otherwise, this value is the path to a file.+ detailedResultsLocation :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the classification job that produced+ -- the finding. This value is null if the origin of the finding+ -- (originType) is AUTOMATED_SENSITIVE_DATA_DISCOVERY.+ jobArn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the classification job that produced the+ -- finding. This value is null if the origin of the finding (originType) is+ -- AUTOMATED_SENSITIVE_DATA_DISCOVERY.+ jobId :: Prelude.Maybe Prelude.Text,+ -- | Specifies how Amazon Macie found the sensitive data that produced the+ -- finding. Possible values are: SENSITIVE_DATA_DISCOVERY_JOB, for a+ -- classification job; and, AUTOMATED_SENSITIVE_DATA_DISCOVERY, for+ -- automated sensitive data discovery.+ originType :: Prelude.Maybe OriginType,+ -- | The status and other details of the finding.+ result :: Prelude.Maybe ClassificationResult+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClassificationDetails' 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:+--+-- 'detailedResultsLocation', 'classificationDetails_detailedResultsLocation' - The path to the folder or file in Amazon S3 that contains the+-- corresponding sensitive data discovery result for the finding. If a+-- finding applies to a large archive or compressed file, this value is the+-- path to a folder. Otherwise, this value is the path to a file.+--+-- 'jobArn', 'classificationDetails_jobArn' - The Amazon Resource Name (ARN) of the classification job that produced+-- the finding. This value is null if the origin of the finding+-- (originType) is AUTOMATED_SENSITIVE_DATA_DISCOVERY.+--+-- 'jobId', 'classificationDetails_jobId' - The unique identifier for the classification job that produced the+-- finding. This value is null if the origin of the finding (originType) is+-- AUTOMATED_SENSITIVE_DATA_DISCOVERY.+--+-- 'originType', 'classificationDetails_originType' - Specifies how Amazon Macie found the sensitive data that produced the+-- finding. Possible values are: SENSITIVE_DATA_DISCOVERY_JOB, for a+-- classification job; and, AUTOMATED_SENSITIVE_DATA_DISCOVERY, for+-- automated sensitive data discovery.+--+-- 'result', 'classificationDetails_result' - The status and other details of the finding.+newClassificationDetails ::+ ClassificationDetails+newClassificationDetails =+ ClassificationDetails'+ { detailedResultsLocation =+ Prelude.Nothing,+ jobArn = Prelude.Nothing,+ jobId = Prelude.Nothing,+ originType = Prelude.Nothing,+ result = Prelude.Nothing+ }++-- | The path to the folder or file in Amazon S3 that contains the+-- corresponding sensitive data discovery result for the finding. If a+-- finding applies to a large archive or compressed file, this value is the+-- path to a folder. Otherwise, this value is the path to a file.+classificationDetails_detailedResultsLocation :: Lens.Lens' ClassificationDetails (Prelude.Maybe Prelude.Text)+classificationDetails_detailedResultsLocation = Lens.lens (\ClassificationDetails' {detailedResultsLocation} -> detailedResultsLocation) (\s@ClassificationDetails' {} a -> s {detailedResultsLocation = a} :: ClassificationDetails)++-- | The Amazon Resource Name (ARN) of the classification job that produced+-- the finding. This value is null if the origin of the finding+-- (originType) is AUTOMATED_SENSITIVE_DATA_DISCOVERY.+classificationDetails_jobArn :: Lens.Lens' ClassificationDetails (Prelude.Maybe Prelude.Text)+classificationDetails_jobArn = Lens.lens (\ClassificationDetails' {jobArn} -> jobArn) (\s@ClassificationDetails' {} a -> s {jobArn = a} :: ClassificationDetails)++-- | The unique identifier for the classification job that produced the+-- finding. This value is null if the origin of the finding (originType) is+-- AUTOMATED_SENSITIVE_DATA_DISCOVERY.+classificationDetails_jobId :: Lens.Lens' ClassificationDetails (Prelude.Maybe Prelude.Text)+classificationDetails_jobId = Lens.lens (\ClassificationDetails' {jobId} -> jobId) (\s@ClassificationDetails' {} a -> s {jobId = a} :: ClassificationDetails)++-- | Specifies how Amazon Macie found the sensitive data that produced the+-- finding. Possible values are: SENSITIVE_DATA_DISCOVERY_JOB, for a+-- classification job; and, AUTOMATED_SENSITIVE_DATA_DISCOVERY, for+-- automated sensitive data discovery.+classificationDetails_originType :: Lens.Lens' ClassificationDetails (Prelude.Maybe OriginType)+classificationDetails_originType = Lens.lens (\ClassificationDetails' {originType} -> originType) (\s@ClassificationDetails' {} a -> s {originType = a} :: ClassificationDetails)++-- | The status and other details of the finding.+classificationDetails_result :: Lens.Lens' ClassificationDetails (Prelude.Maybe ClassificationResult)+classificationDetails_result = Lens.lens (\ClassificationDetails' {result} -> result) (\s@ClassificationDetails' {} a -> s {result = a} :: ClassificationDetails)++instance Data.FromJSON ClassificationDetails where+ parseJSON =+ Data.withObject+ "ClassificationDetails"+ ( \x ->+ ClassificationDetails'+ Prelude.<$> (x Data..:? "detailedResultsLocation")+ Prelude.<*> (x Data..:? "jobArn")+ Prelude.<*> (x Data..:? "jobId")+ Prelude.<*> (x Data..:? "originType")+ Prelude.<*> (x Data..:? "result")+ )++instance Prelude.Hashable ClassificationDetails where+ hashWithSalt _salt ClassificationDetails' {..} =+ _salt+ `Prelude.hashWithSalt` detailedResultsLocation+ `Prelude.hashWithSalt` jobArn+ `Prelude.hashWithSalt` jobId+ `Prelude.hashWithSalt` originType+ `Prelude.hashWithSalt` result++instance Prelude.NFData ClassificationDetails where+ rnf ClassificationDetails' {..} =+ Prelude.rnf detailedResultsLocation+ `Prelude.seq` Prelude.rnf jobArn+ `Prelude.seq` Prelude.rnf jobId+ `Prelude.seq` Prelude.rnf originType+ `Prelude.seq` Prelude.rnf result
+ gen/Amazonka/MacieV2/Types/ClassificationExportConfiguration.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.MacieV2.Types.ClassificationExportConfiguration+-- 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.MacieV2.Types.ClassificationExportConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.S3Destination+import qualified Amazonka.Prelude as Prelude++-- | Specifies where to store data classification results, and the encryption+-- settings to use when storing results in that location. The location must+-- be an S3 bucket.+--+-- /See:/ 'newClassificationExportConfiguration' smart constructor.+data ClassificationExportConfiguration = ClassificationExportConfiguration'+ { -- | The S3 bucket to store data classification results in, and the+ -- encryption settings to use when storing results in that bucket.+ s3Destination :: Prelude.Maybe S3Destination+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClassificationExportConfiguration' 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:+--+-- 's3Destination', 'classificationExportConfiguration_s3Destination' - The S3 bucket to store data classification results in, and the+-- encryption settings to use when storing results in that bucket.+newClassificationExportConfiguration ::+ ClassificationExportConfiguration+newClassificationExportConfiguration =+ ClassificationExportConfiguration'+ { s3Destination =+ Prelude.Nothing+ }++-- | The S3 bucket to store data classification results in, and the+-- encryption settings to use when storing results in that bucket.+classificationExportConfiguration_s3Destination :: Lens.Lens' ClassificationExportConfiguration (Prelude.Maybe S3Destination)+classificationExportConfiguration_s3Destination = Lens.lens (\ClassificationExportConfiguration' {s3Destination} -> s3Destination) (\s@ClassificationExportConfiguration' {} a -> s {s3Destination = a} :: ClassificationExportConfiguration)++instance+ Data.FromJSON+ ClassificationExportConfiguration+ where+ parseJSON =+ Data.withObject+ "ClassificationExportConfiguration"+ ( \x ->+ ClassificationExportConfiguration'+ Prelude.<$> (x Data..:? "s3Destination")+ )++instance+ Prelude.Hashable+ ClassificationExportConfiguration+ where+ hashWithSalt+ _salt+ ClassificationExportConfiguration' {..} =+ _salt `Prelude.hashWithSalt` s3Destination++instance+ Prelude.NFData+ ClassificationExportConfiguration+ where+ rnf ClassificationExportConfiguration' {..} =+ Prelude.rnf s3Destination++instance+ Data.ToJSON+ ClassificationExportConfiguration+ where+ toJSON ClassificationExportConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("s3Destination" Data..=)+ Prelude.<$> s3Destination+ ]+ )
+ gen/Amazonka/MacieV2/Types/ClassificationResult.hs view
@@ -0,0 +1,171 @@+{-# 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.MacieV2.Types.ClassificationResult+-- 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.MacieV2.Types.ClassificationResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.ClassificationResultStatus+import Amazonka.MacieV2.Types.CustomDataIdentifiers+import Amazonka.MacieV2.Types.SensitiveDataItem+import qualified Amazonka.Prelude as Prelude++-- | Provides the details of a sensitive data finding, including the types,+-- number of occurrences, and locations of the sensitive data that was+-- detected.+--+-- /See:/ 'newClassificationResult' smart constructor.+data ClassificationResult = ClassificationResult'+ { -- | Specifies whether Amazon Macie detected additional occurrences of+ -- sensitive data in the S3 object. A finding includes location data for a+ -- maximum of 15 occurrences of sensitive data.+ --+ -- This value can help you determine whether to investigate additional+ -- occurrences of sensitive data in an object. You can do this by referring+ -- to the corresponding sensitive data discovery result for the finding+ -- (ClassificationDetails.detailedResultsLocation).+ additionalOccurrences :: Prelude.Maybe Prelude.Bool,+ -- | The custom data identifiers that detected the sensitive data and the+ -- number of occurrences of the data that they detected.+ customDataIdentifiers :: Prelude.Maybe CustomDataIdentifiers,+ -- | The type of content, as a MIME type, that the finding applies to. For+ -- example, application\/gzip, for a GNU Gzip compressed archive file, or+ -- application\/pdf, for an Adobe Portable Document Format file.+ mimeType :: Prelude.Maybe Prelude.Text,+ -- | The category, types, and number of occurrences of the sensitive data+ -- that produced the finding.+ sensitiveData :: Prelude.Maybe [SensitiveDataItem],+ -- | The total size, in bytes, of the data that the finding applies to.+ sizeClassified :: Prelude.Maybe Prelude.Integer,+ -- | The status of the finding.+ status :: Prelude.Maybe ClassificationResultStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClassificationResult' 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:+--+-- 'additionalOccurrences', 'classificationResult_additionalOccurrences' - Specifies whether Amazon Macie detected additional occurrences of+-- sensitive data in the S3 object. A finding includes location data for a+-- maximum of 15 occurrences of sensitive data.+--+-- This value can help you determine whether to investigate additional+-- occurrences of sensitive data in an object. You can do this by referring+-- to the corresponding sensitive data discovery result for the finding+-- (ClassificationDetails.detailedResultsLocation).+--+-- 'customDataIdentifiers', 'classificationResult_customDataIdentifiers' - The custom data identifiers that detected the sensitive data and the+-- number of occurrences of the data that they detected.+--+-- 'mimeType', 'classificationResult_mimeType' - The type of content, as a MIME type, that the finding applies to. For+-- example, application\/gzip, for a GNU Gzip compressed archive file, or+-- application\/pdf, for an Adobe Portable Document Format file.+--+-- 'sensitiveData', 'classificationResult_sensitiveData' - The category, types, and number of occurrences of the sensitive data+-- that produced the finding.+--+-- 'sizeClassified', 'classificationResult_sizeClassified' - The total size, in bytes, of the data that the finding applies to.+--+-- 'status', 'classificationResult_status' - The status of the finding.+newClassificationResult ::+ ClassificationResult+newClassificationResult =+ ClassificationResult'+ { additionalOccurrences =+ Prelude.Nothing,+ customDataIdentifiers = Prelude.Nothing,+ mimeType = Prelude.Nothing,+ sensitiveData = Prelude.Nothing,+ sizeClassified = Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | Specifies whether Amazon Macie detected additional occurrences of+-- sensitive data in the S3 object. A finding includes location data for a+-- maximum of 15 occurrences of sensitive data.+--+-- This value can help you determine whether to investigate additional+-- occurrences of sensitive data in an object. You can do this by referring+-- to the corresponding sensitive data discovery result for the finding+-- (ClassificationDetails.detailedResultsLocation).+classificationResult_additionalOccurrences :: Lens.Lens' ClassificationResult (Prelude.Maybe Prelude.Bool)+classificationResult_additionalOccurrences = Lens.lens (\ClassificationResult' {additionalOccurrences} -> additionalOccurrences) (\s@ClassificationResult' {} a -> s {additionalOccurrences = a} :: ClassificationResult)++-- | The custom data identifiers that detected the sensitive data and the+-- number of occurrences of the data that they detected.+classificationResult_customDataIdentifiers :: Lens.Lens' ClassificationResult (Prelude.Maybe CustomDataIdentifiers)+classificationResult_customDataIdentifiers = Lens.lens (\ClassificationResult' {customDataIdentifiers} -> customDataIdentifiers) (\s@ClassificationResult' {} a -> s {customDataIdentifiers = a} :: ClassificationResult)++-- | The type of content, as a MIME type, that the finding applies to. For+-- example, application\/gzip, for a GNU Gzip compressed archive file, or+-- application\/pdf, for an Adobe Portable Document Format file.+classificationResult_mimeType :: Lens.Lens' ClassificationResult (Prelude.Maybe Prelude.Text)+classificationResult_mimeType = Lens.lens (\ClassificationResult' {mimeType} -> mimeType) (\s@ClassificationResult' {} a -> s {mimeType = a} :: ClassificationResult)++-- | The category, types, and number of occurrences of the sensitive data+-- that produced the finding.+classificationResult_sensitiveData :: Lens.Lens' ClassificationResult (Prelude.Maybe [SensitiveDataItem])+classificationResult_sensitiveData = Lens.lens (\ClassificationResult' {sensitiveData} -> sensitiveData) (\s@ClassificationResult' {} a -> s {sensitiveData = a} :: ClassificationResult) Prelude.. Lens.mapping Lens.coerced++-- | The total size, in bytes, of the data that the finding applies to.+classificationResult_sizeClassified :: Lens.Lens' ClassificationResult (Prelude.Maybe Prelude.Integer)+classificationResult_sizeClassified = Lens.lens (\ClassificationResult' {sizeClassified} -> sizeClassified) (\s@ClassificationResult' {} a -> s {sizeClassified = a} :: ClassificationResult)++-- | The status of the finding.+classificationResult_status :: Lens.Lens' ClassificationResult (Prelude.Maybe ClassificationResultStatus)+classificationResult_status = Lens.lens (\ClassificationResult' {status} -> status) (\s@ClassificationResult' {} a -> s {status = a} :: ClassificationResult)++instance Data.FromJSON ClassificationResult where+ parseJSON =+ Data.withObject+ "ClassificationResult"+ ( \x ->+ ClassificationResult'+ Prelude.<$> (x Data..:? "additionalOccurrences")+ Prelude.<*> (x Data..:? "customDataIdentifiers")+ Prelude.<*> (x Data..:? "mimeType")+ Prelude.<*> (x Data..:? "sensitiveData" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "sizeClassified")+ Prelude.<*> (x Data..:? "status")+ )++instance Prelude.Hashable ClassificationResult where+ hashWithSalt _salt ClassificationResult' {..} =+ _salt+ `Prelude.hashWithSalt` additionalOccurrences+ `Prelude.hashWithSalt` customDataIdentifiers+ `Prelude.hashWithSalt` mimeType+ `Prelude.hashWithSalt` sensitiveData+ `Prelude.hashWithSalt` sizeClassified+ `Prelude.hashWithSalt` status++instance Prelude.NFData ClassificationResult where+ rnf ClassificationResult' {..} =+ Prelude.rnf additionalOccurrences+ `Prelude.seq` Prelude.rnf customDataIdentifiers+ `Prelude.seq` Prelude.rnf mimeType+ `Prelude.seq` Prelude.rnf sensitiveData+ `Prelude.seq` Prelude.rnf sizeClassified+ `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/MacieV2/Types/ClassificationResultStatus.hs view
@@ -0,0 +1,380 @@+{-# 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.MacieV2.Types.ClassificationResultStatus+-- 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.MacieV2.Types.ClassificationResultStatus 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++-- | Provides information about the status of a sensitive data finding.+--+-- /See:/ 'newClassificationResultStatus' smart constructor.+data ClassificationResultStatus = ClassificationResultStatus'+ { -- | The status of the finding. Possible values are:+ --+ -- - COMPLETE - Amazon Macie successfully completed its analysis of the+ -- S3 object that the finding applies to.+ --+ -- - PARTIAL - Macie analyzed only a subset of the data in the S3 object+ -- that the finding applies to. For example, the object is an archive+ -- file that contains files in an unsupported format.+ --+ -- - SKIPPED - Macie wasn\'t able to analyze the S3 object that the+ -- finding applies to. For example, the object is a file that uses an+ -- unsupported format.+ code :: Prelude.Maybe Prelude.Text,+ -- | A brief description of the status of the finding. This value is null if+ -- the status (code) of the finding is COMPLETE.+ --+ -- Amazon Macie uses this value to notify you of any errors, warnings, or+ -- considerations that might impact your analysis of the finding and the+ -- affected S3 object. Possible values are:+ --+ -- - ARCHIVE_CONTAINS_UNPROCESSED_FILES - The object is an archive file+ -- and Macie extracted and analyzed only some or none of the files in+ -- the archive. To determine which files Macie analyzed, if any, you+ -- can refer to the corresponding sensitive data discovery result for+ -- the finding (ClassificationDetails.detailedResultsLocation).+ --+ -- - ARCHIVE_EXCEEDS_SIZE_LIMIT - The object is an archive file whose+ -- total storage size exceeds the size quota for this type of archive.+ --+ -- - ARCHIVE_NESTING_LEVEL_OVER_LIMIT - The object is an archive file+ -- whose nested depth exceeds the quota for the maximum number of+ -- nested levels that Macie analyzes for this type of archive.+ --+ -- - ARCHIVE_TOTAL_BYTES_EXTRACTED_OVER_LIMIT - The object is an archive+ -- file that exceeds the quota for the maximum amount of data that+ -- Macie extracts and analyzes for this type of archive.+ --+ -- - ARCHIVE_TOTAL_DOCUMENTS_PROCESSED_OVER_LIMIT - The object is an+ -- archive file that contains more than the maximum number of files+ -- that Macie extracts and analyzes for this type of archive.+ --+ -- - FILE_EXCEEDS_SIZE_LIMIT - The storage size of the object exceeds the+ -- size quota for this type of file.+ --+ -- - INVALID_ENCRYPTION - The object is encrypted using server-side+ -- encryption but Macie isn’t allowed to use the key. Macie can’t+ -- decrypt and analyze the object.+ --+ -- - INVALID_KMS_KEY - The object is encrypted with an KMS key that was+ -- disabled or is being deleted. Macie can’t decrypt and analyze the+ -- object.+ --+ -- - INVALID_OBJECT_STATE - The object doesn’t use a supported Amazon S3+ -- storage class. For more information, see+ -- <https://docs.aws.amazon.com/macie/latest/user/data-classification.html Discovering sensitive data>+ -- in the /Amazon Macie User Guide/.+ --+ -- - JSON_NESTING_LEVEL_OVER_LIMIT - The object contains JSON data and+ -- the nested depth of the data exceeds the quota for the number of+ -- nested levels that Macie analyzes for this type of file.+ --+ -- - MALFORMED_FILE - The object is a malformed or corrupted file. An+ -- error occurred when Macie attempted to detect the file’s type or+ -- extract data from the file.+ --+ -- - OBJECT_VERSION_MISMATCH - The object was changed while Macie was+ -- analyzing it.+ --+ -- - NO_SUCH_BUCKET_AVAILABLE - The object was in a bucket that was+ -- deleted shortly before or when Macie attempted to analyze the+ -- object.+ --+ -- - MALFORMED_OR_FILE_SIZE_EXCEEDS_LIMIT - The object is a Microsoft+ -- Office file that is malformed or exceeds the size quota for this+ -- type of file. If the file is malformed, an error occurred when Macie+ -- attempted to extract data from the file.+ --+ -- - OOXML_UNCOMPRESSED_SIZE_EXCEEDS_LIMIT - The object is an Office Open+ -- XML file that exceeds the size quota for this type of file.+ --+ -- - OOXML_UNCOMPRESSED_RATIO_EXCEEDS_LIMIT - The object is an Office+ -- Open XML file whose compression ratio exceeds the compression quota+ -- for this type of file.+ --+ -- - PERMISSION_DENIED - Macie isn’t allowed to access the object. The+ -- object’s permissions settings prevent Macie from analyzing the+ -- object.+ --+ -- - SOURCE_OBJECT_NO_LONGER_AVAILABLE - The object was deleted shortly+ -- before or when Macie attempted to analyze it.+ --+ -- - UNABLE_TO_PARSE_FILE - The object is a file that contains structured+ -- data and an error occurred when Macie attempted to parse the data.+ --+ -- - UNSUPPORTED_FILE_TYPE_EXCEPTION - The object is a file that uses an+ -- unsupported file or storage format. For more information, see+ -- <https://docs.aws.amazon.com/macie/latest/user/discovery-supported-formats.html Supported file and storage formats>+ -- in the /Amazon Macie User Guide/.+ --+ -- For information about sensitive data discovery quotas for files, see+ -- <https://docs.aws.amazon.com/macie/latest/user/macie-quotas.html Amazon Macie quotas>+ -- in the /Amazon Macie User Guide/.+ reason :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClassificationResultStatus' 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:+--+-- 'code', 'classificationResultStatus_code' - The status of the finding. Possible values are:+--+-- - COMPLETE - Amazon Macie successfully completed its analysis of the+-- S3 object that the finding applies to.+--+-- - PARTIAL - Macie analyzed only a subset of the data in the S3 object+-- that the finding applies to. For example, the object is an archive+-- file that contains files in an unsupported format.+--+-- - SKIPPED - Macie wasn\'t able to analyze the S3 object that the+-- finding applies to. For example, the object is a file that uses an+-- unsupported format.+--+-- 'reason', 'classificationResultStatus_reason' - A brief description of the status of the finding. This value is null if+-- the status (code) of the finding is COMPLETE.+--+-- Amazon Macie uses this value to notify you of any errors, warnings, or+-- considerations that might impact your analysis of the finding and the+-- affected S3 object. Possible values are:+--+-- - ARCHIVE_CONTAINS_UNPROCESSED_FILES - The object is an archive file+-- and Macie extracted and analyzed only some or none of the files in+-- the archive. To determine which files Macie analyzed, if any, you+-- can refer to the corresponding sensitive data discovery result for+-- the finding (ClassificationDetails.detailedResultsLocation).+--+-- - ARCHIVE_EXCEEDS_SIZE_LIMIT - The object is an archive file whose+-- total storage size exceeds the size quota for this type of archive.+--+-- - ARCHIVE_NESTING_LEVEL_OVER_LIMIT - The object is an archive file+-- whose nested depth exceeds the quota for the maximum number of+-- nested levels that Macie analyzes for this type of archive.+--+-- - ARCHIVE_TOTAL_BYTES_EXTRACTED_OVER_LIMIT - The object is an archive+-- file that exceeds the quota for the maximum amount of data that+-- Macie extracts and analyzes for this type of archive.+--+-- - ARCHIVE_TOTAL_DOCUMENTS_PROCESSED_OVER_LIMIT - The object is an+-- archive file that contains more than the maximum number of files+-- that Macie extracts and analyzes for this type of archive.+--+-- - FILE_EXCEEDS_SIZE_LIMIT - The storage size of the object exceeds the+-- size quota for this type of file.+--+-- - INVALID_ENCRYPTION - The object is encrypted using server-side+-- encryption but Macie isn’t allowed to use the key. Macie can’t+-- decrypt and analyze the object.+--+-- - INVALID_KMS_KEY - The object is encrypted with an KMS key that was+-- disabled or is being deleted. Macie can’t decrypt and analyze the+-- object.+--+-- - INVALID_OBJECT_STATE - The object doesn’t use a supported Amazon S3+-- storage class. For more information, see+-- <https://docs.aws.amazon.com/macie/latest/user/data-classification.html Discovering sensitive data>+-- in the /Amazon Macie User Guide/.+--+-- - JSON_NESTING_LEVEL_OVER_LIMIT - The object contains JSON data and+-- the nested depth of the data exceeds the quota for the number of+-- nested levels that Macie analyzes for this type of file.+--+-- - MALFORMED_FILE - The object is a malformed or corrupted file. An+-- error occurred when Macie attempted to detect the file’s type or+-- extract data from the file.+--+-- - OBJECT_VERSION_MISMATCH - The object was changed while Macie was+-- analyzing it.+--+-- - NO_SUCH_BUCKET_AVAILABLE - The object was in a bucket that was+-- deleted shortly before or when Macie attempted to analyze the+-- object.+--+-- - MALFORMED_OR_FILE_SIZE_EXCEEDS_LIMIT - The object is a Microsoft+-- Office file that is malformed or exceeds the size quota for this+-- type of file. If the file is malformed, an error occurred when Macie+-- attempted to extract data from the file.+--+-- - OOXML_UNCOMPRESSED_SIZE_EXCEEDS_LIMIT - The object is an Office Open+-- XML file that exceeds the size quota for this type of file.+--+-- - OOXML_UNCOMPRESSED_RATIO_EXCEEDS_LIMIT - The object is an Office+-- Open XML file whose compression ratio exceeds the compression quota+-- for this type of file.+--+-- - PERMISSION_DENIED - Macie isn’t allowed to access the object. The+-- object’s permissions settings prevent Macie from analyzing the+-- object.+--+-- - SOURCE_OBJECT_NO_LONGER_AVAILABLE - The object was deleted shortly+-- before or when Macie attempted to analyze it.+--+-- - UNABLE_TO_PARSE_FILE - The object is a file that contains structured+-- data and an error occurred when Macie attempted to parse the data.+--+-- - UNSUPPORTED_FILE_TYPE_EXCEPTION - The object is a file that uses an+-- unsupported file or storage format. For more information, see+-- <https://docs.aws.amazon.com/macie/latest/user/discovery-supported-formats.html Supported file and storage formats>+-- in the /Amazon Macie User Guide/.+--+-- For information about sensitive data discovery quotas for files, see+-- <https://docs.aws.amazon.com/macie/latest/user/macie-quotas.html Amazon Macie quotas>+-- in the /Amazon Macie User Guide/.+newClassificationResultStatus ::+ ClassificationResultStatus+newClassificationResultStatus =+ ClassificationResultStatus'+ { code = Prelude.Nothing,+ reason = Prelude.Nothing+ }++-- | The status of the finding. Possible values are:+--+-- - COMPLETE - Amazon Macie successfully completed its analysis of the+-- S3 object that the finding applies to.+--+-- - PARTIAL - Macie analyzed only a subset of the data in the S3 object+-- that the finding applies to. For example, the object is an archive+-- file that contains files in an unsupported format.+--+-- - SKIPPED - Macie wasn\'t able to analyze the S3 object that the+-- finding applies to. For example, the object is a file that uses an+-- unsupported format.+classificationResultStatus_code :: Lens.Lens' ClassificationResultStatus (Prelude.Maybe Prelude.Text)+classificationResultStatus_code = Lens.lens (\ClassificationResultStatus' {code} -> code) (\s@ClassificationResultStatus' {} a -> s {code = a} :: ClassificationResultStatus)++-- | A brief description of the status of the finding. This value is null if+-- the status (code) of the finding is COMPLETE.+--+-- Amazon Macie uses this value to notify you of any errors, warnings, or+-- considerations that might impact your analysis of the finding and the+-- affected S3 object. Possible values are:+--+-- - ARCHIVE_CONTAINS_UNPROCESSED_FILES - The object is an archive file+-- and Macie extracted and analyzed only some or none of the files in+-- the archive. To determine which files Macie analyzed, if any, you+-- can refer to the corresponding sensitive data discovery result for+-- the finding (ClassificationDetails.detailedResultsLocation).+--+-- - ARCHIVE_EXCEEDS_SIZE_LIMIT - The object is an archive file whose+-- total storage size exceeds the size quota for this type of archive.+--+-- - ARCHIVE_NESTING_LEVEL_OVER_LIMIT - The object is an archive file+-- whose nested depth exceeds the quota for the maximum number of+-- nested levels that Macie analyzes for this type of archive.+--+-- - ARCHIVE_TOTAL_BYTES_EXTRACTED_OVER_LIMIT - The object is an archive+-- file that exceeds the quota for the maximum amount of data that+-- Macie extracts and analyzes for this type of archive.+--+-- - ARCHIVE_TOTAL_DOCUMENTS_PROCESSED_OVER_LIMIT - The object is an+-- archive file that contains more than the maximum number of files+-- that Macie extracts and analyzes for this type of archive.+--+-- - FILE_EXCEEDS_SIZE_LIMIT - The storage size of the object exceeds the+-- size quota for this type of file.+--+-- - INVALID_ENCRYPTION - The object is encrypted using server-side+-- encryption but Macie isn’t allowed to use the key. Macie can’t+-- decrypt and analyze the object.+--+-- - INVALID_KMS_KEY - The object is encrypted with an KMS key that was+-- disabled or is being deleted. Macie can’t decrypt and analyze the+-- object.+--+-- - INVALID_OBJECT_STATE - The object doesn’t use a supported Amazon S3+-- storage class. For more information, see+-- <https://docs.aws.amazon.com/macie/latest/user/data-classification.html Discovering sensitive data>+-- in the /Amazon Macie User Guide/.+--+-- - JSON_NESTING_LEVEL_OVER_LIMIT - The object contains JSON data and+-- the nested depth of the data exceeds the quota for the number of+-- nested levels that Macie analyzes for this type of file.+--+-- - MALFORMED_FILE - The object is a malformed or corrupted file. An+-- error occurred when Macie attempted to detect the file’s type or+-- extract data from the file.+--+-- - OBJECT_VERSION_MISMATCH - The object was changed while Macie was+-- analyzing it.+--+-- - NO_SUCH_BUCKET_AVAILABLE - The object was in a bucket that was+-- deleted shortly before or when Macie attempted to analyze the+-- object.+--+-- - MALFORMED_OR_FILE_SIZE_EXCEEDS_LIMIT - The object is a Microsoft+-- Office file that is malformed or exceeds the size quota for this+-- type of file. If the file is malformed, an error occurred when Macie+-- attempted to extract data from the file.+--+-- - OOXML_UNCOMPRESSED_SIZE_EXCEEDS_LIMIT - The object is an Office Open+-- XML file that exceeds the size quota for this type of file.+--+-- - OOXML_UNCOMPRESSED_RATIO_EXCEEDS_LIMIT - The object is an Office+-- Open XML file whose compression ratio exceeds the compression quota+-- for this type of file.+--+-- - PERMISSION_DENIED - Macie isn’t allowed to access the object. The+-- object’s permissions settings prevent Macie from analyzing the+-- object.+--+-- - SOURCE_OBJECT_NO_LONGER_AVAILABLE - The object was deleted shortly+-- before or when Macie attempted to analyze it.+--+-- - UNABLE_TO_PARSE_FILE - The object is a file that contains structured+-- data and an error occurred when Macie attempted to parse the data.+--+-- - UNSUPPORTED_FILE_TYPE_EXCEPTION - The object is a file that uses an+-- unsupported file or storage format. For more information, see+-- <https://docs.aws.amazon.com/macie/latest/user/discovery-supported-formats.html Supported file and storage formats>+-- in the /Amazon Macie User Guide/.+--+-- For information about sensitive data discovery quotas for files, see+-- <https://docs.aws.amazon.com/macie/latest/user/macie-quotas.html Amazon Macie quotas>+-- in the /Amazon Macie User Guide/.+classificationResultStatus_reason :: Lens.Lens' ClassificationResultStatus (Prelude.Maybe Prelude.Text)+classificationResultStatus_reason = Lens.lens (\ClassificationResultStatus' {reason} -> reason) (\s@ClassificationResultStatus' {} a -> s {reason = a} :: ClassificationResultStatus)++instance Data.FromJSON ClassificationResultStatus where+ parseJSON =+ Data.withObject+ "ClassificationResultStatus"+ ( \x ->+ ClassificationResultStatus'+ Prelude.<$> (x Data..:? "code")+ Prelude.<*> (x Data..:? "reason")+ )++instance Prelude.Hashable ClassificationResultStatus where+ hashWithSalt _salt ClassificationResultStatus' {..} =+ _salt+ `Prelude.hashWithSalt` code+ `Prelude.hashWithSalt` reason++instance Prelude.NFData ClassificationResultStatus where+ rnf ClassificationResultStatus' {..} =+ Prelude.rnf code `Prelude.seq` Prelude.rnf reason
+ gen/Amazonka/MacieV2/Types/ClassificationScopeSummary.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.MacieV2.Types.ClassificationScopeSummary+-- 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.MacieV2.Types.ClassificationScopeSummary 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++-- | Provides information about the classification scope for an Amazon Macie+-- account. Macie uses the scope\'s settings when it performs automated+-- sensitive data discovery for the account.+--+-- /See:/ 'newClassificationScopeSummary' smart constructor.+data ClassificationScopeSummary = ClassificationScopeSummary'+ { -- | The unique identifier for the classification scope.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the classification scope.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ClassificationScopeSummary' 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', 'classificationScopeSummary_id' - The unique identifier for the classification scope.+--+-- 'name', 'classificationScopeSummary_name' - The name of the classification scope.+newClassificationScopeSummary ::+ ClassificationScopeSummary+newClassificationScopeSummary =+ ClassificationScopeSummary'+ { id = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The unique identifier for the classification scope.+classificationScopeSummary_id :: Lens.Lens' ClassificationScopeSummary (Prelude.Maybe Prelude.Text)+classificationScopeSummary_id = Lens.lens (\ClassificationScopeSummary' {id} -> id) (\s@ClassificationScopeSummary' {} a -> s {id = a} :: ClassificationScopeSummary)++-- | The name of the classification scope.+classificationScopeSummary_name :: Lens.Lens' ClassificationScopeSummary (Prelude.Maybe Prelude.Text)+classificationScopeSummary_name = Lens.lens (\ClassificationScopeSummary' {name} -> name) (\s@ClassificationScopeSummary' {} a -> s {name = a} :: ClassificationScopeSummary)++instance Data.FromJSON ClassificationScopeSummary where+ parseJSON =+ Data.withObject+ "ClassificationScopeSummary"+ ( \x ->+ ClassificationScopeSummary'+ Prelude.<$> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ )++instance Prelude.Hashable ClassificationScopeSummary where+ hashWithSalt _salt ClassificationScopeSummary' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name++instance Prelude.NFData ClassificationScopeSummary where+ rnf ClassificationScopeSummary' {..} =+ Prelude.rnf id `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/MacieV2/Types/ClassificationScopeUpdateOperation.hs view
@@ -0,0 +1,79 @@+{-# 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.MacieV2.Types.ClassificationScopeUpdateOperation+-- 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.MacieV2.Types.ClassificationScopeUpdateOperation+ ( ClassificationScopeUpdateOperation+ ( ..,+ ClassificationScopeUpdateOperation_ADD,+ ClassificationScopeUpdateOperation_REMOVE,+ ClassificationScopeUpdateOperation_REPLACE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies how to apply changes to the S3 bucket exclusion list defined+-- by the classification scope for an Amazon Macie account. Valid values+-- are:+newtype ClassificationScopeUpdateOperation = ClassificationScopeUpdateOperation'+ { fromClassificationScopeUpdateOperation ::+ 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 ClassificationScopeUpdateOperation_ADD :: ClassificationScopeUpdateOperation+pattern ClassificationScopeUpdateOperation_ADD = ClassificationScopeUpdateOperation' "ADD"++pattern ClassificationScopeUpdateOperation_REMOVE :: ClassificationScopeUpdateOperation+pattern ClassificationScopeUpdateOperation_REMOVE = ClassificationScopeUpdateOperation' "REMOVE"++pattern ClassificationScopeUpdateOperation_REPLACE :: ClassificationScopeUpdateOperation+pattern ClassificationScopeUpdateOperation_REPLACE = ClassificationScopeUpdateOperation' "REPLACE"++{-# COMPLETE+ ClassificationScopeUpdateOperation_ADD,+ ClassificationScopeUpdateOperation_REMOVE,+ ClassificationScopeUpdateOperation_REPLACE,+ ClassificationScopeUpdateOperation'+ #-}
+ gen/Amazonka/MacieV2/Types/CriteriaBlockForJob.hs view
@@ -0,0 +1,82 @@+{-# 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.MacieV2.Types.CriteriaBlockForJob+-- 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.MacieV2.Types.CriteriaBlockForJob where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.CriteriaForJob+import qualified Amazonka.Prelude as Prelude++-- | Specifies one or more property- and tag-based conditions that define+-- criteria for including or excluding S3 buckets from a classification+-- job.+--+-- /See:/ 'newCriteriaBlockForJob' smart constructor.+data CriteriaBlockForJob = CriteriaBlockForJob'+ { -- | An array of conditions, one for each condition that determines which+ -- buckets to include or exclude from the job. If you specify more than one+ -- condition, Amazon Macie uses AND logic to join the conditions.+ and :: Prelude.Maybe [CriteriaForJob]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CriteriaBlockForJob' 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:+--+-- 'and', 'criteriaBlockForJob_and' - An array of conditions, one for each condition that determines which+-- buckets to include or exclude from the job. If you specify more than one+-- condition, Amazon Macie uses AND logic to join the conditions.+newCriteriaBlockForJob ::+ CriteriaBlockForJob+newCriteriaBlockForJob =+ CriteriaBlockForJob' {and = Prelude.Nothing}++-- | An array of conditions, one for each condition that determines which+-- buckets to include or exclude from the job. If you specify more than one+-- condition, Amazon Macie uses AND logic to join the conditions.+criteriaBlockForJob_and :: Lens.Lens' CriteriaBlockForJob (Prelude.Maybe [CriteriaForJob])+criteriaBlockForJob_and = Lens.lens (\CriteriaBlockForJob' {and} -> and) (\s@CriteriaBlockForJob' {} a -> s {and = a} :: CriteriaBlockForJob) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON CriteriaBlockForJob where+ parseJSON =+ Data.withObject+ "CriteriaBlockForJob"+ ( \x ->+ CriteriaBlockForJob'+ Prelude.<$> (x Data..:? "and" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable CriteriaBlockForJob where+ hashWithSalt _salt CriteriaBlockForJob' {..} =+ _salt `Prelude.hashWithSalt` and++instance Prelude.NFData CriteriaBlockForJob where+ rnf CriteriaBlockForJob' {..} = Prelude.rnf and++instance Data.ToJSON CriteriaBlockForJob where+ toJSON CriteriaBlockForJob' {..} =+ Data.object+ (Prelude.catMaybes [("and" Data..=) Prelude.<$> and])
+ gen/Amazonka/MacieV2/Types/CriteriaForJob.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.Types.CriteriaForJob+-- 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.MacieV2.Types.CriteriaForJob where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.SimpleCriterionForJob+import Amazonka.MacieV2.Types.TagCriterionForJob+import qualified Amazonka.Prelude as Prelude++-- | Specifies a property- or tag-based condition that defines criteria for+-- including or excluding S3 buckets from a classification job.+--+-- /See:/ 'newCriteriaForJob' smart constructor.+data CriteriaForJob = CriteriaForJob'+ { -- | A property-based condition that defines a property, operator, and one or+ -- more values for including or excluding buckets from the job.+ simpleCriterion :: Prelude.Maybe SimpleCriterionForJob,+ -- | A tag-based condition that defines an operator and tag keys, tag values,+ -- or tag key and value pairs for including or excluding buckets from the+ -- job.+ tagCriterion :: Prelude.Maybe TagCriterionForJob+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CriteriaForJob' 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:+--+-- 'simpleCriterion', 'criteriaForJob_simpleCriterion' - A property-based condition that defines a property, operator, and one or+-- more values for including or excluding buckets from the job.+--+-- 'tagCriterion', 'criteriaForJob_tagCriterion' - A tag-based condition that defines an operator and tag keys, tag values,+-- or tag key and value pairs for including or excluding buckets from the+-- job.+newCriteriaForJob ::+ CriteriaForJob+newCriteriaForJob =+ CriteriaForJob'+ { simpleCriterion = Prelude.Nothing,+ tagCriterion = Prelude.Nothing+ }++-- | A property-based condition that defines a property, operator, and one or+-- more values for including or excluding buckets from the job.+criteriaForJob_simpleCriterion :: Lens.Lens' CriteriaForJob (Prelude.Maybe SimpleCriterionForJob)+criteriaForJob_simpleCriterion = Lens.lens (\CriteriaForJob' {simpleCriterion} -> simpleCriterion) (\s@CriteriaForJob' {} a -> s {simpleCriterion = a} :: CriteriaForJob)++-- | A tag-based condition that defines an operator and tag keys, tag values,+-- or tag key and value pairs for including or excluding buckets from the+-- job.+criteriaForJob_tagCriterion :: Lens.Lens' CriteriaForJob (Prelude.Maybe TagCriterionForJob)+criteriaForJob_tagCriterion = Lens.lens (\CriteriaForJob' {tagCriterion} -> tagCriterion) (\s@CriteriaForJob' {} a -> s {tagCriterion = a} :: CriteriaForJob)++instance Data.FromJSON CriteriaForJob where+ parseJSON =+ Data.withObject+ "CriteriaForJob"+ ( \x ->+ CriteriaForJob'+ Prelude.<$> (x Data..:? "simpleCriterion")+ Prelude.<*> (x Data..:? "tagCriterion")+ )++instance Prelude.Hashable CriteriaForJob where+ hashWithSalt _salt CriteriaForJob' {..} =+ _salt+ `Prelude.hashWithSalt` simpleCriterion+ `Prelude.hashWithSalt` tagCriterion++instance Prelude.NFData CriteriaForJob where+ rnf CriteriaForJob' {..} =+ Prelude.rnf simpleCriterion+ `Prelude.seq` Prelude.rnf tagCriterion++instance Data.ToJSON CriteriaForJob where+ toJSON CriteriaForJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("simpleCriterion" Data..=)+ Prelude.<$> simpleCriterion,+ ("tagCriterion" Data..=) Prelude.<$> tagCriterion+ ]+ )
+ gen/Amazonka/MacieV2/Types/CriterionAdditionalProperties.hs view
@@ -0,0 +1,211 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.Types.CriterionAdditionalProperties+-- 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.MacieV2.Types.CriterionAdditionalProperties 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++-- | Specifies the operator to use in a property-based condition that filters+-- the results of a query for findings. For detailed information and+-- examples of each operator, see+-- <https://docs.aws.amazon.com/macie/latest/user/findings-filter-basics.html Fundamentals of filtering findings>+-- in the /Amazon Macie User Guide/.+--+-- /See:/ 'newCriterionAdditionalProperties' smart constructor.+data CriterionAdditionalProperties = CriterionAdditionalProperties'+ { -- | The value for the property matches (equals) the specified value. If you+ -- specify multiple values, Macie uses OR logic to join the values.+ eq :: Prelude.Maybe [Prelude.Text],+ -- | The value for the property exclusively matches (equals an exact match+ -- for) all the specified values. If you specify multiple values, Amazon+ -- Macie uses AND logic to join the values.+ --+ -- You can use this operator with the following properties:+ -- customDataIdentifiers.detections.arn,+ -- customDataIdentifiers.detections.name,+ -- resourcesAffected.s3Bucket.tags.key,+ -- resourcesAffected.s3Bucket.tags.value,+ -- resourcesAffected.s3Object.tags.key,+ -- resourcesAffected.s3Object.tags.value, sensitiveData.category, and+ -- sensitiveData.detections.type.+ eqExactMatch :: Prelude.Maybe [Prelude.Text],+ -- | The value for the property is greater than the specified value.+ gt :: Prelude.Maybe Prelude.Integer,+ -- | The value for the property is greater than or equal to the specified+ -- value.+ gte :: Prelude.Maybe Prelude.Integer,+ -- | The value for the property is less than the specified value.+ lt :: Prelude.Maybe Prelude.Integer,+ -- | The value for the property is less than or equal to the specified value.+ lte :: Prelude.Maybe Prelude.Integer,+ -- | The value for the property doesn\'t match (doesn\'t equal) the specified+ -- value. If you specify multiple values, Macie uses OR logic to join the+ -- values.+ neq :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CriterionAdditionalProperties' 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:+--+-- 'eq', 'criterionAdditionalProperties_eq' - The value for the property matches (equals) the specified value. If you+-- specify multiple values, Macie uses OR logic to join the values.+--+-- 'eqExactMatch', 'criterionAdditionalProperties_eqExactMatch' - The value for the property exclusively matches (equals an exact match+-- for) all the specified values. If you specify multiple values, Amazon+-- Macie uses AND logic to join the values.+--+-- You can use this operator with the following properties:+-- customDataIdentifiers.detections.arn,+-- customDataIdentifiers.detections.name,+-- resourcesAffected.s3Bucket.tags.key,+-- resourcesAffected.s3Bucket.tags.value,+-- resourcesAffected.s3Object.tags.key,+-- resourcesAffected.s3Object.tags.value, sensitiveData.category, and+-- sensitiveData.detections.type.+--+-- 'gt', 'criterionAdditionalProperties_gt' - The value for the property is greater than the specified value.+--+-- 'gte', 'criterionAdditionalProperties_gte' - The value for the property is greater than or equal to the specified+-- value.+--+-- 'lt', 'criterionAdditionalProperties_lt' - The value for the property is less than the specified value.+--+-- 'lte', 'criterionAdditionalProperties_lte' - The value for the property is less than or equal to the specified value.+--+-- 'neq', 'criterionAdditionalProperties_neq' - The value for the property doesn\'t match (doesn\'t equal) the specified+-- value. If you specify multiple values, Macie uses OR logic to join the+-- values.+newCriterionAdditionalProperties ::+ CriterionAdditionalProperties+newCriterionAdditionalProperties =+ CriterionAdditionalProperties'+ { eq =+ Prelude.Nothing,+ eqExactMatch = Prelude.Nothing,+ gt = Prelude.Nothing,+ gte = Prelude.Nothing,+ lt = Prelude.Nothing,+ lte = Prelude.Nothing,+ neq = Prelude.Nothing+ }++-- | The value for the property matches (equals) the specified value. If you+-- specify multiple values, Macie uses OR logic to join the values.+criterionAdditionalProperties_eq :: Lens.Lens' CriterionAdditionalProperties (Prelude.Maybe [Prelude.Text])+criterionAdditionalProperties_eq = Lens.lens (\CriterionAdditionalProperties' {eq} -> eq) (\s@CriterionAdditionalProperties' {} a -> s {eq = a} :: CriterionAdditionalProperties) Prelude.. Lens.mapping Lens.coerced++-- | The value for the property exclusively matches (equals an exact match+-- for) all the specified values. If you specify multiple values, Amazon+-- Macie uses AND logic to join the values.+--+-- You can use this operator with the following properties:+-- customDataIdentifiers.detections.arn,+-- customDataIdentifiers.detections.name,+-- resourcesAffected.s3Bucket.tags.key,+-- resourcesAffected.s3Bucket.tags.value,+-- resourcesAffected.s3Object.tags.key,+-- resourcesAffected.s3Object.tags.value, sensitiveData.category, and+-- sensitiveData.detections.type.+criterionAdditionalProperties_eqExactMatch :: Lens.Lens' CriterionAdditionalProperties (Prelude.Maybe [Prelude.Text])+criterionAdditionalProperties_eqExactMatch = Lens.lens (\CriterionAdditionalProperties' {eqExactMatch} -> eqExactMatch) (\s@CriterionAdditionalProperties' {} a -> s {eqExactMatch = a} :: CriterionAdditionalProperties) Prelude.. Lens.mapping Lens.coerced++-- | The value for the property is greater than the specified value.+criterionAdditionalProperties_gt :: Lens.Lens' CriterionAdditionalProperties (Prelude.Maybe Prelude.Integer)+criterionAdditionalProperties_gt = Lens.lens (\CriterionAdditionalProperties' {gt} -> gt) (\s@CriterionAdditionalProperties' {} a -> s {gt = a} :: CriterionAdditionalProperties)++-- | The value for the property is greater than or equal to the specified+-- value.+criterionAdditionalProperties_gte :: Lens.Lens' CriterionAdditionalProperties (Prelude.Maybe Prelude.Integer)+criterionAdditionalProperties_gte = Lens.lens (\CriterionAdditionalProperties' {gte} -> gte) (\s@CriterionAdditionalProperties' {} a -> s {gte = a} :: CriterionAdditionalProperties)++-- | The value for the property is less than the specified value.+criterionAdditionalProperties_lt :: Lens.Lens' CriterionAdditionalProperties (Prelude.Maybe Prelude.Integer)+criterionAdditionalProperties_lt = Lens.lens (\CriterionAdditionalProperties' {lt} -> lt) (\s@CriterionAdditionalProperties' {} a -> s {lt = a} :: CriterionAdditionalProperties)++-- | The value for the property is less than or equal to the specified value.+criterionAdditionalProperties_lte :: Lens.Lens' CriterionAdditionalProperties (Prelude.Maybe Prelude.Integer)+criterionAdditionalProperties_lte = Lens.lens (\CriterionAdditionalProperties' {lte} -> lte) (\s@CriterionAdditionalProperties' {} a -> s {lte = a} :: CriterionAdditionalProperties)++-- | The value for the property doesn\'t match (doesn\'t equal) the specified+-- value. If you specify multiple values, Macie uses OR logic to join the+-- values.+criterionAdditionalProperties_neq :: Lens.Lens' CriterionAdditionalProperties (Prelude.Maybe [Prelude.Text])+criterionAdditionalProperties_neq = Lens.lens (\CriterionAdditionalProperties' {neq} -> neq) (\s@CriterionAdditionalProperties' {} a -> s {neq = a} :: CriterionAdditionalProperties) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON CriterionAdditionalProperties where+ parseJSON =+ Data.withObject+ "CriterionAdditionalProperties"+ ( \x ->+ CriterionAdditionalProperties'+ Prelude.<$> (x Data..:? "eq" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "eqExactMatch" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "gt")+ Prelude.<*> (x Data..:? "gte")+ Prelude.<*> (x Data..:? "lt")+ Prelude.<*> (x Data..:? "lte")+ Prelude.<*> (x Data..:? "neq" Data..!= Prelude.mempty)+ )++instance+ Prelude.Hashable+ CriterionAdditionalProperties+ where+ hashWithSalt _salt CriterionAdditionalProperties' {..} =+ _salt+ `Prelude.hashWithSalt` eq+ `Prelude.hashWithSalt` eqExactMatch+ `Prelude.hashWithSalt` gt+ `Prelude.hashWithSalt` gte+ `Prelude.hashWithSalt` lt+ `Prelude.hashWithSalt` lte+ `Prelude.hashWithSalt` neq++instance Prelude.NFData CriterionAdditionalProperties where+ rnf CriterionAdditionalProperties' {..} =+ Prelude.rnf eq+ `Prelude.seq` Prelude.rnf eqExactMatch+ `Prelude.seq` Prelude.rnf gt+ `Prelude.seq` Prelude.rnf gte+ `Prelude.seq` Prelude.rnf lt+ `Prelude.seq` Prelude.rnf lte+ `Prelude.seq` Prelude.rnf neq++instance Data.ToJSON CriterionAdditionalProperties where+ toJSON CriterionAdditionalProperties' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("eq" Data..=) Prelude.<$> eq,+ ("eqExactMatch" Data..=) Prelude.<$> eqExactMatch,+ ("gt" Data..=) Prelude.<$> gt,+ ("gte" Data..=) Prelude.<$> gte,+ ("lt" Data..=) Prelude.<$> lt,+ ("lte" Data..=) Prelude.<$> lte,+ ("neq" Data..=) Prelude.<$> neq+ ]+ )
+ gen/Amazonka/MacieV2/Types/Currency.hs view
@@ -0,0 +1,68 @@+{-# 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.MacieV2.Types.Currency+-- 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.MacieV2.Types.Currency+ ( Currency+ ( ..,+ Currency_USD+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of currency that the data for an Amazon Macie usage metric is+-- reported in. Possible values are:+newtype Currency = Currency'+ { fromCurrency ::+ 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 Currency_USD :: Currency+pattern Currency_USD = Currency' "USD"++{-# COMPLETE+ Currency_USD,+ Currency'+ #-}
+ gen/Amazonka/MacieV2/Types/CustomDataIdentifierSummary.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.Types.CustomDataIdentifierSummary+-- 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.MacieV2.Types.CustomDataIdentifierSummary 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++-- | Provides information about a custom data identifier.+--+-- /See:/ 'newCustomDataIdentifierSummary' smart constructor.+data CustomDataIdentifierSummary = CustomDataIdentifierSummary'+ { -- | The Amazon Resource Name (ARN) of the custom data identifier.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when the custom+ -- data identifier was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The custom description of the custom data identifier.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the custom data identifier.+ id :: Prelude.Maybe Prelude.Text,+ -- | The custom name of the custom data identifier.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomDataIdentifierSummary' 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', 'customDataIdentifierSummary_arn' - The Amazon Resource Name (ARN) of the custom data identifier.+--+-- 'createdAt', 'customDataIdentifierSummary_createdAt' - The date and time, in UTC and extended ISO 8601 format, when the custom+-- data identifier was created.+--+-- 'description', 'customDataIdentifierSummary_description' - The custom description of the custom data identifier.+--+-- 'id', 'customDataIdentifierSummary_id' - The unique identifier for the custom data identifier.+--+-- 'name', 'customDataIdentifierSummary_name' - The custom name of the custom data identifier.+newCustomDataIdentifierSummary ::+ CustomDataIdentifierSummary+newCustomDataIdentifierSummary =+ CustomDataIdentifierSummary'+ { arn = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the custom data identifier.+customDataIdentifierSummary_arn :: Lens.Lens' CustomDataIdentifierSummary (Prelude.Maybe Prelude.Text)+customDataIdentifierSummary_arn = Lens.lens (\CustomDataIdentifierSummary' {arn} -> arn) (\s@CustomDataIdentifierSummary' {} a -> s {arn = a} :: CustomDataIdentifierSummary)++-- | The date and time, in UTC and extended ISO 8601 format, when the custom+-- data identifier was created.+customDataIdentifierSummary_createdAt :: Lens.Lens' CustomDataIdentifierSummary (Prelude.Maybe Prelude.UTCTime)+customDataIdentifierSummary_createdAt = Lens.lens (\CustomDataIdentifierSummary' {createdAt} -> createdAt) (\s@CustomDataIdentifierSummary' {} a -> s {createdAt = a} :: CustomDataIdentifierSummary) Prelude.. Lens.mapping Data._Time++-- | The custom description of the custom data identifier.+customDataIdentifierSummary_description :: Lens.Lens' CustomDataIdentifierSummary (Prelude.Maybe Prelude.Text)+customDataIdentifierSummary_description = Lens.lens (\CustomDataIdentifierSummary' {description} -> description) (\s@CustomDataIdentifierSummary' {} a -> s {description = a} :: CustomDataIdentifierSummary)++-- | The unique identifier for the custom data identifier.+customDataIdentifierSummary_id :: Lens.Lens' CustomDataIdentifierSummary (Prelude.Maybe Prelude.Text)+customDataIdentifierSummary_id = Lens.lens (\CustomDataIdentifierSummary' {id} -> id) (\s@CustomDataIdentifierSummary' {} a -> s {id = a} :: CustomDataIdentifierSummary)++-- | The custom name of the custom data identifier.+customDataIdentifierSummary_name :: Lens.Lens' CustomDataIdentifierSummary (Prelude.Maybe Prelude.Text)+customDataIdentifierSummary_name = Lens.lens (\CustomDataIdentifierSummary' {name} -> name) (\s@CustomDataIdentifierSummary' {} a -> s {name = a} :: CustomDataIdentifierSummary)++instance Data.FromJSON CustomDataIdentifierSummary where+ parseJSON =+ Data.withObject+ "CustomDataIdentifierSummary"+ ( \x ->+ CustomDataIdentifierSummary'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ )++instance Prelude.Hashable CustomDataIdentifierSummary where+ hashWithSalt _salt CustomDataIdentifierSummary' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name++instance Prelude.NFData CustomDataIdentifierSummary where+ rnf CustomDataIdentifierSummary' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/MacieV2/Types/CustomDataIdentifiers.hs view
@@ -0,0 +1,94 @@+{-# 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.MacieV2.Types.CustomDataIdentifiers+-- 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.MacieV2.Types.CustomDataIdentifiers where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.CustomDetection+import qualified Amazonka.Prelude as Prelude++-- | Provides information about custom data identifiers that produced a+-- sensitive data finding, and the number of occurrences of the data that+-- they detected for the finding.+--+-- /See:/ 'newCustomDataIdentifiers' smart constructor.+data CustomDataIdentifiers = CustomDataIdentifiers'+ { -- | The custom data identifiers that detected the data, and the number of+ -- occurrences of the data that each identifier detected.+ detections :: Prelude.Maybe [CustomDetection],+ -- | The total number of occurrences of the data that was detected by the+ -- custom data identifiers and produced the finding.+ totalCount :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomDataIdentifiers' 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:+--+-- 'detections', 'customDataIdentifiers_detections' - The custom data identifiers that detected the data, and the number of+-- occurrences of the data that each identifier detected.+--+-- 'totalCount', 'customDataIdentifiers_totalCount' - The total number of occurrences of the data that was detected by the+-- custom data identifiers and produced the finding.+newCustomDataIdentifiers ::+ CustomDataIdentifiers+newCustomDataIdentifiers =+ CustomDataIdentifiers'+ { detections =+ Prelude.Nothing,+ totalCount = Prelude.Nothing+ }++-- | The custom data identifiers that detected the data, and the number of+-- occurrences of the data that each identifier detected.+customDataIdentifiers_detections :: Lens.Lens' CustomDataIdentifiers (Prelude.Maybe [CustomDetection])+customDataIdentifiers_detections = Lens.lens (\CustomDataIdentifiers' {detections} -> detections) (\s@CustomDataIdentifiers' {} a -> s {detections = a} :: CustomDataIdentifiers) Prelude.. Lens.mapping Lens.coerced++-- | The total number of occurrences of the data that was detected by the+-- custom data identifiers and produced the finding.+customDataIdentifiers_totalCount :: Lens.Lens' CustomDataIdentifiers (Prelude.Maybe Prelude.Integer)+customDataIdentifiers_totalCount = Lens.lens (\CustomDataIdentifiers' {totalCount} -> totalCount) (\s@CustomDataIdentifiers' {} a -> s {totalCount = a} :: CustomDataIdentifiers)++instance Data.FromJSON CustomDataIdentifiers where+ parseJSON =+ Data.withObject+ "CustomDataIdentifiers"+ ( \x ->+ CustomDataIdentifiers'+ Prelude.<$> (x Data..:? "detections" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "totalCount")+ )++instance Prelude.Hashable CustomDataIdentifiers where+ hashWithSalt _salt CustomDataIdentifiers' {..} =+ _salt+ `Prelude.hashWithSalt` detections+ `Prelude.hashWithSalt` totalCount++instance Prelude.NFData CustomDataIdentifiers where+ rnf CustomDataIdentifiers' {..} =+ Prelude.rnf detections+ `Prelude.seq` Prelude.rnf totalCount
+ gen/Amazonka/MacieV2/Types/CustomDetection.hs view
@@ -0,0 +1,120 @@+{-# 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.MacieV2.Types.CustomDetection+-- 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.MacieV2.Types.CustomDetection where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.Occurrences+import qualified Amazonka.Prelude as Prelude++-- | Provides information about a custom data identifier that produced a+-- sensitive data finding, and the sensitive data that it detected for the+-- finding.+--+-- /See:/ 'newCustomDetection' smart constructor.+data CustomDetection = CustomDetection'+ { -- | The Amazon Resource Name (ARN) of the custom data identifier.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The total number of occurrences of the sensitive data that the custom+ -- data identifier detected.+ count :: Prelude.Maybe Prelude.Integer,+ -- | The name of the custom data identifier.+ name :: Prelude.Maybe Prelude.Text,+ -- | The location of 1-15 occurrences of the sensitive data that the custom+ -- data identifier detected. A finding includes location data for a maximum+ -- of 15 occurrences of sensitive data.+ occurrences :: Prelude.Maybe Occurrences+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomDetection' 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', 'customDetection_arn' - The Amazon Resource Name (ARN) of the custom data identifier.+--+-- 'count', 'customDetection_count' - The total number of occurrences of the sensitive data that the custom+-- data identifier detected.+--+-- 'name', 'customDetection_name' - The name of the custom data identifier.+--+-- 'occurrences', 'customDetection_occurrences' - The location of 1-15 occurrences of the sensitive data that the custom+-- data identifier detected. A finding includes location data for a maximum+-- of 15 occurrences of sensitive data.+newCustomDetection ::+ CustomDetection+newCustomDetection =+ CustomDetection'+ { arn = Prelude.Nothing,+ count = Prelude.Nothing,+ name = Prelude.Nothing,+ occurrences = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the custom data identifier.+customDetection_arn :: Lens.Lens' CustomDetection (Prelude.Maybe Prelude.Text)+customDetection_arn = Lens.lens (\CustomDetection' {arn} -> arn) (\s@CustomDetection' {} a -> s {arn = a} :: CustomDetection)++-- | The total number of occurrences of the sensitive data that the custom+-- data identifier detected.+customDetection_count :: Lens.Lens' CustomDetection (Prelude.Maybe Prelude.Integer)+customDetection_count = Lens.lens (\CustomDetection' {count} -> count) (\s@CustomDetection' {} a -> s {count = a} :: CustomDetection)++-- | The name of the custom data identifier.+customDetection_name :: Lens.Lens' CustomDetection (Prelude.Maybe Prelude.Text)+customDetection_name = Lens.lens (\CustomDetection' {name} -> name) (\s@CustomDetection' {} a -> s {name = a} :: CustomDetection)++-- | The location of 1-15 occurrences of the sensitive data that the custom+-- data identifier detected. A finding includes location data for a maximum+-- of 15 occurrences of sensitive data.+customDetection_occurrences :: Lens.Lens' CustomDetection (Prelude.Maybe Occurrences)+customDetection_occurrences = Lens.lens (\CustomDetection' {occurrences} -> occurrences) (\s@CustomDetection' {} a -> s {occurrences = a} :: CustomDetection)++instance Data.FromJSON CustomDetection where+ parseJSON =+ Data.withObject+ "CustomDetection"+ ( \x ->+ CustomDetection'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "count")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "occurrences")+ )++instance Prelude.Hashable CustomDetection where+ hashWithSalt _salt CustomDetection' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` count+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` occurrences++instance Prelude.NFData CustomDetection where+ rnf CustomDetection' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf count+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf occurrences
+ gen/Amazonka/MacieV2/Types/DailySchedule.hs view
@@ -0,0 +1,58 @@+{-# 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.MacieV2.Types.DailySchedule+-- 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.MacieV2.Types.DailySchedule 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++-- | Specifies that a classification job runs once a day, every day. This is+-- an empty object.+--+-- /See:/ 'newDailySchedule' smart constructor.+data DailySchedule = DailySchedule'+ {+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DailySchedule' 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.+newDailySchedule ::+ DailySchedule+newDailySchedule = DailySchedule'++instance Data.FromJSON DailySchedule where+ parseJSON =+ Data.withObject+ "DailySchedule"+ (\x -> Prelude.pure DailySchedule')++instance Prelude.Hashable DailySchedule where+ hashWithSalt _salt _ =+ _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData DailySchedule where+ rnf _ = ()++instance Data.ToJSON DailySchedule where+ toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/MacieV2/Types/DataIdentifierSeverity.hs view
@@ -0,0 +1,78 @@+{-# 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.MacieV2.Types.DataIdentifierSeverity+-- 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.MacieV2.Types.DataIdentifierSeverity+ ( DataIdentifierSeverity+ ( ..,+ DataIdentifierSeverity_HIGH,+ DataIdentifierSeverity_LOW,+ DataIdentifierSeverity_MEDIUM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The severity of a finding, ranging from LOW, for least severe, to HIGH,+-- for most severe. Valid values are:+newtype DataIdentifierSeverity = DataIdentifierSeverity'+ { fromDataIdentifierSeverity ::+ 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 DataIdentifierSeverity_HIGH :: DataIdentifierSeverity+pattern DataIdentifierSeverity_HIGH = DataIdentifierSeverity' "HIGH"++pattern DataIdentifierSeverity_LOW :: DataIdentifierSeverity+pattern DataIdentifierSeverity_LOW = DataIdentifierSeverity' "LOW"++pattern DataIdentifierSeverity_MEDIUM :: DataIdentifierSeverity+pattern DataIdentifierSeverity_MEDIUM = DataIdentifierSeverity' "MEDIUM"++{-# COMPLETE+ DataIdentifierSeverity_HIGH,+ DataIdentifierSeverity_LOW,+ DataIdentifierSeverity_MEDIUM,+ DataIdentifierSeverity'+ #-}
+ gen/Amazonka/MacieV2/Types/DataIdentifierType.hs view
@@ -0,0 +1,73 @@+{-# 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.MacieV2.Types.DataIdentifierType+-- 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.MacieV2.Types.DataIdentifierType+ ( DataIdentifierType+ ( ..,+ DataIdentifierType_CUSTOM,+ DataIdentifierType_MANAGED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of data identifier that detected a specific type of sensitive+-- data in an S3 bucket. Possible values are:+newtype DataIdentifierType = DataIdentifierType'+ { fromDataIdentifierType ::+ 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 DataIdentifierType_CUSTOM :: DataIdentifierType+pattern DataIdentifierType_CUSTOM = DataIdentifierType' "CUSTOM"++pattern DataIdentifierType_MANAGED :: DataIdentifierType+pattern DataIdentifierType_MANAGED = DataIdentifierType' "MANAGED"++{-# COMPLETE+ DataIdentifierType_CUSTOM,+ DataIdentifierType_MANAGED,+ DataIdentifierType'+ #-}
+ gen/Amazonka/MacieV2/Types/DayOfWeek.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.MacieV2.Types.DayOfWeek+-- 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.MacieV2.Types.DayOfWeek+ ( DayOfWeek+ ( ..,+ DayOfWeek_FRIDAY,+ DayOfWeek_MONDAY,+ DayOfWeek_SATURDAY,+ DayOfWeek_SUNDAY,+ DayOfWeek_THURSDAY,+ DayOfWeek_TUESDAY,+ DayOfWeek_WEDNESDAY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DayOfWeek = DayOfWeek'+ { fromDayOfWeek ::+ 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 DayOfWeek_FRIDAY :: DayOfWeek+pattern DayOfWeek_FRIDAY = DayOfWeek' "FRIDAY"++pattern DayOfWeek_MONDAY :: DayOfWeek+pattern DayOfWeek_MONDAY = DayOfWeek' "MONDAY"++pattern DayOfWeek_SATURDAY :: DayOfWeek+pattern DayOfWeek_SATURDAY = DayOfWeek' "SATURDAY"++pattern DayOfWeek_SUNDAY :: DayOfWeek+pattern DayOfWeek_SUNDAY = DayOfWeek' "SUNDAY"++pattern DayOfWeek_THURSDAY :: DayOfWeek+pattern DayOfWeek_THURSDAY = DayOfWeek' "THURSDAY"++pattern DayOfWeek_TUESDAY :: DayOfWeek+pattern DayOfWeek_TUESDAY = DayOfWeek' "TUESDAY"++pattern DayOfWeek_WEDNESDAY :: DayOfWeek+pattern DayOfWeek_WEDNESDAY = DayOfWeek' "WEDNESDAY"++{-# COMPLETE+ DayOfWeek_FRIDAY,+ DayOfWeek_MONDAY,+ DayOfWeek_SATURDAY,+ DayOfWeek_SUNDAY,+ DayOfWeek_THURSDAY,+ DayOfWeek_TUESDAY,+ DayOfWeek_WEDNESDAY,+ DayOfWeek'+ #-}
+ gen/Amazonka/MacieV2/Types/DefaultDetection.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.MacieV2.Types.DefaultDetection+-- 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.MacieV2.Types.DefaultDetection where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.Occurrences+import qualified Amazonka.Prelude as Prelude++-- | Provides information about a type of sensitive data that was detected by+-- a managed data identifier and produced a sensitive data finding.+--+-- /See:/ 'newDefaultDetection' smart constructor.+data DefaultDetection = DefaultDetection'+ { -- | The total number of occurrences of the type of sensitive data that was+ -- detected.+ count :: Prelude.Maybe Prelude.Integer,+ -- | The location of 1-15 occurrences of the sensitive data that was+ -- detected. A finding includes location data for a maximum of 15+ -- occurrences of sensitive data.+ occurrences :: Prelude.Maybe Occurrences,+ -- | The type of sensitive data that was detected. For example,+ -- AWS_CREDENTIALS, PHONE_NUMBER, or ADDRESS.+ type' :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DefaultDetection' 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:+--+-- 'count', 'defaultDetection_count' - The total number of occurrences of the type of sensitive data that was+-- detected.+--+-- 'occurrences', 'defaultDetection_occurrences' - The location of 1-15 occurrences of the sensitive data that was+-- detected. A finding includes location data for a maximum of 15+-- occurrences of sensitive data.+--+-- 'type'', 'defaultDetection_type' - The type of sensitive data that was detected. For example,+-- AWS_CREDENTIALS, PHONE_NUMBER, or ADDRESS.+newDefaultDetection ::+ DefaultDetection+newDefaultDetection =+ DefaultDetection'+ { count = Prelude.Nothing,+ occurrences = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The total number of occurrences of the type of sensitive data that was+-- detected.+defaultDetection_count :: Lens.Lens' DefaultDetection (Prelude.Maybe Prelude.Integer)+defaultDetection_count = Lens.lens (\DefaultDetection' {count} -> count) (\s@DefaultDetection' {} a -> s {count = a} :: DefaultDetection)++-- | The location of 1-15 occurrences of the sensitive data that was+-- detected. A finding includes location data for a maximum of 15+-- occurrences of sensitive data.+defaultDetection_occurrences :: Lens.Lens' DefaultDetection (Prelude.Maybe Occurrences)+defaultDetection_occurrences = Lens.lens (\DefaultDetection' {occurrences} -> occurrences) (\s@DefaultDetection' {} a -> s {occurrences = a} :: DefaultDetection)++-- | The type of sensitive data that was detected. For example,+-- AWS_CREDENTIALS, PHONE_NUMBER, or ADDRESS.+defaultDetection_type :: Lens.Lens' DefaultDetection (Prelude.Maybe Prelude.Text)+defaultDetection_type = Lens.lens (\DefaultDetection' {type'} -> type') (\s@DefaultDetection' {} a -> s {type' = a} :: DefaultDetection)++instance Data.FromJSON DefaultDetection where+ parseJSON =+ Data.withObject+ "DefaultDetection"+ ( \x ->+ DefaultDetection'+ Prelude.<$> (x Data..:? "count")+ Prelude.<*> (x Data..:? "occurrences")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable DefaultDetection where+ hashWithSalt _salt DefaultDetection' {..} =+ _salt+ `Prelude.hashWithSalt` count+ `Prelude.hashWithSalt` occurrences+ `Prelude.hashWithSalt` type'++instance Prelude.NFData DefaultDetection where+ rnf DefaultDetection' {..} =+ Prelude.rnf count+ `Prelude.seq` Prelude.rnf occurrences+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/MacieV2/Types/DetectedDataDetails.hs view
@@ -0,0 +1,73 @@+{-# 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.MacieV2.Types.DetectedDataDetails+-- 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.MacieV2.Types.DetectedDataDetails 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++-- | Specifies 1-10 occurrences of a specific type of sensitive data reported+-- by a finding.+--+-- /See:/ 'newDetectedDataDetails' smart constructor.+data DetectedDataDetails = DetectedDataDetails'+ { -- | An occurrence of the specified type of sensitive data. Each occurrence+ -- can contain 1-128 characters.+ value :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DetectedDataDetails' 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:+--+-- 'value', 'detectedDataDetails_value' - An occurrence of the specified type of sensitive data. Each occurrence+-- can contain 1-128 characters.+newDetectedDataDetails ::+ -- | 'value'+ Prelude.Text ->+ DetectedDataDetails+newDetectedDataDetails pValue_ =+ DetectedDataDetails' {value = pValue_}++-- | An occurrence of the specified type of sensitive data. Each occurrence+-- can contain 1-128 characters.+detectedDataDetails_value :: Lens.Lens' DetectedDataDetails Prelude.Text+detectedDataDetails_value = Lens.lens (\DetectedDataDetails' {value} -> value) (\s@DetectedDataDetails' {} a -> s {value = a} :: DetectedDataDetails)++instance Data.FromJSON DetectedDataDetails where+ parseJSON =+ Data.withObject+ "DetectedDataDetails"+ ( \x ->+ DetectedDataDetails' Prelude.<$> (x Data..: "value")+ )++instance Prelude.Hashable DetectedDataDetails where+ hashWithSalt _salt DetectedDataDetails' {..} =+ _salt `Prelude.hashWithSalt` value++instance Prelude.NFData DetectedDataDetails where+ rnf DetectedDataDetails' {..} = Prelude.rnf value
+ gen/Amazonka/MacieV2/Types/Detection.hs view
@@ -0,0 +1,171 @@+{-# 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.MacieV2.Types.Detection+-- 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.MacieV2.Types.Detection where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.DataIdentifierType+import qualified Amazonka.Prelude as Prelude++-- | Provides information about a type of sensitive data that Amazon Macie+-- found in an S3 bucket while performing automated sensitive data+-- discovery for the bucket. The information also specifies the custom data+-- identifier or managed data identifier that detected the data. This+-- information is available only if automated sensitive data discovery is+-- currently enabled for your account.+--+-- /See:/ 'newDetection' smart constructor.+data Detection = Detection'+ { -- | If the sensitive data was detected by a custom data identifier, the+ -- Amazon Resource Name (ARN) of the custom data identifier that detected+ -- the data. Otherwise, this value is null.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The total number of occurrences of the sensitive data.+ count :: Prelude.Maybe Prelude.Integer,+ -- | The unique identifier for the custom data identifier or managed data+ -- identifier that detected the sensitive data. For additional details+ -- about a specified managed data identifier, see+ -- <https://docs.aws.amazon.com/macie/latest/user/managed-data-identifiers.html Using managed data identifiers>+ -- in the /Amazon Macie User Guide/.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the custom data identifier or managed data identifier that+ -- detected the sensitive data. For a managed data identifier, this value+ -- is the same as the unique identifier (id).+ name :: Prelude.Maybe Prelude.Text,+ -- | Specifies whether occurrences of this type of sensitive data are+ -- excluded (true) or included (false) in the bucket\'s sensitivity score.+ suppressed :: Prelude.Maybe Prelude.Bool,+ -- | The type of data identifier that detected the sensitive data. Possible+ -- values are: CUSTOM, for a custom data identifier; and, MANAGED, for a+ -- managed data identifier.+ type' :: Prelude.Maybe DataIdentifierType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Detection' 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', 'detection_arn' - If the sensitive data was detected by a custom data identifier, the+-- Amazon Resource Name (ARN) of the custom data identifier that detected+-- the data. Otherwise, this value is null.+--+-- 'count', 'detection_count' - The total number of occurrences of the sensitive data.+--+-- 'id', 'detection_id' - The unique identifier for the custom data identifier or managed data+-- identifier that detected the sensitive data. For additional details+-- about a specified managed data identifier, see+-- <https://docs.aws.amazon.com/macie/latest/user/managed-data-identifiers.html Using managed data identifiers>+-- in the /Amazon Macie User Guide/.+--+-- 'name', 'detection_name' - The name of the custom data identifier or managed data identifier that+-- detected the sensitive data. For a managed data identifier, this value+-- is the same as the unique identifier (id).+--+-- 'suppressed', 'detection_suppressed' - Specifies whether occurrences of this type of sensitive data are+-- excluded (true) or included (false) in the bucket\'s sensitivity score.+--+-- 'type'', 'detection_type' - The type of data identifier that detected the sensitive data. Possible+-- values are: CUSTOM, for a custom data identifier; and, MANAGED, for a+-- managed data identifier.+newDetection ::+ Detection+newDetection =+ Detection'+ { arn = Prelude.Nothing,+ count = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ suppressed = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | If the sensitive data was detected by a custom data identifier, the+-- Amazon Resource Name (ARN) of the custom data identifier that detected+-- the data. Otherwise, this value is null.+detection_arn :: Lens.Lens' Detection (Prelude.Maybe Prelude.Text)+detection_arn = Lens.lens (\Detection' {arn} -> arn) (\s@Detection' {} a -> s {arn = a} :: Detection)++-- | The total number of occurrences of the sensitive data.+detection_count :: Lens.Lens' Detection (Prelude.Maybe Prelude.Integer)+detection_count = Lens.lens (\Detection' {count} -> count) (\s@Detection' {} a -> s {count = a} :: Detection)++-- | The unique identifier for the custom data identifier or managed data+-- identifier that detected the sensitive data. For additional details+-- about a specified managed data identifier, see+-- <https://docs.aws.amazon.com/macie/latest/user/managed-data-identifiers.html Using managed data identifiers>+-- in the /Amazon Macie User Guide/.+detection_id :: Lens.Lens' Detection (Prelude.Maybe Prelude.Text)+detection_id = Lens.lens (\Detection' {id} -> id) (\s@Detection' {} a -> s {id = a} :: Detection)++-- | The name of the custom data identifier or managed data identifier that+-- detected the sensitive data. For a managed data identifier, this value+-- is the same as the unique identifier (id).+detection_name :: Lens.Lens' Detection (Prelude.Maybe Prelude.Text)+detection_name = Lens.lens (\Detection' {name} -> name) (\s@Detection' {} a -> s {name = a} :: Detection)++-- | Specifies whether occurrences of this type of sensitive data are+-- excluded (true) or included (false) in the bucket\'s sensitivity score.+detection_suppressed :: Lens.Lens' Detection (Prelude.Maybe Prelude.Bool)+detection_suppressed = Lens.lens (\Detection' {suppressed} -> suppressed) (\s@Detection' {} a -> s {suppressed = a} :: Detection)++-- | The type of data identifier that detected the sensitive data. Possible+-- values are: CUSTOM, for a custom data identifier; and, MANAGED, for a+-- managed data identifier.+detection_type :: Lens.Lens' Detection (Prelude.Maybe DataIdentifierType)+detection_type = Lens.lens (\Detection' {type'} -> type') (\s@Detection' {} a -> s {type' = a} :: Detection)++instance Data.FromJSON Detection where+ parseJSON =+ Data.withObject+ "Detection"+ ( \x ->+ Detection'+ Prelude.<$> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "count")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "suppressed")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable Detection where+ hashWithSalt _salt Detection' {..} =+ _salt+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` count+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` suppressed+ `Prelude.hashWithSalt` type'++instance Prelude.NFData Detection where+ rnf Detection' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf count+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf suppressed+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/MacieV2/Types/DomainDetails.hs view
@@ -0,0 +1,68 @@+{-# 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.MacieV2.Types.DomainDetails+-- 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.MacieV2.Types.DomainDetails 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++-- | Provides information about the domain name of the device that an entity+-- used to perform an action on an affected resource.+--+-- /See:/ 'newDomainDetails' smart constructor.+data DomainDetails = DomainDetails'+ { -- | The name of the domain.+ domainName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DomainDetails' 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:+--+-- 'domainName', 'domainDetails_domainName' - The name of the domain.+newDomainDetails ::+ DomainDetails+newDomainDetails =+ DomainDetails' {domainName = Prelude.Nothing}++-- | The name of the domain.+domainDetails_domainName :: Lens.Lens' DomainDetails (Prelude.Maybe Prelude.Text)+domainDetails_domainName = Lens.lens (\DomainDetails' {domainName} -> domainName) (\s@DomainDetails' {} a -> s {domainName = a} :: DomainDetails)++instance Data.FromJSON DomainDetails where+ parseJSON =+ Data.withObject+ "DomainDetails"+ ( \x ->+ DomainDetails' Prelude.<$> (x Data..:? "domainName")+ )++instance Prelude.Hashable DomainDetails where+ hashWithSalt _salt DomainDetails' {..} =+ _salt `Prelude.hashWithSalt` domainName++instance Prelude.NFData DomainDetails where+ rnf DomainDetails' {..} = Prelude.rnf domainName
+ gen/Amazonka/MacieV2/Types/EffectivePermission.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.MacieV2.Types.EffectivePermission+-- 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.MacieV2.Types.EffectivePermission+ ( EffectivePermission+ ( ..,+ EffectivePermission_NOT_PUBLIC,+ EffectivePermission_PUBLIC,+ EffectivePermission_UNKNOWN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EffectivePermission = EffectivePermission'+ { fromEffectivePermission ::+ 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 EffectivePermission_NOT_PUBLIC :: EffectivePermission+pattern EffectivePermission_NOT_PUBLIC = EffectivePermission' "NOT_PUBLIC"++pattern EffectivePermission_PUBLIC :: EffectivePermission+pattern EffectivePermission_PUBLIC = EffectivePermission' "PUBLIC"++pattern EffectivePermission_UNKNOWN :: EffectivePermission+pattern EffectivePermission_UNKNOWN = EffectivePermission' "UNKNOWN"++{-# COMPLETE+ EffectivePermission_NOT_PUBLIC,+ EffectivePermission_PUBLIC,+ EffectivePermission_UNKNOWN,+ EffectivePermission'+ #-}
+ gen/Amazonka/MacieV2/Types/EncryptionType.hs view
@@ -0,0 +1,83 @@+{-# 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.MacieV2.Types.EncryptionType+-- 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.MacieV2.Types.EncryptionType+ ( EncryptionType+ ( ..,+ EncryptionType_AES256,+ EncryptionType_Aws_kms,+ EncryptionType_NONE,+ EncryptionType_UNKNOWN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of server-side encryption that\'s used to encrypt an S3 object+-- or objects in an S3 bucket. Possible values are:+newtype EncryptionType = EncryptionType'+ { fromEncryptionType ::+ 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 EncryptionType_AES256 :: EncryptionType+pattern EncryptionType_AES256 = EncryptionType' "AES256"++pattern EncryptionType_Aws_kms :: EncryptionType+pattern EncryptionType_Aws_kms = EncryptionType' "aws:kms"++pattern EncryptionType_NONE :: EncryptionType+pattern EncryptionType_NONE = EncryptionType' "NONE"++pattern EncryptionType_UNKNOWN :: EncryptionType+pattern EncryptionType_UNKNOWN = EncryptionType' "UNKNOWN"++{-# COMPLETE+ EncryptionType_AES256,+ EncryptionType_Aws_kms,+ EncryptionType_NONE,+ EncryptionType_UNKNOWN,+ EncryptionType'+ #-}
+ gen/Amazonka/MacieV2/Types/ErrorCode.hs view
@@ -0,0 +1,72 @@+{-# 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.MacieV2.Types.ErrorCode+-- 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.MacieV2.Types.ErrorCode+ ( ErrorCode+ ( ..,+ ErrorCode_ClientError,+ ErrorCode_InternalError+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The source of an issue or delay. Possible values are:+newtype ErrorCode = ErrorCode'+ { fromErrorCode ::+ 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 ErrorCode_ClientError :: ErrorCode+pattern ErrorCode_ClientError = ErrorCode' "ClientError"++pattern ErrorCode_InternalError :: ErrorCode+pattern ErrorCode_InternalError = ErrorCode' "InternalError"++{-# COMPLETE+ ErrorCode_ClientError,+ ErrorCode_InternalError,+ ErrorCode'+ #-}
+ gen/Amazonka/MacieV2/Types/FederatedUser.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.MacieV2.Types.FederatedUser+-- 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.MacieV2.Types.FederatedUser where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.SessionContext+import qualified Amazonka.Prelude as Prelude++-- | Provides information about an identity that performed an action on an+-- affected resource by using temporary security credentials. The+-- credentials were obtained using the GetFederationToken operation of the+-- Security Token Service (STS) API.+--+-- /See:/ 'newFederatedUser' smart constructor.+data FederatedUser = FederatedUser'+ { -- | The Amazon Web Services access key ID that identifies the credentials.+ accessKeyId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the Amazon Web Services account that owns the+ -- entity that was used to get the credentials.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the entity that was used to get the+ -- credentials.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the entity that was used to get the+ -- credentials.+ principalId :: Prelude.Maybe Prelude.Text,+ -- | The details of the session that was created for the credentials,+ -- including the entity that issued the session.+ sessionContext :: Prelude.Maybe SessionContext+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FederatedUser' 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:+--+-- 'accessKeyId', 'federatedUser_accessKeyId' - The Amazon Web Services access key ID that identifies the credentials.+--+-- 'accountId', 'federatedUser_accountId' - The unique identifier for the Amazon Web Services account that owns the+-- entity that was used to get the credentials.+--+-- 'arn', 'federatedUser_arn' - The Amazon Resource Name (ARN) of the entity that was used to get the+-- credentials.+--+-- 'principalId', 'federatedUser_principalId' - The unique identifier for the entity that was used to get the+-- credentials.+--+-- 'sessionContext', 'federatedUser_sessionContext' - The details of the session that was created for the credentials,+-- including the entity that issued the session.+newFederatedUser ::+ FederatedUser+newFederatedUser =+ FederatedUser'+ { accessKeyId = Prelude.Nothing,+ accountId = Prelude.Nothing,+ arn = Prelude.Nothing,+ principalId = Prelude.Nothing,+ sessionContext = Prelude.Nothing+ }++-- | The Amazon Web Services access key ID that identifies the credentials.+federatedUser_accessKeyId :: Lens.Lens' FederatedUser (Prelude.Maybe Prelude.Text)+federatedUser_accessKeyId = Lens.lens (\FederatedUser' {accessKeyId} -> accessKeyId) (\s@FederatedUser' {} a -> s {accessKeyId = a} :: FederatedUser)++-- | The unique identifier for the Amazon Web Services account that owns the+-- entity that was used to get the credentials.+federatedUser_accountId :: Lens.Lens' FederatedUser (Prelude.Maybe Prelude.Text)+federatedUser_accountId = Lens.lens (\FederatedUser' {accountId} -> accountId) (\s@FederatedUser' {} a -> s {accountId = a} :: FederatedUser)++-- | The Amazon Resource Name (ARN) of the entity that was used to get the+-- credentials.+federatedUser_arn :: Lens.Lens' FederatedUser (Prelude.Maybe Prelude.Text)+federatedUser_arn = Lens.lens (\FederatedUser' {arn} -> arn) (\s@FederatedUser' {} a -> s {arn = a} :: FederatedUser)++-- | The unique identifier for the entity that was used to get the+-- credentials.+federatedUser_principalId :: Lens.Lens' FederatedUser (Prelude.Maybe Prelude.Text)+federatedUser_principalId = Lens.lens (\FederatedUser' {principalId} -> principalId) (\s@FederatedUser' {} a -> s {principalId = a} :: FederatedUser)++-- | The details of the session that was created for the credentials,+-- including the entity that issued the session.+federatedUser_sessionContext :: Lens.Lens' FederatedUser (Prelude.Maybe SessionContext)+federatedUser_sessionContext = Lens.lens (\FederatedUser' {sessionContext} -> sessionContext) (\s@FederatedUser' {} a -> s {sessionContext = a} :: FederatedUser)++instance Data.FromJSON FederatedUser where+ parseJSON =+ Data.withObject+ "FederatedUser"+ ( \x ->+ FederatedUser'+ Prelude.<$> (x Data..:? "accessKeyId")+ Prelude.<*> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "principalId")+ Prelude.<*> (x Data..:? "sessionContext")+ )++instance Prelude.Hashable FederatedUser where+ hashWithSalt _salt FederatedUser' {..} =+ _salt+ `Prelude.hashWithSalt` accessKeyId+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` principalId+ `Prelude.hashWithSalt` sessionContext++instance Prelude.NFData FederatedUser where+ rnf FederatedUser' {..} =+ Prelude.rnf accessKeyId+ `Prelude.seq` Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf principalId+ `Prelude.seq` Prelude.rnf sessionContext
+ gen/Amazonka/MacieV2/Types/Finding.hs view
@@ -0,0 +1,333 @@+{-# 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.MacieV2.Types.Finding+-- 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.MacieV2.Types.Finding where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.ClassificationDetails+import Amazonka.MacieV2.Types.FindingCategory+import Amazonka.MacieV2.Types.FindingType+import Amazonka.MacieV2.Types.PolicyDetails+import Amazonka.MacieV2.Types.ResourcesAffected+import Amazonka.MacieV2.Types.Severity+import qualified Amazonka.Prelude as Prelude++-- | Provides the details of a finding.+--+-- /See:/ 'newFinding' smart constructor.+data Finding = Finding'+ { -- | The unique identifier for the Amazon Web Services account that the+ -- finding applies to. This is typically the account that owns the affected+ -- resource.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | Specifies whether the finding is archived (suppressed).+ archived :: Prelude.Maybe Prelude.Bool,+ -- | The category of the finding. Possible values are: CLASSIFICATION, for a+ -- sensitive data finding; and, POLICY, for a policy finding.+ category :: Prelude.Maybe FindingCategory,+ -- | The details of a sensitive data finding. This value is null for a policy+ -- finding.+ classificationDetails :: Prelude.Maybe ClassificationDetails,+ -- | The total number of occurrences of the finding. For sensitive data+ -- findings, this value is always 1. All sensitive data findings are+ -- considered unique.+ count :: Prelude.Maybe Prelude.Integer,+ -- | The date and time, in UTC and extended ISO 8601 format, when Amazon+ -- Macie created the finding.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The description of the finding.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the finding. This is a random string that+ -- Amazon Macie generates and assigns to a finding when it creates the+ -- finding.+ id :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services partition that Amazon Macie created the finding+ -- in.+ partition :: Prelude.Maybe Prelude.Text,+ -- | The details of a policy finding. This value is null for a sensitive data+ -- finding.+ policyDetails :: Prelude.Maybe PolicyDetails,+ -- | The Amazon Web Services Region that Amazon Macie created the finding in.+ region :: Prelude.Maybe Prelude.Text,+ -- | The resources that the finding applies to.+ resourcesAffected :: Prelude.Maybe ResourcesAffected,+ -- | Specifies whether the finding is a sample finding. A /sample finding/ is+ -- a finding that uses example data to demonstrate what a finding might+ -- contain.+ sample :: Prelude.Maybe Prelude.Bool,+ -- | The version of the schema that was used to define the data structures in+ -- the finding.+ schemaVersion :: Prelude.Maybe Prelude.Text,+ -- | The severity level and score for the finding.+ severity :: Prelude.Maybe Severity,+ -- | The brief description of the finding.+ title :: Prelude.Maybe Prelude.Text,+ -- | The type of the finding.+ type' :: Prelude.Maybe FindingType,+ -- | The date and time, in UTC and extended ISO 8601 format, when Amazon+ -- Macie last updated the finding. For sensitive data findings, this value+ -- is the same as the value for the createdAt property. All sensitive data+ -- findings are considered new.+ updatedAt :: Prelude.Maybe Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Finding' 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:+--+-- 'accountId', 'finding_accountId' - The unique identifier for the Amazon Web Services account that the+-- finding applies to. This is typically the account that owns the affected+-- resource.+--+-- 'archived', 'finding_archived' - Specifies whether the finding is archived (suppressed).+--+-- 'category', 'finding_category' - The category of the finding. Possible values are: CLASSIFICATION, for a+-- sensitive data finding; and, POLICY, for a policy finding.+--+-- 'classificationDetails', 'finding_classificationDetails' - The details of a sensitive data finding. This value is null for a policy+-- finding.+--+-- 'count', 'finding_count' - The total number of occurrences of the finding. For sensitive data+-- findings, this value is always 1. All sensitive data findings are+-- considered unique.+--+-- 'createdAt', 'finding_createdAt' - The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie created the finding.+--+-- 'description', 'finding_description' - The description of the finding.+--+-- 'id', 'finding_id' - The unique identifier for the finding. This is a random string that+-- Amazon Macie generates and assigns to a finding when it creates the+-- finding.+--+-- 'partition', 'finding_partition' - The Amazon Web Services partition that Amazon Macie created the finding+-- in.+--+-- 'policyDetails', 'finding_policyDetails' - The details of a policy finding. This value is null for a sensitive data+-- finding.+--+-- 'region', 'finding_region' - The Amazon Web Services Region that Amazon Macie created the finding in.+--+-- 'resourcesAffected', 'finding_resourcesAffected' - The resources that the finding applies to.+--+-- 'sample', 'finding_sample' - Specifies whether the finding is a sample finding. A /sample finding/ is+-- a finding that uses example data to demonstrate what a finding might+-- contain.+--+-- 'schemaVersion', 'finding_schemaVersion' - The version of the schema that was used to define the data structures in+-- the finding.+--+-- 'severity', 'finding_severity' - The severity level and score for the finding.+--+-- 'title', 'finding_title' - The brief description of the finding.+--+-- 'type'', 'finding_type' - The type of the finding.+--+-- 'updatedAt', 'finding_updatedAt' - The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie last updated the finding. For sensitive data findings, this value+-- is the same as the value for the createdAt property. All sensitive data+-- findings are considered new.+newFinding ::+ Finding+newFinding =+ Finding'+ { accountId = Prelude.Nothing,+ archived = Prelude.Nothing,+ category = Prelude.Nothing,+ classificationDetails = Prelude.Nothing,+ count = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ description = Prelude.Nothing,+ id = Prelude.Nothing,+ partition = Prelude.Nothing,+ policyDetails = Prelude.Nothing,+ region = Prelude.Nothing,+ resourcesAffected = Prelude.Nothing,+ sample = Prelude.Nothing,+ schemaVersion = Prelude.Nothing,+ severity = Prelude.Nothing,+ title = Prelude.Nothing,+ type' = Prelude.Nothing,+ updatedAt = Prelude.Nothing+ }++-- | The unique identifier for the Amazon Web Services account that the+-- finding applies to. This is typically the account that owns the affected+-- resource.+finding_accountId :: Lens.Lens' Finding (Prelude.Maybe Prelude.Text)+finding_accountId = Lens.lens (\Finding' {accountId} -> accountId) (\s@Finding' {} a -> s {accountId = a} :: Finding)++-- | Specifies whether the finding is archived (suppressed).+finding_archived :: Lens.Lens' Finding (Prelude.Maybe Prelude.Bool)+finding_archived = Lens.lens (\Finding' {archived} -> archived) (\s@Finding' {} a -> s {archived = a} :: Finding)++-- | The category of the finding. Possible values are: CLASSIFICATION, for a+-- sensitive data finding; and, POLICY, for a policy finding.+finding_category :: Lens.Lens' Finding (Prelude.Maybe FindingCategory)+finding_category = Lens.lens (\Finding' {category} -> category) (\s@Finding' {} a -> s {category = a} :: Finding)++-- | The details of a sensitive data finding. This value is null for a policy+-- finding.+finding_classificationDetails :: Lens.Lens' Finding (Prelude.Maybe ClassificationDetails)+finding_classificationDetails = Lens.lens (\Finding' {classificationDetails} -> classificationDetails) (\s@Finding' {} a -> s {classificationDetails = a} :: Finding)++-- | The total number of occurrences of the finding. For sensitive data+-- findings, this value is always 1. All sensitive data findings are+-- considered unique.+finding_count :: Lens.Lens' Finding (Prelude.Maybe Prelude.Integer)+finding_count = Lens.lens (\Finding' {count} -> count) (\s@Finding' {} a -> s {count = a} :: Finding)++-- | The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie created the finding.+finding_createdAt :: Lens.Lens' Finding (Prelude.Maybe Prelude.UTCTime)+finding_createdAt = Lens.lens (\Finding' {createdAt} -> createdAt) (\s@Finding' {} a -> s {createdAt = a} :: Finding) Prelude.. Lens.mapping Data._Time++-- | The description of the finding.+finding_description :: Lens.Lens' Finding (Prelude.Maybe Prelude.Text)+finding_description = Lens.lens (\Finding' {description} -> description) (\s@Finding' {} a -> s {description = a} :: Finding)++-- | The unique identifier for the finding. This is a random string that+-- Amazon Macie generates and assigns to a finding when it creates the+-- finding.+finding_id :: Lens.Lens' Finding (Prelude.Maybe Prelude.Text)+finding_id = Lens.lens (\Finding' {id} -> id) (\s@Finding' {} a -> s {id = a} :: Finding)++-- | The Amazon Web Services partition that Amazon Macie created the finding+-- in.+finding_partition :: Lens.Lens' Finding (Prelude.Maybe Prelude.Text)+finding_partition = Lens.lens (\Finding' {partition} -> partition) (\s@Finding' {} a -> s {partition = a} :: Finding)++-- | The details of a policy finding. This value is null for a sensitive data+-- finding.+finding_policyDetails :: Lens.Lens' Finding (Prelude.Maybe PolicyDetails)+finding_policyDetails = Lens.lens (\Finding' {policyDetails} -> policyDetails) (\s@Finding' {} a -> s {policyDetails = a} :: Finding)++-- | The Amazon Web Services Region that Amazon Macie created the finding in.+finding_region :: Lens.Lens' Finding (Prelude.Maybe Prelude.Text)+finding_region = Lens.lens (\Finding' {region} -> region) (\s@Finding' {} a -> s {region = a} :: Finding)++-- | The resources that the finding applies to.+finding_resourcesAffected :: Lens.Lens' Finding (Prelude.Maybe ResourcesAffected)+finding_resourcesAffected = Lens.lens (\Finding' {resourcesAffected} -> resourcesAffected) (\s@Finding' {} a -> s {resourcesAffected = a} :: Finding)++-- | Specifies whether the finding is a sample finding. A /sample finding/ is+-- a finding that uses example data to demonstrate what a finding might+-- contain.+finding_sample :: Lens.Lens' Finding (Prelude.Maybe Prelude.Bool)+finding_sample = Lens.lens (\Finding' {sample} -> sample) (\s@Finding' {} a -> s {sample = a} :: Finding)++-- | The version of the schema that was used to define the data structures in+-- the finding.+finding_schemaVersion :: Lens.Lens' Finding (Prelude.Maybe Prelude.Text)+finding_schemaVersion = Lens.lens (\Finding' {schemaVersion} -> schemaVersion) (\s@Finding' {} a -> s {schemaVersion = a} :: Finding)++-- | The severity level and score for the finding.+finding_severity :: Lens.Lens' Finding (Prelude.Maybe Severity)+finding_severity = Lens.lens (\Finding' {severity} -> severity) (\s@Finding' {} a -> s {severity = a} :: Finding)++-- | The brief description of the finding.+finding_title :: Lens.Lens' Finding (Prelude.Maybe Prelude.Text)+finding_title = Lens.lens (\Finding' {title} -> title) (\s@Finding' {} a -> s {title = a} :: Finding)++-- | The type of the finding.+finding_type :: Lens.Lens' Finding (Prelude.Maybe FindingType)+finding_type = Lens.lens (\Finding' {type'} -> type') (\s@Finding' {} a -> s {type' = a} :: Finding)++-- | The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie last updated the finding. For sensitive data findings, this value+-- is the same as the value for the createdAt property. All sensitive data+-- findings are considered new.+finding_updatedAt :: Lens.Lens' Finding (Prelude.Maybe Prelude.UTCTime)+finding_updatedAt = Lens.lens (\Finding' {updatedAt} -> updatedAt) (\s@Finding' {} a -> s {updatedAt = a} :: Finding) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON Finding where+ parseJSON =+ Data.withObject+ "Finding"+ ( \x ->+ Finding'+ Prelude.<$> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "archived")+ Prelude.<*> (x Data..:? "category")+ Prelude.<*> (x Data..:? "classificationDetails")+ Prelude.<*> (x Data..:? "count")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "partition")+ Prelude.<*> (x Data..:? "policyDetails")+ Prelude.<*> (x Data..:? "region")+ Prelude.<*> (x Data..:? "resourcesAffected")+ Prelude.<*> (x Data..:? "sample")+ Prelude.<*> (x Data..:? "schemaVersion")+ Prelude.<*> (x Data..:? "severity")+ Prelude.<*> (x Data..:? "title")+ Prelude.<*> (x Data..:? "type")+ Prelude.<*> (x Data..:? "updatedAt")+ )++instance Prelude.Hashable Finding where+ hashWithSalt _salt Finding' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` archived+ `Prelude.hashWithSalt` category+ `Prelude.hashWithSalt` classificationDetails+ `Prelude.hashWithSalt` count+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` partition+ `Prelude.hashWithSalt` policyDetails+ `Prelude.hashWithSalt` region+ `Prelude.hashWithSalt` resourcesAffected+ `Prelude.hashWithSalt` sample+ `Prelude.hashWithSalt` schemaVersion+ `Prelude.hashWithSalt` severity+ `Prelude.hashWithSalt` title+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData Finding where+ rnf Finding' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf archived+ `Prelude.seq` Prelude.rnf category+ `Prelude.seq` Prelude.rnf classificationDetails+ `Prelude.seq` Prelude.rnf count+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf partition+ `Prelude.seq` Prelude.rnf policyDetails+ `Prelude.seq` Prelude.rnf region+ `Prelude.seq` Prelude.rnf resourcesAffected+ `Prelude.seq` Prelude.rnf sample+ `Prelude.seq` Prelude.rnf schemaVersion+ `Prelude.seq` Prelude.rnf severity+ `Prelude.seq` Prelude.rnf title+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/MacieV2/Types/FindingAction.hs view
@@ -0,0 +1,99 @@+{-# 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.MacieV2.Types.FindingAction+-- 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.MacieV2.Types.FindingAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.ApiCallDetails+import Amazonka.MacieV2.Types.FindingActionType+import qualified Amazonka.Prelude as Prelude++-- | Provides information about an action that occurred for a resource and+-- produced a policy finding.+--+-- /See:/ 'newFindingAction' smart constructor.+data FindingAction = FindingAction'+ { -- | The type of action that occurred for the affected resource. This value+ -- is typically AWS_API_CALL, which indicates that an entity invoked an API+ -- operation for the resource.+ actionType :: Prelude.Maybe FindingActionType,+ -- | The invocation details of the API operation that an entity invoked for+ -- the affected resource, if the value for the actionType property is+ -- AWS_API_CALL.+ apiCallDetails :: Prelude.Maybe ApiCallDetails+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FindingAction' 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:+--+-- 'actionType', 'findingAction_actionType' - The type of action that occurred for the affected resource. This value+-- is typically AWS_API_CALL, which indicates that an entity invoked an API+-- operation for the resource.+--+-- 'apiCallDetails', 'findingAction_apiCallDetails' - The invocation details of the API operation that an entity invoked for+-- the affected resource, if the value for the actionType property is+-- AWS_API_CALL.+newFindingAction ::+ FindingAction+newFindingAction =+ FindingAction'+ { actionType = Prelude.Nothing,+ apiCallDetails = Prelude.Nothing+ }++-- | The type of action that occurred for the affected resource. This value+-- is typically AWS_API_CALL, which indicates that an entity invoked an API+-- operation for the resource.+findingAction_actionType :: Lens.Lens' FindingAction (Prelude.Maybe FindingActionType)+findingAction_actionType = Lens.lens (\FindingAction' {actionType} -> actionType) (\s@FindingAction' {} a -> s {actionType = a} :: FindingAction)++-- | The invocation details of the API operation that an entity invoked for+-- the affected resource, if the value for the actionType property is+-- AWS_API_CALL.+findingAction_apiCallDetails :: Lens.Lens' FindingAction (Prelude.Maybe ApiCallDetails)+findingAction_apiCallDetails = Lens.lens (\FindingAction' {apiCallDetails} -> apiCallDetails) (\s@FindingAction' {} a -> s {apiCallDetails = a} :: FindingAction)++instance Data.FromJSON FindingAction where+ parseJSON =+ Data.withObject+ "FindingAction"+ ( \x ->+ FindingAction'+ Prelude.<$> (x Data..:? "actionType")+ Prelude.<*> (x Data..:? "apiCallDetails")+ )++instance Prelude.Hashable FindingAction where+ hashWithSalt _salt FindingAction' {..} =+ _salt+ `Prelude.hashWithSalt` actionType+ `Prelude.hashWithSalt` apiCallDetails++instance Prelude.NFData FindingAction where+ rnf FindingAction' {..} =+ Prelude.rnf actionType+ `Prelude.seq` Prelude.rnf apiCallDetails
+ gen/Amazonka/MacieV2/Types/FindingActionType.hs view
@@ -0,0 +1,68 @@+{-# 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.MacieV2.Types.FindingActionType+-- 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.MacieV2.Types.FindingActionType+ ( FindingActionType+ ( ..,+ FindingActionType_AWS_API_CALL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of action that occurred for the resource and produced the+-- policy finding:+newtype FindingActionType = FindingActionType'+ { fromFindingActionType ::+ 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 FindingActionType_AWS_API_CALL :: FindingActionType+pattern FindingActionType_AWS_API_CALL = FindingActionType' "AWS_API_CALL"++{-# COMPLETE+ FindingActionType_AWS_API_CALL,+ FindingActionType'+ #-}
+ gen/Amazonka/MacieV2/Types/FindingActor.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.MacieV2.Types.FindingActor+-- 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.MacieV2.Types.FindingActor where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.DomainDetails+import Amazonka.MacieV2.Types.IpAddressDetails+import Amazonka.MacieV2.Types.UserIdentity+import qualified Amazonka.Prelude as Prelude++-- | Provides information about an entity that performed an action that+-- produced a policy finding for a resource.+--+-- /See:/ 'newFindingActor' smart constructor.+data FindingActor = FindingActor'+ { -- | The domain name of the device that the entity used to perform the action+ -- on the affected resource.+ domainDetails :: Prelude.Maybe DomainDetails,+ -- | The IP address of the device that the entity used to perform the action+ -- on the affected resource. This object also provides information such as+ -- the owner and geographic location for the IP address.+ ipAddressDetails :: Prelude.Maybe IpAddressDetails,+ -- | The type and other characteristics of the entity that performed the+ -- action on the affected resource.+ userIdentity :: Prelude.Maybe UserIdentity+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FindingActor' 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:+--+-- 'domainDetails', 'findingActor_domainDetails' - The domain name of the device that the entity used to perform the action+-- on the affected resource.+--+-- 'ipAddressDetails', 'findingActor_ipAddressDetails' - The IP address of the device that the entity used to perform the action+-- on the affected resource. This object also provides information such as+-- the owner and geographic location for the IP address.+--+-- 'userIdentity', 'findingActor_userIdentity' - The type and other characteristics of the entity that performed the+-- action on the affected resource.+newFindingActor ::+ FindingActor+newFindingActor =+ FindingActor'+ { domainDetails = Prelude.Nothing,+ ipAddressDetails = Prelude.Nothing,+ userIdentity = Prelude.Nothing+ }++-- | The domain name of the device that the entity used to perform the action+-- on the affected resource.+findingActor_domainDetails :: Lens.Lens' FindingActor (Prelude.Maybe DomainDetails)+findingActor_domainDetails = Lens.lens (\FindingActor' {domainDetails} -> domainDetails) (\s@FindingActor' {} a -> s {domainDetails = a} :: FindingActor)++-- | The IP address of the device that the entity used to perform the action+-- on the affected resource. This object also provides information such as+-- the owner and geographic location for the IP address.+findingActor_ipAddressDetails :: Lens.Lens' FindingActor (Prelude.Maybe IpAddressDetails)+findingActor_ipAddressDetails = Lens.lens (\FindingActor' {ipAddressDetails} -> ipAddressDetails) (\s@FindingActor' {} a -> s {ipAddressDetails = a} :: FindingActor)++-- | The type and other characteristics of the entity that performed the+-- action on the affected resource.+findingActor_userIdentity :: Lens.Lens' FindingActor (Prelude.Maybe UserIdentity)+findingActor_userIdentity = Lens.lens (\FindingActor' {userIdentity} -> userIdentity) (\s@FindingActor' {} a -> s {userIdentity = a} :: FindingActor)++instance Data.FromJSON FindingActor where+ parseJSON =+ Data.withObject+ "FindingActor"+ ( \x ->+ FindingActor'+ Prelude.<$> (x Data..:? "domainDetails")+ Prelude.<*> (x Data..:? "ipAddressDetails")+ Prelude.<*> (x Data..:? "userIdentity")+ )++instance Prelude.Hashable FindingActor where+ hashWithSalt _salt FindingActor' {..} =+ _salt+ `Prelude.hashWithSalt` domainDetails+ `Prelude.hashWithSalt` ipAddressDetails+ `Prelude.hashWithSalt` userIdentity++instance Prelude.NFData FindingActor where+ rnf FindingActor' {..} =+ Prelude.rnf domainDetails+ `Prelude.seq` Prelude.rnf ipAddressDetails+ `Prelude.seq` Prelude.rnf userIdentity
+ gen/Amazonka/MacieV2/Types/FindingCategory.hs view
@@ -0,0 +1,72 @@+{-# 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.MacieV2.Types.FindingCategory+-- 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.MacieV2.Types.FindingCategory+ ( FindingCategory+ ( ..,+ FindingCategory_CLASSIFICATION,+ FindingCategory_POLICY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The category of the finding. Possible values are:+newtype FindingCategory = FindingCategory'+ { fromFindingCategory ::+ 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 FindingCategory_CLASSIFICATION :: FindingCategory+pattern FindingCategory_CLASSIFICATION = FindingCategory' "CLASSIFICATION"++pattern FindingCategory_POLICY :: FindingCategory+pattern FindingCategory_POLICY = FindingCategory' "POLICY"++{-# COMPLETE+ FindingCategory_CLASSIFICATION,+ FindingCategory_POLICY,+ FindingCategory'+ #-}
+ gen/Amazonka/MacieV2/Types/FindingCriteria.hs view
@@ -0,0 +1,80 @@+{-# 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.MacieV2.Types.FindingCriteria+-- 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.MacieV2.Types.FindingCriteria where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.CriterionAdditionalProperties+import qualified Amazonka.Prelude as Prelude++-- | Specifies, as a map, one or more property-based conditions that filter+-- the results of a query for findings.+--+-- /See:/ 'newFindingCriteria' smart constructor.+data FindingCriteria = FindingCriteria'+ { -- | A condition that specifies the property, operator, and one or more+ -- values to use to filter the results.+ criterion :: Prelude.Maybe (Prelude.HashMap Prelude.Text CriterionAdditionalProperties)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FindingCriteria' 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:+--+-- 'criterion', 'findingCriteria_criterion' - A condition that specifies the property, operator, and one or more+-- values to use to filter the results.+newFindingCriteria ::+ FindingCriteria+newFindingCriteria =+ FindingCriteria' {criterion = Prelude.Nothing}++-- | A condition that specifies the property, operator, and one or more+-- values to use to filter the results.+findingCriteria_criterion :: Lens.Lens' FindingCriteria (Prelude.Maybe (Prelude.HashMap Prelude.Text CriterionAdditionalProperties))+findingCriteria_criterion = Lens.lens (\FindingCriteria' {criterion} -> criterion) (\s@FindingCriteria' {} a -> s {criterion = a} :: FindingCriteria) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON FindingCriteria where+ parseJSON =+ Data.withObject+ "FindingCriteria"+ ( \x ->+ FindingCriteria'+ Prelude.<$> (x Data..:? "criterion" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable FindingCriteria where+ hashWithSalt _salt FindingCriteria' {..} =+ _salt `Prelude.hashWithSalt` criterion++instance Prelude.NFData FindingCriteria where+ rnf FindingCriteria' {..} = Prelude.rnf criterion++instance Data.ToJSON FindingCriteria where+ toJSON FindingCriteria' {..} =+ Data.object+ ( Prelude.catMaybes+ [("criterion" Data..=) Prelude.<$> criterion]+ )
+ gen/Amazonka/MacieV2/Types/FindingPublishingFrequency.hs view
@@ -0,0 +1,82 @@+{-# 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.MacieV2.Types.FindingPublishingFrequency+-- 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.MacieV2.Types.FindingPublishingFrequency+ ( FindingPublishingFrequency+ ( ..,+ FindingPublishingFrequency_FIFTEEN_MINUTES,+ FindingPublishingFrequency_ONE_HOUR,+ FindingPublishingFrequency_SIX_HOURS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The frequency with which Amazon Macie publishes updates to policy+-- findings for an account. This includes publishing updates to Security+-- Hub and Amazon EventBridge (formerly Amazon CloudWatch Events). For more+-- information, see+-- <https://docs.aws.amazon.com/macie/latest/user/findings-monitor.html Monitoring and processing findings>+-- in the /Amazon Macie User Guide/. Valid values are:+newtype FindingPublishingFrequency = FindingPublishingFrequency'+ { fromFindingPublishingFrequency ::+ 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 FindingPublishingFrequency_FIFTEEN_MINUTES :: FindingPublishingFrequency+pattern FindingPublishingFrequency_FIFTEEN_MINUTES = FindingPublishingFrequency' "FIFTEEN_MINUTES"++pattern FindingPublishingFrequency_ONE_HOUR :: FindingPublishingFrequency+pattern FindingPublishingFrequency_ONE_HOUR = FindingPublishingFrequency' "ONE_HOUR"++pattern FindingPublishingFrequency_SIX_HOURS :: FindingPublishingFrequency+pattern FindingPublishingFrequency_SIX_HOURS = FindingPublishingFrequency' "SIX_HOURS"++{-# COMPLETE+ FindingPublishingFrequency_FIFTEEN_MINUTES,+ FindingPublishingFrequency_ONE_HOUR,+ FindingPublishingFrequency_SIX_HOURS,+ FindingPublishingFrequency'+ #-}
+ gen/Amazonka/MacieV2/Types/FindingStatisticsSortAttributeName.hs view
@@ -0,0 +1,72 @@+{-# 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.MacieV2.Types.FindingStatisticsSortAttributeName+-- 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.MacieV2.Types.FindingStatisticsSortAttributeName+ ( FindingStatisticsSortAttributeName+ ( ..,+ FindingStatisticsSortAttributeName_Count,+ FindingStatisticsSortAttributeName_GroupKey+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The grouping to sort the results by. Valid values are:+newtype FindingStatisticsSortAttributeName = FindingStatisticsSortAttributeName'+ { fromFindingStatisticsSortAttributeName ::+ 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 FindingStatisticsSortAttributeName_Count :: FindingStatisticsSortAttributeName+pattern FindingStatisticsSortAttributeName_Count = FindingStatisticsSortAttributeName' "count"++pattern FindingStatisticsSortAttributeName_GroupKey :: FindingStatisticsSortAttributeName+pattern FindingStatisticsSortAttributeName_GroupKey = FindingStatisticsSortAttributeName' "groupKey"++{-# COMPLETE+ FindingStatisticsSortAttributeName_Count,+ FindingStatisticsSortAttributeName_GroupKey,+ FindingStatisticsSortAttributeName'+ #-}
+ gen/Amazonka/MacieV2/Types/FindingStatisticsSortCriteria.hs view
@@ -0,0 +1,105 @@+{-# 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.MacieV2.Types.FindingStatisticsSortCriteria+-- 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.MacieV2.Types.FindingStatisticsSortCriteria where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.FindingStatisticsSortAttributeName+import Amazonka.MacieV2.Types.OrderBy+import qualified Amazonka.Prelude as Prelude++-- | Specifies criteria for sorting the results of a query that retrieves+-- aggregated statistical data about findings.+--+-- /See:/ 'newFindingStatisticsSortCriteria' smart constructor.+data FindingStatisticsSortCriteria = FindingStatisticsSortCriteria'+ { -- | The grouping to sort the results by. Valid values are: count, sort the+ -- results by the number of findings in each group of results; and,+ -- groupKey, sort the results by the name of each group of results.+ attributeName :: Prelude.Maybe FindingStatisticsSortAttributeName,+ -- | The sort order to apply to the results, based on the value for the+ -- property specified by the attributeName property. Valid values are: ASC,+ -- sort the results in ascending order; and, DESC, sort the results in+ -- descending order.+ orderBy :: Prelude.Maybe OrderBy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FindingStatisticsSortCriteria' 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:+--+-- 'attributeName', 'findingStatisticsSortCriteria_attributeName' - The grouping to sort the results by. Valid values are: count, sort the+-- results by the number of findings in each group of results; and,+-- groupKey, sort the results by the name of each group of results.+--+-- 'orderBy', 'findingStatisticsSortCriteria_orderBy' - The sort order to apply to the results, based on the value for the+-- property specified by the attributeName property. Valid values are: ASC,+-- sort the results in ascending order; and, DESC, sort the results in+-- descending order.+newFindingStatisticsSortCriteria ::+ FindingStatisticsSortCriteria+newFindingStatisticsSortCriteria =+ FindingStatisticsSortCriteria'+ { attributeName =+ Prelude.Nothing,+ orderBy = Prelude.Nothing+ }++-- | The grouping to sort the results by. Valid values are: count, sort the+-- results by the number of findings in each group of results; and,+-- groupKey, sort the results by the name of each group of results.+findingStatisticsSortCriteria_attributeName :: Lens.Lens' FindingStatisticsSortCriteria (Prelude.Maybe FindingStatisticsSortAttributeName)+findingStatisticsSortCriteria_attributeName = Lens.lens (\FindingStatisticsSortCriteria' {attributeName} -> attributeName) (\s@FindingStatisticsSortCriteria' {} a -> s {attributeName = a} :: FindingStatisticsSortCriteria)++-- | The sort order to apply to the results, based on the value for the+-- property specified by the attributeName property. Valid values are: ASC,+-- sort the results in ascending order; and, DESC, sort the results in+-- descending order.+findingStatisticsSortCriteria_orderBy :: Lens.Lens' FindingStatisticsSortCriteria (Prelude.Maybe OrderBy)+findingStatisticsSortCriteria_orderBy = Lens.lens (\FindingStatisticsSortCriteria' {orderBy} -> orderBy) (\s@FindingStatisticsSortCriteria' {} a -> s {orderBy = a} :: FindingStatisticsSortCriteria)++instance+ Prelude.Hashable+ FindingStatisticsSortCriteria+ where+ hashWithSalt _salt FindingStatisticsSortCriteria' {..} =+ _salt+ `Prelude.hashWithSalt` attributeName+ `Prelude.hashWithSalt` orderBy++instance Prelude.NFData FindingStatisticsSortCriteria where+ rnf FindingStatisticsSortCriteria' {..} =+ Prelude.rnf attributeName+ `Prelude.seq` Prelude.rnf orderBy++instance Data.ToJSON FindingStatisticsSortCriteria where+ toJSON FindingStatisticsSortCriteria' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("attributeName" Data..=) Prelude.<$> attributeName,+ ("orderBy" Data..=) Prelude.<$> orderBy+ ]+ )
+ gen/Amazonka/MacieV2/Types/FindingType.hs view
@@ -0,0 +1,114 @@+{-# 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.MacieV2.Types.FindingType+-- 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.MacieV2.Types.FindingType+ ( FindingType+ ( ..,+ FindingType_Policy_IAMUser_S3BlockPublicAccessDisabled,+ FindingType_Policy_IAMUser_S3BucketEncryptionDisabled,+ FindingType_Policy_IAMUser_S3BucketPublic,+ FindingType_Policy_IAMUser_S3BucketReplicatedExternally,+ FindingType_Policy_IAMUser_S3BucketSharedExternally,+ FindingType_SensitiveData_S3Object_Credentials,+ FindingType_SensitiveData_S3Object_CustomIdentifier,+ FindingType_SensitiveData_S3Object_Financial,+ FindingType_SensitiveData_S3Object_Multiple,+ FindingType_SensitiveData_S3Object_Personal+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of finding. For details about each type, see+-- <https://docs.aws.amazon.com/macie/latest/user/findings-types.html Types of Amazon Macie findings>+-- in the /Amazon Macie User Guide/. Possible values are:+newtype FindingType = FindingType'+ { fromFindingType ::+ 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 FindingType_Policy_IAMUser_S3BlockPublicAccessDisabled :: FindingType+pattern FindingType_Policy_IAMUser_S3BlockPublicAccessDisabled = FindingType' "Policy:IAMUser/S3BlockPublicAccessDisabled"++pattern FindingType_Policy_IAMUser_S3BucketEncryptionDisabled :: FindingType+pattern FindingType_Policy_IAMUser_S3BucketEncryptionDisabled = FindingType' "Policy:IAMUser/S3BucketEncryptionDisabled"++pattern FindingType_Policy_IAMUser_S3BucketPublic :: FindingType+pattern FindingType_Policy_IAMUser_S3BucketPublic = FindingType' "Policy:IAMUser/S3BucketPublic"++pattern FindingType_Policy_IAMUser_S3BucketReplicatedExternally :: FindingType+pattern FindingType_Policy_IAMUser_S3BucketReplicatedExternally = FindingType' "Policy:IAMUser/S3BucketReplicatedExternally"++pattern FindingType_Policy_IAMUser_S3BucketSharedExternally :: FindingType+pattern FindingType_Policy_IAMUser_S3BucketSharedExternally = FindingType' "Policy:IAMUser/S3BucketSharedExternally"++pattern FindingType_SensitiveData_S3Object_Credentials :: FindingType+pattern FindingType_SensitiveData_S3Object_Credentials = FindingType' "SensitiveData:S3Object/Credentials"++pattern FindingType_SensitiveData_S3Object_CustomIdentifier :: FindingType+pattern FindingType_SensitiveData_S3Object_CustomIdentifier = FindingType' "SensitiveData:S3Object/CustomIdentifier"++pattern FindingType_SensitiveData_S3Object_Financial :: FindingType+pattern FindingType_SensitiveData_S3Object_Financial = FindingType' "SensitiveData:S3Object/Financial"++pattern FindingType_SensitiveData_S3Object_Multiple :: FindingType+pattern FindingType_SensitiveData_S3Object_Multiple = FindingType' "SensitiveData:S3Object/Multiple"++pattern FindingType_SensitiveData_S3Object_Personal :: FindingType+pattern FindingType_SensitiveData_S3Object_Personal = FindingType' "SensitiveData:S3Object/Personal"++{-# COMPLETE+ FindingType_Policy_IAMUser_S3BlockPublicAccessDisabled,+ FindingType_Policy_IAMUser_S3BucketEncryptionDisabled,+ FindingType_Policy_IAMUser_S3BucketPublic,+ FindingType_Policy_IAMUser_S3BucketReplicatedExternally,+ FindingType_Policy_IAMUser_S3BucketSharedExternally,+ FindingType_SensitiveData_S3Object_Credentials,+ FindingType_SensitiveData_S3Object_CustomIdentifier,+ FindingType_SensitiveData_S3Object_Financial,+ FindingType_SensitiveData_S3Object_Multiple,+ FindingType_SensitiveData_S3Object_Personal,+ FindingType'+ #-}
+ gen/Amazonka/MacieV2/Types/FindingsFilterAction.hs view
@@ -0,0 +1,74 @@+{-# 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.MacieV2.Types.FindingsFilterAction+-- 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.MacieV2.Types.FindingsFilterAction+ ( FindingsFilterAction+ ( ..,+ FindingsFilterAction_ARCHIVE,+ FindingsFilterAction_NOOP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The action to perform on findings that match the filter criteria. To+-- suppress (automatically archive) findings that match the criteria, set+-- this value to ARCHIVE. Valid values are:+newtype FindingsFilterAction = FindingsFilterAction'+ { fromFindingsFilterAction ::+ 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 FindingsFilterAction_ARCHIVE :: FindingsFilterAction+pattern FindingsFilterAction_ARCHIVE = FindingsFilterAction' "ARCHIVE"++pattern FindingsFilterAction_NOOP :: FindingsFilterAction+pattern FindingsFilterAction_NOOP = FindingsFilterAction' "NOOP"++{-# COMPLETE+ FindingsFilterAction_ARCHIVE,+ FindingsFilterAction_NOOP,+ FindingsFilterAction'+ #-}
+ gen/Amazonka/MacieV2/Types/FindingsFilterListItem.hs view
@@ -0,0 +1,130 @@+{-# 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.MacieV2.Types.FindingsFilterListItem+-- 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.MacieV2.Types.FindingsFilterListItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.FindingsFilterAction+import qualified Amazonka.Prelude as Prelude++-- | Provides information about a findings filter.+--+-- /See:/ 'newFindingsFilterListItem' smart constructor.+data FindingsFilterListItem = FindingsFilterListItem'+ { -- | The action that\'s performed on findings that match the filter criteria.+ -- Possible values are: ARCHIVE, suppress (automatically archive) the+ -- findings; and, NOOP, don\'t perform any action on the findings.+ action :: Prelude.Maybe FindingsFilterAction,+ -- | The Amazon Resource Name (ARN) of the filter.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the filter.+ id :: Prelude.Maybe Prelude.Text,+ -- | The custom name of the filter.+ name :: Prelude.Maybe Prelude.Text,+ -- | A map of key-value pairs that specifies which tags (keys and values) are+ -- associated with the filter.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text)+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FindingsFilterListItem' 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', 'findingsFilterListItem_action' - The action that\'s performed on findings that match the filter criteria.+-- Possible values are: ARCHIVE, suppress (automatically archive) the+-- findings; and, NOOP, don\'t perform any action on the findings.+--+-- 'arn', 'findingsFilterListItem_arn' - The Amazon Resource Name (ARN) of the filter.+--+-- 'id', 'findingsFilterListItem_id' - The unique identifier for the filter.+--+-- 'name', 'findingsFilterListItem_name' - The custom name of the filter.+--+-- 'tags', 'findingsFilterListItem_tags' - A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the filter.+newFindingsFilterListItem ::+ FindingsFilterListItem+newFindingsFilterListItem =+ FindingsFilterListItem'+ { action = Prelude.Nothing,+ arn = Prelude.Nothing,+ id = Prelude.Nothing,+ name = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | The action that\'s performed on findings that match the filter criteria.+-- Possible values are: ARCHIVE, suppress (automatically archive) the+-- findings; and, NOOP, don\'t perform any action on the findings.+findingsFilterListItem_action :: Lens.Lens' FindingsFilterListItem (Prelude.Maybe FindingsFilterAction)+findingsFilterListItem_action = Lens.lens (\FindingsFilterListItem' {action} -> action) (\s@FindingsFilterListItem' {} a -> s {action = a} :: FindingsFilterListItem)++-- | The Amazon Resource Name (ARN) of the filter.+findingsFilterListItem_arn :: Lens.Lens' FindingsFilterListItem (Prelude.Maybe Prelude.Text)+findingsFilterListItem_arn = Lens.lens (\FindingsFilterListItem' {arn} -> arn) (\s@FindingsFilterListItem' {} a -> s {arn = a} :: FindingsFilterListItem)++-- | The unique identifier for the filter.+findingsFilterListItem_id :: Lens.Lens' FindingsFilterListItem (Prelude.Maybe Prelude.Text)+findingsFilterListItem_id = Lens.lens (\FindingsFilterListItem' {id} -> id) (\s@FindingsFilterListItem' {} a -> s {id = a} :: FindingsFilterListItem)++-- | The custom name of the filter.+findingsFilterListItem_name :: Lens.Lens' FindingsFilterListItem (Prelude.Maybe Prelude.Text)+findingsFilterListItem_name = Lens.lens (\FindingsFilterListItem' {name} -> name) (\s@FindingsFilterListItem' {} a -> s {name = a} :: FindingsFilterListItem)++-- | A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the filter.+findingsFilterListItem_tags :: Lens.Lens' FindingsFilterListItem (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+findingsFilterListItem_tags = Lens.lens (\FindingsFilterListItem' {tags} -> tags) (\s@FindingsFilterListItem' {} a -> s {tags = a} :: FindingsFilterListItem) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON FindingsFilterListItem where+ parseJSON =+ Data.withObject+ "FindingsFilterListItem"+ ( \x ->+ FindingsFilterListItem'+ Prelude.<$> (x Data..:? "action")+ Prelude.<*> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable FindingsFilterListItem where+ hashWithSalt _salt FindingsFilterListItem' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` tags++instance Prelude.NFData FindingsFilterListItem where+ rnf FindingsFilterListItem' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/MacieV2/Types/GroupBy.hs view
@@ -0,0 +1,78 @@+{-# 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.MacieV2.Types.GroupBy+-- 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.MacieV2.Types.GroupBy+ ( GroupBy+ ( ..,+ GroupBy_ClassificationDetails_jobId,+ GroupBy_ResourcesAffected_s3Bucket_name,+ GroupBy_Severity_description,+ GroupBy_Type+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GroupBy = GroupBy' {fromGroupBy :: 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 GroupBy_ClassificationDetails_jobId :: GroupBy+pattern GroupBy_ClassificationDetails_jobId = GroupBy' "classificationDetails.jobId"++pattern GroupBy_ResourcesAffected_s3Bucket_name :: GroupBy+pattern GroupBy_ResourcesAffected_s3Bucket_name = GroupBy' "resourcesAffected.s3Bucket.name"++pattern GroupBy_Severity_description :: GroupBy+pattern GroupBy_Severity_description = GroupBy' "severity.description"++pattern GroupBy_Type :: GroupBy+pattern GroupBy_Type = GroupBy' "type"++{-# COMPLETE+ GroupBy_ClassificationDetails_jobId,+ GroupBy_ResourcesAffected_s3Bucket_name,+ GroupBy_Severity_description,+ GroupBy_Type,+ GroupBy'+ #-}
+ gen/Amazonka/MacieV2/Types/GroupCount.hs view
@@ -0,0 +1,88 @@+{-# 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.MacieV2.Types.GroupCount+-- 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.MacieV2.Types.GroupCount 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++-- | Provides a group of results for a query that retrieved aggregated+-- statistical data about findings.+--+-- /See:/ 'newGroupCount' smart constructor.+data GroupCount = GroupCount'+ { -- | The total number of findings in the group of query results.+ count :: Prelude.Maybe Prelude.Integer,+ -- | The name of the property that defines the group in the query results, as+ -- specified by the groupBy property in the query request.+ groupKey :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GroupCount' 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:+--+-- 'count', 'groupCount_count' - The total number of findings in the group of query results.+--+-- 'groupKey', 'groupCount_groupKey' - The name of the property that defines the group in the query results, as+-- specified by the groupBy property in the query request.+newGroupCount ::+ GroupCount+newGroupCount =+ GroupCount'+ { count = Prelude.Nothing,+ groupKey = Prelude.Nothing+ }++-- | The total number of findings in the group of query results.+groupCount_count :: Lens.Lens' GroupCount (Prelude.Maybe Prelude.Integer)+groupCount_count = Lens.lens (\GroupCount' {count} -> count) (\s@GroupCount' {} a -> s {count = a} :: GroupCount)++-- | The name of the property that defines the group in the query results, as+-- specified by the groupBy property in the query request.+groupCount_groupKey :: Lens.Lens' GroupCount (Prelude.Maybe Prelude.Text)+groupCount_groupKey = Lens.lens (\GroupCount' {groupKey} -> groupKey) (\s@GroupCount' {} a -> s {groupKey = a} :: GroupCount)++instance Data.FromJSON GroupCount where+ parseJSON =+ Data.withObject+ "GroupCount"+ ( \x ->+ GroupCount'+ Prelude.<$> (x Data..:? "count")+ Prelude.<*> (x Data..:? "groupKey")+ )++instance Prelude.Hashable GroupCount where+ hashWithSalt _salt GroupCount' {..} =+ _salt+ `Prelude.hashWithSalt` count+ `Prelude.hashWithSalt` groupKey++instance Prelude.NFData GroupCount where+ rnf GroupCount' {..} =+ Prelude.rnf count+ `Prelude.seq` Prelude.rnf groupKey
+ gen/Amazonka/MacieV2/Types/IamUser.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.MacieV2.Types.IamUser+-- 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.MacieV2.Types.IamUser 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++-- | Provides information about an Identity and Access Management (IAM) user+-- who performed an action on an affected resource.+--+-- /See:/ 'newIamUser' smart constructor.+data IamUser = IamUser'+ { -- | The unique identifier for the Amazon Web Services account that\'s+ -- associated with the IAM user who performed the action.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the principal that performed the+ -- action. The last section of the ARN contains the name of the user who+ -- performed the action.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the IAM user who performed the action.+ principalId :: Prelude.Maybe Prelude.Text,+ -- | The user name of the IAM user who performed the action.+ userName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IamUser' 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:+--+-- 'accountId', 'iamUser_accountId' - The unique identifier for the Amazon Web Services account that\'s+-- associated with the IAM user who performed the action.+--+-- 'arn', 'iamUser_arn' - The Amazon Resource Name (ARN) of the principal that performed the+-- action. The last section of the ARN contains the name of the user who+-- performed the action.+--+-- 'principalId', 'iamUser_principalId' - The unique identifier for the IAM user who performed the action.+--+-- 'userName', 'iamUser_userName' - The user name of the IAM user who performed the action.+newIamUser ::+ IamUser+newIamUser =+ IamUser'+ { accountId = Prelude.Nothing,+ arn = Prelude.Nothing,+ principalId = Prelude.Nothing,+ userName = Prelude.Nothing+ }++-- | The unique identifier for the Amazon Web Services account that\'s+-- associated with the IAM user who performed the action.+iamUser_accountId :: Lens.Lens' IamUser (Prelude.Maybe Prelude.Text)+iamUser_accountId = Lens.lens (\IamUser' {accountId} -> accountId) (\s@IamUser' {} a -> s {accountId = a} :: IamUser)++-- | The Amazon Resource Name (ARN) of the principal that performed the+-- action. The last section of the ARN contains the name of the user who+-- performed the action.+iamUser_arn :: Lens.Lens' IamUser (Prelude.Maybe Prelude.Text)+iamUser_arn = Lens.lens (\IamUser' {arn} -> arn) (\s@IamUser' {} a -> s {arn = a} :: IamUser)++-- | The unique identifier for the IAM user who performed the action.+iamUser_principalId :: Lens.Lens' IamUser (Prelude.Maybe Prelude.Text)+iamUser_principalId = Lens.lens (\IamUser' {principalId} -> principalId) (\s@IamUser' {} a -> s {principalId = a} :: IamUser)++-- | The user name of the IAM user who performed the action.+iamUser_userName :: Lens.Lens' IamUser (Prelude.Maybe Prelude.Text)+iamUser_userName = Lens.lens (\IamUser' {userName} -> userName) (\s@IamUser' {} a -> s {userName = a} :: IamUser)++instance Data.FromJSON IamUser where+ parseJSON =+ Data.withObject+ "IamUser"+ ( \x ->+ IamUser'+ Prelude.<$> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "principalId")+ Prelude.<*> (x Data..:? "userName")+ )++instance Prelude.Hashable IamUser where+ hashWithSalt _salt IamUser' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` principalId+ `Prelude.hashWithSalt` userName++instance Prelude.NFData IamUser where+ rnf IamUser' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf principalId+ `Prelude.seq` Prelude.rnf userName
+ gen/Amazonka/MacieV2/Types/Invitation.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.MacieV2.Types.Invitation+-- 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.MacieV2.Types.Invitation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.RelationshipStatus+import qualified Amazonka.Prelude as Prelude++-- | Provides information about an Amazon Macie membership invitation.+--+-- /See:/ 'newInvitation' smart constructor.+data Invitation = Invitation'+ { -- | The Amazon Web Services account ID for the account that sent the+ -- invitation.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the invitation.+ invitationId :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when the+ -- invitation was sent.+ invitedAt :: Prelude.Maybe Data.ISO8601,+ -- | The status of the relationship between the account that sent the+ -- invitation and the account that received the invitation.+ relationshipStatus :: Prelude.Maybe RelationshipStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Invitation' 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:+--+-- 'accountId', 'invitation_accountId' - The Amazon Web Services account ID for the account that sent the+-- invitation.+--+-- 'invitationId', 'invitation_invitationId' - The unique identifier for the invitation.+--+-- 'invitedAt', 'invitation_invitedAt' - The date and time, in UTC and extended ISO 8601 format, when the+-- invitation was sent.+--+-- 'relationshipStatus', 'invitation_relationshipStatus' - The status of the relationship between the account that sent the+-- invitation and the account that received the invitation.+newInvitation ::+ Invitation+newInvitation =+ Invitation'+ { accountId = Prelude.Nothing,+ invitationId = Prelude.Nothing,+ invitedAt = Prelude.Nothing,+ relationshipStatus = Prelude.Nothing+ }++-- | The Amazon Web Services account ID for the account that sent the+-- invitation.+invitation_accountId :: Lens.Lens' Invitation (Prelude.Maybe Prelude.Text)+invitation_accountId = Lens.lens (\Invitation' {accountId} -> accountId) (\s@Invitation' {} a -> s {accountId = a} :: Invitation)++-- | The unique identifier for the invitation.+invitation_invitationId :: Lens.Lens' Invitation (Prelude.Maybe Prelude.Text)+invitation_invitationId = Lens.lens (\Invitation' {invitationId} -> invitationId) (\s@Invitation' {} a -> s {invitationId = a} :: Invitation)++-- | The date and time, in UTC and extended ISO 8601 format, when the+-- invitation was sent.+invitation_invitedAt :: Lens.Lens' Invitation (Prelude.Maybe Prelude.UTCTime)+invitation_invitedAt = Lens.lens (\Invitation' {invitedAt} -> invitedAt) (\s@Invitation' {} a -> s {invitedAt = a} :: Invitation) Prelude.. Lens.mapping Data._Time++-- | The status of the relationship between the account that sent the+-- invitation and the account that received the invitation.+invitation_relationshipStatus :: Lens.Lens' Invitation (Prelude.Maybe RelationshipStatus)+invitation_relationshipStatus = Lens.lens (\Invitation' {relationshipStatus} -> relationshipStatus) (\s@Invitation' {} a -> s {relationshipStatus = a} :: Invitation)++instance Data.FromJSON Invitation where+ parseJSON =+ Data.withObject+ "Invitation"+ ( \x ->+ Invitation'+ Prelude.<$> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "invitationId")+ Prelude.<*> (x Data..:? "invitedAt")+ Prelude.<*> (x Data..:? "relationshipStatus")+ )++instance Prelude.Hashable Invitation where+ hashWithSalt _salt Invitation' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` invitationId+ `Prelude.hashWithSalt` invitedAt+ `Prelude.hashWithSalt` relationshipStatus++instance Prelude.NFData Invitation where+ rnf Invitation' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf invitationId+ `Prelude.seq` Prelude.rnf invitedAt+ `Prelude.seq` Prelude.rnf relationshipStatus
+ gen/Amazonka/MacieV2/Types/IpAddressDetails.hs view
@@ -0,0 +1,128 @@+{-# 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.MacieV2.Types.IpAddressDetails+-- 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.MacieV2.Types.IpAddressDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.IpCity+import Amazonka.MacieV2.Types.IpCountry+import Amazonka.MacieV2.Types.IpGeoLocation+import Amazonka.MacieV2.Types.IpOwner+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the IP address of the device that an entity+-- used to perform an action on an affected resource.+--+-- /See:/ 'newIpAddressDetails' smart constructor.+data IpAddressDetails = IpAddressDetails'+ { -- | The Internet Protocol version 4 (IPv4) address of the device.+ ipAddressV4 :: Prelude.Maybe Prelude.Text,+ -- | The city that the IP address originated from.+ ipCity :: Prelude.Maybe IpCity,+ -- | The country that the IP address originated from.+ ipCountry :: Prelude.Maybe IpCountry,+ -- | The geographic coordinates of the location that the IP address+ -- originated from.+ ipGeoLocation :: Prelude.Maybe IpGeoLocation,+ -- | The registered owner of the IP address.+ ipOwner :: Prelude.Maybe IpOwner+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IpAddressDetails' 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:+--+-- 'ipAddressV4', 'ipAddressDetails_ipAddressV4' - The Internet Protocol version 4 (IPv4) address of the device.+--+-- 'ipCity', 'ipAddressDetails_ipCity' - The city that the IP address originated from.+--+-- 'ipCountry', 'ipAddressDetails_ipCountry' - The country that the IP address originated from.+--+-- 'ipGeoLocation', 'ipAddressDetails_ipGeoLocation' - The geographic coordinates of the location that the IP address+-- originated from.+--+-- 'ipOwner', 'ipAddressDetails_ipOwner' - The registered owner of the IP address.+newIpAddressDetails ::+ IpAddressDetails+newIpAddressDetails =+ IpAddressDetails'+ { ipAddressV4 = Prelude.Nothing,+ ipCity = Prelude.Nothing,+ ipCountry = Prelude.Nothing,+ ipGeoLocation = Prelude.Nothing,+ ipOwner = Prelude.Nothing+ }++-- | The Internet Protocol version 4 (IPv4) address of the device.+ipAddressDetails_ipAddressV4 :: Lens.Lens' IpAddressDetails (Prelude.Maybe Prelude.Text)+ipAddressDetails_ipAddressV4 = Lens.lens (\IpAddressDetails' {ipAddressV4} -> ipAddressV4) (\s@IpAddressDetails' {} a -> s {ipAddressV4 = a} :: IpAddressDetails)++-- | The city that the IP address originated from.+ipAddressDetails_ipCity :: Lens.Lens' IpAddressDetails (Prelude.Maybe IpCity)+ipAddressDetails_ipCity = Lens.lens (\IpAddressDetails' {ipCity} -> ipCity) (\s@IpAddressDetails' {} a -> s {ipCity = a} :: IpAddressDetails)++-- | The country that the IP address originated from.+ipAddressDetails_ipCountry :: Lens.Lens' IpAddressDetails (Prelude.Maybe IpCountry)+ipAddressDetails_ipCountry = Lens.lens (\IpAddressDetails' {ipCountry} -> ipCountry) (\s@IpAddressDetails' {} a -> s {ipCountry = a} :: IpAddressDetails)++-- | The geographic coordinates of the location that the IP address+-- originated from.+ipAddressDetails_ipGeoLocation :: Lens.Lens' IpAddressDetails (Prelude.Maybe IpGeoLocation)+ipAddressDetails_ipGeoLocation = Lens.lens (\IpAddressDetails' {ipGeoLocation} -> ipGeoLocation) (\s@IpAddressDetails' {} a -> s {ipGeoLocation = a} :: IpAddressDetails)++-- | The registered owner of the IP address.+ipAddressDetails_ipOwner :: Lens.Lens' IpAddressDetails (Prelude.Maybe IpOwner)+ipAddressDetails_ipOwner = Lens.lens (\IpAddressDetails' {ipOwner} -> ipOwner) (\s@IpAddressDetails' {} a -> s {ipOwner = a} :: IpAddressDetails)++instance Data.FromJSON IpAddressDetails where+ parseJSON =+ Data.withObject+ "IpAddressDetails"+ ( \x ->+ IpAddressDetails'+ Prelude.<$> (x Data..:? "ipAddressV4")+ Prelude.<*> (x Data..:? "ipCity")+ Prelude.<*> (x Data..:? "ipCountry")+ Prelude.<*> (x Data..:? "ipGeoLocation")+ Prelude.<*> (x Data..:? "ipOwner")+ )++instance Prelude.Hashable IpAddressDetails where+ hashWithSalt _salt IpAddressDetails' {..} =+ _salt+ `Prelude.hashWithSalt` ipAddressV4+ `Prelude.hashWithSalt` ipCity+ `Prelude.hashWithSalt` ipCountry+ `Prelude.hashWithSalt` ipGeoLocation+ `Prelude.hashWithSalt` ipOwner++instance Prelude.NFData IpAddressDetails where+ rnf IpAddressDetails' {..} =+ Prelude.rnf ipAddressV4+ `Prelude.seq` Prelude.rnf ipCity+ `Prelude.seq` Prelude.rnf ipCountry+ `Prelude.seq` Prelude.rnf ipGeoLocation+ `Prelude.seq` Prelude.rnf ipOwner
+ gen/Amazonka/MacieV2/Types/IpCity.hs view
@@ -0,0 +1,64 @@+{-# 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.MacieV2.Types.IpCity+-- 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.MacieV2.Types.IpCity 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++-- | Provides information about the city that an IP address originated from.+--+-- /See:/ 'newIpCity' smart constructor.+data IpCity = IpCity'+ { -- | The name of the city.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IpCity' 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:+--+-- 'name', 'ipCity_name' - The name of the city.+newIpCity ::+ IpCity+newIpCity = IpCity' {name = Prelude.Nothing}++-- | The name of the city.+ipCity_name :: Lens.Lens' IpCity (Prelude.Maybe Prelude.Text)+ipCity_name = Lens.lens (\IpCity' {name} -> name) (\s@IpCity' {} a -> s {name = a} :: IpCity)++instance Data.FromJSON IpCity where+ parseJSON =+ Data.withObject+ "IpCity"+ (\x -> IpCity' Prelude.<$> (x Data..:? "name"))++instance Prelude.Hashable IpCity where+ hashWithSalt _salt IpCity' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData IpCity where+ rnf IpCity' {..} = Prelude.rnf name
+ gen/Amazonka/MacieV2/Types/IpCountry.hs view
@@ -0,0 +1,90 @@+{-# 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.MacieV2.Types.IpCountry+-- 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.MacieV2.Types.IpCountry 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++-- | Provides information about the country that an IP address originated+-- from.+--+-- /See:/ 'newIpCountry' smart constructor.+data IpCountry = IpCountry'+ { -- | The two-character code, in ISO 3166-1 alpha-2 format, for the country+ -- that the IP address originated from. For example, US for the United+ -- States.+ code :: Prelude.Maybe Prelude.Text,+ -- | The name of the country that the IP address originated from.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IpCountry' 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:+--+-- 'code', 'ipCountry_code' - The two-character code, in ISO 3166-1 alpha-2 format, for the country+-- that the IP address originated from. For example, US for the United+-- States.+--+-- 'name', 'ipCountry_name' - The name of the country that the IP address originated from.+newIpCountry ::+ IpCountry+newIpCountry =+ IpCountry'+ { code = Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The two-character code, in ISO 3166-1 alpha-2 format, for the country+-- that the IP address originated from. For example, US for the United+-- States.+ipCountry_code :: Lens.Lens' IpCountry (Prelude.Maybe Prelude.Text)+ipCountry_code = Lens.lens (\IpCountry' {code} -> code) (\s@IpCountry' {} a -> s {code = a} :: IpCountry)++-- | The name of the country that the IP address originated from.+ipCountry_name :: Lens.Lens' IpCountry (Prelude.Maybe Prelude.Text)+ipCountry_name = Lens.lens (\IpCountry' {name} -> name) (\s@IpCountry' {} a -> s {name = a} :: IpCountry)++instance Data.FromJSON IpCountry where+ parseJSON =+ Data.withObject+ "IpCountry"+ ( \x ->+ IpCountry'+ Prelude.<$> (x Data..:? "code")+ Prelude.<*> (x Data..:? "name")+ )++instance Prelude.Hashable IpCountry where+ hashWithSalt _salt IpCountry' {..} =+ _salt+ `Prelude.hashWithSalt` code+ `Prelude.hashWithSalt` name++instance Prelude.NFData IpCountry where+ rnf IpCountry' {..} =+ Prelude.rnf code `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/MacieV2/Types/IpGeoLocation.hs view
@@ -0,0 +1,87 @@+{-# 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.MacieV2.Types.IpGeoLocation+-- 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.MacieV2.Types.IpGeoLocation 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++-- | Provides geographic coordinates that indicate where a specified IP+-- address originated from.+--+-- /See:/ 'newIpGeoLocation' smart constructor.+data IpGeoLocation = IpGeoLocation'+ { -- | The latitude coordinate of the location, rounded to four decimal places.+ lat :: Prelude.Maybe Prelude.Double,+ -- | The longitude coordinate of the location, rounded to four decimal+ -- places.+ lon :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IpGeoLocation' 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:+--+-- 'lat', 'ipGeoLocation_lat' - The latitude coordinate of the location, rounded to four decimal places.+--+-- 'lon', 'ipGeoLocation_lon' - The longitude coordinate of the location, rounded to four decimal+-- places.+newIpGeoLocation ::+ IpGeoLocation+newIpGeoLocation =+ IpGeoLocation'+ { lat = Prelude.Nothing,+ lon = Prelude.Nothing+ }++-- | The latitude coordinate of the location, rounded to four decimal places.+ipGeoLocation_lat :: Lens.Lens' IpGeoLocation (Prelude.Maybe Prelude.Double)+ipGeoLocation_lat = Lens.lens (\IpGeoLocation' {lat} -> lat) (\s@IpGeoLocation' {} a -> s {lat = a} :: IpGeoLocation)++-- | The longitude coordinate of the location, rounded to four decimal+-- places.+ipGeoLocation_lon :: Lens.Lens' IpGeoLocation (Prelude.Maybe Prelude.Double)+ipGeoLocation_lon = Lens.lens (\IpGeoLocation' {lon} -> lon) (\s@IpGeoLocation' {} a -> s {lon = a} :: IpGeoLocation)++instance Data.FromJSON IpGeoLocation where+ parseJSON =+ Data.withObject+ "IpGeoLocation"+ ( \x ->+ IpGeoLocation'+ Prelude.<$> (x Data..:? "lat")+ Prelude.<*> (x Data..:? "lon")+ )++instance Prelude.Hashable IpGeoLocation where+ hashWithSalt _salt IpGeoLocation' {..} =+ _salt+ `Prelude.hashWithSalt` lat+ `Prelude.hashWithSalt` lon++instance Prelude.NFData IpGeoLocation where+ rnf IpGeoLocation' {..} =+ Prelude.rnf lat `Prelude.seq` Prelude.rnf lon
+ gen/Amazonka/MacieV2/Types/IpOwner.hs view
@@ -0,0 +1,120 @@+{-# 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.MacieV2.Types.IpOwner+-- 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.MacieV2.Types.IpOwner 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++-- | Provides information about the registered owner of an IP address.+--+-- /See:/ 'newIpOwner' smart constructor.+data IpOwner = IpOwner'+ { -- | The autonomous system number (ASN) for the autonomous system that+ -- included the IP address.+ asn :: Prelude.Maybe Prelude.Text,+ -- | The organization identifier that\'s associated with the autonomous+ -- system number (ASN) for the autonomous system that included the IP+ -- address.+ asnOrg :: Prelude.Maybe Prelude.Text,+ -- | The name of the internet service provider (ISP) that owned the IP+ -- address.+ isp :: Prelude.Maybe Prelude.Text,+ -- | The name of the organization that owned the IP address.+ org :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IpOwner' 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:+--+-- 'asn', 'ipOwner_asn' - The autonomous system number (ASN) for the autonomous system that+-- included the IP address.+--+-- 'asnOrg', 'ipOwner_asnOrg' - The organization identifier that\'s associated with the autonomous+-- system number (ASN) for the autonomous system that included the IP+-- address.+--+-- 'isp', 'ipOwner_isp' - The name of the internet service provider (ISP) that owned the IP+-- address.+--+-- 'org', 'ipOwner_org' - The name of the organization that owned the IP address.+newIpOwner ::+ IpOwner+newIpOwner =+ IpOwner'+ { asn = Prelude.Nothing,+ asnOrg = Prelude.Nothing,+ isp = Prelude.Nothing,+ org = Prelude.Nothing+ }++-- | The autonomous system number (ASN) for the autonomous system that+-- included the IP address.+ipOwner_asn :: Lens.Lens' IpOwner (Prelude.Maybe Prelude.Text)+ipOwner_asn = Lens.lens (\IpOwner' {asn} -> asn) (\s@IpOwner' {} a -> s {asn = a} :: IpOwner)++-- | The organization identifier that\'s associated with the autonomous+-- system number (ASN) for the autonomous system that included the IP+-- address.+ipOwner_asnOrg :: Lens.Lens' IpOwner (Prelude.Maybe Prelude.Text)+ipOwner_asnOrg = Lens.lens (\IpOwner' {asnOrg} -> asnOrg) (\s@IpOwner' {} a -> s {asnOrg = a} :: IpOwner)++-- | The name of the internet service provider (ISP) that owned the IP+-- address.+ipOwner_isp :: Lens.Lens' IpOwner (Prelude.Maybe Prelude.Text)+ipOwner_isp = Lens.lens (\IpOwner' {isp} -> isp) (\s@IpOwner' {} a -> s {isp = a} :: IpOwner)++-- | The name of the organization that owned the IP address.+ipOwner_org :: Lens.Lens' IpOwner (Prelude.Maybe Prelude.Text)+ipOwner_org = Lens.lens (\IpOwner' {org} -> org) (\s@IpOwner' {} a -> s {org = a} :: IpOwner)++instance Data.FromJSON IpOwner where+ parseJSON =+ Data.withObject+ "IpOwner"+ ( \x ->+ IpOwner'+ Prelude.<$> (x Data..:? "asn")+ Prelude.<*> (x Data..:? "asnOrg")+ Prelude.<*> (x Data..:? "isp")+ Prelude.<*> (x Data..:? "org")+ )++instance Prelude.Hashable IpOwner where+ hashWithSalt _salt IpOwner' {..} =+ _salt+ `Prelude.hashWithSalt` asn+ `Prelude.hashWithSalt` asnOrg+ `Prelude.hashWithSalt` isp+ `Prelude.hashWithSalt` org++instance Prelude.NFData IpOwner where+ rnf IpOwner' {..} =+ Prelude.rnf asn+ `Prelude.seq` Prelude.rnf asnOrg+ `Prelude.seq` Prelude.rnf isp+ `Prelude.seq` Prelude.rnf org
+ gen/Amazonka/MacieV2/Types/IsDefinedInJob.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.MacieV2.Types.IsDefinedInJob+-- 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.MacieV2.Types.IsDefinedInJob+ ( IsDefinedInJob+ ( ..,+ IsDefinedInJob_FALSE,+ IsDefinedInJob_TRUE,+ IsDefinedInJob_UNKNOWN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype IsDefinedInJob = IsDefinedInJob'+ { fromIsDefinedInJob ::+ 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 IsDefinedInJob_FALSE :: IsDefinedInJob+pattern IsDefinedInJob_FALSE = IsDefinedInJob' "FALSE"++pattern IsDefinedInJob_TRUE :: IsDefinedInJob+pattern IsDefinedInJob_TRUE = IsDefinedInJob' "TRUE"++pattern IsDefinedInJob_UNKNOWN :: IsDefinedInJob+pattern IsDefinedInJob_UNKNOWN = IsDefinedInJob' "UNKNOWN"++{-# COMPLETE+ IsDefinedInJob_FALSE,+ IsDefinedInJob_TRUE,+ IsDefinedInJob_UNKNOWN,+ IsDefinedInJob'+ #-}
+ gen/Amazonka/MacieV2/Types/IsMonitoredByJob.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.MacieV2.Types.IsMonitoredByJob+-- 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.MacieV2.Types.IsMonitoredByJob+ ( IsMonitoredByJob+ ( ..,+ IsMonitoredByJob_FALSE,+ IsMonitoredByJob_TRUE,+ IsMonitoredByJob_UNKNOWN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype IsMonitoredByJob = IsMonitoredByJob'+ { fromIsMonitoredByJob ::+ 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 IsMonitoredByJob_FALSE :: IsMonitoredByJob+pattern IsMonitoredByJob_FALSE = IsMonitoredByJob' "FALSE"++pattern IsMonitoredByJob_TRUE :: IsMonitoredByJob+pattern IsMonitoredByJob_TRUE = IsMonitoredByJob' "TRUE"++pattern IsMonitoredByJob_UNKNOWN :: IsMonitoredByJob+pattern IsMonitoredByJob_UNKNOWN = IsMonitoredByJob' "UNKNOWN"++{-# COMPLETE+ IsMonitoredByJob_FALSE,+ IsMonitoredByJob_TRUE,+ IsMonitoredByJob_UNKNOWN,+ IsMonitoredByJob'+ #-}
+ gen/Amazonka/MacieV2/Types/JobComparator.hs view
@@ -0,0 +1,103 @@+{-# 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.MacieV2.Types.JobComparator+-- 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.MacieV2.Types.JobComparator+ ( JobComparator+ ( ..,+ JobComparator_CONTAINS,+ JobComparator_EQ,+ JobComparator_GT,+ JobComparator_GTE,+ JobComparator_LT,+ JobComparator_LTE,+ JobComparator_NE,+ JobComparator_STARTS_WITH+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The operator to use in a condition. Depending on the type of condition,+-- possible values are:+newtype JobComparator = JobComparator'+ { fromJobComparator ::+ 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 JobComparator_CONTAINS :: JobComparator+pattern JobComparator_CONTAINS = JobComparator' "CONTAINS"++pattern JobComparator_EQ :: JobComparator+pattern JobComparator_EQ = JobComparator' "EQ"++pattern JobComparator_GT :: JobComparator+pattern JobComparator_GT = JobComparator' "GT"++pattern JobComparator_GTE :: JobComparator+pattern JobComparator_GTE = JobComparator' "GTE"++pattern JobComparator_LT :: JobComparator+pattern JobComparator_LT = JobComparator' "LT"++pattern JobComparator_LTE :: JobComparator+pattern JobComparator_LTE = JobComparator' "LTE"++pattern JobComparator_NE :: JobComparator+pattern JobComparator_NE = JobComparator' "NE"++pattern JobComparator_STARTS_WITH :: JobComparator+pattern JobComparator_STARTS_WITH = JobComparator' "STARTS_WITH"++{-# COMPLETE+ JobComparator_CONTAINS,+ JobComparator_EQ,+ JobComparator_GT,+ JobComparator_GTE,+ JobComparator_LT,+ JobComparator_LTE,+ JobComparator_NE,+ JobComparator_STARTS_WITH,+ JobComparator'+ #-}
+ gen/Amazonka/MacieV2/Types/JobDetails.hs view
@@ -0,0 +1,238 @@+{-# 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.MacieV2.Types.JobDetails+-- 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.MacieV2.Types.JobDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.IsDefinedInJob+import Amazonka.MacieV2.Types.IsMonitoredByJob+import qualified Amazonka.Prelude as Prelude++-- | Specifies whether any one-time or recurring classification jobs are+-- configured to analyze data in an S3 bucket, and, if so, the details of+-- the job that ran most recently.+--+-- /See:/ 'newJobDetails' smart constructor.+data JobDetails = JobDetails'+ { -- | Specifies whether any one-time or recurring jobs are configured to+ -- analyze data in the bucket. Possible values are:+ --+ -- - TRUE - The bucket is explicitly included in the bucket definition+ -- (S3BucketDefinitionForJob) for one or more jobs and at least one of+ -- those jobs has a status other than CANCELLED. Or the bucket matched+ -- the bucket criteria (S3BucketCriteriaForJob) for at least one job+ -- that previously ran.+ --+ -- - FALSE - The bucket isn\'t explicitly included in the bucket+ -- definition (S3BucketDefinitionForJob) for any jobs, all the jobs+ -- that explicitly include the bucket in their bucket definitions have+ -- a status of CANCELLED, or the bucket didn\'t match the bucket+ -- criteria (S3BucketCriteriaForJob) for any jobs that previously ran.+ --+ -- - UNKNOWN - An exception occurred when Amazon Macie attempted to+ -- retrieve job data for the bucket.+ isDefinedInJob :: Prelude.Maybe IsDefinedInJob,+ -- | Specifies whether any recurring jobs are configured to analyze data in+ -- the bucket. Possible values are:+ --+ -- - TRUE - The bucket is explicitly included in the bucket definition+ -- (S3BucketDefinitionForJob) for one or more recurring jobs or the+ -- bucket matches the bucket criteria (S3BucketCriteriaForJob) for one+ -- or more recurring jobs. At least one of those jobs has a status+ -- other than CANCELLED.+ --+ -- - FALSE - The bucket isn\'t explicitly included in the bucket+ -- definition (S3BucketDefinitionForJob) for any recurring jobs, the+ -- bucket doesn\'t match the bucket criteria (S3BucketCriteriaForJob)+ -- for any recurring jobs, or all the recurring jobs that are+ -- configured to analyze data in the bucket have a status of CANCELLED.+ --+ -- - UNKNOWN - An exception occurred when Amazon Macie attempted to+ -- retrieve job data for the bucket.+ isMonitoredByJob :: Prelude.Maybe IsMonitoredByJob,+ -- | The unique identifier for the job that ran most recently and is+ -- configured to analyze data in the bucket, either the latest run of a+ -- recurring job or the only run of a one-time job.+ --+ -- This value is typically null if the value for the isDefinedInJob+ -- property is FALSE or UNKNOWN.+ lastJobId :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when the job+ -- (lastJobId) started. If the job is a recurring job, this value indicates+ -- when the most recent run started.+ --+ -- This value is typically null if the value for the isDefinedInJob+ -- property is FALSE or UNKNOWN.+ lastJobRunTime :: Prelude.Maybe Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobDetails' 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:+--+-- 'isDefinedInJob', 'jobDetails_isDefinedInJob' - Specifies whether any one-time or recurring jobs are configured to+-- analyze data in the bucket. Possible values are:+--+-- - TRUE - The bucket is explicitly included in the bucket definition+-- (S3BucketDefinitionForJob) for one or more jobs and at least one of+-- those jobs has a status other than CANCELLED. Or the bucket matched+-- the bucket criteria (S3BucketCriteriaForJob) for at least one job+-- that previously ran.+--+-- - FALSE - The bucket isn\'t explicitly included in the bucket+-- definition (S3BucketDefinitionForJob) for any jobs, all the jobs+-- that explicitly include the bucket in their bucket definitions have+-- a status of CANCELLED, or the bucket didn\'t match the bucket+-- criteria (S3BucketCriteriaForJob) for any jobs that previously ran.+--+-- - UNKNOWN - An exception occurred when Amazon Macie attempted to+-- retrieve job data for the bucket.+--+-- 'isMonitoredByJob', 'jobDetails_isMonitoredByJob' - Specifies whether any recurring jobs are configured to analyze data in+-- the bucket. Possible values are:+--+-- - TRUE - The bucket is explicitly included in the bucket definition+-- (S3BucketDefinitionForJob) for one or more recurring jobs or the+-- bucket matches the bucket criteria (S3BucketCriteriaForJob) for one+-- or more recurring jobs. At least one of those jobs has a status+-- other than CANCELLED.+--+-- - FALSE - The bucket isn\'t explicitly included in the bucket+-- definition (S3BucketDefinitionForJob) for any recurring jobs, the+-- bucket doesn\'t match the bucket criteria (S3BucketCriteriaForJob)+-- for any recurring jobs, or all the recurring jobs that are+-- configured to analyze data in the bucket have a status of CANCELLED.+--+-- - UNKNOWN - An exception occurred when Amazon Macie attempted to+-- retrieve job data for the bucket.+--+-- 'lastJobId', 'jobDetails_lastJobId' - The unique identifier for the job that ran most recently and is+-- configured to analyze data in the bucket, either the latest run of a+-- recurring job or the only run of a one-time job.+--+-- This value is typically null if the value for the isDefinedInJob+-- property is FALSE or UNKNOWN.+--+-- 'lastJobRunTime', 'jobDetails_lastJobRunTime' - The date and time, in UTC and extended ISO 8601 format, when the job+-- (lastJobId) started. If the job is a recurring job, this value indicates+-- when the most recent run started.+--+-- This value is typically null if the value for the isDefinedInJob+-- property is FALSE or UNKNOWN.+newJobDetails ::+ JobDetails+newJobDetails =+ JobDetails'+ { isDefinedInJob = Prelude.Nothing,+ isMonitoredByJob = Prelude.Nothing,+ lastJobId = Prelude.Nothing,+ lastJobRunTime = Prelude.Nothing+ }++-- | Specifies whether any one-time or recurring jobs are configured to+-- analyze data in the bucket. Possible values are:+--+-- - TRUE - The bucket is explicitly included in the bucket definition+-- (S3BucketDefinitionForJob) for one or more jobs and at least one of+-- those jobs has a status other than CANCELLED. Or the bucket matched+-- the bucket criteria (S3BucketCriteriaForJob) for at least one job+-- that previously ran.+--+-- - FALSE - The bucket isn\'t explicitly included in the bucket+-- definition (S3BucketDefinitionForJob) for any jobs, all the jobs+-- that explicitly include the bucket in their bucket definitions have+-- a status of CANCELLED, or the bucket didn\'t match the bucket+-- criteria (S3BucketCriteriaForJob) for any jobs that previously ran.+--+-- - UNKNOWN - An exception occurred when Amazon Macie attempted to+-- retrieve job data for the bucket.+jobDetails_isDefinedInJob :: Lens.Lens' JobDetails (Prelude.Maybe IsDefinedInJob)+jobDetails_isDefinedInJob = Lens.lens (\JobDetails' {isDefinedInJob} -> isDefinedInJob) (\s@JobDetails' {} a -> s {isDefinedInJob = a} :: JobDetails)++-- | Specifies whether any recurring jobs are configured to analyze data in+-- the bucket. Possible values are:+--+-- - TRUE - The bucket is explicitly included in the bucket definition+-- (S3BucketDefinitionForJob) for one or more recurring jobs or the+-- bucket matches the bucket criteria (S3BucketCriteriaForJob) for one+-- or more recurring jobs. At least one of those jobs has a status+-- other than CANCELLED.+--+-- - FALSE - The bucket isn\'t explicitly included in the bucket+-- definition (S3BucketDefinitionForJob) for any recurring jobs, the+-- bucket doesn\'t match the bucket criteria (S3BucketCriteriaForJob)+-- for any recurring jobs, or all the recurring jobs that are+-- configured to analyze data in the bucket have a status of CANCELLED.+--+-- - UNKNOWN - An exception occurred when Amazon Macie attempted to+-- retrieve job data for the bucket.+jobDetails_isMonitoredByJob :: Lens.Lens' JobDetails (Prelude.Maybe IsMonitoredByJob)+jobDetails_isMonitoredByJob = Lens.lens (\JobDetails' {isMonitoredByJob} -> isMonitoredByJob) (\s@JobDetails' {} a -> s {isMonitoredByJob = a} :: JobDetails)++-- | The unique identifier for the job that ran most recently and is+-- configured to analyze data in the bucket, either the latest run of a+-- recurring job or the only run of a one-time job.+--+-- This value is typically null if the value for the isDefinedInJob+-- property is FALSE or UNKNOWN.+jobDetails_lastJobId :: Lens.Lens' JobDetails (Prelude.Maybe Prelude.Text)+jobDetails_lastJobId = Lens.lens (\JobDetails' {lastJobId} -> lastJobId) (\s@JobDetails' {} a -> s {lastJobId = a} :: JobDetails)++-- | The date and time, in UTC and extended ISO 8601 format, when the job+-- (lastJobId) started. If the job is a recurring job, this value indicates+-- when the most recent run started.+--+-- This value is typically null if the value for the isDefinedInJob+-- property is FALSE or UNKNOWN.+jobDetails_lastJobRunTime :: Lens.Lens' JobDetails (Prelude.Maybe Prelude.UTCTime)+jobDetails_lastJobRunTime = Lens.lens (\JobDetails' {lastJobRunTime} -> lastJobRunTime) (\s@JobDetails' {} a -> s {lastJobRunTime = a} :: JobDetails) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON JobDetails where+ parseJSON =+ Data.withObject+ "JobDetails"+ ( \x ->+ JobDetails'+ Prelude.<$> (x Data..:? "isDefinedInJob")+ Prelude.<*> (x Data..:? "isMonitoredByJob")+ Prelude.<*> (x Data..:? "lastJobId")+ Prelude.<*> (x Data..:? "lastJobRunTime")+ )++instance Prelude.Hashable JobDetails where+ hashWithSalt _salt JobDetails' {..} =+ _salt+ `Prelude.hashWithSalt` isDefinedInJob+ `Prelude.hashWithSalt` isMonitoredByJob+ `Prelude.hashWithSalt` lastJobId+ `Prelude.hashWithSalt` lastJobRunTime++instance Prelude.NFData JobDetails where+ rnf JobDetails' {..} =+ Prelude.rnf isDefinedInJob+ `Prelude.seq` Prelude.rnf isMonitoredByJob+ `Prelude.seq` Prelude.rnf lastJobId+ `Prelude.seq` Prelude.rnf lastJobRunTime
+ gen/Amazonka/MacieV2/Types/JobScheduleFrequency.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.MacieV2.Types.JobScheduleFrequency+-- 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.MacieV2.Types.JobScheduleFrequency where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.DailySchedule+import Amazonka.MacieV2.Types.MonthlySchedule+import Amazonka.MacieV2.Types.WeeklySchedule+import qualified Amazonka.Prelude as Prelude++-- | Specifies the recurrence pattern for running a classification job.+--+-- /See:/ 'newJobScheduleFrequency' smart constructor.+data JobScheduleFrequency = JobScheduleFrequency'+ { -- | Specifies a daily recurrence pattern for running the job.+ dailySchedule :: Prelude.Maybe DailySchedule,+ -- | Specifies a monthly recurrence pattern for running the job.+ monthlySchedule :: Prelude.Maybe MonthlySchedule,+ -- | Specifies a weekly recurrence pattern for running the job.+ weeklySchedule :: Prelude.Maybe WeeklySchedule+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobScheduleFrequency' 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:+--+-- 'dailySchedule', 'jobScheduleFrequency_dailySchedule' - Specifies a daily recurrence pattern for running the job.+--+-- 'monthlySchedule', 'jobScheduleFrequency_monthlySchedule' - Specifies a monthly recurrence pattern for running the job.+--+-- 'weeklySchedule', 'jobScheduleFrequency_weeklySchedule' - Specifies a weekly recurrence pattern for running the job.+newJobScheduleFrequency ::+ JobScheduleFrequency+newJobScheduleFrequency =+ JobScheduleFrequency'+ { dailySchedule =+ Prelude.Nothing,+ monthlySchedule = Prelude.Nothing,+ weeklySchedule = Prelude.Nothing+ }++-- | Specifies a daily recurrence pattern for running the job.+jobScheduleFrequency_dailySchedule :: Lens.Lens' JobScheduleFrequency (Prelude.Maybe DailySchedule)+jobScheduleFrequency_dailySchedule = Lens.lens (\JobScheduleFrequency' {dailySchedule} -> dailySchedule) (\s@JobScheduleFrequency' {} a -> s {dailySchedule = a} :: JobScheduleFrequency)++-- | Specifies a monthly recurrence pattern for running the job.+jobScheduleFrequency_monthlySchedule :: Lens.Lens' JobScheduleFrequency (Prelude.Maybe MonthlySchedule)+jobScheduleFrequency_monthlySchedule = Lens.lens (\JobScheduleFrequency' {monthlySchedule} -> monthlySchedule) (\s@JobScheduleFrequency' {} a -> s {monthlySchedule = a} :: JobScheduleFrequency)++-- | Specifies a weekly recurrence pattern for running the job.+jobScheduleFrequency_weeklySchedule :: Lens.Lens' JobScheduleFrequency (Prelude.Maybe WeeklySchedule)+jobScheduleFrequency_weeklySchedule = Lens.lens (\JobScheduleFrequency' {weeklySchedule} -> weeklySchedule) (\s@JobScheduleFrequency' {} a -> s {weeklySchedule = a} :: JobScheduleFrequency)++instance Data.FromJSON JobScheduleFrequency where+ parseJSON =+ Data.withObject+ "JobScheduleFrequency"+ ( \x ->+ JobScheduleFrequency'+ Prelude.<$> (x Data..:? "dailySchedule")+ Prelude.<*> (x Data..:? "monthlySchedule")+ Prelude.<*> (x Data..:? "weeklySchedule")+ )++instance Prelude.Hashable JobScheduleFrequency where+ hashWithSalt _salt JobScheduleFrequency' {..} =+ _salt+ `Prelude.hashWithSalt` dailySchedule+ `Prelude.hashWithSalt` monthlySchedule+ `Prelude.hashWithSalt` weeklySchedule++instance Prelude.NFData JobScheduleFrequency where+ rnf JobScheduleFrequency' {..} =+ Prelude.rnf dailySchedule+ `Prelude.seq` Prelude.rnf monthlySchedule+ `Prelude.seq` Prelude.rnf weeklySchedule++instance Data.ToJSON JobScheduleFrequency where+ toJSON JobScheduleFrequency' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("dailySchedule" Data..=) Prelude.<$> dailySchedule,+ ("monthlySchedule" Data..=)+ Prelude.<$> monthlySchedule,+ ("weeklySchedule" Data..=)+ Prelude.<$> weeklySchedule+ ]+ )
+ gen/Amazonka/MacieV2/Types/JobScopeTerm.hs view
@@ -0,0 +1,105 @@+{-# 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.MacieV2.Types.JobScopeTerm+-- 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.MacieV2.Types.JobScopeTerm where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.SimpleScopeTerm+import Amazonka.MacieV2.Types.TagScopeTerm+import qualified Amazonka.Prelude as Prelude++-- | Specifies a property- or tag-based condition that defines criteria for+-- including or excluding S3 objects from a classification job. A+-- JobScopeTerm object can contain only one simpleScopeTerm object or one+-- tagScopeTerm object.+--+-- /See:/ 'newJobScopeTerm' smart constructor.+data JobScopeTerm = JobScopeTerm'+ { -- | A property-based condition that defines a property, operator, and one or+ -- more values for including or excluding objects from the job.+ simpleScopeTerm :: Prelude.Maybe SimpleScopeTerm,+ -- | A tag-based condition that defines the operator and tag keys or tag key+ -- and value pairs for including or excluding objects from the job.+ tagScopeTerm :: Prelude.Maybe TagScopeTerm+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobScopeTerm' 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:+--+-- 'simpleScopeTerm', 'jobScopeTerm_simpleScopeTerm' - A property-based condition that defines a property, operator, and one or+-- more values for including or excluding objects from the job.+--+-- 'tagScopeTerm', 'jobScopeTerm_tagScopeTerm' - A tag-based condition that defines the operator and tag keys or tag key+-- and value pairs for including or excluding objects from the job.+newJobScopeTerm ::+ JobScopeTerm+newJobScopeTerm =+ JobScopeTerm'+ { simpleScopeTerm = Prelude.Nothing,+ tagScopeTerm = Prelude.Nothing+ }++-- | A property-based condition that defines a property, operator, and one or+-- more values for including or excluding objects from the job.+jobScopeTerm_simpleScopeTerm :: Lens.Lens' JobScopeTerm (Prelude.Maybe SimpleScopeTerm)+jobScopeTerm_simpleScopeTerm = Lens.lens (\JobScopeTerm' {simpleScopeTerm} -> simpleScopeTerm) (\s@JobScopeTerm' {} a -> s {simpleScopeTerm = a} :: JobScopeTerm)++-- | A tag-based condition that defines the operator and tag keys or tag key+-- and value pairs for including or excluding objects from the job.+jobScopeTerm_tagScopeTerm :: Lens.Lens' JobScopeTerm (Prelude.Maybe TagScopeTerm)+jobScopeTerm_tagScopeTerm = Lens.lens (\JobScopeTerm' {tagScopeTerm} -> tagScopeTerm) (\s@JobScopeTerm' {} a -> s {tagScopeTerm = a} :: JobScopeTerm)++instance Data.FromJSON JobScopeTerm where+ parseJSON =+ Data.withObject+ "JobScopeTerm"+ ( \x ->+ JobScopeTerm'+ Prelude.<$> (x Data..:? "simpleScopeTerm")+ Prelude.<*> (x Data..:? "tagScopeTerm")+ )++instance Prelude.Hashable JobScopeTerm where+ hashWithSalt _salt JobScopeTerm' {..} =+ _salt+ `Prelude.hashWithSalt` simpleScopeTerm+ `Prelude.hashWithSalt` tagScopeTerm++instance Prelude.NFData JobScopeTerm where+ rnf JobScopeTerm' {..} =+ Prelude.rnf simpleScopeTerm+ `Prelude.seq` Prelude.rnf tagScopeTerm++instance Data.ToJSON JobScopeTerm where+ toJSON JobScopeTerm' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("simpleScopeTerm" Data..=)+ Prelude.<$> simpleScopeTerm,+ ("tagScopeTerm" Data..=) Prelude.<$> tagScopeTerm+ ]+ )
+ gen/Amazonka/MacieV2/Types/JobScopingBlock.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.MacieV2.Types.JobScopingBlock+-- 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.MacieV2.Types.JobScopingBlock where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.JobScopeTerm+import qualified Amazonka.Prelude as Prelude++-- | Specifies one or more property- and tag-based conditions that define+-- criteria for including or excluding S3 objects from a classification+-- job.+--+-- /See:/ 'newJobScopingBlock' smart constructor.+data JobScopingBlock = JobScopingBlock'+ { -- | An array of conditions, one for each property- or tag-based condition+ -- that determines which objects to include or exclude from the job. If you+ -- specify more than one condition, Amazon Macie uses AND logic to join the+ -- conditions.+ and :: Prelude.Maybe [JobScopeTerm]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobScopingBlock' 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:+--+-- 'and', 'jobScopingBlock_and' - An array of conditions, one for each property- or tag-based condition+-- that determines which objects to include or exclude from the job. If you+-- specify more than one condition, Amazon Macie uses AND logic to join the+-- conditions.+newJobScopingBlock ::+ JobScopingBlock+newJobScopingBlock =+ JobScopingBlock' {and = Prelude.Nothing}++-- | An array of conditions, one for each property- or tag-based condition+-- that determines which objects to include or exclude from the job. If you+-- specify more than one condition, Amazon Macie uses AND logic to join the+-- conditions.+jobScopingBlock_and :: Lens.Lens' JobScopingBlock (Prelude.Maybe [JobScopeTerm])+jobScopingBlock_and = Lens.lens (\JobScopingBlock' {and} -> and) (\s@JobScopingBlock' {} a -> s {and = a} :: JobScopingBlock) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON JobScopingBlock where+ parseJSON =+ Data.withObject+ "JobScopingBlock"+ ( \x ->+ JobScopingBlock'+ Prelude.<$> (x Data..:? "and" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable JobScopingBlock where+ hashWithSalt _salt JobScopingBlock' {..} =+ _salt `Prelude.hashWithSalt` and++instance Prelude.NFData JobScopingBlock where+ rnf JobScopingBlock' {..} = Prelude.rnf and++instance Data.ToJSON JobScopingBlock where+ toJSON JobScopingBlock' {..} =+ Data.object+ (Prelude.catMaybes [("and" Data..=) Prelude.<$> and])
+ gen/Amazonka/MacieV2/Types/JobStatus.hs view
@@ -0,0 +1,92 @@+{-# 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.MacieV2.Types.JobStatus+-- 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.MacieV2.Types.JobStatus+ ( JobStatus+ ( ..,+ JobStatus_CANCELLED,+ JobStatus_COMPLETE,+ JobStatus_IDLE,+ JobStatus_PAUSED,+ JobStatus_RUNNING,+ JobStatus_USER_PAUSED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The status of a classification job. Possible values are:+newtype JobStatus = JobStatus'+ { fromJobStatus ::+ 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 JobStatus_CANCELLED :: JobStatus+pattern JobStatus_CANCELLED = JobStatus' "CANCELLED"++pattern JobStatus_COMPLETE :: JobStatus+pattern JobStatus_COMPLETE = JobStatus' "COMPLETE"++pattern JobStatus_IDLE :: JobStatus+pattern JobStatus_IDLE = JobStatus' "IDLE"++pattern JobStatus_PAUSED :: JobStatus+pattern JobStatus_PAUSED = JobStatus' "PAUSED"++pattern JobStatus_RUNNING :: JobStatus+pattern JobStatus_RUNNING = JobStatus' "RUNNING"++pattern JobStatus_USER_PAUSED :: JobStatus+pattern JobStatus_USER_PAUSED = JobStatus' "USER_PAUSED"++{-# COMPLETE+ JobStatus_CANCELLED,+ JobStatus_COMPLETE,+ JobStatus_IDLE,+ JobStatus_PAUSED,+ JobStatus_RUNNING,+ JobStatus_USER_PAUSED,+ JobStatus'+ #-}
+ gen/Amazonka/MacieV2/Types/JobSummary.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.MacieV2.Types.JobSummary+-- 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.MacieV2.Types.JobSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.JobStatus+import Amazonka.MacieV2.Types.JobType+import Amazonka.MacieV2.Types.LastRunErrorStatus+import Amazonka.MacieV2.Types.S3BucketCriteriaForJob+import Amazonka.MacieV2.Types.S3BucketDefinitionForJob+import Amazonka.MacieV2.Types.UserPausedDetails+import qualified Amazonka.Prelude as Prelude++-- | Provides information about a classification job, including the current+-- status of the job.+--+-- /See:/ 'newJobSummary' smart constructor.+data JobSummary = JobSummary'+ { -- | The property- and tag-based conditions that determine which S3 buckets+ -- are included or excluded from the job\'s analysis. Each time the job+ -- runs, the job uses these criteria to determine which buckets to analyze.+ -- A job\'s definition can contain a bucketCriteria object or a+ -- bucketDefinitions array, not both.+ bucketCriteria :: Prelude.Maybe S3BucketCriteriaForJob,+ -- | An array of objects, one for each Amazon Web Services account that owns+ -- specific S3 buckets for the job to analyze. Each object specifies the+ -- account ID for an account and one or more buckets to analyze for that+ -- account. A job\'s definition can contain a bucketDefinitions array or a+ -- bucketCriteria object, not both.+ bucketDefinitions :: Prelude.Maybe [S3BucketDefinitionForJob],+ -- | The date and time, in UTC and extended ISO 8601 format, when the job was+ -- created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The unique identifier for the job.+ jobId :: Prelude.Maybe Prelude.Text,+ -- | The current status of the job. Possible values are:+ --+ -- - CANCELLED - You cancelled the job or, if it\'s a one-time job, you+ -- paused the job and didn\'t resume it within 30 days.+ --+ -- - COMPLETE - For a one-time job, Amazon Macie finished processing the+ -- data specified for the job. This value doesn\'t apply to recurring+ -- jobs.+ --+ -- - IDLE - For a recurring job, the previous scheduled run is complete+ -- and the next scheduled run is pending. This value doesn\'t apply to+ -- one-time jobs.+ --+ -- - PAUSED - Macie started running the job but additional processing+ -- would exceed the monthly sensitive data discovery quota for your+ -- account or one or more member accounts that the job analyzes data+ -- for.+ --+ -- - RUNNING - For a one-time job, the job is in progress. For a+ -- recurring job, a scheduled run is in progress.+ --+ -- - USER_PAUSED - You paused the job. If you paused the job while it had+ -- a status of RUNNING and you don\'t resume it within 30 days of+ -- pausing it, the job or job run will expire and be cancelled,+ -- depending on the job\'s type. To check the expiration date, refer to+ -- the UserPausedDetails.jobExpiresAt property.+ jobStatus :: Prelude.Maybe JobStatus,+ -- | The schedule for running the job. Possible values are:+ --+ -- - ONE_TIME - The job runs only once.+ --+ -- - SCHEDULED - The job runs on a daily, weekly, or monthly basis.+ jobType :: Prelude.Maybe JobType,+ -- | Specifies whether any account- or bucket-level access errors occurred+ -- when the job ran. For a recurring job, this value indicates the error+ -- status of the job\'s most recent run.+ lastRunErrorStatus :: Prelude.Maybe LastRunErrorStatus,+ -- | The custom name of the job.+ name :: Prelude.Maybe Prelude.Text,+ -- | If the current status of the job is USER_PAUSED, specifies when the job+ -- was paused and when the job or job run will expire and be cancelled if+ -- it isn\'t resumed. This value is present only if the value for jobStatus+ -- is USER_PAUSED.+ userPausedDetails :: Prelude.Maybe UserPausedDetails+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JobSummary' 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:+--+-- 'bucketCriteria', 'jobSummary_bucketCriteria' - The property- and tag-based conditions that determine which S3 buckets+-- are included or excluded from the job\'s analysis. Each time the job+-- runs, the job uses these criteria to determine which buckets to analyze.+-- A job\'s definition can contain a bucketCriteria object or a+-- bucketDefinitions array, not both.+--+-- 'bucketDefinitions', 'jobSummary_bucketDefinitions' - An array of objects, one for each Amazon Web Services account that owns+-- specific S3 buckets for the job to analyze. Each object specifies the+-- account ID for an account and one or more buckets to analyze for that+-- account. A job\'s definition can contain a bucketDefinitions array or a+-- bucketCriteria object, not both.+--+-- 'createdAt', 'jobSummary_createdAt' - The date and time, in UTC and extended ISO 8601 format, when the job was+-- created.+--+-- 'jobId', 'jobSummary_jobId' - The unique identifier for the job.+--+-- 'jobStatus', 'jobSummary_jobStatus' - The current status of the job. Possible values are:+--+-- - CANCELLED - You cancelled the job or, if it\'s a one-time job, you+-- paused the job and didn\'t resume it within 30 days.+--+-- - COMPLETE - For a one-time job, Amazon Macie finished processing the+-- data specified for the job. This value doesn\'t apply to recurring+-- jobs.+--+-- - IDLE - For a recurring job, the previous scheduled run is complete+-- and the next scheduled run is pending. This value doesn\'t apply to+-- one-time jobs.+--+-- - PAUSED - Macie started running the job but additional processing+-- would exceed the monthly sensitive data discovery quota for your+-- account or one or more member accounts that the job analyzes data+-- for.+--+-- - RUNNING - For a one-time job, the job is in progress. For a+-- recurring job, a scheduled run is in progress.+--+-- - USER_PAUSED - You paused the job. If you paused the job while it had+-- a status of RUNNING and you don\'t resume it within 30 days of+-- pausing it, the job or job run will expire and be cancelled,+-- depending on the job\'s type. To check the expiration date, refer to+-- the UserPausedDetails.jobExpiresAt property.+--+-- 'jobType', 'jobSummary_jobType' - The schedule for running the job. Possible values are:+--+-- - ONE_TIME - The job runs only once.+--+-- - SCHEDULED - The job runs on a daily, weekly, or monthly basis.+--+-- 'lastRunErrorStatus', 'jobSummary_lastRunErrorStatus' - Specifies whether any account- or bucket-level access errors occurred+-- when the job ran. For a recurring job, this value indicates the error+-- status of the job\'s most recent run.+--+-- 'name', 'jobSummary_name' - The custom name of the job.+--+-- 'userPausedDetails', 'jobSummary_userPausedDetails' - If the current status of the job is USER_PAUSED, specifies when the job+-- was paused and when the job or job run will expire and be cancelled if+-- it isn\'t resumed. This value is present only if the value for jobStatus+-- is USER_PAUSED.+newJobSummary ::+ JobSummary+newJobSummary =+ JobSummary'+ { bucketCriteria = Prelude.Nothing,+ bucketDefinitions = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ jobId = Prelude.Nothing,+ jobStatus = Prelude.Nothing,+ jobType = Prelude.Nothing,+ lastRunErrorStatus = Prelude.Nothing,+ name = Prelude.Nothing,+ userPausedDetails = Prelude.Nothing+ }++-- | The property- and tag-based conditions that determine which S3 buckets+-- are included or excluded from the job\'s analysis. Each time the job+-- runs, the job uses these criteria to determine which buckets to analyze.+-- A job\'s definition can contain a bucketCriteria object or a+-- bucketDefinitions array, not both.+jobSummary_bucketCriteria :: Lens.Lens' JobSummary (Prelude.Maybe S3BucketCriteriaForJob)+jobSummary_bucketCriteria = Lens.lens (\JobSummary' {bucketCriteria} -> bucketCriteria) (\s@JobSummary' {} a -> s {bucketCriteria = a} :: JobSummary)++-- | An array of objects, one for each Amazon Web Services account that owns+-- specific S3 buckets for the job to analyze. Each object specifies the+-- account ID for an account and one or more buckets to analyze for that+-- account. A job\'s definition can contain a bucketDefinitions array or a+-- bucketCriteria object, not both.+jobSummary_bucketDefinitions :: Lens.Lens' JobSummary (Prelude.Maybe [S3BucketDefinitionForJob])+jobSummary_bucketDefinitions = Lens.lens (\JobSummary' {bucketDefinitions} -> bucketDefinitions) (\s@JobSummary' {} a -> s {bucketDefinitions = a} :: JobSummary) Prelude.. Lens.mapping Lens.coerced++-- | The date and time, in UTC and extended ISO 8601 format, when the job was+-- created.+jobSummary_createdAt :: Lens.Lens' JobSummary (Prelude.Maybe Prelude.UTCTime)+jobSummary_createdAt = Lens.lens (\JobSummary' {createdAt} -> createdAt) (\s@JobSummary' {} a -> s {createdAt = a} :: JobSummary) Prelude.. Lens.mapping Data._Time++-- | The unique identifier for the job.+jobSummary_jobId :: Lens.Lens' JobSummary (Prelude.Maybe Prelude.Text)+jobSummary_jobId = Lens.lens (\JobSummary' {jobId} -> jobId) (\s@JobSummary' {} a -> s {jobId = a} :: JobSummary)++-- | The current status of the job. Possible values are:+--+-- - CANCELLED - You cancelled the job or, if it\'s a one-time job, you+-- paused the job and didn\'t resume it within 30 days.+--+-- - COMPLETE - For a one-time job, Amazon Macie finished processing the+-- data specified for the job. This value doesn\'t apply to recurring+-- jobs.+--+-- - IDLE - For a recurring job, the previous scheduled run is complete+-- and the next scheduled run is pending. This value doesn\'t apply to+-- one-time jobs.+--+-- - PAUSED - Macie started running the job but additional processing+-- would exceed the monthly sensitive data discovery quota for your+-- account or one or more member accounts that the job analyzes data+-- for.+--+-- - RUNNING - For a one-time job, the job is in progress. For a+-- recurring job, a scheduled run is in progress.+--+-- - USER_PAUSED - You paused the job. If you paused the job while it had+-- a status of RUNNING and you don\'t resume it within 30 days of+-- pausing it, the job or job run will expire and be cancelled,+-- depending on the job\'s type. To check the expiration date, refer to+-- the UserPausedDetails.jobExpiresAt property.+jobSummary_jobStatus :: Lens.Lens' JobSummary (Prelude.Maybe JobStatus)+jobSummary_jobStatus = Lens.lens (\JobSummary' {jobStatus} -> jobStatus) (\s@JobSummary' {} a -> s {jobStatus = a} :: JobSummary)++-- | The schedule for running the job. Possible values are:+--+-- - ONE_TIME - The job runs only once.+--+-- - SCHEDULED - The job runs on a daily, weekly, or monthly basis.+jobSummary_jobType :: Lens.Lens' JobSummary (Prelude.Maybe JobType)+jobSummary_jobType = Lens.lens (\JobSummary' {jobType} -> jobType) (\s@JobSummary' {} a -> s {jobType = a} :: JobSummary)++-- | Specifies whether any account- or bucket-level access errors occurred+-- when the job ran. For a recurring job, this value indicates the error+-- status of the job\'s most recent run.+jobSummary_lastRunErrorStatus :: Lens.Lens' JobSummary (Prelude.Maybe LastRunErrorStatus)+jobSummary_lastRunErrorStatus = Lens.lens (\JobSummary' {lastRunErrorStatus} -> lastRunErrorStatus) (\s@JobSummary' {} a -> s {lastRunErrorStatus = a} :: JobSummary)++-- | The custom name of the job.+jobSummary_name :: Lens.Lens' JobSummary (Prelude.Maybe Prelude.Text)+jobSummary_name = Lens.lens (\JobSummary' {name} -> name) (\s@JobSummary' {} a -> s {name = a} :: JobSummary)++-- | If the current status of the job is USER_PAUSED, specifies when the job+-- was paused and when the job or job run will expire and be cancelled if+-- it isn\'t resumed. This value is present only if the value for jobStatus+-- is USER_PAUSED.+jobSummary_userPausedDetails :: Lens.Lens' JobSummary (Prelude.Maybe UserPausedDetails)+jobSummary_userPausedDetails = Lens.lens (\JobSummary' {userPausedDetails} -> userPausedDetails) (\s@JobSummary' {} a -> s {userPausedDetails = a} :: JobSummary)++instance Data.FromJSON JobSummary where+ parseJSON =+ Data.withObject+ "JobSummary"+ ( \x ->+ JobSummary'+ Prelude.<$> (x Data..:? "bucketCriteria")+ Prelude.<*> ( x+ Data..:? "bucketDefinitions"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "jobId")+ Prelude.<*> (x Data..:? "jobStatus")+ Prelude.<*> (x Data..:? "jobType")+ Prelude.<*> (x Data..:? "lastRunErrorStatus")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "userPausedDetails")+ )++instance Prelude.Hashable JobSummary where+ hashWithSalt _salt JobSummary' {..} =+ _salt+ `Prelude.hashWithSalt` bucketCriteria+ `Prelude.hashWithSalt` bucketDefinitions+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` jobId+ `Prelude.hashWithSalt` jobStatus+ `Prelude.hashWithSalt` jobType+ `Prelude.hashWithSalt` lastRunErrorStatus+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` userPausedDetails++instance Prelude.NFData JobSummary where+ rnf JobSummary' {..} =+ Prelude.rnf bucketCriteria+ `Prelude.seq` Prelude.rnf bucketDefinitions+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf jobId+ `Prelude.seq` Prelude.rnf jobStatus+ `Prelude.seq` Prelude.rnf jobType+ `Prelude.seq` Prelude.rnf lastRunErrorStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf userPausedDetails
+ gen/Amazonka/MacieV2/Types/JobType.hs view
@@ -0,0 +1,69 @@+{-# 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.MacieV2.Types.JobType+-- 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.MacieV2.Types.JobType+ ( JobType+ ( ..,+ JobType_ONE_TIME,+ JobType_SCHEDULED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The schedule for running a classification job. Valid values are:+newtype JobType = JobType' {fromJobType :: 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 JobType_ONE_TIME :: JobType+pattern JobType_ONE_TIME = JobType' "ONE_TIME"++pattern JobType_SCHEDULED :: JobType+pattern JobType_SCHEDULED = JobType' "SCHEDULED"++{-# COMPLETE+ JobType_ONE_TIME,+ JobType_SCHEDULED,+ JobType'+ #-}
+ gen/Amazonka/MacieV2/Types/KeyValuePair.hs view
@@ -0,0 +1,91 @@+{-# 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.MacieV2.Types.KeyValuePair+-- 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.MacieV2.Types.KeyValuePair 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++-- | Provides information about the tags that are associated with an S3+-- bucket or object. Each tag consists of a required tag key and an+-- associated tag value.+--+-- /See:/ 'newKeyValuePair' smart constructor.+data KeyValuePair = KeyValuePair'+ { -- | One part of a key-value pair that comprises a tag. A tag key is a+ -- general label that acts as a category for more specific tag values.+ key :: Prelude.Maybe Prelude.Text,+ -- | One part of a key-value pair that comprises a tag. A tag value acts as a+ -- descriptor for a tag key. A tag value can be an empty string.+ value :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'KeyValuePair' 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:+--+-- 'key', 'keyValuePair_key' - One part of a key-value pair that comprises a tag. A tag key is a+-- general label that acts as a category for more specific tag values.+--+-- 'value', 'keyValuePair_value' - One part of a key-value pair that comprises a tag. A tag value acts as a+-- descriptor for a tag key. A tag value can be an empty string.+newKeyValuePair ::+ KeyValuePair+newKeyValuePair =+ KeyValuePair'+ { key = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | One part of a key-value pair that comprises a tag. A tag key is a+-- general label that acts as a category for more specific tag values.+keyValuePair_key :: Lens.Lens' KeyValuePair (Prelude.Maybe Prelude.Text)+keyValuePair_key = Lens.lens (\KeyValuePair' {key} -> key) (\s@KeyValuePair' {} a -> s {key = a} :: KeyValuePair)++-- | One part of a key-value pair that comprises a tag. A tag value acts as a+-- descriptor for a tag key. A tag value can be an empty string.+keyValuePair_value :: Lens.Lens' KeyValuePair (Prelude.Maybe Prelude.Text)+keyValuePair_value = Lens.lens (\KeyValuePair' {value} -> value) (\s@KeyValuePair' {} a -> s {value = a} :: KeyValuePair)++instance Data.FromJSON KeyValuePair where+ parseJSON =+ Data.withObject+ "KeyValuePair"+ ( \x ->+ KeyValuePair'+ Prelude.<$> (x Data..:? "key")+ Prelude.<*> (x Data..:? "value")+ )++instance Prelude.Hashable KeyValuePair where+ hashWithSalt _salt KeyValuePair' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance Prelude.NFData KeyValuePair where+ rnf KeyValuePair' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/MacieV2/Types/LastRunErrorStatus.hs view
@@ -0,0 +1,96 @@+{-# 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.MacieV2.Types.LastRunErrorStatus+-- 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.MacieV2.Types.LastRunErrorStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.LastRunErrorStatusCode+import qualified Amazonka.Prelude as Prelude++-- | Specifies whether any account- or bucket-level access errors occurred+-- when a classification job ran. For information about using logging data+-- to investigate these errors, see+-- <https://docs.aws.amazon.com/macie/latest/user/discovery-jobs-monitor-cw-logs.html Monitoring sensitive data discovery jobs>+-- in the /Amazon Macie User Guide/.+--+-- /See:/ 'newLastRunErrorStatus' smart constructor.+data LastRunErrorStatus = LastRunErrorStatus'+ { -- | Specifies whether any account- or bucket-level access errors occurred+ -- when the job ran. For a recurring job, this value indicates the error+ -- status of the job\'s most recent run. Possible values are:+ --+ -- - ERROR - One or more errors occurred. Amazon Macie didn\'t process+ -- all the data specified for the job.+ --+ -- - NONE - No errors occurred. Macie processed all the data specified+ -- for the job.+ code :: Prelude.Maybe LastRunErrorStatusCode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LastRunErrorStatus' 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:+--+-- 'code', 'lastRunErrorStatus_code' - Specifies whether any account- or bucket-level access errors occurred+-- when the job ran. For a recurring job, this value indicates the error+-- status of the job\'s most recent run. Possible values are:+--+-- - ERROR - One or more errors occurred. Amazon Macie didn\'t process+-- all the data specified for the job.+--+-- - NONE - No errors occurred. Macie processed all the data specified+-- for the job.+newLastRunErrorStatus ::+ LastRunErrorStatus+newLastRunErrorStatus =+ LastRunErrorStatus' {code = Prelude.Nothing}++-- | Specifies whether any account- or bucket-level access errors occurred+-- when the job ran. For a recurring job, this value indicates the error+-- status of the job\'s most recent run. Possible values are:+--+-- - ERROR - One or more errors occurred. Amazon Macie didn\'t process+-- all the data specified for the job.+--+-- - NONE - No errors occurred. Macie processed all the data specified+-- for the job.+lastRunErrorStatus_code :: Lens.Lens' LastRunErrorStatus (Prelude.Maybe LastRunErrorStatusCode)+lastRunErrorStatus_code = Lens.lens (\LastRunErrorStatus' {code} -> code) (\s@LastRunErrorStatus' {} a -> s {code = a} :: LastRunErrorStatus)++instance Data.FromJSON LastRunErrorStatus where+ parseJSON =+ Data.withObject+ "LastRunErrorStatus"+ ( \x ->+ LastRunErrorStatus' Prelude.<$> (x Data..:? "code")+ )++instance Prelude.Hashable LastRunErrorStatus where+ hashWithSalt _salt LastRunErrorStatus' {..} =+ _salt `Prelude.hashWithSalt` code++instance Prelude.NFData LastRunErrorStatus where+ rnf LastRunErrorStatus' {..} = Prelude.rnf code
+ gen/Amazonka/MacieV2/Types/LastRunErrorStatusCode.hs view
@@ -0,0 +1,74 @@+{-# 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.MacieV2.Types.LastRunErrorStatusCode+-- 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.MacieV2.Types.LastRunErrorStatusCode+ ( LastRunErrorStatusCode+ ( ..,+ LastRunErrorStatusCode_ERROR,+ LastRunErrorStatusCode_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies whether any account- or bucket-level access errors occurred+-- during the run of a one-time classification job or the most recent run+-- of a recurring classification job. Possible values are:+newtype LastRunErrorStatusCode = LastRunErrorStatusCode'+ { fromLastRunErrorStatusCode ::+ 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 LastRunErrorStatusCode_ERROR :: LastRunErrorStatusCode+pattern LastRunErrorStatusCode_ERROR = LastRunErrorStatusCode' "ERROR"++pattern LastRunErrorStatusCode_NONE :: LastRunErrorStatusCode+pattern LastRunErrorStatusCode_NONE = LastRunErrorStatusCode' "NONE"++{-# COMPLETE+ LastRunErrorStatusCode_ERROR,+ LastRunErrorStatusCode_NONE,+ LastRunErrorStatusCode'+ #-}
+ gen/Amazonka/MacieV2/Types/ListJobsFilterCriteria.hs view
@@ -0,0 +1,91 @@+{-# 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.MacieV2.Types.ListJobsFilterCriteria+-- 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.MacieV2.Types.ListJobsFilterCriteria where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.ListJobsFilterTerm+import qualified Amazonka.Prelude as Prelude++-- | Specifies criteria for filtering the results of a request for+-- information about classification jobs.+--+-- /See:/ 'newListJobsFilterCriteria' smart constructor.+data ListJobsFilterCriteria = ListJobsFilterCriteria'+ { -- | An array of objects, one for each condition that determines which jobs+ -- to exclude from the results.+ excludes :: Prelude.Maybe [ListJobsFilterTerm],+ -- | An array of objects, one for each condition that determines which jobs+ -- to include in the results.+ includes :: Prelude.Maybe [ListJobsFilterTerm]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListJobsFilterCriteria' 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:+--+-- 'excludes', 'listJobsFilterCriteria_excludes' - An array of objects, one for each condition that determines which jobs+-- to exclude from the results.+--+-- 'includes', 'listJobsFilterCriteria_includes' - An array of objects, one for each condition that determines which jobs+-- to include in the results.+newListJobsFilterCriteria ::+ ListJobsFilterCriteria+newListJobsFilterCriteria =+ ListJobsFilterCriteria'+ { excludes = Prelude.Nothing,+ includes = Prelude.Nothing+ }++-- | An array of objects, one for each condition that determines which jobs+-- to exclude from the results.+listJobsFilterCriteria_excludes :: Lens.Lens' ListJobsFilterCriteria (Prelude.Maybe [ListJobsFilterTerm])+listJobsFilterCriteria_excludes = Lens.lens (\ListJobsFilterCriteria' {excludes} -> excludes) (\s@ListJobsFilterCriteria' {} a -> s {excludes = a} :: ListJobsFilterCriteria) Prelude.. Lens.mapping Lens.coerced++-- | An array of objects, one for each condition that determines which jobs+-- to include in the results.+listJobsFilterCriteria_includes :: Lens.Lens' ListJobsFilterCriteria (Prelude.Maybe [ListJobsFilterTerm])+listJobsFilterCriteria_includes = Lens.lens (\ListJobsFilterCriteria' {includes} -> includes) (\s@ListJobsFilterCriteria' {} a -> s {includes = a} :: ListJobsFilterCriteria) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable ListJobsFilterCriteria where+ hashWithSalt _salt ListJobsFilterCriteria' {..} =+ _salt+ `Prelude.hashWithSalt` excludes+ `Prelude.hashWithSalt` includes++instance Prelude.NFData ListJobsFilterCriteria where+ rnf ListJobsFilterCriteria' {..} =+ Prelude.rnf excludes+ `Prelude.seq` Prelude.rnf includes++instance Data.ToJSON ListJobsFilterCriteria where+ toJSON ListJobsFilterCriteria' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("excludes" Data..=) Prelude.<$> excludes,+ ("includes" Data..=) Prelude.<$> includes+ ]+ )
+ gen/Amazonka/MacieV2/Types/ListJobsFilterKey.hs view
@@ -0,0 +1,82 @@+{-# 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.MacieV2.Types.ListJobsFilterKey+-- 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.MacieV2.Types.ListJobsFilterKey+ ( ListJobsFilterKey+ ( ..,+ ListJobsFilterKey_CreatedAt,+ ListJobsFilterKey_JobStatus,+ ListJobsFilterKey_JobType,+ ListJobsFilterKey_Name+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The property to use to filter the results. Valid values are:+newtype ListJobsFilterKey = ListJobsFilterKey'+ { fromListJobsFilterKey ::+ 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 ListJobsFilterKey_CreatedAt :: ListJobsFilterKey+pattern ListJobsFilterKey_CreatedAt = ListJobsFilterKey' "createdAt"++pattern ListJobsFilterKey_JobStatus :: ListJobsFilterKey+pattern ListJobsFilterKey_JobStatus = ListJobsFilterKey' "jobStatus"++pattern ListJobsFilterKey_JobType :: ListJobsFilterKey+pattern ListJobsFilterKey_JobType = ListJobsFilterKey' "jobType"++pattern ListJobsFilterKey_Name :: ListJobsFilterKey+pattern ListJobsFilterKey_Name = ListJobsFilterKey' "name"++{-# COMPLETE+ ListJobsFilterKey_CreatedAt,+ ListJobsFilterKey_JobStatus,+ ListJobsFilterKey_JobType,+ ListJobsFilterKey_Name,+ ListJobsFilterKey'+ #-}
+ gen/Amazonka/MacieV2/Types/ListJobsFilterTerm.hs view
@@ -0,0 +1,99 @@+{-# 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.MacieV2.Types.ListJobsFilterTerm+-- 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.MacieV2.Types.ListJobsFilterTerm where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.JobComparator+import Amazonka.MacieV2.Types.ListJobsFilterKey+import qualified Amazonka.Prelude as Prelude++-- | Specifies a condition that filters the results of a request for+-- information about classification jobs. Each condition consists of a+-- property, an operator, and one or more values.+--+-- /See:/ 'newListJobsFilterTerm' smart constructor.+data ListJobsFilterTerm = ListJobsFilterTerm'+ { -- | The operator to use to filter the results.+ comparator :: Prelude.Maybe JobComparator,+ -- | The property to use to filter the results.+ key :: Prelude.Maybe ListJobsFilterKey,+ -- | An array that lists one or more values to use to filter the results.+ values :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListJobsFilterTerm' 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:+--+-- 'comparator', 'listJobsFilterTerm_comparator' - The operator to use to filter the results.+--+-- 'key', 'listJobsFilterTerm_key' - The property to use to filter the results.+--+-- 'values', 'listJobsFilterTerm_values' - An array that lists one or more values to use to filter the results.+newListJobsFilterTerm ::+ ListJobsFilterTerm+newListJobsFilterTerm =+ ListJobsFilterTerm'+ { comparator = Prelude.Nothing,+ key = Prelude.Nothing,+ values = Prelude.Nothing+ }++-- | The operator to use to filter the results.+listJobsFilterTerm_comparator :: Lens.Lens' ListJobsFilterTerm (Prelude.Maybe JobComparator)+listJobsFilterTerm_comparator = Lens.lens (\ListJobsFilterTerm' {comparator} -> comparator) (\s@ListJobsFilterTerm' {} a -> s {comparator = a} :: ListJobsFilterTerm)++-- | The property to use to filter the results.+listJobsFilterTerm_key :: Lens.Lens' ListJobsFilterTerm (Prelude.Maybe ListJobsFilterKey)+listJobsFilterTerm_key = Lens.lens (\ListJobsFilterTerm' {key} -> key) (\s@ListJobsFilterTerm' {} a -> s {key = a} :: ListJobsFilterTerm)++-- | An array that lists one or more values to use to filter the results.+listJobsFilterTerm_values :: Lens.Lens' ListJobsFilterTerm (Prelude.Maybe [Prelude.Text])+listJobsFilterTerm_values = Lens.lens (\ListJobsFilterTerm' {values} -> values) (\s@ListJobsFilterTerm' {} a -> s {values = a} :: ListJobsFilterTerm) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable ListJobsFilterTerm where+ hashWithSalt _salt ListJobsFilterTerm' {..} =+ _salt+ `Prelude.hashWithSalt` comparator+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` values++instance Prelude.NFData ListJobsFilterTerm where+ rnf ListJobsFilterTerm' {..} =+ Prelude.rnf comparator+ `Prelude.seq` Prelude.rnf key+ `Prelude.seq` Prelude.rnf values++instance Data.ToJSON ListJobsFilterTerm where+ toJSON ListJobsFilterTerm' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("comparator" Data..=) Prelude.<$> comparator,+ ("key" Data..=) Prelude.<$> key,+ ("values" Data..=) Prelude.<$> values+ ]+ )
+ gen/Amazonka/MacieV2/Types/ListJobsSortAttributeName.hs view
@@ -0,0 +1,82 @@+{-# 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.MacieV2.Types.ListJobsSortAttributeName+-- 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.MacieV2.Types.ListJobsSortAttributeName+ ( ListJobsSortAttributeName+ ( ..,+ ListJobsSortAttributeName_CreatedAt,+ ListJobsSortAttributeName_JobStatus,+ ListJobsSortAttributeName_JobType,+ ListJobsSortAttributeName_Name+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The property to sort the results by. Valid values are:+newtype ListJobsSortAttributeName = ListJobsSortAttributeName'+ { fromListJobsSortAttributeName ::+ 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 ListJobsSortAttributeName_CreatedAt :: ListJobsSortAttributeName+pattern ListJobsSortAttributeName_CreatedAt = ListJobsSortAttributeName' "createdAt"++pattern ListJobsSortAttributeName_JobStatus :: ListJobsSortAttributeName+pattern ListJobsSortAttributeName_JobStatus = ListJobsSortAttributeName' "jobStatus"++pattern ListJobsSortAttributeName_JobType :: ListJobsSortAttributeName+pattern ListJobsSortAttributeName_JobType = ListJobsSortAttributeName' "jobType"++pattern ListJobsSortAttributeName_Name :: ListJobsSortAttributeName+pattern ListJobsSortAttributeName_Name = ListJobsSortAttributeName' "name"++{-# COMPLETE+ ListJobsSortAttributeName_CreatedAt,+ ListJobsSortAttributeName_JobStatus,+ ListJobsSortAttributeName_JobType,+ ListJobsSortAttributeName_Name,+ ListJobsSortAttributeName'+ #-}
+ gen/Amazonka/MacieV2/Types/ListJobsSortCriteria.hs view
@@ -0,0 +1,96 @@+{-# 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.MacieV2.Types.ListJobsSortCriteria+-- 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.MacieV2.Types.ListJobsSortCriteria where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.ListJobsSortAttributeName+import Amazonka.MacieV2.Types.OrderBy+import qualified Amazonka.Prelude as Prelude++-- | Specifies criteria for sorting the results of a request for information+-- about classification jobs.+--+-- /See:/ 'newListJobsSortCriteria' smart constructor.+data ListJobsSortCriteria = ListJobsSortCriteria'+ { -- | The property to sort the results by.+ attributeName :: Prelude.Maybe ListJobsSortAttributeName,+ -- | The sort order to apply to the results, based on the value for the+ -- property specified by the attributeName property. Valid values are: ASC,+ -- sort the results in ascending order; and, DESC, sort the results in+ -- descending order.+ orderBy :: Prelude.Maybe OrderBy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListJobsSortCriteria' 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:+--+-- 'attributeName', 'listJobsSortCriteria_attributeName' - The property to sort the results by.+--+-- 'orderBy', 'listJobsSortCriteria_orderBy' - The sort order to apply to the results, based on the value for the+-- property specified by the attributeName property. Valid values are: ASC,+-- sort the results in ascending order; and, DESC, sort the results in+-- descending order.+newListJobsSortCriteria ::+ ListJobsSortCriteria+newListJobsSortCriteria =+ ListJobsSortCriteria'+ { attributeName =+ Prelude.Nothing,+ orderBy = Prelude.Nothing+ }++-- | The property to sort the results by.+listJobsSortCriteria_attributeName :: Lens.Lens' ListJobsSortCriteria (Prelude.Maybe ListJobsSortAttributeName)+listJobsSortCriteria_attributeName = Lens.lens (\ListJobsSortCriteria' {attributeName} -> attributeName) (\s@ListJobsSortCriteria' {} a -> s {attributeName = a} :: ListJobsSortCriteria)++-- | The sort order to apply to the results, based on the value for the+-- property specified by the attributeName property. Valid values are: ASC,+-- sort the results in ascending order; and, DESC, sort the results in+-- descending order.+listJobsSortCriteria_orderBy :: Lens.Lens' ListJobsSortCriteria (Prelude.Maybe OrderBy)+listJobsSortCriteria_orderBy = Lens.lens (\ListJobsSortCriteria' {orderBy} -> orderBy) (\s@ListJobsSortCriteria' {} a -> s {orderBy = a} :: ListJobsSortCriteria)++instance Prelude.Hashable ListJobsSortCriteria where+ hashWithSalt _salt ListJobsSortCriteria' {..} =+ _salt+ `Prelude.hashWithSalt` attributeName+ `Prelude.hashWithSalt` orderBy++instance Prelude.NFData ListJobsSortCriteria where+ rnf ListJobsSortCriteria' {..} =+ Prelude.rnf attributeName+ `Prelude.seq` Prelude.rnf orderBy++instance Data.ToJSON ListJobsSortCriteria where+ toJSON ListJobsSortCriteria' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("attributeName" Data..=) Prelude.<$> attributeName,+ ("orderBy" Data..=) Prelude.<$> orderBy+ ]+ )
+ gen/Amazonka/MacieV2/Types/MacieStatus.hs view
@@ -0,0 +1,72 @@+{-# 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.MacieV2.Types.MacieStatus+-- 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.MacieV2.Types.MacieStatus+ ( MacieStatus+ ( ..,+ MacieStatus_ENABLED,+ MacieStatus_PAUSED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The status of an Amazon Macie account. Valid values are:+newtype MacieStatus = MacieStatus'+ { fromMacieStatus ::+ 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 MacieStatus_ENABLED :: MacieStatus+pattern MacieStatus_ENABLED = MacieStatus' "ENABLED"++pattern MacieStatus_PAUSED :: MacieStatus+pattern MacieStatus_PAUSED = MacieStatus' "PAUSED"++{-# COMPLETE+ MacieStatus_ENABLED,+ MacieStatus_PAUSED,+ MacieStatus'+ #-}
+ gen/Amazonka/MacieV2/Types/ManagedDataIdentifierSelector.hs view
@@ -0,0 +1,83 @@+{-# 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.MacieV2.Types.ManagedDataIdentifierSelector+-- 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.MacieV2.Types.ManagedDataIdentifierSelector+ ( ManagedDataIdentifierSelector+ ( ..,+ ManagedDataIdentifierSelector_ALL,+ ManagedDataIdentifierSelector_EXCLUDE,+ ManagedDataIdentifierSelector_INCLUDE,+ ManagedDataIdentifierSelector_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The selection type that determines which managed data identifiers a+-- classification job uses to analyze data. Valid values are:+newtype ManagedDataIdentifierSelector = ManagedDataIdentifierSelector'+ { fromManagedDataIdentifierSelector ::+ 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 ManagedDataIdentifierSelector_ALL :: ManagedDataIdentifierSelector+pattern ManagedDataIdentifierSelector_ALL = ManagedDataIdentifierSelector' "ALL"++pattern ManagedDataIdentifierSelector_EXCLUDE :: ManagedDataIdentifierSelector+pattern ManagedDataIdentifierSelector_EXCLUDE = ManagedDataIdentifierSelector' "EXCLUDE"++pattern ManagedDataIdentifierSelector_INCLUDE :: ManagedDataIdentifierSelector+pattern ManagedDataIdentifierSelector_INCLUDE = ManagedDataIdentifierSelector' "INCLUDE"++pattern ManagedDataIdentifierSelector_NONE :: ManagedDataIdentifierSelector+pattern ManagedDataIdentifierSelector_NONE = ManagedDataIdentifierSelector' "NONE"++{-# COMPLETE+ ManagedDataIdentifierSelector_ALL,+ ManagedDataIdentifierSelector_EXCLUDE,+ ManagedDataIdentifierSelector_INCLUDE,+ ManagedDataIdentifierSelector_NONE,+ ManagedDataIdentifierSelector'+ #-}
+ gen/Amazonka/MacieV2/Types/ManagedDataIdentifierSummary.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.MacieV2.Types.ManagedDataIdentifierSummary+-- 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.MacieV2.Types.ManagedDataIdentifierSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.SensitiveDataItemCategory+import qualified Amazonka.Prelude as Prelude++-- | Provides information about a managed data identifier. For additional+-- information, see+-- <https://docs.aws.amazon.com/macie/latest/user/managed-data-identifiers.html Using managed data identifiers>+-- in the /Amazon Macie User Guide/.+--+-- /See:/ 'newManagedDataIdentifierSummary' smart constructor.+data ManagedDataIdentifierSummary = ManagedDataIdentifierSummary'+ { -- | The category of sensitive data that the managed data identifier detects:+ -- CREDENTIALS, for credentials data such as private keys or Amazon Web+ -- Services secret access keys; FINANCIAL_INFORMATION, for financial data+ -- such as credit card numbers; or, PERSONAL_INFORMATION, for personal+ -- health information, such as health insurance identification numbers, or+ -- personally identifiable information, such as passport numbers.+ category :: Prelude.Maybe SensitiveDataItemCategory,+ -- | The unique identifier for the managed data identifier. This is a string+ -- that describes the type of sensitive data that the managed data+ -- identifier detects. For example: OPENSSH_PRIVATE_KEY for OpenSSH private+ -- keys, CREDIT_CARD_NUMBER for credit card numbers, or USA_PASSPORT_NUMBER+ -- for US passport numbers.+ id :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ManagedDataIdentifierSummary' 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', 'managedDataIdentifierSummary_category' - The category of sensitive data that the managed data identifier detects:+-- CREDENTIALS, for credentials data such as private keys or Amazon Web+-- Services secret access keys; FINANCIAL_INFORMATION, for financial data+-- such as credit card numbers; or, PERSONAL_INFORMATION, for personal+-- health information, such as health insurance identification numbers, or+-- personally identifiable information, such as passport numbers.+--+-- 'id', 'managedDataIdentifierSummary_id' - The unique identifier for the managed data identifier. This is a string+-- that describes the type of sensitive data that the managed data+-- identifier detects. For example: OPENSSH_PRIVATE_KEY for OpenSSH private+-- keys, CREDIT_CARD_NUMBER for credit card numbers, or USA_PASSPORT_NUMBER+-- for US passport numbers.+newManagedDataIdentifierSummary ::+ ManagedDataIdentifierSummary+newManagedDataIdentifierSummary =+ ManagedDataIdentifierSummary'+ { category =+ Prelude.Nothing,+ id = Prelude.Nothing+ }++-- | The category of sensitive data that the managed data identifier detects:+-- CREDENTIALS, for credentials data such as private keys or Amazon Web+-- Services secret access keys; FINANCIAL_INFORMATION, for financial data+-- such as credit card numbers; or, PERSONAL_INFORMATION, for personal+-- health information, such as health insurance identification numbers, or+-- personally identifiable information, such as passport numbers.+managedDataIdentifierSummary_category :: Lens.Lens' ManagedDataIdentifierSummary (Prelude.Maybe SensitiveDataItemCategory)+managedDataIdentifierSummary_category = Lens.lens (\ManagedDataIdentifierSummary' {category} -> category) (\s@ManagedDataIdentifierSummary' {} a -> s {category = a} :: ManagedDataIdentifierSummary)++-- | The unique identifier for the managed data identifier. This is a string+-- that describes the type of sensitive data that the managed data+-- identifier detects. For example: OPENSSH_PRIVATE_KEY for OpenSSH private+-- keys, CREDIT_CARD_NUMBER for credit card numbers, or USA_PASSPORT_NUMBER+-- for US passport numbers.+managedDataIdentifierSummary_id :: Lens.Lens' ManagedDataIdentifierSummary (Prelude.Maybe Prelude.Text)+managedDataIdentifierSummary_id = Lens.lens (\ManagedDataIdentifierSummary' {id} -> id) (\s@ManagedDataIdentifierSummary' {} a -> s {id = a} :: ManagedDataIdentifierSummary)++instance Data.FromJSON ManagedDataIdentifierSummary where+ parseJSON =+ Data.withObject+ "ManagedDataIdentifierSummary"+ ( \x ->+ ManagedDataIdentifierSummary'+ Prelude.<$> (x Data..:? "category")+ Prelude.<*> (x Data..:? "id")+ )++instance+ Prelude.Hashable+ ManagedDataIdentifierSummary+ where+ hashWithSalt _salt ManagedDataIdentifierSummary' {..} =+ _salt+ `Prelude.hashWithSalt` category+ `Prelude.hashWithSalt` id++instance Prelude.NFData ManagedDataIdentifierSummary where+ rnf ManagedDataIdentifierSummary' {..} =+ Prelude.rnf category `Prelude.seq` Prelude.rnf id
+ gen/Amazonka/MacieV2/Types/MatchingBucket.hs view
@@ -0,0 +1,382 @@+{-# 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.MacieV2.Types.MatchingBucket+-- 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.MacieV2.Types.MatchingBucket where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.BucketMetadataErrorCode+import Amazonka.MacieV2.Types.JobDetails+import Amazonka.MacieV2.Types.ObjectCountByEncryptionType+import Amazonka.MacieV2.Types.ObjectLevelStatistics+import qualified Amazonka.Prelude as Prelude++-- | Provides statistical data and other information about an S3 bucket that+-- Amazon Macie monitors and analyzes for your account. If an error occurs+-- when Macie attempts to retrieve and process information about the bucket+-- or the bucket\'s objects, the value for most of these properties is+-- null. Key exceptions are accountId and bucketName. To identify the cause+-- of the error, refer to the errorCode and errorMessage values.+--+-- /See:/ 'newMatchingBucket' smart constructor.+data MatchingBucket = MatchingBucket'+ { -- | The unique identifier for the Amazon Web Services account that owns the+ -- bucket.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The name of the bucket.+ bucketName :: Prelude.Maybe Prelude.Text,+ -- | The total number of objects that Amazon Macie can analyze in the bucket.+ -- These objects use a supported storage class and have a file name+ -- extension for a supported file or storage format.+ classifiableObjectCount :: Prelude.Maybe Prelude.Integer,+ -- | The total storage size, in bytes, of the objects that Amazon Macie can+ -- analyze in the bucket. These objects use a supported storage class and+ -- have a file name extension for a supported file or storage format.+ --+ -- If versioning is enabled for the bucket, Macie calculates this value+ -- based on the size of the latest version of each applicable object in the+ -- bucket. This value doesn\'t reflect the storage size of all versions of+ -- each applicable object in the bucket.+ classifiableSizeInBytes :: Prelude.Maybe Prelude.Integer,+ -- | Specifies the error code for an error that prevented Amazon Macie from+ -- retrieving and processing information about the bucket and the bucket\'s+ -- objects. If this value is ACCESS_DENIED, Macie doesn\'t have permission+ -- to retrieve the information. For example, the bucket has a restrictive+ -- bucket policy and Amazon S3 denied the request. If this value is null,+ -- Macie was able to retrieve and process the information.+ errorCode :: Prelude.Maybe BucketMetadataErrorCode,+ -- | A brief description of the error (errorCode) that prevented Amazon Macie+ -- from retrieving and processing information about the bucket and the+ -- bucket\'s objects. This value is null if Macie was able to retrieve and+ -- process the information.+ errorMessage :: Prelude.Maybe Prelude.Text,+ -- | Specifies whether any one-time or recurring classification jobs are+ -- configured to analyze objects in the bucket, and, if so, the details of+ -- the job that ran most recently.+ jobDetails :: Prelude.Maybe JobDetails,+ -- | The date and time, in UTC and extended ISO 8601 format, when Amazon+ -- Macie most recently performed automated sensitive data discovery for the+ -- bucket. This value is null if automated sensitive data discovery is+ -- currently disabled for your account.+ lastAutomatedDiscoveryTime :: Prelude.Maybe Data.ISO8601,+ -- | The total number of objects in the bucket.+ objectCount :: Prelude.Maybe Prelude.Integer,+ -- | The total number of objects in the bucket, grouped by server-side+ -- encryption type. This includes a grouping that reports the total number+ -- of objects that aren\'t encrypted or use client-side encryption.+ objectCountByEncryptionType :: Prelude.Maybe ObjectCountByEncryptionType,+ -- | The current sensitivity score for the bucket, ranging from -1 (no+ -- analysis due to an error) to 100 (sensitive). This value is null if+ -- automated sensitive data discovery is currently disabled for your+ -- account.+ sensitivityScore :: Prelude.Maybe Prelude.Int,+ -- | The total storage size, in bytes, of the bucket.+ --+ -- If versioning is enabled for the bucket, Amazon Macie calculates this+ -- value based on the size of the latest version of each object in the+ -- bucket. This value doesn\'t reflect the storage size of all versions of+ -- each object in the bucket.+ sizeInBytes :: Prelude.Maybe Prelude.Integer,+ -- | The total storage size, in bytes, of the objects that are compressed+ -- (.gz, .gzip, .zip) files in the bucket.+ --+ -- If versioning is enabled for the bucket, Amazon Macie calculates this+ -- value based on the size of the latest version of each applicable object+ -- in the bucket. This value doesn\'t reflect the storage size of all+ -- versions of each applicable object in the bucket.+ sizeInBytesCompressed :: Prelude.Maybe Prelude.Integer,+ -- | The total number of objects that Amazon Macie can\'t analyze in the+ -- bucket. These objects don\'t use a supported storage class or don\'t+ -- have a file name extension for a supported file or storage format.+ unclassifiableObjectCount :: Prelude.Maybe ObjectLevelStatistics,+ -- | The total storage size, in bytes, of the objects that Amazon Macie+ -- can\'t analyze in the bucket. These objects don\'t use a supported+ -- storage class or don\'t have a file name extension for a supported file+ -- or storage format.+ unclassifiableObjectSizeInBytes :: Prelude.Maybe ObjectLevelStatistics+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MatchingBucket' 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:+--+-- 'accountId', 'matchingBucket_accountId' - The unique identifier for the Amazon Web Services account that owns the+-- bucket.+--+-- 'bucketName', 'matchingBucket_bucketName' - The name of the bucket.+--+-- 'classifiableObjectCount', 'matchingBucket_classifiableObjectCount' - The total number of objects that Amazon Macie can analyze in the bucket.+-- These objects use a supported storage class and have a file name+-- extension for a supported file or storage format.+--+-- 'classifiableSizeInBytes', 'matchingBucket_classifiableSizeInBytes' - The total storage size, in bytes, of the objects that Amazon Macie can+-- analyze in the bucket. These objects use a supported storage class and+-- have a file name extension for a supported file or storage format.+--+-- If versioning is enabled for the bucket, Macie calculates this value+-- based on the size of the latest version of each applicable object in the+-- bucket. This value doesn\'t reflect the storage size of all versions of+-- each applicable object in the bucket.+--+-- 'errorCode', 'matchingBucket_errorCode' - Specifies the error code for an error that prevented Amazon Macie from+-- retrieving and processing information about the bucket and the bucket\'s+-- objects. If this value is ACCESS_DENIED, Macie doesn\'t have permission+-- to retrieve the information. For example, the bucket has a restrictive+-- bucket policy and Amazon S3 denied the request. If this value is null,+-- Macie was able to retrieve and process the information.+--+-- 'errorMessage', 'matchingBucket_errorMessage' - A brief description of the error (errorCode) that prevented Amazon Macie+-- from retrieving and processing information about the bucket and the+-- bucket\'s objects. This value is null if Macie was able to retrieve and+-- process the information.+--+-- 'jobDetails', 'matchingBucket_jobDetails' - Specifies whether any one-time or recurring classification jobs are+-- configured to analyze objects in the bucket, and, if so, the details of+-- the job that ran most recently.+--+-- 'lastAutomatedDiscoveryTime', 'matchingBucket_lastAutomatedDiscoveryTime' - The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie most recently performed automated sensitive data discovery for the+-- bucket. This value is null if automated sensitive data discovery is+-- currently disabled for your account.+--+-- 'objectCount', 'matchingBucket_objectCount' - The total number of objects in the bucket.+--+-- 'objectCountByEncryptionType', 'matchingBucket_objectCountByEncryptionType' - The total number of objects in the bucket, grouped by server-side+-- encryption type. This includes a grouping that reports the total number+-- of objects that aren\'t encrypted or use client-side encryption.+--+-- 'sensitivityScore', 'matchingBucket_sensitivityScore' - The current sensitivity score for the bucket, ranging from -1 (no+-- analysis due to an error) to 100 (sensitive). This value is null if+-- automated sensitive data discovery is currently disabled for your+-- account.+--+-- 'sizeInBytes', 'matchingBucket_sizeInBytes' - The total storage size, in bytes, of the bucket.+--+-- If versioning is enabled for the bucket, Amazon Macie calculates this+-- value based on the size of the latest version of each object in the+-- bucket. This value doesn\'t reflect the storage size of all versions of+-- each object in the bucket.+--+-- 'sizeInBytesCompressed', 'matchingBucket_sizeInBytesCompressed' - The total storage size, in bytes, of the objects that are compressed+-- (.gz, .gzip, .zip) files in the bucket.+--+-- If versioning is enabled for the bucket, Amazon Macie calculates this+-- value based on the size of the latest version of each applicable object+-- in the bucket. This value doesn\'t reflect the storage size of all+-- versions of each applicable object in the bucket.+--+-- 'unclassifiableObjectCount', 'matchingBucket_unclassifiableObjectCount' - The total number of objects that Amazon Macie can\'t analyze in the+-- bucket. These objects don\'t use a supported storage class or don\'t+-- have a file name extension for a supported file or storage format.+--+-- 'unclassifiableObjectSizeInBytes', 'matchingBucket_unclassifiableObjectSizeInBytes' - The total storage size, in bytes, of the objects that Amazon Macie+-- can\'t analyze in the bucket. These objects don\'t use a supported+-- storage class or don\'t have a file name extension for a supported file+-- or storage format.+newMatchingBucket ::+ MatchingBucket+newMatchingBucket =+ MatchingBucket'+ { accountId = Prelude.Nothing,+ bucketName = Prelude.Nothing,+ classifiableObjectCount = Prelude.Nothing,+ classifiableSizeInBytes = Prelude.Nothing,+ errorCode = Prelude.Nothing,+ errorMessage = Prelude.Nothing,+ jobDetails = Prelude.Nothing,+ lastAutomatedDiscoveryTime = Prelude.Nothing,+ objectCount = Prelude.Nothing,+ objectCountByEncryptionType = Prelude.Nothing,+ sensitivityScore = Prelude.Nothing,+ sizeInBytes = Prelude.Nothing,+ sizeInBytesCompressed = Prelude.Nothing,+ unclassifiableObjectCount = Prelude.Nothing,+ unclassifiableObjectSizeInBytes = Prelude.Nothing+ }++-- | The unique identifier for the Amazon Web Services account that owns the+-- bucket.+matchingBucket_accountId :: Lens.Lens' MatchingBucket (Prelude.Maybe Prelude.Text)+matchingBucket_accountId = Lens.lens (\MatchingBucket' {accountId} -> accountId) (\s@MatchingBucket' {} a -> s {accountId = a} :: MatchingBucket)++-- | The name of the bucket.+matchingBucket_bucketName :: Lens.Lens' MatchingBucket (Prelude.Maybe Prelude.Text)+matchingBucket_bucketName = Lens.lens (\MatchingBucket' {bucketName} -> bucketName) (\s@MatchingBucket' {} a -> s {bucketName = a} :: MatchingBucket)++-- | The total number of objects that Amazon Macie can analyze in the bucket.+-- These objects use a supported storage class and have a file name+-- extension for a supported file or storage format.+matchingBucket_classifiableObjectCount :: Lens.Lens' MatchingBucket (Prelude.Maybe Prelude.Integer)+matchingBucket_classifiableObjectCount = Lens.lens (\MatchingBucket' {classifiableObjectCount} -> classifiableObjectCount) (\s@MatchingBucket' {} a -> s {classifiableObjectCount = a} :: MatchingBucket)++-- | The total storage size, in bytes, of the objects that Amazon Macie can+-- analyze in the bucket. These objects use a supported storage class and+-- have a file name extension for a supported file or storage format.+--+-- If versioning is enabled for the bucket, Macie calculates this value+-- based on the size of the latest version of each applicable object in the+-- bucket. This value doesn\'t reflect the storage size of all versions of+-- each applicable object in the bucket.+matchingBucket_classifiableSizeInBytes :: Lens.Lens' MatchingBucket (Prelude.Maybe Prelude.Integer)+matchingBucket_classifiableSizeInBytes = Lens.lens (\MatchingBucket' {classifiableSizeInBytes} -> classifiableSizeInBytes) (\s@MatchingBucket' {} a -> s {classifiableSizeInBytes = a} :: MatchingBucket)++-- | Specifies the error code for an error that prevented Amazon Macie from+-- retrieving and processing information about the bucket and the bucket\'s+-- objects. If this value is ACCESS_DENIED, Macie doesn\'t have permission+-- to retrieve the information. For example, the bucket has a restrictive+-- bucket policy and Amazon S3 denied the request. If this value is null,+-- Macie was able to retrieve and process the information.+matchingBucket_errorCode :: Lens.Lens' MatchingBucket (Prelude.Maybe BucketMetadataErrorCode)+matchingBucket_errorCode = Lens.lens (\MatchingBucket' {errorCode} -> errorCode) (\s@MatchingBucket' {} a -> s {errorCode = a} :: MatchingBucket)++-- | A brief description of the error (errorCode) that prevented Amazon Macie+-- from retrieving and processing information about the bucket and the+-- bucket\'s objects. This value is null if Macie was able to retrieve and+-- process the information.+matchingBucket_errorMessage :: Lens.Lens' MatchingBucket (Prelude.Maybe Prelude.Text)+matchingBucket_errorMessage = Lens.lens (\MatchingBucket' {errorMessage} -> errorMessage) (\s@MatchingBucket' {} a -> s {errorMessage = a} :: MatchingBucket)++-- | Specifies whether any one-time or recurring classification jobs are+-- configured to analyze objects in the bucket, and, if so, the details of+-- the job that ran most recently.+matchingBucket_jobDetails :: Lens.Lens' MatchingBucket (Prelude.Maybe JobDetails)+matchingBucket_jobDetails = Lens.lens (\MatchingBucket' {jobDetails} -> jobDetails) (\s@MatchingBucket' {} a -> s {jobDetails = a} :: MatchingBucket)++-- | The date and time, in UTC and extended ISO 8601 format, when Amazon+-- Macie most recently performed automated sensitive data discovery for the+-- bucket. This value is null if automated sensitive data discovery is+-- currently disabled for your account.+matchingBucket_lastAutomatedDiscoveryTime :: Lens.Lens' MatchingBucket (Prelude.Maybe Prelude.UTCTime)+matchingBucket_lastAutomatedDiscoveryTime = Lens.lens (\MatchingBucket' {lastAutomatedDiscoveryTime} -> lastAutomatedDiscoveryTime) (\s@MatchingBucket' {} a -> s {lastAutomatedDiscoveryTime = a} :: MatchingBucket) Prelude.. Lens.mapping Data._Time++-- | The total number of objects in the bucket.+matchingBucket_objectCount :: Lens.Lens' MatchingBucket (Prelude.Maybe Prelude.Integer)+matchingBucket_objectCount = Lens.lens (\MatchingBucket' {objectCount} -> objectCount) (\s@MatchingBucket' {} a -> s {objectCount = a} :: MatchingBucket)++-- | The total number of objects in the bucket, grouped by server-side+-- encryption type. This includes a grouping that reports the total number+-- of objects that aren\'t encrypted or use client-side encryption.+matchingBucket_objectCountByEncryptionType :: Lens.Lens' MatchingBucket (Prelude.Maybe ObjectCountByEncryptionType)+matchingBucket_objectCountByEncryptionType = Lens.lens (\MatchingBucket' {objectCountByEncryptionType} -> objectCountByEncryptionType) (\s@MatchingBucket' {} a -> s {objectCountByEncryptionType = a} :: MatchingBucket)++-- | The current sensitivity score for the bucket, ranging from -1 (no+-- analysis due to an error) to 100 (sensitive). This value is null if+-- automated sensitive data discovery is currently disabled for your+-- account.+matchingBucket_sensitivityScore :: Lens.Lens' MatchingBucket (Prelude.Maybe Prelude.Int)+matchingBucket_sensitivityScore = Lens.lens (\MatchingBucket' {sensitivityScore} -> sensitivityScore) (\s@MatchingBucket' {} a -> s {sensitivityScore = a} :: MatchingBucket)++-- | The total storage size, in bytes, of the bucket.+--+-- If versioning is enabled for the bucket, Amazon Macie calculates this+-- value based on the size of the latest version of each object in the+-- bucket. This value doesn\'t reflect the storage size of all versions of+-- each object in the bucket.+matchingBucket_sizeInBytes :: Lens.Lens' MatchingBucket (Prelude.Maybe Prelude.Integer)+matchingBucket_sizeInBytes = Lens.lens (\MatchingBucket' {sizeInBytes} -> sizeInBytes) (\s@MatchingBucket' {} a -> s {sizeInBytes = a} :: MatchingBucket)++-- | The total storage size, in bytes, of the objects that are compressed+-- (.gz, .gzip, .zip) files in the bucket.+--+-- If versioning is enabled for the bucket, Amazon Macie calculates this+-- value based on the size of the latest version of each applicable object+-- in the bucket. This value doesn\'t reflect the storage size of all+-- versions of each applicable object in the bucket.+matchingBucket_sizeInBytesCompressed :: Lens.Lens' MatchingBucket (Prelude.Maybe Prelude.Integer)+matchingBucket_sizeInBytesCompressed = Lens.lens (\MatchingBucket' {sizeInBytesCompressed} -> sizeInBytesCompressed) (\s@MatchingBucket' {} a -> s {sizeInBytesCompressed = a} :: MatchingBucket)++-- | The total number of objects that Amazon Macie can\'t analyze in the+-- bucket. These objects don\'t use a supported storage class or don\'t+-- have a file name extension for a supported file or storage format.+matchingBucket_unclassifiableObjectCount :: Lens.Lens' MatchingBucket (Prelude.Maybe ObjectLevelStatistics)+matchingBucket_unclassifiableObjectCount = Lens.lens (\MatchingBucket' {unclassifiableObjectCount} -> unclassifiableObjectCount) (\s@MatchingBucket' {} a -> s {unclassifiableObjectCount = a} :: MatchingBucket)++-- | The total storage size, in bytes, of the objects that Amazon Macie+-- can\'t analyze in the bucket. These objects don\'t use a supported+-- storage class or don\'t have a file name extension for a supported file+-- or storage format.+matchingBucket_unclassifiableObjectSizeInBytes :: Lens.Lens' MatchingBucket (Prelude.Maybe ObjectLevelStatistics)+matchingBucket_unclassifiableObjectSizeInBytes = Lens.lens (\MatchingBucket' {unclassifiableObjectSizeInBytes} -> unclassifiableObjectSizeInBytes) (\s@MatchingBucket' {} a -> s {unclassifiableObjectSizeInBytes = a} :: MatchingBucket)++instance Data.FromJSON MatchingBucket where+ parseJSON =+ Data.withObject+ "MatchingBucket"+ ( \x ->+ MatchingBucket'+ Prelude.<$> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "bucketName")+ Prelude.<*> (x Data..:? "classifiableObjectCount")+ Prelude.<*> (x Data..:? "classifiableSizeInBytes")+ Prelude.<*> (x Data..:? "errorCode")+ Prelude.<*> (x Data..:? "errorMessage")+ Prelude.<*> (x Data..:? "jobDetails")+ Prelude.<*> (x Data..:? "lastAutomatedDiscoveryTime")+ Prelude.<*> (x Data..:? "objectCount")+ Prelude.<*> (x Data..:? "objectCountByEncryptionType")+ Prelude.<*> (x Data..:? "sensitivityScore")+ Prelude.<*> (x Data..:? "sizeInBytes")+ Prelude.<*> (x Data..:? "sizeInBytesCompressed")+ Prelude.<*> (x Data..:? "unclassifiableObjectCount")+ Prelude.<*> (x Data..:? "unclassifiableObjectSizeInBytes")+ )++instance Prelude.Hashable MatchingBucket where+ hashWithSalt _salt MatchingBucket' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` bucketName+ `Prelude.hashWithSalt` classifiableObjectCount+ `Prelude.hashWithSalt` classifiableSizeInBytes+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage+ `Prelude.hashWithSalt` jobDetails+ `Prelude.hashWithSalt` lastAutomatedDiscoveryTime+ `Prelude.hashWithSalt` objectCount+ `Prelude.hashWithSalt` objectCountByEncryptionType+ `Prelude.hashWithSalt` sensitivityScore+ `Prelude.hashWithSalt` sizeInBytes+ `Prelude.hashWithSalt` sizeInBytesCompressed+ `Prelude.hashWithSalt` unclassifiableObjectCount+ `Prelude.hashWithSalt` unclassifiableObjectSizeInBytes++instance Prelude.NFData MatchingBucket where+ rnf MatchingBucket' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf bucketName+ `Prelude.seq` Prelude.rnf classifiableObjectCount+ `Prelude.seq` Prelude.rnf classifiableSizeInBytes+ `Prelude.seq` Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage+ `Prelude.seq` Prelude.rnf jobDetails+ `Prelude.seq` Prelude.rnf lastAutomatedDiscoveryTime+ `Prelude.seq` Prelude.rnf objectCount+ `Prelude.seq` Prelude.rnf objectCountByEncryptionType+ `Prelude.seq` Prelude.rnf sensitivityScore+ `Prelude.seq` Prelude.rnf sizeInBytes+ `Prelude.seq` Prelude.rnf sizeInBytesCompressed+ `Prelude.seq` Prelude.rnf unclassifiableObjectCount+ `Prelude.seq` Prelude.rnf+ unclassifiableObjectSizeInBytes
+ gen/Amazonka/MacieV2/Types/MatchingResource.hs view
@@ -0,0 +1,72 @@+{-# 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.MacieV2.Types.MatchingResource+-- 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.MacieV2.Types.MatchingResource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.MatchingBucket+import qualified Amazonka.Prelude as Prelude++-- | Provides statistical data and other information about an Amazon Web+-- Services resource that Amazon Macie monitors and analyzes for your+-- account.+--+-- /See:/ 'newMatchingResource' smart constructor.+data MatchingResource = MatchingResource'+ { -- | The details of an S3 bucket that Amazon Macie monitors and analyzes.+ matchingBucket :: Prelude.Maybe MatchingBucket+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MatchingResource' 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:+--+-- 'matchingBucket', 'matchingResource_matchingBucket' - The details of an S3 bucket that Amazon Macie monitors and analyzes.+newMatchingResource ::+ MatchingResource+newMatchingResource =+ MatchingResource' {matchingBucket = Prelude.Nothing}++-- | The details of an S3 bucket that Amazon Macie monitors and analyzes.+matchingResource_matchingBucket :: Lens.Lens' MatchingResource (Prelude.Maybe MatchingBucket)+matchingResource_matchingBucket = Lens.lens (\MatchingResource' {matchingBucket} -> matchingBucket) (\s@MatchingResource' {} a -> s {matchingBucket = a} :: MatchingResource)++instance Data.FromJSON MatchingResource where+ parseJSON =+ Data.withObject+ "MatchingResource"+ ( \x ->+ MatchingResource'+ Prelude.<$> (x Data..:? "matchingBucket")+ )++instance Prelude.Hashable MatchingResource where+ hashWithSalt _salt MatchingResource' {..} =+ _salt `Prelude.hashWithSalt` matchingBucket++instance Prelude.NFData MatchingResource where+ rnf MatchingResource' {..} =+ Prelude.rnf matchingBucket
+ gen/Amazonka/MacieV2/Types/Member.hs view
@@ -0,0 +1,194 @@+{-# 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.MacieV2.Types.Member+-- 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.MacieV2.Types.Member where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.RelationshipStatus+import qualified Amazonka.Prelude as Prelude++-- | Provides information about an account that\'s associated with an Amazon+-- Macie administrator account.+--+-- /See:/ 'newMember' smart constructor.+data Member = Member'+ { -- | The Amazon Web Services account ID for the account.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Web Services account ID for the administrator account.+ administratorAccountId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the account.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The email address for the account.+ email :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when an Amazon+ -- Macie membership invitation was last sent to the account. This value is+ -- null if an invitation hasn\'t been sent to the account.+ invitedAt :: Prelude.Maybe Data.ISO8601,+ -- | (Deprecated) The Amazon Web Services account ID for the administrator+ -- account. This property has been replaced by the administratorAccountId+ -- property and is retained only for backward compatibility.+ masterAccountId :: Prelude.Maybe Prelude.Text,+ -- | The current status of the relationship between the account and the+ -- administrator account.+ relationshipStatus :: Prelude.Maybe RelationshipStatus,+ -- | A map of key-value pairs that specifies which tags (keys and values) are+ -- associated with the account in Amazon Macie.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The date and time, in UTC and extended ISO 8601 format, of the most+ -- recent change to the status of the relationship between the account and+ -- the administrator account.+ updatedAt :: Prelude.Maybe Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Member' 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:+--+-- 'accountId', 'member_accountId' - The Amazon Web Services account ID for the account.+--+-- 'administratorAccountId', 'member_administratorAccountId' - The Amazon Web Services account ID for the administrator account.+--+-- 'arn', 'member_arn' - The Amazon Resource Name (ARN) of the account.+--+-- 'email', 'member_email' - The email address for the account.+--+-- 'invitedAt', 'member_invitedAt' - The date and time, in UTC and extended ISO 8601 format, when an Amazon+-- Macie membership invitation was last sent to the account. This value is+-- null if an invitation hasn\'t been sent to the account.+--+-- 'masterAccountId', 'member_masterAccountId' - (Deprecated) The Amazon Web Services account ID for the administrator+-- account. This property has been replaced by the administratorAccountId+-- property and is retained only for backward compatibility.+--+-- 'relationshipStatus', 'member_relationshipStatus' - The current status of the relationship between the account and the+-- administrator account.+--+-- 'tags', 'member_tags' - A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the account in Amazon Macie.+--+-- 'updatedAt', 'member_updatedAt' - The date and time, in UTC and extended ISO 8601 format, of the most+-- recent change to the status of the relationship between the account and+-- the administrator account.+newMember ::+ Member+newMember =+ Member'+ { accountId = Prelude.Nothing,+ administratorAccountId = Prelude.Nothing,+ arn = Prelude.Nothing,+ email = Prelude.Nothing,+ invitedAt = Prelude.Nothing,+ masterAccountId = Prelude.Nothing,+ relationshipStatus = Prelude.Nothing,+ tags = Prelude.Nothing,+ updatedAt = Prelude.Nothing+ }++-- | The Amazon Web Services account ID for the account.+member_accountId :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_accountId = Lens.lens (\Member' {accountId} -> accountId) (\s@Member' {} a -> s {accountId = a} :: Member)++-- | The Amazon Web Services account ID for the administrator account.+member_administratorAccountId :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_administratorAccountId = Lens.lens (\Member' {administratorAccountId} -> administratorAccountId) (\s@Member' {} a -> s {administratorAccountId = a} :: Member)++-- | The Amazon Resource Name (ARN) of the account.+member_arn :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_arn = Lens.lens (\Member' {arn} -> arn) (\s@Member' {} a -> s {arn = a} :: Member)++-- | The email address for the account.+member_email :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_email = Lens.lens (\Member' {email} -> email) (\s@Member' {} a -> s {email = a} :: Member)++-- | The date and time, in UTC and extended ISO 8601 format, when an Amazon+-- Macie membership invitation was last sent to the account. This value is+-- null if an invitation hasn\'t been sent to the account.+member_invitedAt :: Lens.Lens' Member (Prelude.Maybe Prelude.UTCTime)+member_invitedAt = Lens.lens (\Member' {invitedAt} -> invitedAt) (\s@Member' {} a -> s {invitedAt = a} :: Member) Prelude.. Lens.mapping Data._Time++-- | (Deprecated) The Amazon Web Services account ID for the administrator+-- account. This property has been replaced by the administratorAccountId+-- property and is retained only for backward compatibility.+member_masterAccountId :: Lens.Lens' Member (Prelude.Maybe Prelude.Text)+member_masterAccountId = Lens.lens (\Member' {masterAccountId} -> masterAccountId) (\s@Member' {} a -> s {masterAccountId = a} :: Member)++-- | The current status of the relationship between the account and the+-- administrator account.+member_relationshipStatus :: Lens.Lens' Member (Prelude.Maybe RelationshipStatus)+member_relationshipStatus = Lens.lens (\Member' {relationshipStatus} -> relationshipStatus) (\s@Member' {} a -> s {relationshipStatus = a} :: Member)++-- | A map of key-value pairs that specifies which tags (keys and values) are+-- associated with the account in Amazon Macie.+member_tags :: Lens.Lens' Member (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+member_tags = Lens.lens (\Member' {tags} -> tags) (\s@Member' {} a -> s {tags = a} :: Member) Prelude.. Lens.mapping Lens.coerced++-- | The date and time, in UTC and extended ISO 8601 format, of the most+-- recent change to the status of the relationship between the account and+-- the administrator account.+member_updatedAt :: Lens.Lens' Member (Prelude.Maybe Prelude.UTCTime)+member_updatedAt = Lens.lens (\Member' {updatedAt} -> updatedAt) (\s@Member' {} a -> s {updatedAt = a} :: Member) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON Member where+ parseJSON =+ Data.withObject+ "Member"+ ( \x ->+ Member'+ Prelude.<$> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "administratorAccountId")+ Prelude.<*> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "email")+ Prelude.<*> (x Data..:? "invitedAt")+ Prelude.<*> (x Data..:? "masterAccountId")+ Prelude.<*> (x Data..:? "relationshipStatus")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "updatedAt")+ )++instance Prelude.Hashable Member where+ hashWithSalt _salt Member' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` administratorAccountId+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` email+ `Prelude.hashWithSalt` invitedAt+ `Prelude.hashWithSalt` masterAccountId+ `Prelude.hashWithSalt` relationshipStatus+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData Member where+ rnf Member' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf administratorAccountId+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf email+ `Prelude.seq` Prelude.rnf invitedAt+ `Prelude.seq` Prelude.rnf masterAccountId+ `Prelude.seq` Prelude.rnf relationshipStatus+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/MacieV2/Types/MonthlySchedule.hs view
@@ -0,0 +1,96 @@+{-# 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.MacieV2.Types.MonthlySchedule+-- 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.MacieV2.Types.MonthlySchedule 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++-- | Specifies a monthly recurrence pattern for running a classification job.+--+-- /See:/ 'newMonthlySchedule' smart constructor.+data MonthlySchedule = MonthlySchedule'+ { -- | The numeric day of the month when Amazon Macie runs the job. This value+ -- can be an integer from 1 through 31.+ --+ -- If this value exceeds the number of days in a certain month, Macie+ -- doesn\'t run the job that month. Macie runs the job only during months+ -- that have the specified day. For example, if this value is 31 and a+ -- month has only 30 days, Macie doesn\'t run the job that month. To run+ -- the job every month, specify a value that\'s less than 29.+ dayOfMonth :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MonthlySchedule' 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:+--+-- 'dayOfMonth', 'monthlySchedule_dayOfMonth' - The numeric day of the month when Amazon Macie runs the job. This value+-- can be an integer from 1 through 31.+--+-- If this value exceeds the number of days in a certain month, Macie+-- doesn\'t run the job that month. Macie runs the job only during months+-- that have the specified day. For example, if this value is 31 and a+-- month has only 30 days, Macie doesn\'t run the job that month. To run+-- the job every month, specify a value that\'s less than 29.+newMonthlySchedule ::+ MonthlySchedule+newMonthlySchedule =+ MonthlySchedule' {dayOfMonth = Prelude.Nothing}++-- | The numeric day of the month when Amazon Macie runs the job. This value+-- can be an integer from 1 through 31.+--+-- If this value exceeds the number of days in a certain month, Macie+-- doesn\'t run the job that month. Macie runs the job only during months+-- that have the specified day. For example, if this value is 31 and a+-- month has only 30 days, Macie doesn\'t run the job that month. To run+-- the job every month, specify a value that\'s less than 29.+monthlySchedule_dayOfMonth :: Lens.Lens' MonthlySchedule (Prelude.Maybe Prelude.Int)+monthlySchedule_dayOfMonth = Lens.lens (\MonthlySchedule' {dayOfMonth} -> dayOfMonth) (\s@MonthlySchedule' {} a -> s {dayOfMonth = a} :: MonthlySchedule)++instance Data.FromJSON MonthlySchedule where+ parseJSON =+ Data.withObject+ "MonthlySchedule"+ ( \x ->+ MonthlySchedule'+ Prelude.<$> (x Data..:? "dayOfMonth")+ )++instance Prelude.Hashable MonthlySchedule where+ hashWithSalt _salt MonthlySchedule' {..} =+ _salt `Prelude.hashWithSalt` dayOfMonth++instance Prelude.NFData MonthlySchedule where+ rnf MonthlySchedule' {..} = Prelude.rnf dayOfMonth++instance Data.ToJSON MonthlySchedule where+ toJSON MonthlySchedule' {..} =+ Data.object+ ( Prelude.catMaybes+ [("dayOfMonth" Data..=) Prelude.<$> dayOfMonth]+ )
+ gen/Amazonka/MacieV2/Types/ObjectCountByEncryptionType.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.MacieV2.Types.ObjectCountByEncryptionType+-- 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.MacieV2.Types.ObjectCountByEncryptionType 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++-- | Provides information about the number of objects that are in an S3+-- bucket and use certain types of server-side encryption, use client-side+-- encryption, or aren\'t encrypted.+--+-- /See:/ 'newObjectCountByEncryptionType' smart constructor.+data ObjectCountByEncryptionType = ObjectCountByEncryptionType'+ { -- | The total number of objects that are encrypted with a customer-provided+ -- key. The objects use customer-provided server-side encryption (SSE-C).+ customerManaged :: Prelude.Maybe Prelude.Integer,+ -- | The total number of objects that are encrypted with an KMS key, either+ -- an Amazon Web Services managed key or a customer managed key. The+ -- objects use KMS encryption (SSE-KMS).+ kmsManaged :: Prelude.Maybe Prelude.Integer,+ -- | The total number of objects that are encrypted with an Amazon S3 managed+ -- key. The objects use Amazon S3 managed encryption (SSE-S3).+ s3Managed :: Prelude.Maybe Prelude.Integer,+ -- | The total number of objects that aren\'t encrypted or use client-side+ -- encryption.+ unencrypted :: Prelude.Maybe Prelude.Integer,+ -- | The total number of objects that Amazon Macie doesn\'t have current+ -- encryption metadata for. Macie can\'t provide current data about the+ -- encryption settings for these objects.+ unknown :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ObjectCountByEncryptionType' 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:+--+-- 'customerManaged', 'objectCountByEncryptionType_customerManaged' - The total number of objects that are encrypted with a customer-provided+-- key. The objects use customer-provided server-side encryption (SSE-C).+--+-- 'kmsManaged', 'objectCountByEncryptionType_kmsManaged' - The total number of objects that are encrypted with an KMS key, either+-- an Amazon Web Services managed key or a customer managed key. The+-- objects use KMS encryption (SSE-KMS).+--+-- 's3Managed', 'objectCountByEncryptionType_s3Managed' - The total number of objects that are encrypted with an Amazon S3 managed+-- key. The objects use Amazon S3 managed encryption (SSE-S3).+--+-- 'unencrypted', 'objectCountByEncryptionType_unencrypted' - The total number of objects that aren\'t encrypted or use client-side+-- encryption.+--+-- 'unknown', 'objectCountByEncryptionType_unknown' - The total number of objects that Amazon Macie doesn\'t have current+-- encryption metadata for. Macie can\'t provide current data about the+-- encryption settings for these objects.+newObjectCountByEncryptionType ::+ ObjectCountByEncryptionType+newObjectCountByEncryptionType =+ ObjectCountByEncryptionType'+ { customerManaged =+ Prelude.Nothing,+ kmsManaged = Prelude.Nothing,+ s3Managed = Prelude.Nothing,+ unencrypted = Prelude.Nothing,+ unknown = Prelude.Nothing+ }++-- | The total number of objects that are encrypted with a customer-provided+-- key. The objects use customer-provided server-side encryption (SSE-C).+objectCountByEncryptionType_customerManaged :: Lens.Lens' ObjectCountByEncryptionType (Prelude.Maybe Prelude.Integer)+objectCountByEncryptionType_customerManaged = Lens.lens (\ObjectCountByEncryptionType' {customerManaged} -> customerManaged) (\s@ObjectCountByEncryptionType' {} a -> s {customerManaged = a} :: ObjectCountByEncryptionType)++-- | The total number of objects that are encrypted with an KMS key, either+-- an Amazon Web Services managed key or a customer managed key. The+-- objects use KMS encryption (SSE-KMS).+objectCountByEncryptionType_kmsManaged :: Lens.Lens' ObjectCountByEncryptionType (Prelude.Maybe Prelude.Integer)+objectCountByEncryptionType_kmsManaged = Lens.lens (\ObjectCountByEncryptionType' {kmsManaged} -> kmsManaged) (\s@ObjectCountByEncryptionType' {} a -> s {kmsManaged = a} :: ObjectCountByEncryptionType)++-- | The total number of objects that are encrypted with an Amazon S3 managed+-- key. The objects use Amazon S3 managed encryption (SSE-S3).+objectCountByEncryptionType_s3Managed :: Lens.Lens' ObjectCountByEncryptionType (Prelude.Maybe Prelude.Integer)+objectCountByEncryptionType_s3Managed = Lens.lens (\ObjectCountByEncryptionType' {s3Managed} -> s3Managed) (\s@ObjectCountByEncryptionType' {} a -> s {s3Managed = a} :: ObjectCountByEncryptionType)++-- | The total number of objects that aren\'t encrypted or use client-side+-- encryption.+objectCountByEncryptionType_unencrypted :: Lens.Lens' ObjectCountByEncryptionType (Prelude.Maybe Prelude.Integer)+objectCountByEncryptionType_unencrypted = Lens.lens (\ObjectCountByEncryptionType' {unencrypted} -> unencrypted) (\s@ObjectCountByEncryptionType' {} a -> s {unencrypted = a} :: ObjectCountByEncryptionType)++-- | The total number of objects that Amazon Macie doesn\'t have current+-- encryption metadata for. Macie can\'t provide current data about the+-- encryption settings for these objects.+objectCountByEncryptionType_unknown :: Lens.Lens' ObjectCountByEncryptionType (Prelude.Maybe Prelude.Integer)+objectCountByEncryptionType_unknown = Lens.lens (\ObjectCountByEncryptionType' {unknown} -> unknown) (\s@ObjectCountByEncryptionType' {} a -> s {unknown = a} :: ObjectCountByEncryptionType)++instance Data.FromJSON ObjectCountByEncryptionType where+ parseJSON =+ Data.withObject+ "ObjectCountByEncryptionType"+ ( \x ->+ ObjectCountByEncryptionType'+ Prelude.<$> (x Data..:? "customerManaged")+ Prelude.<*> (x Data..:? "kmsManaged")+ Prelude.<*> (x Data..:? "s3Managed")+ Prelude.<*> (x Data..:? "unencrypted")+ Prelude.<*> (x Data..:? "unknown")+ )++instance Prelude.Hashable ObjectCountByEncryptionType where+ hashWithSalt _salt ObjectCountByEncryptionType' {..} =+ _salt+ `Prelude.hashWithSalt` customerManaged+ `Prelude.hashWithSalt` kmsManaged+ `Prelude.hashWithSalt` s3Managed+ `Prelude.hashWithSalt` unencrypted+ `Prelude.hashWithSalt` unknown++instance Prelude.NFData ObjectCountByEncryptionType where+ rnf ObjectCountByEncryptionType' {..} =+ Prelude.rnf customerManaged+ `Prelude.seq` Prelude.rnf kmsManaged+ `Prelude.seq` Prelude.rnf s3Managed+ `Prelude.seq` Prelude.rnf unencrypted+ `Prelude.seq` Prelude.rnf unknown
+ gen/Amazonka/MacieV2/Types/ObjectLevelStatistics.hs view
@@ -0,0 +1,120 @@+{-# 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.MacieV2.Types.ObjectLevelStatistics+-- 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.MacieV2.Types.ObjectLevelStatistics 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++-- | Provides information about the total storage size (in bytes) or number+-- of objects that Amazon Macie can\'t analyze in one or more S3 buckets.+-- In a BucketMetadata or MatchingBucket object, this data is for a+-- specific bucket. In a GetBucketStatisticsResponse object, this data is+-- aggregated for all the buckets in the query results. If versioning is+-- enabled for a bucket, storage size values are based on the size of the+-- latest version of each applicable object in the bucket.+--+-- /See:/ 'newObjectLevelStatistics' smart constructor.+data ObjectLevelStatistics = ObjectLevelStatistics'+ { -- | The total storage size (in bytes) or number of objects that Amazon Macie+ -- can\'t analyze because the objects don\'t have a file name extension for+ -- a supported file or storage format.+ fileType :: Prelude.Maybe Prelude.Integer,+ -- | The total storage size (in bytes) or number of objects that Amazon Macie+ -- can\'t analyze because the objects use an unsupported storage class.+ storageClass :: Prelude.Maybe Prelude.Integer,+ -- | The total storage size (in bytes) or number of objects that Amazon Macie+ -- can\'t analyze because the objects use an unsupported storage class or+ -- don\'t have a file name extension for a supported file or storage+ -- format.+ total :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ObjectLevelStatistics' 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:+--+-- 'fileType', 'objectLevelStatistics_fileType' - The total storage size (in bytes) or number of objects that Amazon Macie+-- can\'t analyze because the objects don\'t have a file name extension for+-- a supported file or storage format.+--+-- 'storageClass', 'objectLevelStatistics_storageClass' - The total storage size (in bytes) or number of objects that Amazon Macie+-- can\'t analyze because the objects use an unsupported storage class.+--+-- 'total', 'objectLevelStatistics_total' - The total storage size (in bytes) or number of objects that Amazon Macie+-- can\'t analyze because the objects use an unsupported storage class or+-- don\'t have a file name extension for a supported file or storage+-- format.+newObjectLevelStatistics ::+ ObjectLevelStatistics+newObjectLevelStatistics =+ ObjectLevelStatistics'+ { fileType = Prelude.Nothing,+ storageClass = Prelude.Nothing,+ total = Prelude.Nothing+ }++-- | The total storage size (in bytes) or number of objects that Amazon Macie+-- can\'t analyze because the objects don\'t have a file name extension for+-- a supported file or storage format.+objectLevelStatistics_fileType :: Lens.Lens' ObjectLevelStatistics (Prelude.Maybe Prelude.Integer)+objectLevelStatistics_fileType = Lens.lens (\ObjectLevelStatistics' {fileType} -> fileType) (\s@ObjectLevelStatistics' {} a -> s {fileType = a} :: ObjectLevelStatistics)++-- | The total storage size (in bytes) or number of objects that Amazon Macie+-- can\'t analyze because the objects use an unsupported storage class.+objectLevelStatistics_storageClass :: Lens.Lens' ObjectLevelStatistics (Prelude.Maybe Prelude.Integer)+objectLevelStatistics_storageClass = Lens.lens (\ObjectLevelStatistics' {storageClass} -> storageClass) (\s@ObjectLevelStatistics' {} a -> s {storageClass = a} :: ObjectLevelStatistics)++-- | The total storage size (in bytes) or number of objects that Amazon Macie+-- can\'t analyze because the objects use an unsupported storage class or+-- don\'t have a file name extension for a supported file or storage+-- format.+objectLevelStatistics_total :: Lens.Lens' ObjectLevelStatistics (Prelude.Maybe Prelude.Integer)+objectLevelStatistics_total = Lens.lens (\ObjectLevelStatistics' {total} -> total) (\s@ObjectLevelStatistics' {} a -> s {total = a} :: ObjectLevelStatistics)++instance Data.FromJSON ObjectLevelStatistics where+ parseJSON =+ Data.withObject+ "ObjectLevelStatistics"+ ( \x ->+ ObjectLevelStatistics'+ Prelude.<$> (x Data..:? "fileType")+ Prelude.<*> (x Data..:? "storageClass")+ Prelude.<*> (x Data..:? "total")+ )++instance Prelude.Hashable ObjectLevelStatistics where+ hashWithSalt _salt ObjectLevelStatistics' {..} =+ _salt+ `Prelude.hashWithSalt` fileType+ `Prelude.hashWithSalt` storageClass+ `Prelude.hashWithSalt` total++instance Prelude.NFData ObjectLevelStatistics where+ rnf ObjectLevelStatistics' {..} =+ Prelude.rnf fileType+ `Prelude.seq` Prelude.rnf storageClass+ `Prelude.seq` Prelude.rnf total
+ gen/Amazonka/MacieV2/Types/Occurrences.hs view
@@ -0,0 +1,213 @@+{-# 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.MacieV2.Types.Occurrences+-- 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.MacieV2.Types.Occurrences where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.Cell+import Amazonka.MacieV2.Types.Page+import Amazonka.MacieV2.Types.Range+import Amazonka.MacieV2.Types.Record+import qualified Amazonka.Prelude as Prelude++-- | Specifies the location of 1-15 occurrences of sensitive data that was+-- detected by a managed data identifier or a custom data identifier and+-- produced a sensitive data finding.+--+-- /See:/ 'newOccurrences' smart constructor.+data Occurrences = Occurrences'+ { -- | An array of objects, one for each occurrence of sensitive data in a+ -- Microsoft Excel workbook, CSV file, or TSV file. This value is null for+ -- all other types of files.+ --+ -- Each Cell object specifies a cell or field that contains the sensitive+ -- data.+ cells :: Prelude.Maybe [Cell],+ -- | An array of objects, one for each occurrence of sensitive data in a+ -- non-binary text file, such as an HTML, TXT, or XML file. Each Range+ -- object specifies a line or inclusive range of lines that contains the+ -- sensitive data, and the position of the data on the specified line or+ -- lines.+ --+ -- This value is often null for file types that are supported by Cell,+ -- Page, or Record objects. Exceptions are the location of sensitive data+ -- in: unstructured sections of an otherwise structured file, such as a+ -- comment in a file; a malformed file that Amazon Macie analyzes as plain+ -- text; and, a CSV or TSV file that has any column names that contain+ -- sensitive data.+ lineRanges :: Prelude.Maybe [Range],+ -- | Reserved for future use.+ offsetRanges :: Prelude.Maybe [Range],+ -- | An array of objects, one for each occurrence of sensitive data in an+ -- Adobe Portable Document Format file. This value is null for all other+ -- types of files.+ --+ -- Each Page object specifies a page that contains the sensitive data.+ pages :: Prelude.Maybe [Page],+ -- | An array of objects, one for each occurrence of sensitive data in an+ -- Apache Avro object container, Apache Parquet file, JSON file, or JSON+ -- Lines file. This value is null for all other types of files.+ --+ -- For an Avro object container or Parquet file, each Record object+ -- specifies a record index and the path to a field in a record that+ -- contains the sensitive data. For a JSON or JSON Lines file, each Record+ -- object specifies the path to a field or array that contains the+ -- sensitive data. For a JSON Lines file, it also specifies the index of+ -- the line that contains the data.+ records :: Prelude.Maybe [Record]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Occurrences' 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:+--+-- 'cells', 'occurrences_cells' - An array of objects, one for each occurrence of sensitive data in a+-- Microsoft Excel workbook, CSV file, or TSV file. This value is null for+-- all other types of files.+--+-- Each Cell object specifies a cell or field that contains the sensitive+-- data.+--+-- 'lineRanges', 'occurrences_lineRanges' - An array of objects, one for each occurrence of sensitive data in a+-- non-binary text file, such as an HTML, TXT, or XML file. Each Range+-- object specifies a line or inclusive range of lines that contains the+-- sensitive data, and the position of the data on the specified line or+-- lines.+--+-- This value is often null for file types that are supported by Cell,+-- Page, or Record objects. Exceptions are the location of sensitive data+-- in: unstructured sections of an otherwise structured file, such as a+-- comment in a file; a malformed file that Amazon Macie analyzes as plain+-- text; and, a CSV or TSV file that has any column names that contain+-- sensitive data.+--+-- 'offsetRanges', 'occurrences_offsetRanges' - Reserved for future use.+--+-- 'pages', 'occurrences_pages' - An array of objects, one for each occurrence of sensitive data in an+-- Adobe Portable Document Format file. This value is null for all other+-- types of files.+--+-- Each Page object specifies a page that contains the sensitive data.+--+-- 'records', 'occurrences_records' - An array of objects, one for each occurrence of sensitive data in an+-- Apache Avro object container, Apache Parquet file, JSON file, or JSON+-- Lines file. This value is null for all other types of files.+--+-- For an Avro object container or Parquet file, each Record object+-- specifies a record index and the path to a field in a record that+-- contains the sensitive data. For a JSON or JSON Lines file, each Record+-- object specifies the path to a field or array that contains the+-- sensitive data. For a JSON Lines file, it also specifies the index of+-- the line that contains the data.+newOccurrences ::+ Occurrences+newOccurrences =+ Occurrences'+ { cells = Prelude.Nothing,+ lineRanges = Prelude.Nothing,+ offsetRanges = Prelude.Nothing,+ pages = Prelude.Nothing,+ records = Prelude.Nothing+ }++-- | An array of objects, one for each occurrence of sensitive data in a+-- Microsoft Excel workbook, CSV file, or TSV file. This value is null for+-- all other types of files.+--+-- Each Cell object specifies a cell or field that contains the sensitive+-- data.+occurrences_cells :: Lens.Lens' Occurrences (Prelude.Maybe [Cell])+occurrences_cells = Lens.lens (\Occurrences' {cells} -> cells) (\s@Occurrences' {} a -> s {cells = a} :: Occurrences) Prelude.. Lens.mapping Lens.coerced++-- | An array of objects, one for each occurrence of sensitive data in a+-- non-binary text file, such as an HTML, TXT, or XML file. Each Range+-- object specifies a line or inclusive range of lines that contains the+-- sensitive data, and the position of the data on the specified line or+-- lines.+--+-- This value is often null for file types that are supported by Cell,+-- Page, or Record objects. Exceptions are the location of sensitive data+-- in: unstructured sections of an otherwise structured file, such as a+-- comment in a file; a malformed file that Amazon Macie analyzes as plain+-- text; and, a CSV or TSV file that has any column names that contain+-- sensitive data.+occurrences_lineRanges :: Lens.Lens' Occurrences (Prelude.Maybe [Range])+occurrences_lineRanges = Lens.lens (\Occurrences' {lineRanges} -> lineRanges) (\s@Occurrences' {} a -> s {lineRanges = a} :: Occurrences) Prelude.. Lens.mapping Lens.coerced++-- | Reserved for future use.+occurrences_offsetRanges :: Lens.Lens' Occurrences (Prelude.Maybe [Range])+occurrences_offsetRanges = Lens.lens (\Occurrences' {offsetRanges} -> offsetRanges) (\s@Occurrences' {} a -> s {offsetRanges = a} :: Occurrences) Prelude.. Lens.mapping Lens.coerced++-- | An array of objects, one for each occurrence of sensitive data in an+-- Adobe Portable Document Format file. This value is null for all other+-- types of files.+--+-- Each Page object specifies a page that contains the sensitive data.+occurrences_pages :: Lens.Lens' Occurrences (Prelude.Maybe [Page])+occurrences_pages = Lens.lens (\Occurrences' {pages} -> pages) (\s@Occurrences' {} a -> s {pages = a} :: Occurrences) Prelude.. Lens.mapping Lens.coerced++-- | An array of objects, one for each occurrence of sensitive data in an+-- Apache Avro object container, Apache Parquet file, JSON file, or JSON+-- Lines file. This value is null for all other types of files.+--+-- For an Avro object container or Parquet file, each Record object+-- specifies a record index and the path to a field in a record that+-- contains the sensitive data. For a JSON or JSON Lines file, each Record+-- object specifies the path to a field or array that contains the+-- sensitive data. For a JSON Lines file, it also specifies the index of+-- the line that contains the data.+occurrences_records :: Lens.Lens' Occurrences (Prelude.Maybe [Record])+occurrences_records = Lens.lens (\Occurrences' {records} -> records) (\s@Occurrences' {} a -> s {records = a} :: Occurrences) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Occurrences where+ parseJSON =+ Data.withObject+ "Occurrences"+ ( \x ->+ Occurrences'+ Prelude.<$> (x Data..:? "cells" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "lineRanges" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "offsetRanges" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "pages" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "records" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable Occurrences where+ hashWithSalt _salt Occurrences' {..} =+ _salt+ `Prelude.hashWithSalt` cells+ `Prelude.hashWithSalt` lineRanges+ `Prelude.hashWithSalt` offsetRanges+ `Prelude.hashWithSalt` pages+ `Prelude.hashWithSalt` records++instance Prelude.NFData Occurrences where+ rnf Occurrences' {..} =+ Prelude.rnf cells+ `Prelude.seq` Prelude.rnf lineRanges+ `Prelude.seq` Prelude.rnf offsetRanges+ `Prelude.seq` Prelude.rnf pages+ `Prelude.seq` Prelude.rnf records
+ gen/Amazonka/MacieV2/Types/OrderBy.hs view
@@ -0,0 +1,68 @@+{-# 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.MacieV2.Types.OrderBy+-- 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.MacieV2.Types.OrderBy+ ( OrderBy+ ( ..,+ OrderBy_ASC,+ OrderBy_DESC+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OrderBy = OrderBy' {fromOrderBy :: 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 OrderBy_ASC :: OrderBy+pattern OrderBy_ASC = OrderBy' "ASC"++pattern OrderBy_DESC :: OrderBy+pattern OrderBy_DESC = OrderBy' "DESC"++{-# COMPLETE+ OrderBy_ASC,+ OrderBy_DESC,+ OrderBy'+ #-}
+ gen/Amazonka/MacieV2/Types/OriginType.hs view
@@ -0,0 +1,73 @@+{-# 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.MacieV2.Types.OriginType+-- 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.MacieV2.Types.OriginType+ ( OriginType+ ( ..,+ OriginType_AUTOMATED_SENSITIVE_DATA_DISCOVERY,+ OriginType_SENSITIVE_DATA_DISCOVERY_JOB+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies how Amazon Macie found the sensitive data that produced a+-- finding. Possible values are:+newtype OriginType = OriginType'+ { fromOriginType ::+ 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 OriginType_AUTOMATED_SENSITIVE_DATA_DISCOVERY :: OriginType+pattern OriginType_AUTOMATED_SENSITIVE_DATA_DISCOVERY = OriginType' "AUTOMATED_SENSITIVE_DATA_DISCOVERY"++pattern OriginType_SENSITIVE_DATA_DISCOVERY_JOB :: OriginType+pattern OriginType_SENSITIVE_DATA_DISCOVERY_JOB = OriginType' "SENSITIVE_DATA_DISCOVERY_JOB"++{-# COMPLETE+ OriginType_AUTOMATED_SENSITIVE_DATA_DISCOVERY,+ OriginType_SENSITIVE_DATA_DISCOVERY_JOB,+ OriginType'+ #-}
+ gen/Amazonka/MacieV2/Types/Page.hs view
@@ -0,0 +1,98 @@+{-# 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.MacieV2.Types.Page+-- 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.MacieV2.Types.Page where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.Range+import qualified Amazonka.Prelude as Prelude++-- | Specifies the location of an occurrence of sensitive data in an Adobe+-- Portable Document Format file.+--+-- /See:/ 'newPage' smart constructor.+data Page = Page'+ { -- | Reserved for future use.+ lineRange :: Prelude.Maybe Range,+ -- | Reserved for future use.+ offsetRange :: Prelude.Maybe Range,+ -- | The page number of the page that contains the sensitive data.+ pageNumber :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Page' 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:+--+-- 'lineRange', 'page_lineRange' - Reserved for future use.+--+-- 'offsetRange', 'page_offsetRange' - Reserved for future use.+--+-- 'pageNumber', 'page_pageNumber' - The page number of the page that contains the sensitive data.+newPage ::+ Page+newPage =+ Page'+ { lineRange = Prelude.Nothing,+ offsetRange = Prelude.Nothing,+ pageNumber = Prelude.Nothing+ }++-- | Reserved for future use.+page_lineRange :: Lens.Lens' Page (Prelude.Maybe Range)+page_lineRange = Lens.lens (\Page' {lineRange} -> lineRange) (\s@Page' {} a -> s {lineRange = a} :: Page)++-- | Reserved for future use.+page_offsetRange :: Lens.Lens' Page (Prelude.Maybe Range)+page_offsetRange = Lens.lens (\Page' {offsetRange} -> offsetRange) (\s@Page' {} a -> s {offsetRange = a} :: Page)++-- | The page number of the page that contains the sensitive data.+page_pageNumber :: Lens.Lens' Page (Prelude.Maybe Prelude.Integer)+page_pageNumber = Lens.lens (\Page' {pageNumber} -> pageNumber) (\s@Page' {} a -> s {pageNumber = a} :: Page)++instance Data.FromJSON Page where+ parseJSON =+ Data.withObject+ "Page"+ ( \x ->+ Page'+ Prelude.<$> (x Data..:? "lineRange")+ Prelude.<*> (x Data..:? "offsetRange")+ Prelude.<*> (x Data..:? "pageNumber")+ )++instance Prelude.Hashable Page where+ hashWithSalt _salt Page' {..} =+ _salt+ `Prelude.hashWithSalt` lineRange+ `Prelude.hashWithSalt` offsetRange+ `Prelude.hashWithSalt` pageNumber++instance Prelude.NFData Page where+ rnf Page' {..} =+ Prelude.rnf lineRange+ `Prelude.seq` Prelude.rnf offsetRange+ `Prelude.seq` Prelude.rnf pageNumber
+ gen/Amazonka/MacieV2/Types/PolicyDetails.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.MacieV2.Types.PolicyDetails+-- 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.MacieV2.Types.PolicyDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.FindingAction+import Amazonka.MacieV2.Types.FindingActor+import qualified Amazonka.Prelude as Prelude++-- | Provides the details of a policy finding.+--+-- /See:/ 'newPolicyDetails' smart constructor.+data PolicyDetails = PolicyDetails'+ { -- | The action that produced the finding.+ action :: Prelude.Maybe FindingAction,+ -- | The entity that performed the action that produced the finding.+ actor :: Prelude.Maybe FindingActor+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PolicyDetails' 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', 'policyDetails_action' - The action that produced the finding.+--+-- 'actor', 'policyDetails_actor' - The entity that performed the action that produced the finding.+newPolicyDetails ::+ PolicyDetails+newPolicyDetails =+ PolicyDetails'+ { action = Prelude.Nothing,+ actor = Prelude.Nothing+ }++-- | The action that produced the finding.+policyDetails_action :: Lens.Lens' PolicyDetails (Prelude.Maybe FindingAction)+policyDetails_action = Lens.lens (\PolicyDetails' {action} -> action) (\s@PolicyDetails' {} a -> s {action = a} :: PolicyDetails)++-- | The entity that performed the action that produced the finding.+policyDetails_actor :: Lens.Lens' PolicyDetails (Prelude.Maybe FindingActor)+policyDetails_actor = Lens.lens (\PolicyDetails' {actor} -> actor) (\s@PolicyDetails' {} a -> s {actor = a} :: PolicyDetails)++instance Data.FromJSON PolicyDetails where+ parseJSON =+ Data.withObject+ "PolicyDetails"+ ( \x ->+ PolicyDetails'+ Prelude.<$> (x Data..:? "action")+ Prelude.<*> (x Data..:? "actor")+ )++instance Prelude.Hashable PolicyDetails where+ hashWithSalt _salt PolicyDetails' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` actor++instance Prelude.NFData PolicyDetails where+ rnf PolicyDetails' {..} =+ Prelude.rnf action `Prelude.seq` Prelude.rnf actor
+ gen/Amazonka/MacieV2/Types/Range.hs view
@@ -0,0 +1,109 @@+{-# 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.MacieV2.Types.Range+-- 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.MacieV2.Types.Range 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++-- | Specifies the location of an occurrence of sensitive data in a+-- non-binary text file, such as an HTML, TXT, or XML file.+--+-- /See:/ 'newRange' smart constructor.+data Range = Range'+ { -- | The number of lines from the beginning of the file to the end of the+ -- sensitive data.+ end :: Prelude.Maybe Prelude.Integer,+ -- | The number of lines from the beginning of the file to the beginning of+ -- the sensitive data.+ start :: Prelude.Maybe Prelude.Integer,+ -- | The number of characters, with spaces and starting from 1, from the+ -- beginning of the first line that contains the sensitive data (start) to+ -- the beginning of the sensitive data.+ startColumn :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Range' 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:+--+-- 'end', 'range_end' - The number of lines from the beginning of the file to the end of the+-- sensitive data.+--+-- 'start', 'range_start' - The number of lines from the beginning of the file to the beginning of+-- the sensitive data.+--+-- 'startColumn', 'range_startColumn' - The number of characters, with spaces and starting from 1, from the+-- beginning of the first line that contains the sensitive data (start) to+-- the beginning of the sensitive data.+newRange ::+ Range+newRange =+ Range'+ { end = Prelude.Nothing,+ start = Prelude.Nothing,+ startColumn = Prelude.Nothing+ }++-- | The number of lines from the beginning of the file to the end of the+-- sensitive data.+range_end :: Lens.Lens' Range (Prelude.Maybe Prelude.Integer)+range_end = Lens.lens (\Range' {end} -> end) (\s@Range' {} a -> s {end = a} :: Range)++-- | The number of lines from the beginning of the file to the beginning of+-- the sensitive data.+range_start :: Lens.Lens' Range (Prelude.Maybe Prelude.Integer)+range_start = Lens.lens (\Range' {start} -> start) (\s@Range' {} a -> s {start = a} :: Range)++-- | The number of characters, with spaces and starting from 1, from the+-- beginning of the first line that contains the sensitive data (start) to+-- the beginning of the sensitive data.+range_startColumn :: Lens.Lens' Range (Prelude.Maybe Prelude.Integer)+range_startColumn = Lens.lens (\Range' {startColumn} -> startColumn) (\s@Range' {} a -> s {startColumn = a} :: Range)++instance Data.FromJSON Range where+ parseJSON =+ Data.withObject+ "Range"+ ( \x ->+ Range'+ Prelude.<$> (x Data..:? "end")+ Prelude.<*> (x Data..:? "start")+ Prelude.<*> (x Data..:? "startColumn")+ )++instance Prelude.Hashable Range where+ hashWithSalt _salt Range' {..} =+ _salt+ `Prelude.hashWithSalt` end+ `Prelude.hashWithSalt` start+ `Prelude.hashWithSalt` startColumn++instance Prelude.NFData Range where+ rnf Range' {..} =+ Prelude.rnf end+ `Prelude.seq` Prelude.rnf start+ `Prelude.seq` Prelude.rnf startColumn
+ gen/Amazonka/MacieV2/Types/Record.hs view
@@ -0,0 +1,131 @@+{-# 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.MacieV2.Types.Record+-- 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.MacieV2.Types.Record 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++-- | Specifies the location of an occurrence of sensitive data in an Apache+-- Avro object container, Apache Parquet file, JSON file, or JSON Lines+-- file.+--+-- /See:/ 'newRecord' smart constructor.+data Record = Record'+ { -- | The path, as a JSONPath expression, to the sensitive data. For an Avro+ -- object container or Parquet file, this is the path to the field in the+ -- record (recordIndex) that contains the data. For a JSON or JSON Lines+ -- file, this is the path to the field or array that contains the data. If+ -- the data is a value in an array, the path also indicates which value+ -- contains the data.+ --+ -- If Amazon Macie detects sensitive data in the name of any element in the+ -- path, Macie omits this field. If the name of an element exceeds 20+ -- characters, Macie truncates the name by removing characters from the+ -- beginning of the name. If the resulting full path exceeds 250+ -- characters, Macie also truncates the path, starting with the first+ -- element in the path, until the path contains 250 or fewer characters.+ jsonPath :: Prelude.Maybe Prelude.Text,+ -- | For an Avro object container or Parquet file, the record index, starting+ -- from 0, for the record that contains the sensitive data. For a JSON+ -- Lines file, the line index, starting from 0, for the line that contains+ -- the sensitive data. This value is always 0 for JSON files.+ recordIndex :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Record' 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:+--+-- 'jsonPath', 'record_jsonPath' - The path, as a JSONPath expression, to the sensitive data. For an Avro+-- object container or Parquet file, this is the path to the field in the+-- record (recordIndex) that contains the data. For a JSON or JSON Lines+-- file, this is the path to the field or array that contains the data. If+-- the data is a value in an array, the path also indicates which value+-- contains the data.+--+-- If Amazon Macie detects sensitive data in the name of any element in the+-- path, Macie omits this field. If the name of an element exceeds 20+-- characters, Macie truncates the name by removing characters from the+-- beginning of the name. If the resulting full path exceeds 250+-- characters, Macie also truncates the path, starting with the first+-- element in the path, until the path contains 250 or fewer characters.+--+-- 'recordIndex', 'record_recordIndex' - For an Avro object container or Parquet file, the record index, starting+-- from 0, for the record that contains the sensitive data. For a JSON+-- Lines file, the line index, starting from 0, for the line that contains+-- the sensitive data. This value is always 0 for JSON files.+newRecord ::+ Record+newRecord =+ Record'+ { jsonPath = Prelude.Nothing,+ recordIndex = Prelude.Nothing+ }++-- | The path, as a JSONPath expression, to the sensitive data. For an Avro+-- object container or Parquet file, this is the path to the field in the+-- record (recordIndex) that contains the data. For a JSON or JSON Lines+-- file, this is the path to the field or array that contains the data. If+-- the data is a value in an array, the path also indicates which value+-- contains the data.+--+-- If Amazon Macie detects sensitive data in the name of any element in the+-- path, Macie omits this field. If the name of an element exceeds 20+-- characters, Macie truncates the name by removing characters from the+-- beginning of the name. If the resulting full path exceeds 250+-- characters, Macie also truncates the path, starting with the first+-- element in the path, until the path contains 250 or fewer characters.+record_jsonPath :: Lens.Lens' Record (Prelude.Maybe Prelude.Text)+record_jsonPath = Lens.lens (\Record' {jsonPath} -> jsonPath) (\s@Record' {} a -> s {jsonPath = a} :: Record)++-- | For an Avro object container or Parquet file, the record index, starting+-- from 0, for the record that contains the sensitive data. For a JSON+-- Lines file, the line index, starting from 0, for the line that contains+-- the sensitive data. This value is always 0 for JSON files.+record_recordIndex :: Lens.Lens' Record (Prelude.Maybe Prelude.Integer)+record_recordIndex = Lens.lens (\Record' {recordIndex} -> recordIndex) (\s@Record' {} a -> s {recordIndex = a} :: Record)++instance Data.FromJSON Record where+ parseJSON =+ Data.withObject+ "Record"+ ( \x ->+ Record'+ Prelude.<$> (x Data..:? "jsonPath")+ Prelude.<*> (x Data..:? "recordIndex")+ )++instance Prelude.Hashable Record where+ hashWithSalt _salt Record' {..} =+ _salt+ `Prelude.hashWithSalt` jsonPath+ `Prelude.hashWithSalt` recordIndex++instance Prelude.NFData Record where+ rnf Record' {..} =+ Prelude.rnf jsonPath+ `Prelude.seq` Prelude.rnf recordIndex
+ gen/Amazonka/MacieV2/Types/RelationshipStatus.hs view
@@ -0,0 +1,113 @@+{-# 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.MacieV2.Types.RelationshipStatus+-- 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.MacieV2.Types.RelationshipStatus+ ( RelationshipStatus+ ( ..,+ RelationshipStatus_AccountSuspended,+ RelationshipStatus_Created,+ RelationshipStatus_EmailVerificationFailed,+ RelationshipStatus_EmailVerificationInProgress,+ RelationshipStatus_Enabled,+ RelationshipStatus_Invited,+ RelationshipStatus_Paused,+ RelationshipStatus_RegionDisabled,+ RelationshipStatus_Removed,+ RelationshipStatus_Resigned+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The current status of the relationship between an account and an+-- associated Amazon Macie administrator account. Possible values are:+newtype RelationshipStatus = RelationshipStatus'+ { fromRelationshipStatus ::+ 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 RelationshipStatus_AccountSuspended :: RelationshipStatus+pattern RelationshipStatus_AccountSuspended = RelationshipStatus' "AccountSuspended"++pattern RelationshipStatus_Created :: RelationshipStatus+pattern RelationshipStatus_Created = RelationshipStatus' "Created"++pattern RelationshipStatus_EmailVerificationFailed :: RelationshipStatus+pattern RelationshipStatus_EmailVerificationFailed = RelationshipStatus' "EmailVerificationFailed"++pattern RelationshipStatus_EmailVerificationInProgress :: RelationshipStatus+pattern RelationshipStatus_EmailVerificationInProgress = RelationshipStatus' "EmailVerificationInProgress"++pattern RelationshipStatus_Enabled :: RelationshipStatus+pattern RelationshipStatus_Enabled = RelationshipStatus' "Enabled"++pattern RelationshipStatus_Invited :: RelationshipStatus+pattern RelationshipStatus_Invited = RelationshipStatus' "Invited"++pattern RelationshipStatus_Paused :: RelationshipStatus+pattern RelationshipStatus_Paused = RelationshipStatus' "Paused"++pattern RelationshipStatus_RegionDisabled :: RelationshipStatus+pattern RelationshipStatus_RegionDisabled = RelationshipStatus' "RegionDisabled"++pattern RelationshipStatus_Removed :: RelationshipStatus+pattern RelationshipStatus_Removed = RelationshipStatus' "Removed"++pattern RelationshipStatus_Resigned :: RelationshipStatus+pattern RelationshipStatus_Resigned = RelationshipStatus' "Resigned"++{-# COMPLETE+ RelationshipStatus_AccountSuspended,+ RelationshipStatus_Created,+ RelationshipStatus_EmailVerificationFailed,+ RelationshipStatus_EmailVerificationInProgress,+ RelationshipStatus_Enabled,+ RelationshipStatus_Invited,+ RelationshipStatus_Paused,+ RelationshipStatus_RegionDisabled,+ RelationshipStatus_Removed,+ RelationshipStatus_Resigned,+ RelationshipStatus'+ #-}
+ gen/Amazonka/MacieV2/Types/ReplicationDetails.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.MacieV2.Types.ReplicationDetails+-- 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.MacieV2.Types.ReplicationDetails 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++-- | Provides information about settings that define whether one or more+-- objects in an S3 bucket are replicated to S3 buckets for other Amazon+-- Web Services accounts and, if so, which accounts.+--+-- /See:/ 'newReplicationDetails' smart constructor.+data ReplicationDetails = ReplicationDetails'+ { -- | Specifies whether the bucket is configured to replicate one or more+ -- objects to any destination.+ replicated :: Prelude.Maybe Prelude.Bool,+ -- | Specifies whether the bucket is configured to replicate one or more+ -- objects to an Amazon Web Services account that isn\'t part of the same+ -- Amazon Macie organization.+ replicatedExternally :: Prelude.Maybe Prelude.Bool,+ -- | An array of Amazon Web Services account IDs, one for each Amazon Web+ -- Services account that the bucket is configured to replicate one or more+ -- objects to.+ replicationAccounts :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReplicationDetails' 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:+--+-- 'replicated', 'replicationDetails_replicated' - Specifies whether the bucket is configured to replicate one or more+-- objects to any destination.+--+-- 'replicatedExternally', 'replicationDetails_replicatedExternally' - Specifies whether the bucket is configured to replicate one or more+-- objects to an Amazon Web Services account that isn\'t part of the same+-- Amazon Macie organization.+--+-- 'replicationAccounts', 'replicationDetails_replicationAccounts' - An array of Amazon Web Services account IDs, one for each Amazon Web+-- Services account that the bucket is configured to replicate one or more+-- objects to.+newReplicationDetails ::+ ReplicationDetails+newReplicationDetails =+ ReplicationDetails'+ { replicated = Prelude.Nothing,+ replicatedExternally = Prelude.Nothing,+ replicationAccounts = Prelude.Nothing+ }++-- | Specifies whether the bucket is configured to replicate one or more+-- objects to any destination.+replicationDetails_replicated :: Lens.Lens' ReplicationDetails (Prelude.Maybe Prelude.Bool)+replicationDetails_replicated = Lens.lens (\ReplicationDetails' {replicated} -> replicated) (\s@ReplicationDetails' {} a -> s {replicated = a} :: ReplicationDetails)++-- | Specifies whether the bucket is configured to replicate one or more+-- objects to an Amazon Web Services account that isn\'t part of the same+-- Amazon Macie organization.+replicationDetails_replicatedExternally :: Lens.Lens' ReplicationDetails (Prelude.Maybe Prelude.Bool)+replicationDetails_replicatedExternally = Lens.lens (\ReplicationDetails' {replicatedExternally} -> replicatedExternally) (\s@ReplicationDetails' {} a -> s {replicatedExternally = a} :: ReplicationDetails)++-- | An array of Amazon Web Services account IDs, one for each Amazon Web+-- Services account that the bucket is configured to replicate one or more+-- objects to.+replicationDetails_replicationAccounts :: Lens.Lens' ReplicationDetails (Prelude.Maybe [Prelude.Text])+replicationDetails_replicationAccounts = Lens.lens (\ReplicationDetails' {replicationAccounts} -> replicationAccounts) (\s@ReplicationDetails' {} a -> s {replicationAccounts = a} :: ReplicationDetails) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ReplicationDetails where+ parseJSON =+ Data.withObject+ "ReplicationDetails"+ ( \x ->+ ReplicationDetails'+ Prelude.<$> (x Data..:? "replicated")+ Prelude.<*> (x Data..:? "replicatedExternally")+ Prelude.<*> ( x+ Data..:? "replicationAccounts"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable ReplicationDetails where+ hashWithSalt _salt ReplicationDetails' {..} =+ _salt+ `Prelude.hashWithSalt` replicated+ `Prelude.hashWithSalt` replicatedExternally+ `Prelude.hashWithSalt` replicationAccounts++instance Prelude.NFData ReplicationDetails where+ rnf ReplicationDetails' {..} =+ Prelude.rnf replicated+ `Prelude.seq` Prelude.rnf replicatedExternally+ `Prelude.seq` Prelude.rnf replicationAccounts
+ gen/Amazonka/MacieV2/Types/ResourceProfileArtifact.hs view
@@ -0,0 +1,138 @@+{-# 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.MacieV2.Types.ResourceProfileArtifact+-- 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.MacieV2.Types.ResourceProfileArtifact 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++-- | Provides information about an S3 object that Amazon Macie selected for+-- analysis while performing automated sensitive data discovery for an S3+-- bucket, and the status and results of the analysis. This information is+-- available only if automated sensitive data discovery is currently+-- enabled for your account.+--+-- /See:/ 'newResourceProfileArtifact' smart constructor.+data ResourceProfileArtifact = ResourceProfileArtifact'+ { -- | Specifies whether Amazon Macie found sensitive data in the object.+ sensitive :: Prelude.Maybe Prelude.Bool,+ -- | The status of the analysis. Possible values are:+ --+ -- - COMPLETE - Amazon Macie successfully completed its analysis of the+ -- object.+ --+ -- - PARTIAL - Macie analyzed only a subset of data in the object. For+ -- example, the object is an archive file that contains files in an+ -- unsupported format.+ --+ -- - SKIPPED - Macie wasn\'t able to analyze the object. For example, the+ -- object is a malformed file.+ classificationResultStatus :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the object.+ arn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceProfileArtifact' 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:+--+-- 'sensitive', 'resourceProfileArtifact_sensitive' - Specifies whether Amazon Macie found sensitive data in the object.+--+-- 'classificationResultStatus', 'resourceProfileArtifact_classificationResultStatus' - The status of the analysis. Possible values are:+--+-- - COMPLETE - Amazon Macie successfully completed its analysis of the+-- object.+--+-- - PARTIAL - Macie analyzed only a subset of data in the object. For+-- example, the object is an archive file that contains files in an+-- unsupported format.+--+-- - SKIPPED - Macie wasn\'t able to analyze the object. For example, the+-- object is a malformed file.+--+-- 'arn', 'resourceProfileArtifact_arn' - The Amazon Resource Name (ARN) of the object.+newResourceProfileArtifact ::+ -- | 'classificationResultStatus'+ Prelude.Text ->+ -- | 'arn'+ Prelude.Text ->+ ResourceProfileArtifact+newResourceProfileArtifact+ pClassificationResultStatus_+ pArn_ =+ ResourceProfileArtifact'+ { sensitive =+ Prelude.Nothing,+ classificationResultStatus =+ pClassificationResultStatus_,+ arn = pArn_+ }++-- | Specifies whether Amazon Macie found sensitive data in the object.+resourceProfileArtifact_sensitive :: Lens.Lens' ResourceProfileArtifact (Prelude.Maybe Prelude.Bool)+resourceProfileArtifact_sensitive = Lens.lens (\ResourceProfileArtifact' {sensitive} -> sensitive) (\s@ResourceProfileArtifact' {} a -> s {sensitive = a} :: ResourceProfileArtifact)++-- | The status of the analysis. Possible values are:+--+-- - COMPLETE - Amazon Macie successfully completed its analysis of the+-- object.+--+-- - PARTIAL - Macie analyzed only a subset of data in the object. For+-- example, the object is an archive file that contains files in an+-- unsupported format.+--+-- - SKIPPED - Macie wasn\'t able to analyze the object. For example, the+-- object is a malformed file.+resourceProfileArtifact_classificationResultStatus :: Lens.Lens' ResourceProfileArtifact Prelude.Text+resourceProfileArtifact_classificationResultStatus = Lens.lens (\ResourceProfileArtifact' {classificationResultStatus} -> classificationResultStatus) (\s@ResourceProfileArtifact' {} a -> s {classificationResultStatus = a} :: ResourceProfileArtifact)++-- | The Amazon Resource Name (ARN) of the object.+resourceProfileArtifact_arn :: Lens.Lens' ResourceProfileArtifact Prelude.Text+resourceProfileArtifact_arn = Lens.lens (\ResourceProfileArtifact' {arn} -> arn) (\s@ResourceProfileArtifact' {} a -> s {arn = a} :: ResourceProfileArtifact)++instance Data.FromJSON ResourceProfileArtifact where+ parseJSON =+ Data.withObject+ "ResourceProfileArtifact"+ ( \x ->+ ResourceProfileArtifact'+ Prelude.<$> (x Data..:? "sensitive")+ Prelude.<*> (x Data..: "classificationResultStatus")+ Prelude.<*> (x Data..: "arn")+ )++instance Prelude.Hashable ResourceProfileArtifact where+ hashWithSalt _salt ResourceProfileArtifact' {..} =+ _salt+ `Prelude.hashWithSalt` sensitive+ `Prelude.hashWithSalt` classificationResultStatus+ `Prelude.hashWithSalt` arn++instance Prelude.NFData ResourceProfileArtifact where+ rnf ResourceProfileArtifact' {..} =+ Prelude.rnf sensitive+ `Prelude.seq` Prelude.rnf classificationResultStatus+ `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/MacieV2/Types/ResourceStatistics.hs view
@@ -0,0 +1,231 @@+{-# 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.MacieV2.Types.ResourceStatistics+-- 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.MacieV2.Types.ResourceStatistics 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++-- | Provides statistical data for sensitive data discovery metrics that+-- apply to an S3 bucket that Amazon Macie monitors and analyzes for your+-- account. The statistics capture the results of automated sensitive data+-- discovery activities that Macie has performed for the bucket. The data+-- is available only if automated sensitive data discovery is currently+-- enabled for your account.+--+-- /See:/ 'newResourceStatistics' smart constructor.+data ResourceStatistics = ResourceStatistics'+ { -- | The total amount of data, in bytes, that Amazon Macie has analyzed in+ -- the bucket.+ totalBytesClassified :: Prelude.Maybe Prelude.Integer,+ -- | The total number of occurrences of sensitive data that Amazon Macie has+ -- found in the bucket\'s objects. This includes occurrences that are+ -- currently suppressed by the sensitivity scoring settings for the bucket+ -- (totalDetectionsSuppressed).+ totalDetections :: Prelude.Maybe Prelude.Integer,+ -- | The total number of occurrences of sensitive data that are currently+ -- suppressed by the sensitivity scoring settings for the bucket. These+ -- represent occurrences of sensitive data that Amazon Macie found in the+ -- bucket\'s objects, but the occurrences were manually suppressed. By+ -- default, suppressed occurrences are excluded from the bucket\'s+ -- sensitivity score.+ totalDetectionsSuppressed :: Prelude.Maybe Prelude.Integer,+ -- | The total number of objects that Amazon Macie has analyzed in the+ -- bucket.+ totalItemsClassified :: Prelude.Maybe Prelude.Integer,+ -- | The total number of the bucket\'s objects that Amazon Macie has found+ -- sensitive data in.+ totalItemsSensitive :: Prelude.Maybe Prelude.Integer,+ -- | The total number of objects that Amazon Macie hasn\'t analyzed in the+ -- bucket due to an error or issue. For example, the object is a malformed+ -- file. This value includes objects that Macie hasn\'t analyzed for+ -- reasons reported by other statistics in the ResourceStatistics object.+ totalItemsSkipped :: Prelude.Maybe Prelude.Integer,+ -- | The total number of objects that Amazon Macie hasn\'t analyzed in the+ -- bucket because the objects are encrypted with a key that Macie isn\'t+ -- allowed to use.+ totalItemsSkippedInvalidEncryption :: Prelude.Maybe Prelude.Integer,+ -- | The total number of objects that Amazon Macie hasn\'t analyzed in the+ -- bucket because the objects are encrypted with an KMS key that was+ -- disabled or deleted.+ totalItemsSkippedInvalidKms :: Prelude.Maybe Prelude.Integer,+ -- | The total number of objects that Amazon Macie hasn\'t analyzed in the+ -- bucket because Macie isn\'t allowed to access the objects.+ totalItemsSkippedPermissionDenied :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceStatistics' 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:+--+-- 'totalBytesClassified', 'resourceStatistics_totalBytesClassified' - The total amount of data, in bytes, that Amazon Macie has analyzed in+-- the bucket.+--+-- 'totalDetections', 'resourceStatistics_totalDetections' - The total number of occurrences of sensitive data that Amazon Macie has+-- found in the bucket\'s objects. This includes occurrences that are+-- currently suppressed by the sensitivity scoring settings for the bucket+-- (totalDetectionsSuppressed).+--+-- 'totalDetectionsSuppressed', 'resourceStatistics_totalDetectionsSuppressed' - The total number of occurrences of sensitive data that are currently+-- suppressed by the sensitivity scoring settings for the bucket. These+-- represent occurrences of sensitive data that Amazon Macie found in the+-- bucket\'s objects, but the occurrences were manually suppressed. By+-- default, suppressed occurrences are excluded from the bucket\'s+-- sensitivity score.+--+-- 'totalItemsClassified', 'resourceStatistics_totalItemsClassified' - The total number of objects that Amazon Macie has analyzed in the+-- bucket.+--+-- 'totalItemsSensitive', 'resourceStatistics_totalItemsSensitive' - The total number of the bucket\'s objects that Amazon Macie has found+-- sensitive data in.+--+-- 'totalItemsSkipped', 'resourceStatistics_totalItemsSkipped' - The total number of objects that Amazon Macie hasn\'t analyzed in the+-- bucket due to an error or issue. For example, the object is a malformed+-- file. This value includes objects that Macie hasn\'t analyzed for+-- reasons reported by other statistics in the ResourceStatistics object.+--+-- 'totalItemsSkippedInvalidEncryption', 'resourceStatistics_totalItemsSkippedInvalidEncryption' - The total number of objects that Amazon Macie hasn\'t analyzed in the+-- bucket because the objects are encrypted with a key that Macie isn\'t+-- allowed to use.+--+-- 'totalItemsSkippedInvalidKms', 'resourceStatistics_totalItemsSkippedInvalidKms' - The total number of objects that Amazon Macie hasn\'t analyzed in the+-- bucket because the objects are encrypted with an KMS key that was+-- disabled or deleted.+--+-- 'totalItemsSkippedPermissionDenied', 'resourceStatistics_totalItemsSkippedPermissionDenied' - The total number of objects that Amazon Macie hasn\'t analyzed in the+-- bucket because Macie isn\'t allowed to access the objects.+newResourceStatistics ::+ ResourceStatistics+newResourceStatistics =+ ResourceStatistics'+ { totalBytesClassified =+ Prelude.Nothing,+ totalDetections = Prelude.Nothing,+ totalDetectionsSuppressed = Prelude.Nothing,+ totalItemsClassified = Prelude.Nothing,+ totalItemsSensitive = Prelude.Nothing,+ totalItemsSkipped = Prelude.Nothing,+ totalItemsSkippedInvalidEncryption = Prelude.Nothing,+ totalItemsSkippedInvalidKms = Prelude.Nothing,+ totalItemsSkippedPermissionDenied = Prelude.Nothing+ }++-- | The total amount of data, in bytes, that Amazon Macie has analyzed in+-- the bucket.+resourceStatistics_totalBytesClassified :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)+resourceStatistics_totalBytesClassified = Lens.lens (\ResourceStatistics' {totalBytesClassified} -> totalBytesClassified) (\s@ResourceStatistics' {} a -> s {totalBytesClassified = a} :: ResourceStatistics)++-- | The total number of occurrences of sensitive data that Amazon Macie has+-- found in the bucket\'s objects. This includes occurrences that are+-- currently suppressed by the sensitivity scoring settings for the bucket+-- (totalDetectionsSuppressed).+resourceStatistics_totalDetections :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)+resourceStatistics_totalDetections = Lens.lens (\ResourceStatistics' {totalDetections} -> totalDetections) (\s@ResourceStatistics' {} a -> s {totalDetections = a} :: ResourceStatistics)++-- | The total number of occurrences of sensitive data that are currently+-- suppressed by the sensitivity scoring settings for the bucket. These+-- represent occurrences of sensitive data that Amazon Macie found in the+-- bucket\'s objects, but the occurrences were manually suppressed. By+-- default, suppressed occurrences are excluded from the bucket\'s+-- sensitivity score.+resourceStatistics_totalDetectionsSuppressed :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)+resourceStatistics_totalDetectionsSuppressed = Lens.lens (\ResourceStatistics' {totalDetectionsSuppressed} -> totalDetectionsSuppressed) (\s@ResourceStatistics' {} a -> s {totalDetectionsSuppressed = a} :: ResourceStatistics)++-- | The total number of objects that Amazon Macie has analyzed in the+-- bucket.+resourceStatistics_totalItemsClassified :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)+resourceStatistics_totalItemsClassified = Lens.lens (\ResourceStatistics' {totalItemsClassified} -> totalItemsClassified) (\s@ResourceStatistics' {} a -> s {totalItemsClassified = a} :: ResourceStatistics)++-- | The total number of the bucket\'s objects that Amazon Macie has found+-- sensitive data in.+resourceStatistics_totalItemsSensitive :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)+resourceStatistics_totalItemsSensitive = Lens.lens (\ResourceStatistics' {totalItemsSensitive} -> totalItemsSensitive) (\s@ResourceStatistics' {} a -> s {totalItemsSensitive = a} :: ResourceStatistics)++-- | The total number of objects that Amazon Macie hasn\'t analyzed in the+-- bucket due to an error or issue. For example, the object is a malformed+-- file. This value includes objects that Macie hasn\'t analyzed for+-- reasons reported by other statistics in the ResourceStatistics object.+resourceStatistics_totalItemsSkipped :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)+resourceStatistics_totalItemsSkipped = Lens.lens (\ResourceStatistics' {totalItemsSkipped} -> totalItemsSkipped) (\s@ResourceStatistics' {} a -> s {totalItemsSkipped = a} :: ResourceStatistics)++-- | The total number of objects that Amazon Macie hasn\'t analyzed in the+-- bucket because the objects are encrypted with a key that Macie isn\'t+-- allowed to use.+resourceStatistics_totalItemsSkippedInvalidEncryption :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)+resourceStatistics_totalItemsSkippedInvalidEncryption = Lens.lens (\ResourceStatistics' {totalItemsSkippedInvalidEncryption} -> totalItemsSkippedInvalidEncryption) (\s@ResourceStatistics' {} a -> s {totalItemsSkippedInvalidEncryption = a} :: ResourceStatistics)++-- | The total number of objects that Amazon Macie hasn\'t analyzed in the+-- bucket because the objects are encrypted with an KMS key that was+-- disabled or deleted.+resourceStatistics_totalItemsSkippedInvalidKms :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)+resourceStatistics_totalItemsSkippedInvalidKms = Lens.lens (\ResourceStatistics' {totalItemsSkippedInvalidKms} -> totalItemsSkippedInvalidKms) (\s@ResourceStatistics' {} a -> s {totalItemsSkippedInvalidKms = a} :: ResourceStatistics)++-- | The total number of objects that Amazon Macie hasn\'t analyzed in the+-- bucket because Macie isn\'t allowed to access the objects.+resourceStatistics_totalItemsSkippedPermissionDenied :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)+resourceStatistics_totalItemsSkippedPermissionDenied = Lens.lens (\ResourceStatistics' {totalItemsSkippedPermissionDenied} -> totalItemsSkippedPermissionDenied) (\s@ResourceStatistics' {} a -> s {totalItemsSkippedPermissionDenied = a} :: ResourceStatistics)++instance Data.FromJSON ResourceStatistics where+ parseJSON =+ Data.withObject+ "ResourceStatistics"+ ( \x ->+ ResourceStatistics'+ Prelude.<$> (x Data..:? "totalBytesClassified")+ Prelude.<*> (x Data..:? "totalDetections")+ Prelude.<*> (x Data..:? "totalDetectionsSuppressed")+ Prelude.<*> (x Data..:? "totalItemsClassified")+ Prelude.<*> (x Data..:? "totalItemsSensitive")+ Prelude.<*> (x Data..:? "totalItemsSkipped")+ Prelude.<*> (x Data..:? "totalItemsSkippedInvalidEncryption")+ Prelude.<*> (x Data..:? "totalItemsSkippedInvalidKms")+ Prelude.<*> (x Data..:? "totalItemsSkippedPermissionDenied")+ )++instance Prelude.Hashable ResourceStatistics where+ hashWithSalt _salt ResourceStatistics' {..} =+ _salt+ `Prelude.hashWithSalt` totalBytesClassified+ `Prelude.hashWithSalt` totalDetections+ `Prelude.hashWithSalt` totalDetectionsSuppressed+ `Prelude.hashWithSalt` totalItemsClassified+ `Prelude.hashWithSalt` totalItemsSensitive+ `Prelude.hashWithSalt` totalItemsSkipped+ `Prelude.hashWithSalt` totalItemsSkippedInvalidEncryption+ `Prelude.hashWithSalt` totalItemsSkippedInvalidKms+ `Prelude.hashWithSalt` totalItemsSkippedPermissionDenied++instance Prelude.NFData ResourceStatistics where+ rnf ResourceStatistics' {..} =+ Prelude.rnf totalBytesClassified+ `Prelude.seq` Prelude.rnf totalDetections+ `Prelude.seq` Prelude.rnf totalDetectionsSuppressed+ `Prelude.seq` Prelude.rnf totalItemsClassified+ `Prelude.seq` Prelude.rnf totalItemsSensitive+ `Prelude.seq` Prelude.rnf totalItemsSkipped+ `Prelude.seq` Prelude.rnf totalItemsSkippedInvalidEncryption+ `Prelude.seq` Prelude.rnf totalItemsSkippedInvalidKms+ `Prelude.seq` Prelude.rnf totalItemsSkippedPermissionDenied
+ gen/Amazonka/MacieV2/Types/ResourcesAffected.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.Types.ResourcesAffected+-- 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.MacieV2.Types.ResourcesAffected where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.S3Bucket+import Amazonka.MacieV2.Types.S3Object+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the resources that a finding applies to.+--+-- /See:/ 'newResourcesAffected' smart constructor.+data ResourcesAffected = ResourcesAffected'+ { -- | The details of the S3 bucket that the finding applies to.+ s3Bucket :: Prelude.Maybe S3Bucket,+ -- | The details of the S3 object that the finding applies to.+ s3Object :: Prelude.Maybe S3Object+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourcesAffected' 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:+--+-- 's3Bucket', 'resourcesAffected_s3Bucket' - The details of the S3 bucket that the finding applies to.+--+-- 's3Object', 'resourcesAffected_s3Object' - The details of the S3 object that the finding applies to.+newResourcesAffected ::+ ResourcesAffected+newResourcesAffected =+ ResourcesAffected'+ { s3Bucket = Prelude.Nothing,+ s3Object = Prelude.Nothing+ }++-- | The details of the S3 bucket that the finding applies to.+resourcesAffected_s3Bucket :: Lens.Lens' ResourcesAffected (Prelude.Maybe S3Bucket)+resourcesAffected_s3Bucket = Lens.lens (\ResourcesAffected' {s3Bucket} -> s3Bucket) (\s@ResourcesAffected' {} a -> s {s3Bucket = a} :: ResourcesAffected)++-- | The details of the S3 object that the finding applies to.+resourcesAffected_s3Object :: Lens.Lens' ResourcesAffected (Prelude.Maybe S3Object)+resourcesAffected_s3Object = Lens.lens (\ResourcesAffected' {s3Object} -> s3Object) (\s@ResourcesAffected' {} a -> s {s3Object = a} :: ResourcesAffected)++instance Data.FromJSON ResourcesAffected where+ parseJSON =+ Data.withObject+ "ResourcesAffected"+ ( \x ->+ ResourcesAffected'+ Prelude.<$> (x Data..:? "s3Bucket")+ Prelude.<*> (x Data..:? "s3Object")+ )++instance Prelude.Hashable ResourcesAffected where+ hashWithSalt _salt ResourcesAffected' {..} =+ _salt+ `Prelude.hashWithSalt` s3Bucket+ `Prelude.hashWithSalt` s3Object++instance Prelude.NFData ResourcesAffected where+ rnf ResourcesAffected' {..} =+ Prelude.rnf s3Bucket+ `Prelude.seq` Prelude.rnf s3Object
+ gen/Amazonka/MacieV2/Types/RevealConfiguration.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.MacieV2.Types.RevealConfiguration+-- 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.MacieV2.Types.RevealConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.RevealStatus+import qualified Amazonka.Prelude as Prelude++-- | Specifies the configuration settings for retrieving occurrences of+-- sensitive data reported by findings, and the status of the configuration+-- for an Amazon Macie account. When you enable the configuration for the+-- first time, your request must specify an Key Management Service (KMS)+-- key. Otherwise, an error occurs. Macie uses the specified key to encrypt+-- the sensitive data that you retrieve.+--+-- /See:/ 'newRevealConfiguration' smart constructor.+data RevealConfiguration = RevealConfiguration'+ { -- | The Amazon Resource Name (ARN), ID, or alias of the KMS key to use to+ -- encrypt sensitive data that\'s retrieved. The key must be an existing,+ -- customer managed, symmetric encryption key that\'s in the same Amazon+ -- Web Services Region as the Amazon Macie account.+ --+ -- If this value specifies an alias, it must include the following prefix:+ -- alias\/. If this value specifies a key that\'s owned by another Amazon+ -- Web Services account, it must specify the ARN of the key or the ARN of+ -- the key\'s alias.+ kmsKeyId :: Prelude.Maybe Prelude.Text,+ -- | The status of the configuration for the Amazon Macie account. In a+ -- request, valid values are: ENABLED, enable the configuration for the+ -- account; and, DISABLED, disable the configuration for the account. In a+ -- response, possible values are: ENABLED, the configuration is currently+ -- enabled for the account; and, DISABLED, the configuration is currently+ -- disabled for the account.+ status :: RevealStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RevealConfiguration' 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:+--+-- 'kmsKeyId', 'revealConfiguration_kmsKeyId' - The Amazon Resource Name (ARN), ID, or alias of the KMS key to use to+-- encrypt sensitive data that\'s retrieved. The key must be an existing,+-- customer managed, symmetric encryption key that\'s in the same Amazon+-- Web Services Region as the Amazon Macie account.+--+-- If this value specifies an alias, it must include the following prefix:+-- alias\/. If this value specifies a key that\'s owned by another Amazon+-- Web Services account, it must specify the ARN of the key or the ARN of+-- the key\'s alias.+--+-- 'status', 'revealConfiguration_status' - The status of the configuration for the Amazon Macie account. In a+-- request, valid values are: ENABLED, enable the configuration for the+-- account; and, DISABLED, disable the configuration for the account. In a+-- response, possible values are: ENABLED, the configuration is currently+-- enabled for the account; and, DISABLED, the configuration is currently+-- disabled for the account.+newRevealConfiguration ::+ -- | 'status'+ RevealStatus ->+ RevealConfiguration+newRevealConfiguration pStatus_ =+ RevealConfiguration'+ { kmsKeyId = Prelude.Nothing,+ status = pStatus_+ }++-- | The Amazon Resource Name (ARN), ID, or alias of the KMS key to use to+-- encrypt sensitive data that\'s retrieved. The key must be an existing,+-- customer managed, symmetric encryption key that\'s in the same Amazon+-- Web Services Region as the Amazon Macie account.+--+-- If this value specifies an alias, it must include the following prefix:+-- alias\/. If this value specifies a key that\'s owned by another Amazon+-- Web Services account, it must specify the ARN of the key or the ARN of+-- the key\'s alias.+revealConfiguration_kmsKeyId :: Lens.Lens' RevealConfiguration (Prelude.Maybe Prelude.Text)+revealConfiguration_kmsKeyId = Lens.lens (\RevealConfiguration' {kmsKeyId} -> kmsKeyId) (\s@RevealConfiguration' {} a -> s {kmsKeyId = a} :: RevealConfiguration)++-- | The status of the configuration for the Amazon Macie account. In a+-- request, valid values are: ENABLED, enable the configuration for the+-- account; and, DISABLED, disable the configuration for the account. In a+-- response, possible values are: ENABLED, the configuration is currently+-- enabled for the account; and, DISABLED, the configuration is currently+-- disabled for the account.+revealConfiguration_status :: Lens.Lens' RevealConfiguration RevealStatus+revealConfiguration_status = Lens.lens (\RevealConfiguration' {status} -> status) (\s@RevealConfiguration' {} a -> s {status = a} :: RevealConfiguration)++instance Data.FromJSON RevealConfiguration where+ parseJSON =+ Data.withObject+ "RevealConfiguration"+ ( \x ->+ RevealConfiguration'+ Prelude.<$> (x Data..:? "kmsKeyId")+ Prelude.<*> (x Data..: "status")+ )++instance Prelude.Hashable RevealConfiguration where+ hashWithSalt _salt RevealConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` kmsKeyId+ `Prelude.hashWithSalt` status++instance Prelude.NFData RevealConfiguration where+ rnf RevealConfiguration' {..} =+ Prelude.rnf kmsKeyId+ `Prelude.seq` Prelude.rnf status++instance Data.ToJSON RevealConfiguration where+ toJSON RevealConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("kmsKeyId" Data..=) Prelude.<$> kmsKeyId,+ Prelude.Just ("status" Data..= status)+ ]+ )
+ gen/Amazonka/MacieV2/Types/RevealRequestStatus.hs view
@@ -0,0 +1,78 @@+{-# 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.MacieV2.Types.RevealRequestStatus+-- 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.MacieV2.Types.RevealRequestStatus+ ( RevealRequestStatus+ ( ..,+ RevealRequestStatus_ERROR,+ RevealRequestStatus_PROCESSING,+ RevealRequestStatus_SUCCESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The status of a request to retrieve occurrences of sensitive data+-- reported by a finding. Possible values are:+newtype RevealRequestStatus = RevealRequestStatus'+ { fromRevealRequestStatus ::+ 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 RevealRequestStatus_ERROR :: RevealRequestStatus+pattern RevealRequestStatus_ERROR = RevealRequestStatus' "ERROR"++pattern RevealRequestStatus_PROCESSING :: RevealRequestStatus+pattern RevealRequestStatus_PROCESSING = RevealRequestStatus' "PROCESSING"++pattern RevealRequestStatus_SUCCESS :: RevealRequestStatus+pattern RevealRequestStatus_SUCCESS = RevealRequestStatus' "SUCCESS"++{-# COMPLETE+ RevealRequestStatus_ERROR,+ RevealRequestStatus_PROCESSING,+ RevealRequestStatus_SUCCESS,+ RevealRequestStatus'+ #-}
+ gen/Amazonka/MacieV2/Types/RevealStatus.hs view
@@ -0,0 +1,73 @@+{-# 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.MacieV2.Types.RevealStatus+-- 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.MacieV2.Types.RevealStatus+ ( RevealStatus+ ( ..,+ RevealStatus_DISABLED,+ RevealStatus_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The status of the configuration for retrieving occurrences of sensitive+-- data reported by findings. Valid values are:+newtype RevealStatus = RevealStatus'+ { fromRevealStatus ::+ 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 RevealStatus_DISABLED :: RevealStatus+pattern RevealStatus_DISABLED = RevealStatus' "DISABLED"++pattern RevealStatus_ENABLED :: RevealStatus+pattern RevealStatus_ENABLED = RevealStatus' "ENABLED"++{-# COMPLETE+ RevealStatus_DISABLED,+ RevealStatus_ENABLED,+ RevealStatus'+ #-}
+ gen/Amazonka/MacieV2/Types/S3Bucket.hs view
@@ -0,0 +1,228 @@+{-# 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.MacieV2.Types.S3Bucket+-- 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.MacieV2.Types.S3Bucket where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.AllowsUnencryptedObjectUploads+import Amazonka.MacieV2.Types.BucketPublicAccess+import Amazonka.MacieV2.Types.KeyValuePair+import Amazonka.MacieV2.Types.S3BucketOwner+import Amazonka.MacieV2.Types.ServerSideEncryption+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the S3 bucket that a finding applies to.+--+-- /See:/ 'newS3Bucket' smart constructor.+data S3Bucket = S3Bucket'+ { -- | Specifies whether the bucket policy for the bucket requires server-side+ -- encryption of objects when objects are uploaded to the bucket. Possible+ -- values are:+ --+ -- - FALSE - The bucket policy requires server-side encryption of new+ -- objects. PutObject requests must include a valid server-side+ -- encryption header.+ --+ -- - TRUE - The bucket doesn\'t have a bucket policy or it has a bucket+ -- policy that doesn\'t require server-side encryption of new objects.+ -- If a bucket policy exists, it doesn\'t require PutObject requests to+ -- include a valid server-side encryption header.+ --+ -- - UNKNOWN - Amazon Macie can\'t determine whether the bucket policy+ -- requires server-side encryption of new objects.+ --+ -- Valid server-side encryption headers are: x-amz-server-side-encryption+ -- with a value of AES256 or aws:kms, and+ -- x-amz-server-side-encryption-customer-algorithm with a value of AES256.+ allowsUnencryptedObjectUploads :: Prelude.Maybe AllowsUnencryptedObjectUploads,+ -- | The Amazon Resource Name (ARN) of the bucket.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when the bucket+ -- was created.+ createdAt :: Prelude.Maybe Data.ISO8601,+ -- | The type of server-side encryption that\'s used by default to encrypt+ -- objects in the bucket.+ defaultServerSideEncryption :: Prelude.Maybe ServerSideEncryption,+ -- | The name of the bucket.+ name :: Prelude.Maybe Prelude.Text,+ -- | The display name and canonical user ID for the Amazon Web Services+ -- account that owns the bucket.+ owner :: Prelude.Maybe S3BucketOwner,+ -- | The permissions settings that determine whether the bucket is publicly+ -- accessible.+ publicAccess :: Prelude.Maybe BucketPublicAccess,+ -- | The tags that are associated with the bucket.+ tags :: Prelude.Maybe [KeyValuePair]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Bucket' 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:+--+-- 'allowsUnencryptedObjectUploads', 's3Bucket_allowsUnencryptedObjectUploads' - Specifies whether the bucket policy for the bucket requires server-side+-- encryption of objects when objects are uploaded to the bucket. Possible+-- values are:+--+-- - FALSE - The bucket policy requires server-side encryption of new+-- objects. PutObject requests must include a valid server-side+-- encryption header.+--+-- - TRUE - The bucket doesn\'t have a bucket policy or it has a bucket+-- policy that doesn\'t require server-side encryption of new objects.+-- If a bucket policy exists, it doesn\'t require PutObject requests to+-- include a valid server-side encryption header.+--+-- - UNKNOWN - Amazon Macie can\'t determine whether the bucket policy+-- requires server-side encryption of new objects.+--+-- Valid server-side encryption headers are: x-amz-server-side-encryption+-- with a value of AES256 or aws:kms, and+-- x-amz-server-side-encryption-customer-algorithm with a value of AES256.+--+-- 'arn', 's3Bucket_arn' - The Amazon Resource Name (ARN) of the bucket.+--+-- 'createdAt', 's3Bucket_createdAt' - The date and time, in UTC and extended ISO 8601 format, when the bucket+-- was created.+--+-- 'defaultServerSideEncryption', 's3Bucket_defaultServerSideEncryption' - The type of server-side encryption that\'s used by default to encrypt+-- objects in the bucket.+--+-- 'name', 's3Bucket_name' - The name of the bucket.+--+-- 'owner', 's3Bucket_owner' - The display name and canonical user ID for the Amazon Web Services+-- account that owns the bucket.+--+-- 'publicAccess', 's3Bucket_publicAccess' - The permissions settings that determine whether the bucket is publicly+-- accessible.+--+-- 'tags', 's3Bucket_tags' - The tags that are associated with the bucket.+newS3Bucket ::+ S3Bucket+newS3Bucket =+ S3Bucket'+ { allowsUnencryptedObjectUploads =+ Prelude.Nothing,+ arn = Prelude.Nothing,+ createdAt = Prelude.Nothing,+ defaultServerSideEncryption = Prelude.Nothing,+ name = Prelude.Nothing,+ owner = Prelude.Nothing,+ publicAccess = Prelude.Nothing,+ tags = Prelude.Nothing+ }++-- | Specifies whether the bucket policy for the bucket requires server-side+-- encryption of objects when objects are uploaded to the bucket. Possible+-- values are:+--+-- - FALSE - The bucket policy requires server-side encryption of new+-- objects. PutObject requests must include a valid server-side+-- encryption header.+--+-- - TRUE - The bucket doesn\'t have a bucket policy or it has a bucket+-- policy that doesn\'t require server-side encryption of new objects.+-- If a bucket policy exists, it doesn\'t require PutObject requests to+-- include a valid server-side encryption header.+--+-- - UNKNOWN - Amazon Macie can\'t determine whether the bucket policy+-- requires server-side encryption of new objects.+--+-- Valid server-side encryption headers are: x-amz-server-side-encryption+-- with a value of AES256 or aws:kms, and+-- x-amz-server-side-encryption-customer-algorithm with a value of AES256.+s3Bucket_allowsUnencryptedObjectUploads :: Lens.Lens' S3Bucket (Prelude.Maybe AllowsUnencryptedObjectUploads)+s3Bucket_allowsUnencryptedObjectUploads = Lens.lens (\S3Bucket' {allowsUnencryptedObjectUploads} -> allowsUnencryptedObjectUploads) (\s@S3Bucket' {} a -> s {allowsUnencryptedObjectUploads = a} :: S3Bucket)++-- | The Amazon Resource Name (ARN) of the bucket.+s3Bucket_arn :: Lens.Lens' S3Bucket (Prelude.Maybe Prelude.Text)+s3Bucket_arn = Lens.lens (\S3Bucket' {arn} -> arn) (\s@S3Bucket' {} a -> s {arn = a} :: S3Bucket)++-- | The date and time, in UTC and extended ISO 8601 format, when the bucket+-- was created.+s3Bucket_createdAt :: Lens.Lens' S3Bucket (Prelude.Maybe Prelude.UTCTime)+s3Bucket_createdAt = Lens.lens (\S3Bucket' {createdAt} -> createdAt) (\s@S3Bucket' {} a -> s {createdAt = a} :: S3Bucket) Prelude.. Lens.mapping Data._Time++-- | The type of server-side encryption that\'s used by default to encrypt+-- objects in the bucket.+s3Bucket_defaultServerSideEncryption :: Lens.Lens' S3Bucket (Prelude.Maybe ServerSideEncryption)+s3Bucket_defaultServerSideEncryption = Lens.lens (\S3Bucket' {defaultServerSideEncryption} -> defaultServerSideEncryption) (\s@S3Bucket' {} a -> s {defaultServerSideEncryption = a} :: S3Bucket)++-- | The name of the bucket.+s3Bucket_name :: Lens.Lens' S3Bucket (Prelude.Maybe Prelude.Text)+s3Bucket_name = Lens.lens (\S3Bucket' {name} -> name) (\s@S3Bucket' {} a -> s {name = a} :: S3Bucket)++-- | The display name and canonical user ID for the Amazon Web Services+-- account that owns the bucket.+s3Bucket_owner :: Lens.Lens' S3Bucket (Prelude.Maybe S3BucketOwner)+s3Bucket_owner = Lens.lens (\S3Bucket' {owner} -> owner) (\s@S3Bucket' {} a -> s {owner = a} :: S3Bucket)++-- | The permissions settings that determine whether the bucket is publicly+-- accessible.+s3Bucket_publicAccess :: Lens.Lens' S3Bucket (Prelude.Maybe BucketPublicAccess)+s3Bucket_publicAccess = Lens.lens (\S3Bucket' {publicAccess} -> publicAccess) (\s@S3Bucket' {} a -> s {publicAccess = a} :: S3Bucket)++-- | The tags that are associated with the bucket.+s3Bucket_tags :: Lens.Lens' S3Bucket (Prelude.Maybe [KeyValuePair])+s3Bucket_tags = Lens.lens (\S3Bucket' {tags} -> tags) (\s@S3Bucket' {} a -> s {tags = a} :: S3Bucket) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON S3Bucket where+ parseJSON =+ Data.withObject+ "S3Bucket"+ ( \x ->+ S3Bucket'+ Prelude.<$> (x Data..:? "allowsUnencryptedObjectUploads")+ Prelude.<*> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "createdAt")+ Prelude.<*> (x Data..:? "defaultServerSideEncryption")+ Prelude.<*> (x Data..:? "name")+ Prelude.<*> (x Data..:? "owner")+ Prelude.<*> (x Data..:? "publicAccess")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable S3Bucket where+ hashWithSalt _salt S3Bucket' {..} =+ _salt+ `Prelude.hashWithSalt` allowsUnencryptedObjectUploads+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` createdAt+ `Prelude.hashWithSalt` defaultServerSideEncryption+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` owner+ `Prelude.hashWithSalt` publicAccess+ `Prelude.hashWithSalt` tags++instance Prelude.NFData S3Bucket where+ rnf S3Bucket' {..} =+ Prelude.rnf allowsUnencryptedObjectUploads+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf createdAt+ `Prelude.seq` Prelude.rnf defaultServerSideEncryption+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf owner+ `Prelude.seq` Prelude.rnf publicAccess+ `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/MacieV2/Types/S3BucketCriteriaForJob.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.MacieV2.Types.S3BucketCriteriaForJob+-- 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.MacieV2.Types.S3BucketCriteriaForJob where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.CriteriaBlockForJob+import qualified Amazonka.Prelude as Prelude++-- | Specifies property- and tag-based conditions that define criteria for+-- including or excluding S3 buckets from a classification job. Exclude+-- conditions take precedence over include conditions.+--+-- /See:/ 'newS3BucketCriteriaForJob' smart constructor.+data S3BucketCriteriaForJob = S3BucketCriteriaForJob'+ { -- | The property- and tag-based conditions that determine which buckets to+ -- exclude from the job.+ excludes :: Prelude.Maybe CriteriaBlockForJob,+ -- | The property- and tag-based conditions that determine which buckets to+ -- include in the job.+ includes :: Prelude.Maybe CriteriaBlockForJob+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3BucketCriteriaForJob' 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:+--+-- 'excludes', 's3BucketCriteriaForJob_excludes' - The property- and tag-based conditions that determine which buckets to+-- exclude from the job.+--+-- 'includes', 's3BucketCriteriaForJob_includes' - The property- and tag-based conditions that determine which buckets to+-- include in the job.+newS3BucketCriteriaForJob ::+ S3BucketCriteriaForJob+newS3BucketCriteriaForJob =+ S3BucketCriteriaForJob'+ { excludes = Prelude.Nothing,+ includes = Prelude.Nothing+ }++-- | The property- and tag-based conditions that determine which buckets to+-- exclude from the job.+s3BucketCriteriaForJob_excludes :: Lens.Lens' S3BucketCriteriaForJob (Prelude.Maybe CriteriaBlockForJob)+s3BucketCriteriaForJob_excludes = Lens.lens (\S3BucketCriteriaForJob' {excludes} -> excludes) (\s@S3BucketCriteriaForJob' {} a -> s {excludes = a} :: S3BucketCriteriaForJob)++-- | The property- and tag-based conditions that determine which buckets to+-- include in the job.+s3BucketCriteriaForJob_includes :: Lens.Lens' S3BucketCriteriaForJob (Prelude.Maybe CriteriaBlockForJob)+s3BucketCriteriaForJob_includes = Lens.lens (\S3BucketCriteriaForJob' {includes} -> includes) (\s@S3BucketCriteriaForJob' {} a -> s {includes = a} :: S3BucketCriteriaForJob)++instance Data.FromJSON S3BucketCriteriaForJob where+ parseJSON =+ Data.withObject+ "S3BucketCriteriaForJob"+ ( \x ->+ S3BucketCriteriaForJob'+ Prelude.<$> (x Data..:? "excludes")+ Prelude.<*> (x Data..:? "includes")+ )++instance Prelude.Hashable S3BucketCriteriaForJob where+ hashWithSalt _salt S3BucketCriteriaForJob' {..} =+ _salt+ `Prelude.hashWithSalt` excludes+ `Prelude.hashWithSalt` includes++instance Prelude.NFData S3BucketCriteriaForJob where+ rnf S3BucketCriteriaForJob' {..} =+ Prelude.rnf excludes+ `Prelude.seq` Prelude.rnf includes++instance Data.ToJSON S3BucketCriteriaForJob where+ toJSON S3BucketCriteriaForJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("excludes" Data..=) Prelude.<$> excludes,+ ("includes" Data..=) Prelude.<$> includes+ ]+ )
+ gen/Amazonka/MacieV2/Types/S3BucketDefinitionForJob.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.MacieV2.Types.S3BucketDefinitionForJob+-- 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.MacieV2.Types.S3BucketDefinitionForJob 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++-- | Specifies an Amazon Web Services account that owns S3 buckets for a+-- classification job to analyze, and one or more specific buckets to+-- analyze for that account.+--+-- /See:/ 'newS3BucketDefinitionForJob' smart constructor.+data S3BucketDefinitionForJob = S3BucketDefinitionForJob'+ { -- | The unique identifier for the Amazon Web Services account that owns the+ -- buckets.+ accountId :: Prelude.Text,+ -- | An array that lists the names of the buckets.+ buckets :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3BucketDefinitionForJob' 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:+--+-- 'accountId', 's3BucketDefinitionForJob_accountId' - The unique identifier for the Amazon Web Services account that owns the+-- buckets.+--+-- 'buckets', 's3BucketDefinitionForJob_buckets' - An array that lists the names of the buckets.+newS3BucketDefinitionForJob ::+ -- | 'accountId'+ Prelude.Text ->+ S3BucketDefinitionForJob+newS3BucketDefinitionForJob pAccountId_ =+ S3BucketDefinitionForJob'+ { accountId = pAccountId_,+ buckets = Prelude.mempty+ }++-- | The unique identifier for the Amazon Web Services account that owns the+-- buckets.+s3BucketDefinitionForJob_accountId :: Lens.Lens' S3BucketDefinitionForJob Prelude.Text+s3BucketDefinitionForJob_accountId = Lens.lens (\S3BucketDefinitionForJob' {accountId} -> accountId) (\s@S3BucketDefinitionForJob' {} a -> s {accountId = a} :: S3BucketDefinitionForJob)++-- | An array that lists the names of the buckets.+s3BucketDefinitionForJob_buckets :: Lens.Lens' S3BucketDefinitionForJob [Prelude.Text]+s3BucketDefinitionForJob_buckets = Lens.lens (\S3BucketDefinitionForJob' {buckets} -> buckets) (\s@S3BucketDefinitionForJob' {} a -> s {buckets = a} :: S3BucketDefinitionForJob) Prelude.. Lens.coerced++instance Data.FromJSON S3BucketDefinitionForJob where+ parseJSON =+ Data.withObject+ "S3BucketDefinitionForJob"+ ( \x ->+ S3BucketDefinitionForJob'+ Prelude.<$> (x Data..: "accountId")+ Prelude.<*> (x Data..:? "buckets" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable S3BucketDefinitionForJob where+ hashWithSalt _salt S3BucketDefinitionForJob' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` buckets++instance Prelude.NFData S3BucketDefinitionForJob where+ rnf S3BucketDefinitionForJob' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf buckets++instance Data.ToJSON S3BucketDefinitionForJob where+ toJSON S3BucketDefinitionForJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("accountId" Data..= accountId),+ Prelude.Just ("buckets" Data..= buckets)+ ]+ )
+ gen/Amazonka/MacieV2/Types/S3BucketOwner.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.MacieV2.Types.S3BucketOwner+-- 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.MacieV2.Types.S3BucketOwner 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++-- | Provides information about the Amazon Web Services account that owns an+-- S3 bucket.+--+-- /See:/ 'newS3BucketOwner' smart constructor.+data S3BucketOwner = S3BucketOwner'+ { -- | The display name of the account that owns the bucket.+ displayName :: Prelude.Maybe Prelude.Text,+ -- | The canonical user ID for the account that owns the bucket.+ id :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3BucketOwner' 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:+--+-- 'displayName', 's3BucketOwner_displayName' - The display name of the account that owns the bucket.+--+-- 'id', 's3BucketOwner_id' - The canonical user ID for the account that owns the bucket.+newS3BucketOwner ::+ S3BucketOwner+newS3BucketOwner =+ S3BucketOwner'+ { displayName = Prelude.Nothing,+ id = Prelude.Nothing+ }++-- | The display name of the account that owns the bucket.+s3BucketOwner_displayName :: Lens.Lens' S3BucketOwner (Prelude.Maybe Prelude.Text)+s3BucketOwner_displayName = Lens.lens (\S3BucketOwner' {displayName} -> displayName) (\s@S3BucketOwner' {} a -> s {displayName = a} :: S3BucketOwner)++-- | The canonical user ID for the account that owns the bucket.+s3BucketOwner_id :: Lens.Lens' S3BucketOwner (Prelude.Maybe Prelude.Text)+s3BucketOwner_id = Lens.lens (\S3BucketOwner' {id} -> id) (\s@S3BucketOwner' {} a -> s {id = a} :: S3BucketOwner)++instance Data.FromJSON S3BucketOwner where+ parseJSON =+ Data.withObject+ "S3BucketOwner"+ ( \x ->+ S3BucketOwner'+ Prelude.<$> (x Data..:? "displayName")+ Prelude.<*> (x Data..:? "id")+ )++instance Prelude.Hashable S3BucketOwner where+ hashWithSalt _salt S3BucketOwner' {..} =+ _salt+ `Prelude.hashWithSalt` displayName+ `Prelude.hashWithSalt` id++instance Prelude.NFData S3BucketOwner where+ rnf S3BucketOwner' {..} =+ Prelude.rnf displayName+ `Prelude.seq` Prelude.rnf id
+ gen/Amazonka/MacieV2/Types/S3ClassificationScope.hs view
@@ -0,0 +1,72 @@+{-# 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.MacieV2.Types.S3ClassificationScope+-- 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.MacieV2.Types.S3ClassificationScope where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.S3ClassificationScopeExclusion+import qualified Amazonka.Prelude as Prelude++-- | Specifies the S3 buckets that are excluded from automated sensitive data+-- discovery for an Amazon Macie account.+--+-- /See:/ 'newS3ClassificationScope' smart constructor.+data S3ClassificationScope = S3ClassificationScope'+ { -- | The S3 buckets that are excluded.+ excludes :: S3ClassificationScopeExclusion+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3ClassificationScope' 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:+--+-- 'excludes', 's3ClassificationScope_excludes' - The S3 buckets that are excluded.+newS3ClassificationScope ::+ -- | 'excludes'+ S3ClassificationScopeExclusion ->+ S3ClassificationScope+newS3ClassificationScope pExcludes_ =+ S3ClassificationScope' {excludes = pExcludes_}++-- | The S3 buckets that are excluded.+s3ClassificationScope_excludes :: Lens.Lens' S3ClassificationScope S3ClassificationScopeExclusion+s3ClassificationScope_excludes = Lens.lens (\S3ClassificationScope' {excludes} -> excludes) (\s@S3ClassificationScope' {} a -> s {excludes = a} :: S3ClassificationScope)++instance Data.FromJSON S3ClassificationScope where+ parseJSON =+ Data.withObject+ "S3ClassificationScope"+ ( \x ->+ S3ClassificationScope'+ Prelude.<$> (x Data..: "excludes")+ )++instance Prelude.Hashable S3ClassificationScope where+ hashWithSalt _salt S3ClassificationScope' {..} =+ _salt `Prelude.hashWithSalt` excludes++instance Prelude.NFData S3ClassificationScope where+ rnf S3ClassificationScope' {..} = Prelude.rnf excludes
+ gen/Amazonka/MacieV2/Types/S3ClassificationScopeExclusion.hs view
@@ -0,0 +1,84 @@+{-# 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.MacieV2.Types.S3ClassificationScopeExclusion+-- 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.MacieV2.Types.S3ClassificationScopeExclusion 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++-- | Specifies the names of the S3 buckets that are excluded from automated+-- sensitive data discovery.+--+-- /See:/ 'newS3ClassificationScopeExclusion' smart constructor.+data S3ClassificationScopeExclusion = S3ClassificationScopeExclusion'+ { -- | An array of strings, one for each S3 bucket that is excluded. Each+ -- string is the full name of an excluded bucket.+ bucketNames :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3ClassificationScopeExclusion' 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:+--+-- 'bucketNames', 's3ClassificationScopeExclusion_bucketNames' - An array of strings, one for each S3 bucket that is excluded. Each+-- string is the full name of an excluded bucket.+newS3ClassificationScopeExclusion ::+ S3ClassificationScopeExclusion+newS3ClassificationScopeExclusion =+ S3ClassificationScopeExclusion'+ { bucketNames =+ Prelude.mempty+ }++-- | An array of strings, one for each S3 bucket that is excluded. Each+-- string is the full name of an excluded bucket.+s3ClassificationScopeExclusion_bucketNames :: Lens.Lens' S3ClassificationScopeExclusion [Prelude.Text]+s3ClassificationScopeExclusion_bucketNames = Lens.lens (\S3ClassificationScopeExclusion' {bucketNames} -> bucketNames) (\s@S3ClassificationScopeExclusion' {} a -> s {bucketNames = a} :: S3ClassificationScopeExclusion) Prelude.. Lens.coerced++instance Data.FromJSON S3ClassificationScopeExclusion where+ parseJSON =+ Data.withObject+ "S3ClassificationScopeExclusion"+ ( \x ->+ S3ClassificationScopeExclusion'+ Prelude.<$> (x Data..:? "bucketNames" Data..!= Prelude.mempty)+ )++instance+ Prelude.Hashable+ S3ClassificationScopeExclusion+ where+ hashWithSalt+ _salt+ S3ClassificationScopeExclusion' {..} =+ _salt `Prelude.hashWithSalt` bucketNames++instance+ Prelude.NFData+ S3ClassificationScopeExclusion+ where+ rnf S3ClassificationScopeExclusion' {..} =+ Prelude.rnf bucketNames
+ gen/Amazonka/MacieV2/Types/S3ClassificationScopeExclusionUpdate.hs view
@@ -0,0 +1,141 @@+{-# 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.MacieV2.Types.S3ClassificationScopeExclusionUpdate+-- 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.MacieV2.Types.S3ClassificationScopeExclusionUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.ClassificationScopeUpdateOperation+import qualified Amazonka.Prelude as Prelude++-- | Specifies S3 buckets to add or remove from the exclusion list defined by+-- the classification scope for an Amazon Macie account.+--+-- /See:/ 'newS3ClassificationScopeExclusionUpdate' smart constructor.+data S3ClassificationScopeExclusionUpdate = S3ClassificationScopeExclusionUpdate'+ { -- | Depending on the value specified for the update operation+ -- (ClassificationScopeUpdateOperation), an array of strings that: lists+ -- the names of buckets to add or remove from the list, or specifies a new+ -- set of bucket names that overwrites all existing names in the list. Each+ -- string must be the full name of an S3 bucket. Values are case sensitive.+ bucketNames :: [Prelude.Text],+ -- | Specifies how to apply the changes to the exclusion list. Valid values+ -- are:+ --+ -- - ADD - Append the specified bucket names to the current list.+ --+ -- - REMOVE - Remove the specified bucket names from the current list.+ --+ -- - REPLACE - Overwrite the current list with the specified list of+ -- bucket names. If you specify this value, Amazon Macie removes all+ -- existing names from the list and adds all the specified names to the+ -- list.+ operation :: ClassificationScopeUpdateOperation+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3ClassificationScopeExclusionUpdate' 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:+--+-- 'bucketNames', 's3ClassificationScopeExclusionUpdate_bucketNames' - Depending on the value specified for the update operation+-- (ClassificationScopeUpdateOperation), an array of strings that: lists+-- the names of buckets to add or remove from the list, or specifies a new+-- set of bucket names that overwrites all existing names in the list. Each+-- string must be the full name of an S3 bucket. Values are case sensitive.+--+-- 'operation', 's3ClassificationScopeExclusionUpdate_operation' - Specifies how to apply the changes to the exclusion list. Valid values+-- are:+--+-- - ADD - Append the specified bucket names to the current list.+--+-- - REMOVE - Remove the specified bucket names from the current list.+--+-- - REPLACE - Overwrite the current list with the specified list of+-- bucket names. If you specify this value, Amazon Macie removes all+-- existing names from the list and adds all the specified names to the+-- list.+newS3ClassificationScopeExclusionUpdate ::+ -- | 'operation'+ ClassificationScopeUpdateOperation ->+ S3ClassificationScopeExclusionUpdate+newS3ClassificationScopeExclusionUpdate pOperation_ =+ S3ClassificationScopeExclusionUpdate'+ { bucketNames =+ Prelude.mempty,+ operation = pOperation_+ }++-- | Depending on the value specified for the update operation+-- (ClassificationScopeUpdateOperation), an array of strings that: lists+-- the names of buckets to add or remove from the list, or specifies a new+-- set of bucket names that overwrites all existing names in the list. Each+-- string must be the full name of an S3 bucket. Values are case sensitive.+s3ClassificationScopeExclusionUpdate_bucketNames :: Lens.Lens' S3ClassificationScopeExclusionUpdate [Prelude.Text]+s3ClassificationScopeExclusionUpdate_bucketNames = Lens.lens (\S3ClassificationScopeExclusionUpdate' {bucketNames} -> bucketNames) (\s@S3ClassificationScopeExclusionUpdate' {} a -> s {bucketNames = a} :: S3ClassificationScopeExclusionUpdate) Prelude.. Lens.coerced++-- | Specifies how to apply the changes to the exclusion list. Valid values+-- are:+--+-- - ADD - Append the specified bucket names to the current list.+--+-- - REMOVE - Remove the specified bucket names from the current list.+--+-- - REPLACE - Overwrite the current list with the specified list of+-- bucket names. If you specify this value, Amazon Macie removes all+-- existing names from the list and adds all the specified names to the+-- list.+s3ClassificationScopeExclusionUpdate_operation :: Lens.Lens' S3ClassificationScopeExclusionUpdate ClassificationScopeUpdateOperation+s3ClassificationScopeExclusionUpdate_operation = Lens.lens (\S3ClassificationScopeExclusionUpdate' {operation} -> operation) (\s@S3ClassificationScopeExclusionUpdate' {} a -> s {operation = a} :: S3ClassificationScopeExclusionUpdate)++instance+ Prelude.Hashable+ S3ClassificationScopeExclusionUpdate+ where+ hashWithSalt+ _salt+ S3ClassificationScopeExclusionUpdate' {..} =+ _salt+ `Prelude.hashWithSalt` bucketNames+ `Prelude.hashWithSalt` operation++instance+ Prelude.NFData+ S3ClassificationScopeExclusionUpdate+ where+ rnf S3ClassificationScopeExclusionUpdate' {..} =+ Prelude.rnf bucketNames+ `Prelude.seq` Prelude.rnf operation++instance+ Data.ToJSON+ S3ClassificationScopeExclusionUpdate+ where+ toJSON S3ClassificationScopeExclusionUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("bucketNames" Data..= bucketNames),+ Prelude.Just ("operation" Data..= operation)+ ]+ )
+ gen/Amazonka/MacieV2/Types/S3ClassificationScopeUpdate.hs view
@@ -0,0 +1,71 @@+{-# 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.MacieV2.Types.S3ClassificationScopeUpdate+-- 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.MacieV2.Types.S3ClassificationScopeUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.S3ClassificationScopeExclusionUpdate+import qualified Amazonka.Prelude as Prelude++-- | Specifies changes to the list of S3 buckets that are excluded from+-- automated sensitive data discovery for an Amazon Macie account.+--+-- /See:/ 'newS3ClassificationScopeUpdate' smart constructor.+data S3ClassificationScopeUpdate = S3ClassificationScopeUpdate'+ { -- | The names of the S3 buckets to add or remove from the list.+ excludes :: S3ClassificationScopeExclusionUpdate+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3ClassificationScopeUpdate' 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:+--+-- 'excludes', 's3ClassificationScopeUpdate_excludes' - The names of the S3 buckets to add or remove from the list.+newS3ClassificationScopeUpdate ::+ -- | 'excludes'+ S3ClassificationScopeExclusionUpdate ->+ S3ClassificationScopeUpdate+newS3ClassificationScopeUpdate pExcludes_ =+ S3ClassificationScopeUpdate' {excludes = pExcludes_}++-- | The names of the S3 buckets to add or remove from the list.+s3ClassificationScopeUpdate_excludes :: Lens.Lens' S3ClassificationScopeUpdate S3ClassificationScopeExclusionUpdate+s3ClassificationScopeUpdate_excludes = Lens.lens (\S3ClassificationScopeUpdate' {excludes} -> excludes) (\s@S3ClassificationScopeUpdate' {} a -> s {excludes = a} :: S3ClassificationScopeUpdate)++instance Prelude.Hashable S3ClassificationScopeUpdate where+ hashWithSalt _salt S3ClassificationScopeUpdate' {..} =+ _salt `Prelude.hashWithSalt` excludes++instance Prelude.NFData S3ClassificationScopeUpdate where+ rnf S3ClassificationScopeUpdate' {..} =+ Prelude.rnf excludes++instance Data.ToJSON S3ClassificationScopeUpdate where+ toJSON S3ClassificationScopeUpdate' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("excludes" Data..= excludes)]+ )
+ gen/Amazonka/MacieV2/Types/S3Destination.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.Types.S3Destination+-- 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.MacieV2.Types.S3Destination 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++-- | Specifies an S3 bucket to store data classification results in, and the+-- encryption settings to use when storing results in that bucket.+--+-- /See:/ 'newS3Destination' smart constructor.+data S3Destination = S3Destination'+ { -- | The path prefix to use in the path to the location in the bucket. This+ -- prefix specifies where to store classification results in the bucket.+ keyPrefix :: Prelude.Maybe Prelude.Text,+ -- | The name of the bucket.+ bucketName :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the customer managed KMS key to use+ -- for encryption of the results. This must be the ARN of an existing,+ -- symmetric encryption KMS key that\'s in the same Amazon Web Services+ -- Region as the bucket.+ kmsKeyArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Destination' 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:+--+-- 'keyPrefix', 's3Destination_keyPrefix' - The path prefix to use in the path to the location in the bucket. This+-- prefix specifies where to store classification results in the bucket.+--+-- 'bucketName', 's3Destination_bucketName' - The name of the bucket.+--+-- 'kmsKeyArn', 's3Destination_kmsKeyArn' - The Amazon Resource Name (ARN) of the customer managed KMS key to use+-- for encryption of the results. This must be the ARN of an existing,+-- symmetric encryption KMS key that\'s in the same Amazon Web Services+-- Region as the bucket.+newS3Destination ::+ -- | 'bucketName'+ Prelude.Text ->+ -- | 'kmsKeyArn'+ Prelude.Text ->+ S3Destination+newS3Destination pBucketName_ pKmsKeyArn_ =+ S3Destination'+ { keyPrefix = Prelude.Nothing,+ bucketName = pBucketName_,+ kmsKeyArn = pKmsKeyArn_+ }++-- | The path prefix to use in the path to the location in the bucket. This+-- prefix specifies where to store classification results in the bucket.+s3Destination_keyPrefix :: Lens.Lens' S3Destination (Prelude.Maybe Prelude.Text)+s3Destination_keyPrefix = Lens.lens (\S3Destination' {keyPrefix} -> keyPrefix) (\s@S3Destination' {} a -> s {keyPrefix = a} :: S3Destination)++-- | The name of the bucket.+s3Destination_bucketName :: Lens.Lens' S3Destination Prelude.Text+s3Destination_bucketName = Lens.lens (\S3Destination' {bucketName} -> bucketName) (\s@S3Destination' {} a -> s {bucketName = a} :: S3Destination)++-- | The Amazon Resource Name (ARN) of the customer managed KMS key to use+-- for encryption of the results. This must be the ARN of an existing,+-- symmetric encryption KMS key that\'s in the same Amazon Web Services+-- Region as the bucket.+s3Destination_kmsKeyArn :: Lens.Lens' S3Destination Prelude.Text+s3Destination_kmsKeyArn = Lens.lens (\S3Destination' {kmsKeyArn} -> kmsKeyArn) (\s@S3Destination' {} a -> s {kmsKeyArn = a} :: S3Destination)++instance Data.FromJSON S3Destination where+ parseJSON =+ Data.withObject+ "S3Destination"+ ( \x ->+ S3Destination'+ Prelude.<$> (x Data..:? "keyPrefix")+ Prelude.<*> (x Data..: "bucketName")+ Prelude.<*> (x Data..: "kmsKeyArn")+ )++instance Prelude.Hashable S3Destination where+ hashWithSalt _salt S3Destination' {..} =+ _salt+ `Prelude.hashWithSalt` keyPrefix+ `Prelude.hashWithSalt` bucketName+ `Prelude.hashWithSalt` kmsKeyArn++instance Prelude.NFData S3Destination where+ rnf S3Destination' {..} =+ Prelude.rnf keyPrefix+ `Prelude.seq` Prelude.rnf bucketName+ `Prelude.seq` Prelude.rnf kmsKeyArn++instance Data.ToJSON S3Destination where+ toJSON S3Destination' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("keyPrefix" Data..=) Prelude.<$> keyPrefix,+ Prelude.Just ("bucketName" Data..= bucketName),+ Prelude.Just ("kmsKeyArn" Data..= kmsKeyArn)+ ]+ )
+ gen/Amazonka/MacieV2/Types/S3JobDefinition.hs view
@@ -0,0 +1,150 @@+{-# 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.MacieV2.Types.S3JobDefinition+-- 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.MacieV2.Types.S3JobDefinition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.S3BucketCriteriaForJob+import Amazonka.MacieV2.Types.S3BucketDefinitionForJob+import Amazonka.MacieV2.Types.Scoping+import qualified Amazonka.Prelude as Prelude++-- | Specifies which S3 buckets contain the objects that a classification job+-- analyzes, and the scope of that analysis. The bucket specification can+-- be static (bucketDefinitions) or dynamic (bucketCriteria). If it\'s+-- static, the job analyzes objects in the same predefined set of buckets+-- each time the job runs. If it\'s dynamic, the job analyzes objects in+-- any buckets that match the specified criteria each time the job starts+-- to run.+--+-- /See:/ 'newS3JobDefinition' smart constructor.+data S3JobDefinition = S3JobDefinition'+ { -- | The property- and tag-based conditions that determine which S3 buckets+ -- to include or exclude from the analysis. Each time the job runs, the job+ -- uses these criteria to determine which buckets contain objects to+ -- analyze. A job\'s definition can contain a bucketCriteria object or a+ -- bucketDefinitions array, not both.+ bucketCriteria :: Prelude.Maybe S3BucketCriteriaForJob,+ -- | An array of objects, one for each Amazon Web Services account that owns+ -- specific S3 buckets to analyze. Each object specifies the account ID for+ -- an account and one or more buckets to analyze for that account. A job\'s+ -- definition can contain a bucketDefinitions array or a bucketCriteria+ -- object, not both.+ bucketDefinitions :: Prelude.Maybe [S3BucketDefinitionForJob],+ -- | The property- and tag-based conditions that determine which S3 objects+ -- to include or exclude from the analysis. Each time the job runs, the job+ -- uses these criteria to determine which objects to analyze.+ scoping :: Prelude.Maybe Scoping+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3JobDefinition' 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:+--+-- 'bucketCriteria', 's3JobDefinition_bucketCriteria' - The property- and tag-based conditions that determine which S3 buckets+-- to include or exclude from the analysis. Each time the job runs, the job+-- uses these criteria to determine which buckets contain objects to+-- analyze. A job\'s definition can contain a bucketCriteria object or a+-- bucketDefinitions array, not both.+--+-- 'bucketDefinitions', 's3JobDefinition_bucketDefinitions' - An array of objects, one for each Amazon Web Services account that owns+-- specific S3 buckets to analyze. Each object specifies the account ID for+-- an account and one or more buckets to analyze for that account. A job\'s+-- definition can contain a bucketDefinitions array or a bucketCriteria+-- object, not both.+--+-- 'scoping', 's3JobDefinition_scoping' - The property- and tag-based conditions that determine which S3 objects+-- to include or exclude from the analysis. Each time the job runs, the job+-- uses these criteria to determine which objects to analyze.+newS3JobDefinition ::+ S3JobDefinition+newS3JobDefinition =+ S3JobDefinition'+ { bucketCriteria = Prelude.Nothing,+ bucketDefinitions = Prelude.Nothing,+ scoping = Prelude.Nothing+ }++-- | The property- and tag-based conditions that determine which S3 buckets+-- to include or exclude from the analysis. Each time the job runs, the job+-- uses these criteria to determine which buckets contain objects to+-- analyze. A job\'s definition can contain a bucketCriteria object or a+-- bucketDefinitions array, not both.+s3JobDefinition_bucketCriteria :: Lens.Lens' S3JobDefinition (Prelude.Maybe S3BucketCriteriaForJob)+s3JobDefinition_bucketCriteria = Lens.lens (\S3JobDefinition' {bucketCriteria} -> bucketCriteria) (\s@S3JobDefinition' {} a -> s {bucketCriteria = a} :: S3JobDefinition)++-- | An array of objects, one for each Amazon Web Services account that owns+-- specific S3 buckets to analyze. Each object specifies the account ID for+-- an account and one or more buckets to analyze for that account. A job\'s+-- definition can contain a bucketDefinitions array or a bucketCriteria+-- object, not both.+s3JobDefinition_bucketDefinitions :: Lens.Lens' S3JobDefinition (Prelude.Maybe [S3BucketDefinitionForJob])+s3JobDefinition_bucketDefinitions = Lens.lens (\S3JobDefinition' {bucketDefinitions} -> bucketDefinitions) (\s@S3JobDefinition' {} a -> s {bucketDefinitions = a} :: S3JobDefinition) Prelude.. Lens.mapping Lens.coerced++-- | The property- and tag-based conditions that determine which S3 objects+-- to include or exclude from the analysis. Each time the job runs, the job+-- uses these criteria to determine which objects to analyze.+s3JobDefinition_scoping :: Lens.Lens' S3JobDefinition (Prelude.Maybe Scoping)+s3JobDefinition_scoping = Lens.lens (\S3JobDefinition' {scoping} -> scoping) (\s@S3JobDefinition' {} a -> s {scoping = a} :: S3JobDefinition)++instance Data.FromJSON S3JobDefinition where+ parseJSON =+ Data.withObject+ "S3JobDefinition"+ ( \x ->+ S3JobDefinition'+ Prelude.<$> (x Data..:? "bucketCriteria")+ Prelude.<*> ( x+ Data..:? "bucketDefinitions"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "scoping")+ )++instance Prelude.Hashable S3JobDefinition where+ hashWithSalt _salt S3JobDefinition' {..} =+ _salt+ `Prelude.hashWithSalt` bucketCriteria+ `Prelude.hashWithSalt` bucketDefinitions+ `Prelude.hashWithSalt` scoping++instance Prelude.NFData S3JobDefinition where+ rnf S3JobDefinition' {..} =+ Prelude.rnf bucketCriteria+ `Prelude.seq` Prelude.rnf bucketDefinitions+ `Prelude.seq` Prelude.rnf scoping++instance Data.ToJSON S3JobDefinition where+ toJSON S3JobDefinition' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("bucketCriteria" Data..=)+ Prelude.<$> bucketCriteria,+ ("bucketDefinitions" Data..=)+ Prelude.<$> bucketDefinitions,+ ("scoping" Data..=) Prelude.<$> scoping+ ]+ )
+ gen/Amazonka/MacieV2/Types/S3Object.hs view
@@ -0,0 +1,225 @@+{-# 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.MacieV2.Types.S3Object+-- 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.MacieV2.Types.S3Object where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.KeyValuePair+import Amazonka.MacieV2.Types.ServerSideEncryption+import Amazonka.MacieV2.Types.StorageClass+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the S3 object that a finding applies to.+--+-- /See:/ 'newS3Object' smart constructor.+data S3Object = S3Object'+ { -- | The Amazon Resource Name (ARN) of the bucket that contains the object.+ bucketArn :: Prelude.Maybe Prelude.Text,+ -- | The entity tag (ETag) that identifies the affected version of the+ -- object. If the object was overwritten or changed after Amazon Macie+ -- produced the finding, this value might be different from the current+ -- ETag for the object.+ eTag :: Prelude.Maybe Prelude.Text,+ -- | The file name extension of the object. If the object doesn\'t have a+ -- file name extension, this value is \"\".+ extension :: Prelude.Maybe Prelude.Text,+ -- | The full key (name) that\'s assigned to the object.+ key :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when the object+ -- was last modified.+ lastModified :: Prelude.Maybe Data.ISO8601,+ -- | The path to the object, including the full key (name).+ path :: Prelude.Maybe Prelude.Text,+ -- | Specifies whether the object is publicly accessible due to the+ -- combination of permissions settings that apply to the object.+ publicAccess :: Prelude.Maybe Prelude.Bool,+ -- | The type of server-side encryption that\'s used to encrypt the object.+ serverSideEncryption :: Prelude.Maybe ServerSideEncryption,+ -- | The total storage size, in bytes, of the object.+ size :: Prelude.Maybe Prelude.Integer,+ -- | The storage class of the object.+ storageClass :: Prelude.Maybe StorageClass,+ -- | The tags that are associated with the object.+ tags :: Prelude.Maybe [KeyValuePair],+ -- | The identifier for the affected version of the object.+ versionId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Object' 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:+--+-- 'bucketArn', 's3Object_bucketArn' - The Amazon Resource Name (ARN) of the bucket that contains the object.+--+-- 'eTag', 's3Object_eTag' - The entity tag (ETag) that identifies the affected version of the+-- object. If the object was overwritten or changed after Amazon Macie+-- produced the finding, this value might be different from the current+-- ETag for the object.+--+-- 'extension', 's3Object_extension' - The file name extension of the object. If the object doesn\'t have a+-- file name extension, this value is \"\".+--+-- 'key', 's3Object_key' - The full key (name) that\'s assigned to the object.+--+-- 'lastModified', 's3Object_lastModified' - The date and time, in UTC and extended ISO 8601 format, when the object+-- was last modified.+--+-- 'path', 's3Object_path' - The path to the object, including the full key (name).+--+-- 'publicAccess', 's3Object_publicAccess' - Specifies whether the object is publicly accessible due to the+-- combination of permissions settings that apply to the object.+--+-- 'serverSideEncryption', 's3Object_serverSideEncryption' - The type of server-side encryption that\'s used to encrypt the object.+--+-- 'size', 's3Object_size' - The total storage size, in bytes, of the object.+--+-- 'storageClass', 's3Object_storageClass' - The storage class of the object.+--+-- 'tags', 's3Object_tags' - The tags that are associated with the object.+--+-- 'versionId', 's3Object_versionId' - The identifier for the affected version of the object.+newS3Object ::+ S3Object+newS3Object =+ S3Object'+ { bucketArn = Prelude.Nothing,+ eTag = Prelude.Nothing,+ extension = Prelude.Nothing,+ key = Prelude.Nothing,+ lastModified = Prelude.Nothing,+ path = Prelude.Nothing,+ publicAccess = Prelude.Nothing,+ serverSideEncryption = Prelude.Nothing,+ size = Prelude.Nothing,+ storageClass = Prelude.Nothing,+ tags = Prelude.Nothing,+ versionId = Prelude.Nothing+ }++-- | The Amazon Resource Name (ARN) of the bucket that contains the object.+s3Object_bucketArn :: Lens.Lens' S3Object (Prelude.Maybe Prelude.Text)+s3Object_bucketArn = Lens.lens (\S3Object' {bucketArn} -> bucketArn) (\s@S3Object' {} a -> s {bucketArn = a} :: S3Object)++-- | The entity tag (ETag) that identifies the affected version of the+-- object. If the object was overwritten or changed after Amazon Macie+-- produced the finding, this value might be different from the current+-- ETag for the object.+s3Object_eTag :: Lens.Lens' S3Object (Prelude.Maybe Prelude.Text)+s3Object_eTag = Lens.lens (\S3Object' {eTag} -> eTag) (\s@S3Object' {} a -> s {eTag = a} :: S3Object)++-- | The file name extension of the object. If the object doesn\'t have a+-- file name extension, this value is \"\".+s3Object_extension :: Lens.Lens' S3Object (Prelude.Maybe Prelude.Text)+s3Object_extension = Lens.lens (\S3Object' {extension} -> extension) (\s@S3Object' {} a -> s {extension = a} :: S3Object)++-- | The full key (name) that\'s assigned to the object.+s3Object_key :: Lens.Lens' S3Object (Prelude.Maybe Prelude.Text)+s3Object_key = Lens.lens (\S3Object' {key} -> key) (\s@S3Object' {} a -> s {key = a} :: S3Object)++-- | The date and time, in UTC and extended ISO 8601 format, when the object+-- was last modified.+s3Object_lastModified :: Lens.Lens' S3Object (Prelude.Maybe Prelude.UTCTime)+s3Object_lastModified = Lens.lens (\S3Object' {lastModified} -> lastModified) (\s@S3Object' {} a -> s {lastModified = a} :: S3Object) Prelude.. Lens.mapping Data._Time++-- | The path to the object, including the full key (name).+s3Object_path :: Lens.Lens' S3Object (Prelude.Maybe Prelude.Text)+s3Object_path = Lens.lens (\S3Object' {path} -> path) (\s@S3Object' {} a -> s {path = a} :: S3Object)++-- | Specifies whether the object is publicly accessible due to the+-- combination of permissions settings that apply to the object.+s3Object_publicAccess :: Lens.Lens' S3Object (Prelude.Maybe Prelude.Bool)+s3Object_publicAccess = Lens.lens (\S3Object' {publicAccess} -> publicAccess) (\s@S3Object' {} a -> s {publicAccess = a} :: S3Object)++-- | The type of server-side encryption that\'s used to encrypt the object.+s3Object_serverSideEncryption :: Lens.Lens' S3Object (Prelude.Maybe ServerSideEncryption)+s3Object_serverSideEncryption = Lens.lens (\S3Object' {serverSideEncryption} -> serverSideEncryption) (\s@S3Object' {} a -> s {serverSideEncryption = a} :: S3Object)++-- | The total storage size, in bytes, of the object.+s3Object_size :: Lens.Lens' S3Object (Prelude.Maybe Prelude.Integer)+s3Object_size = Lens.lens (\S3Object' {size} -> size) (\s@S3Object' {} a -> s {size = a} :: S3Object)++-- | The storage class of the object.+s3Object_storageClass :: Lens.Lens' S3Object (Prelude.Maybe StorageClass)+s3Object_storageClass = Lens.lens (\S3Object' {storageClass} -> storageClass) (\s@S3Object' {} a -> s {storageClass = a} :: S3Object)++-- | The tags that are associated with the object.+s3Object_tags :: Lens.Lens' S3Object (Prelude.Maybe [KeyValuePair])+s3Object_tags = Lens.lens (\S3Object' {tags} -> tags) (\s@S3Object' {} a -> s {tags = a} :: S3Object) Prelude.. Lens.mapping Lens.coerced++-- | The identifier for the affected version of the object.+s3Object_versionId :: Lens.Lens' S3Object (Prelude.Maybe Prelude.Text)+s3Object_versionId = Lens.lens (\S3Object' {versionId} -> versionId) (\s@S3Object' {} a -> s {versionId = a} :: S3Object)++instance Data.FromJSON S3Object where+ parseJSON =+ Data.withObject+ "S3Object"+ ( \x ->+ S3Object'+ Prelude.<$> (x Data..:? "bucketArn")+ Prelude.<*> (x Data..:? "eTag")+ Prelude.<*> (x Data..:? "extension")+ Prelude.<*> (x Data..:? "key")+ Prelude.<*> (x Data..:? "lastModified")+ Prelude.<*> (x Data..:? "path")+ Prelude.<*> (x Data..:? "publicAccess")+ Prelude.<*> (x Data..:? "serverSideEncryption")+ Prelude.<*> (x Data..:? "size")+ Prelude.<*> (x Data..:? "storageClass")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "versionId")+ )++instance Prelude.Hashable S3Object where+ hashWithSalt _salt S3Object' {..} =+ _salt+ `Prelude.hashWithSalt` bucketArn+ `Prelude.hashWithSalt` eTag+ `Prelude.hashWithSalt` extension+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` lastModified+ `Prelude.hashWithSalt` path+ `Prelude.hashWithSalt` publicAccess+ `Prelude.hashWithSalt` serverSideEncryption+ `Prelude.hashWithSalt` size+ `Prelude.hashWithSalt` storageClass+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` versionId++instance Prelude.NFData S3Object where+ rnf S3Object' {..} =+ Prelude.rnf bucketArn+ `Prelude.seq` Prelude.rnf eTag+ `Prelude.seq` Prelude.rnf extension+ `Prelude.seq` Prelude.rnf key+ `Prelude.seq` Prelude.rnf lastModified+ `Prelude.seq` Prelude.rnf path+ `Prelude.seq` Prelude.rnf publicAccess+ `Prelude.seq` Prelude.rnf serverSideEncryption+ `Prelude.seq` Prelude.rnf size+ `Prelude.seq` Prelude.rnf storageClass+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf versionId
+ gen/Amazonka/MacieV2/Types/S3WordsList.hs view
@@ -0,0 +1,98 @@+{-# 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.MacieV2.Types.S3WordsList+-- 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.MacieV2.Types.S3WordsList 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++-- | Provides information about an S3 object that lists specific text to+-- ignore.+--+-- /See:/ 'newS3WordsList' smart constructor.+data S3WordsList = S3WordsList'+ { -- | The full name of the S3 bucket that contains the object.+ bucketName :: Prelude.Text,+ -- | The full name (key) of the object.+ objectKey :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3WordsList' 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:+--+-- 'bucketName', 's3WordsList_bucketName' - The full name of the S3 bucket that contains the object.+--+-- 'objectKey', 's3WordsList_objectKey' - The full name (key) of the object.+newS3WordsList ::+ -- | 'bucketName'+ Prelude.Text ->+ -- | 'objectKey'+ Prelude.Text ->+ S3WordsList+newS3WordsList pBucketName_ pObjectKey_ =+ S3WordsList'+ { bucketName = pBucketName_,+ objectKey = pObjectKey_+ }++-- | The full name of the S3 bucket that contains the object.+s3WordsList_bucketName :: Lens.Lens' S3WordsList Prelude.Text+s3WordsList_bucketName = Lens.lens (\S3WordsList' {bucketName} -> bucketName) (\s@S3WordsList' {} a -> s {bucketName = a} :: S3WordsList)++-- | The full name (key) of the object.+s3WordsList_objectKey :: Lens.Lens' S3WordsList Prelude.Text+s3WordsList_objectKey = Lens.lens (\S3WordsList' {objectKey} -> objectKey) (\s@S3WordsList' {} a -> s {objectKey = a} :: S3WordsList)++instance Data.FromJSON S3WordsList where+ parseJSON =+ Data.withObject+ "S3WordsList"+ ( \x ->+ S3WordsList'+ Prelude.<$> (x Data..: "bucketName")+ Prelude.<*> (x Data..: "objectKey")+ )++instance Prelude.Hashable S3WordsList where+ hashWithSalt _salt S3WordsList' {..} =+ _salt+ `Prelude.hashWithSalt` bucketName+ `Prelude.hashWithSalt` objectKey++instance Prelude.NFData S3WordsList where+ rnf S3WordsList' {..} =+ Prelude.rnf bucketName+ `Prelude.seq` Prelude.rnf objectKey++instance Data.ToJSON S3WordsList where+ toJSON S3WordsList' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("bucketName" Data..= bucketName),+ Prelude.Just ("objectKey" Data..= objectKey)+ ]+ )
+ gen/Amazonka/MacieV2/Types/ScopeFilterKey.hs view
@@ -0,0 +1,83 @@+{-# 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.MacieV2.Types.ScopeFilterKey+-- 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.MacieV2.Types.ScopeFilterKey+ ( ScopeFilterKey+ ( ..,+ ScopeFilterKey_OBJECT_EXTENSION,+ ScopeFilterKey_OBJECT_KEY,+ ScopeFilterKey_OBJECT_LAST_MODIFIED_DATE,+ ScopeFilterKey_OBJECT_SIZE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The property to use in a condition that determines whether an S3 object+-- is included or excluded from a classification job. Valid values are:+newtype ScopeFilterKey = ScopeFilterKey'+ { fromScopeFilterKey ::+ 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 ScopeFilterKey_OBJECT_EXTENSION :: ScopeFilterKey+pattern ScopeFilterKey_OBJECT_EXTENSION = ScopeFilterKey' "OBJECT_EXTENSION"++pattern ScopeFilterKey_OBJECT_KEY :: ScopeFilterKey+pattern ScopeFilterKey_OBJECT_KEY = ScopeFilterKey' "OBJECT_KEY"++pattern ScopeFilterKey_OBJECT_LAST_MODIFIED_DATE :: ScopeFilterKey+pattern ScopeFilterKey_OBJECT_LAST_MODIFIED_DATE = ScopeFilterKey' "OBJECT_LAST_MODIFIED_DATE"++pattern ScopeFilterKey_OBJECT_SIZE :: ScopeFilterKey+pattern ScopeFilterKey_OBJECT_SIZE = ScopeFilterKey' "OBJECT_SIZE"++{-# COMPLETE+ ScopeFilterKey_OBJECT_EXTENSION,+ ScopeFilterKey_OBJECT_KEY,+ ScopeFilterKey_OBJECT_LAST_MODIFIED_DATE,+ ScopeFilterKey_OBJECT_SIZE,+ ScopeFilterKey'+ #-}
+ gen/Amazonka/MacieV2/Types/Scoping.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.MacieV2.Types.Scoping+-- 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.MacieV2.Types.Scoping where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.JobScopingBlock+import qualified Amazonka.Prelude as Prelude++-- | Specifies one or more property- and tag-based conditions that define+-- criteria for including or excluding S3 objects from a classification+-- job. Exclude conditions take precedence over include conditions.+--+-- /See:/ 'newScoping' smart constructor.+data Scoping = Scoping'+ { -- | The property- and tag-based conditions that determine which objects to+ -- exclude from the analysis.+ excludes :: Prelude.Maybe JobScopingBlock,+ -- | The property- and tag-based conditions that determine which objects to+ -- include in the analysis.+ includes :: Prelude.Maybe JobScopingBlock+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Scoping' 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:+--+-- 'excludes', 'scoping_excludes' - The property- and tag-based conditions that determine which objects to+-- exclude from the analysis.+--+-- 'includes', 'scoping_includes' - The property- and tag-based conditions that determine which objects to+-- include in the analysis.+newScoping ::+ Scoping+newScoping =+ Scoping'+ { excludes = Prelude.Nothing,+ includes = Prelude.Nothing+ }++-- | The property- and tag-based conditions that determine which objects to+-- exclude from the analysis.+scoping_excludes :: Lens.Lens' Scoping (Prelude.Maybe JobScopingBlock)+scoping_excludes = Lens.lens (\Scoping' {excludes} -> excludes) (\s@Scoping' {} a -> s {excludes = a} :: Scoping)++-- | The property- and tag-based conditions that determine which objects to+-- include in the analysis.+scoping_includes :: Lens.Lens' Scoping (Prelude.Maybe JobScopingBlock)+scoping_includes = Lens.lens (\Scoping' {includes} -> includes) (\s@Scoping' {} a -> s {includes = a} :: Scoping)++instance Data.FromJSON Scoping where+ parseJSON =+ Data.withObject+ "Scoping"+ ( \x ->+ Scoping'+ Prelude.<$> (x Data..:? "excludes")+ Prelude.<*> (x Data..:? "includes")+ )++instance Prelude.Hashable Scoping where+ hashWithSalt _salt Scoping' {..} =+ _salt+ `Prelude.hashWithSalt` excludes+ `Prelude.hashWithSalt` includes++instance Prelude.NFData Scoping where+ rnf Scoping' {..} =+ Prelude.rnf excludes+ `Prelude.seq` Prelude.rnf includes++instance Data.ToJSON Scoping where+ toJSON Scoping' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("excludes" Data..=) Prelude.<$> excludes,+ ("includes" Data..=) Prelude.<$> includes+ ]+ )
+ gen/Amazonka/MacieV2/Types/SearchResourcesBucketCriteria.hs view
@@ -0,0 +1,96 @@+{-# 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.MacieV2.Types.SearchResourcesBucketCriteria+-- 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.MacieV2.Types.SearchResourcesBucketCriteria where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.SearchResourcesCriteriaBlock+import qualified Amazonka.Prelude as Prelude++-- | Specifies property- and tag-based conditions that define filter criteria+-- for including or excluding S3 buckets from the query results. Exclude+-- conditions take precedence over include conditions.+--+-- /See:/ 'newSearchResourcesBucketCriteria' smart constructor.+data SearchResourcesBucketCriteria = SearchResourcesBucketCriteria'+ { -- | The property- and tag-based conditions that determine which buckets to+ -- exclude from the results.+ excludes :: Prelude.Maybe SearchResourcesCriteriaBlock,+ -- | The property- and tag-based conditions that determine which buckets to+ -- include in the results.+ includes :: Prelude.Maybe SearchResourcesCriteriaBlock+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchResourcesBucketCriteria' 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:+--+-- 'excludes', 'searchResourcesBucketCriteria_excludes' - The property- and tag-based conditions that determine which buckets to+-- exclude from the results.+--+-- 'includes', 'searchResourcesBucketCriteria_includes' - The property- and tag-based conditions that determine which buckets to+-- include in the results.+newSearchResourcesBucketCriteria ::+ SearchResourcesBucketCriteria+newSearchResourcesBucketCriteria =+ SearchResourcesBucketCriteria'+ { excludes =+ Prelude.Nothing,+ includes = Prelude.Nothing+ }++-- | The property- and tag-based conditions that determine which buckets to+-- exclude from the results.+searchResourcesBucketCriteria_excludes :: Lens.Lens' SearchResourcesBucketCriteria (Prelude.Maybe SearchResourcesCriteriaBlock)+searchResourcesBucketCriteria_excludes = Lens.lens (\SearchResourcesBucketCriteria' {excludes} -> excludes) (\s@SearchResourcesBucketCriteria' {} a -> s {excludes = a} :: SearchResourcesBucketCriteria)++-- | The property- and tag-based conditions that determine which buckets to+-- include in the results.+searchResourcesBucketCriteria_includes :: Lens.Lens' SearchResourcesBucketCriteria (Prelude.Maybe SearchResourcesCriteriaBlock)+searchResourcesBucketCriteria_includes = Lens.lens (\SearchResourcesBucketCriteria' {includes} -> includes) (\s@SearchResourcesBucketCriteria' {} a -> s {includes = a} :: SearchResourcesBucketCriteria)++instance+ Prelude.Hashable+ SearchResourcesBucketCriteria+ where+ hashWithSalt _salt SearchResourcesBucketCriteria' {..} =+ _salt+ `Prelude.hashWithSalt` excludes+ `Prelude.hashWithSalt` includes++instance Prelude.NFData SearchResourcesBucketCriteria where+ rnf SearchResourcesBucketCriteria' {..} =+ Prelude.rnf excludes+ `Prelude.seq` Prelude.rnf includes++instance Data.ToJSON SearchResourcesBucketCriteria where+ toJSON SearchResourcesBucketCriteria' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("excludes" Data..=) Prelude.<$> excludes,+ ("includes" Data..=) Prelude.<$> includes+ ]+ )
+ gen/Amazonka/MacieV2/Types/SearchResourcesComparator.hs view
@@ -0,0 +1,73 @@+{-# 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.MacieV2.Types.SearchResourcesComparator+-- 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.MacieV2.Types.SearchResourcesComparator+ ( SearchResourcesComparator+ ( ..,+ SearchResourcesComparator_EQ,+ SearchResourcesComparator_NE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The operator to use in a condition that filters the results of a query.+-- Valid values are:+newtype SearchResourcesComparator = SearchResourcesComparator'+ { fromSearchResourcesComparator ::+ 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 SearchResourcesComparator_EQ :: SearchResourcesComparator+pattern SearchResourcesComparator_EQ = SearchResourcesComparator' "EQ"++pattern SearchResourcesComparator_NE :: SearchResourcesComparator+pattern SearchResourcesComparator_NE = SearchResourcesComparator' "NE"++{-# COMPLETE+ SearchResourcesComparator_EQ,+ SearchResourcesComparator_NE,+ SearchResourcesComparator'+ #-}
+ gen/Amazonka/MacieV2/Types/SearchResourcesCriteria.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.MacieV2.Types.SearchResourcesCriteria+-- 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.MacieV2.Types.SearchResourcesCriteria where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.SearchResourcesSimpleCriterion+import Amazonka.MacieV2.Types.SearchResourcesTagCriterion+import qualified Amazonka.Prelude as Prelude++-- | Specifies a property- or tag-based filter condition for including or+-- excluding Amazon Web Services resources from the query results.+--+-- /See:/ 'newSearchResourcesCriteria' smart constructor.+data SearchResourcesCriteria = SearchResourcesCriteria'+ { -- | A property-based condition that defines a property, operator, and one or+ -- more values for including or excluding resources from the results.+ simpleCriterion :: Prelude.Maybe SearchResourcesSimpleCriterion,+ -- | A tag-based condition that defines an operator and tag keys, tag values,+ -- or tag key and value pairs for including or excluding resources from the+ -- results.+ tagCriterion :: Prelude.Maybe SearchResourcesTagCriterion+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchResourcesCriteria' 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:+--+-- 'simpleCriterion', 'searchResourcesCriteria_simpleCriterion' - A property-based condition that defines a property, operator, and one or+-- more values for including or excluding resources from the results.+--+-- 'tagCriterion', 'searchResourcesCriteria_tagCriterion' - A tag-based condition that defines an operator and tag keys, tag values,+-- or tag key and value pairs for including or excluding resources from the+-- results.+newSearchResourcesCriteria ::+ SearchResourcesCriteria+newSearchResourcesCriteria =+ SearchResourcesCriteria'+ { simpleCriterion =+ Prelude.Nothing,+ tagCriterion = Prelude.Nothing+ }++-- | A property-based condition that defines a property, operator, and one or+-- more values for including or excluding resources from the results.+searchResourcesCriteria_simpleCriterion :: Lens.Lens' SearchResourcesCriteria (Prelude.Maybe SearchResourcesSimpleCriterion)+searchResourcesCriteria_simpleCriterion = Lens.lens (\SearchResourcesCriteria' {simpleCriterion} -> simpleCriterion) (\s@SearchResourcesCriteria' {} a -> s {simpleCriterion = a} :: SearchResourcesCriteria)++-- | A tag-based condition that defines an operator and tag keys, tag values,+-- or tag key and value pairs for including or excluding resources from the+-- results.+searchResourcesCriteria_tagCriterion :: Lens.Lens' SearchResourcesCriteria (Prelude.Maybe SearchResourcesTagCriterion)+searchResourcesCriteria_tagCriterion = Lens.lens (\SearchResourcesCriteria' {tagCriterion} -> tagCriterion) (\s@SearchResourcesCriteria' {} a -> s {tagCriterion = a} :: SearchResourcesCriteria)++instance Prelude.Hashable SearchResourcesCriteria where+ hashWithSalt _salt SearchResourcesCriteria' {..} =+ _salt+ `Prelude.hashWithSalt` simpleCriterion+ `Prelude.hashWithSalt` tagCriterion++instance Prelude.NFData SearchResourcesCriteria where+ rnf SearchResourcesCriteria' {..} =+ Prelude.rnf simpleCriterion+ `Prelude.seq` Prelude.rnf tagCriterion++instance Data.ToJSON SearchResourcesCriteria where+ toJSON SearchResourcesCriteria' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("simpleCriterion" Data..=)+ Prelude.<$> simpleCriterion,+ ("tagCriterion" Data..=) Prelude.<$> tagCriterion+ ]+ )
+ gen/Amazonka/MacieV2/Types/SearchResourcesCriteriaBlock.hs view
@@ -0,0 +1,83 @@+{-# 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.MacieV2.Types.SearchResourcesCriteriaBlock+-- 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.MacieV2.Types.SearchResourcesCriteriaBlock where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.SearchResourcesCriteria+import qualified Amazonka.Prelude as Prelude++-- | Specifies property- and tag-based conditions that define filter criteria+-- for including or excluding Amazon Web Services resources from the query+-- results.+--+-- /See:/ 'newSearchResourcesCriteriaBlock' smart constructor.+data SearchResourcesCriteriaBlock = SearchResourcesCriteriaBlock'+ { -- | An array of objects, one for each property- or tag-based condition that+ -- includes or excludes resources from the query results. If you specify+ -- more than one condition, Amazon Macie uses AND logic to join the+ -- conditions.+ and :: Prelude.Maybe [SearchResourcesCriteria]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchResourcesCriteriaBlock' 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:+--+-- 'and', 'searchResourcesCriteriaBlock_and' - An array of objects, one for each property- or tag-based condition that+-- includes or excludes resources from the query results. If you specify+-- more than one condition, Amazon Macie uses AND logic to join the+-- conditions.+newSearchResourcesCriteriaBlock ::+ SearchResourcesCriteriaBlock+newSearchResourcesCriteriaBlock =+ SearchResourcesCriteriaBlock'+ { and =+ Prelude.Nothing+ }++-- | An array of objects, one for each property- or tag-based condition that+-- includes or excludes resources from the query results. If you specify+-- more than one condition, Amazon Macie uses AND logic to join the+-- conditions.+searchResourcesCriteriaBlock_and :: Lens.Lens' SearchResourcesCriteriaBlock (Prelude.Maybe [SearchResourcesCriteria])+searchResourcesCriteriaBlock_and = Lens.lens (\SearchResourcesCriteriaBlock' {and} -> and) (\s@SearchResourcesCriteriaBlock' {} a -> s {and = a} :: SearchResourcesCriteriaBlock) Prelude.. Lens.mapping Lens.coerced++instance+ Prelude.Hashable+ SearchResourcesCriteriaBlock+ where+ hashWithSalt _salt SearchResourcesCriteriaBlock' {..} =+ _salt `Prelude.hashWithSalt` and++instance Prelude.NFData SearchResourcesCriteriaBlock where+ rnf SearchResourcesCriteriaBlock' {..} =+ Prelude.rnf and++instance Data.ToJSON SearchResourcesCriteriaBlock where+ toJSON SearchResourcesCriteriaBlock' {..} =+ Data.object+ (Prelude.catMaybes [("and" Data..=) Prelude.<$> and])
+ gen/Amazonka/MacieV2/Types/SearchResourcesSimpleCriterion.hs view
@@ -0,0 +1,170 @@+{-# 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.MacieV2.Types.SearchResourcesSimpleCriterion+-- 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.MacieV2.Types.SearchResourcesSimpleCriterion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.SearchResourcesComparator+import Amazonka.MacieV2.Types.SearchResourcesSimpleCriterionKey+import qualified Amazonka.Prelude as Prelude++-- | Specifies a property-based filter condition that determines which Amazon+-- Web Services resources are included or excluded from the query results.+--+-- /See:/ 'newSearchResourcesSimpleCriterion' smart constructor.+data SearchResourcesSimpleCriterion = SearchResourcesSimpleCriterion'+ { -- | The operator to use in the condition. Valid values are EQ (equals) and+ -- NE (not equals).+ comparator :: Prelude.Maybe SearchResourcesComparator,+ -- | The property to use in the condition.+ key :: Prelude.Maybe SearchResourcesSimpleCriterionKey,+ -- | An array that lists one or more values to use in the condition. If you+ -- specify multiple values, Amazon Macie uses OR logic to join the values.+ -- Valid values for each supported property (key) are:+ --+ -- - ACCOUNT_ID - A string that represents the unique identifier for the+ -- Amazon Web Services account that owns the resource.+ --+ -- - S3_BUCKET_EFFECTIVE_PERMISSION - A string that represents an+ -- enumerated value that Macie defines for the+ -- <https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html#datasources-s3-prop-bucketpublicaccess-effectivepermission BucketPublicAccess.effectivePermission>+ -- property of an S3 bucket.+ --+ -- - S3_BUCKET_NAME - A string that represents the name of an S3 bucket.+ --+ -- - S3_BUCKET_SHARED_ACCESS - A string that represents an enumerated+ -- value that Macie defines for the+ -- <https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html#datasources-s3-prop-bucketmetadata-sharedaccess BucketMetadata.sharedAccess>+ -- property of an S3 bucket.+ --+ -- Values are case sensitive. Also, Macie doesn\'t support use of partial+ -- values or wildcard characters in values.+ values :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchResourcesSimpleCriterion' 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:+--+-- 'comparator', 'searchResourcesSimpleCriterion_comparator' - The operator to use in the condition. Valid values are EQ (equals) and+-- NE (not equals).+--+-- 'key', 'searchResourcesSimpleCriterion_key' - The property to use in the condition.+--+-- 'values', 'searchResourcesSimpleCriterion_values' - An array that lists one or more values to use in the condition. If you+-- specify multiple values, Amazon Macie uses OR logic to join the values.+-- Valid values for each supported property (key) are:+--+-- - ACCOUNT_ID - A string that represents the unique identifier for the+-- Amazon Web Services account that owns the resource.+--+-- - S3_BUCKET_EFFECTIVE_PERMISSION - A string that represents an+-- enumerated value that Macie defines for the+-- <https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html#datasources-s3-prop-bucketpublicaccess-effectivepermission BucketPublicAccess.effectivePermission>+-- property of an S3 bucket.+--+-- - S3_BUCKET_NAME - A string that represents the name of an S3 bucket.+--+-- - S3_BUCKET_SHARED_ACCESS - A string that represents an enumerated+-- value that Macie defines for the+-- <https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html#datasources-s3-prop-bucketmetadata-sharedaccess BucketMetadata.sharedAccess>+-- property of an S3 bucket.+--+-- Values are case sensitive. Also, Macie doesn\'t support use of partial+-- values or wildcard characters in values.+newSearchResourcesSimpleCriterion ::+ SearchResourcesSimpleCriterion+newSearchResourcesSimpleCriterion =+ SearchResourcesSimpleCriterion'+ { comparator =+ Prelude.Nothing,+ key = Prelude.Nothing,+ values = Prelude.Nothing+ }++-- | The operator to use in the condition. Valid values are EQ (equals) and+-- NE (not equals).+searchResourcesSimpleCriterion_comparator :: Lens.Lens' SearchResourcesSimpleCriterion (Prelude.Maybe SearchResourcesComparator)+searchResourcesSimpleCriterion_comparator = Lens.lens (\SearchResourcesSimpleCriterion' {comparator} -> comparator) (\s@SearchResourcesSimpleCriterion' {} a -> s {comparator = a} :: SearchResourcesSimpleCriterion)++-- | The property to use in the condition.+searchResourcesSimpleCriterion_key :: Lens.Lens' SearchResourcesSimpleCriterion (Prelude.Maybe SearchResourcesSimpleCriterionKey)+searchResourcesSimpleCriterion_key = Lens.lens (\SearchResourcesSimpleCriterion' {key} -> key) (\s@SearchResourcesSimpleCriterion' {} a -> s {key = a} :: SearchResourcesSimpleCriterion)++-- | An array that lists one or more values to use in the condition. If you+-- specify multiple values, Amazon Macie uses OR logic to join the values.+-- Valid values for each supported property (key) are:+--+-- - ACCOUNT_ID - A string that represents the unique identifier for the+-- Amazon Web Services account that owns the resource.+--+-- - S3_BUCKET_EFFECTIVE_PERMISSION - A string that represents an+-- enumerated value that Macie defines for the+-- <https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html#datasources-s3-prop-bucketpublicaccess-effectivepermission BucketPublicAccess.effectivePermission>+-- property of an S3 bucket.+--+-- - S3_BUCKET_NAME - A string that represents the name of an S3 bucket.+--+-- - S3_BUCKET_SHARED_ACCESS - A string that represents an enumerated+-- value that Macie defines for the+-- <https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html#datasources-s3-prop-bucketmetadata-sharedaccess BucketMetadata.sharedAccess>+-- property of an S3 bucket.+--+-- Values are case sensitive. Also, Macie doesn\'t support use of partial+-- values or wildcard characters in values.+searchResourcesSimpleCriterion_values :: Lens.Lens' SearchResourcesSimpleCriterion (Prelude.Maybe [Prelude.Text])+searchResourcesSimpleCriterion_values = Lens.lens (\SearchResourcesSimpleCriterion' {values} -> values) (\s@SearchResourcesSimpleCriterion' {} a -> s {values = a} :: SearchResourcesSimpleCriterion) Prelude.. Lens.mapping Lens.coerced++instance+ Prelude.Hashable+ SearchResourcesSimpleCriterion+ where+ hashWithSalt+ _salt+ SearchResourcesSimpleCriterion' {..} =+ _salt+ `Prelude.hashWithSalt` comparator+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` values++instance+ Prelude.NFData+ SearchResourcesSimpleCriterion+ where+ rnf SearchResourcesSimpleCriterion' {..} =+ Prelude.rnf comparator+ `Prelude.seq` Prelude.rnf key+ `Prelude.seq` Prelude.rnf values++instance Data.ToJSON SearchResourcesSimpleCriterion where+ toJSON SearchResourcesSimpleCriterion' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("comparator" Data..=) Prelude.<$> comparator,+ ("key" Data..=) Prelude.<$> key,+ ("values" Data..=) Prelude.<$> values+ ]+ )
+ gen/Amazonka/MacieV2/Types/SearchResourcesSimpleCriterionKey.hs view
@@ -0,0 +1,83 @@+{-# 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.MacieV2.Types.SearchResourcesSimpleCriterionKey+-- 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.MacieV2.Types.SearchResourcesSimpleCriterionKey+ ( SearchResourcesSimpleCriterionKey+ ( ..,+ SearchResourcesSimpleCriterionKey_ACCOUNT_ID,+ SearchResourcesSimpleCriterionKey_S3_BUCKET_EFFECTIVE_PERMISSION,+ SearchResourcesSimpleCriterionKey_S3_BUCKET_NAME,+ SearchResourcesSimpleCriterionKey_S3_BUCKET_SHARED_ACCESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The property to use in a condition that filters the query results. Valid+-- values are:+newtype SearchResourcesSimpleCriterionKey = SearchResourcesSimpleCriterionKey'+ { fromSearchResourcesSimpleCriterionKey ::+ 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 SearchResourcesSimpleCriterionKey_ACCOUNT_ID :: SearchResourcesSimpleCriterionKey+pattern SearchResourcesSimpleCriterionKey_ACCOUNT_ID = SearchResourcesSimpleCriterionKey' "ACCOUNT_ID"++pattern SearchResourcesSimpleCriterionKey_S3_BUCKET_EFFECTIVE_PERMISSION :: SearchResourcesSimpleCriterionKey+pattern SearchResourcesSimpleCriterionKey_S3_BUCKET_EFFECTIVE_PERMISSION = SearchResourcesSimpleCriterionKey' "S3_BUCKET_EFFECTIVE_PERMISSION"++pattern SearchResourcesSimpleCriterionKey_S3_BUCKET_NAME :: SearchResourcesSimpleCriterionKey+pattern SearchResourcesSimpleCriterionKey_S3_BUCKET_NAME = SearchResourcesSimpleCriterionKey' "S3_BUCKET_NAME"++pattern SearchResourcesSimpleCriterionKey_S3_BUCKET_SHARED_ACCESS :: SearchResourcesSimpleCriterionKey+pattern SearchResourcesSimpleCriterionKey_S3_BUCKET_SHARED_ACCESS = SearchResourcesSimpleCriterionKey' "S3_BUCKET_SHARED_ACCESS"++{-# COMPLETE+ SearchResourcesSimpleCriterionKey_ACCOUNT_ID,+ SearchResourcesSimpleCriterionKey_S3_BUCKET_EFFECTIVE_PERMISSION,+ SearchResourcesSimpleCriterionKey_S3_BUCKET_NAME,+ SearchResourcesSimpleCriterionKey_S3_BUCKET_SHARED_ACCESS,+ SearchResourcesSimpleCriterionKey'+ #-}
+ gen/Amazonka/MacieV2/Types/SearchResourcesSortAttributeName.hs view
@@ -0,0 +1,82 @@+{-# 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.MacieV2.Types.SearchResourcesSortAttributeName+-- 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.MacieV2.Types.SearchResourcesSortAttributeName+ ( SearchResourcesSortAttributeName+ ( ..,+ SearchResourcesSortAttributeName_ACCOUNT_ID,+ SearchResourcesSortAttributeName_RESOURCE_NAME,+ SearchResourcesSortAttributeName_S3_CLASSIFIABLE_OBJECT_COUNT,+ SearchResourcesSortAttributeName_S3_CLASSIFIABLE_SIZE_IN_BYTES+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The property to sort the query results by. Valid values are:+newtype SearchResourcesSortAttributeName = SearchResourcesSortAttributeName'+ { fromSearchResourcesSortAttributeName ::+ 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 SearchResourcesSortAttributeName_ACCOUNT_ID :: SearchResourcesSortAttributeName+pattern SearchResourcesSortAttributeName_ACCOUNT_ID = SearchResourcesSortAttributeName' "ACCOUNT_ID"++pattern SearchResourcesSortAttributeName_RESOURCE_NAME :: SearchResourcesSortAttributeName+pattern SearchResourcesSortAttributeName_RESOURCE_NAME = SearchResourcesSortAttributeName' "RESOURCE_NAME"++pattern SearchResourcesSortAttributeName_S3_CLASSIFIABLE_OBJECT_COUNT :: SearchResourcesSortAttributeName+pattern SearchResourcesSortAttributeName_S3_CLASSIFIABLE_OBJECT_COUNT = SearchResourcesSortAttributeName' "S3_CLASSIFIABLE_OBJECT_COUNT"++pattern SearchResourcesSortAttributeName_S3_CLASSIFIABLE_SIZE_IN_BYTES :: SearchResourcesSortAttributeName+pattern SearchResourcesSortAttributeName_S3_CLASSIFIABLE_SIZE_IN_BYTES = SearchResourcesSortAttributeName' "S3_CLASSIFIABLE_SIZE_IN_BYTES"++{-# COMPLETE+ SearchResourcesSortAttributeName_ACCOUNT_ID,+ SearchResourcesSortAttributeName_RESOURCE_NAME,+ SearchResourcesSortAttributeName_S3_CLASSIFIABLE_OBJECT_COUNT,+ SearchResourcesSortAttributeName_S3_CLASSIFIABLE_SIZE_IN_BYTES,+ SearchResourcesSortAttributeName'+ #-}
+ gen/Amazonka/MacieV2/Types/SearchResourcesSortCriteria.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.MacieV2.Types.SearchResourcesSortCriteria+-- 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.MacieV2.Types.SearchResourcesSortCriteria where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.OrderBy+import Amazonka.MacieV2.Types.SearchResourcesSortAttributeName+import qualified Amazonka.Prelude as Prelude++-- | Specifies criteria for sorting the results of a query for information+-- about Amazon Web Services resources that Amazon Macie monitors and+-- analyzes.+--+-- /See:/ 'newSearchResourcesSortCriteria' smart constructor.+data SearchResourcesSortCriteria = SearchResourcesSortCriteria'+ { -- | The property to sort the results by.+ attributeName :: Prelude.Maybe SearchResourcesSortAttributeName,+ -- | The sort order to apply to the results, based on the value for the+ -- property specified by the attributeName property. Valid values are: ASC,+ -- sort the results in ascending order; and, DESC, sort the results in+ -- descending order.+ orderBy :: Prelude.Maybe OrderBy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchResourcesSortCriteria' 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:+--+-- 'attributeName', 'searchResourcesSortCriteria_attributeName' - The property to sort the results by.+--+-- 'orderBy', 'searchResourcesSortCriteria_orderBy' - The sort order to apply to the results, based on the value for the+-- property specified by the attributeName property. Valid values are: ASC,+-- sort the results in ascending order; and, DESC, sort the results in+-- descending order.+newSearchResourcesSortCriteria ::+ SearchResourcesSortCriteria+newSearchResourcesSortCriteria =+ SearchResourcesSortCriteria'+ { attributeName =+ Prelude.Nothing,+ orderBy = Prelude.Nothing+ }++-- | The property to sort the results by.+searchResourcesSortCriteria_attributeName :: Lens.Lens' SearchResourcesSortCriteria (Prelude.Maybe SearchResourcesSortAttributeName)+searchResourcesSortCriteria_attributeName = Lens.lens (\SearchResourcesSortCriteria' {attributeName} -> attributeName) (\s@SearchResourcesSortCriteria' {} a -> s {attributeName = a} :: SearchResourcesSortCriteria)++-- | The sort order to apply to the results, based on the value for the+-- property specified by the attributeName property. Valid values are: ASC,+-- sort the results in ascending order; and, DESC, sort the results in+-- descending order.+searchResourcesSortCriteria_orderBy :: Lens.Lens' SearchResourcesSortCriteria (Prelude.Maybe OrderBy)+searchResourcesSortCriteria_orderBy = Lens.lens (\SearchResourcesSortCriteria' {orderBy} -> orderBy) (\s@SearchResourcesSortCriteria' {} a -> s {orderBy = a} :: SearchResourcesSortCriteria)++instance Prelude.Hashable SearchResourcesSortCriteria where+ hashWithSalt _salt SearchResourcesSortCriteria' {..} =+ _salt+ `Prelude.hashWithSalt` attributeName+ `Prelude.hashWithSalt` orderBy++instance Prelude.NFData SearchResourcesSortCriteria where+ rnf SearchResourcesSortCriteria' {..} =+ Prelude.rnf attributeName+ `Prelude.seq` Prelude.rnf orderBy++instance Data.ToJSON SearchResourcesSortCriteria where+ toJSON SearchResourcesSortCriteria' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("attributeName" Data..=) Prelude.<$> attributeName,+ ("orderBy" Data..=) Prelude.<$> orderBy+ ]+ )
+ gen/Amazonka/MacieV2/Types/SearchResourcesTagCriterion.hs view
@@ -0,0 +1,93 @@+{-# 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.MacieV2.Types.SearchResourcesTagCriterion+-- 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.MacieV2.Types.SearchResourcesTagCriterion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.SearchResourcesComparator+import Amazonka.MacieV2.Types.SearchResourcesTagCriterionPair+import qualified Amazonka.Prelude as Prelude++-- | Specifies a tag-based filter condition that determines which Amazon Web+-- Services resources are included or excluded from the query results.+--+-- /See:/ 'newSearchResourcesTagCriterion' smart constructor.+data SearchResourcesTagCriterion = SearchResourcesTagCriterion'+ { -- | The operator to use in the condition. Valid values are EQ (equals) and+ -- NE (not equals).+ comparator :: Prelude.Maybe SearchResourcesComparator,+ -- | The tag keys, tag values, or tag key and value pairs to use in the+ -- condition.+ tagValues :: Prelude.Maybe [SearchResourcesTagCriterionPair]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchResourcesTagCriterion' 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:+--+-- 'comparator', 'searchResourcesTagCriterion_comparator' - The operator to use in the condition. Valid values are EQ (equals) and+-- NE (not equals).+--+-- 'tagValues', 'searchResourcesTagCriterion_tagValues' - The tag keys, tag values, or tag key and value pairs to use in the+-- condition.+newSearchResourcesTagCriterion ::+ SearchResourcesTagCriterion+newSearchResourcesTagCriterion =+ SearchResourcesTagCriterion'+ { comparator =+ Prelude.Nothing,+ tagValues = Prelude.Nothing+ }++-- | The operator to use in the condition. Valid values are EQ (equals) and+-- NE (not equals).+searchResourcesTagCriterion_comparator :: Lens.Lens' SearchResourcesTagCriterion (Prelude.Maybe SearchResourcesComparator)+searchResourcesTagCriterion_comparator = Lens.lens (\SearchResourcesTagCriterion' {comparator} -> comparator) (\s@SearchResourcesTagCriterion' {} a -> s {comparator = a} :: SearchResourcesTagCriterion)++-- | The tag keys, tag values, or tag key and value pairs to use in the+-- condition.+searchResourcesTagCriterion_tagValues :: Lens.Lens' SearchResourcesTagCriterion (Prelude.Maybe [SearchResourcesTagCriterionPair])+searchResourcesTagCriterion_tagValues = Lens.lens (\SearchResourcesTagCriterion' {tagValues} -> tagValues) (\s@SearchResourcesTagCriterion' {} a -> s {tagValues = a} :: SearchResourcesTagCriterion) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable SearchResourcesTagCriterion where+ hashWithSalt _salt SearchResourcesTagCriterion' {..} =+ _salt+ `Prelude.hashWithSalt` comparator+ `Prelude.hashWithSalt` tagValues++instance Prelude.NFData SearchResourcesTagCriterion where+ rnf SearchResourcesTagCriterion' {..} =+ Prelude.rnf comparator+ `Prelude.seq` Prelude.rnf tagValues++instance Data.ToJSON SearchResourcesTagCriterion where+ toJSON SearchResourcesTagCriterion' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("comparator" Data..=) Prelude.<$> comparator,+ ("tagValues" Data..=) Prelude.<$> tagValues+ ]+ )
+ gen/Amazonka/MacieV2/Types/SearchResourcesTagCriterionPair.hs view
@@ -0,0 +1,94 @@+{-# 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.MacieV2.Types.SearchResourcesTagCriterionPair+-- 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.MacieV2.Types.SearchResourcesTagCriterionPair 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++-- | Specifies a tag key, a tag value, or a tag key and value (as a pair) to+-- use in a tag-based filter condition for a query. Tag keys and values are+-- case sensitive. Also, Amazon Macie doesn\'t support use of partial+-- values or wildcard characters in tag-based filter conditions.+--+-- /See:/ 'newSearchResourcesTagCriterionPair' smart constructor.+data SearchResourcesTagCriterionPair = SearchResourcesTagCriterionPair'+ { -- | The value for the tag key to use in the condition.+ key :: Prelude.Maybe Prelude.Text,+ -- | The tag value to use in the condition.+ value :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SearchResourcesTagCriterionPair' 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:+--+-- 'key', 'searchResourcesTagCriterionPair_key' - The value for the tag key to use in the condition.+--+-- 'value', 'searchResourcesTagCriterionPair_value' - The tag value to use in the condition.+newSearchResourcesTagCriterionPair ::+ SearchResourcesTagCriterionPair+newSearchResourcesTagCriterionPair =+ SearchResourcesTagCriterionPair'+ { key =+ Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | The value for the tag key to use in the condition.+searchResourcesTagCriterionPair_key :: Lens.Lens' SearchResourcesTagCriterionPair (Prelude.Maybe Prelude.Text)+searchResourcesTagCriterionPair_key = Lens.lens (\SearchResourcesTagCriterionPair' {key} -> key) (\s@SearchResourcesTagCriterionPair' {} a -> s {key = a} :: SearchResourcesTagCriterionPair)++-- | The tag value to use in the condition.+searchResourcesTagCriterionPair_value :: Lens.Lens' SearchResourcesTagCriterionPair (Prelude.Maybe Prelude.Text)+searchResourcesTagCriterionPair_value = Lens.lens (\SearchResourcesTagCriterionPair' {value} -> value) (\s@SearchResourcesTagCriterionPair' {} a -> s {value = a} :: SearchResourcesTagCriterionPair)++instance+ Prelude.Hashable+ SearchResourcesTagCriterionPair+ where+ hashWithSalt+ _salt+ SearchResourcesTagCriterionPair' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance+ Prelude.NFData+ SearchResourcesTagCriterionPair+ where+ rnf SearchResourcesTagCriterionPair' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON SearchResourcesTagCriterionPair where+ toJSON SearchResourcesTagCriterionPair' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("key" Data..=) Prelude.<$> key,+ ("value" Data..=) Prelude.<$> value+ ]+ )
+ gen/Amazonka/MacieV2/Types/SecurityHubConfiguration.hs view
@@ -0,0 +1,129 @@+{-# 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.MacieV2.Types.SecurityHubConfiguration+-- 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.MacieV2.Types.SecurityHubConfiguration 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++-- | Specifies configuration settings that determine which findings are+-- published to Security Hub automatically. For information about how Macie+-- publishes findings to Security Hub, see+-- <https://docs.aws.amazon.com/macie/latest/user/securityhub-integration.html Amazon Macie integration with Security Hub>+-- in the /Amazon Macie User Guide/.+--+-- /See:/ 'newSecurityHubConfiguration' smart constructor.+data SecurityHubConfiguration = SecurityHubConfiguration'+ { -- | Specifies whether to publish policy findings to Security Hub. If you set+ -- this value to true, Amazon Macie automatically publishes all new and+ -- updated policy findings that weren\'t suppressed by a findings filter.+ -- The default value is true.+ publishPolicyFindings :: Prelude.Bool,+ -- | Specifies whether to publish sensitive data findings to Security Hub. If+ -- you set this value to true, Amazon Macie automatically publishes all+ -- sensitive data findings that weren\'t suppressed by a findings filter.+ -- The default value is false.+ publishClassificationFindings :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SecurityHubConfiguration' 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:+--+-- 'publishPolicyFindings', 'securityHubConfiguration_publishPolicyFindings' - Specifies whether to publish policy findings to Security Hub. If you set+-- this value to true, Amazon Macie automatically publishes all new and+-- updated policy findings that weren\'t suppressed by a findings filter.+-- The default value is true.+--+-- 'publishClassificationFindings', 'securityHubConfiguration_publishClassificationFindings' - Specifies whether to publish sensitive data findings to Security Hub. If+-- you set this value to true, Amazon Macie automatically publishes all+-- sensitive data findings that weren\'t suppressed by a findings filter.+-- The default value is false.+newSecurityHubConfiguration ::+ -- | 'publishPolicyFindings'+ Prelude.Bool ->+ -- | 'publishClassificationFindings'+ Prelude.Bool ->+ SecurityHubConfiguration+newSecurityHubConfiguration+ pPublishPolicyFindings_+ pPublishClassificationFindings_ =+ SecurityHubConfiguration'+ { publishPolicyFindings =+ pPublishPolicyFindings_,+ publishClassificationFindings =+ pPublishClassificationFindings_+ }++-- | Specifies whether to publish policy findings to Security Hub. If you set+-- this value to true, Amazon Macie automatically publishes all new and+-- updated policy findings that weren\'t suppressed by a findings filter.+-- The default value is true.+securityHubConfiguration_publishPolicyFindings :: Lens.Lens' SecurityHubConfiguration Prelude.Bool+securityHubConfiguration_publishPolicyFindings = Lens.lens (\SecurityHubConfiguration' {publishPolicyFindings} -> publishPolicyFindings) (\s@SecurityHubConfiguration' {} a -> s {publishPolicyFindings = a} :: SecurityHubConfiguration)++-- | Specifies whether to publish sensitive data findings to Security Hub. If+-- you set this value to true, Amazon Macie automatically publishes all+-- sensitive data findings that weren\'t suppressed by a findings filter.+-- The default value is false.+securityHubConfiguration_publishClassificationFindings :: Lens.Lens' SecurityHubConfiguration Prelude.Bool+securityHubConfiguration_publishClassificationFindings = Lens.lens (\SecurityHubConfiguration' {publishClassificationFindings} -> publishClassificationFindings) (\s@SecurityHubConfiguration' {} a -> s {publishClassificationFindings = a} :: SecurityHubConfiguration)++instance Data.FromJSON SecurityHubConfiguration where+ parseJSON =+ Data.withObject+ "SecurityHubConfiguration"+ ( \x ->+ SecurityHubConfiguration'+ Prelude.<$> (x Data..: "publishPolicyFindings")+ Prelude.<*> (x Data..: "publishClassificationFindings")+ )++instance Prelude.Hashable SecurityHubConfiguration where+ hashWithSalt _salt SecurityHubConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` publishPolicyFindings+ `Prelude.hashWithSalt` publishClassificationFindings++instance Prelude.NFData SecurityHubConfiguration where+ rnf SecurityHubConfiguration' {..} =+ Prelude.rnf publishPolicyFindings+ `Prelude.seq` Prelude.rnf publishClassificationFindings++instance Data.ToJSON SecurityHubConfiguration where+ toJSON SecurityHubConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "publishPolicyFindings"+ Data..= publishPolicyFindings+ ),+ Prelude.Just+ ( "publishClassificationFindings"+ Data..= publishClassificationFindings+ )+ ]+ )
+ gen/Amazonka/MacieV2/Types/SensitiveDataItem.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.Types.SensitiveDataItem+-- 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.MacieV2.Types.SensitiveDataItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.DefaultDetection+import Amazonka.MacieV2.Types.SensitiveDataItemCategory+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the category, types, and occurrences of+-- sensitive data that produced a sensitive data finding.+--+-- /See:/ 'newSensitiveDataItem' smart constructor.+data SensitiveDataItem = SensitiveDataItem'+ { -- | The category of sensitive data that was detected. For example:+ -- CREDENTIALS, for credentials data such as private keys or Amazon Web+ -- Services secret access keys; FINANCIAL_INFORMATION, for financial data+ -- such as credit card numbers; or, PERSONAL_INFORMATION, for personal+ -- health information, such as health insurance identification numbers, or+ -- personally identifiable information, such as passport numbers.+ category :: Prelude.Maybe SensitiveDataItemCategory,+ -- | An array of objects, one for each type of sensitive data that was+ -- detected. Each object reports the number of occurrences of a specific+ -- type of sensitive data that was detected, and the location of up to 15+ -- of those occurrences.+ detections :: Prelude.Maybe [DefaultDetection],+ -- | The total number of occurrences of the sensitive data that was detected.+ totalCount :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SensitiveDataItem' 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', 'sensitiveDataItem_category' - The category of sensitive data that was detected. For example:+-- CREDENTIALS, for credentials data such as private keys or Amazon Web+-- Services secret access keys; FINANCIAL_INFORMATION, for financial data+-- such as credit card numbers; or, PERSONAL_INFORMATION, for personal+-- health information, such as health insurance identification numbers, or+-- personally identifiable information, such as passport numbers.+--+-- 'detections', 'sensitiveDataItem_detections' - An array of objects, one for each type of sensitive data that was+-- detected. Each object reports the number of occurrences of a specific+-- type of sensitive data that was detected, and the location of up to 15+-- of those occurrences.+--+-- 'totalCount', 'sensitiveDataItem_totalCount' - The total number of occurrences of the sensitive data that was detected.+newSensitiveDataItem ::+ SensitiveDataItem+newSensitiveDataItem =+ SensitiveDataItem'+ { category = Prelude.Nothing,+ detections = Prelude.Nothing,+ totalCount = Prelude.Nothing+ }++-- | The category of sensitive data that was detected. For example:+-- CREDENTIALS, for credentials data such as private keys or Amazon Web+-- Services secret access keys; FINANCIAL_INFORMATION, for financial data+-- such as credit card numbers; or, PERSONAL_INFORMATION, for personal+-- health information, such as health insurance identification numbers, or+-- personally identifiable information, such as passport numbers.+sensitiveDataItem_category :: Lens.Lens' SensitiveDataItem (Prelude.Maybe SensitiveDataItemCategory)+sensitiveDataItem_category = Lens.lens (\SensitiveDataItem' {category} -> category) (\s@SensitiveDataItem' {} a -> s {category = a} :: SensitiveDataItem)++-- | An array of objects, one for each type of sensitive data that was+-- detected. Each object reports the number of occurrences of a specific+-- type of sensitive data that was detected, and the location of up to 15+-- of those occurrences.+sensitiveDataItem_detections :: Lens.Lens' SensitiveDataItem (Prelude.Maybe [DefaultDetection])+sensitiveDataItem_detections = Lens.lens (\SensitiveDataItem' {detections} -> detections) (\s@SensitiveDataItem' {} a -> s {detections = a} :: SensitiveDataItem) Prelude.. Lens.mapping Lens.coerced++-- | The total number of occurrences of the sensitive data that was detected.+sensitiveDataItem_totalCount :: Lens.Lens' SensitiveDataItem (Prelude.Maybe Prelude.Integer)+sensitiveDataItem_totalCount = Lens.lens (\SensitiveDataItem' {totalCount} -> totalCount) (\s@SensitiveDataItem' {} a -> s {totalCount = a} :: SensitiveDataItem)++instance Data.FromJSON SensitiveDataItem where+ parseJSON =+ Data.withObject+ "SensitiveDataItem"+ ( \x ->+ SensitiveDataItem'+ Prelude.<$> (x Data..:? "category")+ Prelude.<*> (x Data..:? "detections" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "totalCount")+ )++instance Prelude.Hashable SensitiveDataItem where+ hashWithSalt _salt SensitiveDataItem' {..} =+ _salt+ `Prelude.hashWithSalt` category+ `Prelude.hashWithSalt` detections+ `Prelude.hashWithSalt` totalCount++instance Prelude.NFData SensitiveDataItem where+ rnf SensitiveDataItem' {..} =+ Prelude.rnf category+ `Prelude.seq` Prelude.rnf detections+ `Prelude.seq` Prelude.rnf totalCount
+ gen/Amazonka/MacieV2/Types/SensitiveDataItemCategory.hs view
@@ -0,0 +1,85 @@+{-# 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.MacieV2.Types.SensitiveDataItemCategory+-- 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.MacieV2.Types.SensitiveDataItemCategory+ ( SensitiveDataItemCategory+ ( ..,+ SensitiveDataItemCategory_CREDENTIALS,+ SensitiveDataItemCategory_CUSTOM_IDENTIFIER,+ SensitiveDataItemCategory_FINANCIAL_INFORMATION,+ SensitiveDataItemCategory_PERSONAL_INFORMATION+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | For a finding, the category of sensitive data that was detected and+-- produced the finding. For a managed data identifier, the category of+-- sensitive data that the managed data identifier detects. Possible values+-- are:+newtype SensitiveDataItemCategory = SensitiveDataItemCategory'+ { fromSensitiveDataItemCategory ::+ 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 SensitiveDataItemCategory_CREDENTIALS :: SensitiveDataItemCategory+pattern SensitiveDataItemCategory_CREDENTIALS = SensitiveDataItemCategory' "CREDENTIALS"++pattern SensitiveDataItemCategory_CUSTOM_IDENTIFIER :: SensitiveDataItemCategory+pattern SensitiveDataItemCategory_CUSTOM_IDENTIFIER = SensitiveDataItemCategory' "CUSTOM_IDENTIFIER"++pattern SensitiveDataItemCategory_FINANCIAL_INFORMATION :: SensitiveDataItemCategory+pattern SensitiveDataItemCategory_FINANCIAL_INFORMATION = SensitiveDataItemCategory' "FINANCIAL_INFORMATION"++pattern SensitiveDataItemCategory_PERSONAL_INFORMATION :: SensitiveDataItemCategory+pattern SensitiveDataItemCategory_PERSONAL_INFORMATION = SensitiveDataItemCategory' "PERSONAL_INFORMATION"++{-# COMPLETE+ SensitiveDataItemCategory_CREDENTIALS,+ SensitiveDataItemCategory_CUSTOM_IDENTIFIER,+ SensitiveDataItemCategory_FINANCIAL_INFORMATION,+ SensitiveDataItemCategory_PERSONAL_INFORMATION,+ SensitiveDataItemCategory'+ #-}
+ gen/Amazonka/MacieV2/Types/SensitivityAggregations.hs view
@@ -0,0 +1,153 @@+{-# 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.MacieV2.Types.SensitivityAggregations+-- 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.MacieV2.Types.SensitivityAggregations 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++-- | Provides aggregated statistical data for sensitive data discovery+-- metrics that apply to S3 buckets. Each field contains aggregated data+-- for all the buckets that have a sensitivity score (sensitivityScore) of+-- a specified value or within a specified range+-- (BucketStatisticsBySensitivity). If automated sensitive data discovery+-- is currently disabled for your account, the value for each field is 0.+--+-- /See:/ 'newSensitivityAggregations' smart constructor.+data SensitivityAggregations = SensitivityAggregations'+ { -- | The total storage size, in bytes, of all the objects that Amazon Macie+ -- can analyze in the buckets. These objects use a supported storage class+ -- and have a file name extension for a supported file or storage format.+ --+ -- If versioning is enabled for any of the buckets, this value is based on+ -- the size of the latest version of each applicable object in the buckets.+ -- This value doesn\'t reflect the storage size of all versions of all+ -- applicable objects in the buckets.+ classifiableSizeInBytes :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets that are publicly accessible based on a+ -- combination of permissions settings for each bucket.+ publiclyAccessibleCount :: Prelude.Maybe Prelude.Integer,+ -- | The total number of buckets.+ totalCount :: Prelude.Maybe Prelude.Integer,+ -- | The total storage size, in bytes, of the buckets.+ --+ -- If versioning is enabled for any of the buckets, this value is based on+ -- the size of the latest version of each object in the buckets. This value+ -- doesn\'t reflect the storage size of all versions of the objects in the+ -- buckets.+ totalSizeInBytes :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SensitivityAggregations' 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:+--+-- 'classifiableSizeInBytes', 'sensitivityAggregations_classifiableSizeInBytes' - The total storage size, in bytes, of all the objects that Amazon Macie+-- can analyze in the buckets. These objects use a supported storage class+-- and have a file name extension for a supported file or storage format.+--+-- If versioning is enabled for any of the buckets, this value is based on+-- the size of the latest version of each applicable object in the buckets.+-- This value doesn\'t reflect the storage size of all versions of all+-- applicable objects in the buckets.+--+-- 'publiclyAccessibleCount', 'sensitivityAggregations_publiclyAccessibleCount' - The total number of buckets that are publicly accessible based on a+-- combination of permissions settings for each bucket.+--+-- 'totalCount', 'sensitivityAggregations_totalCount' - The total number of buckets.+--+-- 'totalSizeInBytes', 'sensitivityAggregations_totalSizeInBytes' - The total storage size, in bytes, of the buckets.+--+-- If versioning is enabled for any of the buckets, this value is based on+-- the size of the latest version of each object in the buckets. This value+-- doesn\'t reflect the storage size of all versions of the objects in the+-- buckets.+newSensitivityAggregations ::+ SensitivityAggregations+newSensitivityAggregations =+ SensitivityAggregations'+ { classifiableSizeInBytes =+ Prelude.Nothing,+ publiclyAccessibleCount = Prelude.Nothing,+ totalCount = Prelude.Nothing,+ totalSizeInBytes = Prelude.Nothing+ }++-- | The total storage size, in bytes, of all the objects that Amazon Macie+-- can analyze in the buckets. These objects use a supported storage class+-- and have a file name extension for a supported file or storage format.+--+-- If versioning is enabled for any of the buckets, this value is based on+-- the size of the latest version of each applicable object in the buckets.+-- This value doesn\'t reflect the storage size of all versions of all+-- applicable objects in the buckets.+sensitivityAggregations_classifiableSizeInBytes :: Lens.Lens' SensitivityAggregations (Prelude.Maybe Prelude.Integer)+sensitivityAggregations_classifiableSizeInBytes = Lens.lens (\SensitivityAggregations' {classifiableSizeInBytes} -> classifiableSizeInBytes) (\s@SensitivityAggregations' {} a -> s {classifiableSizeInBytes = a} :: SensitivityAggregations)++-- | The total number of buckets that are publicly accessible based on a+-- combination of permissions settings for each bucket.+sensitivityAggregations_publiclyAccessibleCount :: Lens.Lens' SensitivityAggregations (Prelude.Maybe Prelude.Integer)+sensitivityAggregations_publiclyAccessibleCount = Lens.lens (\SensitivityAggregations' {publiclyAccessibleCount} -> publiclyAccessibleCount) (\s@SensitivityAggregations' {} a -> s {publiclyAccessibleCount = a} :: SensitivityAggregations)++-- | The total number of buckets.+sensitivityAggregations_totalCount :: Lens.Lens' SensitivityAggregations (Prelude.Maybe Prelude.Integer)+sensitivityAggregations_totalCount = Lens.lens (\SensitivityAggregations' {totalCount} -> totalCount) (\s@SensitivityAggregations' {} a -> s {totalCount = a} :: SensitivityAggregations)++-- | The total storage size, in bytes, of the buckets.+--+-- If versioning is enabled for any of the buckets, this value is based on+-- the size of the latest version of each object in the buckets. This value+-- doesn\'t reflect the storage size of all versions of the objects in the+-- buckets.+sensitivityAggregations_totalSizeInBytes :: Lens.Lens' SensitivityAggregations (Prelude.Maybe Prelude.Integer)+sensitivityAggregations_totalSizeInBytes = Lens.lens (\SensitivityAggregations' {totalSizeInBytes} -> totalSizeInBytes) (\s@SensitivityAggregations' {} a -> s {totalSizeInBytes = a} :: SensitivityAggregations)++instance Data.FromJSON SensitivityAggregations where+ parseJSON =+ Data.withObject+ "SensitivityAggregations"+ ( \x ->+ SensitivityAggregations'+ Prelude.<$> (x Data..:? "classifiableSizeInBytes")+ Prelude.<*> (x Data..:? "publiclyAccessibleCount")+ Prelude.<*> (x Data..:? "totalCount")+ Prelude.<*> (x Data..:? "totalSizeInBytes")+ )++instance Prelude.Hashable SensitivityAggregations where+ hashWithSalt _salt SensitivityAggregations' {..} =+ _salt+ `Prelude.hashWithSalt` classifiableSizeInBytes+ `Prelude.hashWithSalt` publiclyAccessibleCount+ `Prelude.hashWithSalt` totalCount+ `Prelude.hashWithSalt` totalSizeInBytes++instance Prelude.NFData SensitivityAggregations where+ rnf SensitivityAggregations' {..} =+ Prelude.rnf classifiableSizeInBytes+ `Prelude.seq` Prelude.rnf publiclyAccessibleCount+ `Prelude.seq` Prelude.rnf totalCount+ `Prelude.seq` Prelude.rnf totalSizeInBytes
+ gen/Amazonka/MacieV2/Types/SensitivityInspectionTemplateExcludes.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.MacieV2.Types.SensitivityInspectionTemplateExcludes+-- 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.MacieV2.Types.SensitivityInspectionTemplateExcludes 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++-- | Specifies managed data identifiers to exclude (not use) when performing+-- automated sensitive data discovery for an Amazon Macie account. For+-- information about the managed data identifiers that Amazon Macie+-- currently provides, see+-- <https://docs.aws.amazon.com/macie/latest/user/managed-data-identifiers.html Using managed data identifiers>+-- in the /Amazon Macie User Guide/.+--+-- /See:/ 'newSensitivityInspectionTemplateExcludes' smart constructor.+data SensitivityInspectionTemplateExcludes = SensitivityInspectionTemplateExcludes'+ { -- | An array of unique identifiers, one for each managed data identifier to+ -- exclude. To retrieve a list of valid values, use the+ -- ListManagedDataIdentifiers operation.+ managedDataIdentifierIds :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SensitivityInspectionTemplateExcludes' 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:+--+-- 'managedDataIdentifierIds', 'sensitivityInspectionTemplateExcludes_managedDataIdentifierIds' - An array of unique identifiers, one for each managed data identifier to+-- exclude. To retrieve a list of valid values, use the+-- ListManagedDataIdentifiers operation.+newSensitivityInspectionTemplateExcludes ::+ SensitivityInspectionTemplateExcludes+newSensitivityInspectionTemplateExcludes =+ SensitivityInspectionTemplateExcludes'+ { managedDataIdentifierIds =+ Prelude.Nothing+ }++-- | An array of unique identifiers, one for each managed data identifier to+-- exclude. To retrieve a list of valid values, use the+-- ListManagedDataIdentifiers operation.+sensitivityInspectionTemplateExcludes_managedDataIdentifierIds :: Lens.Lens' SensitivityInspectionTemplateExcludes (Prelude.Maybe [Prelude.Text])+sensitivityInspectionTemplateExcludes_managedDataIdentifierIds = Lens.lens (\SensitivityInspectionTemplateExcludes' {managedDataIdentifierIds} -> managedDataIdentifierIds) (\s@SensitivityInspectionTemplateExcludes' {} a -> s {managedDataIdentifierIds = a} :: SensitivityInspectionTemplateExcludes) Prelude.. Lens.mapping Lens.coerced++instance+ Data.FromJSON+ SensitivityInspectionTemplateExcludes+ where+ parseJSON =+ Data.withObject+ "SensitivityInspectionTemplateExcludes"+ ( \x ->+ SensitivityInspectionTemplateExcludes'+ Prelude.<$> ( x+ Data..:? "managedDataIdentifierIds"+ Data..!= Prelude.mempty+ )+ )++instance+ Prelude.Hashable+ SensitivityInspectionTemplateExcludes+ where+ hashWithSalt+ _salt+ SensitivityInspectionTemplateExcludes' {..} =+ _salt+ `Prelude.hashWithSalt` managedDataIdentifierIds++instance+ Prelude.NFData+ SensitivityInspectionTemplateExcludes+ where+ rnf SensitivityInspectionTemplateExcludes' {..} =+ Prelude.rnf managedDataIdentifierIds++instance+ Data.ToJSON+ SensitivityInspectionTemplateExcludes+ where+ toJSON SensitivityInspectionTemplateExcludes' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("managedDataIdentifierIds" Data..=)+ Prelude.<$> managedDataIdentifierIds+ ]+ )
+ gen/Amazonka/MacieV2/Types/SensitivityInspectionTemplateIncludes.hs view
@@ -0,0 +1,162 @@+{-# 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.MacieV2.Types.SensitivityInspectionTemplateIncludes+-- 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.MacieV2.Types.SensitivityInspectionTemplateIncludes 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++-- | Specifies the allow lists, custom data identifiers, and managed data+-- identifiers to include (use) when performing automated sensitive data+-- discovery for an Amazon Macie account. The configuration must specify at+-- least one custom data identifier or managed data identifier. For+-- information about the managed data identifiers that Amazon Macie+-- currently provides, see+-- <https://docs.aws.amazon.com/macie/latest/user/managed-data-identifiers.html Using managed data identifiers>+-- in the /Amazon Macie User Guide/.+--+-- /See:/ 'newSensitivityInspectionTemplateIncludes' smart constructor.+data SensitivityInspectionTemplateIncludes = SensitivityInspectionTemplateIncludes'+ { -- | An array of unique identifiers, one for each allow list to include.+ allowListIds :: Prelude.Maybe [Prelude.Text],+ -- | An array of unique identifiers, one for each custom data identifier to+ -- include.+ customDataIdentifierIds :: Prelude.Maybe [Prelude.Text],+ -- | An array of unique identifiers, one for each managed data identifier to+ -- include.+ --+ -- Amazon Macie uses these managed data identifiers in addition to managed+ -- data identifiers that are subsequently released and recommended for+ -- automated sensitive data discovery. To retrieve a list of valid values+ -- for the managed data identifiers that are currently available, use the+ -- ListManagedDataIdentifiers operation.+ managedDataIdentifierIds :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SensitivityInspectionTemplateIncludes' 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:+--+-- 'allowListIds', 'sensitivityInspectionTemplateIncludes_allowListIds' - An array of unique identifiers, one for each allow list to include.+--+-- 'customDataIdentifierIds', 'sensitivityInspectionTemplateIncludes_customDataIdentifierIds' - An array of unique identifiers, one for each custom data identifier to+-- include.+--+-- 'managedDataIdentifierIds', 'sensitivityInspectionTemplateIncludes_managedDataIdentifierIds' - An array of unique identifiers, one for each managed data identifier to+-- include.+--+-- Amazon Macie uses these managed data identifiers in addition to managed+-- data identifiers that are subsequently released and recommended for+-- automated sensitive data discovery. To retrieve a list of valid values+-- for the managed data identifiers that are currently available, use the+-- ListManagedDataIdentifiers operation.+newSensitivityInspectionTemplateIncludes ::+ SensitivityInspectionTemplateIncludes+newSensitivityInspectionTemplateIncludes =+ SensitivityInspectionTemplateIncludes'+ { allowListIds =+ Prelude.Nothing,+ customDataIdentifierIds =+ Prelude.Nothing,+ managedDataIdentifierIds =+ Prelude.Nothing+ }++-- | An array of unique identifiers, one for each allow list to include.+sensitivityInspectionTemplateIncludes_allowListIds :: Lens.Lens' SensitivityInspectionTemplateIncludes (Prelude.Maybe [Prelude.Text])+sensitivityInspectionTemplateIncludes_allowListIds = Lens.lens (\SensitivityInspectionTemplateIncludes' {allowListIds} -> allowListIds) (\s@SensitivityInspectionTemplateIncludes' {} a -> s {allowListIds = a} :: SensitivityInspectionTemplateIncludes) Prelude.. Lens.mapping Lens.coerced++-- | An array of unique identifiers, one for each custom data identifier to+-- include.+sensitivityInspectionTemplateIncludes_customDataIdentifierIds :: Lens.Lens' SensitivityInspectionTemplateIncludes (Prelude.Maybe [Prelude.Text])+sensitivityInspectionTemplateIncludes_customDataIdentifierIds = Lens.lens (\SensitivityInspectionTemplateIncludes' {customDataIdentifierIds} -> customDataIdentifierIds) (\s@SensitivityInspectionTemplateIncludes' {} a -> s {customDataIdentifierIds = a} :: SensitivityInspectionTemplateIncludes) Prelude.. Lens.mapping Lens.coerced++-- | An array of unique identifiers, one for each managed data identifier to+-- include.+--+-- Amazon Macie uses these managed data identifiers in addition to managed+-- data identifiers that are subsequently released and recommended for+-- automated sensitive data discovery. To retrieve a list of valid values+-- for the managed data identifiers that are currently available, use the+-- ListManagedDataIdentifiers operation.+sensitivityInspectionTemplateIncludes_managedDataIdentifierIds :: Lens.Lens' SensitivityInspectionTemplateIncludes (Prelude.Maybe [Prelude.Text])+sensitivityInspectionTemplateIncludes_managedDataIdentifierIds = Lens.lens (\SensitivityInspectionTemplateIncludes' {managedDataIdentifierIds} -> managedDataIdentifierIds) (\s@SensitivityInspectionTemplateIncludes' {} a -> s {managedDataIdentifierIds = a} :: SensitivityInspectionTemplateIncludes) Prelude.. Lens.mapping Lens.coerced++instance+ Data.FromJSON+ SensitivityInspectionTemplateIncludes+ where+ parseJSON =+ Data.withObject+ "SensitivityInspectionTemplateIncludes"+ ( \x ->+ SensitivityInspectionTemplateIncludes'+ Prelude.<$> (x Data..:? "allowListIds" Data..!= Prelude.mempty)+ Prelude.<*> ( x+ Data..:? "customDataIdentifierIds"+ Data..!= Prelude.mempty+ )+ Prelude.<*> ( x+ Data..:? "managedDataIdentifierIds"+ Data..!= Prelude.mempty+ )+ )++instance+ Prelude.Hashable+ SensitivityInspectionTemplateIncludes+ where+ hashWithSalt+ _salt+ SensitivityInspectionTemplateIncludes' {..} =+ _salt+ `Prelude.hashWithSalt` allowListIds+ `Prelude.hashWithSalt` customDataIdentifierIds+ `Prelude.hashWithSalt` managedDataIdentifierIds++instance+ Prelude.NFData+ SensitivityInspectionTemplateIncludes+ where+ rnf SensitivityInspectionTemplateIncludes' {..} =+ Prelude.rnf allowListIds+ `Prelude.seq` Prelude.rnf customDataIdentifierIds+ `Prelude.seq` Prelude.rnf managedDataIdentifierIds++instance+ Data.ToJSON+ SensitivityInspectionTemplateIncludes+ where+ toJSON SensitivityInspectionTemplateIncludes' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("allowListIds" Data..=) Prelude.<$> allowListIds,+ ("customDataIdentifierIds" Data..=)+ Prelude.<$> customDataIdentifierIds,+ ("managedDataIdentifierIds" Data..=)+ Prelude.<$> managedDataIdentifierIds+ ]+ )
+ gen/Amazonka/MacieV2/Types/SensitivityInspectionTemplatesEntry.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.MacieV2.Types.SensitivityInspectionTemplatesEntry+-- 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.MacieV2.Types.SensitivityInspectionTemplatesEntry 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++-- | Provides information about the sensitivity inspection template for an+-- Amazon Macie account. Macie uses the template\'s settings when it+-- performs automated sensitive data discovery for the account.+--+-- /See:/ 'newSensitivityInspectionTemplatesEntry' smart constructor.+data SensitivityInspectionTemplatesEntry = SensitivityInspectionTemplatesEntry'+ { -- | The unique identifier for the sensitivity inspection template for the+ -- account.+ id :: Prelude.Maybe Prelude.Text,+ -- | The name of the sensitivity inspection template for the account.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SensitivityInspectionTemplatesEntry' 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', 'sensitivityInspectionTemplatesEntry_id' - The unique identifier for the sensitivity inspection template for the+-- account.+--+-- 'name', 'sensitivityInspectionTemplatesEntry_name' - The name of the sensitivity inspection template for the account.+newSensitivityInspectionTemplatesEntry ::+ SensitivityInspectionTemplatesEntry+newSensitivityInspectionTemplatesEntry =+ SensitivityInspectionTemplatesEntry'+ { id =+ Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The unique identifier for the sensitivity inspection template for the+-- account.+sensitivityInspectionTemplatesEntry_id :: Lens.Lens' SensitivityInspectionTemplatesEntry (Prelude.Maybe Prelude.Text)+sensitivityInspectionTemplatesEntry_id = Lens.lens (\SensitivityInspectionTemplatesEntry' {id} -> id) (\s@SensitivityInspectionTemplatesEntry' {} a -> s {id = a} :: SensitivityInspectionTemplatesEntry)++-- | The name of the sensitivity inspection template for the account.+sensitivityInspectionTemplatesEntry_name :: Lens.Lens' SensitivityInspectionTemplatesEntry (Prelude.Maybe Prelude.Text)+sensitivityInspectionTemplatesEntry_name = Lens.lens (\SensitivityInspectionTemplatesEntry' {name} -> name) (\s@SensitivityInspectionTemplatesEntry' {} a -> s {name = a} :: SensitivityInspectionTemplatesEntry)++instance+ Data.FromJSON+ SensitivityInspectionTemplatesEntry+ where+ parseJSON =+ Data.withObject+ "SensitivityInspectionTemplatesEntry"+ ( \x ->+ SensitivityInspectionTemplatesEntry'+ Prelude.<$> (x Data..:? "id")+ Prelude.<*> (x Data..:? "name")+ )++instance+ Prelude.Hashable+ SensitivityInspectionTemplatesEntry+ where+ hashWithSalt+ _salt+ SensitivityInspectionTemplatesEntry' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` name++instance+ Prelude.NFData+ SensitivityInspectionTemplatesEntry+ where+ rnf SensitivityInspectionTemplatesEntry' {..} =+ Prelude.rnf id `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/MacieV2/Types/ServerSideEncryption.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.MacieV2.Types.ServerSideEncryption+-- 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.MacieV2.Types.ServerSideEncryption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.EncryptionType+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the server-side encryption settings for an S3+-- bucket or S3 object.+--+-- /See:/ 'newServerSideEncryption' smart constructor.+data ServerSideEncryption = ServerSideEncryption'+ { -- | The server-side encryption algorithm that\'s used when storing data in+ -- the bucket or object. If default encryption is disabled for the bucket+ -- or the object isn\'t encrypted using server-side encryption, this value+ -- is NONE.+ encryptionType :: Prelude.Maybe EncryptionType,+ -- | The Amazon Resource Name (ARN) or unique identifier (key ID) for the KMS+ -- key that\'s used to encrypt data in the bucket or the object. This value+ -- is null if an KMS key isn\'t used to encrypt the data.+ kmsMasterKeyId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServerSideEncryption' 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:+--+-- 'encryptionType', 'serverSideEncryption_encryptionType' - The server-side encryption algorithm that\'s used when storing data in+-- the bucket or object. If default encryption is disabled for the bucket+-- or the object isn\'t encrypted using server-side encryption, this value+-- is NONE.+--+-- 'kmsMasterKeyId', 'serverSideEncryption_kmsMasterKeyId' - The Amazon Resource Name (ARN) or unique identifier (key ID) for the KMS+-- key that\'s used to encrypt data in the bucket or the object. This value+-- is null if an KMS key isn\'t used to encrypt the data.+newServerSideEncryption ::+ ServerSideEncryption+newServerSideEncryption =+ ServerSideEncryption'+ { encryptionType =+ Prelude.Nothing,+ kmsMasterKeyId = Prelude.Nothing+ }++-- | The server-side encryption algorithm that\'s used when storing data in+-- the bucket or object. If default encryption is disabled for the bucket+-- or the object isn\'t encrypted using server-side encryption, this value+-- is NONE.+serverSideEncryption_encryptionType :: Lens.Lens' ServerSideEncryption (Prelude.Maybe EncryptionType)+serverSideEncryption_encryptionType = Lens.lens (\ServerSideEncryption' {encryptionType} -> encryptionType) (\s@ServerSideEncryption' {} a -> s {encryptionType = a} :: ServerSideEncryption)++-- | The Amazon Resource Name (ARN) or unique identifier (key ID) for the KMS+-- key that\'s used to encrypt data in the bucket or the object. This value+-- is null if an KMS key isn\'t used to encrypt the data.+serverSideEncryption_kmsMasterKeyId :: Lens.Lens' ServerSideEncryption (Prelude.Maybe Prelude.Text)+serverSideEncryption_kmsMasterKeyId = Lens.lens (\ServerSideEncryption' {kmsMasterKeyId} -> kmsMasterKeyId) (\s@ServerSideEncryption' {} a -> s {kmsMasterKeyId = a} :: ServerSideEncryption)++instance Data.FromJSON ServerSideEncryption where+ parseJSON =+ Data.withObject+ "ServerSideEncryption"+ ( \x ->+ ServerSideEncryption'+ Prelude.<$> (x Data..:? "encryptionType")+ Prelude.<*> (x Data..:? "kmsMasterKeyId")+ )++instance Prelude.Hashable ServerSideEncryption where+ hashWithSalt _salt ServerSideEncryption' {..} =+ _salt+ `Prelude.hashWithSalt` encryptionType+ `Prelude.hashWithSalt` kmsMasterKeyId++instance Prelude.NFData ServerSideEncryption where+ rnf ServerSideEncryption' {..} =+ Prelude.rnf encryptionType+ `Prelude.seq` Prelude.rnf kmsMasterKeyId
+ gen/Amazonka/MacieV2/Types/ServiceLimit.hs view
@@ -0,0 +1,103 @@+{-# 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.MacieV2.Types.ServiceLimit+-- 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.MacieV2.Types.ServiceLimit where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.Unit+import qualified Amazonka.Prelude as Prelude++-- | Specifies a current quota for an Amazon Macie account.+--+-- /See:/ 'newServiceLimit' smart constructor.+data ServiceLimit = ServiceLimit'+ { -- | Specifies whether the account has met the quota that corresponds to the+ -- metric specified by the UsageByAccount.type field in the response.+ isServiceLimited :: Prelude.Maybe Prelude.Bool,+ -- | The unit of measurement for the value specified by the value field.+ unit :: Prelude.Maybe Unit,+ -- | The value for the metric specified by the UsageByAccount.type field in+ -- the response.+ value :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServiceLimit' 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:+--+-- 'isServiceLimited', 'serviceLimit_isServiceLimited' - Specifies whether the account has met the quota that corresponds to the+-- metric specified by the UsageByAccount.type field in the response.+--+-- 'unit', 'serviceLimit_unit' - The unit of measurement for the value specified by the value field.+--+-- 'value', 'serviceLimit_value' - The value for the metric specified by the UsageByAccount.type field in+-- the response.+newServiceLimit ::+ ServiceLimit+newServiceLimit =+ ServiceLimit'+ { isServiceLimited = Prelude.Nothing,+ unit = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | Specifies whether the account has met the quota that corresponds to the+-- metric specified by the UsageByAccount.type field in the response.+serviceLimit_isServiceLimited :: Lens.Lens' ServiceLimit (Prelude.Maybe Prelude.Bool)+serviceLimit_isServiceLimited = Lens.lens (\ServiceLimit' {isServiceLimited} -> isServiceLimited) (\s@ServiceLimit' {} a -> s {isServiceLimited = a} :: ServiceLimit)++-- | The unit of measurement for the value specified by the value field.+serviceLimit_unit :: Lens.Lens' ServiceLimit (Prelude.Maybe Unit)+serviceLimit_unit = Lens.lens (\ServiceLimit' {unit} -> unit) (\s@ServiceLimit' {} a -> s {unit = a} :: ServiceLimit)++-- | The value for the metric specified by the UsageByAccount.type field in+-- the response.+serviceLimit_value :: Lens.Lens' ServiceLimit (Prelude.Maybe Prelude.Integer)+serviceLimit_value = Lens.lens (\ServiceLimit' {value} -> value) (\s@ServiceLimit' {} a -> s {value = a} :: ServiceLimit)++instance Data.FromJSON ServiceLimit where+ parseJSON =+ Data.withObject+ "ServiceLimit"+ ( \x ->+ ServiceLimit'+ Prelude.<$> (x Data..:? "isServiceLimited")+ Prelude.<*> (x Data..:? "unit")+ Prelude.<*> (x Data..:? "value")+ )++instance Prelude.Hashable ServiceLimit where+ hashWithSalt _salt ServiceLimit' {..} =+ _salt+ `Prelude.hashWithSalt` isServiceLimited+ `Prelude.hashWithSalt` unit+ `Prelude.hashWithSalt` value++instance Prelude.NFData ServiceLimit where+ rnf ServiceLimit' {..} =+ Prelude.rnf isServiceLimited+ `Prelude.seq` Prelude.rnf unit+ `Prelude.seq` Prelude.rnf value
+ gen/Amazonka/MacieV2/Types/SessionContext.hs view
@@ -0,0 +1,93 @@+{-# 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.MacieV2.Types.SessionContext+-- 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.MacieV2.Types.SessionContext where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.SessionContextAttributes+import Amazonka.MacieV2.Types.SessionIssuer+import qualified Amazonka.Prelude as Prelude++-- | Provides information about a session that was created for an entity that+-- performed an action by using temporary security credentials.+--+-- /See:/ 'newSessionContext' smart constructor.+data SessionContext = SessionContext'+ { -- | The date and time when the credentials were issued, and whether the+ -- credentials were authenticated with a multi-factor authentication (MFA)+ -- device.+ attributes :: Prelude.Maybe SessionContextAttributes,+ -- | The source and type of credentials that were issued to the entity.+ sessionIssuer :: Prelude.Maybe SessionIssuer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SessionContext' 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:+--+-- 'attributes', 'sessionContext_attributes' - The date and time when the credentials were issued, and whether the+-- credentials were authenticated with a multi-factor authentication (MFA)+-- device.+--+-- 'sessionIssuer', 'sessionContext_sessionIssuer' - The source and type of credentials that were issued to the entity.+newSessionContext ::+ SessionContext+newSessionContext =+ SessionContext'+ { attributes = Prelude.Nothing,+ sessionIssuer = Prelude.Nothing+ }++-- | The date and time when the credentials were issued, and whether the+-- credentials were authenticated with a multi-factor authentication (MFA)+-- device.+sessionContext_attributes :: Lens.Lens' SessionContext (Prelude.Maybe SessionContextAttributes)+sessionContext_attributes = Lens.lens (\SessionContext' {attributes} -> attributes) (\s@SessionContext' {} a -> s {attributes = a} :: SessionContext)++-- | The source and type of credentials that were issued to the entity.+sessionContext_sessionIssuer :: Lens.Lens' SessionContext (Prelude.Maybe SessionIssuer)+sessionContext_sessionIssuer = Lens.lens (\SessionContext' {sessionIssuer} -> sessionIssuer) (\s@SessionContext' {} a -> s {sessionIssuer = a} :: SessionContext)++instance Data.FromJSON SessionContext where+ parseJSON =+ Data.withObject+ "SessionContext"+ ( \x ->+ SessionContext'+ Prelude.<$> (x Data..:? "attributes")+ Prelude.<*> (x Data..:? "sessionIssuer")+ )++instance Prelude.Hashable SessionContext where+ hashWithSalt _salt SessionContext' {..} =+ _salt+ `Prelude.hashWithSalt` attributes+ `Prelude.hashWithSalt` sessionIssuer++instance Prelude.NFData SessionContext where+ rnf SessionContext' {..} =+ Prelude.rnf attributes+ `Prelude.seq` Prelude.rnf sessionIssuer
+ gen/Amazonka/MacieV2/Types/SessionContextAttributes.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.Types.SessionContextAttributes+-- 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.MacieV2.Types.SessionContextAttributes 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++-- | Provides information about the context in which temporary security+-- credentials were issued to an entity.+--+-- /See:/ 'newSessionContextAttributes' smart constructor.+data SessionContextAttributes = SessionContextAttributes'+ { -- | The date and time, in UTC and ISO 8601 format, when the credentials were+ -- issued.+ creationDate :: Prelude.Maybe Data.ISO8601,+ -- | Specifies whether the credentials were authenticated with a multi-factor+ -- authentication (MFA) device.+ mfaAuthenticated :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SessionContextAttributes' 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:+--+-- 'creationDate', 'sessionContextAttributes_creationDate' - The date and time, in UTC and ISO 8601 format, when the credentials were+-- issued.+--+-- 'mfaAuthenticated', 'sessionContextAttributes_mfaAuthenticated' - Specifies whether the credentials were authenticated with a multi-factor+-- authentication (MFA) device.+newSessionContextAttributes ::+ SessionContextAttributes+newSessionContextAttributes =+ SessionContextAttributes'+ { creationDate =+ Prelude.Nothing,+ mfaAuthenticated = Prelude.Nothing+ }++-- | The date and time, in UTC and ISO 8601 format, when the credentials were+-- issued.+sessionContextAttributes_creationDate :: Lens.Lens' SessionContextAttributes (Prelude.Maybe Prelude.UTCTime)+sessionContextAttributes_creationDate = Lens.lens (\SessionContextAttributes' {creationDate} -> creationDate) (\s@SessionContextAttributes' {} a -> s {creationDate = a} :: SessionContextAttributes) Prelude.. Lens.mapping Data._Time++-- | Specifies whether the credentials were authenticated with a multi-factor+-- authentication (MFA) device.+sessionContextAttributes_mfaAuthenticated :: Lens.Lens' SessionContextAttributes (Prelude.Maybe Prelude.Bool)+sessionContextAttributes_mfaAuthenticated = Lens.lens (\SessionContextAttributes' {mfaAuthenticated} -> mfaAuthenticated) (\s@SessionContextAttributes' {} a -> s {mfaAuthenticated = a} :: SessionContextAttributes)++instance Data.FromJSON SessionContextAttributes where+ parseJSON =+ Data.withObject+ "SessionContextAttributes"+ ( \x ->+ SessionContextAttributes'+ Prelude.<$> (x Data..:? "creationDate")+ Prelude.<*> (x Data..:? "mfaAuthenticated")+ )++instance Prelude.Hashable SessionContextAttributes where+ hashWithSalt _salt SessionContextAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` creationDate+ `Prelude.hashWithSalt` mfaAuthenticated++instance Prelude.NFData SessionContextAttributes where+ rnf SessionContextAttributes' {..} =+ Prelude.rnf creationDate+ `Prelude.seq` Prelude.rnf mfaAuthenticated
+ gen/Amazonka/MacieV2/Types/SessionIssuer.hs view
@@ -0,0 +1,139 @@+{-# 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.MacieV2.Types.SessionIssuer+-- 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.MacieV2.Types.SessionIssuer 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++-- | Provides information about the source and type of temporary security+-- credentials that were issued to an entity.+--+-- /See:/ 'newSessionIssuer' smart constructor.+data SessionIssuer = SessionIssuer'+ { -- | The unique identifier for the Amazon Web Services account that owns the+ -- entity that was used to get the credentials.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the source account, IAM user, or role+ -- that was used to get the credentials.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the entity that was used to get the+ -- credentials.+ principalId :: Prelude.Maybe Prelude.Text,+ -- | The source of the temporary security credentials, such as Root, IAMUser,+ -- or Role.+ type' :: Prelude.Maybe Prelude.Text,+ -- | The name or alias of the user or role that issued the session. This+ -- value is null if the credentials were obtained from a root account that+ -- doesn\'t have an alias.+ userName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SessionIssuer' 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:+--+-- 'accountId', 'sessionIssuer_accountId' - The unique identifier for the Amazon Web Services account that owns the+-- entity that was used to get the credentials.+--+-- 'arn', 'sessionIssuer_arn' - The Amazon Resource Name (ARN) of the source account, IAM user, or role+-- that was used to get the credentials.+--+-- 'principalId', 'sessionIssuer_principalId' - The unique identifier for the entity that was used to get the+-- credentials.+--+-- 'type'', 'sessionIssuer_type' - The source of the temporary security credentials, such as Root, IAMUser,+-- or Role.+--+-- 'userName', 'sessionIssuer_userName' - The name or alias of the user or role that issued the session. This+-- value is null if the credentials were obtained from a root account that+-- doesn\'t have an alias.+newSessionIssuer ::+ SessionIssuer+newSessionIssuer =+ SessionIssuer'+ { accountId = Prelude.Nothing,+ arn = Prelude.Nothing,+ principalId = Prelude.Nothing,+ type' = Prelude.Nothing,+ userName = Prelude.Nothing+ }++-- | The unique identifier for the Amazon Web Services account that owns the+-- entity that was used to get the credentials.+sessionIssuer_accountId :: Lens.Lens' SessionIssuer (Prelude.Maybe Prelude.Text)+sessionIssuer_accountId = Lens.lens (\SessionIssuer' {accountId} -> accountId) (\s@SessionIssuer' {} a -> s {accountId = a} :: SessionIssuer)++-- | The Amazon Resource Name (ARN) of the source account, IAM user, or role+-- that was used to get the credentials.+sessionIssuer_arn :: Lens.Lens' SessionIssuer (Prelude.Maybe Prelude.Text)+sessionIssuer_arn = Lens.lens (\SessionIssuer' {arn} -> arn) (\s@SessionIssuer' {} a -> s {arn = a} :: SessionIssuer)++-- | The unique identifier for the entity that was used to get the+-- credentials.+sessionIssuer_principalId :: Lens.Lens' SessionIssuer (Prelude.Maybe Prelude.Text)+sessionIssuer_principalId = Lens.lens (\SessionIssuer' {principalId} -> principalId) (\s@SessionIssuer' {} a -> s {principalId = a} :: SessionIssuer)++-- | The source of the temporary security credentials, such as Root, IAMUser,+-- or Role.+sessionIssuer_type :: Lens.Lens' SessionIssuer (Prelude.Maybe Prelude.Text)+sessionIssuer_type = Lens.lens (\SessionIssuer' {type'} -> type') (\s@SessionIssuer' {} a -> s {type' = a} :: SessionIssuer)++-- | The name or alias of the user or role that issued the session. This+-- value is null if the credentials were obtained from a root account that+-- doesn\'t have an alias.+sessionIssuer_userName :: Lens.Lens' SessionIssuer (Prelude.Maybe Prelude.Text)+sessionIssuer_userName = Lens.lens (\SessionIssuer' {userName} -> userName) (\s@SessionIssuer' {} a -> s {userName = a} :: SessionIssuer)++instance Data.FromJSON SessionIssuer where+ parseJSON =+ Data.withObject+ "SessionIssuer"+ ( \x ->+ SessionIssuer'+ Prelude.<$> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "principalId")+ Prelude.<*> (x Data..:? "type")+ Prelude.<*> (x Data..:? "userName")+ )++instance Prelude.Hashable SessionIssuer where+ hashWithSalt _salt SessionIssuer' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` principalId+ `Prelude.hashWithSalt` type'+ `Prelude.hashWithSalt` userName++instance Prelude.NFData SessionIssuer where+ rnf SessionIssuer' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf principalId+ `Prelude.seq` Prelude.rnf type'+ `Prelude.seq` Prelude.rnf userName
+ gen/Amazonka/MacieV2/Types/Severity.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.Types.Severity+-- 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.MacieV2.Types.Severity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.SeverityDescription+import qualified Amazonka.Prelude as Prelude++-- | Provides the numerical and qualitative representations of a finding\'s+-- severity.+--+-- /See:/ 'newSeverity' smart constructor.+data Severity = Severity'+ { -- | The qualitative representation of the finding\'s severity, ranging from+ -- Low (least severe) to High (most severe).+ description :: Prelude.Maybe SeverityDescription,+ -- | The numerical representation of the finding\'s severity, ranging from 1+ -- (least severe) to 3 (most severe).+ score :: Prelude.Maybe Prelude.Integer+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Severity' 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', 'severity_description' - The qualitative representation of the finding\'s severity, ranging from+-- Low (least severe) to High (most severe).+--+-- 'score', 'severity_score' - The numerical representation of the finding\'s severity, ranging from 1+-- (least severe) to 3 (most severe).+newSeverity ::+ Severity+newSeverity =+ Severity'+ { description = Prelude.Nothing,+ score = Prelude.Nothing+ }++-- | The qualitative representation of the finding\'s severity, ranging from+-- Low (least severe) to High (most severe).+severity_description :: Lens.Lens' Severity (Prelude.Maybe SeverityDescription)+severity_description = Lens.lens (\Severity' {description} -> description) (\s@Severity' {} a -> s {description = a} :: Severity)++-- | The numerical representation of the finding\'s severity, ranging from 1+-- (least severe) to 3 (most severe).+severity_score :: Lens.Lens' Severity (Prelude.Maybe Prelude.Integer)+severity_score = Lens.lens (\Severity' {score} -> score) (\s@Severity' {} a -> s {score = a} :: Severity)++instance Data.FromJSON Severity where+ parseJSON =+ Data.withObject+ "Severity"+ ( \x ->+ Severity'+ Prelude.<$> (x Data..:? "description")+ Prelude.<*> (x Data..:? "score")+ )++instance Prelude.Hashable Severity where+ hashWithSalt _salt Severity' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` score++instance Prelude.NFData Severity where+ rnf Severity' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf score
+ gen/Amazonka/MacieV2/Types/SeverityDescription.hs view
@@ -0,0 +1,78 @@+{-# 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.MacieV2.Types.SeverityDescription+-- 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.MacieV2.Types.SeverityDescription+ ( SeverityDescription+ ( ..,+ SeverityDescription_High,+ SeverityDescription_Low,+ SeverityDescription_Medium+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The qualitative representation of the finding\'s severity. Possible+-- values are:+newtype SeverityDescription = SeverityDescription'+ { fromSeverityDescription ::+ 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 SeverityDescription_High :: SeverityDescription+pattern SeverityDescription_High = SeverityDescription' "High"++pattern SeverityDescription_Low :: SeverityDescription+pattern SeverityDescription_Low = SeverityDescription' "Low"++pattern SeverityDescription_Medium :: SeverityDescription+pattern SeverityDescription_Medium = SeverityDescription' "Medium"++{-# COMPLETE+ SeverityDescription_High,+ SeverityDescription_Low,+ SeverityDescription_Medium,+ SeverityDescription'+ #-}
+ gen/Amazonka/MacieV2/Types/SeverityLevel.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.Types.SeverityLevel+-- 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.MacieV2.Types.SeverityLevel where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.DataIdentifierSeverity+import qualified Amazonka.Prelude as Prelude++-- | Specifies a severity level for findings that a custom data identifier+-- produces. A severity level determines which severity is assigned to the+-- findings, based on the number of occurrences of text that matches the+-- custom data identifier\'s detection criteria.+--+-- /See:/ 'newSeverityLevel' smart constructor.+data SeverityLevel = SeverityLevel'+ { -- | The minimum number of occurrences of text that must match the custom+ -- data identifier\'s detection criteria in order to produce a finding with+ -- the specified severity (severity).+ occurrencesThreshold :: Prelude.Integer,+ -- | The severity to assign to a finding: if the number of occurrences is+ -- greater than or equal to the specified threshold (occurrencesThreshold);+ -- and, if applicable, the number of occurrences is less than the threshold+ -- for the next consecutive severity level for the custom data identifier,+ -- moving from LOW to HIGH.+ severity :: DataIdentifierSeverity+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SeverityLevel' 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:+--+-- 'occurrencesThreshold', 'severityLevel_occurrencesThreshold' - The minimum number of occurrences of text that must match the custom+-- data identifier\'s detection criteria in order to produce a finding with+-- the specified severity (severity).+--+-- 'severity', 'severityLevel_severity' - The severity to assign to a finding: if the number of occurrences is+-- greater than or equal to the specified threshold (occurrencesThreshold);+-- and, if applicable, the number of occurrences is less than the threshold+-- for the next consecutive severity level for the custom data identifier,+-- moving from LOW to HIGH.+newSeverityLevel ::+ -- | 'occurrencesThreshold'+ Prelude.Integer ->+ -- | 'severity'+ DataIdentifierSeverity ->+ SeverityLevel+newSeverityLevel pOccurrencesThreshold_ pSeverity_ =+ SeverityLevel'+ { occurrencesThreshold =+ pOccurrencesThreshold_,+ severity = pSeverity_+ }++-- | The minimum number of occurrences of text that must match the custom+-- data identifier\'s detection criteria in order to produce a finding with+-- the specified severity (severity).+severityLevel_occurrencesThreshold :: Lens.Lens' SeverityLevel Prelude.Integer+severityLevel_occurrencesThreshold = Lens.lens (\SeverityLevel' {occurrencesThreshold} -> occurrencesThreshold) (\s@SeverityLevel' {} a -> s {occurrencesThreshold = a} :: SeverityLevel)++-- | The severity to assign to a finding: if the number of occurrences is+-- greater than or equal to the specified threshold (occurrencesThreshold);+-- and, if applicable, the number of occurrences is less than the threshold+-- for the next consecutive severity level for the custom data identifier,+-- moving from LOW to HIGH.+severityLevel_severity :: Lens.Lens' SeverityLevel DataIdentifierSeverity+severityLevel_severity = Lens.lens (\SeverityLevel' {severity} -> severity) (\s@SeverityLevel' {} a -> s {severity = a} :: SeverityLevel)++instance Data.FromJSON SeverityLevel where+ parseJSON =+ Data.withObject+ "SeverityLevel"+ ( \x ->+ SeverityLevel'+ Prelude.<$> (x Data..: "occurrencesThreshold")+ Prelude.<*> (x Data..: "severity")+ )++instance Prelude.Hashable SeverityLevel where+ hashWithSalt _salt SeverityLevel' {..} =+ _salt+ `Prelude.hashWithSalt` occurrencesThreshold+ `Prelude.hashWithSalt` severity++instance Prelude.NFData SeverityLevel where+ rnf SeverityLevel' {..} =+ Prelude.rnf occurrencesThreshold+ `Prelude.seq` Prelude.rnf severity++instance Data.ToJSON SeverityLevel where+ toJSON SeverityLevel' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "occurrencesThreshold"+ Data..= occurrencesThreshold+ ),+ Prelude.Just ("severity" Data..= severity)+ ]+ )
@@ -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.MacieV2.Types.SharedAccess+-- 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.MacieV2.Types.SharedAccess+ ( SharedAccess+ ( ..,+ SharedAccess_EXTERNAL,+ SharedAccess_INTERNAL,+ SharedAccess_NOT_SHARED,+ SharedAccess_UNKNOWN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SharedAccess = SharedAccess'+ { fromSharedAccess ::+ 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 SharedAccess_EXTERNAL :: SharedAccess+pattern SharedAccess_EXTERNAL = SharedAccess' "EXTERNAL"++pattern SharedAccess_INTERNAL :: SharedAccess+pattern SharedAccess_INTERNAL = SharedAccess' "INTERNAL"++pattern SharedAccess_NOT_SHARED :: SharedAccess+pattern SharedAccess_NOT_SHARED = SharedAccess' "NOT_SHARED"++pattern SharedAccess_UNKNOWN :: SharedAccess+pattern SharedAccess_UNKNOWN = SharedAccess' "UNKNOWN"++{-# COMPLETE+ SharedAccess_EXTERNAL,+ SharedAccess_INTERNAL,+ SharedAccess_NOT_SHARED,+ SharedAccess_UNKNOWN,+ SharedAccess'+ #-}
+ gen/Amazonka/MacieV2/Types/SimpleCriterionForJob.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.MacieV2.Types.SimpleCriterionForJob+-- 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.MacieV2.Types.SimpleCriterionForJob where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.JobComparator+import Amazonka.MacieV2.Types.SimpleCriterionKeyForJob+import qualified Amazonka.Prelude as Prelude++-- | Specifies a property-based condition that determines whether an S3+-- bucket is included or excluded from a classification job.+--+-- /See:/ 'newSimpleCriterionForJob' smart constructor.+data SimpleCriterionForJob = SimpleCriterionForJob'+ { -- | The operator to use in the condition. Valid values are EQ (equals) and+ -- NE (not equals).+ comparator :: Prelude.Maybe JobComparator,+ -- | The property to use in the condition.+ key :: Prelude.Maybe SimpleCriterionKeyForJob,+ -- | An array that lists one or more values to use in the condition. If you+ -- specify multiple values, Amazon Macie uses OR logic to join the values.+ -- Valid values for each supported property (key) are:+ --+ -- - ACCOUNT_ID - A string that represents the unique identifier for the+ -- Amazon Web Services account that owns the bucket.+ --+ -- - S3_BUCKET_EFFECTIVE_PERMISSION - A string that represents an+ -- enumerated value that Macie defines for the+ -- <https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html#datasources-s3-prop-bucketpublicaccess-effectivepermission BucketPublicAccess.effectivePermission>+ -- property of a bucket.+ --+ -- - S3_BUCKET_NAME - A string that represents the name of a bucket.+ --+ -- - S3_BUCKET_SHARED_ACCESS - A string that represents an enumerated+ -- value that Macie defines for the+ -- <https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html#datasources-s3-prop-bucketmetadata-sharedaccess BucketMetadata.sharedAccess>+ -- property of a bucket.+ --+ -- Values are case sensitive. Also, Macie doesn\'t support use of partial+ -- values or wildcard characters in these values.+ values :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SimpleCriterionForJob' 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:+--+-- 'comparator', 'simpleCriterionForJob_comparator' - The operator to use in the condition. Valid values are EQ (equals) and+-- NE (not equals).+--+-- 'key', 'simpleCriterionForJob_key' - The property to use in the condition.+--+-- 'values', 'simpleCriterionForJob_values' - An array that lists one or more values to use in the condition. If you+-- specify multiple values, Amazon Macie uses OR logic to join the values.+-- Valid values for each supported property (key) are:+--+-- - ACCOUNT_ID - A string that represents the unique identifier for the+-- Amazon Web Services account that owns the bucket.+--+-- - S3_BUCKET_EFFECTIVE_PERMISSION - A string that represents an+-- enumerated value that Macie defines for the+-- <https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html#datasources-s3-prop-bucketpublicaccess-effectivepermission BucketPublicAccess.effectivePermission>+-- property of a bucket.+--+-- - S3_BUCKET_NAME - A string that represents the name of a bucket.+--+-- - S3_BUCKET_SHARED_ACCESS - A string that represents an enumerated+-- value that Macie defines for the+-- <https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html#datasources-s3-prop-bucketmetadata-sharedaccess BucketMetadata.sharedAccess>+-- property of a bucket.+--+-- Values are case sensitive. Also, Macie doesn\'t support use of partial+-- values or wildcard characters in these values.+newSimpleCriterionForJob ::+ SimpleCriterionForJob+newSimpleCriterionForJob =+ SimpleCriterionForJob'+ { comparator =+ Prelude.Nothing,+ key = Prelude.Nothing,+ values = Prelude.Nothing+ }++-- | The operator to use in the condition. Valid values are EQ (equals) and+-- NE (not equals).+simpleCriterionForJob_comparator :: Lens.Lens' SimpleCriterionForJob (Prelude.Maybe JobComparator)+simpleCriterionForJob_comparator = Lens.lens (\SimpleCriterionForJob' {comparator} -> comparator) (\s@SimpleCriterionForJob' {} a -> s {comparator = a} :: SimpleCriterionForJob)++-- | The property to use in the condition.+simpleCriterionForJob_key :: Lens.Lens' SimpleCriterionForJob (Prelude.Maybe SimpleCriterionKeyForJob)+simpleCriterionForJob_key = Lens.lens (\SimpleCriterionForJob' {key} -> key) (\s@SimpleCriterionForJob' {} a -> s {key = a} :: SimpleCriterionForJob)++-- | An array that lists one or more values to use in the condition. If you+-- specify multiple values, Amazon Macie uses OR logic to join the values.+-- Valid values for each supported property (key) are:+--+-- - ACCOUNT_ID - A string that represents the unique identifier for the+-- Amazon Web Services account that owns the bucket.+--+-- - S3_BUCKET_EFFECTIVE_PERMISSION - A string that represents an+-- enumerated value that Macie defines for the+-- <https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html#datasources-s3-prop-bucketpublicaccess-effectivepermission BucketPublicAccess.effectivePermission>+-- property of a bucket.+--+-- - S3_BUCKET_NAME - A string that represents the name of a bucket.+--+-- - S3_BUCKET_SHARED_ACCESS - A string that represents an enumerated+-- value that Macie defines for the+-- <https://docs.aws.amazon.com/macie/latest/APIReference/datasources-s3.html#datasources-s3-prop-bucketmetadata-sharedaccess BucketMetadata.sharedAccess>+-- property of a bucket.+--+-- Values are case sensitive. Also, Macie doesn\'t support use of partial+-- values or wildcard characters in these values.+simpleCriterionForJob_values :: Lens.Lens' SimpleCriterionForJob (Prelude.Maybe [Prelude.Text])+simpleCriterionForJob_values = Lens.lens (\SimpleCriterionForJob' {values} -> values) (\s@SimpleCriterionForJob' {} a -> s {values = a} :: SimpleCriterionForJob) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SimpleCriterionForJob where+ parseJSON =+ Data.withObject+ "SimpleCriterionForJob"+ ( \x ->+ SimpleCriterionForJob'+ Prelude.<$> (x Data..:? "comparator")+ Prelude.<*> (x Data..:? "key")+ Prelude.<*> (x Data..:? "values" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable SimpleCriterionForJob where+ hashWithSalt _salt SimpleCriterionForJob' {..} =+ _salt+ `Prelude.hashWithSalt` comparator+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` values++instance Prelude.NFData SimpleCriterionForJob where+ rnf SimpleCriterionForJob' {..} =+ Prelude.rnf comparator+ `Prelude.seq` Prelude.rnf key+ `Prelude.seq` Prelude.rnf values++instance Data.ToJSON SimpleCriterionForJob where+ toJSON SimpleCriterionForJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("comparator" Data..=) Prelude.<$> comparator,+ ("key" Data..=) Prelude.<$> key,+ ("values" Data..=) Prelude.<$> values+ ]+ )
+ gen/Amazonka/MacieV2/Types/SimpleCriterionKeyForJob.hs view
@@ -0,0 +1,83 @@+{-# 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.MacieV2.Types.SimpleCriterionKeyForJob+-- 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.MacieV2.Types.SimpleCriterionKeyForJob+ ( SimpleCriterionKeyForJob+ ( ..,+ SimpleCriterionKeyForJob_ACCOUNT_ID,+ SimpleCriterionKeyForJob_S3_BUCKET_EFFECTIVE_PERMISSION,+ SimpleCriterionKeyForJob_S3_BUCKET_NAME,+ SimpleCriterionKeyForJob_S3_BUCKET_SHARED_ACCESS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The property to use in a condition that determines whether an S3 bucket+-- is included or excluded from a classification job. Valid values are:+newtype SimpleCriterionKeyForJob = SimpleCriterionKeyForJob'+ { fromSimpleCriterionKeyForJob ::+ 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 SimpleCriterionKeyForJob_ACCOUNT_ID :: SimpleCriterionKeyForJob+pattern SimpleCriterionKeyForJob_ACCOUNT_ID = SimpleCriterionKeyForJob' "ACCOUNT_ID"++pattern SimpleCriterionKeyForJob_S3_BUCKET_EFFECTIVE_PERMISSION :: SimpleCriterionKeyForJob+pattern SimpleCriterionKeyForJob_S3_BUCKET_EFFECTIVE_PERMISSION = SimpleCriterionKeyForJob' "S3_BUCKET_EFFECTIVE_PERMISSION"++pattern SimpleCriterionKeyForJob_S3_BUCKET_NAME :: SimpleCriterionKeyForJob+pattern SimpleCriterionKeyForJob_S3_BUCKET_NAME = SimpleCriterionKeyForJob' "S3_BUCKET_NAME"++pattern SimpleCriterionKeyForJob_S3_BUCKET_SHARED_ACCESS :: SimpleCriterionKeyForJob+pattern SimpleCriterionKeyForJob_S3_BUCKET_SHARED_ACCESS = SimpleCriterionKeyForJob' "S3_BUCKET_SHARED_ACCESS"++{-# COMPLETE+ SimpleCriterionKeyForJob_ACCOUNT_ID,+ SimpleCriterionKeyForJob_S3_BUCKET_EFFECTIVE_PERMISSION,+ SimpleCriterionKeyForJob_S3_BUCKET_NAME,+ SimpleCriterionKeyForJob_S3_BUCKET_SHARED_ACCESS,+ SimpleCriterionKeyForJob'+ #-}
+ gen/Amazonka/MacieV2/Types/SimpleScopeTerm.hs view
@@ -0,0 +1,205 @@+{-# 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.MacieV2.Types.SimpleScopeTerm+-- 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.MacieV2.Types.SimpleScopeTerm where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.JobComparator+import Amazonka.MacieV2.Types.ScopeFilterKey+import qualified Amazonka.Prelude as Prelude++-- | Specifies a property-based condition that determines whether an S3+-- object is included or excluded from a classification job.+--+-- /See:/ 'newSimpleScopeTerm' smart constructor.+data SimpleScopeTerm = SimpleScopeTerm'+ { -- | The operator to use in the condition. Valid values for each supported+ -- property (key) are:+ --+ -- - OBJECT_EXTENSION - EQ (equals) or NE (not equals)+ --+ -- - OBJECT_KEY - STARTS_WITH+ --+ -- - OBJECT_LAST_MODIFIED_DATE - Any operator except CONTAINS+ --+ -- - OBJECT_SIZE - Any operator except CONTAINS+ comparator :: Prelude.Maybe JobComparator,+ -- | The object property to use in the condition.+ key :: Prelude.Maybe ScopeFilterKey,+ -- | An array that lists the values to use in the condition. If the value for+ -- the key property is OBJECT_EXTENSION or OBJECT_KEY, this array can+ -- specify multiple values and Amazon Macie uses OR logic to join the+ -- values. Otherwise, this array can specify only one value.+ --+ -- Valid values for each supported property (key) are:+ --+ -- - OBJECT_EXTENSION - A string that represents the file name extension+ -- of an object. For example: docx or pdf+ --+ -- - OBJECT_KEY - A string that represents the key prefix (folder name or+ -- path) of an object. For example: logs or awslogs\/eventlogs. This+ -- value applies a condition to objects whose keys (names) begin with+ -- the specified value.+ --+ -- - OBJECT_LAST_MODIFIED_DATE - The date and time (in UTC and extended+ -- ISO 8601 format) when an object was created or last changed,+ -- whichever is latest. For example: 2020-09-28T14:31:13Z+ --+ -- - OBJECT_SIZE - An integer that represents the storage size (in bytes)+ -- of an object.+ --+ -- Macie doesn\'t support use of wildcard characters in these values. Also,+ -- string values are case sensitive.+ values :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SimpleScopeTerm' 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:+--+-- 'comparator', 'simpleScopeTerm_comparator' - The operator to use in the condition. Valid values for each supported+-- property (key) are:+--+-- - OBJECT_EXTENSION - EQ (equals) or NE (not equals)+--+-- - OBJECT_KEY - STARTS_WITH+--+-- - OBJECT_LAST_MODIFIED_DATE - Any operator except CONTAINS+--+-- - OBJECT_SIZE - Any operator except CONTAINS+--+-- 'key', 'simpleScopeTerm_key' - The object property to use in the condition.+--+-- 'values', 'simpleScopeTerm_values' - An array that lists the values to use in the condition. If the value for+-- the key property is OBJECT_EXTENSION or OBJECT_KEY, this array can+-- specify multiple values and Amazon Macie uses OR logic to join the+-- values. Otherwise, this array can specify only one value.+--+-- Valid values for each supported property (key) are:+--+-- - OBJECT_EXTENSION - A string that represents the file name extension+-- of an object. For example: docx or pdf+--+-- - OBJECT_KEY - A string that represents the key prefix (folder name or+-- path) of an object. For example: logs or awslogs\/eventlogs. This+-- value applies a condition to objects whose keys (names) begin with+-- the specified value.+--+-- - OBJECT_LAST_MODIFIED_DATE - The date and time (in UTC and extended+-- ISO 8601 format) when an object was created or last changed,+-- whichever is latest. For example: 2020-09-28T14:31:13Z+--+-- - OBJECT_SIZE - An integer that represents the storage size (in bytes)+-- of an object.+--+-- Macie doesn\'t support use of wildcard characters in these values. Also,+-- string values are case sensitive.+newSimpleScopeTerm ::+ SimpleScopeTerm+newSimpleScopeTerm =+ SimpleScopeTerm'+ { comparator = Prelude.Nothing,+ key = Prelude.Nothing,+ values = Prelude.Nothing+ }++-- | The operator to use in the condition. Valid values for each supported+-- property (key) are:+--+-- - OBJECT_EXTENSION - EQ (equals) or NE (not equals)+--+-- - OBJECT_KEY - STARTS_WITH+--+-- - OBJECT_LAST_MODIFIED_DATE - Any operator except CONTAINS+--+-- - OBJECT_SIZE - Any operator except CONTAINS+simpleScopeTerm_comparator :: Lens.Lens' SimpleScopeTerm (Prelude.Maybe JobComparator)+simpleScopeTerm_comparator = Lens.lens (\SimpleScopeTerm' {comparator} -> comparator) (\s@SimpleScopeTerm' {} a -> s {comparator = a} :: SimpleScopeTerm)++-- | The object property to use in the condition.+simpleScopeTerm_key :: Lens.Lens' SimpleScopeTerm (Prelude.Maybe ScopeFilterKey)+simpleScopeTerm_key = Lens.lens (\SimpleScopeTerm' {key} -> key) (\s@SimpleScopeTerm' {} a -> s {key = a} :: SimpleScopeTerm)++-- | An array that lists the values to use in the condition. If the value for+-- the key property is OBJECT_EXTENSION or OBJECT_KEY, this array can+-- specify multiple values and Amazon Macie uses OR logic to join the+-- values. Otherwise, this array can specify only one value.+--+-- Valid values for each supported property (key) are:+--+-- - OBJECT_EXTENSION - A string that represents the file name extension+-- of an object. For example: docx or pdf+--+-- - OBJECT_KEY - A string that represents the key prefix (folder name or+-- path) of an object. For example: logs or awslogs\/eventlogs. This+-- value applies a condition to objects whose keys (names) begin with+-- the specified value.+--+-- - OBJECT_LAST_MODIFIED_DATE - The date and time (in UTC and extended+-- ISO 8601 format) when an object was created or last changed,+-- whichever is latest. For example: 2020-09-28T14:31:13Z+--+-- - OBJECT_SIZE - An integer that represents the storage size (in bytes)+-- of an object.+--+-- Macie doesn\'t support use of wildcard characters in these values. Also,+-- string values are case sensitive.+simpleScopeTerm_values :: Lens.Lens' SimpleScopeTerm (Prelude.Maybe [Prelude.Text])+simpleScopeTerm_values = Lens.lens (\SimpleScopeTerm' {values} -> values) (\s@SimpleScopeTerm' {} a -> s {values = a} :: SimpleScopeTerm) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SimpleScopeTerm where+ parseJSON =+ Data.withObject+ "SimpleScopeTerm"+ ( \x ->+ SimpleScopeTerm'+ Prelude.<$> (x Data..:? "comparator")+ Prelude.<*> (x Data..:? "key")+ Prelude.<*> (x Data..:? "values" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable SimpleScopeTerm where+ hashWithSalt _salt SimpleScopeTerm' {..} =+ _salt+ `Prelude.hashWithSalt` comparator+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` values++instance Prelude.NFData SimpleScopeTerm where+ rnf SimpleScopeTerm' {..} =+ Prelude.rnf comparator+ `Prelude.seq` Prelude.rnf key+ `Prelude.seq` Prelude.rnf values++instance Data.ToJSON SimpleScopeTerm where+ toJSON SimpleScopeTerm' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("comparator" Data..=) Prelude.<$> comparator,+ ("key" Data..=) Prelude.<$> key,+ ("values" Data..=) Prelude.<$> values+ ]+ )
+ gen/Amazonka/MacieV2/Types/SortCriteria.hs view
@@ -0,0 +1,96 @@+{-# 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.MacieV2.Types.SortCriteria+-- 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.MacieV2.Types.SortCriteria where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.OrderBy+import qualified Amazonka.Prelude as Prelude++-- | Specifies criteria for sorting the results of a request for findings.+--+-- /See:/ 'newSortCriteria' smart constructor.+data SortCriteria = SortCriteria'+ { -- | The name of the property to sort the results by. This value can be the+ -- name of any property that Amazon Macie defines for a finding.+ attributeName :: Prelude.Maybe Prelude.Text,+ -- | The sort order to apply to the results, based on the value for the+ -- property specified by the attributeName property. Valid values are: ASC,+ -- sort the results in ascending order; and, DESC, sort the results in+ -- descending order.+ orderBy :: Prelude.Maybe OrderBy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SortCriteria' 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:+--+-- 'attributeName', 'sortCriteria_attributeName' - The name of the property to sort the results by. This value can be the+-- name of any property that Amazon Macie defines for a finding.+--+-- 'orderBy', 'sortCriteria_orderBy' - The sort order to apply to the results, based on the value for the+-- property specified by the attributeName property. Valid values are: ASC,+-- sort the results in ascending order; and, DESC, sort the results in+-- descending order.+newSortCriteria ::+ SortCriteria+newSortCriteria =+ SortCriteria'+ { attributeName = Prelude.Nothing,+ orderBy = Prelude.Nothing+ }++-- | The name of the property to sort the results by. This value can be the+-- name of any property that Amazon Macie defines for a finding.+sortCriteria_attributeName :: Lens.Lens' SortCriteria (Prelude.Maybe Prelude.Text)+sortCriteria_attributeName = Lens.lens (\SortCriteria' {attributeName} -> attributeName) (\s@SortCriteria' {} a -> s {attributeName = a} :: SortCriteria)++-- | The sort order to apply to the results, based on the value for the+-- property specified by the attributeName property. Valid values are: ASC,+-- sort the results in ascending order; and, DESC, sort the results in+-- descending order.+sortCriteria_orderBy :: Lens.Lens' SortCriteria (Prelude.Maybe OrderBy)+sortCriteria_orderBy = Lens.lens (\SortCriteria' {orderBy} -> orderBy) (\s@SortCriteria' {} a -> s {orderBy = a} :: SortCriteria)++instance Prelude.Hashable SortCriteria where+ hashWithSalt _salt SortCriteria' {..} =+ _salt+ `Prelude.hashWithSalt` attributeName+ `Prelude.hashWithSalt` orderBy++instance Prelude.NFData SortCriteria where+ rnf SortCriteria' {..} =+ Prelude.rnf attributeName+ `Prelude.seq` Prelude.rnf orderBy++instance Data.ToJSON SortCriteria where+ toJSON SortCriteria' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("attributeName" Data..=) Prelude.<$> attributeName,+ ("orderBy" Data..=) Prelude.<$> orderBy+ ]+ )
+ gen/Amazonka/MacieV2/Types/Statistics.hs view
@@ -0,0 +1,88 @@+{-# 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.MacieV2.Types.Statistics+-- 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.MacieV2.Types.Statistics 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++-- | Provides processing statistics for a classification job.+--+-- /See:/ 'newStatistics' smart constructor.+data Statistics = Statistics'+ { -- | The approximate number of objects that the job has yet to process during+ -- its current run.+ approximateNumberOfObjectsToProcess :: Prelude.Maybe Prelude.Double,+ -- | The number of times that the job has run.+ numberOfRuns :: Prelude.Maybe Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Statistics' 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:+--+-- 'approximateNumberOfObjectsToProcess', 'statistics_approximateNumberOfObjectsToProcess' - The approximate number of objects that the job has yet to process during+-- its current run.+--+-- 'numberOfRuns', 'statistics_numberOfRuns' - The number of times that the job has run.+newStatistics ::+ Statistics+newStatistics =+ Statistics'+ { approximateNumberOfObjectsToProcess =+ Prelude.Nothing,+ numberOfRuns = Prelude.Nothing+ }++-- | The approximate number of objects that the job has yet to process during+-- its current run.+statistics_approximateNumberOfObjectsToProcess :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Double)+statistics_approximateNumberOfObjectsToProcess = Lens.lens (\Statistics' {approximateNumberOfObjectsToProcess} -> approximateNumberOfObjectsToProcess) (\s@Statistics' {} a -> s {approximateNumberOfObjectsToProcess = a} :: Statistics)++-- | The number of times that the job has run.+statistics_numberOfRuns :: Lens.Lens' Statistics (Prelude.Maybe Prelude.Double)+statistics_numberOfRuns = Lens.lens (\Statistics' {numberOfRuns} -> numberOfRuns) (\s@Statistics' {} a -> s {numberOfRuns = a} :: Statistics)++instance Data.FromJSON Statistics where+ parseJSON =+ Data.withObject+ "Statistics"+ ( \x ->+ Statistics'+ Prelude.<$> (x Data..:? "approximateNumberOfObjectsToProcess")+ Prelude.<*> (x Data..:? "numberOfRuns")+ )++instance Prelude.Hashable Statistics where+ hashWithSalt _salt Statistics' {..} =+ _salt+ `Prelude.hashWithSalt` approximateNumberOfObjectsToProcess+ `Prelude.hashWithSalt` numberOfRuns++instance Prelude.NFData Statistics where+ rnf Statistics' {..} =+ Prelude.rnf approximateNumberOfObjectsToProcess+ `Prelude.seq` Prelude.rnf numberOfRuns
+ gen/Amazonka/MacieV2/Types/StorageClass.hs view
@@ -0,0 +1,107 @@+{-# 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.MacieV2.Types.StorageClass+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MacieV2.Types.StorageClass+ ( StorageClass+ ( ..,+ StorageClass_DEEP_ARCHIVE,+ StorageClass_GLACIER,+ StorageClass_GLACIER_IR,+ StorageClass_INTELLIGENT_TIERING,+ StorageClass_ONEZONE_IA,+ StorageClass_OUTPOSTS,+ StorageClass_REDUCED_REDUNDANCY,+ StorageClass_STANDARD,+ StorageClass_STANDARD_IA+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The storage class of the S3 object. Possible values are:+newtype StorageClass = StorageClass'+ { fromStorageClass ::+ Data.Text+ }+ deriving stock+ ( Prelude.Show,+ Prelude.Read,+ Prelude.Eq,+ Prelude.Ord,+ Prelude.Generic+ )+ deriving newtype+ ( Prelude.Hashable,+ Prelude.NFData,+ Data.FromText,+ Data.ToText,+ Data.ToByteString,+ Data.ToLog,+ Data.ToHeader,+ Data.ToQuery,+ Data.FromJSON,+ Data.FromJSONKey,+ Data.ToJSON,+ Data.ToJSONKey,+ Data.FromXML,+ Data.ToXML+ )++pattern StorageClass_DEEP_ARCHIVE :: StorageClass+pattern StorageClass_DEEP_ARCHIVE = StorageClass' "DEEP_ARCHIVE"++pattern StorageClass_GLACIER :: StorageClass+pattern StorageClass_GLACIER = StorageClass' "GLACIER"++pattern StorageClass_GLACIER_IR :: StorageClass+pattern StorageClass_GLACIER_IR = StorageClass' "GLACIER_IR"++pattern StorageClass_INTELLIGENT_TIERING :: StorageClass+pattern StorageClass_INTELLIGENT_TIERING = StorageClass' "INTELLIGENT_TIERING"++pattern StorageClass_ONEZONE_IA :: StorageClass+pattern StorageClass_ONEZONE_IA = StorageClass' "ONEZONE_IA"++pattern StorageClass_OUTPOSTS :: StorageClass+pattern StorageClass_OUTPOSTS = StorageClass' "OUTPOSTS"++pattern StorageClass_REDUCED_REDUNDANCY :: StorageClass+pattern StorageClass_REDUCED_REDUNDANCY = StorageClass' "REDUCED_REDUNDANCY"++pattern StorageClass_STANDARD :: StorageClass+pattern StorageClass_STANDARD = StorageClass' "STANDARD"++pattern StorageClass_STANDARD_IA :: StorageClass+pattern StorageClass_STANDARD_IA = StorageClass' "STANDARD_IA"++{-# COMPLETE+ StorageClass_DEEP_ARCHIVE,+ StorageClass_GLACIER,+ StorageClass_GLACIER_IR,+ StorageClass_INTELLIGENT_TIERING,+ StorageClass_ONEZONE_IA,+ StorageClass_OUTPOSTS,+ StorageClass_REDUCED_REDUNDANCY,+ StorageClass_STANDARD,+ StorageClass_STANDARD_IA,+ StorageClass'+ #-}
+ gen/Amazonka/MacieV2/Types/SuppressDataIdentifier.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.MacieV2.Types.SuppressDataIdentifier+-- 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.MacieV2.Types.SuppressDataIdentifier where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.DataIdentifierType+import qualified Amazonka.Prelude as Prelude++-- | Specifies a custom data identifier or managed data identifier that+-- detected a type of sensitive data to start excluding or including in an+-- S3 bucket\'s sensitivity score.+--+-- /See:/ 'newSuppressDataIdentifier' smart constructor.+data SuppressDataIdentifier = SuppressDataIdentifier'+ { -- | The unique identifier for the custom data identifier or managed data+ -- identifier that detected the type of sensitive data to exclude or+ -- include in the score.+ id :: Prelude.Maybe Prelude.Text,+ -- | The type of data identifier that detected the sensitive data. Possible+ -- values are: CUSTOM, for a custom data identifier; and, MANAGED, for a+ -- managed data identifier.+ type' :: Prelude.Maybe DataIdentifierType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SuppressDataIdentifier' 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', 'suppressDataIdentifier_id' - The unique identifier for the custom data identifier or managed data+-- identifier that detected the type of sensitive data to exclude or+-- include in the score.+--+-- 'type'', 'suppressDataIdentifier_type' - The type of data identifier that detected the sensitive data. Possible+-- values are: CUSTOM, for a custom data identifier; and, MANAGED, for a+-- managed data identifier.+newSuppressDataIdentifier ::+ SuppressDataIdentifier+newSuppressDataIdentifier =+ SuppressDataIdentifier'+ { id = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The unique identifier for the custom data identifier or managed data+-- identifier that detected the type of sensitive data to exclude or+-- include in the score.+suppressDataIdentifier_id :: Lens.Lens' SuppressDataIdentifier (Prelude.Maybe Prelude.Text)+suppressDataIdentifier_id = Lens.lens (\SuppressDataIdentifier' {id} -> id) (\s@SuppressDataIdentifier' {} a -> s {id = a} :: SuppressDataIdentifier)++-- | The type of data identifier that detected the sensitive data. Possible+-- values are: CUSTOM, for a custom data identifier; and, MANAGED, for a+-- managed data identifier.+suppressDataIdentifier_type :: Lens.Lens' SuppressDataIdentifier (Prelude.Maybe DataIdentifierType)+suppressDataIdentifier_type = Lens.lens (\SuppressDataIdentifier' {type'} -> type') (\s@SuppressDataIdentifier' {} a -> s {type' = a} :: SuppressDataIdentifier)++instance Prelude.Hashable SuppressDataIdentifier where+ hashWithSalt _salt SuppressDataIdentifier' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` type'++instance Prelude.NFData SuppressDataIdentifier where+ rnf SuppressDataIdentifier' {..} =+ Prelude.rnf id `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON SuppressDataIdentifier where+ toJSON SuppressDataIdentifier' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("id" Data..=) Prelude.<$> id,+ ("type" Data..=) Prelude.<$> type'+ ]+ )
+ gen/Amazonka/MacieV2/Types/TagCriterionForJob.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.MacieV2.Types.TagCriterionForJob+-- 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.MacieV2.Types.TagCriterionForJob where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.JobComparator+import Amazonka.MacieV2.Types.TagCriterionPairForJob+import qualified Amazonka.Prelude as Prelude++-- | Specifies a tag-based condition that determines whether an S3 bucket is+-- included or excluded from a classification job.+--+-- /See:/ 'newTagCriterionForJob' smart constructor.+data TagCriterionForJob = TagCriterionForJob'+ { -- | The operator to use in the condition. Valid values are EQ (equals) and+ -- NE (not equals).+ comparator :: Prelude.Maybe JobComparator,+ -- | The tag keys, tag values, or tag key and value pairs to use in the+ -- condition.+ tagValues :: Prelude.Maybe [TagCriterionPairForJob]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagCriterionForJob' 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:+--+-- 'comparator', 'tagCriterionForJob_comparator' - The operator to use in the condition. Valid values are EQ (equals) and+-- NE (not equals).+--+-- 'tagValues', 'tagCriterionForJob_tagValues' - The tag keys, tag values, or tag key and value pairs to use in the+-- condition.+newTagCriterionForJob ::+ TagCriterionForJob+newTagCriterionForJob =+ TagCriterionForJob'+ { comparator = Prelude.Nothing,+ tagValues = Prelude.Nothing+ }++-- | The operator to use in the condition. Valid values are EQ (equals) and+-- NE (not equals).+tagCriterionForJob_comparator :: Lens.Lens' TagCriterionForJob (Prelude.Maybe JobComparator)+tagCriterionForJob_comparator = Lens.lens (\TagCriterionForJob' {comparator} -> comparator) (\s@TagCriterionForJob' {} a -> s {comparator = a} :: TagCriterionForJob)++-- | The tag keys, tag values, or tag key and value pairs to use in the+-- condition.+tagCriterionForJob_tagValues :: Lens.Lens' TagCriterionForJob (Prelude.Maybe [TagCriterionPairForJob])+tagCriterionForJob_tagValues = Lens.lens (\TagCriterionForJob' {tagValues} -> tagValues) (\s@TagCriterionForJob' {} a -> s {tagValues = a} :: TagCriterionForJob) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON TagCriterionForJob where+ parseJSON =+ Data.withObject+ "TagCriterionForJob"+ ( \x ->+ TagCriterionForJob'+ Prelude.<$> (x Data..:? "comparator")+ Prelude.<*> (x Data..:? "tagValues" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable TagCriterionForJob where+ hashWithSalt _salt TagCriterionForJob' {..} =+ _salt+ `Prelude.hashWithSalt` comparator+ `Prelude.hashWithSalt` tagValues++instance Prelude.NFData TagCriterionForJob where+ rnf TagCriterionForJob' {..} =+ Prelude.rnf comparator+ `Prelude.seq` Prelude.rnf tagValues++instance Data.ToJSON TagCriterionForJob where+ toJSON TagCriterionForJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("comparator" Data..=) Prelude.<$> comparator,+ ("tagValues" Data..=) Prelude.<$> tagValues+ ]+ )
+ gen/Amazonka/MacieV2/Types/TagCriterionPairForJob.hs view
@@ -0,0 +1,96 @@+{-# 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.MacieV2.Types.TagCriterionPairForJob+-- 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.MacieV2.Types.TagCriterionPairForJob 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++-- | Specifies a tag key, a tag value, or a tag key and value (as a pair) to+-- use in a tag-based condition that determines whether an S3 bucket is+-- included or excluded from a classification job. Tag keys and values are+-- case sensitive. Also, Amazon Macie doesn\'t support use of partial+-- values or wildcard characters in tag-based conditions.+--+-- /See:/ 'newTagCriterionPairForJob' smart constructor.+data TagCriterionPairForJob = TagCriterionPairForJob'+ { -- | The value for the tag key to use in the condition.+ key :: Prelude.Maybe Prelude.Text,+ -- | The tag value to use in the condition.+ value :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagCriterionPairForJob' 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:+--+-- 'key', 'tagCriterionPairForJob_key' - The value for the tag key to use in the condition.+--+-- 'value', 'tagCriterionPairForJob_value' - The tag value to use in the condition.+newTagCriterionPairForJob ::+ TagCriterionPairForJob+newTagCriterionPairForJob =+ TagCriterionPairForJob'+ { key = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | The value for the tag key to use in the condition.+tagCriterionPairForJob_key :: Lens.Lens' TagCriterionPairForJob (Prelude.Maybe Prelude.Text)+tagCriterionPairForJob_key = Lens.lens (\TagCriterionPairForJob' {key} -> key) (\s@TagCriterionPairForJob' {} a -> s {key = a} :: TagCriterionPairForJob)++-- | The tag value to use in the condition.+tagCriterionPairForJob_value :: Lens.Lens' TagCriterionPairForJob (Prelude.Maybe Prelude.Text)+tagCriterionPairForJob_value = Lens.lens (\TagCriterionPairForJob' {value} -> value) (\s@TagCriterionPairForJob' {} a -> s {value = a} :: TagCriterionPairForJob)++instance Data.FromJSON TagCriterionPairForJob where+ parseJSON =+ Data.withObject+ "TagCriterionPairForJob"+ ( \x ->+ TagCriterionPairForJob'+ Prelude.<$> (x Data..:? "key")+ Prelude.<*> (x Data..:? "value")+ )++instance Prelude.Hashable TagCriterionPairForJob where+ hashWithSalt _salt TagCriterionPairForJob' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance Prelude.NFData TagCriterionPairForJob where+ rnf TagCriterionPairForJob' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON TagCriterionPairForJob where+ toJSON TagCriterionPairForJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("key" Data..=) Prelude.<$> key,+ ("value" Data..=) Prelude.<$> value+ ]+ )
+ gen/Amazonka/MacieV2/Types/TagScopeTerm.hs view
@@ -0,0 +1,135 @@+{-# 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.MacieV2.Types.TagScopeTerm+-- 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.MacieV2.Types.TagScopeTerm where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.JobComparator+import Amazonka.MacieV2.Types.TagTarget+import Amazonka.MacieV2.Types.TagValuePair+import qualified Amazonka.Prelude as Prelude++-- | Specifies a tag-based condition that determines whether an S3 object is+-- included or excluded from a classification job.+--+-- /See:/ 'newTagScopeTerm' smart constructor.+data TagScopeTerm = TagScopeTerm'+ { -- | The operator to use in the condition. Valid values are EQ (equals) or NE+ -- (not equals).+ comparator :: Prelude.Maybe JobComparator,+ -- | The object property to use in the condition. The only valid value is+ -- TAG.+ key :: Prelude.Maybe Prelude.Text,+ -- | The tag keys or tag key and value pairs to use in the condition. To+ -- specify only tag keys in a condition, specify the keys in this array and+ -- set the value for each associated tag value to an empty string.+ tagValues :: Prelude.Maybe [TagValuePair],+ -- | The type of object to apply the condition to.+ target :: Prelude.Maybe TagTarget+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagScopeTerm' 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:+--+-- 'comparator', 'tagScopeTerm_comparator' - The operator to use in the condition. Valid values are EQ (equals) or NE+-- (not equals).+--+-- 'key', 'tagScopeTerm_key' - The object property to use in the condition. The only valid value is+-- TAG.+--+-- 'tagValues', 'tagScopeTerm_tagValues' - The tag keys or tag key and value pairs to use in the condition. To+-- specify only tag keys in a condition, specify the keys in this array and+-- set the value for each associated tag value to an empty string.+--+-- 'target', 'tagScopeTerm_target' - The type of object to apply the condition to.+newTagScopeTerm ::+ TagScopeTerm+newTagScopeTerm =+ TagScopeTerm'+ { comparator = Prelude.Nothing,+ key = Prelude.Nothing,+ tagValues = Prelude.Nothing,+ target = Prelude.Nothing+ }++-- | The operator to use in the condition. Valid values are EQ (equals) or NE+-- (not equals).+tagScopeTerm_comparator :: Lens.Lens' TagScopeTerm (Prelude.Maybe JobComparator)+tagScopeTerm_comparator = Lens.lens (\TagScopeTerm' {comparator} -> comparator) (\s@TagScopeTerm' {} a -> s {comparator = a} :: TagScopeTerm)++-- | The object property to use in the condition. The only valid value is+-- TAG.+tagScopeTerm_key :: Lens.Lens' TagScopeTerm (Prelude.Maybe Prelude.Text)+tagScopeTerm_key = Lens.lens (\TagScopeTerm' {key} -> key) (\s@TagScopeTerm' {} a -> s {key = a} :: TagScopeTerm)++-- | The tag keys or tag key and value pairs to use in the condition. To+-- specify only tag keys in a condition, specify the keys in this array and+-- set the value for each associated tag value to an empty string.+tagScopeTerm_tagValues :: Lens.Lens' TagScopeTerm (Prelude.Maybe [TagValuePair])+tagScopeTerm_tagValues = Lens.lens (\TagScopeTerm' {tagValues} -> tagValues) (\s@TagScopeTerm' {} a -> s {tagValues = a} :: TagScopeTerm) Prelude.. Lens.mapping Lens.coerced++-- | The type of object to apply the condition to.+tagScopeTerm_target :: Lens.Lens' TagScopeTerm (Prelude.Maybe TagTarget)+tagScopeTerm_target = Lens.lens (\TagScopeTerm' {target} -> target) (\s@TagScopeTerm' {} a -> s {target = a} :: TagScopeTerm)++instance Data.FromJSON TagScopeTerm where+ parseJSON =+ Data.withObject+ "TagScopeTerm"+ ( \x ->+ TagScopeTerm'+ Prelude.<$> (x Data..:? "comparator")+ Prelude.<*> (x Data..:? "key")+ Prelude.<*> (x Data..:? "tagValues" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "target")+ )++instance Prelude.Hashable TagScopeTerm where+ hashWithSalt _salt TagScopeTerm' {..} =+ _salt+ `Prelude.hashWithSalt` comparator+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` tagValues+ `Prelude.hashWithSalt` target++instance Prelude.NFData TagScopeTerm where+ rnf TagScopeTerm' {..} =+ Prelude.rnf comparator+ `Prelude.seq` Prelude.rnf key+ `Prelude.seq` Prelude.rnf tagValues+ `Prelude.seq` Prelude.rnf target++instance Data.ToJSON TagScopeTerm where+ toJSON TagScopeTerm' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("comparator" Data..=) Prelude.<$> comparator,+ ("key" Data..=) Prelude.<$> key,+ ("tagValues" Data..=) Prelude.<$> tagValues,+ ("target" Data..=) Prelude.<$> target+ ]+ )
+ gen/Amazonka/MacieV2/Types/TagTarget.hs view
@@ -0,0 +1,67 @@+{-# 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.MacieV2.Types.TagTarget+-- 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.MacieV2.Types.TagTarget+ ( TagTarget+ ( ..,+ TagTarget_S3_OBJECT+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of object to apply a tag-based condition to. Valid values are:+newtype TagTarget = TagTarget'+ { fromTagTarget ::+ 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 TagTarget_S3_OBJECT :: TagTarget+pattern TagTarget_S3_OBJECT = TagTarget' "S3_OBJECT"++{-# COMPLETE+ TagTarget_S3_OBJECT,+ TagTarget'+ #-}
+ gen/Amazonka/MacieV2/Types/TagValuePair.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.MacieV2.Types.TagValuePair+-- 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.MacieV2.Types.TagValuePair 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++-- | Specifies a tag key or tag key and value pair to use in a tag-based+-- condition that determines whether an S3 object is included or excluded+-- from a classification job. Tag keys and values are case sensitive. Also,+-- Amazon Macie doesn\'t support use of partial values or wildcard+-- characters in tag-based conditions.+--+-- /See:/ 'newTagValuePair' smart constructor.+data TagValuePair = TagValuePair'+ { -- | The value for the tag key to use in the condition.+ key :: Prelude.Maybe Prelude.Text,+ -- | The tag value, associated with the specified tag key (key), to use in+ -- the condition. To specify only a tag key for a condition, specify the+ -- tag key for the key property and set this value to an empty string.+ value :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagValuePair' 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:+--+-- 'key', 'tagValuePair_key' - The value for the tag key to use in the condition.+--+-- 'value', 'tagValuePair_value' - The tag value, associated with the specified tag key (key), to use in+-- the condition. To specify only a tag key for a condition, specify the+-- tag key for the key property and set this value to an empty string.+newTagValuePair ::+ TagValuePair+newTagValuePair =+ TagValuePair'+ { key = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | The value for the tag key to use in the condition.+tagValuePair_key :: Lens.Lens' TagValuePair (Prelude.Maybe Prelude.Text)+tagValuePair_key = Lens.lens (\TagValuePair' {key} -> key) (\s@TagValuePair' {} a -> s {key = a} :: TagValuePair)++-- | The tag value, associated with the specified tag key (key), to use in+-- the condition. To specify only a tag key for a condition, specify the+-- tag key for the key property and set this value to an empty string.+tagValuePair_value :: Lens.Lens' TagValuePair (Prelude.Maybe Prelude.Text)+tagValuePair_value = Lens.lens (\TagValuePair' {value} -> value) (\s@TagValuePair' {} a -> s {value = a} :: TagValuePair)++instance Data.FromJSON TagValuePair where+ parseJSON =+ Data.withObject+ "TagValuePair"+ ( \x ->+ TagValuePair'+ Prelude.<$> (x Data..:? "key")+ Prelude.<*> (x Data..:? "value")+ )++instance Prelude.Hashable TagValuePair where+ hashWithSalt _salt TagValuePair' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` value++instance Prelude.NFData TagValuePair where+ rnf TagValuePair' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON TagValuePair where+ toJSON TagValuePair' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("key" Data..=) Prelude.<$> key,+ ("value" Data..=) Prelude.<$> value+ ]+ )
+ gen/Amazonka/MacieV2/Types/TimeRange.hs view
@@ -0,0 +1,73 @@+{-# 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.MacieV2.Types.TimeRange+-- 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.MacieV2.Types.TimeRange+ ( TimeRange+ ( ..,+ TimeRange_MONTH_TO_DATE,+ TimeRange_PAST_30_DAYS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An inclusive time period that Amazon Macie usage data applies to.+-- Possible values are:+newtype TimeRange = TimeRange'+ { fromTimeRange ::+ 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 TimeRange_MONTH_TO_DATE :: TimeRange+pattern TimeRange_MONTH_TO_DATE = TimeRange' "MONTH_TO_DATE"++pattern TimeRange_PAST_30_DAYS :: TimeRange+pattern TimeRange_PAST_30_DAYS = TimeRange' "PAST_30_DAYS"++{-# COMPLETE+ TimeRange_MONTH_TO_DATE,+ TimeRange_PAST_30_DAYS,+ TimeRange'+ #-}
+ gen/Amazonka/MacieV2/Types/Type.hs view
@@ -0,0 +1,73 @@+{-# 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.MacieV2.Types.Type+-- 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.MacieV2.Types.Type+ ( Type+ ( ..,+ Type_AES256,+ Type_Aws_kms,+ Type_NONE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Type = Type' {fromType :: 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 Type_AES256 :: Type+pattern Type_AES256 = Type' "AES256"++pattern Type_Aws_kms :: Type+pattern Type_Aws_kms = Type' "aws:kms"++pattern Type_NONE :: Type+pattern Type_NONE = Type' "NONE"++{-# COMPLETE+ Type_AES256,+ Type_Aws_kms,+ Type_NONE,+ Type'+ #-}
@@ -0,0 +1,88 @@+{-# 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.MacieV2.Types.UnavailabilityReasonCode+-- 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.MacieV2.Types.UnavailabilityReasonCode+ ( UnavailabilityReasonCode+ ( ..,+ UnavailabilityReasonCode_INVALID_CLASSIFICATION_RESULT,+ UnavailabilityReasonCode_OBJECT_EXCEEDS_SIZE_QUOTA,+ UnavailabilityReasonCode_OBJECT_UNAVAILABLE,+ UnavailabilityReasonCode_UNSUPPORTED_FINDING_TYPE,+ UnavailabilityReasonCode_UNSUPPORTED_OBJECT_TYPE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies why occurrences of sensitive data can\'t be retrieved for a+-- finding. Possible values are:+newtype UnavailabilityReasonCode = UnavailabilityReasonCode'+ { fromUnavailabilityReasonCode ::+ 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 UnavailabilityReasonCode_INVALID_CLASSIFICATION_RESULT :: UnavailabilityReasonCode+pattern UnavailabilityReasonCode_INVALID_CLASSIFICATION_RESULT = UnavailabilityReasonCode' "INVALID_CLASSIFICATION_RESULT"++pattern UnavailabilityReasonCode_OBJECT_EXCEEDS_SIZE_QUOTA :: UnavailabilityReasonCode+pattern UnavailabilityReasonCode_OBJECT_EXCEEDS_SIZE_QUOTA = UnavailabilityReasonCode' "OBJECT_EXCEEDS_SIZE_QUOTA"++pattern UnavailabilityReasonCode_OBJECT_UNAVAILABLE :: UnavailabilityReasonCode+pattern UnavailabilityReasonCode_OBJECT_UNAVAILABLE = UnavailabilityReasonCode' "OBJECT_UNAVAILABLE"++pattern UnavailabilityReasonCode_UNSUPPORTED_FINDING_TYPE :: UnavailabilityReasonCode+pattern UnavailabilityReasonCode_UNSUPPORTED_FINDING_TYPE = UnavailabilityReasonCode' "UNSUPPORTED_FINDING_TYPE"++pattern UnavailabilityReasonCode_UNSUPPORTED_OBJECT_TYPE :: UnavailabilityReasonCode+pattern UnavailabilityReasonCode_UNSUPPORTED_OBJECT_TYPE = UnavailabilityReasonCode' "UNSUPPORTED_OBJECT_TYPE"++{-# COMPLETE+ UnavailabilityReasonCode_INVALID_CLASSIFICATION_RESULT,+ UnavailabilityReasonCode_OBJECT_EXCEEDS_SIZE_QUOTA,+ UnavailabilityReasonCode_OBJECT_UNAVAILABLE,+ UnavailabilityReasonCode_UNSUPPORTED_FINDING_TYPE,+ UnavailabilityReasonCode_UNSUPPORTED_OBJECT_TYPE,+ UnavailabilityReasonCode'+ #-}
+ gen/Amazonka/MacieV2/Types/Unit.hs view
@@ -0,0 +1,63 @@+{-# 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.MacieV2.Types.Unit+-- 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.MacieV2.Types.Unit+ ( Unit+ ( ..,+ Unit_TERABYTES+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Unit = Unit' {fromUnit :: 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 Unit_TERABYTES :: Unit+pattern Unit_TERABYTES = Unit' "TERABYTES"++{-# COMPLETE+ Unit_TERABYTES,+ Unit'+ #-}
+ gen/Amazonka/MacieV2/Types/UnprocessedAccount.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.MacieV2.Types.UnprocessedAccount+-- 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.MacieV2.Types.UnprocessedAccount where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.ErrorCode+import qualified Amazonka.Prelude as Prelude++-- | Provides information about an account-related request that hasn\'t been+-- processed.+--+-- /See:/ 'newUnprocessedAccount' smart constructor.+data UnprocessedAccount = UnprocessedAccount'+ { -- | The Amazon Web Services account ID for the account that the request+ -- applies to.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The source of the issue or delay in processing the request.+ errorCode :: Prelude.Maybe ErrorCode,+ -- | The reason why the request hasn\'t been processed.+ errorMessage :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UnprocessedAccount' 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:+--+-- 'accountId', 'unprocessedAccount_accountId' - The Amazon Web Services account ID for the account that the request+-- applies to.+--+-- 'errorCode', 'unprocessedAccount_errorCode' - The source of the issue or delay in processing the request.+--+-- 'errorMessage', 'unprocessedAccount_errorMessage' - The reason why the request hasn\'t been processed.+newUnprocessedAccount ::+ UnprocessedAccount+newUnprocessedAccount =+ UnprocessedAccount'+ { accountId = Prelude.Nothing,+ errorCode = Prelude.Nothing,+ errorMessage = Prelude.Nothing+ }++-- | The Amazon Web Services account ID for the account that the request+-- applies to.+unprocessedAccount_accountId :: Lens.Lens' UnprocessedAccount (Prelude.Maybe Prelude.Text)+unprocessedAccount_accountId = Lens.lens (\UnprocessedAccount' {accountId} -> accountId) (\s@UnprocessedAccount' {} a -> s {accountId = a} :: UnprocessedAccount)++-- | The source of the issue or delay in processing the request.+unprocessedAccount_errorCode :: Lens.Lens' UnprocessedAccount (Prelude.Maybe ErrorCode)+unprocessedAccount_errorCode = Lens.lens (\UnprocessedAccount' {errorCode} -> errorCode) (\s@UnprocessedAccount' {} a -> s {errorCode = a} :: UnprocessedAccount)++-- | The reason why the request hasn\'t been processed.+unprocessedAccount_errorMessage :: Lens.Lens' UnprocessedAccount (Prelude.Maybe Prelude.Text)+unprocessedAccount_errorMessage = Lens.lens (\UnprocessedAccount' {errorMessage} -> errorMessage) (\s@UnprocessedAccount' {} a -> s {errorMessage = a} :: UnprocessedAccount)++instance Data.FromJSON UnprocessedAccount where+ parseJSON =+ Data.withObject+ "UnprocessedAccount"+ ( \x ->+ UnprocessedAccount'+ Prelude.<$> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "errorCode")+ Prelude.<*> (x Data..:? "errorMessage")+ )++instance Prelude.Hashable UnprocessedAccount where+ hashWithSalt _salt UnprocessedAccount' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` errorCode+ `Prelude.hashWithSalt` errorMessage++instance Prelude.NFData UnprocessedAccount where+ rnf UnprocessedAccount' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf errorCode+ `Prelude.seq` Prelude.rnf errorMessage
+ gen/Amazonka/MacieV2/Types/UsageByAccount.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.MacieV2.Types.UsageByAccount+-- 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.MacieV2.Types.UsageByAccount where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.Currency+import Amazonka.MacieV2.Types.ServiceLimit+import Amazonka.MacieV2.Types.UsageType+import qualified Amazonka.Prelude as Prelude++-- | Provides data for a specific usage metric and the corresponding quota+-- for an Amazon Macie account.+--+-- /See:/ 'newUsageByAccount' smart constructor.+data UsageByAccount = UsageByAccount'+ { -- | The type of currency that the value for the metric (estimatedCost) is+ -- reported in.+ currency :: Prelude.Maybe Currency,+ -- | The estimated value for the metric.+ estimatedCost :: Prelude.Maybe Prelude.Text,+ -- | The current value for the quota that corresponds to the metric specified+ -- by the type field.+ serviceLimit :: Prelude.Maybe ServiceLimit,+ -- | The name of the metric. Possible values are:+ -- AUTOMATED_OBJECT_MONITORING, to monitor S3 objects for automated+ -- sensitive data discovery; AUTOMATED_SENSITIVE_DATA_DISCOVERY, to analyze+ -- S3 objects for automated sensitive data discovery;+ -- DATA_INVENTORY_EVALUATION, to monitor S3 buckets; and,+ -- SENSITIVE_DATA_DISCOVERY, to run classification jobs.+ type' :: Prelude.Maybe UsageType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UsageByAccount' 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:+--+-- 'currency', 'usageByAccount_currency' - The type of currency that the value for the metric (estimatedCost) is+-- reported in.+--+-- 'estimatedCost', 'usageByAccount_estimatedCost' - The estimated value for the metric.+--+-- 'serviceLimit', 'usageByAccount_serviceLimit' - The current value for the quota that corresponds to the metric specified+-- by the type field.+--+-- 'type'', 'usageByAccount_type' - The name of the metric. Possible values are:+-- AUTOMATED_OBJECT_MONITORING, to monitor S3 objects for automated+-- sensitive data discovery; AUTOMATED_SENSITIVE_DATA_DISCOVERY, to analyze+-- S3 objects for automated sensitive data discovery;+-- DATA_INVENTORY_EVALUATION, to monitor S3 buckets; and,+-- SENSITIVE_DATA_DISCOVERY, to run classification jobs.+newUsageByAccount ::+ UsageByAccount+newUsageByAccount =+ UsageByAccount'+ { currency = Prelude.Nothing,+ estimatedCost = Prelude.Nothing,+ serviceLimit = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The type of currency that the value for the metric (estimatedCost) is+-- reported in.+usageByAccount_currency :: Lens.Lens' UsageByAccount (Prelude.Maybe Currency)+usageByAccount_currency = Lens.lens (\UsageByAccount' {currency} -> currency) (\s@UsageByAccount' {} a -> s {currency = a} :: UsageByAccount)++-- | The estimated value for the metric.+usageByAccount_estimatedCost :: Lens.Lens' UsageByAccount (Prelude.Maybe Prelude.Text)+usageByAccount_estimatedCost = Lens.lens (\UsageByAccount' {estimatedCost} -> estimatedCost) (\s@UsageByAccount' {} a -> s {estimatedCost = a} :: UsageByAccount)++-- | The current value for the quota that corresponds to the metric specified+-- by the type field.+usageByAccount_serviceLimit :: Lens.Lens' UsageByAccount (Prelude.Maybe ServiceLimit)+usageByAccount_serviceLimit = Lens.lens (\UsageByAccount' {serviceLimit} -> serviceLimit) (\s@UsageByAccount' {} a -> s {serviceLimit = a} :: UsageByAccount)++-- | The name of the metric. Possible values are:+-- AUTOMATED_OBJECT_MONITORING, to monitor S3 objects for automated+-- sensitive data discovery; AUTOMATED_SENSITIVE_DATA_DISCOVERY, to analyze+-- S3 objects for automated sensitive data discovery;+-- DATA_INVENTORY_EVALUATION, to monitor S3 buckets; and,+-- SENSITIVE_DATA_DISCOVERY, to run classification jobs.+usageByAccount_type :: Lens.Lens' UsageByAccount (Prelude.Maybe UsageType)+usageByAccount_type = Lens.lens (\UsageByAccount' {type'} -> type') (\s@UsageByAccount' {} a -> s {type' = a} :: UsageByAccount)++instance Data.FromJSON UsageByAccount where+ parseJSON =+ Data.withObject+ "UsageByAccount"+ ( \x ->+ UsageByAccount'+ Prelude.<$> (x Data..:? "currency")+ Prelude.<*> (x Data..:? "estimatedCost")+ Prelude.<*> (x Data..:? "serviceLimit")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable UsageByAccount where+ hashWithSalt _salt UsageByAccount' {..} =+ _salt+ `Prelude.hashWithSalt` currency+ `Prelude.hashWithSalt` estimatedCost+ `Prelude.hashWithSalt` serviceLimit+ `Prelude.hashWithSalt` type'++instance Prelude.NFData UsageByAccount where+ rnf UsageByAccount' {..} =+ Prelude.rnf currency+ `Prelude.seq` Prelude.rnf estimatedCost+ `Prelude.seq` Prelude.rnf serviceLimit+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/MacieV2/Types/UsageRecord.hs view
@@ -0,0 +1,134 @@+{-# 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.MacieV2.Types.UsageRecord+-- 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.MacieV2.Types.UsageRecord where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.UsageByAccount+import qualified Amazonka.Prelude as Prelude++-- | Provides quota and aggregated usage data for an Amazon Macie account.+--+-- /See:/ 'newUsageRecord' smart constructor.+data UsageRecord = UsageRecord'+ { -- | The unique identifier for the Amazon Web Services account that the data+ -- applies to.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when the free+ -- trial of automated sensitive data discovery started for the account. If+ -- the account is a member account in an organization, this value is the+ -- same as the value for the organization\'s Amazon Macie administrator+ -- account.+ automatedDiscoveryFreeTrialStartDate :: Prelude.Maybe Data.ISO8601,+ -- | The date and time, in UTC and extended ISO 8601 format, when the Amazon+ -- Macie free trial started for the account.+ freeTrialStartDate :: Prelude.Maybe Data.ISO8601,+ -- | An array of objects that contains usage data and quotas for the account.+ -- Each object contains the data for a specific usage metric and the+ -- corresponding quota.+ usage :: Prelude.Maybe [UsageByAccount]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UsageRecord' 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:+--+-- 'accountId', 'usageRecord_accountId' - The unique identifier for the Amazon Web Services account that the data+-- applies to.+--+-- 'automatedDiscoveryFreeTrialStartDate', 'usageRecord_automatedDiscoveryFreeTrialStartDate' - The date and time, in UTC and extended ISO 8601 format, when the free+-- trial of automated sensitive data discovery started for the account. If+-- the account is a member account in an organization, this value is the+-- same as the value for the organization\'s Amazon Macie administrator+-- account.+--+-- 'freeTrialStartDate', 'usageRecord_freeTrialStartDate' - The date and time, in UTC and extended ISO 8601 format, when the Amazon+-- Macie free trial started for the account.+--+-- 'usage', 'usageRecord_usage' - An array of objects that contains usage data and quotas for the account.+-- Each object contains the data for a specific usage metric and the+-- corresponding quota.+newUsageRecord ::+ UsageRecord+newUsageRecord =+ UsageRecord'+ { accountId = Prelude.Nothing,+ automatedDiscoveryFreeTrialStartDate =+ Prelude.Nothing,+ freeTrialStartDate = Prelude.Nothing,+ usage = Prelude.Nothing+ }++-- | The unique identifier for the Amazon Web Services account that the data+-- applies to.+usageRecord_accountId :: Lens.Lens' UsageRecord (Prelude.Maybe Prelude.Text)+usageRecord_accountId = Lens.lens (\UsageRecord' {accountId} -> accountId) (\s@UsageRecord' {} a -> s {accountId = a} :: UsageRecord)++-- | The date and time, in UTC and extended ISO 8601 format, when the free+-- trial of automated sensitive data discovery started for the account. If+-- the account is a member account in an organization, this value is the+-- same as the value for the organization\'s Amazon Macie administrator+-- account.+usageRecord_automatedDiscoveryFreeTrialStartDate :: Lens.Lens' UsageRecord (Prelude.Maybe Prelude.UTCTime)+usageRecord_automatedDiscoveryFreeTrialStartDate = Lens.lens (\UsageRecord' {automatedDiscoveryFreeTrialStartDate} -> automatedDiscoveryFreeTrialStartDate) (\s@UsageRecord' {} a -> s {automatedDiscoveryFreeTrialStartDate = a} :: UsageRecord) Prelude.. Lens.mapping Data._Time++-- | The date and time, in UTC and extended ISO 8601 format, when the Amazon+-- Macie free trial started for the account.+usageRecord_freeTrialStartDate :: Lens.Lens' UsageRecord (Prelude.Maybe Prelude.UTCTime)+usageRecord_freeTrialStartDate = Lens.lens (\UsageRecord' {freeTrialStartDate} -> freeTrialStartDate) (\s@UsageRecord' {} a -> s {freeTrialStartDate = a} :: UsageRecord) Prelude.. Lens.mapping Data._Time++-- | An array of objects that contains usage data and quotas for the account.+-- Each object contains the data for a specific usage metric and the+-- corresponding quota.+usageRecord_usage :: Lens.Lens' UsageRecord (Prelude.Maybe [UsageByAccount])+usageRecord_usage = Lens.lens (\UsageRecord' {usage} -> usage) (\s@UsageRecord' {} a -> s {usage = a} :: UsageRecord) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON UsageRecord where+ parseJSON =+ Data.withObject+ "UsageRecord"+ ( \x ->+ UsageRecord'+ Prelude.<$> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "automatedDiscoveryFreeTrialStartDate")+ Prelude.<*> (x Data..:? "freeTrialStartDate")+ Prelude.<*> (x Data..:? "usage" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable UsageRecord where+ hashWithSalt _salt UsageRecord' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` automatedDiscoveryFreeTrialStartDate+ `Prelude.hashWithSalt` freeTrialStartDate+ `Prelude.hashWithSalt` usage++instance Prelude.NFData UsageRecord where+ rnf UsageRecord' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf automatedDiscoveryFreeTrialStartDate+ `Prelude.seq` Prelude.rnf freeTrialStartDate+ `Prelude.seq` Prelude.rnf usage
+ gen/Amazonka/MacieV2/Types/UsageStatisticsFilter.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.MacieV2.Types.UsageStatisticsFilter+-- 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.MacieV2.Types.UsageStatisticsFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.UsageStatisticsFilterComparator+import Amazonka.MacieV2.Types.UsageStatisticsFilterKey+import qualified Amazonka.Prelude as Prelude++-- | Specifies a condition for filtering the results of a query for quota and+-- usage data for one or more Amazon Macie accounts.+--+-- /See:/ 'newUsageStatisticsFilter' smart constructor.+data UsageStatisticsFilter = UsageStatisticsFilter'+ { -- | The operator to use in the condition. If the value for the key property+ -- is accountId, this value must be CONTAINS. If the value for the key+ -- property is any other supported field, this value can be EQ, GT, GTE,+ -- LT, LTE, or NE.+ comparator :: Prelude.Maybe UsageStatisticsFilterComparator,+ -- | The field to use in the condition.+ key :: Prelude.Maybe UsageStatisticsFilterKey,+ -- | An array that lists values to use in the condition, based on the value+ -- for the field specified by the key property. If the value for the key+ -- property is accountId, this array can specify multiple values.+ -- Otherwise, this array can specify only one value.+ --+ -- Valid values for each supported field are:+ --+ -- - accountId - The unique identifier for an Amazon Web Services+ -- account.+ --+ -- - freeTrialStartDate - The date and time, in UTC and extended ISO 8601+ -- format, when the Amazon Macie free trial started for an account.+ --+ -- - serviceLimit - A Boolean (true or false) value that indicates+ -- whether an account has reached its monthly quota.+ --+ -- - total - A string that represents the current estimated cost for an+ -- account.+ values :: Prelude.Maybe [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UsageStatisticsFilter' 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:+--+-- 'comparator', 'usageStatisticsFilter_comparator' - The operator to use in the condition. If the value for the key property+-- is accountId, this value must be CONTAINS. If the value for the key+-- property is any other supported field, this value can be EQ, GT, GTE,+-- LT, LTE, or NE.+--+-- 'key', 'usageStatisticsFilter_key' - The field to use in the condition.+--+-- 'values', 'usageStatisticsFilter_values' - An array that lists values to use in the condition, based on the value+-- for the field specified by the key property. If the value for the key+-- property is accountId, this array can specify multiple values.+-- Otherwise, this array can specify only one value.+--+-- Valid values for each supported field are:+--+-- - accountId - The unique identifier for an Amazon Web Services+-- account.+--+-- - freeTrialStartDate - The date and time, in UTC and extended ISO 8601+-- format, when the Amazon Macie free trial started for an account.+--+-- - serviceLimit - A Boolean (true or false) value that indicates+-- whether an account has reached its monthly quota.+--+-- - total - A string that represents the current estimated cost for an+-- account.+newUsageStatisticsFilter ::+ UsageStatisticsFilter+newUsageStatisticsFilter =+ UsageStatisticsFilter'+ { comparator =+ Prelude.Nothing,+ key = Prelude.Nothing,+ values = Prelude.Nothing+ }++-- | The operator to use in the condition. If the value for the key property+-- is accountId, this value must be CONTAINS. If the value for the key+-- property is any other supported field, this value can be EQ, GT, GTE,+-- LT, LTE, or NE.+usageStatisticsFilter_comparator :: Lens.Lens' UsageStatisticsFilter (Prelude.Maybe UsageStatisticsFilterComparator)+usageStatisticsFilter_comparator = Lens.lens (\UsageStatisticsFilter' {comparator} -> comparator) (\s@UsageStatisticsFilter' {} a -> s {comparator = a} :: UsageStatisticsFilter)++-- | The field to use in the condition.+usageStatisticsFilter_key :: Lens.Lens' UsageStatisticsFilter (Prelude.Maybe UsageStatisticsFilterKey)+usageStatisticsFilter_key = Lens.lens (\UsageStatisticsFilter' {key} -> key) (\s@UsageStatisticsFilter' {} a -> s {key = a} :: UsageStatisticsFilter)++-- | An array that lists values to use in the condition, based on the value+-- for the field specified by the key property. If the value for the key+-- property is accountId, this array can specify multiple values.+-- Otherwise, this array can specify only one value.+--+-- Valid values for each supported field are:+--+-- - accountId - The unique identifier for an Amazon Web Services+-- account.+--+-- - freeTrialStartDate - The date and time, in UTC and extended ISO 8601+-- format, when the Amazon Macie free trial started for an account.+--+-- - serviceLimit - A Boolean (true or false) value that indicates+-- whether an account has reached its monthly quota.+--+-- - total - A string that represents the current estimated cost for an+-- account.+usageStatisticsFilter_values :: Lens.Lens' UsageStatisticsFilter (Prelude.Maybe [Prelude.Text])+usageStatisticsFilter_values = Lens.lens (\UsageStatisticsFilter' {values} -> values) (\s@UsageStatisticsFilter' {} a -> s {values = a} :: UsageStatisticsFilter) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable UsageStatisticsFilter where+ hashWithSalt _salt UsageStatisticsFilter' {..} =+ _salt+ `Prelude.hashWithSalt` comparator+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` values++instance Prelude.NFData UsageStatisticsFilter where+ rnf UsageStatisticsFilter' {..} =+ Prelude.rnf comparator+ `Prelude.seq` Prelude.rnf key+ `Prelude.seq` Prelude.rnf values++instance Data.ToJSON UsageStatisticsFilter where+ toJSON UsageStatisticsFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("comparator" Data..=) Prelude.<$> comparator,+ ("key" Data..=) Prelude.<$> key,+ ("values" Data..=) Prelude.<$> values+ ]+ )
+ gen/Amazonka/MacieV2/Types/UsageStatisticsFilterComparator.hs view
@@ -0,0 +1,98 @@+{-# 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.MacieV2.Types.UsageStatisticsFilterComparator+-- 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.MacieV2.Types.UsageStatisticsFilterComparator+ ( UsageStatisticsFilterComparator+ ( ..,+ UsageStatisticsFilterComparator_CONTAINS,+ UsageStatisticsFilterComparator_EQ,+ UsageStatisticsFilterComparator_GT,+ UsageStatisticsFilterComparator_GTE,+ UsageStatisticsFilterComparator_LT,+ UsageStatisticsFilterComparator_LTE,+ UsageStatisticsFilterComparator_NE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The operator to use in a condition that filters the results of a query+-- for Amazon Macie account quotas and usage data. Valid values are:+newtype UsageStatisticsFilterComparator = UsageStatisticsFilterComparator'+ { fromUsageStatisticsFilterComparator ::+ 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 UsageStatisticsFilterComparator_CONTAINS :: UsageStatisticsFilterComparator+pattern UsageStatisticsFilterComparator_CONTAINS = UsageStatisticsFilterComparator' "CONTAINS"++pattern UsageStatisticsFilterComparator_EQ :: UsageStatisticsFilterComparator+pattern UsageStatisticsFilterComparator_EQ = UsageStatisticsFilterComparator' "EQ"++pattern UsageStatisticsFilterComparator_GT :: UsageStatisticsFilterComparator+pattern UsageStatisticsFilterComparator_GT = UsageStatisticsFilterComparator' "GT"++pattern UsageStatisticsFilterComparator_GTE :: UsageStatisticsFilterComparator+pattern UsageStatisticsFilterComparator_GTE = UsageStatisticsFilterComparator' "GTE"++pattern UsageStatisticsFilterComparator_LT :: UsageStatisticsFilterComparator+pattern UsageStatisticsFilterComparator_LT = UsageStatisticsFilterComparator' "LT"++pattern UsageStatisticsFilterComparator_LTE :: UsageStatisticsFilterComparator+pattern UsageStatisticsFilterComparator_LTE = UsageStatisticsFilterComparator' "LTE"++pattern UsageStatisticsFilterComparator_NE :: UsageStatisticsFilterComparator+pattern UsageStatisticsFilterComparator_NE = UsageStatisticsFilterComparator' "NE"++{-# COMPLETE+ UsageStatisticsFilterComparator_CONTAINS,+ UsageStatisticsFilterComparator_EQ,+ UsageStatisticsFilterComparator_GT,+ UsageStatisticsFilterComparator_GTE,+ UsageStatisticsFilterComparator_LT,+ UsageStatisticsFilterComparator_LTE,+ UsageStatisticsFilterComparator_NE,+ UsageStatisticsFilterComparator'+ #-}
+ gen/Amazonka/MacieV2/Types/UsageStatisticsFilterKey.hs view
@@ -0,0 +1,83 @@+{-# 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.MacieV2.Types.UsageStatisticsFilterKey+-- 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.MacieV2.Types.UsageStatisticsFilterKey+ ( UsageStatisticsFilterKey+ ( ..,+ UsageStatisticsFilterKey_AccountId,+ UsageStatisticsFilterKey_FreeTrialStartDate,+ UsageStatisticsFilterKey_ServiceLimit,+ UsageStatisticsFilterKey_Total+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The field to use in a condition that filters the results of a query for+-- Amazon Macie account quotas and usage data. Valid values are:+newtype UsageStatisticsFilterKey = UsageStatisticsFilterKey'+ { fromUsageStatisticsFilterKey ::+ 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 UsageStatisticsFilterKey_AccountId :: UsageStatisticsFilterKey+pattern UsageStatisticsFilterKey_AccountId = UsageStatisticsFilterKey' "accountId"++pattern UsageStatisticsFilterKey_FreeTrialStartDate :: UsageStatisticsFilterKey+pattern UsageStatisticsFilterKey_FreeTrialStartDate = UsageStatisticsFilterKey' "freeTrialStartDate"++pattern UsageStatisticsFilterKey_ServiceLimit :: UsageStatisticsFilterKey+pattern UsageStatisticsFilterKey_ServiceLimit = UsageStatisticsFilterKey' "serviceLimit"++pattern UsageStatisticsFilterKey_Total :: UsageStatisticsFilterKey+pattern UsageStatisticsFilterKey_Total = UsageStatisticsFilterKey' "total"++{-# COMPLETE+ UsageStatisticsFilterKey_AccountId,+ UsageStatisticsFilterKey_FreeTrialStartDate,+ UsageStatisticsFilterKey_ServiceLimit,+ UsageStatisticsFilterKey_Total,+ UsageStatisticsFilterKey'+ #-}
+ gen/Amazonka/MacieV2/Types/UsageStatisticsSortBy.hs view
@@ -0,0 +1,91 @@+{-# 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.MacieV2.Types.UsageStatisticsSortBy+-- 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.MacieV2.Types.UsageStatisticsSortBy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.OrderBy+import Amazonka.MacieV2.Types.UsageStatisticsSortKey+import qualified Amazonka.Prelude as Prelude++-- | Specifies criteria for sorting the results of a query for Amazon Macie+-- account quotas and usage data.+--+-- /See:/ 'newUsageStatisticsSortBy' smart constructor.+data UsageStatisticsSortBy = UsageStatisticsSortBy'+ { -- | The field to sort the results by.+ key :: Prelude.Maybe UsageStatisticsSortKey,+ -- | The sort order to apply to the results, based on the value for the field+ -- specified by the key property. Valid values are: ASC, sort the results+ -- in ascending order; and, DESC, sort the results in descending order.+ orderBy :: Prelude.Maybe OrderBy+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UsageStatisticsSortBy' 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:+--+-- 'key', 'usageStatisticsSortBy_key' - The field to sort the results by.+--+-- 'orderBy', 'usageStatisticsSortBy_orderBy' - The sort order to apply to the results, based on the value for the field+-- specified by the key property. Valid values are: ASC, sort the results+-- in ascending order; and, DESC, sort the results in descending order.+newUsageStatisticsSortBy ::+ UsageStatisticsSortBy+newUsageStatisticsSortBy =+ UsageStatisticsSortBy'+ { key = Prelude.Nothing,+ orderBy = Prelude.Nothing+ }++-- | The field to sort the results by.+usageStatisticsSortBy_key :: Lens.Lens' UsageStatisticsSortBy (Prelude.Maybe UsageStatisticsSortKey)+usageStatisticsSortBy_key = Lens.lens (\UsageStatisticsSortBy' {key} -> key) (\s@UsageStatisticsSortBy' {} a -> s {key = a} :: UsageStatisticsSortBy)++-- | The sort order to apply to the results, based on the value for the field+-- specified by the key property. Valid values are: ASC, sort the results+-- in ascending order; and, DESC, sort the results in descending order.+usageStatisticsSortBy_orderBy :: Lens.Lens' UsageStatisticsSortBy (Prelude.Maybe OrderBy)+usageStatisticsSortBy_orderBy = Lens.lens (\UsageStatisticsSortBy' {orderBy} -> orderBy) (\s@UsageStatisticsSortBy' {} a -> s {orderBy = a} :: UsageStatisticsSortBy)++instance Prelude.Hashable UsageStatisticsSortBy where+ hashWithSalt _salt UsageStatisticsSortBy' {..} =+ _salt+ `Prelude.hashWithSalt` key+ `Prelude.hashWithSalt` orderBy++instance Prelude.NFData UsageStatisticsSortBy where+ rnf UsageStatisticsSortBy' {..} =+ Prelude.rnf key `Prelude.seq` Prelude.rnf orderBy++instance Data.ToJSON UsageStatisticsSortBy where+ toJSON UsageStatisticsSortBy' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("key" Data..=) Prelude.<$> key,+ ("orderBy" Data..=) Prelude.<$> orderBy+ ]+ )
+ gen/Amazonka/MacieV2/Types/UsageStatisticsSortKey.hs view
@@ -0,0 +1,83 @@+{-# 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.MacieV2.Types.UsageStatisticsSortKey+-- 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.MacieV2.Types.UsageStatisticsSortKey+ ( UsageStatisticsSortKey+ ( ..,+ UsageStatisticsSortKey_AccountId,+ UsageStatisticsSortKey_FreeTrialStartDate,+ UsageStatisticsSortKey_ServiceLimitValue,+ UsageStatisticsSortKey_Total+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The field to use to sort the results of a query for Amazon Macie account+-- quotas and usage data. Valid values are:+newtype UsageStatisticsSortKey = UsageStatisticsSortKey'+ { fromUsageStatisticsSortKey ::+ 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 UsageStatisticsSortKey_AccountId :: UsageStatisticsSortKey+pattern UsageStatisticsSortKey_AccountId = UsageStatisticsSortKey' "accountId"++pattern UsageStatisticsSortKey_FreeTrialStartDate :: UsageStatisticsSortKey+pattern UsageStatisticsSortKey_FreeTrialStartDate = UsageStatisticsSortKey' "freeTrialStartDate"++pattern UsageStatisticsSortKey_ServiceLimitValue :: UsageStatisticsSortKey+pattern UsageStatisticsSortKey_ServiceLimitValue = UsageStatisticsSortKey' "serviceLimitValue"++pattern UsageStatisticsSortKey_Total :: UsageStatisticsSortKey+pattern UsageStatisticsSortKey_Total = UsageStatisticsSortKey' "total"++{-# COMPLETE+ UsageStatisticsSortKey_AccountId,+ UsageStatisticsSortKey_FreeTrialStartDate,+ UsageStatisticsSortKey_ServiceLimitValue,+ UsageStatisticsSortKey_Total,+ UsageStatisticsSortKey'+ #-}
+ gen/Amazonka/MacieV2/Types/UsageTotal.hs view
@@ -0,0 +1,119 @@+{-# 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.MacieV2.Types.UsageTotal+-- 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.MacieV2.Types.UsageTotal where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.Currency+import Amazonka.MacieV2.Types.UsageType+import qualified Amazonka.Prelude as Prelude++-- | Provides aggregated data for an Amazon Macie usage metric. The value for+-- the metric reports estimated usage data for an account for the preceding+-- 30 days or the current calendar month to date, depending on the time+-- period (timeRange) specified in the request.+--+-- /See:/ 'newUsageTotal' smart constructor.+data UsageTotal = UsageTotal'+ { -- | The type of currency that the value for the metric (estimatedCost) is+ -- reported in.+ currency :: Prelude.Maybe Currency,+ -- | The estimated value for the metric.+ estimatedCost :: Prelude.Maybe Prelude.Text,+ -- | The name of the metric. Possible values are:+ -- AUTOMATED_OBJECT_MONITORING, to monitor S3 objects for automated+ -- sensitive data discovery; AUTOMATED_SENSITIVE_DATA_DISCOVERY, to analyze+ -- S3 objects for automated sensitive data discovery;+ -- DATA_INVENTORY_EVALUATION, to monitor S3 buckets; and,+ -- SENSITIVE_DATA_DISCOVERY, to run classification jobs.+ type' :: Prelude.Maybe UsageType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UsageTotal' 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:+--+-- 'currency', 'usageTotal_currency' - The type of currency that the value for the metric (estimatedCost) is+-- reported in.+--+-- 'estimatedCost', 'usageTotal_estimatedCost' - The estimated value for the metric.+--+-- 'type'', 'usageTotal_type' - The name of the metric. Possible values are:+-- AUTOMATED_OBJECT_MONITORING, to monitor S3 objects for automated+-- sensitive data discovery; AUTOMATED_SENSITIVE_DATA_DISCOVERY, to analyze+-- S3 objects for automated sensitive data discovery;+-- DATA_INVENTORY_EVALUATION, to monitor S3 buckets; and,+-- SENSITIVE_DATA_DISCOVERY, to run classification jobs.+newUsageTotal ::+ UsageTotal+newUsageTotal =+ UsageTotal'+ { currency = Prelude.Nothing,+ estimatedCost = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | The type of currency that the value for the metric (estimatedCost) is+-- reported in.+usageTotal_currency :: Lens.Lens' UsageTotal (Prelude.Maybe Currency)+usageTotal_currency = Lens.lens (\UsageTotal' {currency} -> currency) (\s@UsageTotal' {} a -> s {currency = a} :: UsageTotal)++-- | The estimated value for the metric.+usageTotal_estimatedCost :: Lens.Lens' UsageTotal (Prelude.Maybe Prelude.Text)+usageTotal_estimatedCost = Lens.lens (\UsageTotal' {estimatedCost} -> estimatedCost) (\s@UsageTotal' {} a -> s {estimatedCost = a} :: UsageTotal)++-- | The name of the metric. Possible values are:+-- AUTOMATED_OBJECT_MONITORING, to monitor S3 objects for automated+-- sensitive data discovery; AUTOMATED_SENSITIVE_DATA_DISCOVERY, to analyze+-- S3 objects for automated sensitive data discovery;+-- DATA_INVENTORY_EVALUATION, to monitor S3 buckets; and,+-- SENSITIVE_DATA_DISCOVERY, to run classification jobs.+usageTotal_type :: Lens.Lens' UsageTotal (Prelude.Maybe UsageType)+usageTotal_type = Lens.lens (\UsageTotal' {type'} -> type') (\s@UsageTotal' {} a -> s {type' = a} :: UsageTotal)++instance Data.FromJSON UsageTotal where+ parseJSON =+ Data.withObject+ "UsageTotal"+ ( \x ->+ UsageTotal'+ Prelude.<$> (x Data..:? "currency")+ Prelude.<*> (x Data..:? "estimatedCost")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable UsageTotal where+ hashWithSalt _salt UsageTotal' {..} =+ _salt+ `Prelude.hashWithSalt` currency+ `Prelude.hashWithSalt` estimatedCost+ `Prelude.hashWithSalt` type'++instance Prelude.NFData UsageTotal where+ rnf UsageTotal' {..} =+ Prelude.rnf currency+ `Prelude.seq` Prelude.rnf estimatedCost+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/MacieV2/Types/UsageType.hs view
@@ -0,0 +1,83 @@+{-# 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.MacieV2.Types.UsageType+-- 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.MacieV2.Types.UsageType+ ( UsageType+ ( ..,+ UsageType_AUTOMATED_OBJECT_MONITORING,+ UsageType_AUTOMATED_SENSITIVE_DATA_DISCOVERY,+ UsageType_DATA_INVENTORY_EVALUATION,+ UsageType_SENSITIVE_DATA_DISCOVERY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The name of an Amazon Macie usage metric for an account. Possible values+-- are:+newtype UsageType = UsageType'+ { fromUsageType ::+ 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 UsageType_AUTOMATED_OBJECT_MONITORING :: UsageType+pattern UsageType_AUTOMATED_OBJECT_MONITORING = UsageType' "AUTOMATED_OBJECT_MONITORING"++pattern UsageType_AUTOMATED_SENSITIVE_DATA_DISCOVERY :: UsageType+pattern UsageType_AUTOMATED_SENSITIVE_DATA_DISCOVERY = UsageType' "AUTOMATED_SENSITIVE_DATA_DISCOVERY"++pattern UsageType_DATA_INVENTORY_EVALUATION :: UsageType+pattern UsageType_DATA_INVENTORY_EVALUATION = UsageType' "DATA_INVENTORY_EVALUATION"++pattern UsageType_SENSITIVE_DATA_DISCOVERY :: UsageType+pattern UsageType_SENSITIVE_DATA_DISCOVERY = UsageType' "SENSITIVE_DATA_DISCOVERY"++{-# COMPLETE+ UsageType_AUTOMATED_OBJECT_MONITORING,+ UsageType_AUTOMATED_SENSITIVE_DATA_DISCOVERY,+ UsageType_DATA_INVENTORY_EVALUATION,+ UsageType_SENSITIVE_DATA_DISCOVERY,+ UsageType'+ #-}
+ gen/Amazonka/MacieV2/Types/UserIdentity.hs view
@@ -0,0 +1,182 @@+{-# 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.MacieV2.Types.UserIdentity+-- 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.MacieV2.Types.UserIdentity where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.AssumedRole+import Amazonka.MacieV2.Types.AwsAccount+import Amazonka.MacieV2.Types.AwsService+import Amazonka.MacieV2.Types.FederatedUser+import Amazonka.MacieV2.Types.IamUser+import Amazonka.MacieV2.Types.UserIdentityRoot+import Amazonka.MacieV2.Types.UserIdentityType+import qualified Amazonka.Prelude as Prelude++-- | Provides information about the type and other characteristics of an+-- entity that performed an action on an affected resource.+--+-- /See:/ 'newUserIdentity' smart constructor.+data UserIdentity = UserIdentity'+ { -- | If the action was performed with temporary security credentials that+ -- were obtained using the AssumeRole operation of the Security Token+ -- Service (STS) API, the identifiers, session context, and other details+ -- about the identity.+ assumedRole :: Prelude.Maybe AssumedRole,+ -- | If the action was performed using the credentials for another Amazon Web+ -- Services account, the details of that account.+ awsAccount :: Prelude.Maybe AwsAccount,+ -- | If the action was performed by an Amazon Web Services account that+ -- belongs to an Amazon Web Service, the name of the service.+ awsService :: Prelude.Maybe AwsService,+ -- | If the action was performed with temporary security credentials that+ -- were obtained using the GetFederationToken operation of the Security+ -- Token Service (STS) API, the identifiers, session context, and other+ -- details about the identity.+ federatedUser :: Prelude.Maybe FederatedUser,+ -- | If the action was performed using the credentials for an Identity and+ -- Access Management (IAM) user, the name and other details about the user.+ iamUser :: Prelude.Maybe IamUser,+ -- | If the action was performed using the credentials for your Amazon Web+ -- Services account, the details of your account.+ root :: Prelude.Maybe UserIdentityRoot,+ -- | The type of entity that performed the action.+ type' :: Prelude.Maybe UserIdentityType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UserIdentity' 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:+--+-- 'assumedRole', 'userIdentity_assumedRole' - If the action was performed with temporary security credentials that+-- were obtained using the AssumeRole operation of the Security Token+-- Service (STS) API, the identifiers, session context, and other details+-- about the identity.+--+-- 'awsAccount', 'userIdentity_awsAccount' - If the action was performed using the credentials for another Amazon Web+-- Services account, the details of that account.+--+-- 'awsService', 'userIdentity_awsService' - If the action was performed by an Amazon Web Services account that+-- belongs to an Amazon Web Service, the name of the service.+--+-- 'federatedUser', 'userIdentity_federatedUser' - If the action was performed with temporary security credentials that+-- were obtained using the GetFederationToken operation of the Security+-- Token Service (STS) API, the identifiers, session context, and other+-- details about the identity.+--+-- 'iamUser', 'userIdentity_iamUser' - If the action was performed using the credentials for an Identity and+-- Access Management (IAM) user, the name and other details about the user.+--+-- 'root', 'userIdentity_root' - If the action was performed using the credentials for your Amazon Web+-- Services account, the details of your account.+--+-- 'type'', 'userIdentity_type' - The type of entity that performed the action.+newUserIdentity ::+ UserIdentity+newUserIdentity =+ UserIdentity'+ { assumedRole = Prelude.Nothing,+ awsAccount = Prelude.Nothing,+ awsService = Prelude.Nothing,+ federatedUser = Prelude.Nothing,+ iamUser = Prelude.Nothing,+ root = Prelude.Nothing,+ type' = Prelude.Nothing+ }++-- | If the action was performed with temporary security credentials that+-- were obtained using the AssumeRole operation of the Security Token+-- Service (STS) API, the identifiers, session context, and other details+-- about the identity.+userIdentity_assumedRole :: Lens.Lens' UserIdentity (Prelude.Maybe AssumedRole)+userIdentity_assumedRole = Lens.lens (\UserIdentity' {assumedRole} -> assumedRole) (\s@UserIdentity' {} a -> s {assumedRole = a} :: UserIdentity)++-- | If the action was performed using the credentials for another Amazon Web+-- Services account, the details of that account.+userIdentity_awsAccount :: Lens.Lens' UserIdentity (Prelude.Maybe AwsAccount)+userIdentity_awsAccount = Lens.lens (\UserIdentity' {awsAccount} -> awsAccount) (\s@UserIdentity' {} a -> s {awsAccount = a} :: UserIdentity)++-- | If the action was performed by an Amazon Web Services account that+-- belongs to an Amazon Web Service, the name of the service.+userIdentity_awsService :: Lens.Lens' UserIdentity (Prelude.Maybe AwsService)+userIdentity_awsService = Lens.lens (\UserIdentity' {awsService} -> awsService) (\s@UserIdentity' {} a -> s {awsService = a} :: UserIdentity)++-- | If the action was performed with temporary security credentials that+-- were obtained using the GetFederationToken operation of the Security+-- Token Service (STS) API, the identifiers, session context, and other+-- details about the identity.+userIdentity_federatedUser :: Lens.Lens' UserIdentity (Prelude.Maybe FederatedUser)+userIdentity_federatedUser = Lens.lens (\UserIdentity' {federatedUser} -> federatedUser) (\s@UserIdentity' {} a -> s {federatedUser = a} :: UserIdentity)++-- | If the action was performed using the credentials for an Identity and+-- Access Management (IAM) user, the name and other details about the user.+userIdentity_iamUser :: Lens.Lens' UserIdentity (Prelude.Maybe IamUser)+userIdentity_iamUser = Lens.lens (\UserIdentity' {iamUser} -> iamUser) (\s@UserIdentity' {} a -> s {iamUser = a} :: UserIdentity)++-- | If the action was performed using the credentials for your Amazon Web+-- Services account, the details of your account.+userIdentity_root :: Lens.Lens' UserIdentity (Prelude.Maybe UserIdentityRoot)+userIdentity_root = Lens.lens (\UserIdentity' {root} -> root) (\s@UserIdentity' {} a -> s {root = a} :: UserIdentity)++-- | The type of entity that performed the action.+userIdentity_type :: Lens.Lens' UserIdentity (Prelude.Maybe UserIdentityType)+userIdentity_type = Lens.lens (\UserIdentity' {type'} -> type') (\s@UserIdentity' {} a -> s {type' = a} :: UserIdentity)++instance Data.FromJSON UserIdentity where+ parseJSON =+ Data.withObject+ "UserIdentity"+ ( \x ->+ UserIdentity'+ Prelude.<$> (x Data..:? "assumedRole")+ Prelude.<*> (x Data..:? "awsAccount")+ Prelude.<*> (x Data..:? "awsService")+ Prelude.<*> (x Data..:? "federatedUser")+ Prelude.<*> (x Data..:? "iamUser")+ Prelude.<*> (x Data..:? "root")+ Prelude.<*> (x Data..:? "type")+ )++instance Prelude.Hashable UserIdentity where+ hashWithSalt _salt UserIdentity' {..} =+ _salt+ `Prelude.hashWithSalt` assumedRole+ `Prelude.hashWithSalt` awsAccount+ `Prelude.hashWithSalt` awsService+ `Prelude.hashWithSalt` federatedUser+ `Prelude.hashWithSalt` iamUser+ `Prelude.hashWithSalt` root+ `Prelude.hashWithSalt` type'++instance Prelude.NFData UserIdentity where+ rnf UserIdentity' {..} =+ Prelude.rnf assumedRole+ `Prelude.seq` Prelude.rnf awsAccount+ `Prelude.seq` Prelude.rnf awsService+ `Prelude.seq` Prelude.rnf federatedUser+ `Prelude.seq` Prelude.rnf iamUser+ `Prelude.seq` Prelude.rnf root+ `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/MacieV2/Types/UserIdentityRoot.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.Types.UserIdentityRoot+-- 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.MacieV2.Types.UserIdentityRoot 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++-- | Provides information about an Amazon Web Services account and entity+-- that performed an action on an affected resource. The action was+-- performed using the credentials for your Amazon Web Services account.+--+-- /See:/ 'newUserIdentityRoot' smart constructor.+data UserIdentityRoot = UserIdentityRoot'+ { -- | The unique identifier for the Amazon Web Services account.+ accountId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the principal that performed the+ -- action. The last section of the ARN contains the name of the user or+ -- role that performed the action.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the entity that performed the action.+ principalId :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UserIdentityRoot' 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:+--+-- 'accountId', 'userIdentityRoot_accountId' - The unique identifier for the Amazon Web Services account.+--+-- 'arn', 'userIdentityRoot_arn' - The Amazon Resource Name (ARN) of the principal that performed the+-- action. The last section of the ARN contains the name of the user or+-- role that performed the action.+--+-- 'principalId', 'userIdentityRoot_principalId' - The unique identifier for the entity that performed the action.+newUserIdentityRoot ::+ UserIdentityRoot+newUserIdentityRoot =+ UserIdentityRoot'+ { accountId = Prelude.Nothing,+ arn = Prelude.Nothing,+ principalId = Prelude.Nothing+ }++-- | The unique identifier for the Amazon Web Services account.+userIdentityRoot_accountId :: Lens.Lens' UserIdentityRoot (Prelude.Maybe Prelude.Text)+userIdentityRoot_accountId = Lens.lens (\UserIdentityRoot' {accountId} -> accountId) (\s@UserIdentityRoot' {} a -> s {accountId = a} :: UserIdentityRoot)++-- | The Amazon Resource Name (ARN) of the principal that performed the+-- action. The last section of the ARN contains the name of the user or+-- role that performed the action.+userIdentityRoot_arn :: Lens.Lens' UserIdentityRoot (Prelude.Maybe Prelude.Text)+userIdentityRoot_arn = Lens.lens (\UserIdentityRoot' {arn} -> arn) (\s@UserIdentityRoot' {} a -> s {arn = a} :: UserIdentityRoot)++-- | The unique identifier for the entity that performed the action.+userIdentityRoot_principalId :: Lens.Lens' UserIdentityRoot (Prelude.Maybe Prelude.Text)+userIdentityRoot_principalId = Lens.lens (\UserIdentityRoot' {principalId} -> principalId) (\s@UserIdentityRoot' {} a -> s {principalId = a} :: UserIdentityRoot)++instance Data.FromJSON UserIdentityRoot where+ parseJSON =+ Data.withObject+ "UserIdentityRoot"+ ( \x ->+ UserIdentityRoot'+ Prelude.<$> (x Data..:? "accountId")+ Prelude.<*> (x Data..:? "arn")+ Prelude.<*> (x Data..:? "principalId")+ )++instance Prelude.Hashable UserIdentityRoot where+ hashWithSalt _salt UserIdentityRoot' {..} =+ _salt+ `Prelude.hashWithSalt` accountId+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` principalId++instance Prelude.NFData UserIdentityRoot where+ rnf UserIdentityRoot' {..} =+ Prelude.rnf accountId+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf principalId
+ gen/Amazonka/MacieV2/Types/UserIdentityType.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.Types.UserIdentityType+-- 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.MacieV2.Types.UserIdentityType+ ( UserIdentityType+ ( ..,+ UserIdentityType_AWSAccount,+ UserIdentityType_AWSService,+ UserIdentityType_AssumedRole,+ UserIdentityType_FederatedUser,+ UserIdentityType_IAMUser,+ UserIdentityType_Root+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The type of entity that performed the action on the affected resource.+-- Possible values are:+newtype UserIdentityType = UserIdentityType'+ { fromUserIdentityType ::+ 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 UserIdentityType_AWSAccount :: UserIdentityType+pattern UserIdentityType_AWSAccount = UserIdentityType' "AWSAccount"++pattern UserIdentityType_AWSService :: UserIdentityType+pattern UserIdentityType_AWSService = UserIdentityType' "AWSService"++pattern UserIdentityType_AssumedRole :: UserIdentityType+pattern UserIdentityType_AssumedRole = UserIdentityType' "AssumedRole"++pattern UserIdentityType_FederatedUser :: UserIdentityType+pattern UserIdentityType_FederatedUser = UserIdentityType' "FederatedUser"++pattern UserIdentityType_IAMUser :: UserIdentityType+pattern UserIdentityType_IAMUser = UserIdentityType' "IAMUser"++pattern UserIdentityType_Root :: UserIdentityType+pattern UserIdentityType_Root = UserIdentityType' "Root"++{-# COMPLETE+ UserIdentityType_AWSAccount,+ UserIdentityType_AWSService,+ UserIdentityType_AssumedRole,+ UserIdentityType_FederatedUser,+ UserIdentityType_IAMUser,+ UserIdentityType_Root,+ UserIdentityType'+ #-}
+ gen/Amazonka/MacieV2/Types/UserPausedDetails.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.MacieV2.Types.UserPausedDetails+-- 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.MacieV2.Types.UserPausedDetails 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++-- | Provides information about when a classification job was paused. For a+-- one-time job, this object also specifies when the job will expire and be+-- cancelled if it isn\'t resumed. For a recurring job, this object also+-- specifies when the paused job run will expire and be cancelled if it+-- isn\'t resumed. This object is present only if a job\'s current status+-- (jobStatus) is USER_PAUSED. The information in this object applies only+-- to a job that was paused while it had a status of RUNNING.+--+-- /See:/ 'newUserPausedDetails' smart constructor.+data UserPausedDetails = UserPausedDetails'+ { -- | The date and time, in UTC and extended ISO 8601 format, when the job or+ -- job run will expire and be cancelled if you don\'t resume it first.+ jobExpiresAt :: Prelude.Maybe Data.ISO8601,+ -- | The Amazon Resource Name (ARN) of the Health event that Amazon Macie+ -- sent to notify you of the job or job run\'s pending expiration and+ -- cancellation. This value is null if a job has been paused for less than+ -- 23 days.+ jobImminentExpirationHealthEventArn :: Prelude.Maybe Prelude.Text,+ -- | The date and time, in UTC and extended ISO 8601 format, when you paused+ -- the job.+ jobPausedAt :: Prelude.Maybe Data.ISO8601+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UserPausedDetails' 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:+--+-- 'jobExpiresAt', 'userPausedDetails_jobExpiresAt' - The date and time, in UTC and extended ISO 8601 format, when the job or+-- job run will expire and be cancelled if you don\'t resume it first.+--+-- 'jobImminentExpirationHealthEventArn', 'userPausedDetails_jobImminentExpirationHealthEventArn' - The Amazon Resource Name (ARN) of the Health event that Amazon Macie+-- sent to notify you of the job or job run\'s pending expiration and+-- cancellation. This value is null if a job has been paused for less than+-- 23 days.+--+-- 'jobPausedAt', 'userPausedDetails_jobPausedAt' - The date and time, in UTC and extended ISO 8601 format, when you paused+-- the job.+newUserPausedDetails ::+ UserPausedDetails+newUserPausedDetails =+ UserPausedDetails'+ { jobExpiresAt = Prelude.Nothing,+ jobImminentExpirationHealthEventArn =+ Prelude.Nothing,+ jobPausedAt = Prelude.Nothing+ }++-- | The date and time, in UTC and extended ISO 8601 format, when the job or+-- job run will expire and be cancelled if you don\'t resume it first.+userPausedDetails_jobExpiresAt :: Lens.Lens' UserPausedDetails (Prelude.Maybe Prelude.UTCTime)+userPausedDetails_jobExpiresAt = Lens.lens (\UserPausedDetails' {jobExpiresAt} -> jobExpiresAt) (\s@UserPausedDetails' {} a -> s {jobExpiresAt = a} :: UserPausedDetails) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the Health event that Amazon Macie+-- sent to notify you of the job or job run\'s pending expiration and+-- cancellation. This value is null if a job has been paused for less than+-- 23 days.+userPausedDetails_jobImminentExpirationHealthEventArn :: Lens.Lens' UserPausedDetails (Prelude.Maybe Prelude.Text)+userPausedDetails_jobImminentExpirationHealthEventArn = Lens.lens (\UserPausedDetails' {jobImminentExpirationHealthEventArn} -> jobImminentExpirationHealthEventArn) (\s@UserPausedDetails' {} a -> s {jobImminentExpirationHealthEventArn = a} :: UserPausedDetails)++-- | The date and time, in UTC and extended ISO 8601 format, when you paused+-- the job.+userPausedDetails_jobPausedAt :: Lens.Lens' UserPausedDetails (Prelude.Maybe Prelude.UTCTime)+userPausedDetails_jobPausedAt = Lens.lens (\UserPausedDetails' {jobPausedAt} -> jobPausedAt) (\s@UserPausedDetails' {} a -> s {jobPausedAt = a} :: UserPausedDetails) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON UserPausedDetails where+ parseJSON =+ Data.withObject+ "UserPausedDetails"+ ( \x ->+ UserPausedDetails'+ Prelude.<$> (x Data..:? "jobExpiresAt")+ Prelude.<*> (x Data..:? "jobImminentExpirationHealthEventArn")+ Prelude.<*> (x Data..:? "jobPausedAt")+ )++instance Prelude.Hashable UserPausedDetails where+ hashWithSalt _salt UserPausedDetails' {..} =+ _salt+ `Prelude.hashWithSalt` jobExpiresAt+ `Prelude.hashWithSalt` jobImminentExpirationHealthEventArn+ `Prelude.hashWithSalt` jobPausedAt++instance Prelude.NFData UserPausedDetails where+ rnf UserPausedDetails' {..} =+ Prelude.rnf jobExpiresAt+ `Prelude.seq` Prelude.rnf jobImminentExpirationHealthEventArn+ `Prelude.seq` Prelude.rnf jobPausedAt
+ gen/Amazonka/MacieV2/Types/WeeklySchedule.hs view
@@ -0,0 +1,75 @@+{-# 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.MacieV2.Types.WeeklySchedule+-- 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.MacieV2.Types.WeeklySchedule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types.DayOfWeek+import qualified Amazonka.Prelude as Prelude++-- | Specifies a weekly recurrence pattern for running a classification job.+--+-- /See:/ 'newWeeklySchedule' smart constructor.+data WeeklySchedule = WeeklySchedule'+ { -- | The day of the week when Amazon Macie runs the job.+ dayOfWeek :: Prelude.Maybe DayOfWeek+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WeeklySchedule' 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:+--+-- 'dayOfWeek', 'weeklySchedule_dayOfWeek' - The day of the week when Amazon Macie runs the job.+newWeeklySchedule ::+ WeeklySchedule+newWeeklySchedule =+ WeeklySchedule' {dayOfWeek = Prelude.Nothing}++-- | The day of the week when Amazon Macie runs the job.+weeklySchedule_dayOfWeek :: Lens.Lens' WeeklySchedule (Prelude.Maybe DayOfWeek)+weeklySchedule_dayOfWeek = Lens.lens (\WeeklySchedule' {dayOfWeek} -> dayOfWeek) (\s@WeeklySchedule' {} a -> s {dayOfWeek = a} :: WeeklySchedule)++instance Data.FromJSON WeeklySchedule where+ parseJSON =+ Data.withObject+ "WeeklySchedule"+ ( \x ->+ WeeklySchedule' Prelude.<$> (x Data..:? "dayOfWeek")+ )++instance Prelude.Hashable WeeklySchedule where+ hashWithSalt _salt WeeklySchedule' {..} =+ _salt `Prelude.hashWithSalt` dayOfWeek++instance Prelude.NFData WeeklySchedule where+ rnf WeeklySchedule' {..} = Prelude.rnf dayOfWeek++instance Data.ToJSON WeeklySchedule where+ toJSON WeeklySchedule' {..} =+ Data.object+ ( Prelude.catMaybes+ [("dayOfWeek" Data..=) Prelude.<$> dayOfWeek]+ )
+ gen/Amazonka/MacieV2/UntagResource.hs view
@@ -0,0 +1,168 @@+{-# 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.MacieV2.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 one or more tags (keys and values) from an Amazon Macie+-- resource.+module Amazonka.MacieV2.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_tagKeys,+ untagResource_resourceArn,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,++ -- * Response Lenses+ untagResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+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'+ { -- | One or more tags (keys) to remove from the resource. In an HTTP request+ -- to remove multiple tags, append the tagKeys parameter and argument for+ -- each tag to remove, separated by an ampersand (&).+ tagKeys :: [Prelude.Text],+ -- | The Amazon Resource Name (ARN) of the resource.+ resourceArn :: 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:+--+-- 'tagKeys', 'untagResource_tagKeys' - One or more tags (keys) to remove from the resource. In an HTTP request+-- to remove multiple tags, append the tagKeys parameter and argument for+-- each tag to remove, separated by an ampersand (&).+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { tagKeys = Prelude.mempty,+ resourceArn = pResourceArn_+ }++-- | One or more tags (keys) to remove from the resource. In an HTTP request+-- to remove multiple tags, append the tagKeys parameter and argument for+-- each tag to remove, separated by an ampersand (&).+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++-- | The Amazon Resource Name (ARN) of the resource.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++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` tagKeys+ `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf tagKeys+ `Prelude.seq` Prelude.rnf resourceArn++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/MacieV2/UpdateAllowList.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.MacieV2.UpdateAllowList+-- 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 settings for an allow list.+module Amazonka.MacieV2.UpdateAllowList+ ( -- * Creating a Request+ UpdateAllowList (..),+ newUpdateAllowList,++ -- * Request Lenses+ updateAllowList_description,+ updateAllowList_id,+ updateAllowList_criteria,+ updateAllowList_name,++ -- * Destructuring the Response+ UpdateAllowListResponse (..),+ newUpdateAllowListResponse,++ -- * Response Lenses+ updateAllowListResponse_arn,+ updateAllowListResponse_id,+ updateAllowListResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAllowList' smart constructor.+data UpdateAllowList = UpdateAllowList'+ { -- | A custom description of the allow list. The description can contain as+ -- many as 512 characters.+ description :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text,+ -- | The criteria that specify the text or text pattern to ignore. The+ -- criteria can be the location and name of an S3 object that lists+ -- specific text to ignore (s3WordsList), or a regular expression that+ -- defines a text pattern to ignore (regex).+ --+ -- You can change a list\'s underlying criteria, such as the name of the S3+ -- object or the regular expression to use. However, you can\'t change the+ -- type from s3WordsList to regex or the other way around.+ criteria :: AllowListCriteria,+ -- | A custom name for the allow list. The name can contain as many as 128+ -- characters.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAllowList' 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', 'updateAllowList_description' - A custom description of the allow list. The description can contain as+-- many as 512 characters.+--+-- 'id', 'updateAllowList_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+--+-- 'criteria', 'updateAllowList_criteria' - The criteria that specify the text or text pattern to ignore. The+-- criteria can be the location and name of an S3 object that lists+-- specific text to ignore (s3WordsList), or a regular expression that+-- defines a text pattern to ignore (regex).+--+-- You can change a list\'s underlying criteria, such as the name of the S3+-- object or the regular expression to use. However, you can\'t change the+-- type from s3WordsList to regex or the other way around.+--+-- 'name', 'updateAllowList_name' - A custom name for the allow list. The name can contain as many as 128+-- characters.+newUpdateAllowList ::+ -- | 'id'+ Prelude.Text ->+ -- | 'criteria'+ AllowListCriteria ->+ -- | 'name'+ Prelude.Text ->+ UpdateAllowList+newUpdateAllowList pId_ pCriteria_ pName_ =+ UpdateAllowList'+ { description = Prelude.Nothing,+ id = pId_,+ criteria = pCriteria_,+ name = pName_+ }++-- | A custom description of the allow list. The description can contain as+-- many as 512 characters.+updateAllowList_description :: Lens.Lens' UpdateAllowList (Prelude.Maybe Prelude.Text)+updateAllowList_description = Lens.lens (\UpdateAllowList' {description} -> description) (\s@UpdateAllowList' {} a -> s {description = a} :: UpdateAllowList)++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+updateAllowList_id :: Lens.Lens' UpdateAllowList Prelude.Text+updateAllowList_id = Lens.lens (\UpdateAllowList' {id} -> id) (\s@UpdateAllowList' {} a -> s {id = a} :: UpdateAllowList)++-- | The criteria that specify the text or text pattern to ignore. The+-- criteria can be the location and name of an S3 object that lists+-- specific text to ignore (s3WordsList), or a regular expression that+-- defines a text pattern to ignore (regex).+--+-- You can change a list\'s underlying criteria, such as the name of the S3+-- object or the regular expression to use. However, you can\'t change the+-- type from s3WordsList to regex or the other way around.+updateAllowList_criteria :: Lens.Lens' UpdateAllowList AllowListCriteria+updateAllowList_criteria = Lens.lens (\UpdateAllowList' {criteria} -> criteria) (\s@UpdateAllowList' {} a -> s {criteria = a} :: UpdateAllowList)++-- | A custom name for the allow list. The name can contain as many as 128+-- characters.+updateAllowList_name :: Lens.Lens' UpdateAllowList Prelude.Text+updateAllowList_name = Lens.lens (\UpdateAllowList' {name} -> name) (\s@UpdateAllowList' {} a -> s {name = a} :: UpdateAllowList)++instance Core.AWSRequest UpdateAllowList where+ type+ AWSResponse UpdateAllowList =+ UpdateAllowListResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateAllowListResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "id")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateAllowList where+ hashWithSalt _salt UpdateAllowList' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` criteria+ `Prelude.hashWithSalt` name++instance Prelude.NFData UpdateAllowList where+ rnf UpdateAllowList' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf criteria+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders UpdateAllowList where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateAllowList where+ toJSON UpdateAllowList' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ Prelude.Just ("criteria" Data..= criteria),+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath UpdateAllowList where+ toPath UpdateAllowList' {..} =+ Prelude.mconcat ["/allow-lists/", Data.toBS id]++instance Data.ToQuery UpdateAllowList where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAllowListResponse' smart constructor.+data UpdateAllowListResponse = UpdateAllowListResponse'+ { -- | The Amazon Resource Name (ARN) of the allow list.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the allow list.+ id :: 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 'UpdateAllowListResponse' 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', 'updateAllowListResponse_arn' - The Amazon Resource Name (ARN) of the allow list.+--+-- 'id', 'updateAllowListResponse_id' - The unique identifier for the allow list.+--+-- 'httpStatus', 'updateAllowListResponse_httpStatus' - The response's http status code.+newUpdateAllowListResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAllowListResponse+newUpdateAllowListResponse pHttpStatus_ =+ UpdateAllowListResponse'+ { arn = Prelude.Nothing,+ id = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the allow list.+updateAllowListResponse_arn :: Lens.Lens' UpdateAllowListResponse (Prelude.Maybe Prelude.Text)+updateAllowListResponse_arn = Lens.lens (\UpdateAllowListResponse' {arn} -> arn) (\s@UpdateAllowListResponse' {} a -> s {arn = a} :: UpdateAllowListResponse)++-- | The unique identifier for the allow list.+updateAllowListResponse_id :: Lens.Lens' UpdateAllowListResponse (Prelude.Maybe Prelude.Text)+updateAllowListResponse_id = Lens.lens (\UpdateAllowListResponse' {id} -> id) (\s@UpdateAllowListResponse' {} a -> s {id = a} :: UpdateAllowListResponse)++-- | The response's http status code.+updateAllowListResponse_httpStatus :: Lens.Lens' UpdateAllowListResponse Prelude.Int+updateAllowListResponse_httpStatus = Lens.lens (\UpdateAllowListResponse' {httpStatus} -> httpStatus) (\s@UpdateAllowListResponse' {} a -> s {httpStatus = a} :: UpdateAllowListResponse)++instance Prelude.NFData UpdateAllowListResponse where+ rnf UpdateAllowListResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/UpdateAutomatedDiscoveryConfiguration.hs view
@@ -0,0 +1,219 @@+{-# 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.MacieV2.UpdateAutomatedDiscoveryConfiguration+-- 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 or disables automated sensitive data discovery for an account.+module Amazonka.MacieV2.UpdateAutomatedDiscoveryConfiguration+ ( -- * Creating a Request+ UpdateAutomatedDiscoveryConfiguration (..),+ newUpdateAutomatedDiscoveryConfiguration,++ -- * Request Lenses+ updateAutomatedDiscoveryConfiguration_status,++ -- * Destructuring the Response+ UpdateAutomatedDiscoveryConfigurationResponse (..),+ newUpdateAutomatedDiscoveryConfigurationResponse,++ -- * Response Lenses+ updateAutomatedDiscoveryConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateAutomatedDiscoveryConfiguration' smart constructor.+data UpdateAutomatedDiscoveryConfiguration = UpdateAutomatedDiscoveryConfiguration'+ { -- | The new status of automated sensitive data discovery for the account.+ -- Valid values are: ENABLED, start or resume automated sensitive data+ -- discovery activities for the account; and, DISABLED, stop performing+ -- automated sensitive data discovery activities for the account.+ --+ -- When you enable automated sensitive data discovery for the first time,+ -- Amazon Macie uses default configuration settings to determine which data+ -- sources to analyze and which managed data identifiers to use. To change+ -- these settings, use the UpdateClassificationScope and+ -- UpdateSensitivityInspectionTemplate operations, respectively. If you+ -- change the settings and subsequently disable the configuration, Amazon+ -- Macie retains your changes.+ status :: AutomatedDiscoveryStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAutomatedDiscoveryConfiguration' 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', 'updateAutomatedDiscoveryConfiguration_status' - The new status of automated sensitive data discovery for the account.+-- Valid values are: ENABLED, start or resume automated sensitive data+-- discovery activities for the account; and, DISABLED, stop performing+-- automated sensitive data discovery activities for the account.+--+-- When you enable automated sensitive data discovery for the first time,+-- Amazon Macie uses default configuration settings to determine which data+-- sources to analyze and which managed data identifiers to use. To change+-- these settings, use the UpdateClassificationScope and+-- UpdateSensitivityInspectionTemplate operations, respectively. If you+-- change the settings and subsequently disable the configuration, Amazon+-- Macie retains your changes.+newUpdateAutomatedDiscoveryConfiguration ::+ -- | 'status'+ AutomatedDiscoveryStatus ->+ UpdateAutomatedDiscoveryConfiguration+newUpdateAutomatedDiscoveryConfiguration pStatus_ =+ UpdateAutomatedDiscoveryConfiguration'+ { status =+ pStatus_+ }++-- | The new status of automated sensitive data discovery for the account.+-- Valid values are: ENABLED, start or resume automated sensitive data+-- discovery activities for the account; and, DISABLED, stop performing+-- automated sensitive data discovery activities for the account.+--+-- When you enable automated sensitive data discovery for the first time,+-- Amazon Macie uses default configuration settings to determine which data+-- sources to analyze and which managed data identifiers to use. To change+-- these settings, use the UpdateClassificationScope and+-- UpdateSensitivityInspectionTemplate operations, respectively. If you+-- change the settings and subsequently disable the configuration, Amazon+-- Macie retains your changes.+updateAutomatedDiscoveryConfiguration_status :: Lens.Lens' UpdateAutomatedDiscoveryConfiguration AutomatedDiscoveryStatus+updateAutomatedDiscoveryConfiguration_status = Lens.lens (\UpdateAutomatedDiscoveryConfiguration' {status} -> status) (\s@UpdateAutomatedDiscoveryConfiguration' {} a -> s {status = a} :: UpdateAutomatedDiscoveryConfiguration)++instance+ Core.AWSRequest+ UpdateAutomatedDiscoveryConfiguration+ where+ type+ AWSResponse+ UpdateAutomatedDiscoveryConfiguration =+ UpdateAutomatedDiscoveryConfigurationResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateAutomatedDiscoveryConfigurationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ UpdateAutomatedDiscoveryConfiguration+ where+ hashWithSalt+ _salt+ UpdateAutomatedDiscoveryConfiguration' {..} =+ _salt `Prelude.hashWithSalt` status++instance+ Prelude.NFData+ UpdateAutomatedDiscoveryConfiguration+ where+ rnf UpdateAutomatedDiscoveryConfiguration' {..} =+ Prelude.rnf status++instance+ Data.ToHeaders+ UpdateAutomatedDiscoveryConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ UpdateAutomatedDiscoveryConfiguration+ where+ toJSON UpdateAutomatedDiscoveryConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("status" Data..= status)]+ )++instance+ Data.ToPath+ UpdateAutomatedDiscoveryConfiguration+ where+ toPath =+ Prelude.const "/automated-discovery/configuration"++instance+ Data.ToQuery+ UpdateAutomatedDiscoveryConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateAutomatedDiscoveryConfigurationResponse' smart constructor.+data UpdateAutomatedDiscoveryConfigurationResponse = UpdateAutomatedDiscoveryConfigurationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateAutomatedDiscoveryConfigurationResponse' 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', 'updateAutomatedDiscoveryConfigurationResponse_httpStatus' - The response's http status code.+newUpdateAutomatedDiscoveryConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateAutomatedDiscoveryConfigurationResponse+newUpdateAutomatedDiscoveryConfigurationResponse+ pHttpStatus_ =+ UpdateAutomatedDiscoveryConfigurationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateAutomatedDiscoveryConfigurationResponse_httpStatus :: Lens.Lens' UpdateAutomatedDiscoveryConfigurationResponse Prelude.Int+updateAutomatedDiscoveryConfigurationResponse_httpStatus = Lens.lens (\UpdateAutomatedDiscoveryConfigurationResponse' {httpStatus} -> httpStatus) (\s@UpdateAutomatedDiscoveryConfigurationResponse' {} a -> s {httpStatus = a} :: UpdateAutomatedDiscoveryConfigurationResponse)++instance+ Prelude.NFData+ UpdateAutomatedDiscoveryConfigurationResponse+ where+ rnf+ UpdateAutomatedDiscoveryConfigurationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/UpdateClassificationJob.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.UpdateClassificationJob+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Changes the status of a classification job.+module Amazonka.MacieV2.UpdateClassificationJob+ ( -- * Creating a Request+ UpdateClassificationJob (..),+ newUpdateClassificationJob,++ -- * Request Lenses+ updateClassificationJob_jobId,+ updateClassificationJob_jobStatus,++ -- * Destructuring the Response+ UpdateClassificationJobResponse (..),+ newUpdateClassificationJobResponse,++ -- * Response Lenses+ updateClassificationJobResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateClassificationJob' smart constructor.+data UpdateClassificationJob = UpdateClassificationJob'+ { -- | The unique identifier for the classification job.+ jobId :: Prelude.Text,+ -- | The new status for the job. Valid values are:+ --+ -- - CANCELLED - Stops the job permanently and cancels it. This value is+ -- valid only if the job\'s current status is IDLE, PAUSED, RUNNING, or+ -- USER_PAUSED.+ --+ -- If you specify this value and the job\'s current status is RUNNING,+ -- Amazon Macie immediately begins to stop all processing tasks for the+ -- job. You can\'t resume or restart a job after you cancel it.+ --+ -- - RUNNING - Resumes the job. This value is valid only if the job\'s+ -- current status is USER_PAUSED.+ --+ -- If you paused the job while it was actively running and you specify+ -- this value less than 30 days after you paused the job, Macie+ -- immediately resumes processing from the point where you paused the+ -- job. Otherwise, Macie resumes the job according to the schedule and+ -- other settings for the job.+ --+ -- - USER_PAUSED - Pauses the job temporarily. This value is valid only+ -- if the job\'s current status is IDLE, PAUSED, or RUNNING. If you+ -- specify this value and the job\'s current status is RUNNING, Macie+ -- immediately begins to pause all processing tasks for the job.+ --+ -- If you pause a one-time job and you don\'t resume it within 30 days,+ -- the job expires and Macie cancels the job. If you pause a recurring+ -- job when its status is RUNNING and you don\'t resume it within 30+ -- days, the job run expires and Macie cancels the run. To check the+ -- expiration date, refer to the UserPausedDetails.jobExpiresAt+ -- property.+ jobStatus :: JobStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateClassificationJob' 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:+--+-- 'jobId', 'updateClassificationJob_jobId' - The unique identifier for the classification job.+--+-- 'jobStatus', 'updateClassificationJob_jobStatus' - The new status for the job. Valid values are:+--+-- - CANCELLED - Stops the job permanently and cancels it. This value is+-- valid only if the job\'s current status is IDLE, PAUSED, RUNNING, or+-- USER_PAUSED.+--+-- If you specify this value and the job\'s current status is RUNNING,+-- Amazon Macie immediately begins to stop all processing tasks for the+-- job. You can\'t resume or restart a job after you cancel it.+--+-- - RUNNING - Resumes the job. This value is valid only if the job\'s+-- current status is USER_PAUSED.+--+-- If you paused the job while it was actively running and you specify+-- this value less than 30 days after you paused the job, Macie+-- immediately resumes processing from the point where you paused the+-- job. Otherwise, Macie resumes the job according to the schedule and+-- other settings for the job.+--+-- - USER_PAUSED - Pauses the job temporarily. This value is valid only+-- if the job\'s current status is IDLE, PAUSED, or RUNNING. If you+-- specify this value and the job\'s current status is RUNNING, Macie+-- immediately begins to pause all processing tasks for the job.+--+-- If you pause a one-time job and you don\'t resume it within 30 days,+-- the job expires and Macie cancels the job. If you pause a recurring+-- job when its status is RUNNING and you don\'t resume it within 30+-- days, the job run expires and Macie cancels the run. To check the+-- expiration date, refer to the UserPausedDetails.jobExpiresAt+-- property.+newUpdateClassificationJob ::+ -- | 'jobId'+ Prelude.Text ->+ -- | 'jobStatus'+ JobStatus ->+ UpdateClassificationJob+newUpdateClassificationJob pJobId_ pJobStatus_ =+ UpdateClassificationJob'+ { jobId = pJobId_,+ jobStatus = pJobStatus_+ }++-- | The unique identifier for the classification job.+updateClassificationJob_jobId :: Lens.Lens' UpdateClassificationJob Prelude.Text+updateClassificationJob_jobId = Lens.lens (\UpdateClassificationJob' {jobId} -> jobId) (\s@UpdateClassificationJob' {} a -> s {jobId = a} :: UpdateClassificationJob)++-- | The new status for the job. Valid values are:+--+-- - CANCELLED - Stops the job permanently and cancels it. This value is+-- valid only if the job\'s current status is IDLE, PAUSED, RUNNING, or+-- USER_PAUSED.+--+-- If you specify this value and the job\'s current status is RUNNING,+-- Amazon Macie immediately begins to stop all processing tasks for the+-- job. You can\'t resume or restart a job after you cancel it.+--+-- - RUNNING - Resumes the job. This value is valid only if the job\'s+-- current status is USER_PAUSED.+--+-- If you paused the job while it was actively running and you specify+-- this value less than 30 days after you paused the job, Macie+-- immediately resumes processing from the point where you paused the+-- job. Otherwise, Macie resumes the job according to the schedule and+-- other settings for the job.+--+-- - USER_PAUSED - Pauses the job temporarily. This value is valid only+-- if the job\'s current status is IDLE, PAUSED, or RUNNING. If you+-- specify this value and the job\'s current status is RUNNING, Macie+-- immediately begins to pause all processing tasks for the job.+--+-- If you pause a one-time job and you don\'t resume it within 30 days,+-- the job expires and Macie cancels the job. If you pause a recurring+-- job when its status is RUNNING and you don\'t resume it within 30+-- days, the job run expires and Macie cancels the run. To check the+-- expiration date, refer to the UserPausedDetails.jobExpiresAt+-- property.+updateClassificationJob_jobStatus :: Lens.Lens' UpdateClassificationJob JobStatus+updateClassificationJob_jobStatus = Lens.lens (\UpdateClassificationJob' {jobStatus} -> jobStatus) (\s@UpdateClassificationJob' {} a -> s {jobStatus = a} :: UpdateClassificationJob)++instance Core.AWSRequest UpdateClassificationJob where+ type+ AWSResponse UpdateClassificationJob =+ UpdateClassificationJobResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateClassificationJobResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateClassificationJob where+ hashWithSalt _salt UpdateClassificationJob' {..} =+ _salt+ `Prelude.hashWithSalt` jobId+ `Prelude.hashWithSalt` jobStatus++instance Prelude.NFData UpdateClassificationJob where+ rnf UpdateClassificationJob' {..} =+ Prelude.rnf jobId+ `Prelude.seq` Prelude.rnf jobStatus++instance Data.ToHeaders UpdateClassificationJob where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateClassificationJob where+ toJSON UpdateClassificationJob' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("jobStatus" Data..= jobStatus)]+ )++instance Data.ToPath UpdateClassificationJob where+ toPath UpdateClassificationJob' {..} =+ Prelude.mconcat ["/jobs/", Data.toBS jobId]++instance Data.ToQuery UpdateClassificationJob where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateClassificationJobResponse' smart constructor.+data UpdateClassificationJobResponse = UpdateClassificationJobResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateClassificationJobResponse' 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', 'updateClassificationJobResponse_httpStatus' - The response's http status code.+newUpdateClassificationJobResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateClassificationJobResponse+newUpdateClassificationJobResponse pHttpStatus_ =+ UpdateClassificationJobResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateClassificationJobResponse_httpStatus :: Lens.Lens' UpdateClassificationJobResponse Prelude.Int+updateClassificationJobResponse_httpStatus = Lens.lens (\UpdateClassificationJobResponse' {httpStatus} -> httpStatus) (\s@UpdateClassificationJobResponse' {} a -> s {httpStatus = a} :: UpdateClassificationJobResponse)++instance+ Prelude.NFData+ UpdateClassificationJobResponse+ where+ rnf UpdateClassificationJobResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/UpdateClassificationScope.hs view
@@ -0,0 +1,176 @@+{-# 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.MacieV2.UpdateClassificationScope+-- 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 classification scope settings for an account.+module Amazonka.MacieV2.UpdateClassificationScope+ ( -- * Creating a Request+ UpdateClassificationScope (..),+ newUpdateClassificationScope,++ -- * Request Lenses+ updateClassificationScope_s3,+ updateClassificationScope_id,++ -- * Destructuring the Response+ UpdateClassificationScopeResponse (..),+ newUpdateClassificationScopeResponse,++ -- * Response Lenses+ updateClassificationScopeResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateClassificationScope' smart constructor.+data UpdateClassificationScope = UpdateClassificationScope'+ { -- | The S3 buckets to add or remove from the exclusion list defined by the+ -- classification scope.+ s3 :: Prelude.Maybe S3ClassificationScopeUpdate,+ -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateClassificationScope' 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:+--+-- 's3', 'updateClassificationScope_s3' - The S3 buckets to add or remove from the exclusion list defined by the+-- classification scope.+--+-- 'id', 'updateClassificationScope_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newUpdateClassificationScope ::+ -- | 'id'+ Prelude.Text ->+ UpdateClassificationScope+newUpdateClassificationScope pId_ =+ UpdateClassificationScope'+ { s3 = Prelude.Nothing,+ id = pId_+ }++-- | The S3 buckets to add or remove from the exclusion list defined by the+-- classification scope.+updateClassificationScope_s3 :: Lens.Lens' UpdateClassificationScope (Prelude.Maybe S3ClassificationScopeUpdate)+updateClassificationScope_s3 = Lens.lens (\UpdateClassificationScope' {s3} -> s3) (\s@UpdateClassificationScope' {} a -> s {s3 = a} :: UpdateClassificationScope)++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+updateClassificationScope_id :: Lens.Lens' UpdateClassificationScope Prelude.Text+updateClassificationScope_id = Lens.lens (\UpdateClassificationScope' {id} -> id) (\s@UpdateClassificationScope' {} a -> s {id = a} :: UpdateClassificationScope)++instance Core.AWSRequest UpdateClassificationScope where+ type+ AWSResponse UpdateClassificationScope =+ UpdateClassificationScopeResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateClassificationScopeResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateClassificationScope where+ hashWithSalt _salt UpdateClassificationScope' {..} =+ _salt+ `Prelude.hashWithSalt` s3+ `Prelude.hashWithSalt` id++instance Prelude.NFData UpdateClassificationScope where+ rnf UpdateClassificationScope' {..} =+ Prelude.rnf s3 `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders UpdateClassificationScope where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateClassificationScope where+ toJSON UpdateClassificationScope' {..} =+ Data.object+ (Prelude.catMaybes [("s3" Data..=) Prelude.<$> s3])++instance Data.ToPath UpdateClassificationScope where+ toPath UpdateClassificationScope' {..} =+ Prelude.mconcat+ ["/classification-scopes/", Data.toBS id]++instance Data.ToQuery UpdateClassificationScope where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateClassificationScopeResponse' smart constructor.+data UpdateClassificationScopeResponse = UpdateClassificationScopeResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateClassificationScopeResponse' 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', 'updateClassificationScopeResponse_httpStatus' - The response's http status code.+newUpdateClassificationScopeResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateClassificationScopeResponse+newUpdateClassificationScopeResponse pHttpStatus_ =+ UpdateClassificationScopeResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateClassificationScopeResponse_httpStatus :: Lens.Lens' UpdateClassificationScopeResponse Prelude.Int+updateClassificationScopeResponse_httpStatus = Lens.lens (\UpdateClassificationScopeResponse' {httpStatus} -> httpStatus) (\s@UpdateClassificationScopeResponse' {} a -> s {httpStatus = a} :: UpdateClassificationScopeResponse)++instance+ Prelude.NFData+ UpdateClassificationScopeResponse+ where+ rnf UpdateClassificationScopeResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/UpdateFindingsFilter.hs view
@@ -0,0 +1,317 @@+{-# 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.MacieV2.UpdateFindingsFilter+-- 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 criteria and other settings for a findings filter.+module Amazonka.MacieV2.UpdateFindingsFilter+ ( -- * Creating a Request+ UpdateFindingsFilter (..),+ newUpdateFindingsFilter,++ -- * Request Lenses+ updateFindingsFilter_action,+ updateFindingsFilter_clientToken,+ updateFindingsFilter_description,+ updateFindingsFilter_findingCriteria,+ updateFindingsFilter_name,+ updateFindingsFilter_position,+ updateFindingsFilter_id,++ -- * Destructuring the Response+ UpdateFindingsFilterResponse (..),+ newUpdateFindingsFilterResponse,++ -- * Response Lenses+ updateFindingsFilterResponse_arn,+ updateFindingsFilterResponse_id,+ updateFindingsFilterResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateFindingsFilter' smart constructor.+data UpdateFindingsFilter = UpdateFindingsFilter'+ { -- | The action to perform on findings that match the filter criteria+ -- (findingCriteria). Valid values are: ARCHIVE, suppress (automatically+ -- archive) the findings; and, NOOP, don\'t perform any action on the+ -- findings.+ action :: Prelude.Maybe FindingsFilterAction,+ -- | A unique, case-sensitive token that you provide to ensure the+ -- idempotency of the request.+ clientToken :: Prelude.Maybe Prelude.Text,+ -- | A custom description of the filter. The description can contain as many+ -- as 512 characters.+ --+ -- We strongly recommend that you avoid including any sensitive data in the+ -- description of a filter. Other users might be able to see this+ -- description, depending on the actions that they\'re allowed to perform+ -- in Amazon Macie.+ description :: Prelude.Maybe Prelude.Text,+ -- | The criteria to use to filter findings.+ findingCriteria :: Prelude.Maybe FindingCriteria,+ -- | A custom name for the filter. The name must contain at least 3+ -- characters and can contain as many as 64 characters.+ --+ -- We strongly recommend that you avoid including any sensitive data in the+ -- name of a filter. Other users might be able to see this name, depending+ -- on the actions that they\'re allowed to perform in Amazon Macie.+ name :: Prelude.Maybe Prelude.Text,+ -- | The position of the filter in the list of saved filters on the Amazon+ -- Macie console. This value also determines the order in which the filter+ -- is applied to findings, relative to other filters that are also applied+ -- to the findings.+ position :: Prelude.Maybe Prelude.Int,+ -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFindingsFilter' 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', 'updateFindingsFilter_action' - The action to perform on findings that match the filter criteria+-- (findingCriteria). Valid values are: ARCHIVE, suppress (automatically+-- archive) the findings; and, NOOP, don\'t perform any action on the+-- findings.+--+-- 'clientToken', 'updateFindingsFilter_clientToken' - A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+--+-- 'description', 'updateFindingsFilter_description' - A custom description of the filter. The description can contain as many+-- as 512 characters.+--+-- We strongly recommend that you avoid including any sensitive data in the+-- description of a filter. Other users might be able to see this+-- description, depending on the actions that they\'re allowed to perform+-- in Amazon Macie.+--+-- 'findingCriteria', 'updateFindingsFilter_findingCriteria' - The criteria to use to filter findings.+--+-- 'name', 'updateFindingsFilter_name' - A custom name for the filter. The name must contain at least 3+-- characters and can contain as many as 64 characters.+--+-- We strongly recommend that you avoid including any sensitive data in the+-- name of a filter. Other users might be able to see this name, depending+-- on the actions that they\'re allowed to perform in Amazon Macie.+--+-- 'position', 'updateFindingsFilter_position' - The position of the filter in the list of saved filters on the Amazon+-- Macie console. This value also determines the order in which the filter+-- is applied to findings, relative to other filters that are also applied+-- to the findings.+--+-- 'id', 'updateFindingsFilter_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newUpdateFindingsFilter ::+ -- | 'id'+ Prelude.Text ->+ UpdateFindingsFilter+newUpdateFindingsFilter pId_ =+ UpdateFindingsFilter'+ { action = Prelude.Nothing,+ clientToken = Prelude.Nothing,+ description = Prelude.Nothing,+ findingCriteria = Prelude.Nothing,+ name = Prelude.Nothing,+ position = Prelude.Nothing,+ id = pId_+ }++-- | The action to perform on findings that match the filter criteria+-- (findingCriteria). Valid values are: ARCHIVE, suppress (automatically+-- archive) the findings; and, NOOP, don\'t perform any action on the+-- findings.+updateFindingsFilter_action :: Lens.Lens' UpdateFindingsFilter (Prelude.Maybe FindingsFilterAction)+updateFindingsFilter_action = Lens.lens (\UpdateFindingsFilter' {action} -> action) (\s@UpdateFindingsFilter' {} a -> s {action = a} :: UpdateFindingsFilter)++-- | A unique, case-sensitive token that you provide to ensure the+-- idempotency of the request.+updateFindingsFilter_clientToken :: Lens.Lens' UpdateFindingsFilter (Prelude.Maybe Prelude.Text)+updateFindingsFilter_clientToken = Lens.lens (\UpdateFindingsFilter' {clientToken} -> clientToken) (\s@UpdateFindingsFilter' {} a -> s {clientToken = a} :: UpdateFindingsFilter)++-- | A custom description of the filter. The description can contain as many+-- as 512 characters.+--+-- We strongly recommend that you avoid including any sensitive data in the+-- description of a filter. Other users might be able to see this+-- description, depending on the actions that they\'re allowed to perform+-- in Amazon Macie.+updateFindingsFilter_description :: Lens.Lens' UpdateFindingsFilter (Prelude.Maybe Prelude.Text)+updateFindingsFilter_description = Lens.lens (\UpdateFindingsFilter' {description} -> description) (\s@UpdateFindingsFilter' {} a -> s {description = a} :: UpdateFindingsFilter)++-- | The criteria to use to filter findings.+updateFindingsFilter_findingCriteria :: Lens.Lens' UpdateFindingsFilter (Prelude.Maybe FindingCriteria)+updateFindingsFilter_findingCriteria = Lens.lens (\UpdateFindingsFilter' {findingCriteria} -> findingCriteria) (\s@UpdateFindingsFilter' {} a -> s {findingCriteria = a} :: UpdateFindingsFilter)++-- | A custom name for the filter. The name must contain at least 3+-- characters and can contain as many as 64 characters.+--+-- We strongly recommend that you avoid including any sensitive data in the+-- name of a filter. Other users might be able to see this name, depending+-- on the actions that they\'re allowed to perform in Amazon Macie.+updateFindingsFilter_name :: Lens.Lens' UpdateFindingsFilter (Prelude.Maybe Prelude.Text)+updateFindingsFilter_name = Lens.lens (\UpdateFindingsFilter' {name} -> name) (\s@UpdateFindingsFilter' {} a -> s {name = a} :: UpdateFindingsFilter)++-- | The position of the filter in the list of saved filters on the Amazon+-- Macie console. This value also determines the order in which the filter+-- is applied to findings, relative to other filters that are also applied+-- to the findings.+updateFindingsFilter_position :: Lens.Lens' UpdateFindingsFilter (Prelude.Maybe Prelude.Int)+updateFindingsFilter_position = Lens.lens (\UpdateFindingsFilter' {position} -> position) (\s@UpdateFindingsFilter' {} a -> s {position = a} :: UpdateFindingsFilter)++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+updateFindingsFilter_id :: Lens.Lens' UpdateFindingsFilter Prelude.Text+updateFindingsFilter_id = Lens.lens (\UpdateFindingsFilter' {id} -> id) (\s@UpdateFindingsFilter' {} a -> s {id = a} :: UpdateFindingsFilter)++instance Core.AWSRequest UpdateFindingsFilter where+ type+ AWSResponse UpdateFindingsFilter =+ UpdateFindingsFilterResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateFindingsFilterResponse'+ Prelude.<$> (x Data..?> "arn")+ Prelude.<*> (x Data..?> "id")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateFindingsFilter where+ hashWithSalt _salt UpdateFindingsFilter' {..} =+ _salt+ `Prelude.hashWithSalt` action+ `Prelude.hashWithSalt` clientToken+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` findingCriteria+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` position+ `Prelude.hashWithSalt` id++instance Prelude.NFData UpdateFindingsFilter where+ rnf UpdateFindingsFilter' {..} =+ Prelude.rnf action+ `Prelude.seq` Prelude.rnf clientToken+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf findingCriteria+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf position+ `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders UpdateFindingsFilter where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateFindingsFilter where+ toJSON UpdateFindingsFilter' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("action" Data..=) Prelude.<$> action,+ ("clientToken" Data..=) Prelude.<$> clientToken,+ ("description" Data..=) Prelude.<$> description,+ ("findingCriteria" Data..=)+ Prelude.<$> findingCriteria,+ ("name" Data..=) Prelude.<$> name,+ ("position" Data..=) Prelude.<$> position+ ]+ )++instance Data.ToPath UpdateFindingsFilter where+ toPath UpdateFindingsFilter' {..} =+ Prelude.mconcat ["/findingsfilters/", Data.toBS id]++instance Data.ToQuery UpdateFindingsFilter where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFindingsFilterResponse' smart constructor.+data UpdateFindingsFilterResponse = UpdateFindingsFilterResponse'+ { -- | The Amazon Resource Name (ARN) of the filter that was updated.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The unique identifier for the filter that was updated.+ id :: 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 'UpdateFindingsFilterResponse' 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', 'updateFindingsFilterResponse_arn' - The Amazon Resource Name (ARN) of the filter that was updated.+--+-- 'id', 'updateFindingsFilterResponse_id' - The unique identifier for the filter that was updated.+--+-- 'httpStatus', 'updateFindingsFilterResponse_httpStatus' - The response's http status code.+newUpdateFindingsFilterResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateFindingsFilterResponse+newUpdateFindingsFilterResponse pHttpStatus_ =+ UpdateFindingsFilterResponse'+ { arn =+ Prelude.Nothing,+ id = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the filter that was updated.+updateFindingsFilterResponse_arn :: Lens.Lens' UpdateFindingsFilterResponse (Prelude.Maybe Prelude.Text)+updateFindingsFilterResponse_arn = Lens.lens (\UpdateFindingsFilterResponse' {arn} -> arn) (\s@UpdateFindingsFilterResponse' {} a -> s {arn = a} :: UpdateFindingsFilterResponse)++-- | The unique identifier for the filter that was updated.+updateFindingsFilterResponse_id :: Lens.Lens' UpdateFindingsFilterResponse (Prelude.Maybe Prelude.Text)+updateFindingsFilterResponse_id = Lens.lens (\UpdateFindingsFilterResponse' {id} -> id) (\s@UpdateFindingsFilterResponse' {} a -> s {id = a} :: UpdateFindingsFilterResponse)++-- | The response's http status code.+updateFindingsFilterResponse_httpStatus :: Lens.Lens' UpdateFindingsFilterResponse Prelude.Int+updateFindingsFilterResponse_httpStatus = Lens.lens (\UpdateFindingsFilterResponse' {httpStatus} -> httpStatus) (\s@UpdateFindingsFilterResponse' {} a -> s {httpStatus = a} :: UpdateFindingsFilterResponse)++instance Prelude.NFData UpdateFindingsFilterResponse where+ rnf UpdateFindingsFilterResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf id+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/UpdateMacieSession.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.UpdateMacieSession+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Suspends or re-enables Amazon Macie, or updates the configuration+-- settings for a Macie account.+module Amazonka.MacieV2.UpdateMacieSession+ ( -- * Creating a Request+ UpdateMacieSession (..),+ newUpdateMacieSession,++ -- * Request Lenses+ updateMacieSession_findingPublishingFrequency,+ updateMacieSession_status,++ -- * Destructuring the Response+ UpdateMacieSessionResponse (..),+ newUpdateMacieSessionResponse,++ -- * Response Lenses+ updateMacieSessionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateMacieSession' smart constructor.+data UpdateMacieSession = UpdateMacieSession'+ { -- | Specifies how often to publish updates to policy findings for the+ -- account. This includes publishing updates to Security Hub and Amazon+ -- EventBridge (formerly Amazon CloudWatch Events).+ findingPublishingFrequency :: Prelude.Maybe FindingPublishingFrequency,+ -- | Specifies a new status for the account. Valid values are: ENABLED,+ -- resume all Amazon Macie activities for the account; and, PAUSED, suspend+ -- all Macie activities for the account.+ status :: Prelude.Maybe MacieStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateMacieSession' 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:+--+-- 'findingPublishingFrequency', 'updateMacieSession_findingPublishingFrequency' - Specifies how often to publish updates to policy findings for the+-- account. This includes publishing updates to Security Hub and Amazon+-- EventBridge (formerly Amazon CloudWatch Events).+--+-- 'status', 'updateMacieSession_status' - Specifies a new status for the account. Valid values are: ENABLED,+-- resume all Amazon Macie activities for the account; and, PAUSED, suspend+-- all Macie activities for the account.+newUpdateMacieSession ::+ UpdateMacieSession+newUpdateMacieSession =+ UpdateMacieSession'+ { findingPublishingFrequency =+ Prelude.Nothing,+ status = Prelude.Nothing+ }++-- | Specifies how often to publish updates to policy findings for the+-- account. This includes publishing updates to Security Hub and Amazon+-- EventBridge (formerly Amazon CloudWatch Events).+updateMacieSession_findingPublishingFrequency :: Lens.Lens' UpdateMacieSession (Prelude.Maybe FindingPublishingFrequency)+updateMacieSession_findingPublishingFrequency = Lens.lens (\UpdateMacieSession' {findingPublishingFrequency} -> findingPublishingFrequency) (\s@UpdateMacieSession' {} a -> s {findingPublishingFrequency = a} :: UpdateMacieSession)++-- | Specifies a new status for the account. Valid values are: ENABLED,+-- resume all Amazon Macie activities for the account; and, PAUSED, suspend+-- all Macie activities for the account.+updateMacieSession_status :: Lens.Lens' UpdateMacieSession (Prelude.Maybe MacieStatus)+updateMacieSession_status = Lens.lens (\UpdateMacieSession' {status} -> status) (\s@UpdateMacieSession' {} a -> s {status = a} :: UpdateMacieSession)++instance Core.AWSRequest UpdateMacieSession where+ type+ AWSResponse UpdateMacieSession =+ UpdateMacieSessionResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateMacieSessionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateMacieSession where+ hashWithSalt _salt UpdateMacieSession' {..} =+ _salt+ `Prelude.hashWithSalt` findingPublishingFrequency+ `Prelude.hashWithSalt` status++instance Prelude.NFData UpdateMacieSession where+ rnf UpdateMacieSession' {..} =+ Prelude.rnf findingPublishingFrequency+ `Prelude.seq` Prelude.rnf status++instance Data.ToHeaders UpdateMacieSession where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateMacieSession where+ toJSON UpdateMacieSession' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("findingPublishingFrequency" Data..=)+ Prelude.<$> findingPublishingFrequency,+ ("status" Data..=) Prelude.<$> status+ ]+ )++instance Data.ToPath UpdateMacieSession where+ toPath = Prelude.const "/macie"++instance Data.ToQuery UpdateMacieSession where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateMacieSessionResponse' smart constructor.+data UpdateMacieSessionResponse = UpdateMacieSessionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateMacieSessionResponse' 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', 'updateMacieSessionResponse_httpStatus' - The response's http status code.+newUpdateMacieSessionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateMacieSessionResponse+newUpdateMacieSessionResponse pHttpStatus_ =+ UpdateMacieSessionResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateMacieSessionResponse_httpStatus :: Lens.Lens' UpdateMacieSessionResponse Prelude.Int+updateMacieSessionResponse_httpStatus = Lens.lens (\UpdateMacieSessionResponse' {httpStatus} -> httpStatus) (\s@UpdateMacieSessionResponse' {} a -> s {httpStatus = a} :: UpdateMacieSessionResponse)++instance Prelude.NFData UpdateMacieSessionResponse where+ rnf UpdateMacieSessionResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/UpdateMemberSession.hs view
@@ -0,0 +1,177 @@+{-# 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.MacieV2.UpdateMemberSession+-- 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 Macie administrator to suspend or re-enable Macie for+-- a member account.+module Amazonka.MacieV2.UpdateMemberSession+ ( -- * Creating a Request+ UpdateMemberSession (..),+ newUpdateMemberSession,++ -- * Request Lenses+ updateMemberSession_id,+ updateMemberSession_status,++ -- * Destructuring the Response+ UpdateMemberSessionResponse (..),+ newUpdateMemberSessionResponse,++ -- * Response Lenses+ updateMemberSessionResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateMemberSession' smart constructor.+data UpdateMemberSession = UpdateMemberSession'+ { -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text,+ -- | Specifies the new status for the account. Valid values are: ENABLED,+ -- resume all Amazon Macie activities for the account; and, PAUSED, suspend+ -- all Macie activities for the account.+ status :: MacieStatus+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateMemberSession' 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', 'updateMemberSession_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+--+-- 'status', 'updateMemberSession_status' - Specifies the new status for the account. Valid values are: ENABLED,+-- resume all Amazon Macie activities for the account; and, PAUSED, suspend+-- all Macie activities for the account.+newUpdateMemberSession ::+ -- | 'id'+ Prelude.Text ->+ -- | 'status'+ MacieStatus ->+ UpdateMemberSession+newUpdateMemberSession pId_ pStatus_ =+ UpdateMemberSession' {id = pId_, status = pStatus_}++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+updateMemberSession_id :: Lens.Lens' UpdateMemberSession Prelude.Text+updateMemberSession_id = Lens.lens (\UpdateMemberSession' {id} -> id) (\s@UpdateMemberSession' {} a -> s {id = a} :: UpdateMemberSession)++-- | Specifies the new status for the account. Valid values are: ENABLED,+-- resume all Amazon Macie activities for the account; and, PAUSED, suspend+-- all Macie activities for the account.+updateMemberSession_status :: Lens.Lens' UpdateMemberSession MacieStatus+updateMemberSession_status = Lens.lens (\UpdateMemberSession' {status} -> status) (\s@UpdateMemberSession' {} a -> s {status = a} :: UpdateMemberSession)++instance Core.AWSRequest UpdateMemberSession where+ type+ AWSResponse UpdateMemberSession =+ UpdateMemberSessionResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateMemberSessionResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateMemberSession where+ hashWithSalt _salt UpdateMemberSession' {..} =+ _salt+ `Prelude.hashWithSalt` id+ `Prelude.hashWithSalt` status++instance Prelude.NFData UpdateMemberSession where+ rnf UpdateMemberSession' {..} =+ Prelude.rnf id `Prelude.seq` Prelude.rnf status++instance Data.ToHeaders UpdateMemberSession where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateMemberSession where+ toJSON UpdateMemberSession' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("status" Data..= status)]+ )++instance Data.ToPath UpdateMemberSession where+ toPath UpdateMemberSession' {..} =+ Prelude.mconcat ["/macie/members/", Data.toBS id]++instance Data.ToQuery UpdateMemberSession where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateMemberSessionResponse' smart constructor.+data UpdateMemberSessionResponse = UpdateMemberSessionResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateMemberSessionResponse' 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', 'updateMemberSessionResponse_httpStatus' - The response's http status code.+newUpdateMemberSessionResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateMemberSessionResponse+newUpdateMemberSessionResponse pHttpStatus_ =+ UpdateMemberSessionResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateMemberSessionResponse_httpStatus :: Lens.Lens' UpdateMemberSessionResponse Prelude.Int+updateMemberSessionResponse_httpStatus = Lens.lens (\UpdateMemberSessionResponse' {httpStatus} -> httpStatus) (\s@UpdateMemberSessionResponse' {} a -> s {httpStatus = a} :: UpdateMemberSessionResponse)++instance Prelude.NFData UpdateMemberSessionResponse where+ rnf UpdateMemberSessionResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/UpdateOrganizationConfiguration.hs view
@@ -0,0 +1,178 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MacieV2.UpdateOrganizationConfiguration+-- 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 Amazon Macie configuration settings for an organization in+-- Organizations.+module Amazonka.MacieV2.UpdateOrganizationConfiguration+ ( -- * Creating a Request+ UpdateOrganizationConfiguration (..),+ newUpdateOrganizationConfiguration,++ -- * Request Lenses+ updateOrganizationConfiguration_autoEnable,++ -- * Destructuring the Response+ UpdateOrganizationConfigurationResponse (..),+ newUpdateOrganizationConfigurationResponse,++ -- * Response Lenses+ updateOrganizationConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateOrganizationConfiguration' smart constructor.+data UpdateOrganizationConfiguration = UpdateOrganizationConfiguration'+ { -- | Specifies whether to enable Amazon Macie automatically for an account+ -- when the account is added to the organization in Organizations.+ autoEnable :: Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateOrganizationConfiguration' 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:+--+-- 'autoEnable', 'updateOrganizationConfiguration_autoEnable' - Specifies whether to enable Amazon Macie automatically for an account+-- when the account is added to the organization in Organizations.+newUpdateOrganizationConfiguration ::+ -- | 'autoEnable'+ Prelude.Bool ->+ UpdateOrganizationConfiguration+newUpdateOrganizationConfiguration pAutoEnable_ =+ UpdateOrganizationConfiguration'+ { autoEnable =+ pAutoEnable_+ }++-- | Specifies whether to enable Amazon Macie automatically for an account+-- when the account is added to the organization in Organizations.+updateOrganizationConfiguration_autoEnable :: Lens.Lens' UpdateOrganizationConfiguration Prelude.Bool+updateOrganizationConfiguration_autoEnable = Lens.lens (\UpdateOrganizationConfiguration' {autoEnable} -> autoEnable) (\s@UpdateOrganizationConfiguration' {} a -> s {autoEnable = a} :: UpdateOrganizationConfiguration)++instance+ Core.AWSRequest+ UpdateOrganizationConfiguration+ where+ type+ AWSResponse UpdateOrganizationConfiguration =+ UpdateOrganizationConfigurationResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateOrganizationConfigurationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ UpdateOrganizationConfiguration+ where+ hashWithSalt+ _salt+ UpdateOrganizationConfiguration' {..} =+ _salt `Prelude.hashWithSalt` autoEnable++instance+ Prelude.NFData+ UpdateOrganizationConfiguration+ where+ rnf UpdateOrganizationConfiguration' {..} =+ Prelude.rnf autoEnable++instance+ Data.ToHeaders+ UpdateOrganizationConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateOrganizationConfiguration where+ toJSON UpdateOrganizationConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("autoEnable" Data..= autoEnable)]+ )++instance Data.ToPath UpdateOrganizationConfiguration where+ toPath = Prelude.const "/admin/configuration"++instance Data.ToQuery UpdateOrganizationConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateOrganizationConfigurationResponse' smart constructor.+data UpdateOrganizationConfigurationResponse = UpdateOrganizationConfigurationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateOrganizationConfigurationResponse' 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', 'updateOrganizationConfigurationResponse_httpStatus' - The response's http status code.+newUpdateOrganizationConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateOrganizationConfigurationResponse+newUpdateOrganizationConfigurationResponse+ pHttpStatus_ =+ UpdateOrganizationConfigurationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateOrganizationConfigurationResponse_httpStatus :: Lens.Lens' UpdateOrganizationConfigurationResponse Prelude.Int+updateOrganizationConfigurationResponse_httpStatus = Lens.lens (\UpdateOrganizationConfigurationResponse' {httpStatus} -> httpStatus) (\s@UpdateOrganizationConfigurationResponse' {} a -> s {httpStatus = a} :: UpdateOrganizationConfigurationResponse)++instance+ Prelude.NFData+ UpdateOrganizationConfigurationResponse+ where+ rnf UpdateOrganizationConfigurationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/UpdateResourceProfile.hs view
@@ -0,0 +1,184 @@+{-# 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.MacieV2.UpdateResourceProfile+-- 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 sensitivity score for an S3 bucket.+module Amazonka.MacieV2.UpdateResourceProfile+ ( -- * Creating a Request+ UpdateResourceProfile (..),+ newUpdateResourceProfile,++ -- * Request Lenses+ updateResourceProfile_sensitivityScoreOverride,+ updateResourceProfile_resourceArn,++ -- * Destructuring the Response+ UpdateResourceProfileResponse (..),+ newUpdateResourceProfileResponse,++ -- * Response Lenses+ updateResourceProfileResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateResourceProfile' smart constructor.+data UpdateResourceProfile = UpdateResourceProfile'+ { -- | The new sensitivity score for the bucket. Valid values are: 100, assign+ -- the maximum score and apply the /Sensitive/ label to the bucket; and,+ -- null (empty), assign a score that Amazon Macie calculates automatically+ -- after you submit the request.+ sensitivityScoreOverride :: Prelude.Maybe Prelude.Int,+ -- | The Amazon Resource Name (ARN) of the S3 bucket that the request applies+ -- to.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResourceProfile' 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:+--+-- 'sensitivityScoreOverride', 'updateResourceProfile_sensitivityScoreOverride' - The new sensitivity score for the bucket. Valid values are: 100, assign+-- the maximum score and apply the /Sensitive/ label to the bucket; and,+-- null (empty), assign a score that Amazon Macie calculates automatically+-- after you submit the request.+--+-- 'resourceArn', 'updateResourceProfile_resourceArn' - The Amazon Resource Name (ARN) of the S3 bucket that the request applies+-- to.+newUpdateResourceProfile ::+ -- | 'resourceArn'+ Prelude.Text ->+ UpdateResourceProfile+newUpdateResourceProfile pResourceArn_ =+ UpdateResourceProfile'+ { sensitivityScoreOverride =+ Prelude.Nothing,+ resourceArn = pResourceArn_+ }++-- | The new sensitivity score for the bucket. Valid values are: 100, assign+-- the maximum score and apply the /Sensitive/ label to the bucket; and,+-- null (empty), assign a score that Amazon Macie calculates automatically+-- after you submit the request.+updateResourceProfile_sensitivityScoreOverride :: Lens.Lens' UpdateResourceProfile (Prelude.Maybe Prelude.Int)+updateResourceProfile_sensitivityScoreOverride = Lens.lens (\UpdateResourceProfile' {sensitivityScoreOverride} -> sensitivityScoreOverride) (\s@UpdateResourceProfile' {} a -> s {sensitivityScoreOverride = a} :: UpdateResourceProfile)++-- | The Amazon Resource Name (ARN) of the S3 bucket that the request applies+-- to.+updateResourceProfile_resourceArn :: Lens.Lens' UpdateResourceProfile Prelude.Text+updateResourceProfile_resourceArn = Lens.lens (\UpdateResourceProfile' {resourceArn} -> resourceArn) (\s@UpdateResourceProfile' {} a -> s {resourceArn = a} :: UpdateResourceProfile)++instance Core.AWSRequest UpdateResourceProfile where+ type+ AWSResponse UpdateResourceProfile =+ UpdateResourceProfileResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateResourceProfileResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateResourceProfile where+ hashWithSalt _salt UpdateResourceProfile' {..} =+ _salt+ `Prelude.hashWithSalt` sensitivityScoreOverride+ `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData UpdateResourceProfile where+ rnf UpdateResourceProfile' {..} =+ Prelude.rnf sensitivityScoreOverride+ `Prelude.seq` Prelude.rnf resourceArn++instance Data.ToHeaders UpdateResourceProfile where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateResourceProfile where+ toJSON UpdateResourceProfile' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("sensitivityScoreOverride" Data..=)+ Prelude.<$> sensitivityScoreOverride+ ]+ )++instance Data.ToPath UpdateResourceProfile where+ toPath = Prelude.const "/resource-profiles"++instance Data.ToQuery UpdateResourceProfile where+ toQuery UpdateResourceProfile' {..} =+ Prelude.mconcat ["resourceArn" Data.=: resourceArn]++-- | /See:/ 'newUpdateResourceProfileResponse' smart constructor.+data UpdateResourceProfileResponse = UpdateResourceProfileResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResourceProfileResponse' 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', 'updateResourceProfileResponse_httpStatus' - The response's http status code.+newUpdateResourceProfileResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateResourceProfileResponse+newUpdateResourceProfileResponse pHttpStatus_ =+ UpdateResourceProfileResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateResourceProfileResponse_httpStatus :: Lens.Lens' UpdateResourceProfileResponse Prelude.Int+updateResourceProfileResponse_httpStatus = Lens.lens (\UpdateResourceProfileResponse' {httpStatus} -> httpStatus) (\s@UpdateResourceProfileResponse' {} a -> s {httpStatus = a} :: UpdateResourceProfileResponse)++instance Prelude.NFData UpdateResourceProfileResponse where+ rnf UpdateResourceProfileResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/UpdateResourceProfileDetections.hs view
@@ -0,0 +1,203 @@+{-# 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.MacieV2.UpdateResourceProfileDetections+-- 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 sensitivity scoring settings for an S3 bucket.+module Amazonka.MacieV2.UpdateResourceProfileDetections+ ( -- * Creating a Request+ UpdateResourceProfileDetections (..),+ newUpdateResourceProfileDetections,++ -- * Request Lenses+ updateResourceProfileDetections_suppressDataIdentifiers,+ updateResourceProfileDetections_resourceArn,++ -- * Destructuring the Response+ UpdateResourceProfileDetectionsResponse (..),+ newUpdateResourceProfileDetectionsResponse,++ -- * Response Lenses+ updateResourceProfileDetectionsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateResourceProfileDetections' smart constructor.+data UpdateResourceProfileDetections = UpdateResourceProfileDetections'+ { -- | An array of objects, one for each custom data identifier or managed data+ -- identifier that detected the type of sensitive data to start excluding+ -- or including in the bucket\'s score. To start including all sensitive+ -- data types in the score, don\'t specify any values for this array.+ suppressDataIdentifiers :: Prelude.Maybe [SuppressDataIdentifier],+ -- | The Amazon Resource Name (ARN) of the S3 bucket that the request applies+ -- to.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResourceProfileDetections' 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:+--+-- 'suppressDataIdentifiers', 'updateResourceProfileDetections_suppressDataIdentifiers' - An array of objects, one for each custom data identifier or managed data+-- identifier that detected the type of sensitive data to start excluding+-- or including in the bucket\'s score. To start including all sensitive+-- data types in the score, don\'t specify any values for this array.+--+-- 'resourceArn', 'updateResourceProfileDetections_resourceArn' - The Amazon Resource Name (ARN) of the S3 bucket that the request applies+-- to.+newUpdateResourceProfileDetections ::+ -- | 'resourceArn'+ Prelude.Text ->+ UpdateResourceProfileDetections+newUpdateResourceProfileDetections pResourceArn_ =+ UpdateResourceProfileDetections'+ { suppressDataIdentifiers =+ Prelude.Nothing,+ resourceArn = pResourceArn_+ }++-- | An array of objects, one for each custom data identifier or managed data+-- identifier that detected the type of sensitive data to start excluding+-- or including in the bucket\'s score. To start including all sensitive+-- data types in the score, don\'t specify any values for this array.+updateResourceProfileDetections_suppressDataIdentifiers :: Lens.Lens' UpdateResourceProfileDetections (Prelude.Maybe [SuppressDataIdentifier])+updateResourceProfileDetections_suppressDataIdentifiers = Lens.lens (\UpdateResourceProfileDetections' {suppressDataIdentifiers} -> suppressDataIdentifiers) (\s@UpdateResourceProfileDetections' {} a -> s {suppressDataIdentifiers = a} :: UpdateResourceProfileDetections) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the S3 bucket that the request applies+-- to.+updateResourceProfileDetections_resourceArn :: Lens.Lens' UpdateResourceProfileDetections Prelude.Text+updateResourceProfileDetections_resourceArn = Lens.lens (\UpdateResourceProfileDetections' {resourceArn} -> resourceArn) (\s@UpdateResourceProfileDetections' {} a -> s {resourceArn = a} :: UpdateResourceProfileDetections)++instance+ Core.AWSRequest+ UpdateResourceProfileDetections+ where+ type+ AWSResponse UpdateResourceProfileDetections =+ UpdateResourceProfileDetectionsResponse+ request overrides =+ Request.patchJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateResourceProfileDetectionsResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ UpdateResourceProfileDetections+ where+ hashWithSalt+ _salt+ UpdateResourceProfileDetections' {..} =+ _salt+ `Prelude.hashWithSalt` suppressDataIdentifiers+ `Prelude.hashWithSalt` resourceArn++instance+ Prelude.NFData+ UpdateResourceProfileDetections+ where+ rnf UpdateResourceProfileDetections' {..} =+ Prelude.rnf suppressDataIdentifiers+ `Prelude.seq` Prelude.rnf resourceArn++instance+ Data.ToHeaders+ UpdateResourceProfileDetections+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateResourceProfileDetections where+ toJSON UpdateResourceProfileDetections' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("suppressDataIdentifiers" Data..=)+ Prelude.<$> suppressDataIdentifiers+ ]+ )++instance Data.ToPath UpdateResourceProfileDetections where+ toPath =+ Prelude.const "/resource-profiles/detections"++instance Data.ToQuery UpdateResourceProfileDetections where+ toQuery UpdateResourceProfileDetections' {..} =+ Prelude.mconcat ["resourceArn" Data.=: resourceArn]++-- | /See:/ 'newUpdateResourceProfileDetectionsResponse' smart constructor.+data UpdateResourceProfileDetectionsResponse = UpdateResourceProfileDetectionsResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResourceProfileDetectionsResponse' 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', 'updateResourceProfileDetectionsResponse_httpStatus' - The response's http status code.+newUpdateResourceProfileDetectionsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateResourceProfileDetectionsResponse+newUpdateResourceProfileDetectionsResponse+ pHttpStatus_ =+ UpdateResourceProfileDetectionsResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateResourceProfileDetectionsResponse_httpStatus :: Lens.Lens' UpdateResourceProfileDetectionsResponse Prelude.Int+updateResourceProfileDetectionsResponse_httpStatus = Lens.lens (\UpdateResourceProfileDetectionsResponse' {httpStatus} -> httpStatus) (\s@UpdateResourceProfileDetectionsResponse' {} a -> s {httpStatus = a} :: UpdateResourceProfileDetectionsResponse)++instance+ Prelude.NFData+ UpdateResourceProfileDetectionsResponse+ where+ rnf UpdateResourceProfileDetectionsResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/UpdateRevealConfiguration.hs view
@@ -0,0 +1,180 @@+{-# 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.MacieV2.UpdateRevealConfiguration+-- 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 and configuration settings for retrieving occurrences+-- of sensitive data reported by findings.+module Amazonka.MacieV2.UpdateRevealConfiguration+ ( -- * Creating a Request+ UpdateRevealConfiguration (..),+ newUpdateRevealConfiguration,++ -- * Request Lenses+ updateRevealConfiguration_configuration,++ -- * Destructuring the Response+ UpdateRevealConfigurationResponse (..),+ newUpdateRevealConfigurationResponse,++ -- * Response Lenses+ updateRevealConfigurationResponse_configuration,+ updateRevealConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateRevealConfiguration' smart constructor.+data UpdateRevealConfiguration = UpdateRevealConfiguration'+ { -- | The new configuration settings and the status of the configuration for+ -- the account.+ configuration :: RevealConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRevealConfiguration' 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:+--+-- 'configuration', 'updateRevealConfiguration_configuration' - The new configuration settings and the status of the configuration for+-- the account.+newUpdateRevealConfiguration ::+ -- | 'configuration'+ RevealConfiguration ->+ UpdateRevealConfiguration+newUpdateRevealConfiguration pConfiguration_ =+ UpdateRevealConfiguration'+ { configuration =+ pConfiguration_+ }++-- | The new configuration settings and the status of the configuration for+-- the account.+updateRevealConfiguration_configuration :: Lens.Lens' UpdateRevealConfiguration RevealConfiguration+updateRevealConfiguration_configuration = Lens.lens (\UpdateRevealConfiguration' {configuration} -> configuration) (\s@UpdateRevealConfiguration' {} a -> s {configuration = a} :: UpdateRevealConfiguration)++instance Core.AWSRequest UpdateRevealConfiguration where+ type+ AWSResponse UpdateRevealConfiguration =+ UpdateRevealConfigurationResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateRevealConfigurationResponse'+ Prelude.<$> (x Data..?> "configuration")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateRevealConfiguration where+ hashWithSalt _salt UpdateRevealConfiguration' {..} =+ _salt `Prelude.hashWithSalt` configuration++instance Prelude.NFData UpdateRevealConfiguration where+ rnf UpdateRevealConfiguration' {..} =+ Prelude.rnf configuration++instance Data.ToHeaders UpdateRevealConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateRevealConfiguration where+ toJSON UpdateRevealConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("configuration" Data..= configuration)+ ]+ )++instance Data.ToPath UpdateRevealConfiguration where+ toPath = Prelude.const "/reveal-configuration"++instance Data.ToQuery UpdateRevealConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateRevealConfigurationResponse' smart constructor.+data UpdateRevealConfigurationResponse = UpdateRevealConfigurationResponse'+ { -- | The new configuration settings and the status of the configuration for+ -- the account.+ configuration :: Prelude.Maybe RevealConfiguration,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRevealConfigurationResponse' 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:+--+-- 'configuration', 'updateRevealConfigurationResponse_configuration' - The new configuration settings and the status of the configuration for+-- the account.+--+-- 'httpStatus', 'updateRevealConfigurationResponse_httpStatus' - The response's http status code.+newUpdateRevealConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateRevealConfigurationResponse+newUpdateRevealConfigurationResponse pHttpStatus_ =+ UpdateRevealConfigurationResponse'+ { configuration =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The new configuration settings and the status of the configuration for+-- the account.+updateRevealConfigurationResponse_configuration :: Lens.Lens' UpdateRevealConfigurationResponse (Prelude.Maybe RevealConfiguration)+updateRevealConfigurationResponse_configuration = Lens.lens (\UpdateRevealConfigurationResponse' {configuration} -> configuration) (\s@UpdateRevealConfigurationResponse' {} a -> s {configuration = a} :: UpdateRevealConfigurationResponse)++-- | The response's http status code.+updateRevealConfigurationResponse_httpStatus :: Lens.Lens' UpdateRevealConfigurationResponse Prelude.Int+updateRevealConfigurationResponse_httpStatus = Lens.lens (\UpdateRevealConfigurationResponse' {httpStatus} -> httpStatus) (\s@UpdateRevealConfigurationResponse' {} a -> s {httpStatus = a} :: UpdateRevealConfigurationResponse)++instance+ Prelude.NFData+ UpdateRevealConfigurationResponse+ where+ rnf UpdateRevealConfigurationResponse' {..} =+ Prelude.rnf configuration+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/UpdateSensitivityInspectionTemplate.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.MacieV2.UpdateSensitivityInspectionTemplate+-- 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 settings for the sensitivity inspection template for an+-- account.+module Amazonka.MacieV2.UpdateSensitivityInspectionTemplate+ ( -- * Creating a Request+ UpdateSensitivityInspectionTemplate (..),+ newUpdateSensitivityInspectionTemplate,++ -- * Request Lenses+ updateSensitivityInspectionTemplate_description,+ updateSensitivityInspectionTemplate_excludes,+ updateSensitivityInspectionTemplate_includes,+ updateSensitivityInspectionTemplate_id,++ -- * Destructuring the Response+ UpdateSensitivityInspectionTemplateResponse (..),+ newUpdateSensitivityInspectionTemplateResponse,++ -- * Response Lenses+ updateSensitivityInspectionTemplateResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateSensitivityInspectionTemplate' smart constructor.+data UpdateSensitivityInspectionTemplate = UpdateSensitivityInspectionTemplate'+ { -- | A custom description of the template.+ description :: Prelude.Maybe Prelude.Text,+ -- | The managed data identifiers to explicitly exclude (not use) when+ -- analyzing data.+ --+ -- To exclude an allow list or custom data identifier that\'s currently+ -- included by the template, update the values for the+ -- SensitivityInspectionTemplateIncludes.allowListIds and+ -- SensitivityInspectionTemplateIncludes.customDataIdentifierIds+ -- properties, respectively.+ excludes :: Prelude.Maybe SensitivityInspectionTemplateExcludes,+ -- | The allow lists, custom data identifiers, and managed data identifiers+ -- to include (use) when analyzing data.+ includes :: Prelude.Maybe SensitivityInspectionTemplateIncludes,+ -- | The unique identifier for the Amazon Macie resource that the request+ -- applies to.+ id :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSensitivityInspectionTemplate' 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', 'updateSensitivityInspectionTemplate_description' - A custom description of the template.+--+-- 'excludes', 'updateSensitivityInspectionTemplate_excludes' - The managed data identifiers to explicitly exclude (not use) when+-- analyzing data.+--+-- To exclude an allow list or custom data identifier that\'s currently+-- included by the template, update the values for the+-- SensitivityInspectionTemplateIncludes.allowListIds and+-- SensitivityInspectionTemplateIncludes.customDataIdentifierIds+-- properties, respectively.+--+-- 'includes', 'updateSensitivityInspectionTemplate_includes' - The allow lists, custom data identifiers, and managed data identifiers+-- to include (use) when analyzing data.+--+-- 'id', 'updateSensitivityInspectionTemplate_id' - The unique identifier for the Amazon Macie resource that the request+-- applies to.+newUpdateSensitivityInspectionTemplate ::+ -- | 'id'+ Prelude.Text ->+ UpdateSensitivityInspectionTemplate+newUpdateSensitivityInspectionTemplate pId_ =+ UpdateSensitivityInspectionTemplate'+ { description =+ Prelude.Nothing,+ excludes = Prelude.Nothing,+ includes = Prelude.Nothing,+ id = pId_+ }++-- | A custom description of the template.+updateSensitivityInspectionTemplate_description :: Lens.Lens' UpdateSensitivityInspectionTemplate (Prelude.Maybe Prelude.Text)+updateSensitivityInspectionTemplate_description = Lens.lens (\UpdateSensitivityInspectionTemplate' {description} -> description) (\s@UpdateSensitivityInspectionTemplate' {} a -> s {description = a} :: UpdateSensitivityInspectionTemplate)++-- | The managed data identifiers to explicitly exclude (not use) when+-- analyzing data.+--+-- To exclude an allow list or custom data identifier that\'s currently+-- included by the template, update the values for the+-- SensitivityInspectionTemplateIncludes.allowListIds and+-- SensitivityInspectionTemplateIncludes.customDataIdentifierIds+-- properties, respectively.+updateSensitivityInspectionTemplate_excludes :: Lens.Lens' UpdateSensitivityInspectionTemplate (Prelude.Maybe SensitivityInspectionTemplateExcludes)+updateSensitivityInspectionTemplate_excludes = Lens.lens (\UpdateSensitivityInspectionTemplate' {excludes} -> excludes) (\s@UpdateSensitivityInspectionTemplate' {} a -> s {excludes = a} :: UpdateSensitivityInspectionTemplate)++-- | The allow lists, custom data identifiers, and managed data identifiers+-- to include (use) when analyzing data.+updateSensitivityInspectionTemplate_includes :: Lens.Lens' UpdateSensitivityInspectionTemplate (Prelude.Maybe SensitivityInspectionTemplateIncludes)+updateSensitivityInspectionTemplate_includes = Lens.lens (\UpdateSensitivityInspectionTemplate' {includes} -> includes) (\s@UpdateSensitivityInspectionTemplate' {} a -> s {includes = a} :: UpdateSensitivityInspectionTemplate)++-- | The unique identifier for the Amazon Macie resource that the request+-- applies to.+updateSensitivityInspectionTemplate_id :: Lens.Lens' UpdateSensitivityInspectionTemplate Prelude.Text+updateSensitivityInspectionTemplate_id = Lens.lens (\UpdateSensitivityInspectionTemplate' {id} -> id) (\s@UpdateSensitivityInspectionTemplate' {} a -> s {id = a} :: UpdateSensitivityInspectionTemplate)++instance+ Core.AWSRequest+ UpdateSensitivityInspectionTemplate+ where+ type+ AWSResponse UpdateSensitivityInspectionTemplate =+ UpdateSensitivityInspectionTemplateResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ UpdateSensitivityInspectionTemplateResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance+ Prelude.Hashable+ UpdateSensitivityInspectionTemplate+ where+ hashWithSalt+ _salt+ UpdateSensitivityInspectionTemplate' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` excludes+ `Prelude.hashWithSalt` includes+ `Prelude.hashWithSalt` id++instance+ Prelude.NFData+ UpdateSensitivityInspectionTemplate+ where+ rnf UpdateSensitivityInspectionTemplate' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf excludes+ `Prelude.seq` Prelude.rnf includes+ `Prelude.seq` Prelude.rnf id++instance+ Data.ToHeaders+ UpdateSensitivityInspectionTemplate+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ UpdateSensitivityInspectionTemplate+ where+ toJSON UpdateSensitivityInspectionTemplate' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("excludes" Data..=) Prelude.<$> excludes,+ ("includes" Data..=) Prelude.<$> includes+ ]+ )++instance+ Data.ToPath+ UpdateSensitivityInspectionTemplate+ where+ toPath UpdateSensitivityInspectionTemplate' {..} =+ Prelude.mconcat+ ["/templates/sensitivity-inspections/", Data.toBS id]++instance+ Data.ToQuery+ UpdateSensitivityInspectionTemplate+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSensitivityInspectionTemplateResponse' smart constructor.+data UpdateSensitivityInspectionTemplateResponse = UpdateSensitivityInspectionTemplateResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSensitivityInspectionTemplateResponse' 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', 'updateSensitivityInspectionTemplateResponse_httpStatus' - The response's http status code.+newUpdateSensitivityInspectionTemplateResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateSensitivityInspectionTemplateResponse+newUpdateSensitivityInspectionTemplateResponse+ pHttpStatus_ =+ UpdateSensitivityInspectionTemplateResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+updateSensitivityInspectionTemplateResponse_httpStatus :: Lens.Lens' UpdateSensitivityInspectionTemplateResponse Prelude.Int+updateSensitivityInspectionTemplateResponse_httpStatus = Lens.lens (\UpdateSensitivityInspectionTemplateResponse' {httpStatus} -> httpStatus) (\s@UpdateSensitivityInspectionTemplateResponse' {} a -> s {httpStatus = a} :: UpdateSensitivityInspectionTemplateResponse)++instance+ Prelude.NFData+ UpdateSensitivityInspectionTemplateResponse+ where+ rnf UpdateSensitivityInspectionTemplateResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MacieV2/Waiters.hs view
@@ -0,0 +1,50 @@+{-# 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.MacieV2.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.MacieV2.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MacieV2.GetSensitiveDataOccurrences+import Amazonka.MacieV2.Lens+import Amazonka.MacieV2.Types+import qualified Amazonka.Prelude as Prelude++-- | Polls 'Amazonka.MacieV2.GetSensitiveDataOccurrences' every 2 seconds until a successful state is reached. An error is returned after 60 failed checks.+newFindingRevealed :: Core.Wait GetSensitiveDataOccurrences+newFindingRevealed =+ Core.Wait+ { Core.name = "FindingRevealed",+ Core.attempts = 60,+ Core.delay = 2,+ Core.acceptors =+ [ Core.matchAll+ "SUCCESS"+ Core.AcceptSuccess+ ( getSensitiveDataOccurrencesResponse_status+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "ERROR"+ Core.AcceptSuccess+ ( getSensitiveDataOccurrencesResponse_status+ Prelude.. Lens._Just+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }
+ 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.MacieV2+import Test.Amazonka.MacieV2.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "MacieV2"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/MacieV2.hs view
@@ -0,0 +1,1618 @@+{-# 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.MacieV2+-- 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.MacieV2 where++import Amazonka.MacieV2+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.MacieV2.Internal+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"+-- [ requestAcceptInvitation $+-- newAcceptInvitation+--+-- , requestBatchGetCustomDataIdentifiers $+-- newBatchGetCustomDataIdentifiers+--+-- , requestCreateAllowList $+-- newCreateAllowList+--+-- , requestCreateClassificationJob $+-- newCreateClassificationJob+--+-- , requestCreateCustomDataIdentifier $+-- newCreateCustomDataIdentifier+--+-- , requestCreateFindingsFilter $+-- newCreateFindingsFilter+--+-- , requestCreateInvitations $+-- newCreateInvitations+--+-- , requestCreateMember $+-- newCreateMember+--+-- , requestCreateSampleFindings $+-- newCreateSampleFindings+--+-- , requestDeclineInvitations $+-- newDeclineInvitations+--+-- , requestDeleteAllowList $+-- newDeleteAllowList+--+-- , requestDeleteCustomDataIdentifier $+-- newDeleteCustomDataIdentifier+--+-- , requestDeleteFindingsFilter $+-- newDeleteFindingsFilter+--+-- , requestDeleteInvitations $+-- newDeleteInvitations+--+-- , requestDeleteMember $+-- newDeleteMember+--+-- , requestDescribeBuckets $+-- newDescribeBuckets+--+-- , requestDescribeClassificationJob $+-- newDescribeClassificationJob+--+-- , requestDescribeOrganizationConfiguration $+-- newDescribeOrganizationConfiguration+--+-- , requestDisableMacie $+-- newDisableMacie+--+-- , requestDisableOrganizationAdminAccount $+-- newDisableOrganizationAdminAccount+--+-- , requestDisassociateFromAdministratorAccount $+-- newDisassociateFromAdministratorAccount+--+-- , requestDisassociateFromMasterAccount $+-- newDisassociateFromMasterAccount+--+-- , requestDisassociateMember $+-- newDisassociateMember+--+-- , requestEnableMacie $+-- newEnableMacie+--+-- , requestEnableOrganizationAdminAccount $+-- newEnableOrganizationAdminAccount+--+-- , requestGetAdministratorAccount $+-- newGetAdministratorAccount+--+-- , requestGetAllowList $+-- newGetAllowList+--+-- , requestGetAutomatedDiscoveryConfiguration $+-- newGetAutomatedDiscoveryConfiguration+--+-- , requestGetBucketStatistics $+-- newGetBucketStatistics+--+-- , requestGetClassificationExportConfiguration $+-- newGetClassificationExportConfiguration+--+-- , requestGetClassificationScope $+-- newGetClassificationScope+--+-- , requestGetCustomDataIdentifier $+-- newGetCustomDataIdentifier+--+-- , requestGetFindingStatistics $+-- newGetFindingStatistics+--+-- , requestGetFindings $+-- newGetFindings+--+-- , requestGetFindingsFilter $+-- newGetFindingsFilter+--+-- , requestGetFindingsPublicationConfiguration $+-- newGetFindingsPublicationConfiguration+--+-- , requestGetInvitationsCount $+-- newGetInvitationsCount+--+-- , requestGetMacieSession $+-- newGetMacieSession+--+-- , requestGetMasterAccount $+-- newGetMasterAccount+--+-- , requestGetMember $+-- newGetMember+--+-- , requestGetResourceProfile $+-- newGetResourceProfile+--+-- , requestGetRevealConfiguration $+-- newGetRevealConfiguration+--+-- , requestGetSensitiveDataOccurrences $+-- newGetSensitiveDataOccurrences+--+-- , requestGetSensitiveDataOccurrencesAvailability $+-- newGetSensitiveDataOccurrencesAvailability+--+-- , requestGetSensitivityInspectionTemplate $+-- newGetSensitivityInspectionTemplate+--+-- , requestGetUsageStatistics $+-- newGetUsageStatistics+--+-- , requestGetUsageTotals $+-- newGetUsageTotals+--+-- , requestListAllowLists $+-- newListAllowLists+--+-- , requestListClassificationJobs $+-- newListClassificationJobs+--+-- , requestListClassificationScopes $+-- newListClassificationScopes+--+-- , requestListCustomDataIdentifiers $+-- newListCustomDataIdentifiers+--+-- , requestListFindings $+-- newListFindings+--+-- , requestListFindingsFilters $+-- newListFindingsFilters+--+-- , requestListInvitations $+-- newListInvitations+--+-- , requestListManagedDataIdentifiers $+-- newListManagedDataIdentifiers+--+-- , requestListMembers $+-- newListMembers+--+-- , requestListOrganizationAdminAccounts $+-- newListOrganizationAdminAccounts+--+-- , requestListResourceProfileArtifacts $+-- newListResourceProfileArtifacts+--+-- , requestListResourceProfileDetections $+-- newListResourceProfileDetections+--+-- , requestListSensitivityInspectionTemplates $+-- newListSensitivityInspectionTemplates+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestPutClassificationExportConfiguration $+-- newPutClassificationExportConfiguration+--+-- , requestPutFindingsPublicationConfiguration $+-- newPutFindingsPublicationConfiguration+--+-- , requestSearchResources $+-- newSearchResources+--+-- , requestTagResource $+-- newTagResource+--+-- , requestTestCustomDataIdentifier $+-- newTestCustomDataIdentifier+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateAllowList $+-- newUpdateAllowList+--+-- , requestUpdateAutomatedDiscoveryConfiguration $+-- newUpdateAutomatedDiscoveryConfiguration+--+-- , requestUpdateClassificationJob $+-- newUpdateClassificationJob+--+-- , requestUpdateClassificationScope $+-- newUpdateClassificationScope+--+-- , requestUpdateFindingsFilter $+-- newUpdateFindingsFilter+--+-- , requestUpdateMacieSession $+-- newUpdateMacieSession+--+-- , requestUpdateMemberSession $+-- newUpdateMemberSession+--+-- , requestUpdateOrganizationConfiguration $+-- newUpdateOrganizationConfiguration+--+-- , requestUpdateResourceProfile $+-- newUpdateResourceProfile+--+-- , requestUpdateResourceProfileDetections $+-- newUpdateResourceProfileDetections+--+-- , requestUpdateRevealConfiguration $+-- newUpdateRevealConfiguration+--+-- , requestUpdateSensitivityInspectionTemplate $+-- newUpdateSensitivityInspectionTemplate+--+-- ]++-- , testGroup "response"+-- [ responseAcceptInvitation $+-- newAcceptInvitationResponse+--+-- , responseBatchGetCustomDataIdentifiers $+-- newBatchGetCustomDataIdentifiersResponse+--+-- , responseCreateAllowList $+-- newCreateAllowListResponse+--+-- , responseCreateClassificationJob $+-- newCreateClassificationJobResponse+--+-- , responseCreateCustomDataIdentifier $+-- newCreateCustomDataIdentifierResponse+--+-- , responseCreateFindingsFilter $+-- newCreateFindingsFilterResponse+--+-- , responseCreateInvitations $+-- newCreateInvitationsResponse+--+-- , responseCreateMember $+-- newCreateMemberResponse+--+-- , responseCreateSampleFindings $+-- newCreateSampleFindingsResponse+--+-- , responseDeclineInvitations $+-- newDeclineInvitationsResponse+--+-- , responseDeleteAllowList $+-- newDeleteAllowListResponse+--+-- , responseDeleteCustomDataIdentifier $+-- newDeleteCustomDataIdentifierResponse+--+-- , responseDeleteFindingsFilter $+-- newDeleteFindingsFilterResponse+--+-- , responseDeleteInvitations $+-- newDeleteInvitationsResponse+--+-- , responseDeleteMember $+-- newDeleteMemberResponse+--+-- , responseDescribeBuckets $+-- newDescribeBucketsResponse+--+-- , responseDescribeClassificationJob $+-- newDescribeClassificationJobResponse+--+-- , responseDescribeOrganizationConfiguration $+-- newDescribeOrganizationConfigurationResponse+--+-- , responseDisableMacie $+-- newDisableMacieResponse+--+-- , responseDisableOrganizationAdminAccount $+-- newDisableOrganizationAdminAccountResponse+--+-- , responseDisassociateFromAdministratorAccount $+-- newDisassociateFromAdministratorAccountResponse+--+-- , responseDisassociateFromMasterAccount $+-- newDisassociateFromMasterAccountResponse+--+-- , responseDisassociateMember $+-- newDisassociateMemberResponse+--+-- , responseEnableMacie $+-- newEnableMacieResponse+--+-- , responseEnableOrganizationAdminAccount $+-- newEnableOrganizationAdminAccountResponse+--+-- , responseGetAdministratorAccount $+-- newGetAdministratorAccountResponse+--+-- , responseGetAllowList $+-- newGetAllowListResponse+--+-- , responseGetAutomatedDiscoveryConfiguration $+-- newGetAutomatedDiscoveryConfigurationResponse+--+-- , responseGetBucketStatistics $+-- newGetBucketStatisticsResponse+--+-- , responseGetClassificationExportConfiguration $+-- newGetClassificationExportConfigurationResponse+--+-- , responseGetClassificationScope $+-- newGetClassificationScopeResponse+--+-- , responseGetCustomDataIdentifier $+-- newGetCustomDataIdentifierResponse+--+-- , responseGetFindingStatistics $+-- newGetFindingStatisticsResponse+--+-- , responseGetFindings $+-- newGetFindingsResponse+--+-- , responseGetFindingsFilter $+-- newGetFindingsFilterResponse+--+-- , responseGetFindingsPublicationConfiguration $+-- newGetFindingsPublicationConfigurationResponse+--+-- , responseGetInvitationsCount $+-- newGetInvitationsCountResponse+--+-- , responseGetMacieSession $+-- newGetMacieSessionResponse+--+-- , responseGetMasterAccount $+-- newGetMasterAccountResponse+--+-- , responseGetMember $+-- newGetMemberResponse+--+-- , responseGetResourceProfile $+-- newGetResourceProfileResponse+--+-- , responseGetRevealConfiguration $+-- newGetRevealConfigurationResponse+--+-- , responseGetSensitiveDataOccurrences $+-- newGetSensitiveDataOccurrencesResponse+--+-- , responseGetSensitiveDataOccurrencesAvailability $+-- newGetSensitiveDataOccurrencesAvailabilityResponse+--+-- , responseGetSensitivityInspectionTemplate $+-- newGetSensitivityInspectionTemplateResponse+--+-- , responseGetUsageStatistics $+-- newGetUsageStatisticsResponse+--+-- , responseGetUsageTotals $+-- newGetUsageTotalsResponse+--+-- , responseListAllowLists $+-- newListAllowListsResponse+--+-- , responseListClassificationJobs $+-- newListClassificationJobsResponse+--+-- , responseListClassificationScopes $+-- newListClassificationScopesResponse+--+-- , responseListCustomDataIdentifiers $+-- newListCustomDataIdentifiersResponse+--+-- , responseListFindings $+-- newListFindingsResponse+--+-- , responseListFindingsFilters $+-- newListFindingsFiltersResponse+--+-- , responseListInvitations $+-- newListInvitationsResponse+--+-- , responseListManagedDataIdentifiers $+-- newListManagedDataIdentifiersResponse+--+-- , responseListMembers $+-- newListMembersResponse+--+-- , responseListOrganizationAdminAccounts $+-- newListOrganizationAdminAccountsResponse+--+-- , responseListResourceProfileArtifacts $+-- newListResourceProfileArtifactsResponse+--+-- , responseListResourceProfileDetections $+-- newListResourceProfileDetectionsResponse+--+-- , responseListSensitivityInspectionTemplates $+-- newListSensitivityInspectionTemplatesResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responsePutClassificationExportConfiguration $+-- newPutClassificationExportConfigurationResponse+--+-- , responsePutFindingsPublicationConfiguration $+-- newPutFindingsPublicationConfigurationResponse+--+-- , responseSearchResources $+-- newSearchResourcesResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseTestCustomDataIdentifier $+-- newTestCustomDataIdentifierResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateAllowList $+-- newUpdateAllowListResponse+--+-- , responseUpdateAutomatedDiscoveryConfiguration $+-- newUpdateAutomatedDiscoveryConfigurationResponse+--+-- , responseUpdateClassificationJob $+-- newUpdateClassificationJobResponse+--+-- , responseUpdateClassificationScope $+-- newUpdateClassificationScopeResponse+--+-- , responseUpdateFindingsFilter $+-- newUpdateFindingsFilterResponse+--+-- , responseUpdateMacieSession $+-- newUpdateMacieSessionResponse+--+-- , responseUpdateMemberSession $+-- newUpdateMemberSessionResponse+--+-- , responseUpdateOrganizationConfiguration $+-- newUpdateOrganizationConfigurationResponse+--+-- , responseUpdateResourceProfile $+-- newUpdateResourceProfileResponse+--+-- , responseUpdateResourceProfileDetections $+-- newUpdateResourceProfileDetectionsResponse+--+-- , responseUpdateRevealConfiguration $+-- newUpdateRevealConfigurationResponse+--+-- , responseUpdateSensitivityInspectionTemplate $+-- newUpdateSensitivityInspectionTemplateResponse+--+-- ]+-- ]++-- Requests++requestAcceptInvitation :: AcceptInvitation -> TestTree+requestAcceptInvitation =+ req+ "AcceptInvitation"+ "fixture/AcceptInvitation.yaml"++requestBatchGetCustomDataIdentifiers :: BatchGetCustomDataIdentifiers -> TestTree+requestBatchGetCustomDataIdentifiers =+ req+ "BatchGetCustomDataIdentifiers"+ "fixture/BatchGetCustomDataIdentifiers.yaml"++requestCreateAllowList :: CreateAllowList -> TestTree+requestCreateAllowList =+ req+ "CreateAllowList"+ "fixture/CreateAllowList.yaml"++requestCreateClassificationJob :: CreateClassificationJob -> TestTree+requestCreateClassificationJob =+ req+ "CreateClassificationJob"+ "fixture/CreateClassificationJob.yaml"++requestCreateCustomDataIdentifier :: CreateCustomDataIdentifier -> TestTree+requestCreateCustomDataIdentifier =+ req+ "CreateCustomDataIdentifier"+ "fixture/CreateCustomDataIdentifier.yaml"++requestCreateFindingsFilter :: CreateFindingsFilter -> TestTree+requestCreateFindingsFilter =+ req+ "CreateFindingsFilter"+ "fixture/CreateFindingsFilter.yaml"++requestCreateInvitations :: CreateInvitations -> TestTree+requestCreateInvitations =+ req+ "CreateInvitations"+ "fixture/CreateInvitations.yaml"++requestCreateMember :: CreateMember -> TestTree+requestCreateMember =+ req+ "CreateMember"+ "fixture/CreateMember.yaml"++requestCreateSampleFindings :: CreateSampleFindings -> TestTree+requestCreateSampleFindings =+ req+ "CreateSampleFindings"+ "fixture/CreateSampleFindings.yaml"++requestDeclineInvitations :: DeclineInvitations -> TestTree+requestDeclineInvitations =+ req+ "DeclineInvitations"+ "fixture/DeclineInvitations.yaml"++requestDeleteAllowList :: DeleteAllowList -> TestTree+requestDeleteAllowList =+ req+ "DeleteAllowList"+ "fixture/DeleteAllowList.yaml"++requestDeleteCustomDataIdentifier :: DeleteCustomDataIdentifier -> TestTree+requestDeleteCustomDataIdentifier =+ req+ "DeleteCustomDataIdentifier"+ "fixture/DeleteCustomDataIdentifier.yaml"++requestDeleteFindingsFilter :: DeleteFindingsFilter -> TestTree+requestDeleteFindingsFilter =+ req+ "DeleteFindingsFilter"+ "fixture/DeleteFindingsFilter.yaml"++requestDeleteInvitations :: DeleteInvitations -> TestTree+requestDeleteInvitations =+ req+ "DeleteInvitations"+ "fixture/DeleteInvitations.yaml"++requestDeleteMember :: DeleteMember -> TestTree+requestDeleteMember =+ req+ "DeleteMember"+ "fixture/DeleteMember.yaml"++requestDescribeBuckets :: DescribeBuckets -> TestTree+requestDescribeBuckets =+ req+ "DescribeBuckets"+ "fixture/DescribeBuckets.yaml"++requestDescribeClassificationJob :: DescribeClassificationJob -> TestTree+requestDescribeClassificationJob =+ req+ "DescribeClassificationJob"+ "fixture/DescribeClassificationJob.yaml"++requestDescribeOrganizationConfiguration :: DescribeOrganizationConfiguration -> TestTree+requestDescribeOrganizationConfiguration =+ req+ "DescribeOrganizationConfiguration"+ "fixture/DescribeOrganizationConfiguration.yaml"++requestDisableMacie :: DisableMacie -> TestTree+requestDisableMacie =+ req+ "DisableMacie"+ "fixture/DisableMacie.yaml"++requestDisableOrganizationAdminAccount :: DisableOrganizationAdminAccount -> TestTree+requestDisableOrganizationAdminAccount =+ req+ "DisableOrganizationAdminAccount"+ "fixture/DisableOrganizationAdminAccount.yaml"++requestDisassociateFromAdministratorAccount :: DisassociateFromAdministratorAccount -> TestTree+requestDisassociateFromAdministratorAccount =+ req+ "DisassociateFromAdministratorAccount"+ "fixture/DisassociateFromAdministratorAccount.yaml"++requestDisassociateFromMasterAccount :: DisassociateFromMasterAccount -> TestTree+requestDisassociateFromMasterAccount =+ req+ "DisassociateFromMasterAccount"+ "fixture/DisassociateFromMasterAccount.yaml"++requestDisassociateMember :: DisassociateMember -> TestTree+requestDisassociateMember =+ req+ "DisassociateMember"+ "fixture/DisassociateMember.yaml"++requestEnableMacie :: EnableMacie -> TestTree+requestEnableMacie =+ req+ "EnableMacie"+ "fixture/EnableMacie.yaml"++requestEnableOrganizationAdminAccount :: EnableOrganizationAdminAccount -> TestTree+requestEnableOrganizationAdminAccount =+ req+ "EnableOrganizationAdminAccount"+ "fixture/EnableOrganizationAdminAccount.yaml"++requestGetAdministratorAccount :: GetAdministratorAccount -> TestTree+requestGetAdministratorAccount =+ req+ "GetAdministratorAccount"+ "fixture/GetAdministratorAccount.yaml"++requestGetAllowList :: GetAllowList -> TestTree+requestGetAllowList =+ req+ "GetAllowList"+ "fixture/GetAllowList.yaml"++requestGetAutomatedDiscoveryConfiguration :: GetAutomatedDiscoveryConfiguration -> TestTree+requestGetAutomatedDiscoveryConfiguration =+ req+ "GetAutomatedDiscoveryConfiguration"+ "fixture/GetAutomatedDiscoveryConfiguration.yaml"++requestGetBucketStatistics :: GetBucketStatistics -> TestTree+requestGetBucketStatistics =+ req+ "GetBucketStatistics"+ "fixture/GetBucketStatistics.yaml"++requestGetClassificationExportConfiguration :: GetClassificationExportConfiguration -> TestTree+requestGetClassificationExportConfiguration =+ req+ "GetClassificationExportConfiguration"+ "fixture/GetClassificationExportConfiguration.yaml"++requestGetClassificationScope :: GetClassificationScope -> TestTree+requestGetClassificationScope =+ req+ "GetClassificationScope"+ "fixture/GetClassificationScope.yaml"++requestGetCustomDataIdentifier :: GetCustomDataIdentifier -> TestTree+requestGetCustomDataIdentifier =+ req+ "GetCustomDataIdentifier"+ "fixture/GetCustomDataIdentifier.yaml"++requestGetFindingStatistics :: GetFindingStatistics -> TestTree+requestGetFindingStatistics =+ req+ "GetFindingStatistics"+ "fixture/GetFindingStatistics.yaml"++requestGetFindings :: GetFindings -> TestTree+requestGetFindings =+ req+ "GetFindings"+ "fixture/GetFindings.yaml"++requestGetFindingsFilter :: GetFindingsFilter -> TestTree+requestGetFindingsFilter =+ req+ "GetFindingsFilter"+ "fixture/GetFindingsFilter.yaml"++requestGetFindingsPublicationConfiguration :: GetFindingsPublicationConfiguration -> TestTree+requestGetFindingsPublicationConfiguration =+ req+ "GetFindingsPublicationConfiguration"+ "fixture/GetFindingsPublicationConfiguration.yaml"++requestGetInvitationsCount :: GetInvitationsCount -> TestTree+requestGetInvitationsCount =+ req+ "GetInvitationsCount"+ "fixture/GetInvitationsCount.yaml"++requestGetMacieSession :: GetMacieSession -> TestTree+requestGetMacieSession =+ req+ "GetMacieSession"+ "fixture/GetMacieSession.yaml"++requestGetMasterAccount :: GetMasterAccount -> TestTree+requestGetMasterAccount =+ req+ "GetMasterAccount"+ "fixture/GetMasterAccount.yaml"++requestGetMember :: GetMember -> TestTree+requestGetMember =+ req+ "GetMember"+ "fixture/GetMember.yaml"++requestGetResourceProfile :: GetResourceProfile -> TestTree+requestGetResourceProfile =+ req+ "GetResourceProfile"+ "fixture/GetResourceProfile.yaml"++requestGetRevealConfiguration :: GetRevealConfiguration -> TestTree+requestGetRevealConfiguration =+ req+ "GetRevealConfiguration"+ "fixture/GetRevealConfiguration.yaml"++requestGetSensitiveDataOccurrences :: GetSensitiveDataOccurrences -> TestTree+requestGetSensitiveDataOccurrences =+ req+ "GetSensitiveDataOccurrences"+ "fixture/GetSensitiveDataOccurrences.yaml"++requestGetSensitiveDataOccurrencesAvailability :: GetSensitiveDataOccurrencesAvailability -> TestTree+requestGetSensitiveDataOccurrencesAvailability =+ req+ "GetSensitiveDataOccurrencesAvailability"+ "fixture/GetSensitiveDataOccurrencesAvailability.yaml"++requestGetSensitivityInspectionTemplate :: GetSensitivityInspectionTemplate -> TestTree+requestGetSensitivityInspectionTemplate =+ req+ "GetSensitivityInspectionTemplate"+ "fixture/GetSensitivityInspectionTemplate.yaml"++requestGetUsageStatistics :: GetUsageStatistics -> TestTree+requestGetUsageStatistics =+ req+ "GetUsageStatistics"+ "fixture/GetUsageStatistics.yaml"++requestGetUsageTotals :: GetUsageTotals -> TestTree+requestGetUsageTotals =+ req+ "GetUsageTotals"+ "fixture/GetUsageTotals.yaml"++requestListAllowLists :: ListAllowLists -> TestTree+requestListAllowLists =+ req+ "ListAllowLists"+ "fixture/ListAllowLists.yaml"++requestListClassificationJobs :: ListClassificationJobs -> TestTree+requestListClassificationJobs =+ req+ "ListClassificationJobs"+ "fixture/ListClassificationJobs.yaml"++requestListClassificationScopes :: ListClassificationScopes -> TestTree+requestListClassificationScopes =+ req+ "ListClassificationScopes"+ "fixture/ListClassificationScopes.yaml"++requestListCustomDataIdentifiers :: ListCustomDataIdentifiers -> TestTree+requestListCustomDataIdentifiers =+ req+ "ListCustomDataIdentifiers"+ "fixture/ListCustomDataIdentifiers.yaml"++requestListFindings :: ListFindings -> TestTree+requestListFindings =+ req+ "ListFindings"+ "fixture/ListFindings.yaml"++requestListFindingsFilters :: ListFindingsFilters -> TestTree+requestListFindingsFilters =+ req+ "ListFindingsFilters"+ "fixture/ListFindingsFilters.yaml"++requestListInvitations :: ListInvitations -> TestTree+requestListInvitations =+ req+ "ListInvitations"+ "fixture/ListInvitations.yaml"++requestListManagedDataIdentifiers :: ListManagedDataIdentifiers -> TestTree+requestListManagedDataIdentifiers =+ req+ "ListManagedDataIdentifiers"+ "fixture/ListManagedDataIdentifiers.yaml"++requestListMembers :: ListMembers -> TestTree+requestListMembers =+ req+ "ListMembers"+ "fixture/ListMembers.yaml"++requestListOrganizationAdminAccounts :: ListOrganizationAdminAccounts -> TestTree+requestListOrganizationAdminAccounts =+ req+ "ListOrganizationAdminAccounts"+ "fixture/ListOrganizationAdminAccounts.yaml"++requestListResourceProfileArtifacts :: ListResourceProfileArtifacts -> TestTree+requestListResourceProfileArtifacts =+ req+ "ListResourceProfileArtifacts"+ "fixture/ListResourceProfileArtifacts.yaml"++requestListResourceProfileDetections :: ListResourceProfileDetections -> TestTree+requestListResourceProfileDetections =+ req+ "ListResourceProfileDetections"+ "fixture/ListResourceProfileDetections.yaml"++requestListSensitivityInspectionTemplates :: ListSensitivityInspectionTemplates -> TestTree+requestListSensitivityInspectionTemplates =+ req+ "ListSensitivityInspectionTemplates"+ "fixture/ListSensitivityInspectionTemplates.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestPutClassificationExportConfiguration :: PutClassificationExportConfiguration -> TestTree+requestPutClassificationExportConfiguration =+ req+ "PutClassificationExportConfiguration"+ "fixture/PutClassificationExportConfiguration.yaml"++requestPutFindingsPublicationConfiguration :: PutFindingsPublicationConfiguration -> TestTree+requestPutFindingsPublicationConfiguration =+ req+ "PutFindingsPublicationConfiguration"+ "fixture/PutFindingsPublicationConfiguration.yaml"++requestSearchResources :: SearchResources -> TestTree+requestSearchResources =+ req+ "SearchResources"+ "fixture/SearchResources.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestTestCustomDataIdentifier :: TestCustomDataIdentifier -> TestTree+requestTestCustomDataIdentifier =+ req+ "TestCustomDataIdentifier"+ "fixture/TestCustomDataIdentifier.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateAllowList :: UpdateAllowList -> TestTree+requestUpdateAllowList =+ req+ "UpdateAllowList"+ "fixture/UpdateAllowList.yaml"++requestUpdateAutomatedDiscoveryConfiguration :: UpdateAutomatedDiscoveryConfiguration -> TestTree+requestUpdateAutomatedDiscoveryConfiguration =+ req+ "UpdateAutomatedDiscoveryConfiguration"+ "fixture/UpdateAutomatedDiscoveryConfiguration.yaml"++requestUpdateClassificationJob :: UpdateClassificationJob -> TestTree+requestUpdateClassificationJob =+ req+ "UpdateClassificationJob"+ "fixture/UpdateClassificationJob.yaml"++requestUpdateClassificationScope :: UpdateClassificationScope -> TestTree+requestUpdateClassificationScope =+ req+ "UpdateClassificationScope"+ "fixture/UpdateClassificationScope.yaml"++requestUpdateFindingsFilter :: UpdateFindingsFilter -> TestTree+requestUpdateFindingsFilter =+ req+ "UpdateFindingsFilter"+ "fixture/UpdateFindingsFilter.yaml"++requestUpdateMacieSession :: UpdateMacieSession -> TestTree+requestUpdateMacieSession =+ req+ "UpdateMacieSession"+ "fixture/UpdateMacieSession.yaml"++requestUpdateMemberSession :: UpdateMemberSession -> TestTree+requestUpdateMemberSession =+ req+ "UpdateMemberSession"+ "fixture/UpdateMemberSession.yaml"++requestUpdateOrganizationConfiguration :: UpdateOrganizationConfiguration -> TestTree+requestUpdateOrganizationConfiguration =+ req+ "UpdateOrganizationConfiguration"+ "fixture/UpdateOrganizationConfiguration.yaml"++requestUpdateResourceProfile :: UpdateResourceProfile -> TestTree+requestUpdateResourceProfile =+ req+ "UpdateResourceProfile"+ "fixture/UpdateResourceProfile.yaml"++requestUpdateResourceProfileDetections :: UpdateResourceProfileDetections -> TestTree+requestUpdateResourceProfileDetections =+ req+ "UpdateResourceProfileDetections"+ "fixture/UpdateResourceProfileDetections.yaml"++requestUpdateRevealConfiguration :: UpdateRevealConfiguration -> TestTree+requestUpdateRevealConfiguration =+ req+ "UpdateRevealConfiguration"+ "fixture/UpdateRevealConfiguration.yaml"++requestUpdateSensitivityInspectionTemplate :: UpdateSensitivityInspectionTemplate -> TestTree+requestUpdateSensitivityInspectionTemplate =+ req+ "UpdateSensitivityInspectionTemplate"+ "fixture/UpdateSensitivityInspectionTemplate.yaml"++-- Responses++responseAcceptInvitation :: AcceptInvitationResponse -> TestTree+responseAcceptInvitation =+ res+ "AcceptInvitationResponse"+ "fixture/AcceptInvitationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AcceptInvitation)++responseBatchGetCustomDataIdentifiers :: BatchGetCustomDataIdentifiersResponse -> TestTree+responseBatchGetCustomDataIdentifiers =+ res+ "BatchGetCustomDataIdentifiersResponse"+ "fixture/BatchGetCustomDataIdentifiersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy BatchGetCustomDataIdentifiers)++responseCreateAllowList :: CreateAllowListResponse -> TestTree+responseCreateAllowList =+ res+ "CreateAllowListResponse"+ "fixture/CreateAllowListResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateAllowList)++responseCreateClassificationJob :: CreateClassificationJobResponse -> TestTree+responseCreateClassificationJob =+ res+ "CreateClassificationJobResponse"+ "fixture/CreateClassificationJobResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateClassificationJob)++responseCreateCustomDataIdentifier :: CreateCustomDataIdentifierResponse -> TestTree+responseCreateCustomDataIdentifier =+ res+ "CreateCustomDataIdentifierResponse"+ "fixture/CreateCustomDataIdentifierResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateCustomDataIdentifier)++responseCreateFindingsFilter :: CreateFindingsFilterResponse -> TestTree+responseCreateFindingsFilter =+ res+ "CreateFindingsFilterResponse"+ "fixture/CreateFindingsFilterResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateFindingsFilter)++responseCreateInvitations :: CreateInvitationsResponse -> TestTree+responseCreateInvitations =+ res+ "CreateInvitationsResponse"+ "fixture/CreateInvitationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateInvitations)++responseCreateMember :: CreateMemberResponse -> TestTree+responseCreateMember =+ res+ "CreateMemberResponse"+ "fixture/CreateMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateMember)++responseCreateSampleFindings :: CreateSampleFindingsResponse -> TestTree+responseCreateSampleFindings =+ res+ "CreateSampleFindingsResponse"+ "fixture/CreateSampleFindingsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateSampleFindings)++responseDeclineInvitations :: DeclineInvitationsResponse -> TestTree+responseDeclineInvitations =+ res+ "DeclineInvitationsResponse"+ "fixture/DeclineInvitationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeclineInvitations)++responseDeleteAllowList :: DeleteAllowListResponse -> TestTree+responseDeleteAllowList =+ res+ "DeleteAllowListResponse"+ "fixture/DeleteAllowListResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteAllowList)++responseDeleteCustomDataIdentifier :: DeleteCustomDataIdentifierResponse -> TestTree+responseDeleteCustomDataIdentifier =+ res+ "DeleteCustomDataIdentifierResponse"+ "fixture/DeleteCustomDataIdentifierResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteCustomDataIdentifier)++responseDeleteFindingsFilter :: DeleteFindingsFilterResponse -> TestTree+responseDeleteFindingsFilter =+ res+ "DeleteFindingsFilterResponse"+ "fixture/DeleteFindingsFilterResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteFindingsFilter)++responseDeleteInvitations :: DeleteInvitationsResponse -> TestTree+responseDeleteInvitations =+ res+ "DeleteInvitationsResponse"+ "fixture/DeleteInvitationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteInvitations)++responseDeleteMember :: DeleteMemberResponse -> TestTree+responseDeleteMember =+ res+ "DeleteMemberResponse"+ "fixture/DeleteMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteMember)++responseDescribeBuckets :: DescribeBucketsResponse -> TestTree+responseDescribeBuckets =+ res+ "DescribeBucketsResponse"+ "fixture/DescribeBucketsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeBuckets)++responseDescribeClassificationJob :: DescribeClassificationJobResponse -> TestTree+responseDescribeClassificationJob =+ res+ "DescribeClassificationJobResponse"+ "fixture/DescribeClassificationJobResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeClassificationJob)++responseDescribeOrganizationConfiguration :: DescribeOrganizationConfigurationResponse -> TestTree+responseDescribeOrganizationConfiguration =+ res+ "DescribeOrganizationConfigurationResponse"+ "fixture/DescribeOrganizationConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeOrganizationConfiguration)++responseDisableMacie :: DisableMacieResponse -> TestTree+responseDisableMacie =+ res+ "DisableMacieResponse"+ "fixture/DisableMacieResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisableMacie)++responseDisableOrganizationAdminAccount :: DisableOrganizationAdminAccountResponse -> TestTree+responseDisableOrganizationAdminAccount =+ res+ "DisableOrganizationAdminAccountResponse"+ "fixture/DisableOrganizationAdminAccountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisableOrganizationAdminAccount)++responseDisassociateFromAdministratorAccount :: DisassociateFromAdministratorAccountResponse -> TestTree+responseDisassociateFromAdministratorAccount =+ res+ "DisassociateFromAdministratorAccountResponse"+ "fixture/DisassociateFromAdministratorAccountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateFromAdministratorAccount)++responseDisassociateFromMasterAccount :: DisassociateFromMasterAccountResponse -> TestTree+responseDisassociateFromMasterAccount =+ res+ "DisassociateFromMasterAccountResponse"+ "fixture/DisassociateFromMasterAccountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateFromMasterAccount)++responseDisassociateMember :: DisassociateMemberResponse -> TestTree+responseDisassociateMember =+ res+ "DisassociateMemberResponse"+ "fixture/DisassociateMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DisassociateMember)++responseEnableMacie :: EnableMacieResponse -> TestTree+responseEnableMacie =+ res+ "EnableMacieResponse"+ "fixture/EnableMacieResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy EnableMacie)++responseEnableOrganizationAdminAccount :: EnableOrganizationAdminAccountResponse -> TestTree+responseEnableOrganizationAdminAccount =+ res+ "EnableOrganizationAdminAccountResponse"+ "fixture/EnableOrganizationAdminAccountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy EnableOrganizationAdminAccount)++responseGetAdministratorAccount :: GetAdministratorAccountResponse -> TestTree+responseGetAdministratorAccount =+ res+ "GetAdministratorAccountResponse"+ "fixture/GetAdministratorAccountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAdministratorAccount)++responseGetAllowList :: GetAllowListResponse -> TestTree+responseGetAllowList =+ res+ "GetAllowListResponse"+ "fixture/GetAllowListResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAllowList)++responseGetAutomatedDiscoveryConfiguration :: GetAutomatedDiscoveryConfigurationResponse -> TestTree+responseGetAutomatedDiscoveryConfiguration =+ res+ "GetAutomatedDiscoveryConfigurationResponse"+ "fixture/GetAutomatedDiscoveryConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetAutomatedDiscoveryConfiguration)++responseGetBucketStatistics :: GetBucketStatisticsResponse -> TestTree+responseGetBucketStatistics =+ res+ "GetBucketStatisticsResponse"+ "fixture/GetBucketStatisticsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetBucketStatistics)++responseGetClassificationExportConfiguration :: GetClassificationExportConfigurationResponse -> TestTree+responseGetClassificationExportConfiguration =+ res+ "GetClassificationExportConfigurationResponse"+ "fixture/GetClassificationExportConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetClassificationExportConfiguration)++responseGetClassificationScope :: GetClassificationScopeResponse -> TestTree+responseGetClassificationScope =+ res+ "GetClassificationScopeResponse"+ "fixture/GetClassificationScopeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetClassificationScope)++responseGetCustomDataIdentifier :: GetCustomDataIdentifierResponse -> TestTree+responseGetCustomDataIdentifier =+ res+ "GetCustomDataIdentifierResponse"+ "fixture/GetCustomDataIdentifierResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetCustomDataIdentifier)++responseGetFindingStatistics :: GetFindingStatisticsResponse -> TestTree+responseGetFindingStatistics =+ res+ "GetFindingStatisticsResponse"+ "fixture/GetFindingStatisticsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetFindingStatistics)++responseGetFindings :: GetFindingsResponse -> TestTree+responseGetFindings =+ res+ "GetFindingsResponse"+ "fixture/GetFindingsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetFindings)++responseGetFindingsFilter :: GetFindingsFilterResponse -> TestTree+responseGetFindingsFilter =+ res+ "GetFindingsFilterResponse"+ "fixture/GetFindingsFilterResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetFindingsFilter)++responseGetFindingsPublicationConfiguration :: GetFindingsPublicationConfigurationResponse -> TestTree+responseGetFindingsPublicationConfiguration =+ res+ "GetFindingsPublicationConfigurationResponse"+ "fixture/GetFindingsPublicationConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetFindingsPublicationConfiguration)++responseGetInvitationsCount :: GetInvitationsCountResponse -> TestTree+responseGetInvitationsCount =+ res+ "GetInvitationsCountResponse"+ "fixture/GetInvitationsCountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetInvitationsCount)++responseGetMacieSession :: GetMacieSessionResponse -> TestTree+responseGetMacieSession =+ res+ "GetMacieSessionResponse"+ "fixture/GetMacieSessionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetMacieSession)++responseGetMasterAccount :: GetMasterAccountResponse -> TestTree+responseGetMasterAccount =+ res+ "GetMasterAccountResponse"+ "fixture/GetMasterAccountResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetMasterAccount)++responseGetMember :: GetMemberResponse -> TestTree+responseGetMember =+ res+ "GetMemberResponse"+ "fixture/GetMemberResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetMember)++responseGetResourceProfile :: GetResourceProfileResponse -> TestTree+responseGetResourceProfile =+ res+ "GetResourceProfileResponse"+ "fixture/GetResourceProfileResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetResourceProfile)++responseGetRevealConfiguration :: GetRevealConfigurationResponse -> TestTree+responseGetRevealConfiguration =+ res+ "GetRevealConfigurationResponse"+ "fixture/GetRevealConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetRevealConfiguration)++responseGetSensitiveDataOccurrences :: GetSensitiveDataOccurrencesResponse -> TestTree+responseGetSensitiveDataOccurrences =+ res+ "GetSensitiveDataOccurrencesResponse"+ "fixture/GetSensitiveDataOccurrencesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetSensitiveDataOccurrences)++responseGetSensitiveDataOccurrencesAvailability :: GetSensitiveDataOccurrencesAvailabilityResponse -> TestTree+responseGetSensitiveDataOccurrencesAvailability =+ res+ "GetSensitiveDataOccurrencesAvailabilityResponse"+ "fixture/GetSensitiveDataOccurrencesAvailabilityResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetSensitiveDataOccurrencesAvailability)++responseGetSensitivityInspectionTemplate :: GetSensitivityInspectionTemplateResponse -> TestTree+responseGetSensitivityInspectionTemplate =+ res+ "GetSensitivityInspectionTemplateResponse"+ "fixture/GetSensitivityInspectionTemplateResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetSensitivityInspectionTemplate)++responseGetUsageStatistics :: GetUsageStatisticsResponse -> TestTree+responseGetUsageStatistics =+ res+ "GetUsageStatisticsResponse"+ "fixture/GetUsageStatisticsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetUsageStatistics)++responseGetUsageTotals :: GetUsageTotalsResponse -> TestTree+responseGetUsageTotals =+ res+ "GetUsageTotalsResponse"+ "fixture/GetUsageTotalsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetUsageTotals)++responseListAllowLists :: ListAllowListsResponse -> TestTree+responseListAllowLists =+ res+ "ListAllowListsResponse"+ "fixture/ListAllowListsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAllowLists)++responseListClassificationJobs :: ListClassificationJobsResponse -> TestTree+responseListClassificationJobs =+ res+ "ListClassificationJobsResponse"+ "fixture/ListClassificationJobsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListClassificationJobs)++responseListClassificationScopes :: ListClassificationScopesResponse -> TestTree+responseListClassificationScopes =+ res+ "ListClassificationScopesResponse"+ "fixture/ListClassificationScopesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListClassificationScopes)++responseListCustomDataIdentifiers :: ListCustomDataIdentifiersResponse -> TestTree+responseListCustomDataIdentifiers =+ res+ "ListCustomDataIdentifiersResponse"+ "fixture/ListCustomDataIdentifiersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListCustomDataIdentifiers)++responseListFindings :: ListFindingsResponse -> TestTree+responseListFindings =+ res+ "ListFindingsResponse"+ "fixture/ListFindingsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListFindings)++responseListFindingsFilters :: ListFindingsFiltersResponse -> TestTree+responseListFindingsFilters =+ res+ "ListFindingsFiltersResponse"+ "fixture/ListFindingsFiltersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListFindingsFilters)++responseListInvitations :: ListInvitationsResponse -> TestTree+responseListInvitations =+ res+ "ListInvitationsResponse"+ "fixture/ListInvitationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListInvitations)++responseListManagedDataIdentifiers :: ListManagedDataIdentifiersResponse -> TestTree+responseListManagedDataIdentifiers =+ res+ "ListManagedDataIdentifiersResponse"+ "fixture/ListManagedDataIdentifiersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListManagedDataIdentifiers)++responseListMembers :: ListMembersResponse -> TestTree+responseListMembers =+ res+ "ListMembersResponse"+ "fixture/ListMembersResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListMembers)++responseListOrganizationAdminAccounts :: ListOrganizationAdminAccountsResponse -> TestTree+responseListOrganizationAdminAccounts =+ res+ "ListOrganizationAdminAccountsResponse"+ "fixture/ListOrganizationAdminAccountsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListOrganizationAdminAccounts)++responseListResourceProfileArtifacts :: ListResourceProfileArtifactsResponse -> TestTree+responseListResourceProfileArtifacts =+ res+ "ListResourceProfileArtifactsResponse"+ "fixture/ListResourceProfileArtifactsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListResourceProfileArtifacts)++responseListResourceProfileDetections :: ListResourceProfileDetectionsResponse -> TestTree+responseListResourceProfileDetections =+ res+ "ListResourceProfileDetectionsResponse"+ "fixture/ListResourceProfileDetectionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListResourceProfileDetections)++responseListSensitivityInspectionTemplates :: ListSensitivityInspectionTemplatesResponse -> TestTree+responseListSensitivityInspectionTemplates =+ res+ "ListSensitivityInspectionTemplatesResponse"+ "fixture/ListSensitivityInspectionTemplatesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListSensitivityInspectionTemplates)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePutClassificationExportConfiguration :: PutClassificationExportConfigurationResponse -> TestTree+responsePutClassificationExportConfiguration =+ res+ "PutClassificationExportConfigurationResponse"+ "fixture/PutClassificationExportConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutClassificationExportConfiguration)++responsePutFindingsPublicationConfiguration :: PutFindingsPublicationConfigurationResponse -> TestTree+responsePutFindingsPublicationConfiguration =+ res+ "PutFindingsPublicationConfigurationResponse"+ "fixture/PutFindingsPublicationConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutFindingsPublicationConfiguration)++responseSearchResources :: SearchResourcesResponse -> TestTree+responseSearchResources =+ res+ "SearchResourcesResponse"+ "fixture/SearchResourcesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy SearchResources)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+ res+ "TagResourceResponse"+ "fixture/TagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TagResource)++responseTestCustomDataIdentifier :: TestCustomDataIdentifierResponse -> TestTree+responseTestCustomDataIdentifier =+ res+ "TestCustomDataIdentifierResponse"+ "fixture/TestCustomDataIdentifierResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy TestCustomDataIdentifier)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+ res+ "UntagResourceResponse"+ "fixture/UntagResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateAllowList :: UpdateAllowListResponse -> TestTree+responseUpdateAllowList =+ res+ "UpdateAllowListResponse"+ "fixture/UpdateAllowListResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAllowList)++responseUpdateAutomatedDiscoveryConfiguration :: UpdateAutomatedDiscoveryConfigurationResponse -> TestTree+responseUpdateAutomatedDiscoveryConfiguration =+ res+ "UpdateAutomatedDiscoveryConfigurationResponse"+ "fixture/UpdateAutomatedDiscoveryConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateAutomatedDiscoveryConfiguration)++responseUpdateClassificationJob :: UpdateClassificationJobResponse -> TestTree+responseUpdateClassificationJob =+ res+ "UpdateClassificationJobResponse"+ "fixture/UpdateClassificationJobResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateClassificationJob)++responseUpdateClassificationScope :: UpdateClassificationScopeResponse -> TestTree+responseUpdateClassificationScope =+ res+ "UpdateClassificationScopeResponse"+ "fixture/UpdateClassificationScopeResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateClassificationScope)++responseUpdateFindingsFilter :: UpdateFindingsFilterResponse -> TestTree+responseUpdateFindingsFilter =+ res+ "UpdateFindingsFilterResponse"+ "fixture/UpdateFindingsFilterResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFindingsFilter)++responseUpdateMacieSession :: UpdateMacieSessionResponse -> TestTree+responseUpdateMacieSession =+ res+ "UpdateMacieSessionResponse"+ "fixture/UpdateMacieSessionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateMacieSession)++responseUpdateMemberSession :: UpdateMemberSessionResponse -> TestTree+responseUpdateMemberSession =+ res+ "UpdateMemberSessionResponse"+ "fixture/UpdateMemberSessionResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateMemberSession)++responseUpdateOrganizationConfiguration :: UpdateOrganizationConfigurationResponse -> TestTree+responseUpdateOrganizationConfiguration =+ res+ "UpdateOrganizationConfigurationResponse"+ "fixture/UpdateOrganizationConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateOrganizationConfiguration)++responseUpdateResourceProfile :: UpdateResourceProfileResponse -> TestTree+responseUpdateResourceProfile =+ res+ "UpdateResourceProfileResponse"+ "fixture/UpdateResourceProfileResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateResourceProfile)++responseUpdateResourceProfileDetections :: UpdateResourceProfileDetectionsResponse -> TestTree+responseUpdateResourceProfileDetections =+ res+ "UpdateResourceProfileDetectionsResponse"+ "fixture/UpdateResourceProfileDetectionsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateResourceProfileDetections)++responseUpdateRevealConfiguration :: UpdateRevealConfigurationResponse -> TestTree+responseUpdateRevealConfiguration =+ res+ "UpdateRevealConfigurationResponse"+ "fixture/UpdateRevealConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateRevealConfiguration)++responseUpdateSensitivityInspectionTemplate :: UpdateSensitivityInspectionTemplateResponse -> TestTree+responseUpdateSensitivityInspectionTemplate =+ res+ "UpdateSensitivityInspectionTemplateResponse"+ "fixture/UpdateSensitivityInspectionTemplateResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateSensitivityInspectionTemplate)
+ test/Test/Amazonka/MacieV2.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.MacieV2+-- 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.MacieV2+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/MacieV2/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.MacieV2.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.MacieV2.Internal where