-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon Server Migration Service SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, 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 such
--   as <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.SMS</a> or <a>the AWS documentation</a> to get
--   started.
@package amazonka-sms
@version 1.6.1


module Network.AWS.SMS.Types

-- | API version <tt>2016-10-24</tt> of the Amazon Server Migration Service
--   SDK configuration.
sms :: Service

-- | This user has exceeded the maximum allowed Replication Run limit.
_ReplicationRunLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A parameter specified in the request is not valid, is unsupported, or
--   cannot be used.
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | No connectors are available to handle this request. Please associate
--   connector(s) and verify any existing connectors are healthy and can
--   respond to requests.
_NoConnectorsAvailableException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified Replication Job cannot be found.
_ReplicationJobNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The provided server cannot be replicated.
_ServerCannotBeReplicatedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An internal error has occured.
_InternalError :: AsError a => Getting (First ServiceError) a ServiceError

-- | An active Replication Job already exists for the specified server.
_ReplicationJobAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified operation is not allowed. This error can occur for a
--   number of reasons; for example, you might be trying to start a
--   Replication Run before seed Replication Run.
_OperationNotPermittedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request is missing a required parameter. Ensure that you have
--   supplied all the required parameters for the request.
_MissingRequiredParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | This user does not have permissions to perform this operation.
_UnauthorizedOperationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Capabilities for a Connector
data ConnectorCapability
CCVsphere :: ConnectorCapability

-- | Status of on-premise Connector
data ConnectorStatus
Healthy :: ConnectorStatus
Unhealthy :: ConnectorStatus

-- | The license type to be used for the Amazon Machine Image (AMI) created
--   after a successful ReplicationRun.
data LicenseType
AWS :: LicenseType
Byol :: LicenseType

-- | Current state of Replication Job
data ReplicationJobState
RJSActive :: ReplicationJobState
RJSDeleted :: ReplicationJobState
RJSDeleting :: ReplicationJobState
RJSFailed :: ReplicationJobState
RJSPending :: ReplicationJobState

-- | Current state of Replication Run
data ReplicationRunState
RRSActive :: ReplicationRunState
RRSCompleted :: ReplicationRunState
RRSDeleted :: ReplicationRunState
RRSDeleting :: ReplicationRunState
RRSFailed :: ReplicationRunState
RRSMissed :: ReplicationRunState
RRSPending :: ReplicationRunState

-- | Type of Replication Run
data ReplicationRunType
Automatic :: ReplicationRunType
OnDemand :: ReplicationRunType

-- | Status of Server catalog
data ServerCatalogStatus
Available :: ServerCatalogStatus
Deleted :: ServerCatalogStatus
Expired :: ServerCatalogStatus
Importing :: ServerCatalogStatus
NotImported :: ServerCatalogStatus

-- | Type of server.
data ServerType
VirtualMachine :: ServerType

-- | VM Management Product
data VMManagerType
Vsphere :: VMManagerType

-- | Object representing a Connector
--   
--   <i>See:</i> <a>connector</a> smart constructor.
data Connector

-- | Creates a value of <a>Connector</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cStatus</a> - Undocumented member.</li>
--   <li><a>cVmManagerName</a> - Undocumented member.</li>
--   <li><a>cIpAddress</a> - Undocumented member.</li>
--   <li><a>cVmManagerId</a> - Undocumented member.</li>
--   <li><a>cVmManagerType</a> - Undocumented member.</li>
--   <li><a>cConnectorId</a> - Undocumented member.</li>
--   <li><a>cAssociatedOn</a> - Undocumented member.</li>
--   <li><a>cMacAddress</a> - Undocumented member.</li>
--   <li><a>cVersion</a> - Undocumented member.</li>
--   <li><a>cCapabilityList</a> - Undocumented member.</li>
--   </ul>
connector :: Connector

-- | Undocumented member.
cStatus :: Lens' Connector (Maybe ConnectorStatus)

-- | Undocumented member.
cVmManagerName :: Lens' Connector (Maybe Text)

-- | Undocumented member.
cIpAddress :: Lens' Connector (Maybe Text)

-- | Undocumented member.
cVmManagerId :: Lens' Connector (Maybe Text)

-- | Undocumented member.
cVmManagerType :: Lens' Connector (Maybe VMManagerType)

-- | Undocumented member.
cConnectorId :: Lens' Connector (Maybe Text)

-- | Undocumented member.
cAssociatedOn :: Lens' Connector (Maybe UTCTime)

-- | Undocumented member.
cMacAddress :: Lens' Connector (Maybe Text)

-- | Undocumented member.
cVersion :: Lens' Connector (Maybe Text)

-- | Undocumented member.
cCapabilityList :: Lens' Connector [ConnectorCapability]

-- | Object representing a Replication Job
--   
--   <i>See:</i> <a>replicationJob</a> smart constructor.
data ReplicationJob

-- | Creates a value of <a>ReplicationJob</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rjFrequency</a> - Undocumented member.</li>
--   <li><a>rjState</a> - Undocumented member.</li>
--   <li><a>rjServerType</a> - Undocumented member.</li>
--   <li><a>rjServerId</a> - Undocumented member.</li>
--   <li><a>rjLicenseType</a> - Undocumented member.</li>
--   <li><a>rjRoleName</a> - Undocumented member.</li>
--   <li><a>rjVmServer</a> - Undocumented member.</li>
--   <li><a>rjReplicationJobId</a> - Undocumented member.</li>
--   <li><a>rjReplicationRunList</a> - Undocumented member.</li>
--   <li><a>rjNextReplicationRunStartTime</a> - Undocumented member.</li>
--   <li><a>rjStatusMessage</a> - Undocumented member.</li>
--   <li><a>rjLatestAMIId</a> - Undocumented member.</li>
--   <li><a>rjSeedReplicationTime</a> - Undocumented member.</li>
--   <li><a>rjDescription</a> - Undocumented member.</li>
--   </ul>
replicationJob :: ReplicationJob

-- | Undocumented member.
rjFrequency :: Lens' ReplicationJob (Maybe Int)

-- | Undocumented member.
rjState :: Lens' ReplicationJob (Maybe ReplicationJobState)

-- | Undocumented member.
rjServerType :: Lens' ReplicationJob (Maybe ServerType)

-- | Undocumented member.
rjServerId :: Lens' ReplicationJob (Maybe Text)

-- | Undocumented member.
rjLicenseType :: Lens' ReplicationJob (Maybe LicenseType)

-- | Undocumented member.
rjRoleName :: Lens' ReplicationJob (Maybe Text)

-- | Undocumented member.
rjVmServer :: Lens' ReplicationJob (Maybe VMServer)

-- | Undocumented member.
rjReplicationJobId :: Lens' ReplicationJob (Maybe Text)

-- | Undocumented member.
rjReplicationRunList :: Lens' ReplicationJob [ReplicationRun]

-- | Undocumented member.
rjNextReplicationRunStartTime :: Lens' ReplicationJob (Maybe UTCTime)

