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


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


module Network.AWS.Support.Types

-- | API version <tt>2013-04-15</tt> of the Amazon Support SDK
--   configuration.
support :: Service

-- | The expiration time of the attachment set has passed. The set expires
--   1 hour after it is created.
_AttachmentSetExpired :: AsError a => Getting (First ServiceError) a ServiceError

-- | The limit for the number of attachment sets created in a short period
--   of time has been exceeded.
_AttachmentLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The limit for the number of <tt>DescribeAttachment</tt> requests in a
--   short period of time has been exceeded.
_DescribeAttachmentLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested <tt>caseId</tt> could not be located.
_CaseIdNotFound :: AsError a => Getting (First ServiceError) a ServiceError

-- | An attachment set with the specified ID could not be found.
_AttachmentSetIdNotFound :: AsError a => Getting (First ServiceError) a ServiceError

-- | A limit for the size of an attachment set has been exceeded. The
--   limits are 3 attachments and 5 MB per attachment.
_AttachmentSetSizeLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | An attachment with the specified ID could not be found.
_AttachmentIdNotFound :: AsError a => Getting (First ServiceError) a ServiceError

-- | An internal server error occurred.
_InternalServerError :: AsError a => Getting (First ServiceError) a ServiceError

-- | The case creation limit for the account has been exceeded.
_CaseCreationLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | An attachment to a case communication. The attachment consists of the
--   file name and the content of the file.
--   
--   <i>See:</i> <a>attachment</a> smart constructor.
data Attachment

-- | Creates a value of <a>Attachment</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>aData</a> - The content of the attachment file.-- <i>Note:</i>
--   This <tt>Lens</tt> automatically encodes and decodes Base64 data. The
--   underlying isomorphism will encode to Base64 representation during
--   serialisation, and decode from Base64 representation during
--   deserialisation. This <tt>Lens</tt> accepts and returns only raw
--   unencoded data.</li>
--   <li><a>aFileName</a> - The name of the attachment file.</li>
--   </ul>
attachment :: Attachment

-- | The content of the attachment file.-- <i>Note:</i> This <tt>Lens</tt>
--   automatically encodes and decodes Base64 data. The underlying
--   isomorphism will encode to Base64 representation during serialisation,
--   and decode from Base64 representation during deserialisation. This
--   <tt>Lens</tt> accepts and returns only raw unencoded data.
aData :: Lens' Attachment (Maybe ByteString)

-- | The name of the attachment file.
aFileName :: Lens' Attachment (Maybe Text)

-- | The file name and ID of an attachment to a case communication. You can
--   use the ID to retrieve the attachment with the
--   <tt>DescribeAttachment</tt> operation.
--   
--   <i>See:</i> <a>attachmentDetails</a> smart constructor.
data AttachmentDetails

-- | Creates a value of <a>AttachmentDetails</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>adAttachmentId</a> - The ID of the attachment.</li>
--   <li><a>adFileName</a> - The file name of the attachment.</li>
--   </ul>
attachmentDetails :: AttachmentDetails

-- | The ID of the attachment.
adAttachmentId :: Lens' AttachmentDetails (Maybe Text)

-- | The file name of the attachment.
adFileName :: Lens' AttachmentDetails (Maybe Text)

-- | A JSON-formatted object that contains the metadata for a support case.
--   It is contained the response from a <tt>DescribeCases</tt> request.
--   <b>CaseDetails</b> contains the following fields:
--   
--   <ul>
--   <li><b>caseId.</b> The AWS Support case ID requested or returned in
--   the call. The case ID is an alphanumeric string formatted as shown in
--   this example: case-<i>12345678910-2013-c4c1d2bf33c5cf47</i> .</li>
--   <li><b>categoryCode.</b> The category of problem for the AWS Support
--   case. Corresponds to the CategoryCode values returned by a call to
--   <tt>DescribeServices</tt> .</li>
--   <li><b>displayId.</b> The identifier for the case on pages in the AWS
--   Support Center.</li>
--   <li><b>language.</b> The ISO 639-1 code for the language in which AWS
--   provides support. AWS Support currently supports English ("en") and
--   Japanese ("ja"). Language parameters must be passed explicitly for
--   operations that take them.</li>
--   <li><b>recentCommunications.</b> One or more <a>Communication</a>
--   objects. Fields of these objects are <tt>attachments</tt> ,
--   <tt>body</tt> , <tt>caseId</tt> , <tt>submittedBy</tt> , and
--   <tt>timeCreated</tt> .</li>
--   <li><b>nextToken.</b> A resumption point for pagination.</li>
--   <li><b>serviceCode.</b> The identifier for the AWS service that
--   corresponds to the service code defined in the call to
--   <tt>DescribeServices</tt> .</li>
--   <li><b>severityCode. </b> The severity code assigned to the case.
--   Contains one of the values returned by the call to
--   <tt>DescribeSeverityLevels</tt> .</li>
--   <li><b>status.</b> The status of the case in the AWS Support
--   Center.</li>
--   <li><b>subject.</b> The subject line of the case.</li>
--   <li><b>submittedBy.</b> The email address of the account that
--   submitted the case.</li>
--   <li><b>timeCreated.</b> The time the case was created, in ISO-8601
--   format.</li>
--   </ul>
--   
--   <i>See:</i> <a>caseDetails</a> smart constructor.
data CaseDetails

-- | Creates a value of <a>CaseDetails</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>cdSubject</a> - The subject line for the case in the AWS
--   Support Center.</li>
--   <li><a>cdStatus</a> - The status of the case.</li>
--   <li><a>cdRecentCommunications</a> - The five most recent
--   communications between you and AWS Support Center, including the IDs
--   of any attachments to the communications. Also includes a
--   <tt>nextToken</tt> that you can use to retrieve earlier
--   communications.</li>
--   <li><a>cdSeverityCode</a> - The code for the severity level returned
--   by the call to <tt>DescribeSeverityLevels</tt> .</li>
--   <li><a>cdCaseId</a> - The AWS Support case ID requested or returned in
--   the call. The case ID is an alphanumeric string formatted as shown in
--   this example: case-<i>12345678910-2013-c4c1d2bf33c5cf47</i></li>
--   <li><a>cdCcEmailAddresses</a> - The email addresses that receive
--   copies of communication about the case.</li>
--   <li><a>cdDisplayId</a> - The ID displayed for the case in the AWS
--   Support Center. This is a numeric string.</li>
--   <li><a>cdSubmittedBy</a> - The email address of the account that
--   submitted the case.</li>
--   <li><a>cdLanguage</a> - The ISO 639-1 code for the language in which
--   AWS provides support. AWS Support currently supports English ("en")
--   and Japanese ("ja"). Language parameters must be passed explicitly for
--   operations that take them.</li>
--   <li><a>cdTimeCreated</a> - The time that the case was case created in
--   the AWS Support Center.</li>
--   <li><a>cdCategoryCode</a> - The category of problem for the AWS
--   Support case.</li>
--   <li><a>cdServiceCode</a> - The code for the AWS service returned by
--   the call to <tt>DescribeServices</tt> .</li>
--   </ul>
caseDetails :: CaseDetails

-- | The subject line for the case in the AWS Support Center.
cdSubject :: Lens' CaseDetails (Maybe Text)

-- | The status of the case.
cdStatus :: Lens' CaseDetails (Maybe Text)

-- | The five most recent communications between you and AWS Support
--   Center, including the IDs of any attachments to the communications.
--   Also includes a <tt>nextToken</tt> that you can use to retrieve
--   earlier communications.
cdRecentCommunications :: Lens' CaseDetails (Maybe RecentCaseCommunications)

-- | The code for the severity level returned by the call to
--   <tt>DescribeSeverityLevels</tt> .
cdSeverityCode :: Lens' CaseDetails (Maybe Text)

-- | The AWS Support case ID requested or returned in the call. The case ID
--   is an alphanumeric string formatted as shown in this example:
--   case-<i>12345678910-2013-c4c1d2bf33c5cf47</i>
cdCaseId :: Lens' CaseDetails (Maybe Text)

-- | The email addresses that receive copies of communication about the
--   case.
cdCcEmailAddresses :: Lens' CaseDetails [Text]

-- | The ID displayed for the case in the AWS Support Center. This is a
--   numeric string.
cdDisplayId :: Lens' CaseDetails (Maybe Text)

-- | The email address of the account that submitted the case.
cdSubmittedBy :: Lens' CaseDetails (Maybe Text)

-- | The ISO 639-1 code for the language in which AWS provides support. AWS
--   Support currently supports English ("en") and Japanese ("ja").
--   Language parameters must be passed explicitly for operations that take
--   them.
cdLanguage :: Lens' CaseDetails (Maybe Text)

-- | The time that the case was case created in the AWS Support Center.
cdTimeCreated :: Lens' CaseDetails (Maybe Text)

-- | The category of problem for the AWS Support case.
cdCategoryCode :: Lens' CaseDetails (Maybe Text)

-- | The code for the AWS service returned by the call to
--   <tt>DescribeServices</tt> .
cdServiceCode :: Lens' CaseDetails (Maybe Text)

-- | A JSON-formatted name/value pair that represents the category name and
--   category code of the problem, selected from the
--   <tt>DescribeServices</tt> response for each AWS service.
--   
--   <i>See:</i> <a>category</a> smart constructor.
data Category

-- | Creates a value of <a>Category</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>cName</a> - The category name for the support case.</li>
--   <li><a>cCode</a> - The category code for the support case.</li>
--   </ul>
category :: Category

-- | The category name for the support case.
cName :: Lens' Category (Maybe Text)

-- | The category code for the support case.
cCode :: Lens' Category (Maybe Text)

-- | A communication associated with an AWS Support case. The communication
--   consists of the case ID, the message body, attachment information, the
--   account email address, and the date and time of the communication.
--   
--   <i>See:</i> <a>communication</a> smart constructor.
data Communication

-- | Creates a value of <a>Communication</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>cBody</a> - The text of the communication between the customer
--   and AWS Support.</li>
--   <li><a>cCaseId</a> - The AWS Support case ID requested or returned in
--   the call. The case ID is an alphanumeric string formatted as shown in
--   this example: case-<i>12345678910-2013-c4c1d2bf33c5cf47</i></li>
--   <li><a>cSubmittedBy</a> - The email address of the account that
--   submitted the AWS Support case.</li>
--   <li><a>cTimeCreated</a> - The time the communication was created.</li>
--   <li><a>cAttachmentSet</a> - Information about the attachments to the
--   case communication.</li>
--   </ul>
communication :: Communication

-- | The text of the communication between the customer and AWS Support.
cBody :: Lens' Communication (Maybe Text)

-- | The AWS Support case ID requested or returned in the call. The case ID
--   is an alphanumeric string formatted as shown in this example:
--   case-<i>12345678910-2013-c4c1d2bf33c5cf47</i>
cCaseId :: Lens' Communication (Maybe Text)

-- | The email address of the account that submitted the AWS Support case.
cSubmittedBy :: Lens' Communication (Maybe Text)

-- | The time the communication was created.
cTimeCreated :: Lens' Communication (Maybe Text)

-- | Information about the attachments to the case communication.
cAttachmentSet :: Lens' Communication [AttachmentDetails]

-- | The five most recent communications associated with the case.
--   
--   <i>See:</i> <a>recentCaseCommunications</a> smart constructor.
data RecentCaseCommunications

-- | Creates a value of <a>RecentCaseCommunications</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>rccNextToken</a> - A resumption point for pagination.</li>
--   <li><a>rccCommunications</a> - The five most recent communications
--   associated with the case.</li>
--   </ul>
recentCaseCommunications :: RecentCaseCommunications

-- | A resumption point for pagination.
rccNextToken :: Lens' RecentCaseCommunications (Maybe Text)

-- | The five most recent communications associated with the case.
rccCommunications :: Lens' RecentCaseCommunications [Communication]

-- | A code and name pair that represent a severity level that can be
--   applied to a support case.
--   
--   <i>See:</i> <a>severityLevel</a> smart constructor.
data SeverityLevel

-- | Creates a value of <a>SeverityLevel</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>slName</a> - The name of the severity level that corresponds to
--   the severity level code.</li>
--   <li><a>slCode</a> - One of four values: "low," "medium," "high," and
--   "urgent". These values correspond to response times returned to the
--   caller in <tt>severityLevel.name</tt> .</li>
--   </ul>
severityLevel :: SeverityLevel

-- | The name of the severity level that corresponds to the severity level
--   code.
slName :: Lens' SeverityLevel (Maybe Text)

-- | One of four values: "low," "medium," "high," and "urgent". These
--   values correspond to response times returned to the caller in
--   <tt>severityLevel.name</tt> .
slCode :: Lens' SeverityLevel (Maybe Text)

