{-# 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.AccessAnalyzer.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.AccessAnalyzer.Types
( -- * Service Configuration
defaultService,
-- * Errors
_AccessDeniedException,
_ConflictException,
_InternalServerException,
_ResourceNotFoundException,
_ServiceQuotaExceededException,
_ThrottlingException,
_ValidationException,
-- * AccessPreviewStatus
AccessPreviewStatus (..),
-- * AccessPreviewStatusReasonCode
AccessPreviewStatusReasonCode (..),
-- * AclPermission
AclPermission (..),
-- * AnalyzerStatus
AnalyzerStatus (..),
-- * FindingChangeType
FindingChangeType (..),
-- * FindingSourceType
FindingSourceType (..),
-- * FindingStatus
FindingStatus (..),
-- * FindingStatusUpdate
FindingStatusUpdate (..),
-- * JobErrorCode
JobErrorCode (..),
-- * JobStatus
JobStatus (..),
-- * KmsGrantOperation
KmsGrantOperation (..),
-- * Locale
Locale (..),
-- * OrderBy
OrderBy (..),
-- * PolicyType
PolicyType (..),
-- * ReasonCode
ReasonCode (..),
-- * ResourceType
ResourceType (..),
-- * Type
Type (..),
-- * ValidatePolicyFindingType
ValidatePolicyFindingType (..),
-- * ValidatePolicyResourceType
ValidatePolicyResourceType (..),
-- * AccessPreview
AccessPreview (..),
newAccessPreview,
accessPreview_statusReason,
accessPreview_id,
accessPreview_analyzerArn,
accessPreview_configurations,
accessPreview_createdAt,
accessPreview_status,
-- * AccessPreviewFinding
AccessPreviewFinding (..),
newAccessPreviewFinding,
accessPreviewFinding_action,
accessPreviewFinding_condition,
accessPreviewFinding_error,
accessPreviewFinding_existingFindingId,
accessPreviewFinding_existingFindingStatus,
accessPreviewFinding_isPublic,
accessPreviewFinding_principal,
accessPreviewFinding_resource,
accessPreviewFinding_sources,
accessPreviewFinding_id,
accessPreviewFinding_resourceType,
accessPreviewFinding_createdAt,
accessPreviewFinding_changeType,
accessPreviewFinding_status,
accessPreviewFinding_resourceOwnerAccount,
-- * AccessPreviewStatusReason
AccessPreviewStatusReason (..),
newAccessPreviewStatusReason,
accessPreviewStatusReason_code,
-- * AccessPreviewSummary
AccessPreviewSummary (..),
newAccessPreviewSummary,
accessPreviewSummary_statusReason,
accessPreviewSummary_id,
accessPreviewSummary_analyzerArn,
accessPreviewSummary_createdAt,
accessPreviewSummary_status,
-- * AclGrantee
AclGrantee (..),
newAclGrantee,
aclGrantee_id,
aclGrantee_uri,
-- * AnalyzedResource
AnalyzedResource (..),
newAnalyzedResource,
analyzedResource_actions,
analyzedResource_error,
analyzedResource_sharedVia,
analyzedResource_status,
analyzedResource_resourceArn,
analyzedResource_resourceType,
analyzedResource_createdAt,
analyzedResource_analyzedAt,
analyzedResource_updatedAt,
analyzedResource_isPublic,
analyzedResource_resourceOwnerAccount,
-- * AnalyzedResourceSummary
AnalyzedResourceSummary (..),
newAnalyzedResourceSummary,
analyzedResourceSummary_resourceArn,
analyzedResourceSummary_resourceOwnerAccount,
analyzedResourceSummary_resourceType,
-- * AnalyzerSummary
AnalyzerSummary (..),
newAnalyzerSummary,
analyzerSummary_lastResourceAnalyzed,
analyzerSummary_lastResourceAnalyzedAt,
analyzerSummary_statusReason,
analyzerSummary_tags,
analyzerSummary_arn,
analyzerSummary_name,
analyzerSummary_type,
analyzerSummary_createdAt,
analyzerSummary_status,
-- * ArchiveRuleSummary
ArchiveRuleSummary (..),
newArchiveRuleSummary,
archiveRuleSummary_ruleName,
archiveRuleSummary_filter,
archiveRuleSummary_createdAt,
archiveRuleSummary_updatedAt,
-- * CloudTrailDetails
CloudTrailDetails (..),
newCloudTrailDetails,
cloudTrailDetails_endTime,
cloudTrailDetails_trails,
cloudTrailDetails_accessRole,
cloudTrailDetails_startTime,
-- * CloudTrailProperties
CloudTrailProperties (..),
newCloudTrailProperties,
cloudTrailProperties_trailProperties,
cloudTrailProperties_startTime,
cloudTrailProperties_endTime,
-- * Configuration
Configuration (..),
newConfiguration,
configuration_ebsSnapshot,
configuration_ecrRepository,
configuration_efsFileSystem,
configuration_iamRole,
configuration_kmsKey,
configuration_rdsDbClusterSnapshot,
configuration_rdsDbSnapshot,
configuration_s3Bucket,
configuration_secretsManagerSecret,
configuration_snsTopic,
configuration_sqsQueue,
-- * Criterion
Criterion (..),
newCriterion,
criterion_contains,
criterion_eq,
criterion_exists,
criterion_neq,
-- * EbsSnapshotConfiguration
EbsSnapshotConfiguration (..),
newEbsSnapshotConfiguration,
ebsSnapshotConfiguration_groups,
ebsSnapshotConfiguration_kmsKeyId,
ebsSnapshotConfiguration_userIds,
-- * EcrRepositoryConfiguration
EcrRepositoryConfiguration (..),
newEcrRepositoryConfiguration,
ecrRepositoryConfiguration_repositoryPolicy,
-- * EfsFileSystemConfiguration
EfsFileSystemConfiguration (..),
newEfsFileSystemConfiguration,
efsFileSystemConfiguration_fileSystemPolicy,
-- * Finding
Finding (..),
newFinding,
finding_action,
finding_error,
finding_isPublic,
finding_principal,
finding_resource,
finding_sources,
finding_id,
finding_resourceType,
finding_condition,
finding_createdAt,
finding_analyzedAt,
finding_updatedAt,
finding_status,
finding_resourceOwnerAccount,
-- * FindingSource
FindingSource (..),
newFindingSource,
findingSource_detail,
findingSource_type,
-- * FindingSourceDetail
FindingSourceDetail (..),
newFindingSourceDetail,
findingSourceDetail_accessPointAccount,
findingSourceDetail_accessPointArn,
-- * FindingSummary
FindingSummary (..),
newFindingSummary,
findingSummary_action,
findingSummary_error,
findingSummary_isPublic,
findingSummary_principal,
findingSummary_resource,
findingSummary_sources,
findingSummary_id,
findingSummary_resourceType,
findingSummary_condition,
findingSummary_createdAt,
findingSummary_analyzedAt,
findingSummary_updatedAt,
findingSummary_status,
findingSummary_resourceOwnerAccount,
-- * GeneratedPolicy
GeneratedPolicy (..),
newGeneratedPolicy,
generatedPolicy_policy,
-- * GeneratedPolicyProperties
GeneratedPolicyProperties (..),
newGeneratedPolicyProperties,
generatedPolicyProperties_cloudTrailProperties,
generatedPolicyProperties_isComplete,
generatedPolicyProperties_principalArn,
-- * GeneratedPolicyResult
GeneratedPolicyResult (..),
newGeneratedPolicyResult,
generatedPolicyResult_generatedPolicies,
generatedPolicyResult_properties,
-- * IamRoleConfiguration
IamRoleConfiguration (..),
newIamRoleConfiguration,
iamRoleConfiguration_trustPolicy,
-- * InlineArchiveRule
InlineArchiveRule (..),
newInlineArchiveRule,
inlineArchiveRule_ruleName,
inlineArchiveRule_filter,
-- * InternetConfiguration
InternetConfiguration (..),
newInternetConfiguration,
-- * JobDetails
JobDetails (..),
newJobDetails,
jobDetails_completedOn,
jobDetails_jobError,
jobDetails_jobId,
jobDetails_status,
jobDetails_startedOn,
-- * JobError
JobError (..),
newJobError,
jobError_code,
jobError_message,
-- * KmsGrantConfiguration
KmsGrantConfiguration (..),
newKmsGrantConfiguration,
kmsGrantConfiguration_constraints,
kmsGrantConfiguration_retiringPrincipal,
kmsGrantConfiguration_operations,
kmsGrantConfiguration_granteePrincipal,
kmsGrantConfiguration_issuingAccount,
-- * KmsGrantConstraints
KmsGrantConstraints (..),
newKmsGrantConstraints,
kmsGrantConstraints_encryptionContextEquals,
kmsGrantConstraints_encryptionContextSubset,
-- * KmsKeyConfiguration
KmsKeyConfiguration (..),
newKmsKeyConfiguration,
kmsKeyConfiguration_grants,
kmsKeyConfiguration_keyPolicies,
-- * Location
Location (..),
newLocation,
location_path,
location_span,
-- * NetworkOriginConfiguration
NetworkOriginConfiguration (..),
newNetworkOriginConfiguration,
networkOriginConfiguration_internetConfiguration,
networkOriginConfiguration_vpcConfiguration,
-- * PathElement
PathElement (..),
newPathElement,
pathElement_index,
pathElement_key,
pathElement_substring,
pathElement_value,
-- * PolicyGeneration
PolicyGeneration (..),
newPolicyGeneration,
policyGeneration_completedOn,
policyGeneration_jobId,
policyGeneration_principalArn,
policyGeneration_status,
policyGeneration_startedOn,
-- * PolicyGenerationDetails
PolicyGenerationDetails (..),
newPolicyGenerationDetails,
policyGenerationDetails_principalArn,
-- * Position
Position (..),
newPosition,
position_line,
position_column,
position_offset,
-- * RdsDbClusterSnapshotAttributeValue
RdsDbClusterSnapshotAttributeValue (..),
newRdsDbClusterSnapshotAttributeValue,
rdsDbClusterSnapshotAttributeValue_accountIds,
-- * RdsDbClusterSnapshotConfiguration
RdsDbClusterSnapshotConfiguration (..),
newRdsDbClusterSnapshotConfiguration,
rdsDbClusterSnapshotConfiguration_attributes,
rdsDbClusterSnapshotConfiguration_kmsKeyId,
-- * RdsDbSnapshotAttributeValue
RdsDbSnapshotAttributeValue (..),
newRdsDbSnapshotAttributeValue,
rdsDbSnapshotAttributeValue_accountIds,
-- * RdsDbSnapshotConfiguration
RdsDbSnapshotConfiguration (..),
newRdsDbSnapshotConfiguration,
rdsDbSnapshotConfiguration_attributes,
rdsDbSnapshotConfiguration_kmsKeyId,
-- * S3AccessPointConfiguration
S3AccessPointConfiguration (..),
newS3AccessPointConfiguration,
s3AccessPointConfiguration_accessPointPolicy,
s3AccessPointConfiguration_networkOrigin,
s3AccessPointConfiguration_publicAccessBlock,
-- * S3BucketAclGrantConfiguration
S3BucketAclGrantConfiguration (..),
newS3BucketAclGrantConfiguration,
s3BucketAclGrantConfiguration_permission,
s3BucketAclGrantConfiguration_grantee,
-- * S3BucketConfiguration
S3BucketConfiguration (..),
newS3BucketConfiguration,
s3BucketConfiguration_accessPoints,
s3BucketConfiguration_bucketAclGrants,
s3BucketConfiguration_bucketPolicy,
s3BucketConfiguration_bucketPublicAccessBlock,
-- * S3PublicAccessBlockConfiguration
S3PublicAccessBlockConfiguration (..),
newS3PublicAccessBlockConfiguration,
s3PublicAccessBlockConfiguration_ignorePublicAcls,
s3PublicAccessBlockConfiguration_restrictPublicBuckets,
-- * SecretsManagerSecretConfiguration
SecretsManagerSecretConfiguration (..),
newSecretsManagerSecretConfiguration,
secretsManagerSecretConfiguration_kmsKeyId,
secretsManagerSecretConfiguration_secretPolicy,
-- * SnsTopicConfiguration
SnsTopicConfiguration (..),
newSnsTopicConfiguration,
snsTopicConfiguration_topicPolicy,
-- * SortCriteria
SortCriteria (..),
newSortCriteria,
sortCriteria_attributeName,
sortCriteria_orderBy,
-- * Span
Span (..),
newSpan,
span_start,
span_end,
-- * SqsQueueConfiguration
SqsQueueConfiguration (..),
newSqsQueueConfiguration,
sqsQueueConfiguration_queuePolicy,
-- * StatusReason
StatusReason (..),
newStatusReason,
statusReason_code,
-- * Substring
Substring (..),
newSubstring,
substring_start,
substring_length,
-- * Trail
Trail (..),
newTrail,
trail_allRegions,
trail_regions,
trail_cloudTrailArn,
-- * TrailProperties
TrailProperties (..),
newTrailProperties,
trailProperties_allRegions,
trailProperties_regions,
trailProperties_cloudTrailArn,
-- * ValidatePolicyFinding
ValidatePolicyFinding (..),
newValidatePolicyFinding,
validatePolicyFinding_findingDetails,
validatePolicyFinding_findingType,
validatePolicyFinding_issueCode,
validatePolicyFinding_learnMoreLink,
validatePolicyFinding_locations,
-- * VpcConfiguration
VpcConfiguration (..),
newVpcConfiguration,
vpcConfiguration_vpcId,
)
where
import Amazonka.AccessAnalyzer.Types.AccessPreview
import Amazonka.AccessAnalyzer.Types.AccessPreviewFinding
import Amazonka.AccessAnalyzer.Types.AccessPreviewStatus
import Amazonka.AccessAnalyzer.Types.AccessPreviewStatusReason
import Amazonka.AccessAnalyzer.Types.AccessPreviewStatusReasonCode
import Amazonka.AccessAnalyzer.Types.AccessPreviewSummary
import Amazonka.AccessAnalyzer.Types.AclGrantee
import Amazonka.AccessAnalyzer.Types.AclPermission
import Amazonka.AccessAnalyzer.Types.AnalyzedResource
import Amazonka.AccessAnalyzer.Types.AnalyzedResourceSummary
import Amazonka.AccessAnalyzer.Types.AnalyzerStatus
import Amazonka.AccessAnalyzer.Types.AnalyzerSummary
import Amazonka.AccessAnalyzer.Types.ArchiveRuleSummary
import Amazonka.AccessAnalyzer.Types.CloudTrailDetails
import Amazonka.AccessAnalyzer.Types.CloudTrailProperties
import Amazonka.AccessAnalyzer.Types.Configuration
import Amazonka.AccessAnalyzer.Types.Criterion
import Amazonka.AccessAnalyzer.Types.EbsSnapshotConfiguration
import Amazonka.AccessAnalyzer.Types.EcrRepositoryConfiguration
import Amazonka.AccessAnalyzer.Types.EfsFileSystemConfiguration
import Amazonka.AccessAnalyzer.Types.Finding
import Amazonka.AccessAnalyzer.Types.FindingChangeType
import Amazonka.AccessAnalyzer.Types.FindingSource
import Amazonka.AccessAnalyzer.Types.FindingSourceDetail
import Amazonka.AccessAnalyzer.Types.FindingSourceType
import Amazonka.AccessAnalyzer.Types.FindingStatus
import Amazonka.AccessAnalyzer.Types.FindingStatusUpdate
import Amazonka.AccessAnalyzer.Types.FindingSummary
import Amazonka.AccessAnalyzer.Types.GeneratedPolicy
import Amazonka.AccessAnalyzer.Types.GeneratedPolicyProperties
import Amazonka.AccessAnalyzer.Types.GeneratedPolicyResult
import Amazonka.AccessAnalyzer.Types.IamRoleConfiguration
import Amazonka.AccessAnalyzer.Types.InlineArchiveRule
import Amazonka.AccessAnalyzer.Types.InternetConfiguration
import Amazonka.AccessAnalyzer.Types.JobDetails
import Amazonka.AccessAnalyzer.Types.JobError
import Amazonka.AccessAnalyzer.Types.JobErrorCode
import Amazonka.AccessAnalyzer.Types.JobStatus
import Amazonka.AccessAnalyzer.Types.KmsGrantConfiguration
import Amazonka.AccessAnalyzer.Types.KmsGrantConstraints
import Amazonka.AccessAnalyzer.Types.KmsGrantOperation
import Amazonka.AccessAnalyzer.Types.KmsKeyConfiguration
import Amazonka.AccessAnalyzer.Types.Locale
import Amazonka.AccessAnalyzer.Types.Location
import Amazonka.AccessAnalyzer.Types.NetworkOriginConfiguration
import Amazonka.AccessAnalyzer.Types.OrderBy
import Amazonka.AccessAnalyzer.Types.PathElement
import Amazonka.AccessAnalyzer.Types.PolicyGeneration
import Amazonka.AccessAnalyzer.Types.PolicyGenerationDetails
import Amazonka.AccessAnalyzer.Types.PolicyType
import Amazonka.AccessAnalyzer.Types.Position
import Amazonka.AccessAnalyzer.Types.RdsDbClusterSnapshotAttributeValue
import Amazonka.AccessAnalyzer.Types.RdsDbClusterSnapshotConfiguration
import Amazonka.AccessAnalyzer.Types.RdsDbSnapshotAttributeValue
import Amazonka.AccessAnalyzer.Types.RdsDbSnapshotConfiguration
import Amazonka.AccessAnalyzer.Types.ReasonCode
import Amazonka.AccessAnalyzer.Types.ResourceType
import Amazonka.AccessAnalyzer.Types.S3AccessPointConfiguration
import Amazonka.AccessAnalyzer.Types.S3BucketAclGrantConfiguration
import Amazonka.AccessAnalyzer.Types.S3BucketConfiguration
import Amazonka.AccessAnalyzer.Types.S3PublicAccessBlockConfiguration
import Amazonka.AccessAnalyzer.Types.SecretsManagerSecretConfiguration
import Amazonka.AccessAnalyzer.Types.SnsTopicConfiguration
import Amazonka.AccessAnalyzer.Types.SortCriteria
import Amazonka.AccessAnalyzer.Types.Span
import Amazonka.AccessAnalyzer.Types.SqsQueueConfiguration
import Amazonka.AccessAnalyzer.Types.StatusReason
import Amazonka.AccessAnalyzer.Types.Substring
import Amazonka.AccessAnalyzer.Types.Trail
import Amazonka.AccessAnalyzer.Types.TrailProperties
import Amazonka.AccessAnalyzer.Types.Type
import Amazonka.AccessAnalyzer.Types.ValidatePolicyFinding
import Amazonka.AccessAnalyzer.Types.ValidatePolicyFindingType
import Amazonka.AccessAnalyzer.Types.ValidatePolicyResourceType
import Amazonka.AccessAnalyzer.Types.VpcConfiguration
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Sign.V4 as Sign
-- | API version @2019-11-01@ of the Amazon Access Analyzer SDK configuration.
defaultService :: Core.Service
defaultService =
Core.Service
{ Core.abbrev = "AccessAnalyzer",
Core.signer = Sign.v4,
Core.endpointPrefix = "access-analyzer",
Core.signingName = "access-analyzer",
Core.version = "2019-11-01",
Core.s3AddressingStyle = Core.S3AddressingStyleAuto,
Core.endpoint = Core.defaultEndpoint defaultService,
Core.timeout = Prelude.Just 70,
Core.check = Core.statusSuccess,
Core.error = Core.parseJSONError "AccessAnalyzer",
Core.retry = retry
}
where
retry =
Core.Exponential
{ Core.base = 5.0e-2,
Core.growth = 2,
Core.attempts = 5,
Core.check = check
}
check e
| Lens.has (Core.hasStatus 502) e =
Prelude.Just "bad_gateway"
| Lens.has (Core.hasStatus 504) e =
Prelude.Just "gateway_timeout"
| Lens.has (Core.hasStatus 500) e =
Prelude.Just "general_server_error"
| Lens.has (Core.hasStatus 509) e =
Prelude.Just "limit_exceeded"
| Lens.has
( Core.hasCode "RequestThrottledException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "request_throttled_exception"
| Lens.has (Core.hasStatus 503) e =
Prelude.Just "service_unavailable"
| Lens.has
( Core.hasCode "ThrottledException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throttled_exception"
| Lens.has
( Core.hasCode "Throttling"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throttling"
| Lens.has
( Core.hasCode "ThrottlingException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throttling_exception"
| Lens.has
( Core.hasCode
"ProvisionedThroughputExceededException"
Prelude.. Core.hasStatus 400
)
e =
Prelude.Just "throughput_exceeded"
| Lens.has (Core.hasStatus 429) e =
Prelude.Just "too_many_requests"
| Prelude.otherwise = Prelude.Nothing
-- | You do not have sufficient access to perform this action.
_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_AccessDeniedException =
Core._MatchServiceError
defaultService
"AccessDeniedException"
Prelude.. Core.hasStatus 403
-- | A conflict exception error.
_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ConflictException =
Core._MatchServiceError
defaultService
"ConflictException"
Prelude.. Core.hasStatus 409
-- | Internal server error.
_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InternalServerException =
Core._MatchServiceError
defaultService
"InternalServerException"
Prelude.. Core.hasStatus 500
-- | The specified resource could not be found.
_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ResourceNotFoundException =
Core._MatchServiceError
defaultService
"ResourceNotFoundException"
Prelude.. Core.hasStatus 404
-- | Service quote met error.
_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ServiceQuotaExceededException =
Core._MatchServiceError
defaultService
"ServiceQuotaExceededException"
Prelude.. Core.hasStatus 402
-- | Throttling limit exceeded error.
_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ThrottlingException =
Core._MatchServiceError
defaultService
"ThrottlingException"
Prelude.. Core.hasStatus 429
-- | Validation exception error.
_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ValidationException =
Core._MatchServiceError
defaultService
"ValidationException"
Prelude.. Core.hasStatus 400