-- | Undocumented member.
rjStatusMessage :: Lens' ReplicationJob (Maybe Text)

-- | Undocumented member.
rjLatestAMIId :: Lens' ReplicationJob (Maybe Text)

-- | Undocumented member.
rjSeedReplicationTime :: Lens' ReplicationJob (Maybe UTCTime)

-- | Undocumented member.
rjDescription :: Lens' ReplicationJob (Maybe Text)

-- | Object representing a Replication Run
--   
--   <i>See:</i> <a>replicationRun</a> smart constructor.
data ReplicationRun

-- | Creates a value of <a>ReplicationRun</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rrState</a> - Undocumented member.</li>
--   <li><a>rrReplicationRunId</a> - Undocumented member.</li>
--   <li><a>rrScheduledStartTime</a> - Undocumented member.</li>
--   <li><a>rrStatusMessage</a> - Undocumented member.</li>
--   <li><a>rrCompletedTime</a> - Undocumented member.</li>
--   <li><a>rrAmiId</a> - Undocumented member.</li>
--   <li><a>rrType</a> - Undocumented member.</li>
--   <li><a>rrDescription</a> - Undocumented member.</li>
--   </ul>
replicationRun :: ReplicationRun

-- | Undocumented member.
rrState :: Lens' ReplicationRun (Maybe ReplicationRunState)

-- | Undocumented member.
rrReplicationRunId :: Lens' ReplicationRun (Maybe Text)

-- | Undocumented member.
rrScheduledStartTime :: Lens' ReplicationRun (Maybe UTCTime)

-- | Undocumented member.
rrStatusMessage :: Lens' ReplicationRun (Maybe Text)

-- | Undocumented member.
rrCompletedTime :: Lens' ReplicationRun (Maybe UTCTime)

-- | Undocumented member.
rrAmiId :: Lens' ReplicationRun (Maybe Text)

-- | Undocumented member.
rrType :: Lens' ReplicationRun (Maybe ReplicationRunType)

-- | Undocumented member.
rrDescription :: Lens' ReplicationRun (Maybe Text)

-- | Object representing a server
--   
--   <i>See:</i> <a>server</a> smart constructor.
data Server

-- | Creates a value of <a>Server</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sServerType</a> - Undocumented member.</li>
--   <li><a>sServerId</a> - Undocumented member.</li>
--   <li><a>sReplicationJobTerminated</a> - Undocumented member.</li>
--   <li><a>sVmServer</a> - Undocumented member.</li>
--   <li><a>sReplicationJobId</a> - Undocumented member.</li>
--   </ul>
server :: Server

-- | Undocumented member.
sServerType :: Lens' Server (Maybe ServerType)

-- | Undocumented member.
sServerId :: Lens' Server (Maybe Text)

-- | Undocumented member.
sReplicationJobTerminated :: Lens' Server (Maybe Bool)

-- | Undocumented member.
sVmServer :: Lens' Server (Maybe VMServer)

-- | Undocumented member.
sReplicationJobId :: Lens' Server (Maybe Text)

-- | Object representing a VM server
--   
--   <i>See:</i> <a>vMServer</a> smart constructor.
data VMServer

-- | Creates a value of <a>VMServer</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vmsVmManagerName</a> - Undocumented member.</li>
--   <li><a>vmsVmManagerType</a> - Undocumented member.</li>
--   <li><a>vmsVmServerAddress</a> - Undocumented member.</li>
--   <li><a>vmsVmName</a> - Undocumented member.</li>
--   <li><a>vmsVmPath</a> - Undocumented member.</li>
--   </ul>
vMServer :: VMServer

-- | Undocumented member.
vmsVmManagerName :: Lens' VMServer (Maybe Text)

-- | Undocumented member.
vmsVmManagerType :: Lens' VMServer (Maybe VMManagerType)

-- | Undocumented member.
vmsVmServerAddress :: Lens' VMServer (Maybe VMServerAddress)

-- | Undocumented member.
vmsVmName :: Lens' VMServer (Maybe Text)

-- | Undocumented member.
vmsVmPath :: Lens' VMServer (Maybe Text)

-- | Object representing a server's location
--   
--   <i>See:</i> <a>vMServerAddress</a> smart constructor.
data VMServerAddress

-- | Creates a value of <a>VMServerAddress</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vmsaVmManagerId</a> - Undocumented member.</li>
--   <li><a>vmsaVmId</a> - Undocumented member.</li>
--   </ul>
vMServerAddress :: VMServerAddress

-- | Undocumented member.
vmsaVmManagerId :: Lens' VMServerAddress (Maybe Text)

-- | Undocumented member.
vmsaVmId :: Lens' VMServerAddress (Maybe Text)


-- | The StartOnDemandReplicationRun API is used to start a ReplicationRun
--   on demand (in addition to those that are scheduled based on your
--   frequency). This ReplicationRun will start immediately.
--   StartOnDemandReplicationRun is subject to limits on how many on demand
--   ReplicationRuns you may call per 24-hour period.
module Network.AWS.SMS.StartOnDemandReplicationRun

-- | Creates a value of <a>StartOnDemandReplicationRun</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sodrrDescription</a> - Undocumented member.</li>
--   <li><a>sodrrReplicationJobId</a> - Undocumented member.</li>
--   </ul>
startOnDemandReplicationRun :: Text -> StartOnDemandReplicationRun

-- | <i>See:</i> <a>startOnDemandReplicationRun</a> smart constructor.
data StartOnDemandReplicationRun

-- | Undocumented member.
sodrrDescription :: Lens' StartOnDemandReplicationRun (Maybe Text)

-- | Undocumented member.
sodrrReplicationJobId :: Lens' StartOnDemandReplicationRun Text

-- | Creates a value of <a>StartOnDemandReplicationRunResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sodrrrsReplicationRunId</a> - Undocumented member.</li>
--   <li><a>sodrrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
startOnDemandReplicationRunResponse :: Int -> StartOnDemandReplicationRunResponse

-- | <i>See:</i> <a>startOnDemandReplicationRunResponse</a> smart
--   constructor.
data StartOnDemandReplicationRunResponse

-- | Undocumented member.
sodrrrsReplicationRunId :: Lens' StartOnDemandReplicationRunResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
sodrrrsResponseStatus :: Lens' StartOnDemandReplicationRunResponse Int
instance GHC.Generics.Generic Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRunResponse
instance Data.Data.Data Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRunResponse
instance GHC.Show.Show Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRunResponse
instance GHC.Read.Read Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRunResponse
instance GHC.Classes.Eq Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRunResponse
instance GHC.Generics.Generic Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRun
instance Data.Data.Data Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRun
instance GHC.Show.Show Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRun
instance GHC.Read.Read Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRun
instance GHC.Classes.Eq Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRun
instance Network.AWS.Types.AWSRequest Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRun
instance Control.DeepSeq.NFData Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRunResponse
instance Data.Hashable.Class.Hashable Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRun
instance Control.DeepSeq.NFData Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRun
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRun
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRun
instance Network.AWS.Data.Path.ToPath Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRun
instance Network.AWS.Data.Query.ToQuery Network.AWS.SMS.StartOnDemandReplicationRun.StartOnDemandReplicationRun