-- | Information about an AWS service returned by the
--   <tt>DescribeServices</tt> operation.
--   
--   <i>See:</i> <a>supportService</a> smart constructor.
data SupportService

-- | Creates a value of <a>SupportService</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>ssCategories</a> - A list of categories that describe the type
--   of support issue a case describes. Categories consist of a category
--   name and a category code. Category names and codes are passed to AWS
--   Support when you call <tt>CreateCase</tt> .</li>
--   <li><a>ssName</a> - The friendly name for an AWS service. The
--   <tt>code</tt> element contains the corresponding code.</li>
--   <li><a>ssCode</a> - The code for an AWS service returned by the
--   <tt>DescribeServices</tt> response. The <tt>name</tt> element contains
--   the corresponding friendly name.</li>
--   </ul>
supportService :: SupportService

-- | A list of categories that describe the type of support issue a case
--   describes. Categories consist of a category name and a category code.
--   Category names and codes are passed to AWS Support when you call
--   <tt>CreateCase</tt> .
ssCategories :: Lens' SupportService [Category]

-- | The friendly name for an AWS service. The <tt>code</tt> element
--   contains the corresponding code.
ssName :: Lens' SupportService (Maybe Text)

-- | The code for an AWS service returned by the <tt>DescribeServices</tt>
--   response. The <tt>name</tt> element contains the corresponding
--   friendly name.
ssCode :: Lens' SupportService (Maybe Text)

-- | The container for summary information that relates to the category of
--   the Trusted Advisor check.
--   
--   <i>See:</i> <a>trustedAdvisorCategorySpecificSummary</a> smart
--   constructor.
data TrustedAdvisorCategorySpecificSummary

-- | Creates a value of <a>TrustedAdvisorCategorySpecificSummary</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>tacssCostOptimizing</a> - The summary information about cost
--   savings for a Trusted Advisor check that is in the Cost Optimizing
--   category.</li>
--   </ul>
trustedAdvisorCategorySpecificSummary :: TrustedAdvisorCategorySpecificSummary

-- | The summary information about cost savings for a Trusted Advisor check
--   that is in the Cost Optimizing category.
tacssCostOptimizing :: Lens' TrustedAdvisorCategorySpecificSummary (Maybe TrustedAdvisorCostOptimizingSummary)

-- | The description and metadata for a Trusted Advisor check.
--   
--   <i>See:</i> <a>trustedAdvisorCheckDescription</a> smart constructor.
data TrustedAdvisorCheckDescription

-- | Creates a value of <a>TrustedAdvisorCheckDescription</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>tacdId</a> - The unique identifier for the Trusted Advisor
--   check.</li>
--   <li><a>tacdName</a> - The display name for the Trusted Advisor
--   check.</li>
--   <li><a>tacdDescription</a> - The description of the Trusted Advisor
--   check, which includes the alert criteria and recommended actions
--   (contains HTML markup).</li>
--   <li><a>tacdCategory</a> - The category of the Trusted Advisor
--   check.</li>
--   <li><a>tacdMetadata</a> - The column headings for the data returned by
--   the Trusted Advisor check. The order of the headings corresponds to
--   the order of the data in the <b>Metadata</b> element of the
--   <a>TrustedAdvisorResourceDetail</a> for the check. <b>Metadata</b>
--   contains all the data that is shown in the Excel download, even in
--   those cases where the UI shows just summary data.</li>
--   </ul>
trustedAdvisorCheckDescription :: Text -> Text -> Text -> Text -> TrustedAdvisorCheckDescription

-- | The unique identifier for the Trusted Advisor check.
tacdId :: Lens' TrustedAdvisorCheckDescription Text

-- | The display name for the Trusted Advisor check.
tacdName :: Lens' TrustedAdvisorCheckDescription Text

-- | The description of the Trusted Advisor check, which includes the alert
--   criteria and recommended actions (contains HTML markup).
tacdDescription :: Lens' TrustedAdvisorCheckDescription Text

-- | The category of the Trusted Advisor check.
tacdCategory :: Lens' TrustedAdvisorCheckDescription Text

-- | The column headings for the data returned by the Trusted Advisor
--   check. The order of the headings corresponds to the order of the data
--   in the <b>Metadata</b> element of the
--   <a>TrustedAdvisorResourceDetail</a> for the check. <b>Metadata</b>
--   contains all the data that is shown in the Excel download, even in
--   those cases where the UI shows just summary data.
tacdMetadata :: Lens' TrustedAdvisorCheckDescription [Text]

-- | The refresh status of a Trusted Advisor check.
--   
--   <i>See:</i> <a>trustedAdvisorCheckRefreshStatus</a> smart constructor.
data TrustedAdvisorCheckRefreshStatus

-- | Creates a value of <a>TrustedAdvisorCheckRefreshStatus</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>tacrsCheckId</a> - The unique identifier for the Trusted
--   Advisor check.</li>
--   <li><a>tacrsStatus</a> - The status of the Trusted Advisor check for
--   which a refresh has been requested: "none", "enqueued", "processing",
--   "success", or "abandoned".</li>
--   <li><a>tacrsMillisUntilNextRefreshable</a> - The amount of time, in
--   milliseconds, until the Trusted Advisor check is eligible for
--   refresh.</li>
--   </ul>
trustedAdvisorCheckRefreshStatus :: Text -> Text -> Integer -> TrustedAdvisorCheckRefreshStatus

-- | The unique identifier for the Trusted Advisor check.
tacrsCheckId :: Lens' TrustedAdvisorCheckRefreshStatus Text

-- | The status of the Trusted Advisor check for which a refresh has been
--   requested: "none", "enqueued", "processing", "success", or
--   "abandoned".
tacrsStatus :: Lens' TrustedAdvisorCheckRefreshStatus Text

-- | The amount of time, in milliseconds, until the Trusted Advisor check
--   is eligible for refresh.
tacrsMillisUntilNextRefreshable :: Lens' TrustedAdvisorCheckRefreshStatus Integer

-- | The results of a Trusted Advisor check returned by
--   <tt>DescribeTrustedAdvisorCheckResult</tt> .
--   
--   <i>See:</i> <a>trustedAdvisorCheckResult</a> smart constructor.
data TrustedAdvisorCheckResult

-- | Creates a value of <a>TrustedAdvisorCheckResult</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>tacrCheckId</a> - The unique identifier for the Trusted Advisor
--   check.</li>
--   <li><a>tacrTimestamp</a> - The time of the last refresh of the
--   check.</li>
--   <li><a>tacrStatus</a> - The alert status of the check: "ok" (green),
--   "warning" (yellow), "error" (red), or "not_available".</li>
--   <li><a>tacrResourcesSummary</a> - Undocumented member.</li>
--   <li><a>tacrCategorySpecificSummary</a> - Summary information that
--   relates to the category of the check. Cost Optimizing is the only
--   category that is currently supported.</li>
--   <li><a>tacrFlaggedResources</a> - The details about each resource
--   listed in the check result.</li>
--   </ul>
trustedAdvisorCheckResult :: Text -> Text -> Text -> TrustedAdvisorResourcesSummary -> TrustedAdvisorCategorySpecificSummary -> TrustedAdvisorCheckResult

-- | The unique identifier for the Trusted Advisor check.
tacrCheckId :: Lens' TrustedAdvisorCheckResult Text

-- | The time of the last refresh of the check.
tacrTimestamp :: Lens' TrustedAdvisorCheckResult Text

-- | The alert status of the check: "ok" (green), "warning" (yellow),
--   "error" (red), or "not_available".
tacrStatus :: Lens' TrustedAdvisorCheckResult Text

-- | Undocumented member.
tacrResourcesSummary :: Lens' TrustedAdvisorCheckResult TrustedAdvisorResourcesSummary

-- | Summary information that relates to the category of the check. Cost
--   Optimizing is the only category that is currently supported.
tacrCategorySpecificSummary :: Lens' TrustedAdvisorCheckResult TrustedAdvisorCategorySpecificSummary

-- | The details about each resource listed in the check result.
tacrFlaggedResources :: Lens' TrustedAdvisorCheckResult [TrustedAdvisorResourceDetail]

-- | A summary of a Trusted Advisor check result, including the alert
--   status, last refresh, and number of resources examined.
--   
--   <i>See:</i> <a>trustedAdvisorCheckSummary</a> smart constructor.
data TrustedAdvisorCheckSummary

-- | Creates a value of <a>TrustedAdvisorCheckSummary</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>tacsHasFlaggedResources</a> - Specifies whether the Trusted
--   Advisor check has flagged resources.</li>
--   <li><a>tacsCheckId</a> - The unique identifier for the Trusted Advisor
--   check.</li>
--   <li><a>tacsTimestamp</a> - The time of the last refresh of the
--   check.</li>
--   <li><a>tacsStatus</a> - The alert status of the check: "ok" (green),
--   "warning" (yellow), "error" (red), or "not_available".</li>
--   <li><a>tacsResourcesSummary</a> - Undocumented member.</li>
--   <li><a>tacsCategorySpecificSummary</a> - Summary information that
--   relates to the category of the check. Cost Optimizing is the only
--   category that is currently supported.</li>
--   </ul>
trustedAdvisorCheckSummary :: Text -> Text -> Text -> TrustedAdvisorResourcesSummary -> TrustedAdvisorCategorySpecificSummary -> TrustedAdvisorCheckSummary

-- | Specifies whether the Trusted Advisor check has flagged resources.
tacsHasFlaggedResources :: Lens' TrustedAdvisorCheckSummary (Maybe Bool)

-- | The unique identifier for the Trusted Advisor check.
tacsCheckId :: Lens' TrustedAdvisorCheckSummary Text

-- | The time of the last refresh of the check.
tacsTimestamp :: Lens' TrustedAdvisorCheckSummary Text

-- | The alert status of the check: "ok" (green), "warning" (yellow),
--   "error" (red), or "not_available".
tacsStatus :: Lens' TrustedAdvisorCheckSummary Text

-- | Undocumented member.
tacsResourcesSummary :: Lens' TrustedAdvisorCheckSummary TrustedAdvisorResourcesSummary

-- | Summary information that relates to the category of the check. Cost
--   Optimizing is the only category that is currently supported.
tacsCategorySpecificSummary :: Lens' TrustedAdvisorCheckSummary TrustedAdvisorCategorySpecificSummary

-- | The estimated cost savings that might be realized if the recommended
--   actions are taken.
--   
--   <i>See:</i> <a>trustedAdvisorCostOptimizingSummary</a> smart
--   constructor.
data TrustedAdvisorCostOptimizingSummary

-- | Creates a value of <a>TrustedAdvisorCostOptimizingSummary</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>tacosEstimatedMonthlySavings</a> - The estimated monthly
--   savings that might be realized if the recommended actions are
--   taken.</li>
--   <li><a>tacosEstimatedPercentMonthlySavings</a> - The estimated
--   percentage of savings that might be realized if the recommended
--   actions are taken.</li>
--   </ul>
trustedAdvisorCostOptimizingSummary :: Double -> Double -> TrustedAdvisorCostOptimizingSummary

-- | The estimated monthly savings that might be realized if the
--   recommended actions are taken.
tacosEstimatedMonthlySavings :: Lens' TrustedAdvisorCostOptimizingSummary Double

-- | The estimated percentage of savings that might be realized if the
--   recommended actions are taken.
tacosEstimatedPercentMonthlySavings :: Lens' TrustedAdvisorCostOptimizingSummary Double

-- | Contains information about a resource identified by a Trusted Advisor
--   check.
--   
--   <i>See:</i> <a>trustedAdvisorResourceDetail</a> smart constructor.
data TrustedAdvisorResourceDetail

-- | Creates a value of <a>TrustedAdvisorResourceDetail</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>tardIsSuppressed</a> - Specifies whether the AWS resource was
--   ignored by Trusted Advisor because it was marked as suppressed by the
--   user.</li>
--   <li><a>tardRegion</a> - The AWS region in which the identified
--   resource is located.</li>
--   <li><a>tardStatus</a> - The status code for the resource identified in
--   the Trusted Advisor check.</li>
--   <li><a>tardResourceId</a> - The unique identifier for the identified
--   resource.</li>
--   <li><a>tardMetadata</a> - Additional information about the identified
--   resource. The exact metadata and its order can be obtained by
--   inspecting the <a>TrustedAdvisorCheckDescription</a> object returned
--   by the call to <tt>DescribeTrustedAdvisorChecks</tt> . <b>Metadata</b>
--   contains all the data that is shown in the Excel download, even in
--   those cases where the UI shows just summary data.</li>
--   </ul>
trustedAdvisorResourceDetail :: Text -> Text -> TrustedAdvisorResourceDetail

