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


-- | Amazon Application Discovery 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.Discovery</a> or <a>the AWS documentation</a> to
--   get started.
@package amazonka-discovery
@version 1.4.5


module Network.AWS.Discovery.Types

-- | API version <tt>2015-11-01</tt> of the Amazon Application Discovery
--   Service SDK configuration.
discovery :: Service

-- | The AWS user account does not have permission to perform the action.
--   Check the IAM policy associated with this account.
_AuthorizationErrorException :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more parameters are not valid. Verify the parameters and try
--   again.
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The value of one or more parameters are either invalid or out of
--   range. Verify the parameter values and try again.
_InvalidParameterValueException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The server experienced an internal error. Try again.
_ServerInternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError

-- | This operation is not permitted.
_OperationNotPermittedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified configuration ID was not located. Verify the
--   configuration ID and try again.
_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
data AgentStatus
Blacklisted :: AgentStatus
Healthy :: AgentStatus
Running :: AgentStatus
Shutdown :: AgentStatus
Unhealthy :: AgentStatus
Unknown :: AgentStatus
data ConfigurationItemType
Connection :: ConfigurationItemType
Process :: ConfigurationItemType
Server :: ConfigurationItemType
data ExportStatus
Failed :: ExportStatus
InProgress :: ExportStatus
Succeeded :: ExportStatus

-- | Information about agents that were instructed to start collecting
--   data. Information includes the agent ID, a description of the
--   operation, and whether or not the agent configuration was updated.
--   
--   <i>See:</i> <a>agentConfigurationStatus</a> smart constructor.
data AgentConfigurationStatus

-- | Creates a value of <a>AgentConfigurationStatus</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>acsAgentId</a> - The agent ID.</li>
--   <li><a>acsOperationSucceeded</a> - Information about the status of the
--   <tt>StartDataCollection</tt> and <tt>StopDataCollection</tt>
--   operations. The system has recorded the data collection operation. The
--   agent receives this command the next time it polls for a new
--   command.</li>
--   <li><a>acsDescription</a> - A description of the operation
--   performed.</li>
--   </ul>
agentConfigurationStatus :: AgentConfigurationStatus

-- | The agent ID.
acsAgentId :: Lens' AgentConfigurationStatus (Maybe Text)

-- | Information about the status of the <tt>StartDataCollection</tt> and
--   <tt>StopDataCollection</tt> operations. The system has recorded the
--   data collection operation. The agent receives this command the next
--   time it polls for a new command.
acsOperationSucceeded :: Lens' AgentConfigurationStatus (Maybe Bool)

-- | A description of the operation performed.
acsDescription :: Lens' AgentConfigurationStatus (Maybe Text)

-- | Information about agents associated with the user’s AWS account.
--   Information includes agent IDs, IP addresses, media access control
--   (MAC) addresses, agent health, hostname where the agent resides, and
--   agent version for each agent.
--   
--   <i>See:</i> <a>agentInfo</a> smart constructor.
data AgentInfo

-- | Creates a value of <a>AgentInfo</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>aiHostName</a> - The name of the host where the agent resides.
--   The host can be a server or virtual machine.</li>
--   <li><a>aiAgentNetworkInfoList</a> - Network details about the host
--   where the agent resides.</li>
--   <li><a>aiConnectorId</a> - This data type is currently not valid.</li>
--   <li><a>aiHealth</a> - The health of the agent.</li>
--   <li><a>aiAgentId</a> - The agent ID.</li>
--   <li><a>aiVersion</a> - The agent version.</li>
--   </ul>
agentInfo :: AgentInfo

-- | The name of the host where the agent resides. The host can be a server
--   or virtual machine.
aiHostName :: Lens' AgentInfo (Maybe Text)

-- | Network details about the host where the agent resides.
aiAgentNetworkInfoList :: Lens' AgentInfo [AgentNetworkInfo]

-- | This data type is currently not valid.
aiConnectorId :: Lens' AgentInfo (Maybe Text)

-- | The health of the agent.
aiHealth :: Lens' AgentInfo (Maybe AgentStatus)

-- | The agent ID.
aiAgentId :: Lens' AgentInfo (Maybe Text)

-- | The agent version.
aiVersion :: Lens' AgentInfo (Maybe Text)

-- | Network details about the host where the agent resides.
--   
--   <i>See:</i> <a>agentNetworkInfo</a> smart constructor.
data AgentNetworkInfo

-- | Creates a value of <a>AgentNetworkInfo</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>aniIpAddress</a> - The IP address for the host where the agent
--   resides.</li>
--   <li><a>aniMacAddress</a> - The MAC address for the host where the
--   agent resides.</li>
--   </ul>
agentNetworkInfo :: AgentNetworkInfo

-- | The IP address for the host where the agent resides.
aniIpAddress :: Lens' AgentNetworkInfo (Maybe Text)

-- | The MAC address for the host where the agent resides.
aniMacAddress :: Lens' AgentNetworkInfo (Maybe Text)

-- | Tags for a configuration item. Tags are metadata that help you
--   categorize IT assets.
--   
--   <i>See:</i> <a>configurationTag</a> smart constructor.
data ConfigurationTag

-- | Creates a value of <a>ConfigurationTag</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>ctTimeOfCreation</a> - The time the configuration tag was
--   created in Coordinated Universal Time (UTC).</li>
--   <li><a>ctConfigurationId</a> - The configuration ID for the item you
--   want to tag. You can specify a list of keys and values.</li>
--   <li><a>ctConfigurationType</a> - A type of IT asset that you want to
--   tag.</li>
--   <li><a>ctValue</a> - A value to filter on. For example <i>key =
--   serverType</i> and <i>value = web server</i> .</li>
--   <li><a>ctKey</a> - A type of tag to filter on. For example,
--   <i>serverType</i> .</li>
--   </ul>
configurationTag :: ConfigurationTag

-- | The time the configuration tag was created in Coordinated Universal
--   Time (UTC).
ctTimeOfCreation :: Lens' ConfigurationTag (Maybe UTCTime)

-- | The configuration ID for the item you want to tag. You can specify a
--   list of keys and values.
ctConfigurationId :: Lens' ConfigurationTag (Maybe Text)

-- | A type of IT asset that you want to tag.
ctConfigurationType :: Lens' ConfigurationTag (Maybe ConfigurationItemType)

-- | A value to filter on. For example <i>key = serverType</i> and <i>value
--   = web server</i> .
ctValue :: Lens' ConfigurationTag (Maybe Text)

-- | A type of tag to filter on. For example, <i>serverType</i> .
ctKey :: Lens' ConfigurationTag (Maybe Text)

-- | Information regarding the export status of the discovered data. The
--   value is an array of objects.
--   
--   <i>See:</i> <a>exportInfo</a> smart constructor.
data ExportInfo