-- | The ImportServerCatalog API is used to gather the complete list of
--   on-premises servers on your premises. This API call requires
--   connectors to be installed and monitoring all servers you would like
--   imported. This API call returns immediately, but may take some time to
--   retrieve all of the servers.
module Network.AWS.SMS.ImportServerCatalog

-- | Creates a value of <a>ImportServerCatalog</a> with the minimum fields
--   required to make a request.
importServerCatalog :: ImportServerCatalog

-- | <i>See:</i> <a>importServerCatalog</a> smart constructor.
data ImportServerCatalog

-- | Creates a value of <a>ImportServerCatalogResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iscrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
importServerCatalogResponse :: Int -> ImportServerCatalogResponse

-- | <i>See:</i> <a>importServerCatalogResponse</a> smart constructor.
data ImportServerCatalogResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
iscrsResponseStatus :: Lens' ImportServerCatalogResponse Int
instance GHC.Generics.Generic Network.AWS.SMS.ImportServerCatalog.ImportServerCatalogResponse
instance Data.Data.Data Network.AWS.SMS.ImportServerCatalog.ImportServerCatalogResponse
instance GHC.Show.Show Network.AWS.SMS.ImportServerCatalog.ImportServerCatalogResponse
instance GHC.Read.Read Network.AWS.SMS.ImportServerCatalog.ImportServerCatalogResponse
instance GHC.Classes.Eq Network.AWS.SMS.ImportServerCatalog.ImportServerCatalogResponse
instance GHC.Generics.Generic Network.AWS.SMS.ImportServerCatalog.ImportServerCatalog
instance Data.Data.Data Network.AWS.SMS.ImportServerCatalog.ImportServerCatalog
instance GHC.Show.Show Network.AWS.SMS.ImportServerCatalog.ImportServerCatalog
instance GHC.Read.Read Network.AWS.SMS.ImportServerCatalog.ImportServerCatalog
instance GHC.Classes.Eq Network.AWS.SMS.ImportServerCatalog.ImportServerCatalog
instance Network.AWS.Types.AWSRequest Network.AWS.SMS.ImportServerCatalog.ImportServerCatalog
instance Control.DeepSeq.NFData Network.AWS.SMS.ImportServerCatalog.ImportServerCatalogResponse
instance Data.Hashable.Class.Hashable Network.AWS.SMS.ImportServerCatalog.ImportServerCatalog
instance Control.DeepSeq.NFData Network.AWS.SMS.ImportServerCatalog.ImportServerCatalog
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SMS.ImportServerCatalog.ImportServerCatalog
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SMS.ImportServerCatalog.ImportServerCatalog
instance Network.AWS.Data.Path.ToPath Network.AWS.SMS.ImportServerCatalog.ImportServerCatalog
instance Network.AWS.Data.Query.ToQuery Network.AWS.SMS.ImportServerCatalog.ImportServerCatalog


-- | The GetServers API returns a list of all servers in your server
--   catalog. For this call to succeed, you must previously have called
--   ImportServerCatalog.
--   
--   This operation returns paginated results.
module Network.AWS.SMS.GetServers

-- | Creates a value of <a>GetServers</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gsNextToken</a> - Undocumented member.</li>
--   <li><a>gsMaxResults</a> - Undocumented member.</li>
--   </ul>
getServers :: GetServers

-- | <i>See:</i> <a>getServers</a> smart constructor.
data GetServers

-- | Undocumented member.
gsNextToken :: Lens' GetServers (Maybe Text)

-- | Undocumented member.
gsMaxResults :: Lens' GetServers (Maybe Int)

-- | Creates a value of <a>GetServersResponse</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gsrsServerCatalogStatus</a> - Undocumented member.</li>
--   <li><a>gsrsLastModifiedOn</a> - Undocumented member.</li>
--   <li><a>gsrsNextToken</a> - Undocumented member.</li>
--   <li><a>gsrsServerList</a> - Undocumented member.</li>
--   <li><a>gsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getServersResponse :: Int -> GetServersResponse

-- | <i>See:</i> <a>getServersResponse</a> smart constructor.
data GetServersResponse

-- | Undocumented member.
gsrsServerCatalogStatus :: Lens' GetServersResponse (Maybe ServerCatalogStatus)

-- | Undocumented member.
gsrsLastModifiedOn :: Lens' GetServersResponse (Maybe UTCTime)

-- | Undocumented member.
gsrsNextToken :: Lens' GetServersResponse (Maybe Text)

-- | Undocumented member.
gsrsServerList :: Lens' GetServersResponse [Server]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gsrsResponseStatus :: Lens' GetServersResponse Int
instance GHC.Generics.Generic Network.AWS.SMS.GetServers.GetServersResponse
instance Data.Data.Data Network.AWS.SMS.GetServers.GetServersResponse
instance GHC.Show.Show Network.AWS.SMS.GetServers.GetServersResponse
instance GHC.Read.Read Network.AWS.SMS.GetServers.GetServersResponse
instance GHC.Classes.Eq Network.AWS.SMS.GetServers.GetServersResponse
instance GHC.Generics.Generic Network.AWS.SMS.GetServers.GetServers
instance Data.Data.Data Network.AWS.SMS.GetServers.GetServers
instance GHC.Show.Show Network.AWS.SMS.GetServers.GetServers
instance GHC.Read.Read Network.AWS.SMS.GetServers.GetServers
instance GHC.Classes.Eq Network.AWS.SMS.GetServers.GetServers
instance Network.AWS.Types.AWSRequest Network.AWS.SMS.GetServers.GetServers
instance Control.DeepSeq.NFData Network.AWS.SMS.GetServers.GetServersResponse
instance Network.AWS.Pager.AWSPager Network.AWS.SMS.GetServers.GetServers
instance Data.Hashable.Class.Hashable Network.AWS.SMS.GetServers.GetServers
instance Control.DeepSeq.NFData Network.AWS.SMS.GetServers.GetServers
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SMS.GetServers.GetServers
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SMS.GetServers.GetServers
instance Network.AWS.Data.Path.ToPath Network.AWS.SMS.GetServers.GetServers
instance Network.AWS.Data.Query.ToQuery Network.AWS.SMS.GetServers.GetServers


-- | The GetReplicationRuns API will return all ReplicationRuns for a given
--   ReplicationJob. This API returns a paginated list, that may be
--   consecutively called with nextToken to retrieve all ReplicationRuns
--   for a ReplicationJob.
--   
--   This operation returns paginated results.
module Network.AWS.SMS.GetReplicationRuns

-- | Creates a value of <a>GetReplicationRuns</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grrNextToken</a> - Undocumented member.</li>
--   <li><a>grrMaxResults</a> - Undocumented member.</li>
--   <li><a>grrReplicationJobId</a> - Undocumented member.</li>
--   </ul>
getReplicationRuns :: Text -> GetReplicationRuns