-- | Specifies whether the AWS resource was ignored by Trusted Advisor
--   because it was marked as suppressed by the user.
tardIsSuppressed :: Lens' TrustedAdvisorResourceDetail (Maybe Bool)

-- | The AWS region in which the identified resource is located.
tardRegion :: Lens' TrustedAdvisorResourceDetail (Maybe Text)

-- | The status code for the resource identified in the Trusted Advisor
--   check.
tardStatus :: Lens' TrustedAdvisorResourceDetail Text

-- | The unique identifier for the identified resource.
tardResourceId :: Lens' TrustedAdvisorResourceDetail Text

-- | Additional information about the identified resource. The exact
--   metadata and its order can be obtained by inspecting the
--   <a>TrustedAdvisorCheckDescription</a> object returned by the call to
--   <tt>DescribeTrustedAdvisorChecks</tt> . <b>Metadata</b> contains all
--   the data that is shown in the Excel download, even in those cases
--   where the UI shows just summary data.
tardMetadata :: Lens' TrustedAdvisorResourceDetail [Text]

-- | Details about AWS resources that were analyzed in a call to Trusted
--   Advisor <tt>DescribeTrustedAdvisorCheckSummaries</tt> .
--   
--   <i>See:</i> <a>trustedAdvisorResourcesSummary</a> smart constructor.
data TrustedAdvisorResourcesSummary

-- | Creates a value of <a>TrustedAdvisorResourcesSummary</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>tarsResourcesProcessed</a> - The number of AWS resources that
--   were analyzed by the Trusted Advisor check.</li>
--   <li><a>tarsResourcesFlagged</a> - The number of AWS resources that
--   were flagged (listed) by the Trusted Advisor check.</li>
--   <li><a>tarsResourcesIgnored</a> - The number of AWS resources ignored
--   by Trusted Advisor because information was unavailable.</li>
--   <li><a>tarsResourcesSuppressed</a> - The number of AWS resources
--   ignored by Trusted Advisor because they were marked as suppressed by
--   the user.</li>
--   </ul>
trustedAdvisorResourcesSummary :: Integer -> Integer -> Integer -> Integer -> TrustedAdvisorResourcesSummary

-- | The number of AWS resources that were analyzed by the Trusted Advisor
--   check.
tarsResourcesProcessed :: Lens' TrustedAdvisorResourcesSummary Integer

-- | The number of AWS resources that were flagged (listed) by the Trusted
--   Advisor check.
tarsResourcesFlagged :: Lens' TrustedAdvisorResourcesSummary Integer

-- | The number of AWS resources ignored by Trusted Advisor because
--   information was unavailable.
tarsResourcesIgnored :: Lens' TrustedAdvisorResourcesSummary Integer

-- | The number of AWS resources ignored by Trusted Advisor because they
--   were marked as suppressed by the user.
tarsResourcesSuppressed :: Lens' TrustedAdvisorResourcesSummary Integer


module Network.AWS.Support.Waiters


-- | Takes a <tt>caseId</tt> and returns the initial state of the case
--   along with the state of the case after the call to <a>ResolveCase</a>
--   completed.
module Network.AWS.Support.ResolveCase

-- | Creates a value of <a>ResolveCase</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>rcCaseId</a> - The AWS Support case ID requested or returned in
--   the call. The case ID is an alphanumeric string formatted as shown in
--   this example: case-<i>12345678910-2013-c4c1d2bf33c5cf47</i></li>
--   </ul>
resolveCase :: ResolveCase

-- | <i>See:</i> <a>resolveCase</a> smart constructor.
data ResolveCase

-- | The AWS Support case ID requested or returned in the call. The case ID
--   is an alphanumeric string formatted as shown in this example:
--   case-<i>12345678910-2013-c4c1d2bf33c5cf47</i>
rcCaseId :: Lens' ResolveCase (Maybe Text)

-- | Creates a value of <a>ResolveCaseResponse</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>rcrsInitialCaseStatus</a> - The status of the case when the
--   <a>ResolveCase</a> request was sent.</li>
--   <li><a>rcrsFinalCaseStatus</a> - The status of the case after the
--   <a>ResolveCase</a> request was processed.</li>
--   <li><a>rcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
resolveCaseResponse :: Int -> ResolveCaseResponse

-- | The status of the case returned by the <a>ResolveCase</a> operation.
--   
--   <i>See:</i> <a>resolveCaseResponse</a> smart constructor.
data ResolveCaseResponse

-- | The status of the case when the <a>ResolveCase</a> request was sent.
rcrsInitialCaseStatus :: Lens' ResolveCaseResponse (Maybe Text)

-- | The status of the case after the <a>ResolveCase</a> request was
--   processed.
rcrsFinalCaseStatus :: Lens' ResolveCaseResponse (Maybe Text)

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


-- | Requests a refresh of the Trusted Advisor check that has the specified
--   check ID. Check IDs can be obtained by calling
--   <tt>DescribeTrustedAdvisorChecks</tt> .
--   
--   The response contains a <a>TrustedAdvisorCheckRefreshStatus</a>
--   object, which contains these fields:
--   
--   <ul>
--   <li><b>status.</b> The refresh status of the check: "none",
--   "enqueued", "processing", "success", or "abandoned".</li>
--   <li><b>millisUntilNextRefreshable.</b> The amount of time, in
--   milliseconds, until the check is eligible for refresh.</li>
--   <li><b>checkId.</b> The unique identifier for the check.</li>
--   </ul>
module Network.AWS.Support.RefreshTrustedAdvisorCheck

-- | Creates a value of <a>RefreshTrustedAdvisorCheck</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>rtacCheckId</a> - The unique identifier for the Trusted Advisor
--   check to refresh. <b>Note:</b> Specifying the check ID of a check that
--   is automatically refreshed causes an <tt>InvalidParameterValue</tt>
--   error.</li>
--   </ul>
refreshTrustedAdvisorCheck :: Text -> RefreshTrustedAdvisorCheck

-- | <i>See:</i> <a>refreshTrustedAdvisorCheck</a> smart constructor.
data RefreshTrustedAdvisorCheck

-- | The unique identifier for the Trusted Advisor check to refresh.
--   <b>Note:</b> Specifying the check ID of a check that is automatically
--   refreshed causes an <tt>InvalidParameterValue</tt> error.
rtacCheckId :: Lens' RefreshTrustedAdvisorCheck Text

-- | Creates a value of <a>RefreshTrustedAdvisorCheckResponse</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>rtacrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>rtacrsStatus</a> - The current refresh status for a check,
--   including the amount of time until the check is eligible for
--   refresh.</li>
--   </ul>
refreshTrustedAdvisorCheckResponse :: Int -> TrustedAdvisorCheckRefreshStatus -> RefreshTrustedAdvisorCheckResponse

-- | The current refresh status of a Trusted Advisor check.
--   
--   <i>See:</i> <a>refreshTrustedAdvisorCheckResponse</a> smart
--   constructor.
data RefreshTrustedAdvisorCheckResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
rtacrsResponseStatus :: Lens' RefreshTrustedAdvisorCheckResponse Int

-- | The current refresh status for a check, including the amount of time
--   until the check is eligible for refresh.
rtacrsStatus :: Lens' RefreshTrustedAdvisorCheckResponse TrustedAdvisorCheckRefreshStatus
instance GHC.Generics.Generic Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheckResponse
instance Data.Data.Data Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheckResponse
instance GHC.Show.Show Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheckResponse
instance GHC.Read.Read Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheckResponse
instance GHC.Classes.Eq Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheckResponse
instance GHC.Generics.Generic Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheck
instance Data.Data.Data Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheck
instance GHC.Show.Show Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheck
instance GHC.Read.Read Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheck
instance GHC.Classes.Eq Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheck
instance Network.AWS.Types.AWSRequest Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheck
instance Data.Hashable.Class.Hashable Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheck
instance Control.DeepSeq.NFData Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheck
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheck
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheck
instance Network.AWS.Data.Path.ToPath Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheck
instance Network.AWS.Data.Query.ToQuery Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheck
instance Control.DeepSeq.NFData Network.AWS.Support.RefreshTrustedAdvisorCheck.RefreshTrustedAdvisorCheckResponse


-- | Returns information about all available Trusted Advisor checks,
--   including name, ID, category, description, and metadata. You must
--   specify a language code; English ("en") and Japanese ("ja") are
--   currently supported. The response contains a
--   <a>TrustedAdvisorCheckDescription</a> for each check.
module Network.AWS.Support.DescribeTrustedAdvisorChecks

-- | Creates a value of <a>DescribeTrustedAdvisorChecks</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>dtacLanguage</a> - The ISO 639-1 code for the language in which
--   AWS provides support. AWS Support currently supports English ("en")
--   and Japanese ("ja"). Language parameters must be passed explicitly for
--   operations that take them.</li>
--   </ul>
describeTrustedAdvisorChecks :: Text -> DescribeTrustedAdvisorChecks

-- | <i>See:</i> <a>describeTrustedAdvisorChecks</a> smart constructor.
data DescribeTrustedAdvisorChecks

-- | The ISO 639-1 code for the language in which AWS provides support. AWS
--   Support currently supports English ("en") and Japanese ("ja").
--   Language parameters must be passed explicitly for operations that take
--   them.
dtacLanguage :: Lens' DescribeTrustedAdvisorChecks Text

-- | Creates a value of <a>DescribeTrustedAdvisorChecksResponse</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>dtacrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>dtacrsChecks</a> - Information about all available Trusted
--   Advisor checks.</li>
--   </ul>
describeTrustedAdvisorChecksResponse :: Int -> DescribeTrustedAdvisorChecksResponse

-- | Information about the Trusted Advisor checks returned by the
--   <a>DescribeTrustedAdvisorChecks</a> operation.
--   
--   <i>See:</i> <a>describeTrustedAdvisorChecksResponse</a> smart
--   constructor.
data DescribeTrustedAdvisorChecksResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dtacrsResponseStatus :: Lens' DescribeTrustedAdvisorChecksResponse Int

-- | Information about all available Trusted Advisor checks.
dtacrsChecks :: Lens' DescribeTrustedAdvisorChecksResponse [TrustedAdvisorCheckDescription]
instance GHC.Generics.Generic Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecksResponse
instance Data.Data.Data Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecksResponse
instance GHC.Show.Show Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecksResponse
instance GHC.Read.Read Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecksResponse
instance GHC.Classes.Eq Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecksResponse
instance GHC.Generics.Generic Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecks
instance Data.Data.Data Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecks
instance GHC.Show.Show Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecks
instance GHC.Read.Read Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecks
instance GHC.Classes.Eq Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecks
instance Network.AWS.Types.AWSRequest Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecks
instance Data.Hashable.Class.Hashable Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecks
instance Control.DeepSeq.NFData Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecks
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecks
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecks
instance Network.AWS.Data.Path.ToPath Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecks
instance Network.AWS.Data.Query.ToQuery Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecks
instance Control.DeepSeq.NFData Network.AWS.Support.DescribeTrustedAdvisorChecks.DescribeTrustedAdvisorChecksResponse


-- | Returns the summaries of the results of the Trusted Advisor checks
--   that have the specified check IDs. Check IDs can be obtained by
--   calling <tt>DescribeTrustedAdvisorChecks</tt> .
--   
--   The response contains an array of <a>TrustedAdvisorCheckSummary</a>
--   objects.
module Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries

-- | Creates a value of <a>DescribeTrustedAdvisorCheckSummaries</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>dtacsCheckIds</a> - The IDs of the Trusted Advisor checks.</li>
--   </ul>
describeTrustedAdvisorCheckSummaries :: DescribeTrustedAdvisorCheckSummaries

-- | <i>See:</i> <a>describeTrustedAdvisorCheckSummaries</a> smart
--   constructor.
data DescribeTrustedAdvisorCheckSummaries

-- | The IDs of the Trusted Advisor checks.
dtacsCheckIds :: Lens' DescribeTrustedAdvisorCheckSummaries [Text]

-- | Creates a value of <a>DescribeTrustedAdvisorCheckSummariesResponse</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>dtacsrsResponseStatus</a> - -- | The response status code.</li>
--   <li><a>dtacsrsSummaries</a> - The summary information for the
--   requested Trusted Advisor checks.</li>
--   </ul>
describeTrustedAdvisorCheckSummariesResponse :: Int -> DescribeTrustedAdvisorCheckSummariesResponse

-- | The summaries of the Trusted Advisor checks returned by the
--   <a>DescribeTrustedAdvisorCheckSummaries</a> operation.
--   
--   <i>See:</i> <a>describeTrustedAdvisorCheckSummariesResponse</a> smart
--   constructor.
data DescribeTrustedAdvisorCheckSummariesResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dtacsrsResponseStatus :: Lens' DescribeTrustedAdvisorCheckSummariesResponse Int

