{-# 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.WellArchitected.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.WellArchitected.Types
( -- * Service Configuration
defaultService,
-- * Errors
_AccessDeniedException,
_ConflictException,
_InternalServerException,
_ResourceNotFoundException,
_ServiceQuotaExceededException,
_ThrottlingException,
_ValidationException,
-- * AdditionalResourceType
AdditionalResourceType (..),
-- * AnswerReason
AnswerReason (..),
-- * CheckFailureReason
CheckFailureReason (..),
-- * CheckProvider
CheckProvider (..),
-- * CheckStatus
CheckStatus (..),
-- * ChoiceReason
ChoiceReason (..),
-- * ChoiceStatus
ChoiceStatus (..),
-- * DifferenceStatus
DifferenceStatus (..),
-- * ImportLensStatus
ImportLensStatus (..),
-- * LensStatus
LensStatus (..),
-- * LensStatusType
LensStatusType (..),
-- * LensType
LensType (..),
-- * NotificationType
NotificationType (..),
-- * OrganizationSharingStatus
OrganizationSharingStatus (..),
-- * PermissionType
PermissionType (..),
-- * Risk
Risk (..),
-- * ShareInvitationAction
ShareInvitationAction (..),
-- * ShareResourceType
ShareResourceType (..),
-- * ShareStatus
ShareStatus (..),
-- * TrustedAdvisorIntegrationStatus
TrustedAdvisorIntegrationStatus (..),
-- * WorkloadEnvironment
WorkloadEnvironment (..),
-- * WorkloadImprovementStatus
WorkloadImprovementStatus (..),
-- * AdditionalResources
AdditionalResources (..),
newAdditionalResources,
additionalResources_content,
additionalResources_type,
-- * Answer
Answer (..),
newAnswer,
answer_choiceAnswers,
answer_choices,
answer_helpfulResourceDisplayText,
answer_helpfulResourceUrl,
answer_improvementPlanUrl,
answer_isApplicable,
answer_notes,
answer_pillarId,
answer_questionDescription,
answer_questionId,
answer_questionTitle,
answer_reason,
answer_risk,
answer_selectedChoices,
-- * AnswerSummary
AnswerSummary (..),
newAnswerSummary,
answerSummary_choiceAnswerSummaries,
answerSummary_choices,
answerSummary_isApplicable,
answerSummary_pillarId,
answerSummary_questionId,
answerSummary_questionTitle,
answerSummary_reason,
answerSummary_risk,
answerSummary_selectedChoices,
-- * CheckDetail
CheckDetail (..),
newCheckDetail,
checkDetail_accountId,
checkDetail_choiceId,
checkDetail_description,
checkDetail_flaggedResources,
checkDetail_id,
checkDetail_lensArn,
checkDetail_name,
checkDetail_pillarId,
checkDetail_provider,
checkDetail_questionId,
checkDetail_reason,
checkDetail_status,
checkDetail_updatedAt,
-- * CheckSummary
CheckSummary (..),
newCheckSummary,
checkSummary_accountSummary,
checkSummary_choiceId,
checkSummary_description,
checkSummary_id,
checkSummary_lensArn,
checkSummary_name,
checkSummary_pillarId,
checkSummary_provider,
checkSummary_questionId,
checkSummary_status,
checkSummary_updatedAt,
-- * Choice
Choice (..),
newChoice,
choice_additionalResources,
choice_choiceId,
choice_description,
choice_helpfulResource,
choice_improvementPlan,
choice_title,
-- * ChoiceAnswer
ChoiceAnswer (..),
newChoiceAnswer,
choiceAnswer_choiceId,
choiceAnswer_notes,
choiceAnswer_reason,
choiceAnswer_status,
-- * ChoiceAnswerSummary
ChoiceAnswerSummary (..),
newChoiceAnswerSummary,
choiceAnswerSummary_choiceId,
choiceAnswerSummary_reason,
choiceAnswerSummary_status,
-- * ChoiceContent
ChoiceContent (..),
newChoiceContent,
choiceContent_displayText,
choiceContent_url,
-- * ChoiceImprovementPlan
ChoiceImprovementPlan (..),
newChoiceImprovementPlan,
choiceImprovementPlan_choiceId,
choiceImprovementPlan_displayText,
choiceImprovementPlan_improvementPlanUrl,
-- * ChoiceUpdate
ChoiceUpdate (..),
newChoiceUpdate,
choiceUpdate_notes,
choiceUpdate_reason,
choiceUpdate_status,
-- * ImprovementSummary
ImprovementSummary (..),
newImprovementSummary,
improvementSummary_improvementPlanUrl,
improvementSummary_improvementPlans,
improvementSummary_pillarId,
improvementSummary_questionId,
improvementSummary_questionTitle,
improvementSummary_risk,
-- * Lens
Lens (..),
newLens,
lens_description,
lens_lensArn,
lens_lensVersion,
lens_name,
lens_owner,
lens_shareInvitationId,
lens_tags,
-- * LensReview
LensReview (..),
newLensReview,
lensReview_lensAlias,
lensReview_lensArn,
lensReview_lensName,
lensReview_lensStatus,
lensReview_lensVersion,
lensReview_nextToken,
lensReview_notes,
lensReview_pillarReviewSummaries,
lensReview_riskCounts,
lensReview_updatedAt,
-- * LensReviewReport
LensReviewReport (..),
newLensReviewReport,
lensReviewReport_base64String,
lensReviewReport_lensAlias,
lensReviewReport_lensArn,
-- * LensReviewSummary
LensReviewSummary (..),
newLensReviewSummary,
lensReviewSummary_lensAlias,
lensReviewSummary_lensArn,
lensReviewSummary_lensName,
lensReviewSummary_lensStatus,
lensReviewSummary_lensVersion,
lensReviewSummary_riskCounts,
lensReviewSummary_updatedAt,
-- * LensShareSummary
LensShareSummary (..),
newLensShareSummary,
lensShareSummary_shareId,
lensShareSummary_sharedWith,
lensShareSummary_status,
lensShareSummary_statusMessage,
-- * LensSummary
LensSummary (..),
newLensSummary,
lensSummary_createdAt,
lensSummary_description,
lensSummary_lensAlias,
lensSummary_lensArn,
lensSummary_lensName,
lensSummary_lensStatus,
lensSummary_lensType,
lensSummary_lensVersion,
lensSummary_owner,
lensSummary_updatedAt,
-- * LensUpgradeSummary
LensUpgradeSummary (..),
newLensUpgradeSummary,
lensUpgradeSummary_currentLensVersion,
lensUpgradeSummary_latestLensVersion,
lensUpgradeSummary_lensAlias,
lensUpgradeSummary_lensArn,
lensUpgradeSummary_workloadId,
lensUpgradeSummary_workloadName,
-- * Milestone
Milestone (..),
newMilestone,
milestone_milestoneName,
milestone_milestoneNumber,
milestone_recordedAt,
milestone_workload,
-- * MilestoneSummary
MilestoneSummary (..),
newMilestoneSummary,
milestoneSummary_milestoneName,
milestoneSummary_milestoneNumber,
milestoneSummary_recordedAt,
milestoneSummary_workloadSummary,
-- * NotificationSummary
NotificationSummary (..),
newNotificationSummary,
notificationSummary_lensUpgradeSummary,
notificationSummary_type,
-- * PillarDifference
PillarDifference (..),
newPillarDifference,
pillarDifference_differenceStatus,
pillarDifference_pillarId,
pillarDifference_pillarName,
pillarDifference_questionDifferences,
-- * PillarReviewSummary
PillarReviewSummary (..),
newPillarReviewSummary,
pillarReviewSummary_notes,
pillarReviewSummary_pillarId,
pillarReviewSummary_pillarName,
pillarReviewSummary_riskCounts,
-- * QuestionDifference
QuestionDifference (..),
newQuestionDifference,
questionDifference_differenceStatus,
questionDifference_questionId,
questionDifference_questionTitle,
-- * ShareInvitation
ShareInvitation (..),
newShareInvitation,
shareInvitation_lensAlias,
shareInvitation_lensArn,
shareInvitation_shareInvitationId,
shareInvitation_shareResourceType,
shareInvitation_workloadId,
-- * ShareInvitationSummary
ShareInvitationSummary (..),
newShareInvitationSummary,
shareInvitationSummary_lensArn,
shareInvitationSummary_lensName,
shareInvitationSummary_permissionType,
shareInvitationSummary_shareInvitationId,
shareInvitationSummary_shareResourceType,
shareInvitationSummary_sharedBy,
shareInvitationSummary_sharedWith,
shareInvitationSummary_workloadId,
shareInvitationSummary_workloadName,
-- * VersionDifferences
VersionDifferences (..),
newVersionDifferences,
versionDifferences_pillarDifferences,
-- * Workload
Workload (..),
newWorkload,
workload_accountIds,
workload_applications,
workload_architecturalDesign,
workload_awsRegions,
workload_description,
workload_discoveryConfig,
workload_environment,
workload_improvementStatus,
workload_industry,
workload_industryType,
workload_isReviewOwnerUpdateAcknowledged,
workload_lenses,
workload_nonAwsRegions,
workload_notes,
workload_owner,
workload_pillarPriorities,
workload_reviewOwner,
workload_reviewRestrictionDate,
workload_riskCounts,
workload_shareInvitationId,
workload_tags,
workload_updatedAt,
workload_workloadArn,
workload_workloadId,
workload_workloadName,
-- * WorkloadDiscoveryConfig
WorkloadDiscoveryConfig (..),
newWorkloadDiscoveryConfig,
workloadDiscoveryConfig_trustedAdvisorIntegrationStatus,
-- * WorkloadShare
WorkloadShare (..),
newWorkloadShare,
workloadShare_permissionType,
workloadShare_shareId,
workloadShare_sharedBy,
workloadShare_sharedWith,
workloadShare_status,
workloadShare_workloadId,
workloadShare_workloadName,
-- * WorkloadShareSummary
WorkloadShareSummary (..),
newWorkloadShareSummary,
workloadShareSummary_permissionType,
workloadShareSummary_shareId,
workloadShareSummary_sharedWith,
workloadShareSummary_status,
workloadShareSummary_statusMessage,
-- * WorkloadSummary
WorkloadSummary (..),
newWorkloadSummary,
workloadSummary_improvementStatus,
workloadSummary_lenses,
workloadSummary_owner,
workloadSummary_riskCounts,
workloadSummary_updatedAt,
workloadSummary_workloadArn,
workloadSummary_workloadId,
workloadSummary_workloadName,
)
where
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
import Amazonka.WellArchitected.Types.AdditionalResourceType
import Amazonka.WellArchitected.Types.AdditionalResources
import Amazonka.WellArchitected.Types.Answer
import Amazonka.WellArchitected.Types.AnswerReason
import Amazonka.WellArchitected.Types.AnswerSummary
import Amazonka.WellArchitected.Types.CheckDetail
import Amazonka.WellArchitected.Types.CheckFailureReason
import Amazonka.WellArchitected.Types.CheckProvider
import Amazonka.WellArchitected.Types.CheckStatus
import Amazonka.WellArchitected.Types.CheckSummary
import Amazonka.WellArchitected.Types.Choice
import Amazonka.WellArchitected.Types.ChoiceAnswer
import Amazonka.WellArchitected.Types.ChoiceAnswerSummary
import Amazonka.WellArchitected.Types.ChoiceContent
import Amazonka.WellArchitected.Types.ChoiceImprovementPlan
import Amazonka.WellArchitected.Types.ChoiceReason
import Amazonka.WellArchitected.Types.ChoiceStatus
import Amazonka.WellArchitected.Types.ChoiceUpdate
import Amazonka.WellArchitected.Types.DifferenceStatus
import Amazonka.WellArchitected.Types.ImportLensStatus
import Amazonka.WellArchitected.Types.ImprovementSummary
import Amazonka.WellArchitected.Types.Lens
import Amazonka.WellArchitected.Types.LensReview
import Amazonka.WellArchitected.Types.LensReviewReport
import Amazonka.WellArchitected.Types.LensReviewSummary
import Amazonka.WellArchitected.Types.LensShareSummary
import Amazonka.WellArchitected.Types.LensStatus
import Amazonka.WellArchitected.Types.LensStatusType
import Amazonka.WellArchitected.Types.LensSummary
import Amazonka.WellArchitected.Types.LensType
import Amazonka.WellArchitected.Types.LensUpgradeSummary
import Amazonka.WellArchitected.Types.Milestone
import Amazonka.WellArchitected.Types.MilestoneSummary
import Amazonka.WellArchitected.Types.NotificationSummary
import Amazonka.WellArchitected.Types.NotificationType
import Amazonka.WellArchitected.Types.OrganizationSharingStatus
import Amazonka.WellArchitected.Types.PermissionType
import Amazonka.WellArchitected.Types.PillarDifference
import Amazonka.WellArchitected.Types.PillarReviewSummary
import Amazonka.WellArchitected.Types.QuestionDifference
import Amazonka.WellArchitected.Types.Risk
import Amazonka.WellArchitected.Types.ShareInvitation
import Amazonka.WellArchitected.Types.ShareInvitationAction
import Amazonka.WellArchitected.Types.ShareInvitationSummary
import Amazonka.WellArchitected.Types.ShareResourceType
import Amazonka.WellArchitected.Types.ShareStatus
import Amazonka.WellArchitected.Types.TrustedAdvisorIntegrationStatus
import Amazonka.WellArchitected.Types.VersionDifferences
import Amazonka.WellArchitected.Types.Workload
import Amazonka.WellArchitected.Types.WorkloadDiscoveryConfig
import Amazonka.WellArchitected.Types.WorkloadEnvironment
import Amazonka.WellArchitected.Types.WorkloadImprovementStatus
import Amazonka.WellArchitected.Types.WorkloadShare
import Amazonka.WellArchitected.Types.WorkloadShareSummary
import Amazonka.WellArchitected.Types.WorkloadSummary
-- | API version @2020-03-31@ of the Amazon Well-Architected Tool SDK configuration.
defaultService :: Core.Service
defaultService =
Core.Service
{ Core.abbrev = "WellArchitected",
Core.signer = Sign.v4,
Core.endpointPrefix = "wellarchitected",
Core.signingName = "wellarchitected",
Core.version = "2020-03-31",
Core.s3AddressingStyle = Core.S3AddressingStyleAuto,
Core.endpoint = Core.defaultEndpoint defaultService,
Core.timeout = Prelude.Just 70,
Core.check = Core.statusSuccess,
Core.error = Core.parseJSONError "WellArchitected",
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
-- | User does 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
-- | The resource already exists.
_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ConflictException =
Core._MatchServiceError
defaultService
"ConflictException"
Prelude.. Core.hasStatus 409
-- | There is a problem with the Well-Architected Tool API service.
_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InternalServerException =
Core._MatchServiceError
defaultService
"InternalServerException"
Prelude.. Core.hasStatus 500
-- | The requested resource was not found.
_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ResourceNotFoundException =
Core._MatchServiceError
defaultService
"ResourceNotFoundException"
Prelude.. Core.hasStatus 404
-- | The user has reached their resource quota.
_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ServiceQuotaExceededException =
Core._MatchServiceError
defaultService
"ServiceQuotaExceededException"
Prelude.. Core.hasStatus 402
-- | Request was denied due to request throttling.
_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ThrottlingException =
Core._MatchServiceError
defaultService
"ThrottlingException"
Prelude.. Core.hasStatus 429
-- | The user input is not valid.
_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ValidationException =
Core._MatchServiceError
defaultService
"ValidationException"
Prelude.. Core.hasStatus 400