-- | <i>See:</i> <a>getReplicationRuns</a> smart constructor.
data GetReplicationRuns

-- | Undocumented member.
grrNextToken :: Lens' GetReplicationRuns (Maybe Text)

-- | Undocumented member.
grrMaxResults :: Lens' GetReplicationRuns (Maybe Int)

-- | Undocumented member.
grrReplicationJobId :: Lens' GetReplicationRuns Text

-- | Creates a value of <a>GetReplicationRunsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grrrsReplicationJob</a> - Undocumented member.</li>
--   <li><a>grrrsNextToken</a> - Undocumented member.</li>
--   <li><a>grrrsReplicationRunList</a> - Undocumented member.</li>
--   <li><a>grrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getReplicationRunsResponse :: Int -> GetReplicationRunsResponse

-- | <i>See:</i> <a>getReplicationRunsResponse</a> smart constructor.
data GetReplicationRunsResponse

-- | Undocumented member.
grrrsReplicationJob :: Lens' GetReplicationRunsResponse (Maybe ReplicationJob)

-- | Undocumented member.
grrrsNextToken :: Lens' GetReplicationRunsResponse (Maybe Text)

-- | Undocumented member.
grrrsReplicationRunList :: Lens' GetReplicationRunsResponse [ReplicationRun]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
grrrsResponseStatus :: Lens' GetReplicationRunsResponse Int
instance GHC.Generics.Generic Network.AWS.SMS.GetReplicationRuns.GetReplicationRunsResponse
instance Data.Data.Data Network.AWS.SMS.GetReplicationRuns.GetReplicationRunsResponse
instance GHC.Show.Show Network.AWS.SMS.GetReplicationRuns.GetReplicationRunsResponse
instance GHC.Read.Read Network.AWS.SMS.GetReplicationRuns.GetReplicationRunsResponse
instance GHC.Classes.Eq Network.AWS.SMS.GetReplicationRuns.GetReplicationRunsResponse
instance GHC.Generics.Generic Network.AWS.SMS.GetReplicationRuns.GetReplicationRuns
instance Data.Data.Data Network.AWS.SMS.GetReplicationRuns.GetReplicationRuns
instance GHC.Show.Show Network.AWS.SMS.GetReplicationRuns.GetReplicationRuns
instance GHC.Read.Read Network.AWS.SMS.GetReplicationRuns.GetReplicationRuns
instance GHC.Classes.Eq Network.AWS.SMS.GetReplicationRuns.GetReplicationRuns
instance Network.AWS.Types.AWSRequest Network.AWS.SMS.GetReplicationRuns.GetReplicationRuns
instance Control.DeepSeq.NFData Network.AWS.SMS.GetReplicationRuns.GetReplicationRunsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.SMS.GetReplicationRuns.GetReplicationRuns
instance Data.Hashable.Class.Hashable Network.AWS.SMS.GetReplicationRuns.GetReplicationRuns
instance Control.DeepSeq.NFData Network.AWS.SMS.GetReplicationRuns.GetReplicationRuns
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SMS.GetReplicationRuns.GetReplicationRuns
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SMS.GetReplicationRuns.GetReplicationRuns
instance Network.AWS.Data.Path.ToPath Network.AWS.SMS.GetReplicationRuns.GetReplicationRuns
instance Network.AWS.Data.Query.ToQuery Network.AWS.SMS.GetReplicationRuns.GetReplicationRuns


-- | The GetReplicationJobs API will return all of your ReplicationJobs and
--   their details. This API returns a paginated list, that may be
--   consecutively called with nextToken to retrieve all ReplicationJobs.
--   
--   This operation returns paginated results.
module Network.AWS.SMS.GetReplicationJobs

-- | Creates a value of <a>GetReplicationJobs</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grjReplicationJobId</a> - Undocumented member.</li>
--   <li><a>grjNextToken</a> - Undocumented member.</li>
--   <li><a>grjMaxResults</a> - Undocumented member.</li>
--   </ul>
getReplicationJobs :: GetReplicationJobs

-- | <i>See:</i> <a>getReplicationJobs</a> smart constructor.
data GetReplicationJobs

-- | Undocumented member.
grjReplicationJobId :: Lens' GetReplicationJobs (Maybe Text)

-- | Undocumented member.
grjNextToken :: Lens' GetReplicationJobs (Maybe Text)

-- | Undocumented member.
grjMaxResults :: Lens' GetReplicationJobs (Maybe Int)

-- | Creates a value of <a>GetReplicationJobsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>grjrsReplicationJobList</a> - Undocumented member.</li>
--   <li><a>grjrsNextToken</a> - Undocumented member.</li>
--   <li><a>grjrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getReplicationJobsResponse :: Int -> GetReplicationJobsResponse

-- | <i>See:</i> <a>getReplicationJobsResponse</a> smart constructor.
data GetReplicationJobsResponse

-- | Undocumented member.
grjrsReplicationJobList :: Lens' GetReplicationJobsResponse [ReplicationJob]

-- | Undocumented member.
grjrsNextToken :: Lens' GetReplicationJobsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
grjrsResponseStatus :: Lens' GetReplicationJobsResponse Int
instance GHC.Generics.Generic Network.AWS.SMS.GetReplicationJobs.GetReplicationJobsResponse
instance Data.Data.Data Network.AWS.SMS.GetReplicationJobs.GetReplicationJobsResponse
instance GHC.Show.Show Network.AWS.SMS.GetReplicationJobs.GetReplicationJobsResponse
instance GHC.Read.Read Network.AWS.SMS.GetReplicationJobs.GetReplicationJobsResponse
instance GHC.Classes.Eq Network.AWS.SMS.GetReplicationJobs.GetReplicationJobsResponse
instance GHC.Generics.Generic Network.AWS.SMS.GetReplicationJobs.GetReplicationJobs
instance Data.Data.Data Network.AWS.SMS.GetReplicationJobs.GetReplicationJobs
instance GHC.Show.Show Network.AWS.SMS.GetReplicationJobs.GetReplicationJobs
instance GHC.Read.Read Network.AWS.SMS.GetReplicationJobs.GetReplicationJobs
instance GHC.Classes.Eq Network.AWS.SMS.GetReplicationJobs.GetReplicationJobs
instance Network.AWS.Types.AWSRequest Network.AWS.SMS.GetReplicationJobs.GetReplicationJobs
instance Control.DeepSeq.NFData Network.AWS.SMS.GetReplicationJobs.GetReplicationJobsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.SMS.GetReplicationJobs.GetReplicationJobs
instance Data.Hashable.Class.Hashable Network.AWS.SMS.GetReplicationJobs.GetReplicationJobs
instance Control.DeepSeq.NFData Network.AWS.SMS.GetReplicationJobs.GetReplicationJobs
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SMS.GetReplicationJobs.GetReplicationJobs
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SMS.GetReplicationJobs.GetReplicationJobs
instance Network.AWS.Data.Path.ToPath Network.AWS.SMS.GetReplicationJobs.GetReplicationJobs
instance Network.AWS.Data.Query.ToQuery Network.AWS.SMS.GetReplicationJobs.GetReplicationJobs