-- | The summary information for the requested Trusted Advisor checks.
dtacsrsSummaries :: Lens' DescribeTrustedAdvisorCheckSummariesResponse [TrustedAdvisorCheckSummary]
instance GHC.Generics.Generic Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummariesResponse
instance Data.Data.Data Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummariesResponse
instance GHC.Show.Show Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummariesResponse
instance GHC.Read.Read Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummariesResponse
instance GHC.Classes.Eq Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummariesResponse
instance GHC.Generics.Generic Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummaries
instance Data.Data.Data Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummaries
instance GHC.Show.Show Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummaries
instance GHC.Read.Read Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummaries
instance GHC.Classes.Eq Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummaries
instance Network.AWS.Types.AWSRequest Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummaries
instance Data.Hashable.Class.Hashable Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummaries
instance Control.DeepSeq.NFData Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummaries
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummaries
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummaries
instance Network.AWS.Data.Path.ToPath Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummaries
instance Network.AWS.Data.Query.ToQuery Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummaries
instance Control.DeepSeq.NFData Network.AWS.Support.DescribeTrustedAdvisorCheckSummaries.DescribeTrustedAdvisorCheckSummariesResponse


-- | Returns the results of the Trusted Advisor check that has the
--   specified check ID. Check IDs can be obtained by calling
--   <tt>DescribeTrustedAdvisorChecks</tt> .
--   
--   The response contains a <a>TrustedAdvisorCheckResult</a> object, which
--   contains these three objects:
--   
--   <ul>
--   <li><a>TrustedAdvisorCategorySpecificSummary</a></li>
--   <li><a>TrustedAdvisorResourceDetail</a></li>
--   <li><a>TrustedAdvisorResourcesSummary</a></li>
--   </ul>
--   
--   In addition, the response contains these fields:
--   
--   <ul>
--   <li><b>status.</b> The alert status of the check: "ok" (green),
--   "warning" (yellow), "error" (red), or "not_available".</li>
--   <li><b>timestamp.</b> The time of the last refresh of the check.</li>
--   <li><b>checkId.</b> The unique identifier for the check.</li>
--   </ul>
module Network.AWS.Support.DescribeTrustedAdvisorCheckResult

-- | Creates a value of <a>DescribeTrustedAdvisorCheckResult</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>dtacrLanguage</a> - The ISO 639-1 code for the language in
--   which AWS provides support. AWS Support currently supports English
--   ("en") and Japanese ("ja"). Language parameters must be passed
--   explicitly for operations that take them.</li>
--   <li><a>dtacrCheckId</a> - The unique identifier for the Trusted
--   Advisor check.</li>
--   </ul>
describeTrustedAdvisorCheckResult :: Text -> DescribeTrustedAdvisorCheckResult

-- | <i>See:</i> <a>describeTrustedAdvisorCheckResult</a> smart
--   constructor.
data DescribeTrustedAdvisorCheckResult

-- | The ISO 639-1 code for the language in which AWS provides support. AWS
--   Support currently supports English ("en") and Japanese ("ja").
--   Language parameters must be passed explicitly for operations that take
--   them.
dtacrLanguage :: Lens' DescribeTrustedAdvisorCheckResult (Maybe Text)

-- | The unique identifier for the Trusted Advisor check.
dtacrCheckId :: Lens' DescribeTrustedAdvisorCheckResult Text

-- | Creates a value of <a>DescribeTrustedAdvisorCheckResultResponse</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>dtacrrsResult</a> - The detailed results of the Trusted Advisor
--   check.</li>
--   <li><a>dtacrrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeTrustedAdvisorCheckResultResponse :: Int -> DescribeTrustedAdvisorCheckResultResponse

-- | The result of the Trusted Advisor check returned by the
--   <a>DescribeTrustedAdvisorCheckResult</a> operation.
--   
--   <i>See:</i> <a>describeTrustedAdvisorCheckResultResponse</a> smart
--   constructor.
data DescribeTrustedAdvisorCheckResultResponse

-- | The detailed results of the Trusted Advisor check.
dtacrrsResult :: Lens' DescribeTrustedAdvisorCheckResultResponse (Maybe TrustedAdvisorCheckResult)

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


-- | Returns the refresh status of the Trusted Advisor checks that have the
--   specified check IDs. Check IDs can be obtained by calling
--   <tt>DescribeTrustedAdvisorChecks</tt> .
module Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses

-- | Creates a value of <a>DescribeTrustedAdvisorCheckRefreshStatuses</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>dtacrsCheckIds</a> - The IDs of the Trusted Advisor checks to
--   get the status of. <b>Note:</b> Specifying the check ID of a check
--   that is automatically refreshed causes an
--   <tt>InvalidParameterValue</tt> error.</li>
--   </ul>
describeTrustedAdvisorCheckRefreshStatuses :: DescribeTrustedAdvisorCheckRefreshStatuses

-- | <i>See:</i> <a>describeTrustedAdvisorCheckRefreshStatuses</a> smart
--   constructor.
data DescribeTrustedAdvisorCheckRefreshStatuses

-- | The IDs of the Trusted Advisor checks to get the status of.
--   <b>Note:</b> Specifying the check ID of a check that is automatically
--   refreshed causes an <tt>InvalidParameterValue</tt> error.
dtacrsCheckIds :: Lens' DescribeTrustedAdvisorCheckRefreshStatuses [Text]

-- | Creates a value of
--   <a>DescribeTrustedAdvisorCheckRefreshStatusesResponse</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>dtacrsrsResponseStatus</a> - -- | The response status
--   code.</li>
--   <li><a>dtacrsrsStatuses</a> - The refresh status of the specified
--   Trusted Advisor checks.</li>
--   </ul>
describeTrustedAdvisorCheckRefreshStatusesResponse :: Int -> DescribeTrustedAdvisorCheckRefreshStatusesResponse

-- | The statuses of the Trusted Advisor checks returned by the
--   <a>DescribeTrustedAdvisorCheckRefreshStatuses</a> operation.
--   
--   <i>See:</i> <a>describeTrustedAdvisorCheckRefreshStatusesResponse</a>
--   smart constructor.
data DescribeTrustedAdvisorCheckRefreshStatusesResponse

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dtacrsrsResponseStatus :: Lens' DescribeTrustedAdvisorCheckRefreshStatusesResponse Int

-- | The refresh status of the specified Trusted Advisor checks.
dtacrsrsStatuses :: Lens' DescribeTrustedAdvisorCheckRefreshStatusesResponse [TrustedAdvisorCheckRefreshStatus]
instance GHC.Generics.Generic Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatusesResponse
instance Data.Data.Data Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatusesResponse
instance GHC.Show.Show Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatusesResponse
instance GHC.Read.Read Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatusesResponse
instance GHC.Classes.Eq Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatusesResponse
instance GHC.Generics.Generic Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatuses
instance Data.Data.Data Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatuses
instance GHC.Show.Show Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatuses
instance GHC.Read.Read Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatuses
instance GHC.Classes.Eq Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatuses
instance Network.AWS.Types.AWSRequest Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatuses
instance Data.Hashable.Class.Hashable Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatuses
instance Control.DeepSeq.NFData Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatuses
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatuses
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatuses
instance Network.AWS.Data.Path.ToPath Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatuses
instance Network.AWS.Data.Query.ToQuery Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatuses
instance Control.DeepSeq.NFData Network.AWS.Support.DescribeTrustedAdvisorCheckRefreshStatuses.DescribeTrustedAdvisorCheckRefreshStatusesResponse


-- | Returns the list of severity levels that you can assign to an AWS
--   Support case. The severity level for a case is also a field in the
--   <a>CaseDetails</a> data type included in any <tt>CreateCase</tt>
--   request.
module Network.AWS.Support.DescribeSeverityLevels

-- | Creates a value of <a>DescribeSeverityLevels</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>dslLanguage</a> - The ISO 639-1 code for the language in which
--   AWS provides support. AWS Support currently supports English ("en")
--   and Japanese ("ja"). Language parameters must be passed explicitly for
--   operations that take them.</li>
--   </ul>
describeSeverityLevels :: DescribeSeverityLevels

-- | <i>See:</i> <a>describeSeverityLevels</a> smart constructor.
data DescribeSeverityLevels

-- | The ISO 639-1 code for the language in which AWS provides support. AWS
--   Support currently supports English ("en") and Japanese ("ja").
--   Language parameters must be passed explicitly for operations that take
--   them.
dslLanguage :: Lens' DescribeSeverityLevels (Maybe Text)

-- | Creates a value of <a>DescribeSeverityLevelsResponse</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>dslrsSeverityLevels</a> - The available severity levels for the
--   support case. Available severity levels are defined by your service
--   level agreement with AWS.</li>
--   <li><a>dslrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeSeverityLevelsResponse :: Int -> DescribeSeverityLevelsResponse

-- | The list of severity levels returned by the
--   <a>DescribeSeverityLevels</a> operation.
--   
--   <i>See:</i> <a>describeSeverityLevelsResponse</a> smart constructor.
data DescribeSeverityLevelsResponse

-- | The available severity levels for the support case. Available severity
--   levels are defined by your service level agreement with AWS.
dslrsSeverityLevels :: Lens' DescribeSeverityLevelsResponse [SeverityLevel]

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


-- | Returns the current list of AWS services and a list of service
--   categories that applies to each one. You then use service names and
--   categories in your <tt>CreateCase</tt> requests. Each AWS service has
--   its own set of categories.
--   
--   The service codes and category codes correspond to the values that are
--   displayed in the <b>Service</b> and <b>Category</b> drop-down lists on
--   the AWS Support Center <a>Create Case</a> page. The values in those
--   fields, however, do not necessarily match the service codes and
--   categories returned by the <tt>DescribeServices</tt> request. Always
--   use the service codes and categories obtained programmatically. This
--   practice ensures that you always have the most recent set of service
--   and category codes.
module Network.AWS.Support.DescribeServices

-- | Creates a value of <a>DescribeServices</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>dsServiceCodeList</a> - A JSON-formatted list of service codes
--   available for AWS services.</li>
--   <li><a>dsLanguage</a> - The ISO 639-1 code for the language in which
--   AWS provides support. AWS Support currently supports English ("en")
--   and Japanese ("ja"). Language parameters must be passed explicitly for
--   operations that take them.</li>
--   </ul>
describeServices :: DescribeServices

-- | <i>See:</i> <a>describeServices</a> smart constructor.
data DescribeServices

-- | A JSON-formatted list of service codes available for AWS services.
dsServiceCodeList :: Lens' DescribeServices [Text]

-- | The ISO 639-1 code for the language in which AWS provides support. AWS
--   Support currently supports English ("en") and Japanese ("ja").
--   Language parameters must be passed explicitly for operations that take
--   them.
dsLanguage :: Lens' DescribeServices (Maybe Text)

-- | Creates a value of <a>DescribeServicesResponse</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>dsrsServices</a> - A JSON-formatted list of AWS services.</li>
--   <li><a>dsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeServicesResponse :: Int -> DescribeServicesResponse

-- | The list of AWS services returned by the <a>DescribeServices</a>
--   operation.
--   
--   <i>See:</i> <a>describeServicesResponse</a> smart constructor.
data DescribeServicesResponse

-- | A JSON-formatted list of AWS services.
dsrsServices :: Lens' DescribeServicesResponse [SupportService]

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


-- | Returns communications (and attachments) for one or more support
--   cases. You can use the <tt>afterTime</tt> and <tt>beforeTime</tt>
--   parameters to filter by date. You can use the <tt>caseId</tt>
--   parameter to restrict the results to a particular case.
--   
--   Case data is available for 12 months after creation. If a case was
--   created more than 12 months ago, a request for data might cause an
--   error.
--   
--   You can use the <tt>maxResults</tt> and <tt>nextToken</tt> parameters
--   to control the pagination of the result set. Set <tt>maxResults</tt>
--   to the number of cases you want displayed on each page, and use
--   <tt>nextToken</tt> to specify the resumption of pagination.
--   
--   This operation returns paginated results.
module Network.AWS.Support.DescribeCommunications

-- | Creates a value of <a>DescribeCommunications</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>dAfterTime</a> - The start date for a filtered date search on
--   support case communications. Case communications are available for 12
--   months after creation.</li>
--   <li><a>dBeforeTime</a> - The end date for a filtered date search on
--   support case communications. Case communications are available for 12
--   months after creation.</li>
--   <li><a>dNextToken</a> - A resumption point for pagination.</li>
--   <li><a>dMaxResults</a> - The maximum number of results to return
--   before paginating.</li>
--   <li><a>dCaseId</a> - The AWS Support case ID requested or returned in
--   the call. The case ID is an alphanumeric string formatted as shown in
--   this example: case-<i>12345678910-2013-c4c1d2bf33c5cf47</i></li>
--   </ul>
describeCommunications :: Text -> DescribeCommunications