-- | Creates a value of <a>ExportInfo</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>eiConfigurationsDownloadURL</a> - A URL for an Amazon S3 bucket
--   where you can review the configuration data. The URL is displayed only
--   if the export succeeded.</li>
--   <li><a>eiExportId</a> - A unique identifier that you can use to query
--   the export.</li>
--   <li><a>eiExportStatus</a> - The status of the configuration data
--   export. The status can succeed, fail, or be in-progress.</li>
--   <li><a>eiStatusMessage</a> - Helpful status messages for API callers.
--   For example: Too many exports in the last 6 hours. Export in progress.
--   Export was successful.</li>
--   <li><a>eiExportRequestTime</a> - The time the configuration data
--   export was initiated.</li>
--   </ul>
exportInfo :: Text -> ExportStatus -> Text -> UTCTime -> ExportInfo

-- | A URL for an Amazon S3 bucket where you can review the configuration
--   data. The URL is displayed only if the export succeeded.
eiConfigurationsDownloadURL :: Lens' ExportInfo (Maybe Text)

-- | A unique identifier that you can use to query the export.
eiExportId :: Lens' ExportInfo Text

-- | The status of the configuration data export. The status can succeed,
--   fail, or be in-progress.
eiExportStatus :: Lens' ExportInfo ExportStatus

-- | Helpful status messages for API callers. For example: Too many exports
--   in the last 6 hours. Export in progress. Export was successful.
eiStatusMessage :: Lens' ExportInfo Text

-- | The time the configuration data export was initiated.
eiExportRequestTime :: Lens' ExportInfo UTCTime

-- | A filter that can use conditional operators.
--   
--   <i>See:</i> <a>filter'</a> smart constructor.
data Filter

-- | Creates a value of <a>Filter</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>fName</a> - The name of the filter. The following filter names
--   are allowed for <tt>SERVER</tt> configuration items. <b>Server</b> *
--   <tt>server.hostName</tt> * <tt>server.osName</tt> *
--   <tt>server.osVersion</tt> * <tt>server.configurationid</tt> *
--   <tt>server.agentid</tt> The name of the filter. The following filter
--   names are allowed for <tt>PROCESS</tt> configuration items.
--   <b>Process</b> * <tt>process.configurationid</tt> *
--   <tt>process.name</tt> * <tt>process.commandLine</tt> *
--   <tt>server.configurationid</tt> * <tt>server.hostName</tt> *
--   <tt>server.osName</tt> * <tt>server.osVersion</tt> *
--   <tt>server.agentId</tt> The name of the filter. The following filter
--   names are allowed for <tt>CONNECTION</tt> configuration items.
--   <b>Connection</b> * <tt>connection.sourceIp</tt> *
--   <tt>connection.destinationIp</tt> *
--   <tt>connection.destinationPort</tt> *
--   <tt>sourceProcess.configurationId</tt> * <tt>sourceProcess.name</tt> *
--   <tt>sourceProcess.commandLine</tt> *
--   <tt>destinationProcess.configurationId</tt> *
--   <tt>destinationProcess.name</tt> *
--   <tt>destinationProcess.commandLine</tt> *
--   <tt>sourceServer.configurationId</tt> * <tt>sourceServer.hostName</tt>
--   * <tt>sourceServer.osName</tt> * <tt>sourceServer.osVersion</tt> *
--   <tt>sourceServer.agentId</tt> *
--   <tt>destinationServer.configurationId</tt> *
--   <tt>destinationServer.hostName</tt> *
--   <tt>destinationServer.osName</tt> *
--   <tt>destinationServer.osVersion</tt> *
--   <tt>destinationServer.agentId</tt></li>
--   <li><a>fValues</a> - A string value that you want to filter on. For
--   example, if you choose the <tt>destinationServer.osVersion</tt> filter
--   name, you could specify <tt>Ubuntu</tt> for the value.</li>
--   <li><a>fCondition</a> - A conditional operator. The following
--   operators are valid: EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS. If
--   you specify multiple filters, the system utilizes all filters as
--   though concatenated by <i>AND</i> . If you specify multiple values for
--   a particular filter, the system differentiates the values using
--   <i>OR</i> . Calling either <i>DescribeConfigurations</i> or
--   <i>ListConfigurations</i> returns attributes of matching configuration
--   items.</li>
--   </ul>
filter' :: Text -> Text -> Filter

-- | The name of the filter. The following filter names are allowed for
--   <tt>SERVER</tt> configuration items. <b>Server</b> *
--   <tt>server.hostName</tt> * <tt>server.osName</tt> *
--   <tt>server.osVersion</tt> * <tt>server.configurationid</tt> *
--   <tt>server.agentid</tt> The name of the filter. The following filter
--   names are allowed for <tt>PROCESS</tt> configuration items.
--   <b>Process</b> * <tt>process.configurationid</tt> *
--   <tt>process.name</tt> * <tt>process.commandLine</tt> *
--   <tt>server.configurationid</tt> * <tt>server.hostName</tt> *
--   <tt>server.osName</tt> * <tt>server.osVersion</tt> *
--   <tt>server.agentId</tt> The name of the filter. The following filter
--   names are allowed for <tt>CONNECTION</tt> configuration items.
--   <b>Connection</b> * <tt>connection.sourceIp</tt> *
--   <tt>connection.destinationIp</tt> *
--   <tt>connection.destinationPort</tt> *
--   <tt>sourceProcess.configurationId</tt> * <tt>sourceProcess.name</tt> *
--   <tt>sourceProcess.commandLine</tt> *
--   <tt>destinationProcess.configurationId</tt> *
--   <tt>destinationProcess.name</tt> *
--   <tt>destinationProcess.commandLine</tt> *
--   <tt>sourceServer.configurationId</tt> * <tt>sourceServer.hostName</tt>
--   * <tt>sourceServer.osName</tt> * <tt>sourceServer.osVersion</tt> *
--   <tt>sourceServer.agentId</tt> *
--   <tt>destinationServer.configurationId</tt> *
--   <tt>destinationServer.hostName</tt> *
--   <tt>destinationServer.osName</tt> *
--   <tt>destinationServer.osVersion</tt> *
--   <tt>destinationServer.agentId</tt>
fName :: Lens' Filter Text

-- | A string value that you want to filter on. For example, if you choose
--   the <tt>destinationServer.osVersion</tt> filter name, you could
--   specify <tt>Ubuntu</tt> for the value.
fValues :: Lens' Filter [Text]

-- | A conditional operator. The following operators are valid: EQUALS,
--   NOT_EQUALS, CONTAINS, NOT_CONTAINS. If you specify multiple filters,
--   the system utilizes all filters as though concatenated by <i>AND</i> .
--   If you specify multiple values for a particular filter, the system
--   differentiates the values using <i>OR</i> . Calling either
--   <i>DescribeConfigurations</i> or <i>ListConfigurations</i> returns
--   attributes of matching configuration items.
fCondition :: Lens' Filter Text

-- | Metadata that help you categorize IT assets.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</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>tagKey</a> - A type of tag to filter on.</li>
--   <li><a>tagValue</a> - A value for a tag key to filter on.</li>
--   </ul>
tag :: Text -> Text -> Tag