-- | The GetConnectors API returns a list of connectors that are registered
--   with the Server Migration Service.
--   
--   This operation returns paginated results.
module Network.AWS.SMS.GetConnectors

-- | Creates a value of <a>GetConnectors</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gcNextToken</a> - Undocumented member.</li>
--   <li><a>gcMaxResults</a> - Undocumented member.</li>
--   </ul>
getConnectors :: GetConnectors

-- | <i>See:</i> <a>getConnectors</a> smart constructor.
data GetConnectors

-- | Undocumented member.
gcNextToken :: Lens' GetConnectors (Maybe Text)

-- | Undocumented member.
gcMaxResults :: Lens' GetConnectors (Maybe Int)

-- | Creates a value of <a>GetConnectorsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gcrsConnectorList</a> - Undocumented member.</li>
--   <li><a>gcrsNextToken</a> - Undocumented member.</li>
--   <li><a>gcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getConnectorsResponse :: Int -> GetConnectorsResponse

-- | <i>See:</i> <a>getConnectorsResponse</a> smart constructor.
data GetConnectorsResponse

-- | Undocumented member.
gcrsConnectorList :: Lens' GetConnectorsResponse [Connector]

-- | Undocumented member.
gcrsNextToken :: Lens' GetConnectorsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gcrsResponseStatus :: Lens' GetConnectorsResponse Int
instance GHC.Generics.Generic Network.AWS.SMS.GetConnectors.GetConnectorsResponse
instance Data.Data.Data Network.AWS.SMS.GetConnectors.GetConnectorsResponse
instance GHC.Show.Show Network.AWS.SMS.GetConnectors.GetConnectorsResponse
instance GHC.Read.Read Network.AWS.SMS.GetConnectors.GetConnectorsResponse
instance GHC.Classes.Eq Network.AWS.SMS.GetConnectors.GetConnectorsResponse
instance GHC.Generics.Generic Network.AWS.SMS.GetConnectors.GetConnectors
instance Data.Data.Data Network.AWS.SMS.GetConnectors.GetConnectors
instance GHC.Show.Show Network.AWS.SMS.GetConnectors.GetConnectors
instance GHC.Read.Read Network.AWS.SMS.GetConnectors.GetConnectors
instance GHC.Classes.Eq Network.AWS.SMS.GetConnectors.GetConnectors
instance Network.AWS.Types.AWSRequest Network.AWS.SMS.GetConnectors.GetConnectors
instance Control.DeepSeq.NFData Network.AWS.SMS.GetConnectors.GetConnectorsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.SMS.GetConnectors.GetConnectors
instance Data.Hashable.Class.Hashable Network.AWS.SMS.GetConnectors.GetConnectors
instance Control.DeepSeq.NFData Network.AWS.SMS.GetConnectors.GetConnectors
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SMS.GetConnectors.GetConnectors
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SMS.GetConnectors.GetConnectors
instance Network.AWS.Data.Path.ToPath Network.AWS.SMS.GetConnectors.GetConnectors
instance Network.AWS.Data.Query.ToQuery Network.AWS.SMS.GetConnectors.GetConnectors


-- | The DisassociateConnector API will disassociate a connector from the
--   Server Migration Service, rendering it unavailable to support
--   replication jobs.
module Network.AWS.SMS.DisassociateConnector

-- | Creates a value of <a>DisassociateConnector</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcConnectorId</a> - Undocumented member.</li>
--   </ul>
disassociateConnector :: Text -> DisassociateConnector

-- | <i>See:</i> <a>disassociateConnector</a> smart constructor.
data DisassociateConnector

-- | Undocumented member.
dcConnectorId :: Lens' DisassociateConnector Text

-- | Creates a value of <a>DisassociateConnectorResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
disassociateConnectorResponse :: Int -> DisassociateConnectorResponse

-- | <i>See:</i> <a>disassociateConnectorResponse</a> smart constructor.
data DisassociateConnectorResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dcrsResponseStatus :: Lens' DisassociateConnectorResponse Int
instance GHC.Generics.Generic Network.AWS.SMS.DisassociateConnector.DisassociateConnectorResponse
instance Data.Data.Data Network.AWS.SMS.DisassociateConnector.DisassociateConnectorResponse
instance GHC.Show.Show Network.AWS.SMS.DisassociateConnector.DisassociateConnectorResponse
instance GHC.Read.Read Network.AWS.SMS.DisassociateConnector.DisassociateConnectorResponse
instance GHC.Classes.Eq Network.AWS.SMS.DisassociateConnector.DisassociateConnectorResponse
instance GHC.Generics.Generic Network.AWS.SMS.DisassociateConnector.DisassociateConnector
instance Data.Data.Data Network.AWS.SMS.DisassociateConnector.DisassociateConnector
instance GHC.Show.Show Network.AWS.SMS.DisassociateConnector.DisassociateConnector
instance GHC.Read.Read Network.AWS.SMS.DisassociateConnector.DisassociateConnector
instance GHC.Classes.Eq Network.AWS.SMS.DisassociateConnector.DisassociateConnector
instance Network.AWS.Types.AWSRequest Network.AWS.SMS.DisassociateConnector.DisassociateConnector
instance Control.DeepSeq.NFData Network.AWS.SMS.DisassociateConnector.DisassociateConnectorResponse
instance Data.Hashable.Class.Hashable Network.AWS.SMS.DisassociateConnector.DisassociateConnector
instance Control.DeepSeq.NFData Network.AWS.SMS.DisassociateConnector.DisassociateConnector
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SMS.DisassociateConnector.DisassociateConnector
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SMS.DisassociateConnector.DisassociateConnector
instance Network.AWS.Data.Path.ToPath Network.AWS.SMS.DisassociateConnector.DisassociateConnector
instance Network.AWS.Data.Query.ToQuery Network.AWS.SMS.DisassociateConnector.DisassociateConnector


-- | The DeleteServerCatalog API clears all servers from your server
--   catalog. This means that these servers will no longer be accessible to
--   the Server Migration Service.
module Network.AWS.SMS.DeleteServerCatalog

-- | Creates a value of <a>DeleteServerCatalog</a> with the minimum fields
--   required to make a request.
deleteServerCatalog :: DeleteServerCatalog

-- | <i>See:</i> <a>deleteServerCatalog</a> smart constructor.
data DeleteServerCatalog

-- | Creates a value of <a>DeleteServerCatalogResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dscrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteServerCatalogResponse :: Int -> DeleteServerCatalogResponse