-- | <i>See:</i> <a>describeCommunications</a> smart constructor.
data DescribeCommunications

-- | The start date for a filtered date search on support case
--   communications. Case communications are available for 12 months after
--   creation.
dAfterTime :: Lens' DescribeCommunications (Maybe Text)

-- | The end date for a filtered date search on support case
--   communications. Case communications are available for 12 months after
--   creation.
dBeforeTime :: Lens' DescribeCommunications (Maybe Text)

-- | A resumption point for pagination.
dNextToken :: Lens' DescribeCommunications (Maybe Text)

-- | The maximum number of results to return before paginating.
dMaxResults :: Lens' DescribeCommunications (Maybe Natural)

-- | The AWS Support case ID requested or returned in the call. The case ID
--   is an alphanumeric string formatted as shown in this example:
--   case-<i>12345678910-2013-c4c1d2bf33c5cf47</i>
dCaseId :: Lens' DescribeCommunications Text

-- | Creates a value of <a>DescribeCommunicationsResponse</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>dcrsNextToken</a> - A resumption point for pagination.</li>
--   <li><a>dcrsCommunications</a> - The communications for the case.</li>
--   <li><a>dcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeCommunicationsResponse :: Int -> DescribeCommunicationsResponse

-- | The communications returned by the <a>DescribeCommunications</a>
--   operation.
--   
--   <i>See:</i> <a>describeCommunicationsResponse</a> smart constructor.
data DescribeCommunicationsResponse

-- | A resumption point for pagination.
dcrsNextToken :: Lens' DescribeCommunicationsResponse (Maybe Text)

-- | The communications for the case.
dcrsCommunications :: Lens' DescribeCommunicationsResponse [Communication]

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


-- | Returns a list of cases that you specify by passing one or more case
--   IDs. In addition, you can filter the cases by date by setting values
--   for the <tt>afterTime</tt> and <tt>beforeTime</tt> request parameters.
--   You can set values for the <tt>includeResolvedCases</tt> and
--   <tt>includeCommunications</tt> request parameters to control how much
--   information is returned.
--   
--   Case data is available for 12 months after creation. If a case was
--   created more than 12 months ago, a request for data might cause an
--   error.
--   
--   The response returns the following in JSON format:
--   
--   <ul>
--   <li>One or more <a>CaseDetails</a> data types.</li>
--   <li>One or more <tt>nextToken</tt> values, which specify where to
--   paginate the returned records represented by the <tt>CaseDetails</tt>
--   objects.</li>
--   </ul>
--   
--   This operation returns paginated results.
module Network.AWS.Support.DescribeCases

-- | Creates a value of <a>DescribeCases</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>dcIncludeResolvedCases</a> - Specifies whether resolved support
--   cases should be included in the <a>DescribeCases</a> results. The
--   default is <i>false</i> .</li>
--   <li><a>dcCaseIdList</a> - A list of ID numbers of the support cases
--   you want returned. The maximum number of cases is 100.</li>
--   <li><a>dcAfterTime</a> - The start date for a filtered date search on
--   support case communications. Case communications are available for 12
--   months after creation.</li>
--   <li><a>dcBeforeTime</a> - The end date for a filtered date search on
--   support case communications. Case communications are available for 12
--   months after creation.</li>
--   <li><a>dcNextToken</a> - A resumption point for pagination.</li>
--   <li><a>dcIncludeCommunications</a> - Specifies whether communications
--   should be included in the <a>DescribeCases</a> results. The default is
--   <i>true</i> .</li>
--   <li><a>dcDisplayId</a> - The ID displayed for a case in the AWS
--   Support Center user interface.</li>
--   <li><a>dcLanguage</a> - The ISO 639-1 code for the language in which
--   AWS provides support. AWS Support currently supports English ("en")
--   and Japanese ("ja"). Language parameters must be passed explicitly for
--   operations that take them.</li>
--   <li><a>dcMaxResults</a> - The maximum number of results to return
--   before paginating.</li>
--   </ul>
describeCases :: DescribeCases

-- | <i>See:</i> <a>describeCases</a> smart constructor.
data DescribeCases

-- | Specifies whether resolved support cases should be included in the
--   <a>DescribeCases</a> results. The default is <i>false</i> .
dcIncludeResolvedCases :: Lens' DescribeCases (Maybe Bool)

-- | A list of ID numbers of the support cases you want returned. The
--   maximum number of cases is 100.
dcCaseIdList :: Lens' DescribeCases [Text]

-- | The start date for a filtered date search on support case
--   communications. Case communications are available for 12 months after
--   creation.
dcAfterTime :: Lens' DescribeCases (Maybe Text)

-- | The end date for a filtered date search on support case
--   communications. Case communications are available for 12 months after
--   creation.
dcBeforeTime :: Lens' DescribeCases (Maybe Text)

-- | A resumption point for pagination.
dcNextToken :: Lens' DescribeCases (Maybe Text)

-- | Specifies whether communications should be included in the
--   <a>DescribeCases</a> results. The default is <i>true</i> .
dcIncludeCommunications :: Lens' DescribeCases (Maybe Bool)

-- | The ID displayed for a case in the AWS Support Center user interface.
dcDisplayId :: Lens' DescribeCases (Maybe Text)

-- | The ISO 639-1 code for the language in which AWS provides support. AWS
--   Support currently supports English ("en") and Japanese ("ja").
--   Language parameters must be passed explicitly for operations that take
--   them.
dcLanguage :: Lens' DescribeCases (Maybe Text)

-- | The maximum number of results to return before paginating.
dcMaxResults :: Lens' DescribeCases (Maybe Natural)

-- | Creates a value of <a>DescribeCasesResponse</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>drsCases</a> - The details for the cases that match the
--   request.</li>
--   <li><a>drsNextToken</a> - A resumption point for pagination.</li>
--   <li><a>drsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeCasesResponse :: Int -> DescribeCasesResponse

-- | Returns an array of <a>CaseDetails</a> objects and a
--   <tt>nextToken</tt> that defines a point for pagination in the result
--   set.
--   
--   <i>See:</i> <a>describeCasesResponse</a> smart constructor.
data DescribeCasesResponse

-- | The details for the cases that match the request.
drsCases :: Lens' DescribeCasesResponse [CaseDetails]

-- | A resumption point for pagination.
drsNextToken :: Lens' DescribeCasesResponse (Maybe Text)

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


-- | Returns the attachment that has the specified ID. Attachment IDs are
--   generated by the case management system when you add an attachment to
--   a case or case communication. Attachment IDs are returned in the
--   <a>AttachmentDetails</a> objects that are returned by the
--   <tt>DescribeCommunications</tt> operation.
module Network.AWS.Support.DescribeAttachment

-- | Creates a value of <a>DescribeAttachment</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>daAttachmentId</a> - The ID of the attachment to return.
--   Attachment IDs are returned by the <tt>DescribeCommunications</tt>
--   operation.</li>
--   </ul>
describeAttachment :: Text -> DescribeAttachment

-- | <i>See:</i> <a>describeAttachment</a> smart constructor.
data DescribeAttachment

-- | The ID of the attachment to return. Attachment IDs are returned by the
--   <tt>DescribeCommunications</tt> operation.
daAttachmentId :: Lens' DescribeAttachment Text

-- | Creates a value of <a>DescribeAttachmentResponse</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>darsAttachment</a> - The attachment content and file name.</li>
--   <li><a>darsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
describeAttachmentResponse :: Int -> DescribeAttachmentResponse

-- | The content and file name of the attachment returned by the
--   <a>DescribeAttachment</a> operation.
--   
--   <i>See:</i> <a>describeAttachmentResponse</a> smart constructor.
data DescribeAttachmentResponse

-- | The attachment content and file name.
darsAttachment :: Lens' DescribeAttachmentResponse (Maybe Attachment)

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


-- | Creates a new case in the AWS Support Center. This operation is
--   modeled on the behavior of the AWS Support Center <a>Create Case</a>
--   page. Its parameters require you to specify the following information:
--   
--   <ul>
--   <li><b>issueType.</b> The type of issue for the case. You can specify
--   either "customer-service" or "technical." If you do not indicate a
--   value, the default is "technical."</li>
--   <li><b>serviceCode.</b> The code for an AWS service. You obtain the
--   <tt>serviceCode</tt> by calling <tt>DescribeServices</tt> .</li>
--   <li><b>categoryCode.</b> The category for the service defined for the
--   <tt>serviceCode</tt> value. You also obtain the category code for a
--   service by calling <tt>DescribeServices</tt> . Each AWS service
--   defines its own set of category codes.</li>
--   <li><b>severityCode.</b> A value that indicates the urgency of the
--   case, which in turn determines the response time according to your
--   service level agreement with AWS Support. You obtain the SeverityCode
--   by calling <tt>DescribeSeverityLevels</tt> .</li>
--   <li><b>subject.</b> The <b>Subject</b> field on the AWS Support Center
--   <a>Create Case</a> page.</li>
--   <li><b>communicationBody.</b> The <b>Description</b> field on the AWS
--   Support Center <a>Create Case</a> page.</li>
--   <li><b>attachmentSetId.</b> The ID of a set of attachments that has
--   been created by using <tt>AddAttachmentsToSet</tt> .</li>
--   <li><b>language.</b> The human language in which AWS Support handles
--   the case. English and Japanese are currently supported.</li>
--   <li><b>ccEmailAddresses.</b> The AWS Support Center <b>CC</b> field on
--   the <a>Create Case</a> page. You can list email addresses to be copied
--   on any correspondence about the case. The account that opens the case
--   is already identified by passing the AWS Credentials in the HTTP POST
--   method or in a method or function call from one of the programming
--   languages supported by an <a>AWS SDK</a> .</li>
--   </ul>
--   
--   A successful <a>CreateCase</a> request returns an AWS Support case
--   number. Case numbers are used by the <tt>DescribeCases</tt> operation
--   to retrieve existing AWS Support cases.
module Network.AWS.Support.CreateCase

-- | Creates a value of <a>CreateCase</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>ccSeverityCode</a> - The code for the severity level returned
--   by the call to <tt>DescribeSeverityLevels</tt> .</li>
--   <li><a>ccIssueType</a> - The type of issue for the case. You can
--   specify either "customer-service" or "technical." If you do not
--   indicate a value, the default is "technical."</li>
--   <li><a>ccCcEmailAddresses</a> - A list of email addresses that AWS
--   Support copies on case correspondence.</li>
--   <li><a>ccLanguage</a> - The ISO 639-1 code for the language in which
--   AWS provides support. AWS Support currently supports English ("en")
--   and Japanese ("ja"). Language parameters must be passed explicitly for
--   operations that take them.</li>
--   <li><a>ccCategoryCode</a> - The category of problem for the AWS
--   Support case.</li>
--   <li><a>ccServiceCode</a> - The code for the AWS service returned by
--   the call to <tt>DescribeServices</tt> .</li>
--   <li><a>ccAttachmentSetId</a> - The ID of a set of one or more
--   attachments for the case. Create the set by using
--   <tt>AddAttachmentsToSet</tt> .</li>
--   <li><a>ccSubject</a> - The title of the AWS Support case.</li>
--   <li><a>ccCommunicationBody</a> - The communication body text when you
--   create an AWS Support case by calling <a>CreateCase</a> .</li>
--   </ul>
createCase :: Text -> Text -> CreateCase

-- | <i>See:</i> <a>createCase</a> smart constructor.
data CreateCase

-- | The code for the severity level returned by the call to
--   <tt>DescribeSeverityLevels</tt> .
ccSeverityCode :: Lens' CreateCase (Maybe Text)

-- | The type of issue for the case. You can specify either
--   "customer-service" or "technical." If you do not indicate a value, the
--   default is "technical."
ccIssueType :: Lens' CreateCase (Maybe Text)

-- | A list of email addresses that AWS Support copies on case
--   correspondence.
ccCcEmailAddresses :: Lens' CreateCase [Text]

-- | The ISO 639-1 code for the language in which AWS provides support. AWS
--   Support currently supports English ("en") and Japanese ("ja").
--   Language parameters must be passed explicitly for operations that take
--   them.
ccLanguage :: Lens' CreateCase (Maybe Text)

-- | The category of problem for the AWS Support case.
ccCategoryCode :: Lens' CreateCase (Maybe Text)

-- | The code for the AWS service returned by the call to
--   <tt>DescribeServices</tt> .
ccServiceCode :: Lens' CreateCase (Maybe Text)

-- | The ID of a set of one or more attachments for the case. Create the
--   set by using <tt>AddAttachmentsToSet</tt> .
ccAttachmentSetId :: Lens' CreateCase (Maybe Text)