-- | A type of tag to filter on.
tagKey :: Lens' Tag Text

-- | A value for a tag key to filter on.
tagValue :: Lens' Tag Text

-- | The name of a tag filter. Valid names are: <tt>tagKey</tt> ,
--   <tt>tagValue</tt> , <tt>configurationId</tt> .
--   
--   <i>See:</i> <a>tagFilter</a> smart constructor.
data TagFilter

-- | Creates a value of <a>TagFilter</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>tfName</a> - A name of a tag filter.</li>
--   <li><a>tfValues</a> - Values of a tag filter.</li>
--   </ul>
tagFilter :: Text -> TagFilter

-- | A name of a tag filter.
tfName :: Lens' TagFilter Text

-- | Values of a tag filter.
tfValues :: Lens' TagFilter [Text]


module Network.AWS.Discovery.Waiters


-- | Instructs the specified agents to stop collecting data.
module Network.AWS.Discovery.StopDataCollectionByAgentIds

-- | Creates a value of <a>StopDataCollectionByAgentIds</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>sdcbaiAgentIds</a> - The IDs of the agents that you want to
--   stop collecting data.</li>
--   </ul>
stopDataCollectionByAgentIds :: StopDataCollectionByAgentIds

-- | <i>See:</i> <a>stopDataCollectionByAgentIds</a> smart constructor.
data StopDataCollectionByAgentIds

-- | The IDs of the agents that you want to stop collecting data.
sdcbaiAgentIds :: Lens' StopDataCollectionByAgentIds [Text]

-- | Creates a value of <a>StopDataCollectionByAgentIdsResponse</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>sdcbairsAgentsConfigurationStatus</a> - Information about
--   agents that were instructed to stop collecting data. Information
--   includes the agent ID, a description of the operation performed, and
--   whether or not the agent configuration was updated.</li>
--   <li><a>sdcbairsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
stopDataCollectionByAgentIdsResponse :: Int -> StopDataCollectionByAgentIdsResponse

-- | <i>See:</i> <a>stopDataCollectionByAgentIdsResponse</a> smart
--   constructor.
data StopDataCollectionByAgentIdsResponse

-- | Information about agents that were instructed to stop collecting data.
--   Information includes the agent ID, a description of the operation
--   performed, and whether or not the agent configuration was updated.
sdcbairsAgentsConfigurationStatus :: Lens' StopDataCollectionByAgentIdsResponse [AgentConfigurationStatus]

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


-- | Instructs the specified agents to start collecting data. Agents can
--   reside on host servers or virtual machines in your data center.
module Network.AWS.Discovery.StartDataCollectionByAgentIds

-- | Creates a value of <a>StartDataCollectionByAgentIds</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>sAgentIds</a> - The IDs of the agents that you want to start
--   collecting data. If you send a request to an AWS agent ID that you do
--   not have permission to contact, according to your AWS account, the
--   service does not throw an exception. Instead, it returns the error in
--   the <i>Description</i> field. If you send a request to multiple agents
--   and you do not have permission to contact some of those agents, the
--   system does not throw an exception. Instead, the system shows
--   <tt>Failed</tt> in the <i>Description</i> field.</li>
--   </ul>
startDataCollectionByAgentIds :: StartDataCollectionByAgentIds

-- | <i>See:</i> <a>startDataCollectionByAgentIds</a> smart constructor.
data StartDataCollectionByAgentIds

-- | The IDs of the agents that you want to start collecting data. If you
--   send a request to an AWS agent ID that you do not have permission to
--   contact, according to your AWS account, the service does not throw an
--   exception. Instead, it returns the error in the <i>Description</i>
--   field. If you send a request to multiple agents and you do not have
--   permission to contact some of those agents, the system does not throw
--   an exception. Instead, the system shows <tt>Failed</tt> in the
--   <i>Description</i> field.
sAgentIds :: Lens' StartDataCollectionByAgentIds [Text]

-- | Creates a value of <a>StartDataCollectionByAgentIdsResponse</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>srsAgentsConfigurationStatus</a> - Information about agents
--   that were instructed to start collecting data. Information includes
--   the agent ID, a description of the operation performed, and whether or
--   not the agent configuration was updated.</li>
--   <li><a>srsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
startDataCollectionByAgentIdsResponse :: Int -> StartDataCollectionByAgentIdsResponse

-- | <i>See:</i> <a>startDataCollectionByAgentIdsResponse</a> smart
--   constructor.
data StartDataCollectionByAgentIdsResponse

-- | Information about agents that were instructed to start collecting
--   data. Information includes the agent ID, a description of the
--   operation performed, and whether or not the agent configuration was
--   updated.
srsAgentsConfigurationStatus :: Lens' StartDataCollectionByAgentIdsResponse [AgentConfigurationStatus]

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


-- | Retrieves a list of configurations items according to the criteria you
--   specify in a filter. The filter criteria identify relationship
--   requirements.
module Network.AWS.Discovery.ListConfigurations

-- | Creates a value of <a>ListConfigurations</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>lcFilters</a> - You can filter the list using a <i>key</i>
--   -<i>value</i> format. For example: <tt>{"key": "serverType", "value":
--   "webServer"}</tt> You can separate these items by using logical
--   operators.</li>
--   <li><a>lcNextToken</a> - A token to start the list. Use this token to
--   get the next set of results.</li>
--   <li><a>lcMaxResults</a> - The total number of items to return. The
--   maximum value is 100.</li>
--   <li><a>lcConfigurationType</a> - A valid configuration identified by
--   the Discovery Service.</li>
--   </ul>
listConfigurations :: ConfigurationItemType -> ListConfigurations

-- | <i>See:</i> <a>listConfigurations</a> smart constructor.
data ListConfigurations

-- | You can filter the list using a <i>key</i> -<i>value</i> format. For
--   example: <tt>{"key": "serverType", "value": "webServer"}</tt> You can
--   separate these items by using logical operators.
lcFilters :: Lens' ListConfigurations [Filter]

-- | A token to start the list. Use this token to get the next set of
--   results.
lcNextToken :: Lens' ListConfigurations (Maybe Text)

-- | The total number of items to return. The maximum value is 100.
lcMaxResults :: Lens' ListConfigurations (Maybe Int)

-- | A valid configuration identified by the Discovery Service.
lcConfigurationType :: Lens' ListConfigurations ConfigurationItemType

-- | Creates a value of <a>ListConfigurationsResponse</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>lcrsConfigurations</a> - Returns configuration details,
--   including the configuration ID, attribute names, and attribute
--   values.</li>
--   <li><a>lcrsNextToken</a> - The call returns a token. Use this token to
--   get the next set of results.</li>
--   <li><a>lcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listConfigurationsResponse :: Int -> ListConfigurationsResponse

-- | <i>See:</i> <a>listConfigurationsResponse</a> smart constructor.
data ListConfigurationsResponse

-- | Returns configuration details, including the configuration ID,
--   attribute names, and attribute values.
lcrsConfigurations :: Lens' ListConfigurationsResponse [HashMap Text Text]