-- | <i>See:</i> <a>deleteServerCatalogResponse</a> smart constructor.
data DeleteServerCatalogResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dscrsResponseStatus :: Lens' DeleteServerCatalogResponse Int
instance GHC.Generics.Generic Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalogResponse
instance Data.Data.Data Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalogResponse
instance GHC.Show.Show Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalogResponse
instance GHC.Read.Read Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalogResponse
instance GHC.Classes.Eq Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalogResponse
instance GHC.Generics.Generic Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalog
instance Data.Data.Data Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalog
instance GHC.Show.Show Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalog
instance GHC.Read.Read Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalog
instance GHC.Classes.Eq Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalog
instance Network.AWS.Types.AWSRequest Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalog
instance Control.DeepSeq.NFData Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalogResponse
instance Data.Hashable.Class.Hashable Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalog
instance Control.DeepSeq.NFData Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalog
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalog
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalog
instance Network.AWS.Data.Path.ToPath Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalog
instance Network.AWS.Data.Query.ToQuery Network.AWS.SMS.DeleteServerCatalog.DeleteServerCatalog


-- | The DeleteReplicationJob API is used to delete a ReplicationJob,
--   resulting in no further ReplicationRuns. This will delete the contents
--   of the S3 bucket used to store SMS artifacts, but will not delete any
--   AMIs created by the SMS service.
module Network.AWS.SMS.DeleteReplicationJob

-- | Creates a value of <a>DeleteReplicationJob</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drjReplicationJobId</a> - Undocumented member.</li>
--   </ul>
deleteReplicationJob :: Text -> DeleteReplicationJob

-- | <i>See:</i> <a>deleteReplicationJob</a> smart constructor.
data DeleteReplicationJob

-- | Undocumented member.
drjReplicationJobId :: Lens' DeleteReplicationJob Text

-- | Creates a value of <a>DeleteReplicationJobResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>drjrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteReplicationJobResponse :: Int -> DeleteReplicationJobResponse

-- | <i>See:</i> <a>deleteReplicationJobResponse</a> smart constructor.
data DeleteReplicationJobResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
drjrsResponseStatus :: Lens' DeleteReplicationJobResponse Int
instance GHC.Generics.Generic Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJobResponse
instance Data.Data.Data Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJobResponse
instance GHC.Show.Show Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJobResponse
instance GHC.Read.Read Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJobResponse
instance GHC.Classes.Eq Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJobResponse
instance GHC.Generics.Generic Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJob
instance Data.Data.Data Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJob
instance GHC.Show.Show Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJob
instance GHC.Read.Read Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJob
instance GHC.Classes.Eq Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJob
instance Network.AWS.Types.AWSRequest Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJob
instance Control.DeepSeq.NFData Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJobResponse
instance Data.Hashable.Class.Hashable Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJob
instance Control.DeepSeq.NFData Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJob
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJob
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJob
instance Network.AWS.Data.Path.ToPath Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJob
instance Network.AWS.Data.Query.ToQuery Network.AWS.SMS.DeleteReplicationJob.DeleteReplicationJob


-- | The CreateReplicationJob API is used to create a ReplicationJob to
--   replicate a server on AWS. Call this API to first create a
--   ReplicationJob, which will then schedule periodic ReplicationRuns to
--   replicate your server to AWS. Each ReplicationRun will result in the
--   creation of an AWS AMI.
module Network.AWS.SMS.CreateReplicationJob

-- | Creates a value of <a>CreateReplicationJob</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crjLicenseType</a> - Undocumented member.</li>
--   <li><a>crjRoleName</a> - Undocumented member.</li>
--   <li><a>crjDescription</a> - Undocumented member.</li>
--   <li><a>crjServerId</a> - Undocumented member.</li>
--   <li><a>crjSeedReplicationTime</a> - Undocumented member.</li>
--   <li><a>crjFrequency</a> - Undocumented member.</li>
--   </ul>
createReplicationJob :: Text -> UTCTime -> Int -> CreateReplicationJob

-- | <i>See:</i> <a>createReplicationJob</a> smart constructor.
data CreateReplicationJob

-- | Undocumented member.
crjLicenseType :: Lens' CreateReplicationJob (Maybe LicenseType)

-- | Undocumented member.
crjRoleName :: Lens' CreateReplicationJob (Maybe Text)

-- | Undocumented member.
crjDescription :: Lens' CreateReplicationJob (Maybe Text)

-- | Undocumented member.
crjServerId :: Lens' CreateReplicationJob Text

-- | Undocumented member.
crjSeedReplicationTime :: Lens' CreateReplicationJob UTCTime

-- | Undocumented member.
crjFrequency :: Lens' CreateReplicationJob Int

-- | Creates a value of <a>CreateReplicationJobResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>crjrsReplicationJobId</a> - Undocumented member.</li>
--   <li><a>crjrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createReplicationJobResponse :: Int -> CreateReplicationJobResponse

-- | <i>See:</i> <a>createReplicationJobResponse</a> smart constructor.
data CreateReplicationJobResponse

-- | Undocumented member.
crjrsReplicationJobId :: Lens' CreateReplicationJobResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
crjrsResponseStatus :: Lens' CreateReplicationJobResponse Int
instance GHC.Generics.Generic Network.AWS.SMS.CreateReplicationJob.CreateReplicationJobResponse
instance Data.Data.Data Network.AWS.SMS.CreateReplicationJob.CreateReplicationJobResponse
instance GHC.Show.Show Network.AWS.SMS.CreateReplicationJob.CreateReplicationJobResponse
instance GHC.Read.Read Network.AWS.SMS.CreateReplicationJob.CreateReplicationJobResponse
instance GHC.Classes.Eq Network.AWS.SMS.CreateReplicationJob.CreateReplicationJobResponse
instance GHC.Generics.Generic Network.AWS.SMS.CreateReplicationJob.CreateReplicationJob
instance Data.Data.Data Network.AWS.SMS.CreateReplicationJob.CreateReplicationJob
instance GHC.Show.Show Network.AWS.SMS.CreateReplicationJob.CreateReplicationJob
instance GHC.Read.Read Network.AWS.SMS.CreateReplicationJob.CreateReplicationJob
instance GHC.Classes.Eq Network.AWS.SMS.CreateReplicationJob.CreateReplicationJob
instance Network.AWS.Types.AWSRequest Network.AWS.SMS.CreateReplicationJob.CreateReplicationJob
instance Control.DeepSeq.NFData Network.AWS.SMS.CreateReplicationJob.CreateReplicationJobResponse
instance Data.Hashable.Class.Hashable Network.AWS.SMS.CreateReplicationJob.CreateReplicationJob
instance Control.DeepSeq.NFData Network.AWS.SMS.CreateReplicationJob.CreateReplicationJob
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SMS.CreateReplicationJob.CreateReplicationJob
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SMS.CreateReplicationJob.CreateReplicationJob
instance Network.AWS.Data.Path.ToPath Network.AWS.SMS.CreateReplicationJob.CreateReplicationJob
instance Network.AWS.Data.Query.ToQuery Network.AWS.SMS.CreateReplicationJob.CreateReplicationJob


-- | The UpdateReplicationJob API is used to change the settings of your
--   existing ReplicationJob created using CreateReplicationJob. Calling
--   this API will affect the next scheduled ReplicationRun.
module Network.AWS.SMS.UpdateReplicationJob