-- | The title of the AWS Support case.
ccSubject :: Lens' CreateCase Text

-- | The communication body text when you create an AWS Support case by
--   calling <a>CreateCase</a> .
ccCommunicationBody :: Lens' CreateCase Text

-- | Creates a value of <a>CreateCaseResponse</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>ccrsCaseId</a> - The AWS Support case ID requested or returned
--   in the call. The case ID is an alphanumeric string formatted as shown
--   in this example: case-<i>12345678910-2013-c4c1d2bf33c5cf47</i></li>
--   <li><a>ccrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createCaseResponse :: Int -> CreateCaseResponse

-- | The AWS Support case ID returned by a successful completion of the
--   <a>CreateCase</a> operation.
--   
--   <i>See:</i> <a>createCaseResponse</a> smart constructor.
data CreateCaseResponse

-- | The AWS Support case ID requested or returned in the call. The case ID
--   is an alphanumeric string formatted as shown in this example:
--   case-<i>12345678910-2013-c4c1d2bf33c5cf47</i>
ccrsCaseId :: Lens' CreateCaseResponse (Maybe Text)

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


-- | Adds additional customer communication to an AWS Support case. You use
--   the <tt>caseId</tt> value to identify the case to add communication
--   to. You can list a set of email addresses to copy on the communication
--   using the <tt>ccEmailAddresses</tt> value. The
--   <tt>communicationBody</tt> value contains the text of the
--   communication.
--   
--   The response indicates the success or failure of the request.
--   
--   This operation implements a subset of the features of the AWS Support
--   Center.
module Network.AWS.Support.AddCommunicationToCase

-- | Creates a value of <a>AddCommunicationToCase</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>actcCaseId</a> - The AWS Support case ID requested or returned
--   in the call. The case ID is an alphanumeric string formatted as shown
--   in this example: case-<i>12345678910-2013-c4c1d2bf33c5cf47</i></li>
--   <li><a>actcCcEmailAddresses</a> - The email addresses in the CC line
--   of an email to be added to the support case.</li>
--   <li><a>actcAttachmentSetId</a> - The ID of a set of one or more
--   attachments for the communication to add to the case. Create the set
--   by calling <tt>AddAttachmentsToSet</tt></li>
--   <li><a>actcCommunicationBody</a> - The body of an email communication
--   to add to the support case.</li>
--   </ul>
addCommunicationToCase :: Text -> AddCommunicationToCase

-- | To be written.
--   
--   <i>See:</i> <a>addCommunicationToCase</a> smart constructor.
data AddCommunicationToCase

-- | The AWS Support case ID requested or returned in the call. The case ID
--   is an alphanumeric string formatted as shown in this example:
--   case-<i>12345678910-2013-c4c1d2bf33c5cf47</i>
actcCaseId :: Lens' AddCommunicationToCase (Maybe Text)

-- | The email addresses in the CC line of an email to be added to the
--   support case.
actcCcEmailAddresses :: Lens' AddCommunicationToCase [Text]

-- | The ID of a set of one or more attachments for the communication to
--   add to the case. Create the set by calling
--   <tt>AddAttachmentsToSet</tt>
actcAttachmentSetId :: Lens' AddCommunicationToCase (Maybe Text)

-- | The body of an email communication to add to the support case.
actcCommunicationBody :: Lens' AddCommunicationToCase Text

-- | Creates a value of <a>AddCommunicationToCaseResponse</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>actcrsResult</a> - True if <a>AddCommunicationToCase</a>
--   succeeds. Otherwise, returns an error.</li>
--   <li><a>actcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
addCommunicationToCaseResponse :: Int -> AddCommunicationToCaseResponse

-- | The result of the <a>AddCommunicationToCase</a> operation.
--   
--   <i>See:</i> <a>addCommunicationToCaseResponse</a> smart constructor.
data AddCommunicationToCaseResponse

-- | True if <a>AddCommunicationToCase</a> succeeds. Otherwise, returns an
--   error.
actcrsResult :: Lens' AddCommunicationToCaseResponse (Maybe Bool)

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


-- | Adds one or more attachments to an attachment set. If an
--   <tt>attachmentSetId</tt> is not specified, a new attachment set is
--   created, and the ID of the set is returned in the response. If an
--   <tt>attachmentSetId</tt> is specified, the attachments are added to
--   the specified set, if it exists.
--   
--   An attachment set is a temporary container for attachments that are to
--   be added to a case or case communication. The set is available for one
--   hour after it is created; the <tt>expiryTime</tt> returned in the
--   response indicates when the set expires. The maximum number of
--   attachments in a set is 3, and the maximum size of any attachment in
--   the set is 5 MB.
module Network.AWS.Support.AddAttachmentsToSet

-- | Creates a value of <a>AddAttachmentsToSet</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>aatsAttachmentSetId</a> - The ID of the attachment set. If an
--   <tt>attachmentSetId</tt> is not specified, a new attachment set is
--   created, and the ID of the set is returned in the response. If an
--   <tt>attachmentSetId</tt> is specified, the attachments are added to
--   the specified set, if it exists.</li>
--   <li><a>aatsAttachments</a> - One or more attachments to add to the
--   set. The limit is 3 attachments per set, and the size limit is 5 MB
--   per attachment.</li>
--   </ul>
addAttachmentsToSet :: AddAttachmentsToSet

-- | <i>See:</i> <a>addAttachmentsToSet</a> smart constructor.
data AddAttachmentsToSet

-- | The ID of the attachment set. If an <tt>attachmentSetId</tt> is not
--   specified, a new attachment set is created, and the ID of the set is
--   returned in the response. If an <tt>attachmentSetId</tt> is specified,
--   the attachments are added to the specified set, if it exists.
aatsAttachmentSetId :: Lens' AddAttachmentsToSet (Maybe Text)

-- | One or more attachments to add to the set. The limit is 3 attachments
--   per set, and the size limit is 5 MB per attachment.
aatsAttachments :: Lens' AddAttachmentsToSet [Attachment]

-- | Creates a value of <a>AddAttachmentsToSetResponse</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>aatsrsExpiryTime</a> - The time and date when the attachment
--   set expires.</li>
--   <li><a>aatsrsAttachmentSetId</a> - The ID of the attachment set. If an
--   <tt>attachmentSetId</tt> was not specified, a new attachment set is
--   created, and the ID of the set is returned in the response. If an
--   <tt>attachmentSetId</tt> was specified, the attachments are added to
--   the specified set, if it exists.</li>
--   <li><a>aatsrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
addAttachmentsToSetResponse :: Int -> AddAttachmentsToSetResponse

-- | The ID and expiry time of the attachment set returned by the
--   <a>AddAttachmentsToSet</a> operation.
--   
--   <i>See:</i> <a>addAttachmentsToSetResponse</a> smart constructor.
data AddAttachmentsToSetResponse

-- | The time and date when the attachment set expires.
aatsrsExpiryTime :: Lens' AddAttachmentsToSetResponse (Maybe Text)

-- | The ID of the attachment set. If an <tt>attachmentSetId</tt> was not
--   specified, a new attachment set is created, and the ID of the set is
--   returned in the response. If an <tt>attachmentSetId</tt> was
--   specified, the attachments are added to the specified set, if it
--   exists.
aatsrsAttachmentSetId :: Lens' AddAttachmentsToSetResponse (Maybe Text)

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


-- | <b>AWS Support</b>
--   
--   The AWS Support API reference is intended for programmers who need
--   detailed information about the AWS Support operations and data types.
--   This service enables you to manage your AWS Support cases
--   programmatically. It uses HTTP methods that return results in JSON
--   format.
--   
--   The AWS Support service also exposes a set of <a>Trusted Advisor</a>
--   features. You can retrieve a list of checks and their descriptions,
--   get check results, specify checks to refresh, and get the refresh
--   status of checks.
--   
--   The following list describes the AWS Support case management
--   operations:
--   
--   <ul>
--   <li><b>Service names, issue categories, and available severity levels.
--   </b> The <a>DescribeServices</a> and <a>DescribeSeverityLevels</a>
--   operations return AWS service names, service codes, service
--   categories, and problem severity levels. You use these values when you
--   call the <a>CreateCase</a> operation.</li>
--   <li><b>Case creation, case details, and case resolution.</b> The
--   <a>CreateCase</a> , <a>DescribeCases</a> , <a>DescribeAttachment</a> ,
--   and <a>ResolveCase</a> operations create AWS Support cases, retrieve
--   information about cases, and resolve cases.</li>
--   <li><b>Case communication.</b> The <a>DescribeCommunications</a> ,
--   <a>AddCommunicationToCase</a> , and <a>AddAttachmentsToSet</a>
--   operations retrieve and add communications and attachments to AWS
--   Support cases.</li>
--   </ul>
--   
--   The following list describes the operations available from the AWS
--   Support service for Trusted Advisor:
--   
--   <ul>
--   <li><a>DescribeTrustedAdvisorChecks</a> returns the list of checks
--   that run against your AWS resources.</li>
--   <li>Using the <tt>checkId</tt> for a specific check returned by
--   <a>DescribeTrustedAdvisorChecks</a> , you can call
--   <a>DescribeTrustedAdvisorCheckResult</a> to obtain the results for the
--   check you specified.</li>
--   <li><a>DescribeTrustedAdvisorCheckSummaries</a> returns summarized
--   results for one or more Trusted Advisor checks.</li>
--   <li><a>RefreshTrustedAdvisorCheck</a> requests that Trusted Advisor
--   rerun a specified check.</li>
--   <li><a>DescribeTrustedAdvisorCheckRefreshStatuses</a> reports the
--   refresh status of one or more checks.</li>
--   </ul>
--   
--   For authentication of requests, AWS Support uses <a>Signature Version
--   4 Signing Process</a> .
--   
--   See <a>About the AWS Support API</a> in the <i>AWS Support User
--   Guide</i> for information about how to use this service to create and
--   manage your support cases, and how to call Trusted Advisor for results
--   of checks on your resources.
module Network.AWS.Support

-- | API version <tt>2013-04-15</tt> of the Amazon Support SDK
--   configuration.
support :: Service

-- | The expiration time of the attachment set has passed. The set expires
--   1 hour after it is created.
_AttachmentSetExpired :: AsError a => Getting (First ServiceError) a ServiceError

-- | The limit for the number of attachment sets created in a short period
--   of time has been exceeded.
_AttachmentLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The limit for the number of <tt>DescribeAttachment</tt> requests in a
--   short period of time has been exceeded.
_DescribeAttachmentLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | The requested <tt>caseId</tt> could not be located.
_CaseIdNotFound :: AsError a => Getting (First ServiceError) a ServiceError

-- | An attachment set with the specified ID could not be found.
_AttachmentSetIdNotFound :: AsError a => Getting (First ServiceError) a ServiceError

-- | A limit for the size of an attachment set has been exceeded. The
--   limits are 3 attachments and 5 MB per attachment.
_AttachmentSetSizeLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | An attachment with the specified ID could not be found.
_AttachmentIdNotFound :: AsError a => Getting (First ServiceError) a ServiceError

-- | An internal server error occurred.
_InternalServerError :: AsError a => Getting (First ServiceError) a ServiceError

-- | The case creation limit for the account has been exceeded.
_CaseCreationLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError

-- | An attachment to a case communication. The attachment consists of the
--   file name and the content of the file.
--   
--   <i>See:</i> <a>attachment</a> smart constructor.
data Attachment

-- | Creates a value of <a>Attachment</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>aData</a> - The content of the attachment file.-- <i>Note:</i>
--   This <tt>Lens</tt> automatically encodes and decodes Base64 data. The
--   underlying isomorphism will encode to Base64 representation during
--   serialisation, and decode from Base64 representation during
--   deserialisation. This <tt>Lens</tt> accepts and returns only raw
--   unencoded data.</li>
--   <li><a>aFileName</a> - The name of the attachment file.</li>
--   </ul>
attachment :: Attachment

-- | The content of the attachment file.-- <i>Note:</i> This <tt>Lens</tt>
--   automatically encodes and decodes Base64 data. The underlying
--   isomorphism will encode to Base64 representation during serialisation,
--   and decode from Base64 representation during deserialisation. This
--   <tt>Lens</tt> accepts and returns only raw unencoded data.
aData :: Lens' Attachment (Maybe ByteString)

-- | The name of the attachment file.
aFileName :: Lens' Attachment (Maybe Text)

-- | The file name and ID of an attachment to a case communication. You can
--   use the ID to retrieve the attachment with the
--   <tt>DescribeAttachment</tt> operation.
--   
--   <i>See:</i> <a>attachmentDetails</a> smart constructor.
data AttachmentDetails