-- | The call returns a token. Use this token to get the next set of
--   results.
lcrsNextToken :: Lens' ListConfigurationsResponse (Maybe Text)

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


-- | Exports all discovered configuration data to an Amazon S3 bucket or an
--   application that enables you to view and evaluate the data. Data
--   includes tags and tag associations, processes, connections, servers,
--   and system performance. This API returns an export ID which you can
--   query using the <i>GetExportStatus</i> API. The system imposes a limit
--   of two configuration exports in six hours.
module Network.AWS.Discovery.ExportConfigurations

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

-- | <i>See:</i> <a>exportConfigurations</a> smart constructor.
data ExportConfigurations

-- | Creates a value of <a>ExportConfigurationsResponse</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>ecrsExportId</a> - A unique identifier that you can use to
--   query the export status.</li>
--   <li><a>ecrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
exportConfigurationsResponse :: Int -> ExportConfigurationsResponse

-- | <i>See:</i> <a>exportConfigurationsResponse</a> smart constructor.
data ExportConfigurationsResponse

-- | A unique identifier that you can use to query the export status.
ecrsExportId :: Lens' ExportConfigurationsResponse (Maybe Text)

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


-- | Retrieves a list of configuration items that are tagged with a
--   specific tag. Or retrieves a list of all tags assigned to a specific
--   configuration item.
module Network.AWS.Discovery.DescribeTags

-- | Creates a value of <a>DescribeTags</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>dtFilters</a> - You can filter the list using a <i>key</i>
--   -<i>value</i> format. You can separate these items by using logical
--   operators. Allowed filters include <tt>tagKey</tt> , <tt>tagValue</tt>
--   , and <tt>configurationId</tt> .</li>
--   <li><a>dtNextToken</a> - A token to start the list. Use this token to
--   get the next set of results.</li>
--   <li><a>dtMaxResults</a> - The total number of items to return. The
--   maximum value is 100.</li>
--   </ul>
describeTags :: DescribeTags

-- | <i>See:</i> <a>describeTags</a> smart constructor.
data DescribeTags

-- | You can filter the list using a <i>key</i> -<i>value</i> format. You
--   can separate these items by using logical operators. Allowed filters
--   include <tt>tagKey</tt> , <tt>tagValue</tt> , and
--   <tt>configurationId</tt> .
dtFilters :: Lens' DescribeTags [TagFilter]

-- | A token to start the list. Use this token to get the next set of
--   results.
dtNextToken :: Lens' DescribeTags (Maybe Text)

-- | The total number of items to return. The maximum value is 100.
dtMaxResults :: Lens' DescribeTags (Maybe Int)

-- | Creates a value of <a>DescribeTagsResponse</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>dtrsNextToken</a> - The call returns a token. Use this token to
--   get the next set of results.</li>
--   <li><a>dtrsTags</a> - Depending on the input, this is a list of
--   configuration items tagged with a specific tag, or a list of tags for
--   a specific configuration item.</li>
--   <li><a>dtrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeTagsResponse :: Int -> DescribeTagsResponse

-- | <i>See:</i> <a>describeTagsResponse</a> smart constructor.
data DescribeTagsResponse

-- | The call returns a token. Use this token to get the next set of
--   results.
dtrsNextToken :: Lens' DescribeTagsResponse (Maybe Text)

-- | Depending on the input, this is a list of configuration items tagged
--   with a specific tag, or a list of tags for a specific configuration
--   item.
dtrsTags :: Lens' DescribeTagsResponse [ConfigurationTag]

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


-- | Retrieves the status of a given export process. You can retrieve
--   status from a maximum of 100 processes.
module Network.AWS.Discovery.DescribeExportConfigurations

-- | Creates a value of <a>DescribeExportConfigurations</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>decNextToken</a> - A token to get the next set of results. For
--   example, if you specified 100 IDs for
--   <tt>DescribeConfigurationsRequest$configurationIds</tt> but set
--   <tt>DescribeExportConfigurationsRequest$maxResults</tt> to 10, you
--   will get results in a set of 10. Use the token in the query to get the
--   next set of 10.</li>
--   <li><a>decExportIds</a> - A unique identifier that you can use to
--   query the export status.</li>
--   <li><a>decMaxResults</a> - The maximum number of results that you want
--   to display as a part of the query.</li>
--   </ul>
describeExportConfigurations :: DescribeExportConfigurations

-- | <i>See:</i> <a>describeExportConfigurations</a> smart constructor.
data DescribeExportConfigurations

-- | A token to get the next set of results. For example, if you specified
--   100 IDs for <tt>DescribeConfigurationsRequest$configurationIds</tt>
--   but set <tt>DescribeExportConfigurationsRequest$maxResults</tt> to 10,
--   you will get results in a set of 10. Use the token in the query to get
--   the next set of 10.
decNextToken :: Lens' DescribeExportConfigurations (Maybe Text)

-- | A unique identifier that you can use to query the export status.
decExportIds :: Lens' DescribeExportConfigurations [Text]

-- | The maximum number of results that you want to display as a part of
--   the query.
decMaxResults :: Lens' DescribeExportConfigurations (Maybe Int)

-- | Creates a value of <a>DescribeExportConfigurationsResponse</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>decrsNextToken</a> - A token to get the next set of results.
--   For example, if you specified 100 IDs for
--   <tt>DescribeConfigurationsRequest$configurationIds</tt> but set
--   <tt>DescribeExportConfigurationsRequest$maxResults</tt> to 10, you
--   will get results in a set of 10. Use the token in the query to get the
--   next set of 10.</li>
--   <li><a>decrsExportsInfo</a> - Returns export details. When the status
--   is complete, the response includes a URL for an Amazon S3 bucket where
--   you can view the data in a CSV file.</li>
--   <li><a>decrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeExportConfigurationsResponse :: Int -> DescribeExportConfigurationsResponse

-- | <i>See:</i> <a>describeExportConfigurationsResponse</a> smart
--   constructor.
data DescribeExportConfigurationsResponse

-- | A token to get the next set of results. For example, if you specified
--   100 IDs for <tt>DescribeConfigurationsRequest$configurationIds</tt>
--   but set <tt>DescribeExportConfigurationsRequest$maxResults</tt> to 10,
--   you will get results in a set of 10. Use the token in the query to get
--   the next set of 10.
decrsNextToken :: Lens' DescribeExportConfigurationsResponse (Maybe Text)

-- | Returns export details. When the status is complete, the response
--   includes a URL for an Amazon S3 bucket where you can view the data in
--   a CSV file.
decrsExportsInfo :: Lens' DescribeExportConfigurationsResponse [ExportInfo]

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


-- | Retrieves a list of attributes for a specific configuration ID. For
--   example, the output for a <i>server</i> configuration item includes a
--   list of attributes about the server, including host name, operating
--   system, number of network cards, etc.
module Network.AWS.Discovery.DescribeConfigurations