-- | Creates a value of <a>UpdateReplicationJob</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urjFrequency</a> - Undocumented member.</li>
--   <li><a>urjLicenseType</a> - Undocumented member.</li>
--   <li><a>urjRoleName</a> - Undocumented member.</li>
--   <li><a>urjNextReplicationRunStartTime</a> - Undocumented member.</li>
--   <li><a>urjDescription</a> - Undocumented member.</li>
--   <li><a>urjReplicationJobId</a> - Undocumented member.</li>
--   </ul>
updateReplicationJob :: Text -> UpdateReplicationJob

-- | <i>See:</i> <a>updateReplicationJob</a> smart constructor.
data UpdateReplicationJob

-- | Undocumented member.
urjFrequency :: Lens' UpdateReplicationJob (Maybe Int)

-- | Undocumented member.
urjLicenseType :: Lens' UpdateReplicationJob (Maybe LicenseType)

-- | Undocumented member.
urjRoleName :: Lens' UpdateReplicationJob (Maybe Text)

-- | Undocumented member.
urjNextReplicationRunStartTime :: Lens' UpdateReplicationJob (Maybe UTCTime)

-- | Undocumented member.
urjDescription :: Lens' UpdateReplicationJob (Maybe Text)

-- | Undocumented member.
urjReplicationJobId :: Lens' UpdateReplicationJob Text

-- | Creates a value of <a>UpdateReplicationJobResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>urjrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateReplicationJobResponse :: Int -> UpdateReplicationJobResponse

-- | <i>See:</i> <a>updateReplicationJobResponse</a> smart constructor.
data UpdateReplicationJobResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
urjrsResponseStatus :: Lens' UpdateReplicationJobResponse Int
instance GHC.Generics.Generic Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJobResponse
instance Data.Data.Data Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJobResponse
instance GHC.Show.Show Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJobResponse
instance GHC.Read.Read Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJobResponse
instance GHC.Classes.Eq Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJobResponse
instance GHC.Generics.Generic Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJob
instance Data.Data.Data Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJob
instance GHC.Show.Show Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJob
instance GHC.Read.Read Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJob
instance GHC.Classes.Eq Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJob
instance Network.AWS.Types.AWSRequest Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJob
instance Control.DeepSeq.NFData Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJobResponse
instance Data.Hashable.Class.Hashable Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJob
instance Control.DeepSeq.NFData Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJob
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJob
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJob
instance Network.AWS.Data.Path.ToPath Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJob
instance Network.AWS.Data.Query.ToQuery Network.AWS.SMS.UpdateReplicationJob.UpdateReplicationJob


module Network.AWS.SMS.Waiters


-- | Amazon Server Migration Service automates the process of migrating
--   servers to EC2.
module Network.AWS.SMS

-- | API version <tt>2016-10-24</tt> of the Amazon Server Migration Service
--   SDK configuration.
sms :: Service

-- | This user has exceeded the maximum allowed Replication Run limit.
_ReplicationRunLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A parameter specified in the request is not valid, is unsupported, or
--   cannot be used.
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | No connectors are available to handle this request. Please associate
--   connector(s) and verify any existing connectors are healthy and can
--   respond to requests.
_NoConnectorsAvailableException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified Replication Job cannot be found.
_ReplicationJobNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The provided server cannot be replicated.
_ServerCannotBeReplicatedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An internal error has occured.
_InternalError :: AsError a => Getting (First ServiceError) a ServiceError

-- | An active Replication Job already exists for the specified server.
_ReplicationJobAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified operation is not allowed. This error can occur for a
--   number of reasons; for example, you might be trying to start a
--   Replication Run before seed Replication Run.
_OperationNotPermittedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request is missing a required parameter. Ensure that you have
--   supplied all the required parameters for the request.
_MissingRequiredParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | This user does not have permissions to perform this operation.
_UnauthorizedOperationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Capabilities for a Connector
data ConnectorCapability
CCVsphere :: ConnectorCapability

-- | Status of on-premise Connector
data ConnectorStatus
Healthy :: ConnectorStatus
Unhealthy :: ConnectorStatus

-- | The license type to be used for the Amazon Machine Image (AMI) created
--   after a successful ReplicationRun.
data LicenseType
AWS :: LicenseType
Byol :: LicenseType

-- | Current state of Replication Job
data ReplicationJobState
RJSActive :: ReplicationJobState
RJSDeleted :: ReplicationJobState
RJSDeleting :: ReplicationJobState
RJSFailed :: ReplicationJobState
RJSPending :: ReplicationJobState

-- | Current state of Replication Run
data ReplicationRunState
RRSActive :: ReplicationRunState
RRSCompleted :: ReplicationRunState
RRSDeleted :: ReplicationRunState
RRSDeleting :: ReplicationRunState
RRSFailed :: ReplicationRunState
RRSMissed :: ReplicationRunState
RRSPending :: ReplicationRunState

-- | Type of Replication Run
data ReplicationRunType
Automatic :: ReplicationRunType
OnDemand :: ReplicationRunType

-- | Status of Server catalog
data ServerCatalogStatus
Available :: ServerCatalogStatus
Deleted :: ServerCatalogStatus
Expired :: ServerCatalogStatus
Importing :: ServerCatalogStatus
NotImported :: ServerCatalogStatus

-- | Type of server.
data ServerType
VirtualMachine :: ServerType

-- | VM Management Product
data VMManagerType
Vsphere :: VMManagerType

-- | Object representing a Connector
--   
--   <i>See:</i> <a>connector</a> smart constructor.
data Connector

-- | Creates a value of <a>Connector</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cStatus</a> - Undocumented member.</li>
--   <li><a>cVmManagerName</a> - Undocumented member.</li>
--   <li><a>cIpAddress</a> - Undocumented member.</li>
--   <li><a>cVmManagerId</a> - Undocumented member.</li>
--   <li><a>cVmManagerType</a> - Undocumented member.</li>
--   <li><a>cConnectorId</a> - Undocumented member.</li>
--   <li><a>cAssociatedOn</a> - Undocumented member.</li>
--   <li><a>cMacAddress</a> - Undocumented member.</li>
--   <li><a>cVersion</a> - Undocumented member.</li>
--   <li><a>cCapabilityList</a> - Undocumented member.</li>
--   </ul>
connector :: Connector

-- | Undocumented member.
cStatus :: Lens' Connector (Maybe ConnectorStatus)

-- | Undocumented member.
cVmManagerName :: Lens' Connector (Maybe Text)

-- | Undocumented member.
cIpAddress :: Lens' Connector (Maybe Text)

-- | Undocumented member.
cVmManagerId :: Lens' Connector (Maybe Text)

-- | Undocumented member.
cVmManagerType :: Lens' Connector (Maybe VMManagerType)

-- | Undocumented member.
cConnectorId :: Lens' Connector (Maybe Text)

-- | Undocumented member.
cAssociatedOn :: Lens' Connector (Maybe UTCTime)

-- | Undocumented member.
cMacAddress :: Lens' Connector (Maybe Text)

-- | Undocumented member.
cVersion :: Lens' Connector (Maybe Text)