-- | Creates a value of <a>AttachmentDetails</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>adAttachmentId</a> - The ID of the attachment.</li>
--   <li><a>adFileName</a> - The file name of the attachment.</li>
--   </ul>
attachmentDetails :: AttachmentDetails

-- | The ID of the attachment.
adAttachmentId :: Lens' AttachmentDetails (Maybe Text)

-- | The file name of the attachment.
adFileName :: Lens' AttachmentDetails (Maybe Text)

-- | A JSON-formatted object that contains the metadata for a support case.
--   It is contained the response from a <tt>DescribeCases</tt> request.
--   <b>CaseDetails</b> contains the following fields:
--   
--   <ul>
--   <li><b>caseId.</b> The AWS Support case ID requested or returned in
--   the call. The case ID is an alphanumeric string formatted as shown in
--   this example: case-<i>12345678910-2013-c4c1d2bf33c5cf47</i> .</li>
--   <li><b>categoryCode.</b> The category of problem for the AWS Support
--   case. Corresponds to the CategoryCode values returned by a call to
--   <tt>DescribeServices</tt> .</li>
--   <li><b>displayId.</b> The identifier for the case on pages in the AWS
--   Support Center.</li>
--   <li><b>language.</b> The ISO 639-1 code for the language in which AWS
--   provides support. AWS Support currently supports English ("en") and
--   Japanese ("ja"). Language parameters must be passed explicitly for
--   operations that take them.</li>
--   <li><b>recentCommunications.</b> One or more <a>Communication</a>
--   objects. Fields of these objects are <tt>attachments</tt> ,
--   <tt>body</tt> , <tt>caseId</tt> , <tt>submittedBy</tt> , and
--   <tt>timeCreated</tt> .</li>
--   <li><b>nextToken.</b> A resumption point for pagination.</li>
--   <li><b>serviceCode.</b> The identifier for the AWS service that
--   corresponds to the service code defined in the call to
--   <tt>DescribeServices</tt> .</li>
--   <li><b>severityCode. </b> The severity code assigned to the case.
--   Contains one of the values returned by the call to
--   <tt>DescribeSeverityLevels</tt> .</li>
--   <li><b>status.</b> The status of the case in the AWS Support
--   Center.</li>
--   <li><b>subject.</b> The subject line of the case.</li>
--   <li><b>submittedBy.</b> The email address of the account that
--   submitted the case.</li>
--   <li><b>timeCreated.</b> The time the case was created, in ISO-8601
--   format.</li>
--   </ul>
--   
--   <i>See:</i> <a>caseDetails</a> smart constructor.
data CaseDetails

-- | Creates a value of <a>CaseDetails</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>cdSubject</a> - The subject line for the case in the AWS
--   Support Center.</li>
--   <li><a>cdStatus</a> - The status of the case.</li>
--   <li><a>cdRecentCommunications</a> - The five most recent
--   communications between you and AWS Support Center, including the IDs
--   of any attachments to the communications. Also includes a
--   <tt>nextToken</tt> that you can use to retrieve earlier
--   communications.</li>
--   <li><a>cdSeverityCode</a> - The code for the severity level returned
--   by the call to <tt>DescribeSeverityLevels</tt> .</li>
--   <li><a>cdCaseId</a> - The AWS Support case ID requested or returned in
--   the call. The case ID is an alphanumeric string formatted as shown in
--   this example: case-<i>12345678910-2013-c4c1d2bf33c5cf47</i></li>
--   <li><a>cdCcEmailAddresses</a> - The email addresses that receive
--   copies of communication about the case.</li>
--   <li><a>cdDisplayId</a> - The ID displayed for the case in the AWS
--   Support Center. This is a numeric string.</li>
--   <li><a>cdSubmittedBy</a> - The email address of the account that
--   submitted the case.</li>
--   <li><a>cdLanguage</a> - The ISO 639-1 code for the language in which
--   AWS provides support. AWS Support currently supports English ("en")
--   and Japanese ("ja"). Language parameters must be passed explicitly for
--   operations that take them.</li>
--   <li><a>cdTimeCreated</a> - The time that the case was case created in
--   the AWS Support Center.</li>
--   <li><a>cdCategoryCode</a> - The category of problem for the AWS
--   Support case.</li>
--   <li><a>cdServiceCode</a> - The code for the AWS service returned by
--   the call to <tt>DescribeServices</tt> .</li>
--   </ul>
caseDetails :: CaseDetails

-- | The subject line for the case in the AWS Support Center.
cdSubject :: Lens' CaseDetails (Maybe Text)

-- | The status of the case.
cdStatus :: Lens' CaseDetails (Maybe Text)

-- | The five most recent communications between you and AWS Support
--   Center, including the IDs of any attachments to the communications.
--   Also includes a <tt>nextToken</tt> that you can use to retrieve
--   earlier communications.
cdRecentCommunications :: Lens' CaseDetails (Maybe RecentCaseCommunications)

-- | The code for the severity level returned by the call to
--   <tt>DescribeSeverityLevels</tt> .
cdSeverityCode :: Lens' CaseDetails (Maybe Text)

-- | The AWS Support case ID requested or returned in the call. The case ID
--   is an alphanumeric string formatted as shown in this example:
--   case-<i>12345678910-2013-c4c1d2bf33c5cf47</i>
cdCaseId :: Lens' CaseDetails (Maybe Text)

-- | The email addresses that receive copies of communication about the
--   case.
cdCcEmailAddresses :: Lens' CaseDetails [Text]

-- | The ID displayed for the case in the AWS Support Center. This is a
--   numeric string.
cdDisplayId :: Lens' CaseDetails (Maybe Text)

-- | The email address of the account that submitted the case.
cdSubmittedBy :: Lens' CaseDetails (Maybe Text)

-- | The ISO 639-1 code for the language in which AWS provides support. AWS
--   Support currently supports English ("en") and Japanese ("ja").
--   Language parameters must be passed explicitly for operations that take
--   them.
cdLanguage :: Lens' CaseDetails (Maybe Text)

-- | The time that the case was case created in the AWS Support Center.
cdTimeCreated :: Lens' CaseDetails (Maybe Text)

-- | The category of problem for the AWS Support case.
cdCategoryCode :: Lens' CaseDetails (Maybe Text)

-- | The code for the AWS service returned by the call to
--   <tt>DescribeServices</tt> .
cdServiceCode :: Lens' CaseDetails (Maybe Text)

-- | A JSON-formatted name/value pair that represents the category name and
--   category code of the problem, selected from the
--   <tt>DescribeServices</tt> response for each AWS service.
--   
--   <i>See:</i> <a>category</a> smart constructor.
data Category

-- | Creates a value of <a>Category</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>cName</a> - The category name for the support case.</li>
--   <li><a>cCode</a> - The category code for the support case.</li>
--   </ul>
category :: Category

-- | The category name for the support case.
cName :: Lens' Category (Maybe Text)

-- | The category code for the support case.
cCode :: Lens' Category (Maybe Text)

-- | A communication associated with an AWS Support case. The communication
--   consists of the case ID, the message body, attachment information, the
--   account email address, and the date and time of the communication.
--   
--   <i>See:</i> <a>communication</a> smart constructor.
data Communication

-- | Creates a value of <a>Communication</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>cBody</a> - The text of the communication between the customer
--   and AWS Support.</li>
--   <li><a>cCaseId</a> - The AWS Support case ID requested or returned in
--   the call. The case ID is an alphanumeric string formatted as shown in
--   this example: case-<i>12345678910-2013-c4c1d2bf33c5cf47</i></li>
--   <li><a>cSubmittedBy</a> - The email address of the account that
--   submitted the AWS Support case.</li>
--   <li><a>cTimeCreated</a> - The time the communication was created.</li>
--   <li><a>cAttachmentSet</a> - Information about the attachments to the
--   case communication.</li>
--   </ul>
communication :: Communication

-- | The text of the communication between the customer and AWS Support.
cBody :: Lens' Communication (Maybe Text)

-- | The AWS Support case ID requested or returned in the call. The case ID
--   is an alphanumeric string formatted as shown in this example:
--   case-<i>12345678910-2013-c4c1d2bf33c5cf47</i>
cCaseId :: Lens' Communication (Maybe Text)

-- | The email address of the account that submitted the AWS Support case.
cSubmittedBy :: Lens' Communication (Maybe Text)

-- | The time the communication was created.
cTimeCreated :: Lens' Communication (Maybe Text)

-- | Information about the attachments to the case communication.
cAttachmentSet :: Lens' Communication [AttachmentDetails]

-- | The five most recent communications associated with the case.
--   
--   <i>See:</i> <a>recentCaseCommunications</a> smart constructor.
data RecentCaseCommunications

-- | Creates a value of <a>RecentCaseCommunications</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>rccNextToken</a> - A resumption point for pagination.</li>
--   <li><a>rccCommunications</a> - The five most recent communications
--   associated with the case.</li>
--   </ul>
recentCaseCommunications :: RecentCaseCommunications

-- | A resumption point for pagination.
rccNextToken :: Lens' RecentCaseCommunications (Maybe Text)

-- | The five most recent communications associated with the case.
rccCommunications :: Lens' RecentCaseCommunications [Communication]

-- | A code and name pair that represent a severity level that can be
--   applied to a support case.
--   
--   <i>See:</i> <a>severityLevel</a> smart constructor.
data SeverityLevel

-- | Creates a value of <a>SeverityLevel</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>slName</a> - The name of the severity level that corresponds to
--   the severity level code.</li>
--   <li><a>slCode</a> - One of four values: "low," "medium," "high," and
--   "urgent". These values correspond to response times returned to the
--   caller in <tt>severityLevel.name</tt> .</li>
--   </ul>
severityLevel :: SeverityLevel

-- | The name of the severity level that corresponds to the severity level
--   code.
slName :: Lens' SeverityLevel (Maybe Text)

-- | One of four values: "low," "medium," "high," and "urgent". These
--   values correspond to response times returned to the caller in
--   <tt>severityLevel.name</tt> .
slCode :: Lens' SeverityLevel (Maybe Text)

-- | Information about an AWS service returned by the
--   <tt>DescribeServices</tt> operation.
--   
--   <i>See:</i> <a>supportService</a> smart constructor.
data SupportService

-- | Creates a value of <a>SupportService</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>ssCategories</a> - A list of categories that describe the type
--   of support issue a case describes. Categories consist of a category
--   name and a category code. Category names and codes are passed to AWS
--   Support when you call <tt>CreateCase</tt> .</li>
--   <li><a>ssName</a> - The friendly name for an AWS service. The
--   <tt>code</tt> element contains the corresponding code.</li>
--   <li><a>ssCode</a> - The code for an AWS service returned by the
--   <tt>DescribeServices</tt> response. The <tt>name</tt> element contains
--   the corresponding friendly name.</li>
--   </ul>
supportService :: SupportService

-- | A list of categories that describe the type of support issue a case
--   describes. Categories consist of a category name and a category code.
--   Category names and codes are passed to AWS Support when you call
--   <tt>CreateCase</tt> .
ssCategories :: Lens' SupportService [Category]

-- | The friendly name for an AWS service. The <tt>code</tt> element
--   contains the corresponding code.
ssName :: Lens' SupportService (Maybe Text)

-- | The code for an AWS service returned by the <tt>DescribeServices</tt>
--   response. The <tt>name</tt> element contains the corresponding
--   friendly name.
ssCode :: Lens' SupportService (Maybe Text)

-- | The container for summary information that relates to the category of
--   the Trusted Advisor check.
--   
--   <i>See:</i> <a>trustedAdvisorCategorySpecificSummary</a> smart
--   constructor.
data TrustedAdvisorCategorySpecificSummary

-- | Creates a value of <a>TrustedAdvisorCategorySpecificSummary</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>tacssCostOptimizing</a> - The summary information about cost
--   savings for a Trusted Advisor check that is in the Cost Optimizing
--   category.</li>
--   </ul>
trustedAdvisorCategorySpecificSummary :: TrustedAdvisorCategorySpecificSummary

-- | The summary information about cost savings for a Trusted Advisor check
--   that is in the Cost Optimizing category.
tacssCostOptimizing :: Lens' TrustedAdvisorCategorySpecificSummary (Maybe TrustedAdvisorCostOptimizingSummary)

-- | The description and metadata for a Trusted Advisor check.
--   
--   <i>See:</i> <a>trustedAdvisorCheckDescription</a> smart constructor.
data TrustedAdvisorCheckDescription

