amazonka-sms-2.0: gen/Amazonka/SMS/Types.hs
{-# 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.SMS.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.SMS.Types
( -- * Service Configuration
defaultService,
-- * Errors
_DryRunOperationException,
_InternalError,
_InvalidParameterException,
_MissingRequiredParameterException,
_NoConnectorsAvailableException,
_OperationNotPermittedException,
_ReplicationJobAlreadyExistsException,
_ReplicationJobNotFoundException,
_ReplicationRunLimitExceededException,
_ServerCannotBeReplicatedException,
_TemporarilyUnavailableException,
_UnauthorizedOperationException,
-- * AppLaunchConfigurationStatus
AppLaunchConfigurationStatus (..),
-- * AppLaunchStatus
AppLaunchStatus (..),
-- * AppReplicationConfigurationStatus
AppReplicationConfigurationStatus (..),
-- * AppReplicationStatus
AppReplicationStatus (..),
-- * AppStatus
AppStatus (..),
-- * AppValidationStrategy
AppValidationStrategy (..),
-- * ConnectorCapability
ConnectorCapability (..),
-- * ConnectorStatus
ConnectorStatus (..),
-- * LicenseType
LicenseType (..),
-- * OutputFormat
OutputFormat (..),
-- * ReplicationJobState
ReplicationJobState (..),
-- * ReplicationRunState
ReplicationRunState (..),
-- * ReplicationRunType
ReplicationRunType (..),
-- * ScriptType
ScriptType (..),
-- * ServerCatalogStatus
ServerCatalogStatus (..),
-- * ServerType
ServerType (..),
-- * ServerValidationStrategy
ServerValidationStrategy (..),
-- * ValidationStatus
ValidationStatus (..),
-- * VmManagerType
VmManagerType (..),
-- * AppSummary
AppSummary (..),
newAppSummary,
appSummary_appId,
appSummary_creationTime,
appSummary_description,
appSummary_importedAppId,
appSummary_lastModified,
appSummary_latestReplicationTime,
appSummary_launchConfigurationStatus,
appSummary_launchDetails,
appSummary_launchStatus,
appSummary_launchStatusMessage,
appSummary_name,
appSummary_replicationConfigurationStatus,
appSummary_replicationStatus,
appSummary_replicationStatusMessage,
appSummary_roleName,
appSummary_status,
appSummary_statusMessage,
appSummary_totalServerGroups,
appSummary_totalServers,
-- * AppValidationConfiguration
AppValidationConfiguration (..),
newAppValidationConfiguration,
appValidationConfiguration_appValidationStrategy,
appValidationConfiguration_name,
appValidationConfiguration_ssmValidationParameters,
appValidationConfiguration_validationId,
-- * AppValidationOutput
AppValidationOutput (..),
newAppValidationOutput,
appValidationOutput_ssmOutput,
-- * Connector
Connector (..),
newConnector,
connector_associatedOn,
connector_capabilityList,
connector_connectorId,
connector_ipAddress,
connector_macAddress,
connector_status,
connector_version,
connector_vmManagerId,
connector_vmManagerName,
connector_vmManagerType,
-- * LaunchDetails
LaunchDetails (..),
newLaunchDetails,
launchDetails_latestLaunchTime,
launchDetails_stackId,
launchDetails_stackName,
-- * NotificationContext
NotificationContext (..),
newNotificationContext,
notificationContext_status,
notificationContext_statusMessage,
notificationContext_validationId,
-- * ReplicationJob
ReplicationJob (..),
newReplicationJob,
replicationJob_description,
replicationJob_encrypted,
replicationJob_frequency,
replicationJob_kmsKeyId,
replicationJob_latestAmiId,
replicationJob_licenseType,
replicationJob_nextReplicationRunStartTime,
replicationJob_numberOfRecentAmisToKeep,
replicationJob_replicationJobId,
replicationJob_replicationRunList,
replicationJob_roleName,
replicationJob_runOnce,
replicationJob_seedReplicationTime,
replicationJob_serverId,
replicationJob_serverType,
replicationJob_state,
replicationJob_statusMessage,
replicationJob_vmServer,
-- * ReplicationRun
ReplicationRun (..),
newReplicationRun,
replicationRun_amiId,
replicationRun_completedTime,
replicationRun_description,
replicationRun_encrypted,
replicationRun_kmsKeyId,
replicationRun_replicationRunId,
replicationRun_scheduledStartTime,
replicationRun_stageDetails,
replicationRun_state,
replicationRun_statusMessage,
replicationRun_type,
-- * ReplicationRunStageDetails
ReplicationRunStageDetails (..),
newReplicationRunStageDetails,
replicationRunStageDetails_stage,
replicationRunStageDetails_stageProgress,
-- * S3Location
S3Location (..),
newS3Location,
s3Location_bucket,
s3Location_key,
-- * SSMOutput
SSMOutput (..),
newSSMOutput,
sSMOutput_s3Location,
-- * SSMValidationParameters
SSMValidationParameters (..),
newSSMValidationParameters,
sSMValidationParameters_command,
sSMValidationParameters_executionTimeoutSeconds,
sSMValidationParameters_instanceId,
sSMValidationParameters_outputS3BucketName,
sSMValidationParameters_scriptType,
sSMValidationParameters_source,
-- * Server
Server (..),
newServer,
server_replicationJobId,
server_replicationJobTerminated,
server_serverId,
server_serverType,
server_vmServer,
-- * ServerGroup
ServerGroup (..),
newServerGroup,
serverGroup_name,
serverGroup_serverGroupId,
serverGroup_serverList,
-- * ServerGroupLaunchConfiguration
ServerGroupLaunchConfiguration (..),
newServerGroupLaunchConfiguration,
serverGroupLaunchConfiguration_launchOrder,
serverGroupLaunchConfiguration_serverGroupId,
serverGroupLaunchConfiguration_serverLaunchConfigurations,
-- * ServerGroupReplicationConfiguration
ServerGroupReplicationConfiguration (..),
newServerGroupReplicationConfiguration,
serverGroupReplicationConfiguration_serverGroupId,
serverGroupReplicationConfiguration_serverReplicationConfigurations,
-- * ServerGroupValidationConfiguration
ServerGroupValidationConfiguration (..),
newServerGroupValidationConfiguration,
serverGroupValidationConfiguration_serverGroupId,
serverGroupValidationConfiguration_serverValidationConfigurations,
-- * ServerLaunchConfiguration
ServerLaunchConfiguration (..),
newServerLaunchConfiguration,
serverLaunchConfiguration_associatePublicIpAddress,
serverLaunchConfiguration_configureScript,
serverLaunchConfiguration_configureScriptType,
serverLaunchConfiguration_ec2KeyName,
serverLaunchConfiguration_iamInstanceProfileName,
serverLaunchConfiguration_instanceType,
serverLaunchConfiguration_logicalId,
serverLaunchConfiguration_securityGroup,
serverLaunchConfiguration_server,
serverLaunchConfiguration_subnet,
serverLaunchConfiguration_userData,
serverLaunchConfiguration_vpc,
-- * ServerReplicationConfiguration
ServerReplicationConfiguration (..),
newServerReplicationConfiguration,
serverReplicationConfiguration_server,
serverReplicationConfiguration_serverReplicationParameters,
-- * ServerReplicationParameters
ServerReplicationParameters (..),
newServerReplicationParameters,
serverReplicationParameters_encrypted,
serverReplicationParameters_frequency,
serverReplicationParameters_kmsKeyId,
serverReplicationParameters_licenseType,
serverReplicationParameters_numberOfRecentAmisToKeep,
serverReplicationParameters_runOnce,
serverReplicationParameters_seedTime,
-- * ServerValidationConfiguration
ServerValidationConfiguration (..),
newServerValidationConfiguration,
serverValidationConfiguration_name,
serverValidationConfiguration_server,
serverValidationConfiguration_serverValidationStrategy,
serverValidationConfiguration_userDataValidationParameters,
serverValidationConfiguration_validationId,
-- * ServerValidationOutput
ServerValidationOutput (..),
newServerValidationOutput,
serverValidationOutput_server,
-- * Source
Source (..),
newSource,
source_s3Location,
-- * Tag
Tag (..),
newTag,
tag_key,
tag_value,
-- * UserData
UserData (..),
newUserData,
userData_s3Location,
-- * UserDataValidationParameters
UserDataValidationParameters (..),
newUserDataValidationParameters,
userDataValidationParameters_scriptType,
userDataValidationParameters_source,
-- * ValidationOutput
ValidationOutput (..),
newValidationOutput,
validationOutput_appValidationOutput,
validationOutput_latestValidationTime,
validationOutput_name,
validationOutput_serverValidationOutput,
validationOutput_status,
validationOutput_statusMessage,
validationOutput_validationId,
-- * VmServer
VmServer (..),
newVmServer,
vmServer_vmManagerName,
vmServer_vmManagerType,
vmServer_vmName,
vmServer_vmPath,
vmServer_vmServerAddress,
-- * VmServerAddress
VmServerAddress (..),
newVmServerAddress,
vmServerAddress_vmId,
vmServerAddress_vmManagerId,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.SMS.Types.AppLaunchConfigurationStatus
import Amazonka.SMS.Types.AppLaunchStatus
import Amazonka.SMS.Types.AppReplicationConfigurationStatus
import Amazonka.SMS.Types.AppReplicationStatus
import Amazonka.SMS.Types.AppStatus
import Amazonka.SMS.Types.AppSummary
import Amazonka.SMS.Types.AppValidationConfiguration
import Amazonka.SMS.Types.AppValidationOutput
import Amazonka.SMS.Types.AppValidationStrategy
import Amazonka.SMS.Types.Connector
import Amazonka.SMS.Types.ConnectorCapability
import Amazonka.SMS.Types.ConnectorStatus
import Amazonka.SMS.Types.LaunchDetails
import Amazonka.SMS.Types.LicenseType
import Amazonka.SMS.Types.NotificationContext
import Amazonka.SMS.Types.OutputFormat
import Amazonka.SMS.Types.ReplicationJob
import Amazonka.SMS.Types.ReplicationJobState
import Amazonka.SMS.Types.ReplicationRun
import Amazonka.SMS.Types.ReplicationRunStageDetails
import Amazonka.SMS.Types.ReplicationRunState
import Amazonka.SMS.Types.ReplicationRunType
import Amazonka.SMS.Types.S3Location
import Amazonka.SMS.Types.SSMOutput
import Amazonka.SMS.Types.SSMValidationParameters
import Amazonka.SMS.Types.ScriptType
import Amazonka.SMS.Types.Server
import Amazonka.SMS.Types.ServerCatalogStatus
import Amazonka.SMS.Types.ServerGroup
import Amazonka.SMS.Types.ServerGroupLaunchConfiguration
import Amazonka.SMS.Types.ServerGroupReplicationConfiguration
import Amazonka.SMS.Types.ServerGroupValidationConfiguration
import Amazonka.SMS.Types.ServerLaunchConfiguration
import Amazonka.SMS.Types.ServerReplicationConfiguration
import Amazonka.SMS.Types.ServerReplicationParameters
import Amazonka.SMS.Types.ServerType
import Amazonka.SMS.Types.ServerValidationConfiguration
import Amazonka.SMS.Types.ServerValidationOutput
import Amazonka.SMS.Types.ServerValidationStrategy
import Amazonka.SMS.Types.Source
import Amazonka.SMS.Types.Tag
import Amazonka.SMS.Types.UserData
import Amazonka.SMS.Types.UserDataValidationParameters
import Amazonka.SMS.Types.ValidationOutput
import Amazonka.SMS.Types.ValidationStatus
import Amazonka.SMS.Types.VmManagerType
import Amazonka.SMS.Types.VmServer
import Amazonka.SMS.Types.VmServerAddress
import qualified Amazonka.Sign.V4 as Sign
-- | API version @2016-10-24@ of the Amazon Server Migration Service SDK configuration.
defaultService :: Core.Service
defaultService =
Core.Service
{ Core.abbrev = "SMS",
Core.signer = Sign.v4,
Core.endpointPrefix = "sms",
Core.signingName = "sms",
Core.version = "2016-10-24",
Core.s3AddressingStyle = Core.S3AddressingStyleAuto,
Core.endpoint = Core.defaultEndpoint defaultService,
Core.timeout = Prelude.Just 70,
Core.check = Core.statusSuccess,
Core.error = Core.parseJSONError "SMS",
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
-- | The user has the required permissions, so the request would have
-- succeeded, but a dry run was performed.
_DryRunOperationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_DryRunOperationException =
Core._MatchServiceError
defaultService
"DryRunOperationException"
-- | An internal error occurred.
_InternalError :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InternalError =
Core._MatchServiceError
defaultService
"InternalError"
-- | A specified parameter is not valid.
_InvalidParameterException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InvalidParameterException =
Core._MatchServiceError
defaultService
"InvalidParameterException"
-- | A required parameter is missing.
_MissingRequiredParameterException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_MissingRequiredParameterException =
Core._MatchServiceError
defaultService
"MissingRequiredParameterException"
-- | There are no connectors available.
_NoConnectorsAvailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_NoConnectorsAvailableException =
Core._MatchServiceError
defaultService
"NoConnectorsAvailableException"
-- | This operation is not allowed.
_OperationNotPermittedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_OperationNotPermittedException =
Core._MatchServiceError
defaultService
"OperationNotPermittedException"
-- | The specified replication job already exists.
_ReplicationJobAlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ReplicationJobAlreadyExistsException =
Core._MatchServiceError
defaultService
"ReplicationJobAlreadyExistsException"
-- | The specified replication job does not exist.
_ReplicationJobNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ReplicationJobNotFoundException =
Core._MatchServiceError
defaultService
"ReplicationJobNotFoundException"
-- | You have exceeded the number of on-demand replication runs you can
-- request in a 24-hour period.
_ReplicationRunLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ReplicationRunLimitExceededException =
Core._MatchServiceError
defaultService
"ReplicationRunLimitExceededException"
-- | The specified server cannot be replicated.
_ServerCannotBeReplicatedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ServerCannotBeReplicatedException =
Core._MatchServiceError
defaultService
"ServerCannotBeReplicatedException"
-- | The service is temporarily unavailable.
_TemporarilyUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_TemporarilyUnavailableException =
Core._MatchServiceError
defaultService
"TemporarilyUnavailableException"
-- | You lack permissions needed to perform this operation. Check your IAM
-- policies, and ensure that you are using the correct access keys.
_UnauthorizedOperationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_UnauthorizedOperationException =
Core._MatchServiceError
defaultService
"UnauthorizedOperationException"