-- | Undocumented member.
cCapabilityList :: Lens' Connector [ConnectorCapability]

-- | Object representing a Replication Job
--   
--   <i>See:</i> <a>replicationJob</a> smart constructor.
data ReplicationJob

-- | Creates a value of <a>ReplicationJob</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rjFrequency</a> - Undocumented member.</li>
--   <li><a>rjState</a> - Undocumented member.</li>
--   <li><a>rjServerType</a> - Undocumented member.</li>
--   <li><a>rjServerId</a> - Undocumented member.</li>
--   <li><a>rjLicenseType</a> - Undocumented member.</li>
--   <li><a>rjRoleName</a> - Undocumented member.</li>
--   <li><a>rjVmServer</a> - Undocumented member.</li>
--   <li><a>rjReplicationJobId</a> - Undocumented member.</li>
--   <li><a>rjReplicationRunList</a> - Undocumented member.</li>
--   <li><a>rjNextReplicationRunStartTime</a> - Undocumented member.</li>
--   <li><a>rjStatusMessage</a> - Undocumented member.</li>
--   <li><a>rjLatestAMIId</a> - Undocumented member.</li>
--   <li><a>rjSeedReplicationTime</a> - Undocumented member.</li>
--   <li><a>rjDescription</a> - Undocumented member.</li>
--   </ul>
replicationJob :: ReplicationJob

-- | Undocumented member.
rjFrequency :: Lens' ReplicationJob (Maybe Int)

-- | Undocumented member.
rjState :: Lens' ReplicationJob (Maybe ReplicationJobState)

-- | Undocumented member.
rjServerType :: Lens' ReplicationJob (Maybe ServerType)

-- | Undocumented member.
rjServerId :: Lens' ReplicationJob (Maybe Text)

-- | Undocumented member.
rjLicenseType :: Lens' ReplicationJob (Maybe LicenseType)

-- | Undocumented member.
rjRoleName :: Lens' ReplicationJob (Maybe Text)

-- | Undocumented member.
rjVmServer :: Lens' ReplicationJob (Maybe VMServer)

-- | Undocumented member.
rjReplicationJobId :: Lens' ReplicationJob (Maybe Text)

-- | Undocumented member.
rjReplicationRunList :: Lens' ReplicationJob [ReplicationRun]

-- | Undocumented member.
rjNextReplicationRunStartTime :: Lens' ReplicationJob (Maybe UTCTime)

-- | Undocumented member.
rjStatusMessage :: Lens' ReplicationJob (Maybe Text)

-- | Undocumented member.
rjLatestAMIId :: Lens' ReplicationJob (Maybe Text)

-- | Undocumented member.
rjSeedReplicationTime :: Lens' ReplicationJob (Maybe UTCTime)

-- | Undocumented member.
rjDescription :: Lens' ReplicationJob (Maybe Text)

-- | Object representing a Replication Run
--   
--   <i>See:</i> <a>replicationRun</a> smart constructor.
data ReplicationRun

-- | Creates a value of <a>ReplicationRun</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rrState</a> - Undocumented member.</li>
--   <li><a>rrReplicationRunId</a> - Undocumented member.</li>
--   <li><a>rrScheduledStartTime</a> - Undocumented member.</li>
--   <li><a>rrStatusMessage</a> - Undocumented member.</li>
--   <li><a>rrCompletedTime</a> - Undocumented member.</li>
--   <li><a>rrAmiId</a> - Undocumented member.</li>
--   <li><a>rrType</a> - Undocumented member.</li>
--   <li><a>rrDescription</a> - Undocumented member.</li>
--   </ul>
replicationRun :: ReplicationRun

-- | Undocumented member.
rrState :: Lens' ReplicationRun (Maybe ReplicationRunState)

-- | Undocumented member.
rrReplicationRunId :: Lens' ReplicationRun (Maybe Text)

-- | Undocumented member.
rrScheduledStartTime :: Lens' ReplicationRun (Maybe UTCTime)

-- | Undocumented member.
rrStatusMessage :: Lens' ReplicationRun (Maybe Text)

-- | Undocumented member.
rrCompletedTime :: Lens' ReplicationRun (Maybe UTCTime)

-- | Undocumented member.
rrAmiId :: Lens' ReplicationRun (Maybe Text)

-- | Undocumented member.
rrType :: Lens' ReplicationRun (Maybe ReplicationRunType)

-- | Undocumented member.
rrDescription :: Lens' ReplicationRun (Maybe Text)

-- | Object representing a server
--   
--   <i>See:</i> <a>server</a> smart constructor.
data Server

-- | Creates a value of <a>Server</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sServerType</a> - Undocumented member.</li>
--   <li><a>sServerId</a> - Undocumented member.</li>
--   <li><a>sReplicationJobTerminated</a> - Undocumented member.</li>
--   <li><a>sVmServer</a> - Undocumented member.</li>
--   <li><a>sReplicationJobId</a> - Undocumented member.</li>
--   </ul>
server :: Server

-- | Undocumented member.
sServerType :: Lens' Server (Maybe ServerType)

-- | Undocumented member.
sServerId :: Lens' Server (Maybe Text)

-- | Undocumented member.
sReplicationJobTerminated :: Lens' Server (Maybe Bool)

-- | Undocumented member.
sVmServer :: Lens' Server (Maybe VMServer)

-- | Undocumented member.
sReplicationJobId :: Lens' Server (Maybe Text)

-- | Object representing a VM server
--   
--   <i>See:</i> <a>vMServer</a> smart constructor.
data VMServer

-- | Creates a value of <a>VMServer</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vmsVmManagerName</a> - Undocumented member.</li>
--   <li><a>vmsVmManagerType</a> - Undocumented member.</li>
--   <li><a>vmsVmServerAddress</a> - Undocumented member.</li>
--   <li><a>vmsVmName</a> - Undocumented member.</li>
--   <li><a>vmsVmPath</a> - Undocumented member.</li>
--   </ul>
vMServer :: VMServer

-- | Undocumented member.
vmsVmManagerName :: Lens' VMServer (Maybe Text)

-- | Undocumented member.
vmsVmManagerType :: Lens' VMServer (Maybe VMManagerType)

-- | Undocumented member.
vmsVmServerAddress :: Lens' VMServer (Maybe VMServerAddress)

-- | Undocumented member.
vmsVmName :: Lens' VMServer (Maybe Text)

-- | Undocumented member.
vmsVmPath :: Lens' VMServer (Maybe Text)

-- | Object representing a server's location
--   
--   <i>See:</i> <a>vMServerAddress</a> smart constructor.
data VMServerAddress

-- | Creates a value of <a>VMServerAddress</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>vmsaVmManagerId</a> - Undocumented member.</li>
--   <li><a>vmsaVmId</a> - Undocumented member.</li>
--   </ul>
vMServerAddress :: VMServerAddress

-- | Undocumented member.
vmsaVmManagerId :: Lens' VMServerAddress (Maybe Text)

-- | Undocumented member.
vmsaVmId :: Lens' VMServerAddress (Maybe Text)