-- | Creates a value of <a>DescribeConfigurations</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>dcConfigurationIds</a> - One or more configuration IDs.</li>
--   </ul>
describeConfigurations :: DescribeConfigurations

-- | <i>See:</i> <a>describeConfigurations</a> smart constructor.
data DescribeConfigurations

-- | One or more configuration IDs.
dcConfigurationIds :: Lens' DescribeConfigurations [Text]

-- | Creates a value of <a>DescribeConfigurationsResponse</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>dcrsConfigurations</a> - A key in the response map. The value
--   is an array of data.</li>
--   <li><a>dcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeConfigurationsResponse :: Int -> DescribeConfigurationsResponse

-- | <i>See:</i> <a>describeConfigurationsResponse</a> smart constructor.
data DescribeConfigurationsResponse

-- | A key in the response map. The value is an array of data.
dcrsConfigurations :: Lens' DescribeConfigurationsResponse [HashMap Text Text]

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


-- | Lists AWS agents by ID or lists all agents associated with your user
--   account if you did not specify an agent ID.
module Network.AWS.Discovery.DescribeAgents

-- | Creates a value of <a>DescribeAgents</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>daAgentIds</a> - The agent IDs for which you want information.
--   If you specify no IDs, the system returns information about all agents
--   associated with your AWS user account.</li>
--   <li><a>daNextToken</a> - A token to start the list. Use this token to
--   get the next set of results.</li>
--   <li><a>daMaxResults</a> - The total number of agents to return. The
--   maximum value is 100.</li>
--   </ul>
describeAgents :: DescribeAgents

-- | <i>See:</i> <a>describeAgents</a> smart constructor.
data DescribeAgents

-- | The agent IDs for which you want information. If you specify no IDs,
--   the system returns information about all agents associated with your
--   AWS user account.
daAgentIds :: Lens' DescribeAgents [Text]

-- | A token to start the list. Use this token to get the next set of
--   results.
daNextToken :: Lens' DescribeAgents (Maybe Text)

-- | The total number of agents to return. The maximum value is 100.
daMaxResults :: Lens' DescribeAgents (Maybe Int)

-- | Creates a value of <a>DescribeAgentsResponse</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>darsAgentsInfo</a> - Lists AWS agents by ID or lists all agents
--   associated with your user account if you did not specify an agent ID.
--   The output includes agent IDs, IP addresses, media access control
--   (MAC) addresses, agent health, host name where the agent resides, and
--   the version number of each agent.</li>
--   <li><a>darsNextToken</a> - The call returns a token. Use this token to
--   get the next set of results.</li>
--   <li><a>darsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeAgentsResponse :: Int -> DescribeAgentsResponse

-- | <i>See:</i> <a>describeAgentsResponse</a> smart constructor.
data DescribeAgentsResponse

-- | Lists AWS agents by ID or lists all agents associated with your user
--   account if you did not specify an agent ID. The output includes agent
--   IDs, IP addresses, media access control (MAC) addresses, agent health,
--   host name where the agent resides, and the version number of each
--   agent.
darsAgentsInfo :: Lens' DescribeAgentsResponse [AgentInfo]

-- | The call returns a token. Use this token to get the next set of
--   results.
darsNextToken :: Lens' DescribeAgentsResponse (Maybe Text)

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


-- | Deletes the association between configuration items and one or more
--   tags. This API accepts a list of multiple configuration items.
module Network.AWS.Discovery.DeleteTags

-- | Creates a value of <a>DeleteTags</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>dtTags</a> - Tags that you want to delete from one or more
--   configuration items. Specify the tags that you want to delete in a
--   <i>key</i> -<i>value</i> format. For example: <tt>{"key":
--   "serverType", "value": "webServer"}</tt></li>
--   <li><a>dtConfigurationIds</a> - A list of configuration items with
--   tags that you want to delete.</li>
--   </ul>
deleteTags :: DeleteTags

-- | <i>See:</i> <a>deleteTags</a> smart constructor.
data DeleteTags

-- | Tags that you want to delete from one or more configuration items.
--   Specify the tags that you want to delete in a <i>key</i> -<i>value</i>
--   format. For example: <tt>{"key": "serverType", "value":
--   "webServer"}</tt>
dtTags :: Lens' DeleteTags [Tag]

-- | A list of configuration items with tags that you want to delete.
dtConfigurationIds :: Lens' DeleteTags [Text]

-- | Creates a value of <a>DeleteTagsResponse</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>drsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteTagsResponse :: Int -> DeleteTagsResponse

-- | <i>See:</i> <a>deleteTagsResponse</a> smart constructor.
data DeleteTagsResponse

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


-- | Creates one or more tags for configuration items. Tags are metadata
--   that help you categorize IT assets. This API accepts a list of
--   multiple configuration items.
module Network.AWS.Discovery.CreateTags

-- | Creates a value of <a>CreateTags</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>ctConfigurationIds</a> - A list of configuration items that you
--   want to tag.</li>
--   <li><a>ctTags</a> - Tags that you want to associate with one or more
--   configuration items. Specify the tags that you want to create in a
--   <i>key</i> -<i>value</i> format. For example: <tt>{"key":
--   "serverType", "value": "webServer"}</tt></li>
--   </ul>
createTags :: CreateTags

-- | <i>See:</i> <a>createTags</a> smart constructor.
data CreateTags

-- | A list of configuration items that you want to tag.
ctConfigurationIds :: Lens' CreateTags [Text]

-- | Tags that you want to associate with one or more configuration items.
--   Specify the tags that you want to create in a <i>key</i> -<i>value</i>
--   format. For example: <tt>{"key": "serverType", "value":
--   "webServer"}</tt>
ctTags :: Lens' CreateTags [Tag]

-- | Creates a value of <a>CreateTagsResponse</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>ctrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createTagsResponse :: Int -> CreateTagsResponse

-- | <i>See:</i> <a>createTagsResponse</a> smart constructor.
data CreateTagsResponse

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