-- | Creates a value of <a>TrustedAdvisorCheckDescription</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>tacdId</a> - The unique identifier for the Trusted Advisor
--   check.</li>
--   <li><a>tacdName</a> - The display name for the Trusted Advisor
--   check.</li>
--   <li><a>tacdDescription</a> - The description of the Trusted Advisor
--   check, which includes the alert criteria and recommended actions
--   (contains HTML markup).</li>
--   <li><a>tacdCategory</a> - The category of the Trusted Advisor
--   check.</li>
--   <li><a>tacdMetadata</a> - The column headings for the data returned by
--   the Trusted Advisor check. The order of the headings corresponds to
--   the order of the data in the <b>Metadata</b> element of the
--   <a>TrustedAdvisorResourceDetail</a> for the check. <b>Metadata</b>
--   contains all the data that is shown in the Excel download, even in
--   those cases where the UI shows just summary data.</li>
--   </ul>
trustedAdvisorCheckDescription :: Text -> Text -> Text -> Text -> TrustedAdvisorCheckDescription

-- | The unique identifier for the Trusted Advisor check.
tacdId :: Lens' TrustedAdvisorCheckDescription Text

-- | The display name for the Trusted Advisor check.
tacdName :: Lens' TrustedAdvisorCheckDescription Text

-- | The description of the Trusted Advisor check, which includes the alert
--   criteria and recommended actions (contains HTML markup).
tacdDescription :: Lens' TrustedAdvisorCheckDescription Text

-- | The category of the Trusted Advisor check.
tacdCategory :: Lens' TrustedAdvisorCheckDescription Text

-- | The column headings for the data returned by the Trusted Advisor
--   check. The order of the headings corresponds to the order of the data
--   in the <b>Metadata</b> element of the
--   <a>TrustedAdvisorResourceDetail</a> for the check. <b>Metadata</b>
--   contains all the data that is shown in the Excel download, even in
--   those cases where the UI shows just summary data.
tacdMetadata :: Lens' TrustedAdvisorCheckDescription [Text]

-- | The refresh status of a Trusted Advisor check.
--   
--   <i>See:</i> <a>trustedAdvisorCheckRefreshStatus</a> smart constructor.
data TrustedAdvisorCheckRefreshStatus

-- | Creates a value of <a>TrustedAdvisorCheckRefreshStatus</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>tacrsCheckId</a> - The unique identifier for the Trusted
--   Advisor check.</li>
--   <li><a>tacrsStatus</a> - The status of the Trusted Advisor check for
--   which a refresh has been requested: "none", "enqueued", "processing",
--   "success", or "abandoned".</li>
--   <li><a>tacrsMillisUntilNextRefreshable</a> - The amount of time, in
--   milliseconds, until the Trusted Advisor check is eligible for
--   refresh.</li>
--   </ul>
trustedAdvisorCheckRefreshStatus :: Text -> Text -> Integer -> TrustedAdvisorCheckRefreshStatus

-- | The unique identifier for the Trusted Advisor check.
tacrsCheckId :: Lens' TrustedAdvisorCheckRefreshStatus Text

-- | The status of the Trusted Advisor check for which a refresh has been
--   requested: "none", "enqueued", "processing", "success", or
--   "abandoned".
tacrsStatus :: Lens' TrustedAdvisorCheckRefreshStatus Text

-- | The amount of time, in milliseconds, until the Trusted Advisor check
--   is eligible for refresh.
tacrsMillisUntilNextRefreshable :: Lens' TrustedAdvisorCheckRefreshStatus Integer

-- | The results of a Trusted Advisor check returned by
--   <tt>DescribeTrustedAdvisorCheckResult</tt> .
--   
--   <i>See:</i> <a>trustedAdvisorCheckResult</a> smart constructor.
data TrustedAdvisorCheckResult

-- | Creates a value of <a>TrustedAdvisorCheckResult</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>tacrCheckId</a> - The unique identifier for the Trusted Advisor
--   check.</li>
--   <li><a>tacrTimestamp</a> - The time of the last refresh of the
--   check.</li>
--   <li><a>tacrStatus</a> - The alert status of the check: "ok" (green),
--   "warning" (yellow), "error" (red), or "not_available".</li>
--   <li><a>tacrResourcesSummary</a> - Undocumented member.</li>
--   <li><a>tacrCategorySpecificSummary</a> - Summary information that
--   relates to the category of the check. Cost Optimizing is the only
--   category that is currently supported.</li>
--   <li><a>tacrFlaggedResources</a> - The details about each resource
--   listed in the check result.</li>
--   </ul>
trustedAdvisorCheckResult :: Text -> Text -> Text -> TrustedAdvisorResourcesSummary -> TrustedAdvisorCategorySpecificSummary -> TrustedAdvisorCheckResult

-- | The unique identifier for the Trusted Advisor check.
tacrCheckId :: Lens' TrustedAdvisorCheckResult Text

-- | The time of the last refresh of the check.
tacrTimestamp :: Lens' TrustedAdvisorCheckResult Text

-- | The alert status of the check: "ok" (green), "warning" (yellow),
--   "error" (red), or "not_available".
tacrStatus :: Lens' TrustedAdvisorCheckResult Text

-- | Undocumented member.
tacrResourcesSummary :: Lens' TrustedAdvisorCheckResult TrustedAdvisorResourcesSummary

-- | Summary information that relates to the category of the check. Cost
--   Optimizing is the only category that is currently supported.
tacrCategorySpecificSummary :: Lens' TrustedAdvisorCheckResult TrustedAdvisorCategorySpecificSummary

-- | The details about each resource listed in the check result.
tacrFlaggedResources :: Lens' TrustedAdvisorCheckResult [TrustedAdvisorResourceDetail]

-- | A summary of a Trusted Advisor check result, including the alert
--   status, last refresh, and number of resources examined.
--   
--   <i>See:</i> <a>trustedAdvisorCheckSummary</a> smart constructor.
data TrustedAdvisorCheckSummary

-- | Creates a value of <a>TrustedAdvisorCheckSummary</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>tacsHasFlaggedResources</a> - Specifies whether the Trusted
--   Advisor check has flagged resources.</li>
--   <li><a>tacsCheckId</a> - The unique identifier for the Trusted Advisor
--   check.</li>
--   <li><a>tacsTimestamp</a> - The time of the last refresh of the
--   check.</li>
--   <li><a>tacsStatus</a> - The alert status of the check: "ok" (green),
--   "warning" (yellow), "error" (red), or "not_available".</li>
--   <li><a>tacsResourcesSummary</a> - Undocumented member.</li>
--   <li><a>tacsCategorySpecificSummary</a> - Summary information that
--   relates to the category of the check. Cost Optimizing is the only
--   category that is currently supported.</li>
--   </ul>
trustedAdvisorCheckSummary :: Text -> Text -> Text -> TrustedAdvisorResourcesSummary -> TrustedAdvisorCategorySpecificSummary -> TrustedAdvisorCheckSummary

-- | Specifies whether the Trusted Advisor check has flagged resources.
tacsHasFlaggedResources :: Lens' TrustedAdvisorCheckSummary (Maybe Bool)

-- | The unique identifier for the Trusted Advisor check.
tacsCheckId :: Lens' TrustedAdvisorCheckSummary Text

-- | The time of the last refresh of the check.
tacsTimestamp :: Lens' TrustedAdvisorCheckSummary Text

-- | The alert status of the check: "ok" (green), "warning" (yellow),
--   "error" (red), or "not_available".
tacsStatus :: Lens' TrustedAdvisorCheckSummary Text

-- | Undocumented member.
tacsResourcesSummary :: Lens' TrustedAdvisorCheckSummary TrustedAdvisorResourcesSummary

-- | Summary information that relates to the category of the check. Cost
--   Optimizing is the only category that is currently supported.
tacsCategorySpecificSummary :: Lens' TrustedAdvisorCheckSummary TrustedAdvisorCategorySpecificSummary

-- | The estimated cost savings that might be realized if the recommended
--   actions are taken.
--   
--   <i>See:</i> <a>trustedAdvisorCostOptimizingSummary</a> smart
--   constructor.
data TrustedAdvisorCostOptimizingSummary

-- | Creates a value of <a>TrustedAdvisorCostOptimizingSummary</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>tacosEstimatedMonthlySavings</a> - The estimated monthly
--   savings that might be realized if the recommended actions are
--   taken.</li>
--   <li><a>tacosEstimatedPercentMonthlySavings</a> - The estimated
--   percentage of savings that might be realized if the recommended
--   actions are taken.</li>
--   </ul>
trustedAdvisorCostOptimizingSummary :: Double -> Double -> TrustedAdvisorCostOptimizingSummary

-- | The estimated monthly savings that might be realized if the
--   recommended actions are taken.
tacosEstimatedMonthlySavings :: Lens' TrustedAdvisorCostOptimizingSummary Double

-- | The estimated percentage of savings that might be realized if the
--   recommended actions are taken.
tacosEstimatedPercentMonthlySavings :: Lens' TrustedAdvisorCostOptimizingSummary Double

-- | Contains information about a resource identified by a Trusted Advisor
--   check.
--   
--   <i>See:</i> <a>trustedAdvisorResourceDetail</a> smart constructor.
data TrustedAdvisorResourceDetail

-- | Creates a value of <a>TrustedAdvisorResourceDetail</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>tardIsSuppressed</a> - Specifies whether the AWS resource was
--   ignored by Trusted Advisor because it was marked as suppressed by the
--   user.</li>
--   <li><a>tardRegion</a> - The AWS region in which the identified
--   resource is located.</li>
--   <li><a>tardStatus</a> - The status code for the resource identified in
--   the Trusted Advisor check.</li>
--   <li><a>tardResourceId</a> - The unique identifier for the identified
--   resource.</li>
--   <li><a>tardMetadata</a> - Additional information about the identified
--   resource. The exact metadata and its order can be obtained by
--   inspecting the <a>TrustedAdvisorCheckDescription</a> object returned
--   by the call to <tt>DescribeTrustedAdvisorChecks</tt> . <b>Metadata</b>
--   contains all the data that is shown in the Excel download, even in
--   those cases where the UI shows just summary data.</li>
--   </ul>
trustedAdvisorResourceDetail :: Text -> Text -> TrustedAdvisorResourceDetail

-- | Specifies whether the AWS resource was ignored by Trusted Advisor
--   because it was marked as suppressed by the user.
tardIsSuppressed :: Lens' TrustedAdvisorResourceDetail (Maybe Bool)

-- | The AWS region in which the identified resource is located.
tardRegion :: Lens' TrustedAdvisorResourceDetail (Maybe Text)

-- | The status code for the resource identified in the Trusted Advisor
--   check.
tardStatus :: Lens' TrustedAdvisorResourceDetail Text

-- | The unique identifier for the identified resource.
tardResourceId :: Lens' TrustedAdvisorResourceDetail Text

-- | Additional information about the identified resource. The exact
--   metadata and its order can be obtained by inspecting the
--   <a>TrustedAdvisorCheckDescription</a> object returned by the call to
--   <tt>DescribeTrustedAdvisorChecks</tt> . <b>Metadata</b> contains all
--   the data that is shown in the Excel download, even in those cases
--   where the UI shows just summary data.
tardMetadata :: Lens' TrustedAdvisorResourceDetail [Text]

-- | Details about AWS resources that were analyzed in a call to Trusted
--   Advisor <tt>DescribeTrustedAdvisorCheckSummaries</tt> .
--   
--   <i>See:</i> <a>trustedAdvisorResourcesSummary</a> smart constructor.
data TrustedAdvisorResourcesSummary

-- | Creates a value of <a>TrustedAdvisorResourcesSummary</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>tarsResourcesProcessed</a> - The number of AWS resources that
--   were analyzed by the Trusted Advisor check.</li>
--   <li><a>tarsResourcesFlagged</a> - The number of AWS resources that
--   were flagged (listed) by the Trusted Advisor check.</li>
--   <li><a>tarsResourcesIgnored</a> - The number of AWS resources ignored
--   by Trusted Advisor because information was unavailable.</li>
--   <li><a>tarsResourcesSuppressed</a> - The number of AWS resources
--   ignored by Trusted Advisor because they were marked as suppressed by
--   the user.</li>
--   </ul>
trustedAdvisorResourcesSummary :: Integer -> Integer -> Integer -> Integer -> TrustedAdvisorResourcesSummary

-- | The number of AWS resources that were analyzed by the Trusted Advisor
--   check.
tarsResourcesProcessed :: Lens' TrustedAdvisorResourcesSummary Integer

-- | The number of AWS resources that were flagged (listed) by the Trusted
--   Advisor check.
tarsResourcesFlagged :: Lens' TrustedAdvisorResourcesSummary Integer

-- | The number of AWS resources ignored by Trusted Advisor because
--   information was unavailable.
tarsResourcesIgnored :: Lens' TrustedAdvisorResourcesSummary Integer

-- | The number of AWS resources ignored by Trusted Advisor because they
--   were marked as suppressed by the user.
tarsResourcesSuppressed :: Lens' TrustedAdvisorResourcesSummary Integer