-- | The AWS Application Discovery Service helps Systems Integrators
--   quickly and reliably plan application migration projects by
--   automatically identifying applications running in on-premises data
--   centers, their associated dependencies, and their performance profile.
--   
--   Planning data center migrations can involve thousands of workloads
--   that are often deeply interdependent. Application discovery and
--   dependency mapping are important early first steps in the migration
--   process, but difficult to perform at scale due to the lack of
--   automated tools.
--   
--   The AWS Application Discovery Service automatically collects
--   configuration and usage data from servers to develop a list of
--   applications, how they perform, and how they are interdependent. This
--   information is securely retained in an AWS Application Discovery
--   Service database which you can export as a CSV file into your
--   preferred visualization tool or cloud migration solution to help
--   reduce the complexity and time in planning your cloud migration.
--   
--   The Application Discovery Service is currently available for preview.
--   Only customers who are engaged with <a>AWS Professional Services</a>
--   or a certified AWS partner can use the service. To see the list of
--   certified partners and request access to the Application Discovery
--   Service, complete the following <a>preview form</a> .
--   
--   This API reference provides descriptions, syntax, and usage examples
--   for each of the actions and data types for the Discovery Service. The
--   topic for each action shows the API request parameters and the
--   response. Alternatively, you can use one of the AWS SDKs to access an
--   API that is tailored to the programming language or platform that
--   you're using. For more information, see <a>AWS SDKs</a> .
--   
--   This guide is intended for use with the <a>/AWS Discovery Service User
--   Guide/</a> .
--   
--   The following are short descriptions of each API action, organized by
--   function.
--   
--   <b>Managing AWS Agents Using the Application Discovery Service</b>
--   
--   An AWS agent is software that you install on on-premises servers and
--   virtual machines that are targeted for discovery and migration. Agents
--   run on Linux and Windows Server and collect server configuration and
--   activity information about your applications and infrastructure.
--   Specifically, agents collect the following information and send it to
--   the Application Discovery Service using Secure Sockets Layer (SSL)
--   encryption:
--   
--   <ul>
--   <li>User information (user name, home directory)</li>
--   <li>Group information (name)</li>
--   <li>List of installed packages</li>
--   <li>List of kernel modules</li>
--   <li>All create and stop process events</li>
--   <li>DNS queries</li>
--   <li>NIC information</li>
--   <li>TCP/UDP process listening ports</li>
--   <li>TCPV4/V6 connections</li>
--   <li>Operating system information</li>
--   <li>System performance</li>
--   <li>Process performance</li>
--   </ul>
--   
--   The Application Discovery Service API includes the following actions
--   to manage AWS agents:
--   
--   <ul>
--   <li><i>StartDataCollectionByAgentIds</i> : Instructs the specified
--   agents to start collecting data. The Application Discovery Service
--   takes several minutes to receive and process data after you initiate
--   data collection.</li>
--   <li><i>StopDataCollectionByAgentIds</i> : Instructs the specified
--   agents to stop collecting data.</li>
--   <li><i>DescribeAgents</i> : Lists AWS agents by ID or lists all agents
--   associated with your user account if you did not specify an agent ID.
--   The output includes agent IDs, IP addresses, media access control
--   (MAC) addresses, agent health, host name where the agent resides, and
--   the version number of each agent.</li>
--   </ul>
--   
--   <b>Querying Configuration Items</b>
--   
--   A <i>configuration item</i> is an IT asset that was discovered in your
--   data center by an AWS agent. When you use the Application Discovery
--   Service, you can specify filters and query specific configuration
--   items. The service supports Server, Process, and Connection
--   configuration items. This means you can specify a value for the
--   following keys and query your IT assets:
--   
--   <b>Server</b>
--   
--   <ul>
--   <li>server.HostName</li>
--   <li>server.osName</li>
--   <li>server.osVersion</li>
--   <li>server.configurationId</li>
--   <li>server.agentId</li>
--   </ul>
--   
--   <b>Process</b>
--   
--   <ul>
--   <li>process.name</li>
--   <li>process.CommandLine</li>
--   <li>process.configurationId</li>
--   <li>server.hostName</li>
--   <li>server.osName</li>
--   <li>server.osVersion</li>
--   <li>server.configurationId</li>
--   <li>server.agentId</li>
--   </ul>
--   
--   <b>Connection</b>
--   
--   <ul>
--   <li>connection.sourceIp</li>
--   <li>connection.sourcePort</li>
--   <li>connection.destinationIp</li>
--   <li>connection.destinationPort</li>
--   <li>sourceProcess.configurationId</li>
--   <li>sourceProcess.commandLine</li>
--   <li>sourceProcess.name</li>
--   <li>destinationProcessId.configurationId</li>
--   <li>destinationProcess.commandLine</li>
--   <li>destinationProcess.name</li>
--   <li>sourceServer.configurationId</li>
--   <li>sourceServer.hostName</li>
--   <li>sourceServer.osName</li>
--   <li>sourceServer.osVersion</li>
--   <li>destinationServer.configurationId</li>
--   <li>destinationServer.hostName</li>
--   <li>destinationServer.osName</li>
--   <li>destinationServer.osVersion</li>
--   </ul>
--   
--   The Application Discovery Service includes the following actions for
--   querying configuration items.
--   
--   <ul>
--   <li><i>DescribeConfigurations</i> : Retrieves a list of attributes for
--   a specific configuration ID. For example, the output for a
--   <i>server</i> configuration item includes a list of attributes about
--   the server, including host name, operating system, number of network
--   cards, etc.</li>
--   <li><i>ListConfigurations</i> : Retrieves a list of configuration
--   items according to the criteria you specify in a filter. The filter
--   criteria identify relationship requirements. For example, you can
--   specify filter criteria of process.name with values of <i>nginx</i>
--   and <i>apache</i> .</li>
--   </ul>
--   
--   <b>Tagging Discovered Configuration Items</b>
--   
--   You can tag discovered configuration items. Tags are metadata that
--   help you categorize IT assets in your data center. Tags use a
--   <i>key</i> -<i>value</i> format. For example, <tt>{"key":
--   "serverType", "value": "webServer"}</tt> .
--   
--   <ul>
--   <li><i>CreateTags</i> : Creates one or more tags for a configuration
--   items.</li>
--   <li><i>DescribeTags</i> : Retrieves a list of configuration items that
--   are tagged with a specific tag. <i>Or</i> , retrieves a list of all
--   tags assigned to a specific configuration item.</li>
--   <li><i>DeleteTags</i> : Deletes the association between a
--   configuration item and one or more tags.</li>
--   </ul>
--   
--   <b>Exporting Data</b>
--   
--   You can export data as a CSV file to an Amazon S3 bucket or into your
--   preferred visualization tool or cloud migration solution to help
--   reduce the complexity and time in planning your cloud migration.
--   
--   <ul>
--   <li><i>ExportConfigurations</i> : Exports all discovered configuration
--   data to an Amazon S3 bucket. Data includes tags and tag associations,
--   processes, connections, servers, and system performance. This API
--   returns an export ID which you can query using the GetExportStatus
--   API.</li>
--   <li><i>DescribeExportConfigurations</i> : Gets the status of the data
--   export. When the export is complete, the service returns an Amazon S3
--   URL where you can download CSV files that include the data.</li>
--   </ul>
module Network.AWS.Discovery

-- | API version <tt>2015-11-01</tt> of the Amazon Application Discovery
--   Service SDK configuration.
discovery :: Service

-- | The AWS user account does not have permission to perform the action.
--   Check the IAM policy associated with this account.
_AuthorizationErrorException :: AsError a => Getting (First ServiceError) a ServiceError

-- | One or more parameters are not valid. Verify the parameters and try
--   again.
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The value of one or more parameters are either invalid or out of
--   range. Verify the parameter values and try again.
_InvalidParameterValueException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The server experienced an internal error. Try again.
_ServerInternalErrorException :: AsError a => Getting (First ServiceError) a ServiceError

-- | This operation is not permitted.
_OperationNotPermittedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified configuration ID was not located. Verify the
--   configuration ID and try again.
_ResourceNotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
data AgentStatus
Blacklisted :: AgentStatus
Healthy :: AgentStatus
Running :: AgentStatus
Shutdown :: AgentStatus
Unhealthy :: AgentStatus
Unknown :: AgentStatus
data ConfigurationItemType
Connection :: ConfigurationItemType
Process :: ConfigurationItemType
Server :: ConfigurationItemType
data ExportStatus
Failed :: ExportStatus
InProgress :: ExportStatus
Succeeded :: ExportStatus

-- | Information about agents that were instructed to start collecting
--   data. Information includes the agent ID, a description of the
--   operation, and whether or not the agent configuration was updated.
--   
--   <i>See:</i> <a>agentConfigurationStatus</a> smart constructor.
data AgentConfigurationStatus

-- | Creates a value of <a>AgentConfigurationStatus</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>acsAgentId</a> - The agent ID.</li>
--   <li><a>acsOperationSucceeded</a> - Information about the status of the
--   <tt>StartDataCollection</tt> and <tt>StopDataCollection</tt>
--   operations. The system has recorded the data collection operation. The
--   agent receives this command the next time it polls for a new
--   command.</li>
--   <li><a>acsDescription</a> - A description of the operation
--   performed.</li>
--   </ul>
agentConfigurationStatus :: AgentConfigurationStatus

-- | The agent ID.
acsAgentId :: Lens' AgentConfigurationStatus (Maybe Text)

-- | Information about the status of the <tt>StartDataCollection</tt> and
--   <tt>StopDataCollection</tt> operations. The system has recorded the
--   data collection operation. The agent receives this command the next
--   time it polls for a new command.
acsOperationSucceeded :: Lens' AgentConfigurationStatus (Maybe Bool)

-- | A description of the operation performed.
acsDescription :: Lens' AgentConfigurationStatus (Maybe Text)

-- | Information about agents associated with the user’s AWS account.
--   Information includes agent IDs, IP addresses, media access control
--   (MAC) addresses, agent health, hostname where the agent resides, and
--   agent version for each agent.
--   
--   <i>See:</i> <a>agentInfo</a> smart constructor.
data AgentInfo

-- | Creates a value of <a>AgentInfo</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>aiHostName</a> - The name of the host where the agent resides.
--   The host can be a server or virtual machine.</li>
--   <li><a>aiAgentNetworkInfoList</a> - Network details about the host
--   where the agent resides.</li>
--   <li><a>aiConnectorId</a> - This data type is currently not valid.</li>
--   <li><a>aiHealth</a> - The health of the agent.</li>
--   <li><a>aiAgentId</a> - The agent ID.</li>
--   <li><a>aiVersion</a> - The agent version.</li>
--   </ul>
agentInfo :: AgentInfo

-- | The name of the host where the agent resides. The host can be a server
--   or virtual machine.
aiHostName :: Lens' AgentInfo (Maybe Text)

-- | Network details about the host where the agent resides.
aiAgentNetworkInfoList :: Lens' AgentInfo [AgentNetworkInfo]

-- | This data type is currently not valid.
aiConnectorId :: Lens' AgentInfo (Maybe Text)

-- | The health of the agent.
aiHealth :: Lens' AgentInfo (Maybe AgentStatus)

-- | The agent ID.
aiAgentId :: Lens' AgentInfo (Maybe Text)

-- | The agent version.
aiVersion :: Lens' AgentInfo (Maybe Text)

-- | Network details about the host where the agent resides.
--   
--   <i>See:</i> <a>agentNetworkInfo</a> smart constructor.
data AgentNetworkInfo

-- | Creates a value of <a>AgentNetworkInfo</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>aniIpAddress</a> - The IP address for the host where the agent
--   resides.</li>
--   <li><a>aniMacAddress</a> - The MAC address for the host where the
--   agent resides.</li>
--   </ul>
agentNetworkInfo :: AgentNetworkInfo

-- | The IP address for the host where the agent resides.
aniIpAddress :: Lens' AgentNetworkInfo (Maybe Text)

-- | The MAC address for the host where the agent resides.
aniMacAddress :: Lens' AgentNetworkInfo (Maybe Text)

-- | Tags for a configuration item. Tags are metadata that help you
--   categorize IT assets.
--   
--   <i>See:</i> <a>configurationTag</a> smart constructor.
data ConfigurationTag

-- | Creates a value of <a>ConfigurationTag</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>ctTimeOfCreation</a> - The time the configuration tag was
--   created in Coordinated Universal Time (UTC).</li>
--   <li><a>ctConfigurationId</a> - The configuration ID for the item you
--   want to tag. You can specify a list of keys and values.</li>
--   <li><a>ctConfigurationType</a> - A type of IT asset that you want to
--   tag.</li>
--   <li><a>ctValue</a> - A value to filter on. For example <i>key =
--   serverType</i> and <i>value = web server</i> .</li>
--   <li><a>ctKey</a> - A type of tag to filter on. For example,
--   <i>serverType</i> .</li>
--   </ul>
configurationTag :: ConfigurationTag

-- | The time the configuration tag was created in Coordinated Universal
--   Time (UTC).
ctTimeOfCreation :: Lens' ConfigurationTag (Maybe UTCTime)

-- | The configuration ID for the item you want to tag. You can specify a
--   list of keys and values.
ctConfigurationId :: Lens' ConfigurationTag (Maybe Text)

-- | A type of IT asset that you want to tag.
ctConfigurationType :: Lens' ConfigurationTag (Maybe ConfigurationItemType)

-- | A value to filter on. For example <i>key = serverType</i> and <i>value
--   = web server</i> .
ctValue :: Lens' ConfigurationTag (Maybe Text)

-- | A type of tag to filter on. For example, <i>serverType</i> .
ctKey :: Lens' ConfigurationTag (Maybe Text)

-- | Information regarding the export status of the discovered data. The
--   value is an array of objects.
--   
--   <i>See:</i> <a>exportInfo</a> smart constructor.
data ExportInfo

-- | Creates a value of <a>ExportInfo</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>eiConfigurationsDownloadURL</a> - A URL for an Amazon S3 bucket
--   where you can review the configuration data. The URL is displayed only
--   if the export succeeded.</li>
--   <li><a>eiExportId</a> - A unique identifier that you can use to query
--   the export.</li>
--   <li><a>eiExportStatus</a> - The status of the configuration data
--   export. The status can succeed, fail, or be in-progress.</li>
--   <li><a>eiStatusMessage</a> - Helpful status messages for API callers.
--   For example: Too many exports in the last 6 hours. Export in progress.
--   Export was successful.</li>
--   <li><a>eiExportRequestTime</a> - The time the configuration data
--   export was initiated.</li>
--   </ul>
exportInfo :: Text -> ExportStatus -> Text -> UTCTime -> ExportInfo

-- | A URL for an Amazon S3 bucket where you can review the configuration
--   data. The URL is displayed only if the export succeeded.
eiConfigurationsDownloadURL :: Lens' ExportInfo (Maybe Text)

-- | A unique identifier that you can use to query the export.
eiExportId :: Lens' ExportInfo Text

-- | The status of the configuration data export. The status can succeed,
--   fail, or be in-progress.
eiExportStatus :: Lens' ExportInfo ExportStatus

-- | Helpful status messages for API callers. For example: Too many exports
--   in the last 6 hours. Export in progress. Export was successful.
eiStatusMessage :: Lens' ExportInfo Text

-- | The time the configuration data export was initiated.
eiExportRequestTime :: Lens' ExportInfo UTCTime

-- | A filter that can use conditional operators.
--   
--   <i>See:</i> <a>filter'</a> smart constructor.
data Filter

-- | Creates a value of <a>Filter</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>fName</a> - The name of the filter. The following filter names
--   are allowed for <tt>SERVER</tt> configuration items. <b>Server</b> *
--   <tt>server.hostName</tt> * <tt>server.osName</tt> *
--   <tt>server.osVersion</tt> * <tt>server.configurationid</tt> *
--   <tt>server.agentid</tt> The name of the filter. The following filter
--   names are allowed for <tt>PROCESS</tt> configuration items.
--   <b>Process</b> * <tt>process.configurationid</tt> *
--   <tt>process.name</tt> * <tt>process.commandLine</tt> *
--   <tt>server.configurationid</tt> * <tt>server.hostName</tt> *
--   <tt>server.osName</tt> * <tt>server.osVersion</tt> *
--   <tt>server.agentId</tt> The name of the filter. The following filter
--   names are allowed for <tt>CONNECTION</tt> configuration items.
--   <b>Connection</b> * <tt>connection.sourceIp</tt> *
--   <tt>connection.destinationIp</tt> *
--   <tt>connection.destinationPort</tt> *
--   <tt>sourceProcess.configurationId</tt> * <tt>sourceProcess.name</tt> *
--   <tt>sourceProcess.commandLine</tt> *
--   <tt>destinationProcess.configurationId</tt> *
--   <tt>destinationProcess.name</tt> *
--   <tt>destinationProcess.commandLine</tt> *
--   <tt>sourceServer.configurationId</tt> * <tt>sourceServer.hostName</tt>
--   * <tt>sourceServer.osName</tt> * <tt>sourceServer.osVersion</tt> *
--   <tt>sourceServer.agentId</tt> *
--   <tt>destinationServer.configurationId</tt> *
--   <tt>destinationServer.hostName</tt> *
--   <tt>destinationServer.osName</tt> *
--   <tt>destinationServer.osVersion</tt> *
--   <tt>destinationServer.agentId</tt></li>
--   <li><a>fValues</a> - A string value that you want to filter on. For
--   example, if you choose the <tt>destinationServer.osVersion</tt> filter
--   name, you could specify <tt>Ubuntu</tt> for the value.</li>
--   <li><a>fCondition</a> - A conditional operator. The following
--   operators are valid: EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS. If
--   you specify multiple filters, the system utilizes all filters as
--   though concatenated by <i>AND</i> . If you specify multiple values for
--   a particular filter, the system differentiates the values using
--   <i>OR</i> . Calling either <i>DescribeConfigurations</i> or
--   <i>ListConfigurations</i> returns attributes of matching configuration
--   items.</li>
--   </ul>
filter' :: Text -> Text -> Filter

-- | The name of the filter. The following filter names are allowed for
--   <tt>SERVER</tt> configuration items. <b>Server</b> *
--   <tt>server.hostName</tt> * <tt>server.osName</tt> *
--   <tt>server.osVersion</tt> * <tt>server.configurationid</tt> *
--   <tt>server.agentid</tt> The name of the filter. The following filter
--   names are allowed for <tt>PROCESS</tt> configuration items.
--   <b>Process</b> * <tt>process.configurationid</tt> *
--   <tt>process.name</tt> * <tt>process.commandLine</tt> *
--   <tt>server.configurationid</tt> * <tt>server.hostName</tt> *
--   <tt>server.osName</tt> * <tt>server.osVersion</tt> *
--   <tt>server.agentId</tt> The name of the filter. The following filter
--   names are allowed for <tt>CONNECTION</tt> configuration items.
--   <b>Connection</b> * <tt>connection.sourceIp</tt> *
--   <tt>connection.destinationIp</tt> *
--   <tt>connection.destinationPort</tt> *
--   <tt>sourceProcess.configurationId</tt> * <tt>sourceProcess.name</tt> *
--   <tt>sourceProcess.commandLine</tt> *
--   <tt>destinationProcess.configurationId</tt> *
--   <tt>destinationProcess.name</tt> *
--   <tt>destinationProcess.commandLine</tt> *
--   <tt>sourceServer.configurationId</tt> * <tt>sourceServer.hostName</tt>
--   * <tt>sourceServer.osName</tt> * <tt>sourceServer.osVersion</tt> *
--   <tt>sourceServer.agentId</tt> *
--   <tt>destinationServer.configurationId</tt> *
--   <tt>destinationServer.hostName</tt> *
--   <tt>destinationServer.osName</tt> *
--   <tt>destinationServer.osVersion</tt> *
--   <tt>destinationServer.agentId</tt>
fName :: Lens' Filter Text

-- | A string value that you want to filter on. For example, if you choose
--   the <tt>destinationServer.osVersion</tt> filter name, you could
--   specify <tt>Ubuntu</tt> for the value.
fValues :: Lens' Filter [Text]

-- | A conditional operator. The following operators are valid: EQUALS,
--   NOT_EQUALS, CONTAINS, NOT_CONTAINS. If you specify multiple filters,
--   the system utilizes all filters as though concatenated by <i>AND</i> .
--   If you specify multiple values for a particular filter, the system
--   differentiates the values using <i>OR</i> . Calling either
--   <i>DescribeConfigurations</i> or <i>ListConfigurations</i> returns
--   attributes of matching configuration items.
fCondition :: Lens' Filter Text

-- | Metadata that help you categorize IT assets.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</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>tagKey</a> - A type of tag to filter on.</li>
--   <li><a>tagValue</a> - A value for a tag key to filter on.</li>
--   </ul>
tag :: Text -> Text -> Tag

-- | A type of tag to filter on.
tagKey :: Lens' Tag Text

-- | A value for a tag key to filter on.
tagValue :: Lens' Tag Text

-- | The name of a tag filter. Valid names are: <tt>tagKey</tt> ,
--   <tt>tagValue</tt> , <tt>configurationId</tt> .
--   
--   <i>See:</i> <a>tagFilter</a> smart constructor.
data TagFilter

-- | Creates a value of <a>TagFilter</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>tfName</a> - A name of a tag filter.</li>
--   <li><a>tfValues</a> - Values of a tag filter.</li>
--   </ul>
tagFilter :: Text -> TagFilter

-- | A name of a tag filter.
tfName :: Lens' TagFilter Text

-- | Values of a tag filter.
tfValues :: Lens' TagFilter [Text]
