packages feed

amazonka-ssm-incidents (empty) → 2.0

raw patch · 141 files changed

+14049/−0 lines, 141 filesdep +amazonka-coredep +amazonka-ssm-incidentsdep +amazonka-test

Dependencies added: amazonka-core, amazonka-ssm-incidents, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon Systems Manager Incident Manager SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-05-10@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-ssm-incidents)+and the [AWS API Reference](https://aws.amazon.com/documentation/).++The types from this library are intended to be used with [amazonka](http://hackage.haskell.org/package/amazonka),+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+[lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core).++See [Amazonka.SSMIncidents](http://hackage.haskell.org/package/amazonka-ssm-incidents/docs/Amazonka-SSMIncidents.html)+or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.+++## Contribute++For any problems, comments, or feedback please create an issue [here on GitHub](https://github.com/brendanhay/amazonka/issues).++> _Note:_ this library is an auto-generated Haskell package. Please see `amazonka-gen` for more information.+++## Licence++`amazonka-ssm-incidents` is released under the [Mozilla Public License Version 2.0](http://www.mozilla.org/MPL/).++Parts of the code are derived from AWS service descriptions, licensed under Apache 2.0.+Source files subject to this contain an additional licensing clause in their header.
+ amazonka-ssm-incidents.cabal view
@@ -0,0 +1,154 @@+cabal-version:      2.2+name:               amazonka-ssm-incidents+version:            2.0+synopsis:           Amazon Systems Manager Incident Manager SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2018-05-10@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.SSMIncidents.Lens" and are+  suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+  .+  See "Amazonka.SSMIncidents" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.++source-repository head+  type:     git+  location: git://github.com/brendanhay/amazonka.git+  subdir:   amazonka-ssm-incidents++library+  default-language: Haskell2010+  hs-source-dirs:   src gen+  ghc-options:+    -Wall -fwarn-incomplete-uni-patterns+    -fwarn-incomplete-record-updates -funbox-strict-fields++  exposed-modules:+    Amazonka.SSMIncidents+    Amazonka.SSMIncidents.CreateReplicationSet+    Amazonka.SSMIncidents.CreateResponsePlan+    Amazonka.SSMIncidents.CreateTimelineEvent+    Amazonka.SSMIncidents.DeleteIncidentRecord+    Amazonka.SSMIncidents.DeleteReplicationSet+    Amazonka.SSMIncidents.DeleteResourcePolicy+    Amazonka.SSMIncidents.DeleteResponsePlan+    Amazonka.SSMIncidents.DeleteTimelineEvent+    Amazonka.SSMIncidents.GetIncidentRecord+    Amazonka.SSMIncidents.GetReplicationSet+    Amazonka.SSMIncidents.GetResourcePolicies+    Amazonka.SSMIncidents.GetResponsePlan+    Amazonka.SSMIncidents.GetTimelineEvent+    Amazonka.SSMIncidents.Lens+    Amazonka.SSMIncidents.ListIncidentRecords+    Amazonka.SSMIncidents.ListRelatedItems+    Amazonka.SSMIncidents.ListReplicationSets+    Amazonka.SSMIncidents.ListResponsePlans+    Amazonka.SSMIncidents.ListTagsForResource+    Amazonka.SSMIncidents.ListTimelineEvents+    Amazonka.SSMIncidents.PutResourcePolicy+    Amazonka.SSMIncidents.StartIncident+    Amazonka.SSMIncidents.TagResource+    Amazonka.SSMIncidents.Types+    Amazonka.SSMIncidents.Types.Action+    Amazonka.SSMIncidents.Types.AddRegionAction+    Amazonka.SSMIncidents.Types.AttributeValueList+    Amazonka.SSMIncidents.Types.AutomationExecution+    Amazonka.SSMIncidents.Types.ChatChannel+    Amazonka.SSMIncidents.Types.Condition+    Amazonka.SSMIncidents.Types.DeleteRegionAction+    Amazonka.SSMIncidents.Types.DynamicSsmParameterValue+    Amazonka.SSMIncidents.Types.EmptyChatChannel+    Amazonka.SSMIncidents.Types.EventReference+    Amazonka.SSMIncidents.Types.EventSummary+    Amazonka.SSMIncidents.Types.Filter+    Amazonka.SSMIncidents.Types.IncidentRecord+    Amazonka.SSMIncidents.Types.IncidentRecordSource+    Amazonka.SSMIncidents.Types.IncidentRecordStatus+    Amazonka.SSMIncidents.Types.IncidentRecordSummary+    Amazonka.SSMIncidents.Types.IncidentTemplate+    Amazonka.SSMIncidents.Types.Integration+    Amazonka.SSMIncidents.Types.ItemIdentifier+    Amazonka.SSMIncidents.Types.ItemType+    Amazonka.SSMIncidents.Types.ItemValue+    Amazonka.SSMIncidents.Types.NotificationTargetItem+    Amazonka.SSMIncidents.Types.PagerDutyConfiguration+    Amazonka.SSMIncidents.Types.PagerDutyIncidentConfiguration+    Amazonka.SSMIncidents.Types.PagerDutyIncidentDetail+    Amazonka.SSMIncidents.Types.RegionInfo+    Amazonka.SSMIncidents.Types.RegionMapInputValue+    Amazonka.SSMIncidents.Types.RegionStatus+    Amazonka.SSMIncidents.Types.RelatedItem+    Amazonka.SSMIncidents.Types.RelatedItemsUpdate+    Amazonka.SSMIncidents.Types.ReplicationSet+    Amazonka.SSMIncidents.Types.ReplicationSetStatus+    Amazonka.SSMIncidents.Types.ResourcePolicy+    Amazonka.SSMIncidents.Types.ResponsePlanSummary+    Amazonka.SSMIncidents.Types.SortOrder+    Amazonka.SSMIncidents.Types.SsmAutomation+    Amazonka.SSMIncidents.Types.SsmTargetAccount+    Amazonka.SSMIncidents.Types.TimelineEvent+    Amazonka.SSMIncidents.Types.TimelineEventSort+    Amazonka.SSMIncidents.Types.TriggerDetails+    Amazonka.SSMIncidents.Types.UpdateReplicationSetAction+    Amazonka.SSMIncidents.Types.VariableType+    Amazonka.SSMIncidents.UntagResource+    Amazonka.SSMIncidents.UpdateDeletionProtection+    Amazonka.SSMIncidents.UpdateIncidentRecord+    Amazonka.SSMIncidents.UpdateRelatedItems+    Amazonka.SSMIncidents.UpdateReplicationSet+    Amazonka.SSMIncidents.UpdateResponsePlan+    Amazonka.SSMIncidents.UpdateTimelineEvent+    Amazonka.SSMIncidents.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-ssm-incidents-test+  type:             exitcode-stdio-1.0+  default-language: Haskell2010+  hs-source-dirs:   test+  main-is:          Main.hs+  ghc-options:      -Wall -threaded++  -- This section is encoded by the template and any modules added by+  -- hand outside these namespaces will not correctly be added to the+  -- distribution package.+  other-modules:+    Test.Amazonka.Gen.SSMIncidents+    Test.Amazonka.SSMIncidents+    Test.Amazonka.SSMIncidents.Internal++  build-depends:+    , amazonka-core           >=2.0 && <2.1+    , amazonka-ssm-incidents+    , amazonka-test           >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateReplicationSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateReplicationSetResponse.proto view
+ fixture/CreateResponsePlan.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateResponsePlanResponse.proto view
+ fixture/CreateTimelineEvent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/CreateTimelineEventResponse.proto view
+ fixture/DeleteIncidentRecord.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteIncidentRecordResponse.proto view
+ fixture/DeleteReplicationSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteReplicationSetResponse.proto view
+ fixture/DeleteResourcePolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteResourcePolicyResponse.proto view
+ fixture/DeleteResponsePlan.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteResponsePlanResponse.proto view
+ fixture/DeleteTimelineEvent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteTimelineEventResponse.proto view
+ fixture/GetIncidentRecord.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetIncidentRecordResponse.proto view
+ fixture/GetReplicationSet.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetReplicationSetResponse.proto view
+ fixture/GetResourcePolicies.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetResourcePoliciesResponse.proto view
+ fixture/GetResponsePlan.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetResponsePlanResponse.proto view
+ fixture/GetTimelineEvent.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetTimelineEventResponse.proto view
+ fixture/ListIncidentRecords.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListIncidentRecordsResponse.proto view
+ fixture/ListRelatedItems.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListRelatedItemsResponse.proto view
+ fixture/ListReplicationSets.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListReplicationSetsResponse.proto view
+ fixture/ListResponsePlans.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListResponsePlansResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListTagsForResourceResponse.proto view
+ fixture/ListTimelineEvents.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListTimelineEventsResponse.proto view
+ fixture/PutResourcePolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutResourcePolicyResponse.proto view
+ fixture/StartIncident.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/StartIncidentResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateDeletionProtection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateDeletionProtectionResponse.proto view
+ fixture/UpdateIncidentRecord.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateIncidentRecordResponse.proto view
+ fixture/UpdateRelatedItems.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateRelatedItemsResponse.proto view
+ fixture/UpdateReplicationSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateReplicationSetResponse.proto view
+ fixture/UpdateResponsePlan.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateResponsePlanResponse.proto view
+ fixture/UpdateTimelineEvent.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/ssm-incidents/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  ssm-incidents.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/UpdateTimelineEventResponse.proto view
+ gen/Amazonka/SSMIncidents.hs view
@@ -0,0 +1,461 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.SSMIncidents+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2018-05-10@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Systems Manager Incident Manager is an incident management console+-- designed to help users mitigate and recover from incidents affecting+-- their Amazon Web Services-hosted applications. An incident is any+-- unplanned interruption or reduction in quality of services.+--+-- Incident Manager increases incident resolution by notifying responders+-- of impact, highlighting relevant troubleshooting data, and providing+-- collaboration tools to get services back up and running. To achieve the+-- primary goal of reducing the time-to-resolution of critical incidents,+-- Incident Manager automates response plans and enables responder team+-- escalation.+module Amazonka.SSMIncidents+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- ** WaitForReplicationSetActive+    newWaitForReplicationSetActive,++    -- ** WaitForReplicationSetDeleted+    newWaitForReplicationSetDeleted,++    -- * Operations+    -- $operations++    -- ** CreateReplicationSet+    CreateReplicationSet (CreateReplicationSet'),+    newCreateReplicationSet,+    CreateReplicationSetResponse (CreateReplicationSetResponse'),+    newCreateReplicationSetResponse,++    -- ** CreateResponsePlan+    CreateResponsePlan (CreateResponsePlan'),+    newCreateResponsePlan,+    CreateResponsePlanResponse (CreateResponsePlanResponse'),+    newCreateResponsePlanResponse,++    -- ** CreateTimelineEvent+    CreateTimelineEvent (CreateTimelineEvent'),+    newCreateTimelineEvent,+    CreateTimelineEventResponse (CreateTimelineEventResponse'),+    newCreateTimelineEventResponse,++    -- ** DeleteIncidentRecord+    DeleteIncidentRecord (DeleteIncidentRecord'),+    newDeleteIncidentRecord,+    DeleteIncidentRecordResponse (DeleteIncidentRecordResponse'),+    newDeleteIncidentRecordResponse,++    -- ** DeleteReplicationSet+    DeleteReplicationSet (DeleteReplicationSet'),+    newDeleteReplicationSet,+    DeleteReplicationSetResponse (DeleteReplicationSetResponse'),+    newDeleteReplicationSetResponse,++    -- ** DeleteResourcePolicy+    DeleteResourcePolicy (DeleteResourcePolicy'),+    newDeleteResourcePolicy,+    DeleteResourcePolicyResponse (DeleteResourcePolicyResponse'),+    newDeleteResourcePolicyResponse,++    -- ** DeleteResponsePlan+    DeleteResponsePlan (DeleteResponsePlan'),+    newDeleteResponsePlan,+    DeleteResponsePlanResponse (DeleteResponsePlanResponse'),+    newDeleteResponsePlanResponse,++    -- ** DeleteTimelineEvent+    DeleteTimelineEvent (DeleteTimelineEvent'),+    newDeleteTimelineEvent,+    DeleteTimelineEventResponse (DeleteTimelineEventResponse'),+    newDeleteTimelineEventResponse,++    -- ** GetIncidentRecord+    GetIncidentRecord (GetIncidentRecord'),+    newGetIncidentRecord,+    GetIncidentRecordResponse (GetIncidentRecordResponse'),+    newGetIncidentRecordResponse,++    -- ** GetReplicationSet+    GetReplicationSet (GetReplicationSet'),+    newGetReplicationSet,+    GetReplicationSetResponse (GetReplicationSetResponse'),+    newGetReplicationSetResponse,++    -- ** GetResourcePolicies (Paginated)+    GetResourcePolicies (GetResourcePolicies'),+    newGetResourcePolicies,+    GetResourcePoliciesResponse (GetResourcePoliciesResponse'),+    newGetResourcePoliciesResponse,++    -- ** GetResponsePlan+    GetResponsePlan (GetResponsePlan'),+    newGetResponsePlan,+    GetResponsePlanResponse (GetResponsePlanResponse'),+    newGetResponsePlanResponse,++    -- ** GetTimelineEvent+    GetTimelineEvent (GetTimelineEvent'),+    newGetTimelineEvent,+    GetTimelineEventResponse (GetTimelineEventResponse'),+    newGetTimelineEventResponse,++    -- ** ListIncidentRecords (Paginated)+    ListIncidentRecords (ListIncidentRecords'),+    newListIncidentRecords,+    ListIncidentRecordsResponse (ListIncidentRecordsResponse'),+    newListIncidentRecordsResponse,++    -- ** ListRelatedItems (Paginated)+    ListRelatedItems (ListRelatedItems'),+    newListRelatedItems,+    ListRelatedItemsResponse (ListRelatedItemsResponse'),+    newListRelatedItemsResponse,++    -- ** ListReplicationSets (Paginated)+    ListReplicationSets (ListReplicationSets'),+    newListReplicationSets,+    ListReplicationSetsResponse (ListReplicationSetsResponse'),+    newListReplicationSetsResponse,++    -- ** ListResponsePlans (Paginated)+    ListResponsePlans (ListResponsePlans'),+    newListResponsePlans,+    ListResponsePlansResponse (ListResponsePlansResponse'),+    newListResponsePlansResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ListTimelineEvents (Paginated)+    ListTimelineEvents (ListTimelineEvents'),+    newListTimelineEvents,+    ListTimelineEventsResponse (ListTimelineEventsResponse'),+    newListTimelineEventsResponse,++    -- ** PutResourcePolicy+    PutResourcePolicy (PutResourcePolicy'),+    newPutResourcePolicy,+    PutResourcePolicyResponse (PutResourcePolicyResponse'),+    newPutResourcePolicyResponse,++    -- ** StartIncident+    StartIncident (StartIncident'),+    newStartIncident,+    StartIncidentResponse (StartIncidentResponse'),+    newStartIncidentResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateDeletionProtection+    UpdateDeletionProtection (UpdateDeletionProtection'),+    newUpdateDeletionProtection,+    UpdateDeletionProtectionResponse (UpdateDeletionProtectionResponse'),+    newUpdateDeletionProtectionResponse,++    -- ** UpdateIncidentRecord+    UpdateIncidentRecord (UpdateIncidentRecord'),+    newUpdateIncidentRecord,+    UpdateIncidentRecordResponse (UpdateIncidentRecordResponse'),+    newUpdateIncidentRecordResponse,++    -- ** UpdateRelatedItems+    UpdateRelatedItems (UpdateRelatedItems'),+    newUpdateRelatedItems,+    UpdateRelatedItemsResponse (UpdateRelatedItemsResponse'),+    newUpdateRelatedItemsResponse,++    -- ** UpdateReplicationSet+    UpdateReplicationSet (UpdateReplicationSet'),+    newUpdateReplicationSet,+    UpdateReplicationSetResponse (UpdateReplicationSetResponse'),+    newUpdateReplicationSetResponse,++    -- ** UpdateResponsePlan+    UpdateResponsePlan (UpdateResponsePlan'),+    newUpdateResponsePlan,+    UpdateResponsePlanResponse (UpdateResponsePlanResponse'),+    newUpdateResponsePlanResponse,++    -- ** UpdateTimelineEvent+    UpdateTimelineEvent (UpdateTimelineEvent'),+    newUpdateTimelineEvent,+    UpdateTimelineEventResponse (UpdateTimelineEventResponse'),+    newUpdateTimelineEventResponse,++    -- * Types++    -- ** IncidentRecordStatus+    IncidentRecordStatus (..),++    -- ** ItemType+    ItemType (..),++    -- ** RegionStatus+    RegionStatus (..),++    -- ** ReplicationSetStatus+    ReplicationSetStatus (..),++    -- ** SortOrder+    SortOrder (..),++    -- ** SsmTargetAccount+    SsmTargetAccount (..),++    -- ** TimelineEventSort+    TimelineEventSort (..),++    -- ** VariableType+    VariableType (..),++    -- ** Action+    Action (Action'),+    newAction,++    -- ** AddRegionAction+    AddRegionAction (AddRegionAction'),+    newAddRegionAction,++    -- ** AttributeValueList+    AttributeValueList (AttributeValueList'),+    newAttributeValueList,++    -- ** AutomationExecution+    AutomationExecution (AutomationExecution'),+    newAutomationExecution,++    -- ** ChatChannel+    ChatChannel (ChatChannel'),+    newChatChannel,++    -- ** Condition+    Condition (Condition'),+    newCondition,++    -- ** DeleteRegionAction+    DeleteRegionAction (DeleteRegionAction'),+    newDeleteRegionAction,++    -- ** DynamicSsmParameterValue+    DynamicSsmParameterValue (DynamicSsmParameterValue'),+    newDynamicSsmParameterValue,++    -- ** EmptyChatChannel+    EmptyChatChannel (EmptyChatChannel'),+    newEmptyChatChannel,++    -- ** EventReference+    EventReference (EventReference'),+    newEventReference,++    -- ** EventSummary+    EventSummary (EventSummary'),+    newEventSummary,++    -- ** Filter+    Filter (Filter'),+    newFilter,++    -- ** IncidentRecord+    IncidentRecord (IncidentRecord'),+    newIncidentRecord,++    -- ** IncidentRecordSource+    IncidentRecordSource (IncidentRecordSource'),+    newIncidentRecordSource,++    -- ** IncidentRecordSummary+    IncidentRecordSummary (IncidentRecordSummary'),+    newIncidentRecordSummary,++    -- ** IncidentTemplate+    IncidentTemplate (IncidentTemplate'),+    newIncidentTemplate,++    -- ** Integration+    Integration (Integration'),+    newIntegration,++    -- ** ItemIdentifier+    ItemIdentifier (ItemIdentifier'),+    newItemIdentifier,++    -- ** ItemValue+    ItemValue (ItemValue'),+    newItemValue,++    -- ** NotificationTargetItem+    NotificationTargetItem (NotificationTargetItem'),+    newNotificationTargetItem,++    -- ** PagerDutyConfiguration+    PagerDutyConfiguration (PagerDutyConfiguration'),+    newPagerDutyConfiguration,++    -- ** PagerDutyIncidentConfiguration+    PagerDutyIncidentConfiguration (PagerDutyIncidentConfiguration'),+    newPagerDutyIncidentConfiguration,++    -- ** PagerDutyIncidentDetail+    PagerDutyIncidentDetail (PagerDutyIncidentDetail'),+    newPagerDutyIncidentDetail,++    -- ** RegionInfo+    RegionInfo (RegionInfo'),+    newRegionInfo,++    -- ** RegionMapInputValue+    RegionMapInputValue (RegionMapInputValue'),+    newRegionMapInputValue,++    -- ** RelatedItem+    RelatedItem (RelatedItem'),+    newRelatedItem,++    -- ** RelatedItemsUpdate+    RelatedItemsUpdate (RelatedItemsUpdate'),+    newRelatedItemsUpdate,++    -- ** ReplicationSet+    ReplicationSet (ReplicationSet'),+    newReplicationSet,++    -- ** ResourcePolicy+    ResourcePolicy (ResourcePolicy'),+    newResourcePolicy,++    -- ** ResponsePlanSummary+    ResponsePlanSummary (ResponsePlanSummary'),+    newResponsePlanSummary,++    -- ** SsmAutomation+    SsmAutomation (SsmAutomation'),+    newSsmAutomation,++    -- ** TimelineEvent+    TimelineEvent (TimelineEvent'),+    newTimelineEvent,++    -- ** TriggerDetails+    TriggerDetails (TriggerDetails'),+    newTriggerDetails,++    -- ** UpdateReplicationSetAction+    UpdateReplicationSetAction (UpdateReplicationSetAction'),+    newUpdateReplicationSetAction,+  )+where++import Amazonka.SSMIncidents.CreateReplicationSet+import Amazonka.SSMIncidents.CreateResponsePlan+import Amazonka.SSMIncidents.CreateTimelineEvent+import Amazonka.SSMIncidents.DeleteIncidentRecord+import Amazonka.SSMIncidents.DeleteReplicationSet+import Amazonka.SSMIncidents.DeleteResourcePolicy+import Amazonka.SSMIncidents.DeleteResponsePlan+import Amazonka.SSMIncidents.DeleteTimelineEvent+import Amazonka.SSMIncidents.GetIncidentRecord+import Amazonka.SSMIncidents.GetReplicationSet+import Amazonka.SSMIncidents.GetResourcePolicies+import Amazonka.SSMIncidents.GetResponsePlan+import Amazonka.SSMIncidents.GetTimelineEvent+import Amazonka.SSMIncidents.Lens+import Amazonka.SSMIncidents.ListIncidentRecords+import Amazonka.SSMIncidents.ListRelatedItems+import Amazonka.SSMIncidents.ListReplicationSets+import Amazonka.SSMIncidents.ListResponsePlans+import Amazonka.SSMIncidents.ListTagsForResource+import Amazonka.SSMIncidents.ListTimelineEvents+import Amazonka.SSMIncidents.PutResourcePolicy+import Amazonka.SSMIncidents.StartIncident+import Amazonka.SSMIncidents.TagResource+import Amazonka.SSMIncidents.Types+import Amazonka.SSMIncidents.UntagResource+import Amazonka.SSMIncidents.UpdateDeletionProtection+import Amazonka.SSMIncidents.UpdateIncidentRecord+import Amazonka.SSMIncidents.UpdateRelatedItems+import Amazonka.SSMIncidents.UpdateReplicationSet+import Amazonka.SSMIncidents.UpdateResponsePlan+import Amazonka.SSMIncidents.UpdateTimelineEvent+import Amazonka.SSMIncidents.Waiters++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'SSMIncidents'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
+ gen/Amazonka/SSMIncidents/CreateReplicationSet.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.CreateReplicationSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- A replication set replicates and encrypts your data to the provided+-- Regions with the provided KMS key.+module Amazonka.SSMIncidents.CreateReplicationSet+  ( -- * Creating a Request+    CreateReplicationSet (..),+    newCreateReplicationSet,++    -- * Request Lenses+    createReplicationSet_clientToken,+    createReplicationSet_tags,+    createReplicationSet_regions,++    -- * Destructuring the Response+    CreateReplicationSetResponse (..),+    newCreateReplicationSetResponse,++    -- * Response Lenses+    createReplicationSetResponse_httpStatus,+    createReplicationSetResponse_arn,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newCreateReplicationSet' smart constructor.+data CreateReplicationSet = CreateReplicationSet'+  { -- | A token that ensures that the operation is called only once with the+    -- specified details.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | A list of tags to add to the replication set.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Regions that Incident Manager replicates your data to. You can have+    -- up to three Regions in your replication set.+    regions :: Prelude.HashMap Prelude.Text RegionMapInputValue+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateReplicationSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createReplicationSet_clientToken' - A token that ensures that the operation is called only once with the+-- specified details.+--+-- 'tags', 'createReplicationSet_tags' - A list of tags to add to the replication set.+--+-- 'regions', 'createReplicationSet_regions' - The Regions that Incident Manager replicates your data to. You can have+-- up to three Regions in your replication set.+newCreateReplicationSet ::+  CreateReplicationSet+newCreateReplicationSet =+  CreateReplicationSet'+    { clientToken =+        Prelude.Nothing,+      tags = Prelude.Nothing,+      regions = Prelude.mempty+    }++-- | A token that ensures that the operation is called only once with the+-- specified details.+createReplicationSet_clientToken :: Lens.Lens' CreateReplicationSet (Prelude.Maybe Prelude.Text)+createReplicationSet_clientToken = Lens.lens (\CreateReplicationSet' {clientToken} -> clientToken) (\s@CreateReplicationSet' {} a -> s {clientToken = a} :: CreateReplicationSet)++-- | A list of tags to add to the replication set.+createReplicationSet_tags :: Lens.Lens' CreateReplicationSet (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createReplicationSet_tags = Lens.lens (\CreateReplicationSet' {tags} -> tags) (\s@CreateReplicationSet' {} a -> s {tags = a} :: CreateReplicationSet) Prelude.. Lens.mapping Lens.coerced++-- | The Regions that Incident Manager replicates your data to. You can have+-- up to three Regions in your replication set.+createReplicationSet_regions :: Lens.Lens' CreateReplicationSet (Prelude.HashMap Prelude.Text RegionMapInputValue)+createReplicationSet_regions = Lens.lens (\CreateReplicationSet' {regions} -> regions) (\s@CreateReplicationSet' {} a -> s {regions = a} :: CreateReplicationSet) Prelude.. Lens.coerced++instance Core.AWSRequest CreateReplicationSet where+  type+    AWSResponse CreateReplicationSet =+      CreateReplicationSetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateReplicationSetResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "arn")+      )++instance Prelude.Hashable CreateReplicationSet where+  hashWithSalt _salt CreateReplicationSet' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` regions++instance Prelude.NFData CreateReplicationSet where+  rnf CreateReplicationSet' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf regions++instance Data.ToHeaders CreateReplicationSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateReplicationSet where+  toJSON CreateReplicationSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("regions" Data..= regions)+          ]+      )++instance Data.ToPath CreateReplicationSet where+  toPath = Prelude.const "/createReplicationSet"++instance Data.ToQuery CreateReplicationSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateReplicationSetResponse' smart constructor.+data CreateReplicationSetResponse = CreateReplicationSetResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The Amazon Resource Name (ARN) of the replication set.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateReplicationSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createReplicationSetResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'createReplicationSetResponse_arn' - The Amazon Resource Name (ARN) of the replication set.+newCreateReplicationSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  CreateReplicationSetResponse+newCreateReplicationSetResponse pHttpStatus_ pArn_ =+  CreateReplicationSetResponse'+    { httpStatus =+        pHttpStatus_,+      arn = pArn_+    }++-- | The response's http status code.+createReplicationSetResponse_httpStatus :: Lens.Lens' CreateReplicationSetResponse Prelude.Int+createReplicationSetResponse_httpStatus = Lens.lens (\CreateReplicationSetResponse' {httpStatus} -> httpStatus) (\s@CreateReplicationSetResponse' {} a -> s {httpStatus = a} :: CreateReplicationSetResponse)++-- | The Amazon Resource Name (ARN) of the replication set.+createReplicationSetResponse_arn :: Lens.Lens' CreateReplicationSetResponse Prelude.Text+createReplicationSetResponse_arn = Lens.lens (\CreateReplicationSetResponse' {arn} -> arn) (\s@CreateReplicationSetResponse' {} a -> s {arn = a} :: CreateReplicationSetResponse)++instance Prelude.NFData CreateReplicationSetResponse where+  rnf CreateReplicationSetResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/SSMIncidents/CreateResponsePlan.hs view
@@ -0,0 +1,295 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.CreateResponsePlan+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a response plan that automates the initial response to+-- incidents. A response plan engages contacts, starts chat channel+-- collaboration, and initiates runbooks at the beginning of an incident.+module Amazonka.SSMIncidents.CreateResponsePlan+  ( -- * Creating a Request+    CreateResponsePlan (..),+    newCreateResponsePlan,++    -- * Request Lenses+    createResponsePlan_actions,+    createResponsePlan_chatChannel,+    createResponsePlan_clientToken,+    createResponsePlan_displayName,+    createResponsePlan_engagements,+    createResponsePlan_integrations,+    createResponsePlan_tags,+    createResponsePlan_incidentTemplate,+    createResponsePlan_name,++    -- * Destructuring the Response+    CreateResponsePlanResponse (..),+    newCreateResponsePlanResponse,++    -- * Response Lenses+    createResponsePlanResponse_httpStatus,+    createResponsePlanResponse_arn,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newCreateResponsePlan' smart constructor.+data CreateResponsePlan = CreateResponsePlan'+  { -- | The actions that the response plan starts at the beginning of an+    -- incident.+    actions :: Prelude.Maybe [Action],+    -- | The Chatbot chat channel used for collaboration during an incident.+    chatChannel :: Prelude.Maybe ChatChannel,+    -- | A token ensuring that the operation is called only once with the+    -- specified details.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The long format of the response plan name. This field can contain+    -- spaces.+    displayName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the contacts and escalation plans+    -- that the response plan engages during an incident.+    engagements :: Prelude.Maybe [Prelude.Text],+    -- | Information about third-party services integrated into the response+    -- plan.+    integrations :: Prelude.Maybe [Integration],+    -- | A list of tags that you are adding to the response plan.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | Details used to create an incident when using this response plan.+    incidentTemplate :: IncidentTemplate,+    -- | The short format name of the response plan. Can\'t include spaces.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateResponsePlan' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'createResponsePlan_actions' - The actions that the response plan starts at the beginning of an+-- incident.+--+-- 'chatChannel', 'createResponsePlan_chatChannel' - The Chatbot chat channel used for collaboration during an incident.+--+-- 'clientToken', 'createResponsePlan_clientToken' - A token ensuring that the operation is called only once with the+-- specified details.+--+-- 'displayName', 'createResponsePlan_displayName' - The long format of the response plan name. This field can contain+-- spaces.+--+-- 'engagements', 'createResponsePlan_engagements' - The Amazon Resource Name (ARN) for the contacts and escalation plans+-- that the response plan engages during an incident.+--+-- 'integrations', 'createResponsePlan_integrations' - Information about third-party services integrated into the response+-- plan.+--+-- 'tags', 'createResponsePlan_tags' - A list of tags that you are adding to the response plan.+--+-- 'incidentTemplate', 'createResponsePlan_incidentTemplate' - Details used to create an incident when using this response plan.+--+-- 'name', 'createResponsePlan_name' - The short format name of the response plan. Can\'t include spaces.+newCreateResponsePlan ::+  -- | 'incidentTemplate'+  IncidentTemplate ->+  -- | 'name'+  Prelude.Text ->+  CreateResponsePlan+newCreateResponsePlan pIncidentTemplate_ pName_ =+  CreateResponsePlan'+    { actions = Prelude.Nothing,+      chatChannel = Prelude.Nothing,+      clientToken = Prelude.Nothing,+      displayName = Prelude.Nothing,+      engagements = Prelude.Nothing,+      integrations = Prelude.Nothing,+      tags = Prelude.Nothing,+      incidentTemplate = pIncidentTemplate_,+      name = pName_+    }++-- | The actions that the response plan starts at the beginning of an+-- incident.+createResponsePlan_actions :: Lens.Lens' CreateResponsePlan (Prelude.Maybe [Action])+createResponsePlan_actions = Lens.lens (\CreateResponsePlan' {actions} -> actions) (\s@CreateResponsePlan' {} a -> s {actions = a} :: CreateResponsePlan) Prelude.. Lens.mapping Lens.coerced++-- | The Chatbot chat channel used for collaboration during an incident.+createResponsePlan_chatChannel :: Lens.Lens' CreateResponsePlan (Prelude.Maybe ChatChannel)+createResponsePlan_chatChannel = Lens.lens (\CreateResponsePlan' {chatChannel} -> chatChannel) (\s@CreateResponsePlan' {} a -> s {chatChannel = a} :: CreateResponsePlan)++-- | A token ensuring that the operation is called only once with the+-- specified details.+createResponsePlan_clientToken :: Lens.Lens' CreateResponsePlan (Prelude.Maybe Prelude.Text)+createResponsePlan_clientToken = Lens.lens (\CreateResponsePlan' {clientToken} -> clientToken) (\s@CreateResponsePlan' {} a -> s {clientToken = a} :: CreateResponsePlan)++-- | The long format of the response plan name. This field can contain+-- spaces.+createResponsePlan_displayName :: Lens.Lens' CreateResponsePlan (Prelude.Maybe Prelude.Text)+createResponsePlan_displayName = Lens.lens (\CreateResponsePlan' {displayName} -> displayName) (\s@CreateResponsePlan' {} a -> s {displayName = a} :: CreateResponsePlan)++-- | The Amazon Resource Name (ARN) for the contacts and escalation plans+-- that the response plan engages during an incident.+createResponsePlan_engagements :: Lens.Lens' CreateResponsePlan (Prelude.Maybe [Prelude.Text])+createResponsePlan_engagements = Lens.lens (\CreateResponsePlan' {engagements} -> engagements) (\s@CreateResponsePlan' {} a -> s {engagements = a} :: CreateResponsePlan) Prelude.. Lens.mapping Lens.coerced++-- | Information about third-party services integrated into the response+-- plan.+createResponsePlan_integrations :: Lens.Lens' CreateResponsePlan (Prelude.Maybe [Integration])+createResponsePlan_integrations = Lens.lens (\CreateResponsePlan' {integrations} -> integrations) (\s@CreateResponsePlan' {} a -> s {integrations = a} :: CreateResponsePlan) Prelude.. Lens.mapping Lens.coerced++-- | A list of tags that you are adding to the response plan.+createResponsePlan_tags :: Lens.Lens' CreateResponsePlan (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createResponsePlan_tags = Lens.lens (\CreateResponsePlan' {tags} -> tags) (\s@CreateResponsePlan' {} a -> s {tags = a} :: CreateResponsePlan) Prelude.. Lens.mapping Lens.coerced++-- | Details used to create an incident when using this response plan.+createResponsePlan_incidentTemplate :: Lens.Lens' CreateResponsePlan IncidentTemplate+createResponsePlan_incidentTemplate = Lens.lens (\CreateResponsePlan' {incidentTemplate} -> incidentTemplate) (\s@CreateResponsePlan' {} a -> s {incidentTemplate = a} :: CreateResponsePlan)++-- | The short format name of the response plan. Can\'t include spaces.+createResponsePlan_name :: Lens.Lens' CreateResponsePlan Prelude.Text+createResponsePlan_name = Lens.lens (\CreateResponsePlan' {name} -> name) (\s@CreateResponsePlan' {} a -> s {name = a} :: CreateResponsePlan)++instance Core.AWSRequest CreateResponsePlan where+  type+    AWSResponse CreateResponsePlan =+      CreateResponsePlanResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateResponsePlanResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "arn")+      )++instance Prelude.Hashable CreateResponsePlan where+  hashWithSalt _salt CreateResponsePlan' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chatChannel+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` displayName+      `Prelude.hashWithSalt` engagements+      `Prelude.hashWithSalt` integrations+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` incidentTemplate+      `Prelude.hashWithSalt` name++instance Prelude.NFData CreateResponsePlan where+  rnf CreateResponsePlan' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chatChannel+      `Prelude.seq` Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf displayName+      `Prelude.seq` Prelude.rnf engagements+      `Prelude.seq` Prelude.rnf integrations+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf incidentTemplate+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateResponsePlan where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateResponsePlan where+  toJSON CreateResponsePlan' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("actions" Data..=) Prelude.<$> actions,+            ("chatChannel" Data..=) Prelude.<$> chatChannel,+            ("clientToken" Data..=) Prelude.<$> clientToken,+            ("displayName" Data..=) Prelude.<$> displayName,+            ("engagements" Data..=) Prelude.<$> engagements,+            ("integrations" Data..=) Prelude.<$> integrations,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("incidentTemplate" Data..= incidentTemplate),+            Prelude.Just ("name" Data..= name)+          ]+      )++instance Data.ToPath CreateResponsePlan where+  toPath = Prelude.const "/createResponsePlan"++instance Data.ToQuery CreateResponsePlan where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateResponsePlanResponse' smart constructor.+data CreateResponsePlanResponse = CreateResponsePlanResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The Amazon Resource Name (ARN) of the response plan.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateResponsePlanResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createResponsePlanResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'createResponsePlanResponse_arn' - The Amazon Resource Name (ARN) of the response plan.+newCreateResponsePlanResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  CreateResponsePlanResponse+newCreateResponsePlanResponse pHttpStatus_ pArn_ =+  CreateResponsePlanResponse'+    { httpStatus =+        pHttpStatus_,+      arn = pArn_+    }++-- | The response's http status code.+createResponsePlanResponse_httpStatus :: Lens.Lens' CreateResponsePlanResponse Prelude.Int+createResponsePlanResponse_httpStatus = Lens.lens (\CreateResponsePlanResponse' {httpStatus} -> httpStatus) (\s@CreateResponsePlanResponse' {} a -> s {httpStatus = a} :: CreateResponsePlanResponse)++-- | The Amazon Resource Name (ARN) of the response plan.+createResponsePlanResponse_arn :: Lens.Lens' CreateResponsePlanResponse Prelude.Text+createResponsePlanResponse_arn = Lens.lens (\CreateResponsePlanResponse' {arn} -> arn) (\s@CreateResponsePlanResponse' {} a -> s {arn = a} :: CreateResponsePlanResponse)++instance Prelude.NFData CreateResponsePlanResponse where+  rnf CreateResponsePlanResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn
+ gen/Amazonka/SSMIncidents/CreateTimelineEvent.hs view
@@ -0,0 +1,299 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.CreateTimelineEvent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a custom timeline event on the incident details page of an+-- incident record. Timeline events are automatically created by Incident+-- Manager, marking key moment during an incident. You can create custom+-- timeline events to mark important events that are automatically detected+-- by Incident Manager.+module Amazonka.SSMIncidents.CreateTimelineEvent+  ( -- * Creating a Request+    CreateTimelineEvent (..),+    newCreateTimelineEvent,++    -- * Request Lenses+    createTimelineEvent_clientToken,+    createTimelineEvent_eventReferences,+    createTimelineEvent_eventData,+    createTimelineEvent_eventTime,+    createTimelineEvent_eventType,+    createTimelineEvent_incidentRecordArn,++    -- * Destructuring the Response+    CreateTimelineEventResponse (..),+    newCreateTimelineEventResponse,++    -- * Response Lenses+    createTimelineEventResponse_httpStatus,+    createTimelineEventResponse_eventId,+    createTimelineEventResponse_incidentRecordArn,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newCreateTimelineEvent' smart constructor.+data CreateTimelineEvent = CreateTimelineEvent'+  { -- | A token ensuring that the action is called only once with the specified+    -- details.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | Adds one or more references to the @TimelineEvent@. A reference can be+    -- an Amazon Web Services resource involved in the incident or in some way+    -- associated with it. When you specify a reference, you enter the Amazon+    -- Resource Name (ARN) of the resource. You can also specify a related+    -- item. As an example, you could specify the ARN of an Amazon DynamoDB+    -- (DynamoDB) table. The table for this example is the resource. You could+    -- also specify a Amazon CloudWatch metric for that table. The metric is+    -- the related item.+    eventReferences :: Prelude.Maybe [EventReference],+    -- | A short description of the event.+    eventData :: Prelude.Text,+    -- | The time that the event occurred.+    eventTime :: Data.POSIX,+    -- | The type of the event. You can create timeline events of type+    -- @Custom Event@.+    eventType :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the incident record to which the event+    -- will be added.+    incidentRecordArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTimelineEvent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createTimelineEvent_clientToken' - A token ensuring that the action is called only once with the specified+-- details.+--+-- 'eventReferences', 'createTimelineEvent_eventReferences' - Adds one or more references to the @TimelineEvent@. A reference can be+-- an Amazon Web Services resource involved in the incident or in some way+-- associated with it. When you specify a reference, you enter the Amazon+-- Resource Name (ARN) of the resource. You can also specify a related+-- item. As an example, you could specify the ARN of an Amazon DynamoDB+-- (DynamoDB) table. The table for this example is the resource. You could+-- also specify a Amazon CloudWatch metric for that table. The metric is+-- the related item.+--+-- 'eventData', 'createTimelineEvent_eventData' - A short description of the event.+--+-- 'eventTime', 'createTimelineEvent_eventTime' - The time that the event occurred.+--+-- 'eventType', 'createTimelineEvent_eventType' - The type of the event. You can create timeline events of type+-- @Custom Event@.+--+-- 'incidentRecordArn', 'createTimelineEvent_incidentRecordArn' - The Amazon Resource Name (ARN) of the incident record to which the event+-- will be added.+newCreateTimelineEvent ::+  -- | 'eventData'+  Prelude.Text ->+  -- | 'eventTime'+  Prelude.UTCTime ->+  -- | 'eventType'+  Prelude.Text ->+  -- | 'incidentRecordArn'+  Prelude.Text ->+  CreateTimelineEvent+newCreateTimelineEvent+  pEventData_+  pEventTime_+  pEventType_+  pIncidentRecordArn_ =+    CreateTimelineEvent'+      { clientToken = Prelude.Nothing,+        eventReferences = Prelude.Nothing,+        eventData = pEventData_,+        eventTime = Data._Time Lens.# pEventTime_,+        eventType = pEventType_,+        incidentRecordArn = pIncidentRecordArn_+      }++-- | A token ensuring that the action is called only once with the specified+-- details.+createTimelineEvent_clientToken :: Lens.Lens' CreateTimelineEvent (Prelude.Maybe Prelude.Text)+createTimelineEvent_clientToken = Lens.lens (\CreateTimelineEvent' {clientToken} -> clientToken) (\s@CreateTimelineEvent' {} a -> s {clientToken = a} :: CreateTimelineEvent)++-- | Adds one or more references to the @TimelineEvent@. A reference can be+-- an Amazon Web Services resource involved in the incident or in some way+-- associated with it. When you specify a reference, you enter the Amazon+-- Resource Name (ARN) of the resource. You can also specify a related+-- item. As an example, you could specify the ARN of an Amazon DynamoDB+-- (DynamoDB) table. The table for this example is the resource. You could+-- also specify a Amazon CloudWatch metric for that table. The metric is+-- the related item.+createTimelineEvent_eventReferences :: Lens.Lens' CreateTimelineEvent (Prelude.Maybe [EventReference])+createTimelineEvent_eventReferences = Lens.lens (\CreateTimelineEvent' {eventReferences} -> eventReferences) (\s@CreateTimelineEvent' {} a -> s {eventReferences = a} :: CreateTimelineEvent) Prelude.. Lens.mapping Lens.coerced++-- | A short description of the event.+createTimelineEvent_eventData :: Lens.Lens' CreateTimelineEvent Prelude.Text+createTimelineEvent_eventData = Lens.lens (\CreateTimelineEvent' {eventData} -> eventData) (\s@CreateTimelineEvent' {} a -> s {eventData = a} :: CreateTimelineEvent)++-- | The time that the event occurred.+createTimelineEvent_eventTime :: Lens.Lens' CreateTimelineEvent Prelude.UTCTime+createTimelineEvent_eventTime = Lens.lens (\CreateTimelineEvent' {eventTime} -> eventTime) (\s@CreateTimelineEvent' {} a -> s {eventTime = a} :: CreateTimelineEvent) Prelude.. Data._Time++-- | The type of the event. You can create timeline events of type+-- @Custom Event@.+createTimelineEvent_eventType :: Lens.Lens' CreateTimelineEvent Prelude.Text+createTimelineEvent_eventType = Lens.lens (\CreateTimelineEvent' {eventType} -> eventType) (\s@CreateTimelineEvent' {} a -> s {eventType = a} :: CreateTimelineEvent)++-- | The Amazon Resource Name (ARN) of the incident record to which the event+-- will be added.+createTimelineEvent_incidentRecordArn :: Lens.Lens' CreateTimelineEvent Prelude.Text+createTimelineEvent_incidentRecordArn = Lens.lens (\CreateTimelineEvent' {incidentRecordArn} -> incidentRecordArn) (\s@CreateTimelineEvent' {} a -> s {incidentRecordArn = a} :: CreateTimelineEvent)++instance Core.AWSRequest CreateTimelineEvent where+  type+    AWSResponse CreateTimelineEvent =+      CreateTimelineEventResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateTimelineEventResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "eventId")+            Prelude.<*> (x Data..:> "incidentRecordArn")+      )++instance Prelude.Hashable CreateTimelineEvent where+  hashWithSalt _salt CreateTimelineEvent' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` eventReferences+      `Prelude.hashWithSalt` eventData+      `Prelude.hashWithSalt` eventTime+      `Prelude.hashWithSalt` eventType+      `Prelude.hashWithSalt` incidentRecordArn++instance Prelude.NFData CreateTimelineEvent where+  rnf CreateTimelineEvent' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf eventReferences+      `Prelude.seq` Prelude.rnf eventData+      `Prelude.seq` Prelude.rnf eventTime+      `Prelude.seq` Prelude.rnf eventType+      `Prelude.seq` Prelude.rnf incidentRecordArn++instance Data.ToHeaders CreateTimelineEvent where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateTimelineEvent where+  toJSON CreateTimelineEvent' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            ("eventReferences" Data..=)+              Prelude.<$> eventReferences,+            Prelude.Just ("eventData" Data..= eventData),+            Prelude.Just ("eventTime" Data..= eventTime),+            Prelude.Just ("eventType" Data..= eventType),+            Prelude.Just+              ("incidentRecordArn" Data..= incidentRecordArn)+          ]+      )++instance Data.ToPath CreateTimelineEvent where+  toPath = Prelude.const "/createTimelineEvent"++instance Data.ToQuery CreateTimelineEvent where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateTimelineEventResponse' smart constructor.+data CreateTimelineEventResponse = CreateTimelineEventResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The ID of the event for easy reference later.+    eventId :: Prelude.Text,+    -- | The ARN of the incident record that you added the event to.+    incidentRecordArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTimelineEventResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'createTimelineEventResponse_httpStatus' - The response's http status code.+--+-- 'eventId', 'createTimelineEventResponse_eventId' - The ID of the event for easy reference later.+--+-- 'incidentRecordArn', 'createTimelineEventResponse_incidentRecordArn' - The ARN of the incident record that you added the event to.+newCreateTimelineEventResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'eventId'+  Prelude.Text ->+  -- | 'incidentRecordArn'+  Prelude.Text ->+  CreateTimelineEventResponse+newCreateTimelineEventResponse+  pHttpStatus_+  pEventId_+  pIncidentRecordArn_ =+    CreateTimelineEventResponse'+      { httpStatus =+          pHttpStatus_,+        eventId = pEventId_,+        incidentRecordArn = pIncidentRecordArn_+      }++-- | The response's http status code.+createTimelineEventResponse_httpStatus :: Lens.Lens' CreateTimelineEventResponse Prelude.Int+createTimelineEventResponse_httpStatus = Lens.lens (\CreateTimelineEventResponse' {httpStatus} -> httpStatus) (\s@CreateTimelineEventResponse' {} a -> s {httpStatus = a} :: CreateTimelineEventResponse)++-- | The ID of the event for easy reference later.+createTimelineEventResponse_eventId :: Lens.Lens' CreateTimelineEventResponse Prelude.Text+createTimelineEventResponse_eventId = Lens.lens (\CreateTimelineEventResponse' {eventId} -> eventId) (\s@CreateTimelineEventResponse' {} a -> s {eventId = a} :: CreateTimelineEventResponse)++-- | The ARN of the incident record that you added the event to.+createTimelineEventResponse_incidentRecordArn :: Lens.Lens' CreateTimelineEventResponse Prelude.Text+createTimelineEventResponse_incidentRecordArn = Lens.lens (\CreateTimelineEventResponse' {incidentRecordArn} -> incidentRecordArn) (\s@CreateTimelineEventResponse' {} a -> s {incidentRecordArn = a} :: CreateTimelineEventResponse)++instance Prelude.NFData CreateTimelineEventResponse where+  rnf CreateTimelineEventResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf eventId+      `Prelude.seq` Prelude.rnf incidentRecordArn
+ gen/Amazonka/SSMIncidents/DeleteIncidentRecord.hs view
@@ -0,0 +1,152 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.DeleteIncidentRecord+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Delete an incident record from Incident Manager.+module Amazonka.SSMIncidents.DeleteIncidentRecord+  ( -- * Creating a Request+    DeleteIncidentRecord (..),+    newDeleteIncidentRecord,++    -- * Request Lenses+    deleteIncidentRecord_arn,++    -- * Destructuring the Response+    DeleteIncidentRecordResponse (..),+    newDeleteIncidentRecordResponse,++    -- * Response Lenses+    deleteIncidentRecordResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newDeleteIncidentRecord' smart constructor.+data DeleteIncidentRecord = DeleteIncidentRecord'+  { -- | The Amazon Resource Name (ARN) of the incident record you are deleting.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteIncidentRecord' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'deleteIncidentRecord_arn' - The Amazon Resource Name (ARN) of the incident record you are deleting.+newDeleteIncidentRecord ::+  -- | 'arn'+  Prelude.Text ->+  DeleteIncidentRecord+newDeleteIncidentRecord pArn_ =+  DeleteIncidentRecord' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the incident record you are deleting.+deleteIncidentRecord_arn :: Lens.Lens' DeleteIncidentRecord Prelude.Text+deleteIncidentRecord_arn = Lens.lens (\DeleteIncidentRecord' {arn} -> arn) (\s@DeleteIncidentRecord' {} a -> s {arn = a} :: DeleteIncidentRecord)++instance Core.AWSRequest DeleteIncidentRecord where+  type+    AWSResponse DeleteIncidentRecord =+      DeleteIncidentRecordResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteIncidentRecordResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteIncidentRecord where+  hashWithSalt _salt DeleteIncidentRecord' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData DeleteIncidentRecord where+  rnf DeleteIncidentRecord' {..} = Prelude.rnf arn++instance Data.ToHeaders DeleteIncidentRecord where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteIncidentRecord where+  toJSON DeleteIncidentRecord' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("arn" Data..= arn)]+      )++instance Data.ToPath DeleteIncidentRecord where+  toPath = Prelude.const "/deleteIncidentRecord"++instance Data.ToQuery DeleteIncidentRecord where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteIncidentRecordResponse' smart constructor.+data DeleteIncidentRecordResponse = DeleteIncidentRecordResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteIncidentRecordResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteIncidentRecordResponse_httpStatus' - The response's http status code.+newDeleteIncidentRecordResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteIncidentRecordResponse+newDeleteIncidentRecordResponse pHttpStatus_ =+  DeleteIncidentRecordResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteIncidentRecordResponse_httpStatus :: Lens.Lens' DeleteIncidentRecordResponse Prelude.Int+deleteIncidentRecordResponse_httpStatus = Lens.lens (\DeleteIncidentRecordResponse' {httpStatus} -> httpStatus) (\s@DeleteIncidentRecordResponse' {} a -> s {httpStatus = a} :: DeleteIncidentRecordResponse)++instance Prelude.NFData DeleteIncidentRecordResponse where+  rnf DeleteIncidentRecordResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SSMIncidents/DeleteReplicationSet.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.DeleteReplicationSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes all Regions in your replication set. Deleting the replication+-- set deletes all Incident Manager data.+module Amazonka.SSMIncidents.DeleteReplicationSet+  ( -- * Creating a Request+    DeleteReplicationSet (..),+    newDeleteReplicationSet,++    -- * Request Lenses+    deleteReplicationSet_arn,++    -- * Destructuring the Response+    DeleteReplicationSetResponse (..),+    newDeleteReplicationSetResponse,++    -- * Response Lenses+    deleteReplicationSetResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newDeleteReplicationSet' smart constructor.+data DeleteReplicationSet = DeleteReplicationSet'+  { -- | The Amazon Resource Name (ARN) of the replication set you\'re deleting.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteReplicationSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'deleteReplicationSet_arn' - The Amazon Resource Name (ARN) of the replication set you\'re deleting.+newDeleteReplicationSet ::+  -- | 'arn'+  Prelude.Text ->+  DeleteReplicationSet+newDeleteReplicationSet pArn_ =+  DeleteReplicationSet' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the replication set you\'re deleting.+deleteReplicationSet_arn :: Lens.Lens' DeleteReplicationSet Prelude.Text+deleteReplicationSet_arn = Lens.lens (\DeleteReplicationSet' {arn} -> arn) (\s@DeleteReplicationSet' {} a -> s {arn = a} :: DeleteReplicationSet)++instance Core.AWSRequest DeleteReplicationSet where+  type+    AWSResponse DeleteReplicationSet =+      DeleteReplicationSetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteReplicationSetResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteReplicationSet where+  hashWithSalt _salt DeleteReplicationSet' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData DeleteReplicationSet where+  rnf DeleteReplicationSet' {..} = Prelude.rnf arn++instance Data.ToHeaders DeleteReplicationSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteReplicationSet where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath DeleteReplicationSet where+  toPath = Prelude.const "/deleteReplicationSet"++instance Data.ToQuery DeleteReplicationSet where+  toQuery DeleteReplicationSet' {..} =+    Prelude.mconcat ["arn" Data.=: arn]++-- | /See:/ 'newDeleteReplicationSetResponse' smart constructor.+data DeleteReplicationSetResponse = DeleteReplicationSetResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteReplicationSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteReplicationSetResponse_httpStatus' - The response's http status code.+newDeleteReplicationSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteReplicationSetResponse+newDeleteReplicationSetResponse pHttpStatus_ =+  DeleteReplicationSetResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteReplicationSetResponse_httpStatus :: Lens.Lens' DeleteReplicationSetResponse Prelude.Int+deleteReplicationSetResponse_httpStatus = Lens.lens (\DeleteReplicationSetResponse' {httpStatus} -> httpStatus) (\s@DeleteReplicationSetResponse' {} a -> s {httpStatus = a} :: DeleteReplicationSetResponse)++instance Prelude.NFData DeleteReplicationSetResponse where+  rnf DeleteReplicationSetResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SSMIncidents/DeleteResourcePolicy.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.DeleteResourcePolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the resource policy that Resource Access Manager uses to share+-- your Incident Manager resource.+module Amazonka.SSMIncidents.DeleteResourcePolicy+  ( -- * Creating a Request+    DeleteResourcePolicy (..),+    newDeleteResourcePolicy,++    -- * Request Lenses+    deleteResourcePolicy_policyId,+    deleteResourcePolicy_resourceArn,++    -- * Destructuring the Response+    DeleteResourcePolicyResponse (..),+    newDeleteResourcePolicyResponse,++    -- * Response Lenses+    deleteResourcePolicyResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newDeleteResourcePolicy' smart constructor.+data DeleteResourcePolicy = DeleteResourcePolicy'+  { -- | The ID of the resource policy you\'re deleting.+    policyId :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the resource you\'re deleting the+    -- policy from.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResourcePolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policyId', 'deleteResourcePolicy_policyId' - The ID of the resource policy you\'re deleting.+--+-- 'resourceArn', 'deleteResourcePolicy_resourceArn' - The Amazon Resource Name (ARN) of the resource you\'re deleting the+-- policy from.+newDeleteResourcePolicy ::+  -- | 'policyId'+  Prelude.Text ->+  -- | 'resourceArn'+  Prelude.Text ->+  DeleteResourcePolicy+newDeleteResourcePolicy pPolicyId_ pResourceArn_ =+  DeleteResourcePolicy'+    { policyId = pPolicyId_,+      resourceArn = pResourceArn_+    }++-- | The ID of the resource policy you\'re deleting.+deleteResourcePolicy_policyId :: Lens.Lens' DeleteResourcePolicy Prelude.Text+deleteResourcePolicy_policyId = Lens.lens (\DeleteResourcePolicy' {policyId} -> policyId) (\s@DeleteResourcePolicy' {} a -> s {policyId = a} :: DeleteResourcePolicy)++-- | The Amazon Resource Name (ARN) of the resource you\'re deleting the+-- policy from.+deleteResourcePolicy_resourceArn :: Lens.Lens' DeleteResourcePolicy Prelude.Text+deleteResourcePolicy_resourceArn = Lens.lens (\DeleteResourcePolicy' {resourceArn} -> resourceArn) (\s@DeleteResourcePolicy' {} a -> s {resourceArn = a} :: DeleteResourcePolicy)++instance Core.AWSRequest DeleteResourcePolicy where+  type+    AWSResponse DeleteResourcePolicy =+      DeleteResourcePolicyResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteResourcePolicyResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteResourcePolicy where+  hashWithSalt _salt DeleteResourcePolicy' {..} =+    _salt+      `Prelude.hashWithSalt` policyId+      `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData DeleteResourcePolicy where+  rnf DeleteResourcePolicy' {..} =+    Prelude.rnf policyId+      `Prelude.seq` Prelude.rnf resourceArn++instance Data.ToHeaders DeleteResourcePolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteResourcePolicy where+  toJSON DeleteResourcePolicy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("policyId" Data..= policyId),+            Prelude.Just ("resourceArn" Data..= resourceArn)+          ]+      )++instance Data.ToPath DeleteResourcePolicy where+  toPath = Prelude.const "/deleteResourcePolicy"++instance Data.ToQuery DeleteResourcePolicy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteResourcePolicyResponse' smart constructor.+data DeleteResourcePolicyResponse = DeleteResourcePolicyResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResourcePolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteResourcePolicyResponse_httpStatus' - The response's http status code.+newDeleteResourcePolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteResourcePolicyResponse+newDeleteResourcePolicyResponse pHttpStatus_ =+  DeleteResourcePolicyResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteResourcePolicyResponse_httpStatus :: Lens.Lens' DeleteResourcePolicyResponse Prelude.Int+deleteResourcePolicyResponse_httpStatus = Lens.lens (\DeleteResourcePolicyResponse' {httpStatus} -> httpStatus) (\s@DeleteResourcePolicyResponse' {} a -> s {httpStatus = a} :: DeleteResourcePolicyResponse)++instance Prelude.NFData DeleteResourcePolicyResponse where+  rnf DeleteResourcePolicyResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SSMIncidents/DeleteResponsePlan.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.DeleteResponsePlan+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified response plan. Deleting a response plan stops all+-- linked CloudWatch alarms and EventBridge events from creating an+-- incident with this response plan.+module Amazonka.SSMIncidents.DeleteResponsePlan+  ( -- * Creating a Request+    DeleteResponsePlan (..),+    newDeleteResponsePlan,++    -- * Request Lenses+    deleteResponsePlan_arn,++    -- * Destructuring the Response+    DeleteResponsePlanResponse (..),+    newDeleteResponsePlanResponse,++    -- * Response Lenses+    deleteResponsePlanResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newDeleteResponsePlan' smart constructor.+data DeleteResponsePlan = DeleteResponsePlan'+  { -- | The Amazon Resource Name (ARN) of the response plan.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResponsePlan' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'deleteResponsePlan_arn' - The Amazon Resource Name (ARN) of the response plan.+newDeleteResponsePlan ::+  -- | 'arn'+  Prelude.Text ->+  DeleteResponsePlan+newDeleteResponsePlan pArn_ =+  DeleteResponsePlan' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the response plan.+deleteResponsePlan_arn :: Lens.Lens' DeleteResponsePlan Prelude.Text+deleteResponsePlan_arn = Lens.lens (\DeleteResponsePlan' {arn} -> arn) (\s@DeleteResponsePlan' {} a -> s {arn = a} :: DeleteResponsePlan)++instance Core.AWSRequest DeleteResponsePlan where+  type+    AWSResponse DeleteResponsePlan =+      DeleteResponsePlanResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteResponsePlanResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteResponsePlan where+  hashWithSalt _salt DeleteResponsePlan' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData DeleteResponsePlan where+  rnf DeleteResponsePlan' {..} = Prelude.rnf arn++instance Data.ToHeaders DeleteResponsePlan where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteResponsePlan where+  toJSON DeleteResponsePlan' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("arn" Data..= arn)]+      )++instance Data.ToPath DeleteResponsePlan where+  toPath = Prelude.const "/deleteResponsePlan"++instance Data.ToQuery DeleteResponsePlan where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteResponsePlanResponse' smart constructor.+data DeleteResponsePlanResponse = DeleteResponsePlanResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResponsePlanResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteResponsePlanResponse_httpStatus' - The response's http status code.+newDeleteResponsePlanResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteResponsePlanResponse+newDeleteResponsePlanResponse pHttpStatus_ =+  DeleteResponsePlanResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteResponsePlanResponse_httpStatus :: Lens.Lens' DeleteResponsePlanResponse Prelude.Int+deleteResponsePlanResponse_httpStatus = Lens.lens (\DeleteResponsePlanResponse' {httpStatus} -> httpStatus) (\s@DeleteResponsePlanResponse' {} a -> s {httpStatus = a} :: DeleteResponsePlanResponse)++instance Prelude.NFData DeleteResponsePlanResponse where+  rnf DeleteResponsePlanResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SSMIncidents/DeleteTimelineEvent.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.DeleteTimelineEvent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a timeline event from an incident.+module Amazonka.SSMIncidents.DeleteTimelineEvent+  ( -- * Creating a Request+    DeleteTimelineEvent (..),+    newDeleteTimelineEvent,++    -- * Request Lenses+    deleteTimelineEvent_eventId,+    deleteTimelineEvent_incidentRecordArn,++    -- * Destructuring the Response+    DeleteTimelineEventResponse (..),+    newDeleteTimelineEventResponse,++    -- * Response Lenses+    deleteTimelineEventResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newDeleteTimelineEvent' smart constructor.+data DeleteTimelineEvent = DeleteTimelineEvent'+  { -- | The ID of the event you are updating. You can find this by using+    -- @ListTimelineEvents@.+    eventId :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the incident that includes the+    -- timeline event.+    incidentRecordArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTimelineEvent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventId', 'deleteTimelineEvent_eventId' - The ID of the event you are updating. You can find this by using+-- @ListTimelineEvents@.+--+-- 'incidentRecordArn', 'deleteTimelineEvent_incidentRecordArn' - The Amazon Resource Name (ARN) of the incident that includes the+-- timeline event.+newDeleteTimelineEvent ::+  -- | 'eventId'+  Prelude.Text ->+  -- | 'incidentRecordArn'+  Prelude.Text ->+  DeleteTimelineEvent+newDeleteTimelineEvent pEventId_ pIncidentRecordArn_ =+  DeleteTimelineEvent'+    { eventId = pEventId_,+      incidentRecordArn = pIncidentRecordArn_+    }++-- | The ID of the event you are updating. You can find this by using+-- @ListTimelineEvents@.+deleteTimelineEvent_eventId :: Lens.Lens' DeleteTimelineEvent Prelude.Text+deleteTimelineEvent_eventId = Lens.lens (\DeleteTimelineEvent' {eventId} -> eventId) (\s@DeleteTimelineEvent' {} a -> s {eventId = a} :: DeleteTimelineEvent)++-- | The Amazon Resource Name (ARN) of the incident that includes the+-- timeline event.+deleteTimelineEvent_incidentRecordArn :: Lens.Lens' DeleteTimelineEvent Prelude.Text+deleteTimelineEvent_incidentRecordArn = Lens.lens (\DeleteTimelineEvent' {incidentRecordArn} -> incidentRecordArn) (\s@DeleteTimelineEvent' {} a -> s {incidentRecordArn = a} :: DeleteTimelineEvent)++instance Core.AWSRequest DeleteTimelineEvent where+  type+    AWSResponse DeleteTimelineEvent =+      DeleteTimelineEventResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteTimelineEventResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteTimelineEvent where+  hashWithSalt _salt DeleteTimelineEvent' {..} =+    _salt+      `Prelude.hashWithSalt` eventId+      `Prelude.hashWithSalt` incidentRecordArn++instance Prelude.NFData DeleteTimelineEvent where+  rnf DeleteTimelineEvent' {..} =+    Prelude.rnf eventId+      `Prelude.seq` Prelude.rnf incidentRecordArn++instance Data.ToHeaders DeleteTimelineEvent where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON DeleteTimelineEvent where+  toJSON DeleteTimelineEvent' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("eventId" Data..= eventId),+            Prelude.Just+              ("incidentRecordArn" Data..= incidentRecordArn)+          ]+      )++instance Data.ToPath DeleteTimelineEvent where+  toPath = Prelude.const "/deleteTimelineEvent"++instance Data.ToQuery DeleteTimelineEvent where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteTimelineEventResponse' smart constructor.+data DeleteTimelineEventResponse = DeleteTimelineEventResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteTimelineEventResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteTimelineEventResponse_httpStatus' - The response's http status code.+newDeleteTimelineEventResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteTimelineEventResponse+newDeleteTimelineEventResponse pHttpStatus_ =+  DeleteTimelineEventResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteTimelineEventResponse_httpStatus :: Lens.Lens' DeleteTimelineEventResponse Prelude.Int+deleteTimelineEventResponse_httpStatus = Lens.lens (\DeleteTimelineEventResponse' {httpStatus} -> httpStatus) (\s@DeleteTimelineEventResponse' {} a -> s {httpStatus = a} :: DeleteTimelineEventResponse)++instance Prelude.NFData DeleteTimelineEventResponse where+  rnf DeleteTimelineEventResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SSMIncidents/GetIncidentRecord.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.GetIncidentRecord+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the details for the specified incident record.+module Amazonka.SSMIncidents.GetIncidentRecord+  ( -- * Creating a Request+    GetIncidentRecord (..),+    newGetIncidentRecord,++    -- * Request Lenses+    getIncidentRecord_arn,++    -- * Destructuring the Response+    GetIncidentRecordResponse (..),+    newGetIncidentRecordResponse,++    -- * Response Lenses+    getIncidentRecordResponse_httpStatus,+    getIncidentRecordResponse_incidentRecord,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newGetIncidentRecord' smart constructor.+data GetIncidentRecord = GetIncidentRecord'+  { -- | The Amazon Resource Name (ARN) of the incident record.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetIncidentRecord' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'getIncidentRecord_arn' - The Amazon Resource Name (ARN) of the incident record.+newGetIncidentRecord ::+  -- | 'arn'+  Prelude.Text ->+  GetIncidentRecord+newGetIncidentRecord pArn_ =+  GetIncidentRecord' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the incident record.+getIncidentRecord_arn :: Lens.Lens' GetIncidentRecord Prelude.Text+getIncidentRecord_arn = Lens.lens (\GetIncidentRecord' {arn} -> arn) (\s@GetIncidentRecord' {} a -> s {arn = a} :: GetIncidentRecord)++instance Core.AWSRequest GetIncidentRecord where+  type+    AWSResponse GetIncidentRecord =+      GetIncidentRecordResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetIncidentRecordResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "incidentRecord")+      )++instance Prelude.Hashable GetIncidentRecord where+  hashWithSalt _salt GetIncidentRecord' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData GetIncidentRecord where+  rnf GetIncidentRecord' {..} = Prelude.rnf arn++instance Data.ToHeaders GetIncidentRecord where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetIncidentRecord where+  toPath = Prelude.const "/getIncidentRecord"++instance Data.ToQuery GetIncidentRecord where+  toQuery GetIncidentRecord' {..} =+    Prelude.mconcat ["arn" Data.=: arn]++-- | /See:/ 'newGetIncidentRecordResponse' smart constructor.+data GetIncidentRecordResponse = GetIncidentRecordResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Details the structure of the incident record.+    incidentRecord :: IncidentRecord+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetIncidentRecordResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getIncidentRecordResponse_httpStatus' - The response's http status code.+--+-- 'incidentRecord', 'getIncidentRecordResponse_incidentRecord' - Details the structure of the incident record.+newGetIncidentRecordResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'incidentRecord'+  IncidentRecord ->+  GetIncidentRecordResponse+newGetIncidentRecordResponse+  pHttpStatus_+  pIncidentRecord_ =+    GetIncidentRecordResponse'+      { httpStatus =+          pHttpStatus_,+        incidentRecord = pIncidentRecord_+      }++-- | The response's http status code.+getIncidentRecordResponse_httpStatus :: Lens.Lens' GetIncidentRecordResponse Prelude.Int+getIncidentRecordResponse_httpStatus = Lens.lens (\GetIncidentRecordResponse' {httpStatus} -> httpStatus) (\s@GetIncidentRecordResponse' {} a -> s {httpStatus = a} :: GetIncidentRecordResponse)++-- | Details the structure of the incident record.+getIncidentRecordResponse_incidentRecord :: Lens.Lens' GetIncidentRecordResponse IncidentRecord+getIncidentRecordResponse_incidentRecord = Lens.lens (\GetIncidentRecordResponse' {incidentRecord} -> incidentRecord) (\s@GetIncidentRecordResponse' {} a -> s {incidentRecord = a} :: GetIncidentRecordResponse)++instance Prelude.NFData GetIncidentRecordResponse where+  rnf GetIncidentRecordResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf incidentRecord
+ gen/Amazonka/SSMIncidents/GetReplicationSet.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.GetReplicationSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieve your Incident Manager replication set.+module Amazonka.SSMIncidents.GetReplicationSet+  ( -- * Creating a Request+    GetReplicationSet (..),+    newGetReplicationSet,++    -- * Request Lenses+    getReplicationSet_arn,++    -- * Destructuring the Response+    GetReplicationSetResponse (..),+    newGetReplicationSetResponse,++    -- * Response Lenses+    getReplicationSetResponse_httpStatus,+    getReplicationSetResponse_replicationSet,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newGetReplicationSet' smart constructor.+data GetReplicationSet = GetReplicationSet'+  { -- | The Amazon Resource Name (ARN) of the replication set you want to+    -- retrieve.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetReplicationSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'getReplicationSet_arn' - The Amazon Resource Name (ARN) of the replication set you want to+-- retrieve.+newGetReplicationSet ::+  -- | 'arn'+  Prelude.Text ->+  GetReplicationSet+newGetReplicationSet pArn_ =+  GetReplicationSet' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the replication set you want to+-- retrieve.+getReplicationSet_arn :: Lens.Lens' GetReplicationSet Prelude.Text+getReplicationSet_arn = Lens.lens (\GetReplicationSet' {arn} -> arn) (\s@GetReplicationSet' {} a -> s {arn = a} :: GetReplicationSet)++instance Core.AWSRequest GetReplicationSet where+  type+    AWSResponse GetReplicationSet =+      GetReplicationSetResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetReplicationSetResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "replicationSet")+      )++instance Prelude.Hashable GetReplicationSet where+  hashWithSalt _salt GetReplicationSet' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData GetReplicationSet where+  rnf GetReplicationSet' {..} = Prelude.rnf arn++instance Data.ToHeaders GetReplicationSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetReplicationSet where+  toPath = Prelude.const "/getReplicationSet"++instance Data.ToQuery GetReplicationSet where+  toQuery GetReplicationSet' {..} =+    Prelude.mconcat ["arn" Data.=: arn]++-- | /See:/ 'newGetReplicationSetResponse' smart constructor.+data GetReplicationSetResponse = GetReplicationSetResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Details of the replication set.+    replicationSet :: ReplicationSet+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetReplicationSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getReplicationSetResponse_httpStatus' - The response's http status code.+--+-- 'replicationSet', 'getReplicationSetResponse_replicationSet' - Details of the replication set.+newGetReplicationSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'replicationSet'+  ReplicationSet ->+  GetReplicationSetResponse+newGetReplicationSetResponse+  pHttpStatus_+  pReplicationSet_ =+    GetReplicationSetResponse'+      { httpStatus =+          pHttpStatus_,+        replicationSet = pReplicationSet_+      }++-- | The response's http status code.+getReplicationSetResponse_httpStatus :: Lens.Lens' GetReplicationSetResponse Prelude.Int+getReplicationSetResponse_httpStatus = Lens.lens (\GetReplicationSetResponse' {httpStatus} -> httpStatus) (\s@GetReplicationSetResponse' {} a -> s {httpStatus = a} :: GetReplicationSetResponse)++-- | Details of the replication set.+getReplicationSetResponse_replicationSet :: Lens.Lens' GetReplicationSetResponse ReplicationSet+getReplicationSetResponse_replicationSet = Lens.lens (\GetReplicationSetResponse' {replicationSet} -> replicationSet) (\s@GetReplicationSetResponse' {} a -> s {replicationSet = a} :: GetReplicationSetResponse)++instance Prelude.NFData GetReplicationSetResponse where+  rnf GetReplicationSetResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf replicationSet
+ gen/Amazonka/SSMIncidents/GetResourcePolicies.hs view
@@ -0,0 +1,239 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.GetResourcePolicies+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the resource policies attached to the specified response plan.+--+-- This operation returns paginated results.+module Amazonka.SSMIncidents.GetResourcePolicies+  ( -- * Creating a Request+    GetResourcePolicies (..),+    newGetResourcePolicies,++    -- * Request Lenses+    getResourcePolicies_maxResults,+    getResourcePolicies_nextToken,+    getResourcePolicies_resourceArn,++    -- * Destructuring the Response+    GetResourcePoliciesResponse (..),+    newGetResourcePoliciesResponse,++    -- * Response Lenses+    getResourcePoliciesResponse_nextToken,+    getResourcePoliciesResponse_httpStatus,+    getResourcePoliciesResponse_resourcePolicies,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newGetResourcePolicies' smart constructor.+data GetResourcePolicies = GetResourcePolicies'+  { -- | The maximum number of resource policies to display for each page of+    -- results.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token to continue to the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the response plan with the attached+    -- resource policy.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourcePolicies' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'getResourcePolicies_maxResults' - The maximum number of resource policies to display for each page of+-- results.+--+-- 'nextToken', 'getResourcePolicies_nextToken' - The pagination token to continue to the next page of results.+--+-- 'resourceArn', 'getResourcePolicies_resourceArn' - The Amazon Resource Name (ARN) of the response plan with the attached+-- resource policy.+newGetResourcePolicies ::+  -- | 'resourceArn'+  Prelude.Text ->+  GetResourcePolicies+newGetResourcePolicies pResourceArn_ =+  GetResourcePolicies'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      resourceArn = pResourceArn_+    }++-- | The maximum number of resource policies to display for each page of+-- results.+getResourcePolicies_maxResults :: Lens.Lens' GetResourcePolicies (Prelude.Maybe Prelude.Natural)+getResourcePolicies_maxResults = Lens.lens (\GetResourcePolicies' {maxResults} -> maxResults) (\s@GetResourcePolicies' {} a -> s {maxResults = a} :: GetResourcePolicies)++-- | The pagination token to continue to the next page of results.+getResourcePolicies_nextToken :: Lens.Lens' GetResourcePolicies (Prelude.Maybe Prelude.Text)+getResourcePolicies_nextToken = Lens.lens (\GetResourcePolicies' {nextToken} -> nextToken) (\s@GetResourcePolicies' {} a -> s {nextToken = a} :: GetResourcePolicies)++-- | The Amazon Resource Name (ARN) of the response plan with the attached+-- resource policy.+getResourcePolicies_resourceArn :: Lens.Lens' GetResourcePolicies Prelude.Text+getResourcePolicies_resourceArn = Lens.lens (\GetResourcePolicies' {resourceArn} -> resourceArn) (\s@GetResourcePolicies' {} a -> s {resourceArn = a} :: GetResourcePolicies)++instance Core.AWSPager GetResourcePolicies where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getResourcePoliciesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. getResourcePoliciesResponse_resourcePolicies+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getResourcePolicies_nextToken+          Lens..~ rs+          Lens.^? getResourcePoliciesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetResourcePolicies where+  type+    AWSResponse GetResourcePolicies =+      GetResourcePoliciesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetResourcePoliciesResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "resourcePolicies"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable GetResourcePolicies where+  hashWithSalt _salt GetResourcePolicies' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData GetResourcePolicies where+  rnf GetResourcePolicies' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceArn++instance Data.ToHeaders GetResourcePolicies where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetResourcePolicies where+  toJSON GetResourcePolicies' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath GetResourcePolicies where+  toPath = Prelude.const "/getResourcePolicies"++instance Data.ToQuery GetResourcePolicies where+  toQuery GetResourcePolicies' {..} =+    Prelude.mconcat ["resourceArn" Data.=: resourceArn]++-- | /See:/ 'newGetResourcePoliciesResponse' smart constructor.+data GetResourcePoliciesResponse = GetResourcePoliciesResponse'+  { -- | The pagination token to continue to the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Details about the resource policy attached to the response plan.+    resourcePolicies :: [ResourcePolicy]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourcePoliciesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'getResourcePoliciesResponse_nextToken' - The pagination token to continue to the next page of results.+--+-- 'httpStatus', 'getResourcePoliciesResponse_httpStatus' - The response's http status code.+--+-- 'resourcePolicies', 'getResourcePoliciesResponse_resourcePolicies' - Details about the resource policy attached to the response plan.+newGetResourcePoliciesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetResourcePoliciesResponse+newGetResourcePoliciesResponse pHttpStatus_ =+  GetResourcePoliciesResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      resourcePolicies = Prelude.mempty+    }++-- | The pagination token to continue to the next page of results.+getResourcePoliciesResponse_nextToken :: Lens.Lens' GetResourcePoliciesResponse (Prelude.Maybe Prelude.Text)+getResourcePoliciesResponse_nextToken = Lens.lens (\GetResourcePoliciesResponse' {nextToken} -> nextToken) (\s@GetResourcePoliciesResponse' {} a -> s {nextToken = a} :: GetResourcePoliciesResponse)++-- | The response's http status code.+getResourcePoliciesResponse_httpStatus :: Lens.Lens' GetResourcePoliciesResponse Prelude.Int+getResourcePoliciesResponse_httpStatus = Lens.lens (\GetResourcePoliciesResponse' {httpStatus} -> httpStatus) (\s@GetResourcePoliciesResponse' {} a -> s {httpStatus = a} :: GetResourcePoliciesResponse)++-- | Details about the resource policy attached to the response plan.+getResourcePoliciesResponse_resourcePolicies :: Lens.Lens' GetResourcePoliciesResponse [ResourcePolicy]+getResourcePoliciesResponse_resourcePolicies = Lens.lens (\GetResourcePoliciesResponse' {resourcePolicies} -> resourcePolicies) (\s@GetResourcePoliciesResponse' {} a -> s {resourcePolicies = a} :: GetResourcePoliciesResponse) Prelude.. Lens.coerced++instance Prelude.NFData GetResourcePoliciesResponse where+  rnf GetResourcePoliciesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf resourcePolicies
+ gen/Amazonka/SSMIncidents/GetResponsePlan.hs view
@@ -0,0 +1,263 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.GetResponsePlan+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the details of the specified response plan.+module Amazonka.SSMIncidents.GetResponsePlan+  ( -- * Creating a Request+    GetResponsePlan (..),+    newGetResponsePlan,++    -- * Request Lenses+    getResponsePlan_arn,++    -- * Destructuring the Response+    GetResponsePlanResponse (..),+    newGetResponsePlanResponse,++    -- * Response Lenses+    getResponsePlanResponse_actions,+    getResponsePlanResponse_chatChannel,+    getResponsePlanResponse_displayName,+    getResponsePlanResponse_engagements,+    getResponsePlanResponse_integrations,+    getResponsePlanResponse_httpStatus,+    getResponsePlanResponse_arn,+    getResponsePlanResponse_incidentTemplate,+    getResponsePlanResponse_name,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newGetResponsePlan' smart constructor.+data GetResponsePlan = GetResponsePlan'+  { -- | The Amazon Resource Name (ARN) of the response plan.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResponsePlan' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'getResponsePlan_arn' - The Amazon Resource Name (ARN) of the response plan.+newGetResponsePlan ::+  -- | 'arn'+  Prelude.Text ->+  GetResponsePlan+newGetResponsePlan pArn_ =+  GetResponsePlan' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the response plan.+getResponsePlan_arn :: Lens.Lens' GetResponsePlan Prelude.Text+getResponsePlan_arn = Lens.lens (\GetResponsePlan' {arn} -> arn) (\s@GetResponsePlan' {} a -> s {arn = a} :: GetResponsePlan)++instance Core.AWSRequest GetResponsePlan where+  type+    AWSResponse GetResponsePlan =+      GetResponsePlanResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetResponsePlanResponse'+            Prelude.<$> (x Data..?> "actions" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "chatChannel")+            Prelude.<*> (x Data..?> "displayName")+            Prelude.<*> (x Data..?> "engagements" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "integrations" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "arn")+            Prelude.<*> (x Data..:> "incidentTemplate")+            Prelude.<*> (x Data..:> "name")+      )++instance Prelude.Hashable GetResponsePlan where+  hashWithSalt _salt GetResponsePlan' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData GetResponsePlan where+  rnf GetResponsePlan' {..} = Prelude.rnf arn++instance Data.ToHeaders GetResponsePlan where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetResponsePlan where+  toPath = Prelude.const "/getResponsePlan"++instance Data.ToQuery GetResponsePlan where+  toQuery GetResponsePlan' {..} =+    Prelude.mconcat ["arn" Data.=: arn]++-- | /See:/ 'newGetResponsePlanResponse' smart constructor.+data GetResponsePlanResponse = GetResponsePlanResponse'+  { -- | The actions that this response plan takes at the beginning of the+    -- incident.+    actions :: Prelude.Maybe [Action],+    -- | The Chatbot chat channel used for collaboration during an incident.+    chatChannel :: Prelude.Maybe ChatChannel,+    -- | The long format name of the response plan. Can contain spaces.+    displayName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the contacts and escalation plans+    -- that the response plan engages during an incident.+    engagements :: Prelude.Maybe [Prelude.Text],+    -- | Information about third-party services integrated into the Incident+    -- Manager response plan.+    integrations :: Prelude.Maybe [Integration],+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The ARN of the response plan.+    arn :: Prelude.Text,+    -- | Details used to create the incident when using this response plan.+    incidentTemplate :: IncidentTemplate,+    -- | The short format name of the response plan. The name can\'t contain+    -- spaces.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResponsePlanResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'getResponsePlanResponse_actions' - The actions that this response plan takes at the beginning of the+-- incident.+--+-- 'chatChannel', 'getResponsePlanResponse_chatChannel' - The Chatbot chat channel used for collaboration during an incident.+--+-- 'displayName', 'getResponsePlanResponse_displayName' - The long format name of the response plan. Can contain spaces.+--+-- 'engagements', 'getResponsePlanResponse_engagements' - The Amazon Resource Name (ARN) for the contacts and escalation plans+-- that the response plan engages during an incident.+--+-- 'integrations', 'getResponsePlanResponse_integrations' - Information about third-party services integrated into the Incident+-- Manager response plan.+--+-- 'httpStatus', 'getResponsePlanResponse_httpStatus' - The response's http status code.+--+-- 'arn', 'getResponsePlanResponse_arn' - The ARN of the response plan.+--+-- 'incidentTemplate', 'getResponsePlanResponse_incidentTemplate' - Details used to create the incident when using this response plan.+--+-- 'name', 'getResponsePlanResponse_name' - The short format name of the response plan. The name can\'t contain+-- spaces.+newGetResponsePlanResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'arn'+  Prelude.Text ->+  -- | 'incidentTemplate'+  IncidentTemplate ->+  -- | 'name'+  Prelude.Text ->+  GetResponsePlanResponse+newGetResponsePlanResponse+  pHttpStatus_+  pArn_+  pIncidentTemplate_+  pName_ =+    GetResponsePlanResponse'+      { actions = Prelude.Nothing,+        chatChannel = Prelude.Nothing,+        displayName = Prelude.Nothing,+        engagements = Prelude.Nothing,+        integrations = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        arn = pArn_,+        incidentTemplate = pIncidentTemplate_,+        name = pName_+      }++-- | The actions that this response plan takes at the beginning of the+-- incident.+getResponsePlanResponse_actions :: Lens.Lens' GetResponsePlanResponse (Prelude.Maybe [Action])+getResponsePlanResponse_actions = Lens.lens (\GetResponsePlanResponse' {actions} -> actions) (\s@GetResponsePlanResponse' {} a -> s {actions = a} :: GetResponsePlanResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Chatbot chat channel used for collaboration during an incident.+getResponsePlanResponse_chatChannel :: Lens.Lens' GetResponsePlanResponse (Prelude.Maybe ChatChannel)+getResponsePlanResponse_chatChannel = Lens.lens (\GetResponsePlanResponse' {chatChannel} -> chatChannel) (\s@GetResponsePlanResponse' {} a -> s {chatChannel = a} :: GetResponsePlanResponse)++-- | The long format name of the response plan. Can contain spaces.+getResponsePlanResponse_displayName :: Lens.Lens' GetResponsePlanResponse (Prelude.Maybe Prelude.Text)+getResponsePlanResponse_displayName = Lens.lens (\GetResponsePlanResponse' {displayName} -> displayName) (\s@GetResponsePlanResponse' {} a -> s {displayName = a} :: GetResponsePlanResponse)++-- | The Amazon Resource Name (ARN) for the contacts and escalation plans+-- that the response plan engages during an incident.+getResponsePlanResponse_engagements :: Lens.Lens' GetResponsePlanResponse (Prelude.Maybe [Prelude.Text])+getResponsePlanResponse_engagements = Lens.lens (\GetResponsePlanResponse' {engagements} -> engagements) (\s@GetResponsePlanResponse' {} a -> s {engagements = a} :: GetResponsePlanResponse) Prelude.. Lens.mapping Lens.coerced++-- | Information about third-party services integrated into the Incident+-- Manager response plan.+getResponsePlanResponse_integrations :: Lens.Lens' GetResponsePlanResponse (Prelude.Maybe [Integration])+getResponsePlanResponse_integrations = Lens.lens (\GetResponsePlanResponse' {integrations} -> integrations) (\s@GetResponsePlanResponse' {} a -> s {integrations = a} :: GetResponsePlanResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getResponsePlanResponse_httpStatus :: Lens.Lens' GetResponsePlanResponse Prelude.Int+getResponsePlanResponse_httpStatus = Lens.lens (\GetResponsePlanResponse' {httpStatus} -> httpStatus) (\s@GetResponsePlanResponse' {} a -> s {httpStatus = a} :: GetResponsePlanResponse)++-- | The ARN of the response plan.+getResponsePlanResponse_arn :: Lens.Lens' GetResponsePlanResponse Prelude.Text+getResponsePlanResponse_arn = Lens.lens (\GetResponsePlanResponse' {arn} -> arn) (\s@GetResponsePlanResponse' {} a -> s {arn = a} :: GetResponsePlanResponse)++-- | Details used to create the incident when using this response plan.+getResponsePlanResponse_incidentTemplate :: Lens.Lens' GetResponsePlanResponse IncidentTemplate+getResponsePlanResponse_incidentTemplate = Lens.lens (\GetResponsePlanResponse' {incidentTemplate} -> incidentTemplate) (\s@GetResponsePlanResponse' {} a -> s {incidentTemplate = a} :: GetResponsePlanResponse)++-- | The short format name of the response plan. The name can\'t contain+-- spaces.+getResponsePlanResponse_name :: Lens.Lens' GetResponsePlanResponse Prelude.Text+getResponsePlanResponse_name = Lens.lens (\GetResponsePlanResponse' {name} -> name) (\s@GetResponsePlanResponse' {} a -> s {name = a} :: GetResponsePlanResponse)++instance Prelude.NFData GetResponsePlanResponse where+  rnf GetResponsePlanResponse' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chatChannel+      `Prelude.seq` Prelude.rnf displayName+      `Prelude.seq` Prelude.rnf engagements+      `Prelude.seq` Prelude.rnf integrations+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf incidentTemplate+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/SSMIncidents/GetTimelineEvent.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.GetTimelineEvent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a timeline event based on its ID and incident record.+module Amazonka.SSMIncidents.GetTimelineEvent+  ( -- * Creating a Request+    GetTimelineEvent (..),+    newGetTimelineEvent,++    -- * Request Lenses+    getTimelineEvent_eventId,+    getTimelineEvent_incidentRecordArn,++    -- * Destructuring the Response+    GetTimelineEventResponse (..),+    newGetTimelineEventResponse,++    -- * Response Lenses+    getTimelineEventResponse_httpStatus,+    getTimelineEventResponse_event,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newGetTimelineEvent' smart constructor.+data GetTimelineEvent = GetTimelineEvent'+  { -- | The ID of the event. You can get an event\'s ID when you create it, or+    -- by using @ListTimelineEvents@.+    eventId :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the incident that includes the+    -- timeline event.+    incidentRecordArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTimelineEvent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventId', 'getTimelineEvent_eventId' - The ID of the event. You can get an event\'s ID when you create it, or+-- by using @ListTimelineEvents@.+--+-- 'incidentRecordArn', 'getTimelineEvent_incidentRecordArn' - The Amazon Resource Name (ARN) of the incident that includes the+-- timeline event.+newGetTimelineEvent ::+  -- | 'eventId'+  Prelude.Text ->+  -- | 'incidentRecordArn'+  Prelude.Text ->+  GetTimelineEvent+newGetTimelineEvent pEventId_ pIncidentRecordArn_ =+  GetTimelineEvent'+    { eventId = pEventId_,+      incidentRecordArn = pIncidentRecordArn_+    }++-- | The ID of the event. You can get an event\'s ID when you create it, or+-- by using @ListTimelineEvents@.+getTimelineEvent_eventId :: Lens.Lens' GetTimelineEvent Prelude.Text+getTimelineEvent_eventId = Lens.lens (\GetTimelineEvent' {eventId} -> eventId) (\s@GetTimelineEvent' {} a -> s {eventId = a} :: GetTimelineEvent)++-- | The Amazon Resource Name (ARN) of the incident that includes the+-- timeline event.+getTimelineEvent_incidentRecordArn :: Lens.Lens' GetTimelineEvent Prelude.Text+getTimelineEvent_incidentRecordArn = Lens.lens (\GetTimelineEvent' {incidentRecordArn} -> incidentRecordArn) (\s@GetTimelineEvent' {} a -> s {incidentRecordArn = a} :: GetTimelineEvent)++instance Core.AWSRequest GetTimelineEvent where+  type+    AWSResponse GetTimelineEvent =+      GetTimelineEventResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetTimelineEventResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "event")+      )++instance Prelude.Hashable GetTimelineEvent where+  hashWithSalt _salt GetTimelineEvent' {..} =+    _salt+      `Prelude.hashWithSalt` eventId+      `Prelude.hashWithSalt` incidentRecordArn++instance Prelude.NFData GetTimelineEvent where+  rnf GetTimelineEvent' {..} =+    Prelude.rnf eventId+      `Prelude.seq` Prelude.rnf incidentRecordArn++instance Data.ToHeaders GetTimelineEvent where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetTimelineEvent where+  toPath = Prelude.const "/getTimelineEvent"++instance Data.ToQuery GetTimelineEvent where+  toQuery GetTimelineEvent' {..} =+    Prelude.mconcat+      [ "eventId" Data.=: eventId,+        "incidentRecordArn" Data.=: incidentRecordArn+      ]++-- | /See:/ 'newGetTimelineEventResponse' smart constructor.+data GetTimelineEventResponse = GetTimelineEventResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Details about the timeline event.+    event :: TimelineEvent+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTimelineEventResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getTimelineEventResponse_httpStatus' - The response's http status code.+--+-- 'event', 'getTimelineEventResponse_event' - Details about the timeline event.+newGetTimelineEventResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'event'+  TimelineEvent ->+  GetTimelineEventResponse+newGetTimelineEventResponse pHttpStatus_ pEvent_ =+  GetTimelineEventResponse'+    { httpStatus =+        pHttpStatus_,+      event = pEvent_+    }++-- | The response's http status code.+getTimelineEventResponse_httpStatus :: Lens.Lens' GetTimelineEventResponse Prelude.Int+getTimelineEventResponse_httpStatus = Lens.lens (\GetTimelineEventResponse' {httpStatus} -> httpStatus) (\s@GetTimelineEventResponse' {} a -> s {httpStatus = a} :: GetTimelineEventResponse)++-- | Details about the timeline event.+getTimelineEventResponse_event :: Lens.Lens' GetTimelineEventResponse TimelineEvent+getTimelineEventResponse_event = Lens.lens (\GetTimelineEventResponse' {event} -> event) (\s@GetTimelineEventResponse' {} a -> s {event = a} :: GetTimelineEventResponse)++instance Prelude.NFData GetTimelineEventResponse where+  rnf GetTimelineEventResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf event
+ gen/Amazonka/SSMIncidents/Lens.hs view
@@ -0,0 +1,479 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Lens+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Lens+  ( -- * Operations++    -- ** CreateReplicationSet+    createReplicationSet_clientToken,+    createReplicationSet_tags,+    createReplicationSet_regions,+    createReplicationSetResponse_httpStatus,+    createReplicationSetResponse_arn,++    -- ** CreateResponsePlan+    createResponsePlan_actions,+    createResponsePlan_chatChannel,+    createResponsePlan_clientToken,+    createResponsePlan_displayName,+    createResponsePlan_engagements,+    createResponsePlan_integrations,+    createResponsePlan_tags,+    createResponsePlan_incidentTemplate,+    createResponsePlan_name,+    createResponsePlanResponse_httpStatus,+    createResponsePlanResponse_arn,++    -- ** CreateTimelineEvent+    createTimelineEvent_clientToken,+    createTimelineEvent_eventReferences,+    createTimelineEvent_eventData,+    createTimelineEvent_eventTime,+    createTimelineEvent_eventType,+    createTimelineEvent_incidentRecordArn,+    createTimelineEventResponse_httpStatus,+    createTimelineEventResponse_eventId,+    createTimelineEventResponse_incidentRecordArn,++    -- ** DeleteIncidentRecord+    deleteIncidentRecord_arn,+    deleteIncidentRecordResponse_httpStatus,++    -- ** DeleteReplicationSet+    deleteReplicationSet_arn,+    deleteReplicationSetResponse_httpStatus,++    -- ** DeleteResourcePolicy+    deleteResourcePolicy_policyId,+    deleteResourcePolicy_resourceArn,+    deleteResourcePolicyResponse_httpStatus,++    -- ** DeleteResponsePlan+    deleteResponsePlan_arn,+    deleteResponsePlanResponse_httpStatus,++    -- ** DeleteTimelineEvent+    deleteTimelineEvent_eventId,+    deleteTimelineEvent_incidentRecordArn,+    deleteTimelineEventResponse_httpStatus,++    -- ** GetIncidentRecord+    getIncidentRecord_arn,+    getIncidentRecordResponse_httpStatus,+    getIncidentRecordResponse_incidentRecord,++    -- ** GetReplicationSet+    getReplicationSet_arn,+    getReplicationSetResponse_httpStatus,+    getReplicationSetResponse_replicationSet,++    -- ** GetResourcePolicies+    getResourcePolicies_maxResults,+    getResourcePolicies_nextToken,+    getResourcePolicies_resourceArn,+    getResourcePoliciesResponse_nextToken,+    getResourcePoliciesResponse_httpStatus,+    getResourcePoliciesResponse_resourcePolicies,++    -- ** GetResponsePlan+    getResponsePlan_arn,+    getResponsePlanResponse_actions,+    getResponsePlanResponse_chatChannel,+    getResponsePlanResponse_displayName,+    getResponsePlanResponse_engagements,+    getResponsePlanResponse_integrations,+    getResponsePlanResponse_httpStatus,+    getResponsePlanResponse_arn,+    getResponsePlanResponse_incidentTemplate,+    getResponsePlanResponse_name,++    -- ** GetTimelineEvent+    getTimelineEvent_eventId,+    getTimelineEvent_incidentRecordArn,+    getTimelineEventResponse_httpStatus,+    getTimelineEventResponse_event,++    -- ** ListIncidentRecords+    listIncidentRecords_filters,+    listIncidentRecords_maxResults,+    listIncidentRecords_nextToken,+    listIncidentRecordsResponse_nextToken,+    listIncidentRecordsResponse_httpStatus,+    listIncidentRecordsResponse_incidentRecordSummaries,++    -- ** ListRelatedItems+    listRelatedItems_maxResults,+    listRelatedItems_nextToken,+    listRelatedItems_incidentRecordArn,+    listRelatedItemsResponse_nextToken,+    listRelatedItemsResponse_httpStatus,+    listRelatedItemsResponse_relatedItems,++    -- ** ListReplicationSets+    listReplicationSets_maxResults,+    listReplicationSets_nextToken,+    listReplicationSetsResponse_nextToken,+    listReplicationSetsResponse_httpStatus,+    listReplicationSetsResponse_replicationSetArns,++    -- ** ListResponsePlans+    listResponsePlans_maxResults,+    listResponsePlans_nextToken,+    listResponsePlansResponse_nextToken,+    listResponsePlansResponse_httpStatus,+    listResponsePlansResponse_responsePlanSummaries,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_httpStatus,+    listTagsForResourceResponse_tags,++    -- ** ListTimelineEvents+    listTimelineEvents_filters,+    listTimelineEvents_maxResults,+    listTimelineEvents_nextToken,+    listTimelineEvents_sortBy,+    listTimelineEvents_sortOrder,+    listTimelineEvents_incidentRecordArn,+    listTimelineEventsResponse_nextToken,+    listTimelineEventsResponse_httpStatus,+    listTimelineEventsResponse_eventSummaries,++    -- ** PutResourcePolicy+    putResourcePolicy_policy,+    putResourcePolicy_resourceArn,+    putResourcePolicyResponse_httpStatus,+    putResourcePolicyResponse_policyId,++    -- ** StartIncident+    startIncident_clientToken,+    startIncident_impact,+    startIncident_relatedItems,+    startIncident_title,+    startIncident_triggerDetails,+    startIncident_responsePlanArn,+    startIncidentResponse_httpStatus,+    startIncidentResponse_incidentRecordArn,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateDeletionProtection+    updateDeletionProtection_clientToken,+    updateDeletionProtection_arn,+    updateDeletionProtection_deletionProtected,+    updateDeletionProtectionResponse_httpStatus,++    -- ** UpdateIncidentRecord+    updateIncidentRecord_chatChannel,+    updateIncidentRecord_clientToken,+    updateIncidentRecord_impact,+    updateIncidentRecord_notificationTargets,+    updateIncidentRecord_status,+    updateIncidentRecord_summary,+    updateIncidentRecord_title,+    updateIncidentRecord_arn,+    updateIncidentRecordResponse_httpStatus,++    -- ** UpdateRelatedItems+    updateRelatedItems_clientToken,+    updateRelatedItems_incidentRecordArn,+    updateRelatedItems_relatedItemsUpdate,+    updateRelatedItemsResponse_httpStatus,++    -- ** UpdateReplicationSet+    updateReplicationSet_clientToken,+    updateReplicationSet_actions,+    updateReplicationSet_arn,+    updateReplicationSetResponse_httpStatus,++    -- ** UpdateResponsePlan+    updateResponsePlan_actions,+    updateResponsePlan_chatChannel,+    updateResponsePlan_clientToken,+    updateResponsePlan_displayName,+    updateResponsePlan_engagements,+    updateResponsePlan_incidentTemplateDedupeString,+    updateResponsePlan_incidentTemplateImpact,+    updateResponsePlan_incidentTemplateNotificationTargets,+    updateResponsePlan_incidentTemplateSummary,+    updateResponsePlan_incidentTemplateTags,+    updateResponsePlan_incidentTemplateTitle,+    updateResponsePlan_integrations,+    updateResponsePlan_arn,+    updateResponsePlanResponse_httpStatus,++    -- ** UpdateTimelineEvent+    updateTimelineEvent_clientToken,+    updateTimelineEvent_eventData,+    updateTimelineEvent_eventReferences,+    updateTimelineEvent_eventTime,+    updateTimelineEvent_eventType,+    updateTimelineEvent_eventId,+    updateTimelineEvent_incidentRecordArn,+    updateTimelineEventResponse_httpStatus,++    -- * Types++    -- ** Action+    action_ssmAutomation,++    -- ** AddRegionAction+    addRegionAction_sseKmsKeyId,+    addRegionAction_regionName,++    -- ** AttributeValueList+    attributeValueList_integerValues,+    attributeValueList_stringValues,++    -- ** AutomationExecution+    automationExecution_ssmExecutionArn,++    -- ** ChatChannel+    chatChannel_chatbotSns,+    chatChannel_empty,++    -- ** Condition+    condition_after,+    condition_before,+    condition_equals,++    -- ** DeleteRegionAction+    deleteRegionAction_regionName,++    -- ** DynamicSsmParameterValue+    dynamicSsmParameterValue_variable,++    -- ** EmptyChatChannel++    -- ** EventReference+    eventReference_relatedItemId,+    eventReference_resource,++    -- ** EventSummary+    eventSummary_eventReferences,+    eventSummary_eventId,+    eventSummary_eventTime,+    eventSummary_eventType,+    eventSummary_eventUpdatedTime,+    eventSummary_incidentRecordArn,++    -- ** Filter+    filter_condition,+    filter_key,++    -- ** IncidentRecord+    incidentRecord_automationExecutions,+    incidentRecord_chatChannel,+    incidentRecord_notificationTargets,+    incidentRecord_resolvedTime,+    incidentRecord_summary,+    incidentRecord_arn,+    incidentRecord_creationTime,+    incidentRecord_dedupeString,+    incidentRecord_impact,+    incidentRecord_incidentRecordSource,+    incidentRecord_lastModifiedBy,+    incidentRecord_lastModifiedTime,+    incidentRecord_status,+    incidentRecord_title,++    -- ** IncidentRecordSource+    incidentRecordSource_invokedBy,+    incidentRecordSource_resourceArn,+    incidentRecordSource_createdBy,+    incidentRecordSource_source,++    -- ** IncidentRecordSummary+    incidentRecordSummary_resolvedTime,+    incidentRecordSummary_arn,+    incidentRecordSummary_creationTime,+    incidentRecordSummary_impact,+    incidentRecordSummary_incidentRecordSource,+    incidentRecordSummary_status,+    incidentRecordSummary_title,++    -- ** IncidentTemplate+    incidentTemplate_dedupeString,+    incidentTemplate_incidentTags,+    incidentTemplate_notificationTargets,+    incidentTemplate_summary,+    incidentTemplate_impact,+    incidentTemplate_title,++    -- ** Integration+    integration_pagerDutyConfiguration,++    -- ** ItemIdentifier+    itemIdentifier_type,+    itemIdentifier_value,++    -- ** ItemValue+    itemValue_arn,+    itemValue_metricDefinition,+    itemValue_pagerDutyIncidentDetail,+    itemValue_url,++    -- ** NotificationTargetItem+    notificationTargetItem_snsTopicArn,++    -- ** PagerDutyConfiguration+    pagerDutyConfiguration_name,+    pagerDutyConfiguration_pagerDutyIncidentConfiguration,+    pagerDutyConfiguration_secretId,++    -- ** PagerDutyIncidentConfiguration+    pagerDutyIncidentConfiguration_serviceId,++    -- ** PagerDutyIncidentDetail+    pagerDutyIncidentDetail_autoResolve,+    pagerDutyIncidentDetail_secretId,+    pagerDutyIncidentDetail_id,++    -- ** RegionInfo+    regionInfo_sseKmsKeyId,+    regionInfo_statusMessage,+    regionInfo_status,+    regionInfo_statusUpdateDateTime,++    -- ** RegionMapInputValue+    regionMapInputValue_sseKmsKeyId,++    -- ** RelatedItem+    relatedItem_generatedId,+    relatedItem_title,+    relatedItem_identifier,++    -- ** RelatedItemsUpdate+    relatedItemsUpdate_itemToAdd,+    relatedItemsUpdate_itemToRemove,++    -- ** ReplicationSet+    replicationSet_arn,+    replicationSet_createdBy,+    replicationSet_createdTime,+    replicationSet_deletionProtected,+    replicationSet_lastModifiedBy,+    replicationSet_lastModifiedTime,+    replicationSet_regionMap,+    replicationSet_status,++    -- ** ResourcePolicy+    resourcePolicy_policyDocument,+    resourcePolicy_policyId,+    resourcePolicy_ramResourceShareRegion,++    -- ** ResponsePlanSummary+    responsePlanSummary_displayName,+    responsePlanSummary_arn,+    responsePlanSummary_name,++    -- ** SsmAutomation+    ssmAutomation_documentVersion,+    ssmAutomation_dynamicParameters,+    ssmAutomation_parameters,+    ssmAutomation_targetAccount,+    ssmAutomation_documentName,+    ssmAutomation_roleArn,++    -- ** TimelineEvent+    timelineEvent_eventReferences,+    timelineEvent_eventData,+    timelineEvent_eventId,+    timelineEvent_eventTime,+    timelineEvent_eventType,+    timelineEvent_eventUpdatedTime,+    timelineEvent_incidentRecordArn,++    -- ** TriggerDetails+    triggerDetails_rawData,+    triggerDetails_triggerArn,+    triggerDetails_source,+    triggerDetails_timestamp,++    -- ** UpdateReplicationSetAction+    updateReplicationSetAction_addRegionAction,+    updateReplicationSetAction_deleteRegionAction,+  )+where++import Amazonka.SSMIncidents.CreateReplicationSet+import Amazonka.SSMIncidents.CreateResponsePlan+import Amazonka.SSMIncidents.CreateTimelineEvent+import Amazonka.SSMIncidents.DeleteIncidentRecord+import Amazonka.SSMIncidents.DeleteReplicationSet+import Amazonka.SSMIncidents.DeleteResourcePolicy+import Amazonka.SSMIncidents.DeleteResponsePlan+import Amazonka.SSMIncidents.DeleteTimelineEvent+import Amazonka.SSMIncidents.GetIncidentRecord+import Amazonka.SSMIncidents.GetReplicationSet+import Amazonka.SSMIncidents.GetResourcePolicies+import Amazonka.SSMIncidents.GetResponsePlan+import Amazonka.SSMIncidents.GetTimelineEvent+import Amazonka.SSMIncidents.ListIncidentRecords+import Amazonka.SSMIncidents.ListRelatedItems+import Amazonka.SSMIncidents.ListReplicationSets+import Amazonka.SSMIncidents.ListResponsePlans+import Amazonka.SSMIncidents.ListTagsForResource+import Amazonka.SSMIncidents.ListTimelineEvents+import Amazonka.SSMIncidents.PutResourcePolicy+import Amazonka.SSMIncidents.StartIncident+import Amazonka.SSMIncidents.TagResource+import Amazonka.SSMIncidents.Types.Action+import Amazonka.SSMIncidents.Types.AddRegionAction+import Amazonka.SSMIncidents.Types.AttributeValueList+import Amazonka.SSMIncidents.Types.AutomationExecution+import Amazonka.SSMIncidents.Types.ChatChannel+import Amazonka.SSMIncidents.Types.Condition+import Amazonka.SSMIncidents.Types.DeleteRegionAction+import Amazonka.SSMIncidents.Types.DynamicSsmParameterValue+import Amazonka.SSMIncidents.Types.EmptyChatChannel+import Amazonka.SSMIncidents.Types.EventReference+import Amazonka.SSMIncidents.Types.EventSummary+import Amazonka.SSMIncidents.Types.Filter+import Amazonka.SSMIncidents.Types.IncidentRecord+import Amazonka.SSMIncidents.Types.IncidentRecordSource+import Amazonka.SSMIncidents.Types.IncidentRecordSummary+import Amazonka.SSMIncidents.Types.IncidentTemplate+import Amazonka.SSMIncidents.Types.Integration+import Amazonka.SSMIncidents.Types.ItemIdentifier+import Amazonka.SSMIncidents.Types.ItemValue+import Amazonka.SSMIncidents.Types.NotificationTargetItem+import Amazonka.SSMIncidents.Types.PagerDutyConfiguration+import Amazonka.SSMIncidents.Types.PagerDutyIncidentConfiguration+import Amazonka.SSMIncidents.Types.PagerDutyIncidentDetail+import Amazonka.SSMIncidents.Types.RegionInfo+import Amazonka.SSMIncidents.Types.RegionMapInputValue+import Amazonka.SSMIncidents.Types.RelatedItem+import Amazonka.SSMIncidents.Types.RelatedItemsUpdate+import Amazonka.SSMIncidents.Types.ReplicationSet+import Amazonka.SSMIncidents.Types.ResourcePolicy+import Amazonka.SSMIncidents.Types.ResponsePlanSummary+import Amazonka.SSMIncidents.Types.SsmAutomation+import Amazonka.SSMIncidents.Types.TimelineEvent+import Amazonka.SSMIncidents.Types.TriggerDetails+import Amazonka.SSMIncidents.Types.UpdateReplicationSetAction+import Amazonka.SSMIncidents.UntagResource+import Amazonka.SSMIncidents.UpdateDeletionProtection+import Amazonka.SSMIncidents.UpdateIncidentRecord+import Amazonka.SSMIncidents.UpdateRelatedItems+import Amazonka.SSMIncidents.UpdateReplicationSet+import Amazonka.SSMIncidents.UpdateResponsePlan+import Amazonka.SSMIncidents.UpdateTimelineEvent
+ gen/Amazonka/SSMIncidents/ListIncidentRecords.hs view
@@ -0,0 +1,293 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.ListIncidentRecords+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all incident records in your account. Use this command to retrieve+-- the Amazon Resource Name (ARN) of the incident record you want to+-- update.+--+-- This operation returns paginated results.+module Amazonka.SSMIncidents.ListIncidentRecords+  ( -- * Creating a Request+    ListIncidentRecords (..),+    newListIncidentRecords,++    -- * Request Lenses+    listIncidentRecords_filters,+    listIncidentRecords_maxResults,+    listIncidentRecords_nextToken,++    -- * Destructuring the Response+    ListIncidentRecordsResponse (..),+    newListIncidentRecordsResponse,++    -- * Response Lenses+    listIncidentRecordsResponse_nextToken,+    listIncidentRecordsResponse_httpStatus,+    listIncidentRecordsResponse_incidentRecordSummaries,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newListIncidentRecords' smart constructor.+data ListIncidentRecords = ListIncidentRecords'+  { -- | Filters the list of incident records through which you are searching.+    -- You can filter on the following keys:+    --+    -- -   @creationTime@+    --+    -- -   @impact@+    --+    -- -   @status@+    --+    -- -   @createdBy@+    --+    -- Note the following when deciding how to use Filters:+    --+    -- -   If you don\'t specify a Filter, the response includes all incident+    --     records.+    --+    -- -   If you specify more than one filter in a single request, the+    --     response returns incident records that match all filters.+    --+    -- -   If you specify a filter with more than one value, the response+    --     returns incident records that match any of the values provided.+    filters :: Prelude.Maybe [Filter],+    -- | The maximum number of results per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token to continue to the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListIncidentRecords' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listIncidentRecords_filters' - Filters the list of incident records through which you are searching.+-- You can filter on the following keys:+--+-- -   @creationTime@+--+-- -   @impact@+--+-- -   @status@+--+-- -   @createdBy@+--+-- Note the following when deciding how to use Filters:+--+-- -   If you don\'t specify a Filter, the response includes all incident+--     records.+--+-- -   If you specify more than one filter in a single request, the+--     response returns incident records that match all filters.+--+-- -   If you specify a filter with more than one value, the response+--     returns incident records that match any of the values provided.+--+-- 'maxResults', 'listIncidentRecords_maxResults' - The maximum number of results per page.+--+-- 'nextToken', 'listIncidentRecords_nextToken' - The pagination token to continue to the next page of results.+newListIncidentRecords ::+  ListIncidentRecords+newListIncidentRecords =+  ListIncidentRecords'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | Filters the list of incident records through which you are searching.+-- You can filter on the following keys:+--+-- -   @creationTime@+--+-- -   @impact@+--+-- -   @status@+--+-- -   @createdBy@+--+-- Note the following when deciding how to use Filters:+--+-- -   If you don\'t specify a Filter, the response includes all incident+--     records.+--+-- -   If you specify more than one filter in a single request, the+--     response returns incident records that match all filters.+--+-- -   If you specify a filter with more than one value, the response+--     returns incident records that match any of the values provided.+listIncidentRecords_filters :: Lens.Lens' ListIncidentRecords (Prelude.Maybe [Filter])+listIncidentRecords_filters = Lens.lens (\ListIncidentRecords' {filters} -> filters) (\s@ListIncidentRecords' {} a -> s {filters = a} :: ListIncidentRecords) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results per page.+listIncidentRecords_maxResults :: Lens.Lens' ListIncidentRecords (Prelude.Maybe Prelude.Natural)+listIncidentRecords_maxResults = Lens.lens (\ListIncidentRecords' {maxResults} -> maxResults) (\s@ListIncidentRecords' {} a -> s {maxResults = a} :: ListIncidentRecords)++-- | The pagination token to continue to the next page of results.+listIncidentRecords_nextToken :: Lens.Lens' ListIncidentRecords (Prelude.Maybe Prelude.Text)+listIncidentRecords_nextToken = Lens.lens (\ListIncidentRecords' {nextToken} -> nextToken) (\s@ListIncidentRecords' {} a -> s {nextToken = a} :: ListIncidentRecords)++instance Core.AWSPager ListIncidentRecords where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listIncidentRecordsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listIncidentRecordsResponse_incidentRecordSummaries+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listIncidentRecords_nextToken+          Lens..~ rs+          Lens.^? listIncidentRecordsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListIncidentRecords where+  type+    AWSResponse ListIncidentRecords =+      ListIncidentRecordsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListIncidentRecordsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "incidentRecordSummaries"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListIncidentRecords where+  hashWithSalt _salt ListIncidentRecords' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListIncidentRecords where+  rnf ListIncidentRecords' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListIncidentRecords where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListIncidentRecords where+  toJSON ListIncidentRecords' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("filters" Data..=) Prelude.<$> filters,+            ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListIncidentRecords where+  toPath = Prelude.const "/listIncidentRecords"++instance Data.ToQuery ListIncidentRecords where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListIncidentRecordsResponse' smart constructor.+data ListIncidentRecordsResponse = ListIncidentRecordsResponse'+  { -- | The pagination token to continue to the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The details of each listed incident record.+    incidentRecordSummaries :: [IncidentRecordSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListIncidentRecordsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listIncidentRecordsResponse_nextToken' - The pagination token to continue to the next page of results.+--+-- 'httpStatus', 'listIncidentRecordsResponse_httpStatus' - The response's http status code.+--+-- 'incidentRecordSummaries', 'listIncidentRecordsResponse_incidentRecordSummaries' - The details of each listed incident record.+newListIncidentRecordsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListIncidentRecordsResponse+newListIncidentRecordsResponse pHttpStatus_ =+  ListIncidentRecordsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      incidentRecordSummaries = Prelude.mempty+    }++-- | The pagination token to continue to the next page of results.+listIncidentRecordsResponse_nextToken :: Lens.Lens' ListIncidentRecordsResponse (Prelude.Maybe Prelude.Text)+listIncidentRecordsResponse_nextToken = Lens.lens (\ListIncidentRecordsResponse' {nextToken} -> nextToken) (\s@ListIncidentRecordsResponse' {} a -> s {nextToken = a} :: ListIncidentRecordsResponse)++-- | The response's http status code.+listIncidentRecordsResponse_httpStatus :: Lens.Lens' ListIncidentRecordsResponse Prelude.Int+listIncidentRecordsResponse_httpStatus = Lens.lens (\ListIncidentRecordsResponse' {httpStatus} -> httpStatus) (\s@ListIncidentRecordsResponse' {} a -> s {httpStatus = a} :: ListIncidentRecordsResponse)++-- | The details of each listed incident record.+listIncidentRecordsResponse_incidentRecordSummaries :: Lens.Lens' ListIncidentRecordsResponse [IncidentRecordSummary]+listIncidentRecordsResponse_incidentRecordSummaries = Lens.lens (\ListIncidentRecordsResponse' {incidentRecordSummaries} -> incidentRecordSummaries) (\s@ListIncidentRecordsResponse' {} a -> s {incidentRecordSummaries = a} :: ListIncidentRecordsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListIncidentRecordsResponse where+  rnf ListIncidentRecordsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf incidentRecordSummaries
+ gen/Amazonka/SSMIncidents/ListRelatedItems.hs view
@@ -0,0 +1,232 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.ListRelatedItems+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all related items for an incident record.+--+-- This operation returns paginated results.+module Amazonka.SSMIncidents.ListRelatedItems+  ( -- * Creating a Request+    ListRelatedItems (..),+    newListRelatedItems,++    -- * Request Lenses+    listRelatedItems_maxResults,+    listRelatedItems_nextToken,+    listRelatedItems_incidentRecordArn,++    -- * Destructuring the Response+    ListRelatedItemsResponse (..),+    newListRelatedItemsResponse,++    -- * Response Lenses+    listRelatedItemsResponse_nextToken,+    listRelatedItemsResponse_httpStatus,+    listRelatedItemsResponse_relatedItems,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newListRelatedItems' smart constructor.+data ListRelatedItems = ListRelatedItems'+  { -- | The maximum number of related items per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token to continue to the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the incident record containing the+    -- listed related items.+    incidentRecordArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRelatedItems' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listRelatedItems_maxResults' - The maximum number of related items per page.+--+-- 'nextToken', 'listRelatedItems_nextToken' - The pagination token to continue to the next page of results.+--+-- 'incidentRecordArn', 'listRelatedItems_incidentRecordArn' - The Amazon Resource Name (ARN) of the incident record containing the+-- listed related items.+newListRelatedItems ::+  -- | 'incidentRecordArn'+  Prelude.Text ->+  ListRelatedItems+newListRelatedItems pIncidentRecordArn_ =+  ListRelatedItems'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      incidentRecordArn = pIncidentRecordArn_+    }++-- | The maximum number of related items per page.+listRelatedItems_maxResults :: Lens.Lens' ListRelatedItems (Prelude.Maybe Prelude.Natural)+listRelatedItems_maxResults = Lens.lens (\ListRelatedItems' {maxResults} -> maxResults) (\s@ListRelatedItems' {} a -> s {maxResults = a} :: ListRelatedItems)++-- | The pagination token to continue to the next page of results.+listRelatedItems_nextToken :: Lens.Lens' ListRelatedItems (Prelude.Maybe Prelude.Text)+listRelatedItems_nextToken = Lens.lens (\ListRelatedItems' {nextToken} -> nextToken) (\s@ListRelatedItems' {} a -> s {nextToken = a} :: ListRelatedItems)++-- | The Amazon Resource Name (ARN) of the incident record containing the+-- listed related items.+listRelatedItems_incidentRecordArn :: Lens.Lens' ListRelatedItems Prelude.Text+listRelatedItems_incidentRecordArn = Lens.lens (\ListRelatedItems' {incidentRecordArn} -> incidentRecordArn) (\s@ListRelatedItems' {} a -> s {incidentRecordArn = a} :: ListRelatedItems)++instance Core.AWSPager ListRelatedItems where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listRelatedItemsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        (rs Lens.^. listRelatedItemsResponse_relatedItems) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listRelatedItems_nextToken+          Lens..~ rs+          Lens.^? listRelatedItemsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListRelatedItems where+  type+    AWSResponse ListRelatedItems =+      ListRelatedItemsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListRelatedItemsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "relatedItems" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable ListRelatedItems where+  hashWithSalt _salt ListRelatedItems' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` incidentRecordArn++instance Prelude.NFData ListRelatedItems where+  rnf ListRelatedItems' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf incidentRecordArn++instance Data.ToHeaders ListRelatedItems where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListRelatedItems where+  toJSON ListRelatedItems' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken,+            Prelude.Just+              ("incidentRecordArn" Data..= incidentRecordArn)+          ]+      )++instance Data.ToPath ListRelatedItems where+  toPath = Prelude.const "/listRelatedItems"++instance Data.ToQuery ListRelatedItems where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListRelatedItemsResponse' smart constructor.+data ListRelatedItemsResponse = ListRelatedItemsResponse'+  { -- | The pagination token to continue to the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Details about each related item.+    relatedItems :: [RelatedItem]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRelatedItemsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listRelatedItemsResponse_nextToken' - The pagination token to continue to the next page of results.+--+-- 'httpStatus', 'listRelatedItemsResponse_httpStatus' - The response's http status code.+--+-- 'relatedItems', 'listRelatedItemsResponse_relatedItems' - Details about each related item.+newListRelatedItemsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListRelatedItemsResponse+newListRelatedItemsResponse pHttpStatus_ =+  ListRelatedItemsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      relatedItems = Prelude.mempty+    }++-- | The pagination token to continue to the next page of results.+listRelatedItemsResponse_nextToken :: Lens.Lens' ListRelatedItemsResponse (Prelude.Maybe Prelude.Text)+listRelatedItemsResponse_nextToken = Lens.lens (\ListRelatedItemsResponse' {nextToken} -> nextToken) (\s@ListRelatedItemsResponse' {} a -> s {nextToken = a} :: ListRelatedItemsResponse)++-- | The response's http status code.+listRelatedItemsResponse_httpStatus :: Lens.Lens' ListRelatedItemsResponse Prelude.Int+listRelatedItemsResponse_httpStatus = Lens.lens (\ListRelatedItemsResponse' {httpStatus} -> httpStatus) (\s@ListRelatedItemsResponse' {} a -> s {httpStatus = a} :: ListRelatedItemsResponse)++-- | Details about each related item.+listRelatedItemsResponse_relatedItems :: Lens.Lens' ListRelatedItemsResponse [RelatedItem]+listRelatedItemsResponse_relatedItems = Lens.lens (\ListRelatedItemsResponse' {relatedItems} -> relatedItems) (\s@ListRelatedItemsResponse' {} a -> s {relatedItems = a} :: ListRelatedItemsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListRelatedItemsResponse where+  rnf ListRelatedItemsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf relatedItems
+ gen/Amazonka/SSMIncidents/ListReplicationSets.hs view
@@ -0,0 +1,218 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.ListReplicationSets+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists details about the replication set configured in your account.+--+-- This operation returns paginated results.+module Amazonka.SSMIncidents.ListReplicationSets+  ( -- * Creating a Request+    ListReplicationSets (..),+    newListReplicationSets,++    -- * Request Lenses+    listReplicationSets_maxResults,+    listReplicationSets_nextToken,++    -- * Destructuring the Response+    ListReplicationSetsResponse (..),+    newListReplicationSetsResponse,++    -- * Response Lenses+    listReplicationSetsResponse_nextToken,+    listReplicationSetsResponse_httpStatus,+    listReplicationSetsResponse_replicationSetArns,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newListReplicationSets' smart constructor.+data ListReplicationSets = ListReplicationSets'+  { -- | The maximum number of results per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token to continue to the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReplicationSets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listReplicationSets_maxResults' - The maximum number of results per page.+--+-- 'nextToken', 'listReplicationSets_nextToken' - The pagination token to continue to the next page of results.+newListReplicationSets ::+  ListReplicationSets+newListReplicationSets =+  ListReplicationSets'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results per page.+listReplicationSets_maxResults :: Lens.Lens' ListReplicationSets (Prelude.Maybe Prelude.Natural)+listReplicationSets_maxResults = Lens.lens (\ListReplicationSets' {maxResults} -> maxResults) (\s@ListReplicationSets' {} a -> s {maxResults = a} :: ListReplicationSets)++-- | The pagination token to continue to the next page of results.+listReplicationSets_nextToken :: Lens.Lens' ListReplicationSets (Prelude.Maybe Prelude.Text)+listReplicationSets_nextToken = Lens.lens (\ListReplicationSets' {nextToken} -> nextToken) (\s@ListReplicationSets' {} a -> s {nextToken = a} :: ListReplicationSets)++instance Core.AWSPager ListReplicationSets where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listReplicationSetsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listReplicationSetsResponse_replicationSetArns+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listReplicationSets_nextToken+          Lens..~ rs+          Lens.^? listReplicationSetsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListReplicationSets where+  type+    AWSResponse ListReplicationSets =+      ListReplicationSetsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListReplicationSetsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "replicationSetArns"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListReplicationSets where+  hashWithSalt _salt ListReplicationSets' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListReplicationSets where+  rnf ListReplicationSets' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListReplicationSets where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListReplicationSets where+  toJSON ListReplicationSets' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListReplicationSets where+  toPath = Prelude.const "/listReplicationSets"++instance Data.ToQuery ListReplicationSets where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListReplicationSetsResponse' smart constructor.+data ListReplicationSetsResponse = ListReplicationSetsResponse'+  { -- | The pagination token to continue to the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The Amazon Resource Name (ARN) of the list replication set.+    replicationSetArns :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReplicationSetsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listReplicationSetsResponse_nextToken' - The pagination token to continue to the next page of results.+--+-- 'httpStatus', 'listReplicationSetsResponse_httpStatus' - The response's http status code.+--+-- 'replicationSetArns', 'listReplicationSetsResponse_replicationSetArns' - The Amazon Resource Name (ARN) of the list replication set.+newListReplicationSetsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListReplicationSetsResponse+newListReplicationSetsResponse pHttpStatus_ =+  ListReplicationSetsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      replicationSetArns = Prelude.mempty+    }++-- | The pagination token to continue to the next page of results.+listReplicationSetsResponse_nextToken :: Lens.Lens' ListReplicationSetsResponse (Prelude.Maybe Prelude.Text)+listReplicationSetsResponse_nextToken = Lens.lens (\ListReplicationSetsResponse' {nextToken} -> nextToken) (\s@ListReplicationSetsResponse' {} a -> s {nextToken = a} :: ListReplicationSetsResponse)++-- | The response's http status code.+listReplicationSetsResponse_httpStatus :: Lens.Lens' ListReplicationSetsResponse Prelude.Int+listReplicationSetsResponse_httpStatus = Lens.lens (\ListReplicationSetsResponse' {httpStatus} -> httpStatus) (\s@ListReplicationSetsResponse' {} a -> s {httpStatus = a} :: ListReplicationSetsResponse)++-- | The Amazon Resource Name (ARN) of the list replication set.+listReplicationSetsResponse_replicationSetArns :: Lens.Lens' ListReplicationSetsResponse [Prelude.Text]+listReplicationSetsResponse_replicationSetArns = Lens.lens (\ListReplicationSetsResponse' {replicationSetArns} -> replicationSetArns) (\s@ListReplicationSetsResponse' {} a -> s {replicationSetArns = a} :: ListReplicationSetsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListReplicationSetsResponse where+  rnf ListReplicationSetsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf replicationSetArns
+ gen/Amazonka/SSMIncidents/ListResponsePlans.hs view
@@ -0,0 +1,218 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.ListResponsePlans+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all response plans in your account.+--+-- This operation returns paginated results.+module Amazonka.SSMIncidents.ListResponsePlans+  ( -- * Creating a Request+    ListResponsePlans (..),+    newListResponsePlans,++    -- * Request Lenses+    listResponsePlans_maxResults,+    listResponsePlans_nextToken,++    -- * Destructuring the Response+    ListResponsePlansResponse (..),+    newListResponsePlansResponse,++    -- * Response Lenses+    listResponsePlansResponse_nextToken,+    listResponsePlansResponse_httpStatus,+    listResponsePlansResponse_responsePlanSummaries,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newListResponsePlans' smart constructor.+data ListResponsePlans = ListResponsePlans'+  { -- | The maximum number of response plans per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token to continue to the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResponsePlans' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maxResults', 'listResponsePlans_maxResults' - The maximum number of response plans per page.+--+-- 'nextToken', 'listResponsePlans_nextToken' - The pagination token to continue to the next page of results.+newListResponsePlans ::+  ListResponsePlans+newListResponsePlans =+  ListResponsePlans'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of response plans per page.+listResponsePlans_maxResults :: Lens.Lens' ListResponsePlans (Prelude.Maybe Prelude.Natural)+listResponsePlans_maxResults = Lens.lens (\ListResponsePlans' {maxResults} -> maxResults) (\s@ListResponsePlans' {} a -> s {maxResults = a} :: ListResponsePlans)++-- | The pagination token to continue to the next page of results.+listResponsePlans_nextToken :: Lens.Lens' ListResponsePlans (Prelude.Maybe Prelude.Text)+listResponsePlans_nextToken = Lens.lens (\ListResponsePlans' {nextToken} -> nextToken) (\s@ListResponsePlans' {} a -> s {nextToken = a} :: ListResponsePlans)++instance Core.AWSPager ListResponsePlans where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listResponsePlansResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listResponsePlansResponse_responsePlanSummaries+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listResponsePlans_nextToken+          Lens..~ rs+          Lens.^? listResponsePlansResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListResponsePlans where+  type+    AWSResponse ListResponsePlans =+      ListResponsePlansResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListResponsePlansResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "responsePlanSummaries"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListResponsePlans where+  hashWithSalt _salt ListResponsePlans' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListResponsePlans where+  rnf ListResponsePlans' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListResponsePlans where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListResponsePlans where+  toJSON ListResponsePlans' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken+          ]+      )++instance Data.ToPath ListResponsePlans where+  toPath = Prelude.const "/listResponsePlans"++instance Data.ToQuery ListResponsePlans where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListResponsePlansResponse' smart constructor.+data ListResponsePlansResponse = ListResponsePlansResponse'+  { -- | The pagination token to continue to the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Details of each response plan.+    responsePlanSummaries :: [ResponsePlanSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListResponsePlansResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listResponsePlansResponse_nextToken' - The pagination token to continue to the next page of results.+--+-- 'httpStatus', 'listResponsePlansResponse_httpStatus' - The response's http status code.+--+-- 'responsePlanSummaries', 'listResponsePlansResponse_responsePlanSummaries' - Details of each response plan.+newListResponsePlansResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListResponsePlansResponse+newListResponsePlansResponse pHttpStatus_ =+  ListResponsePlansResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      responsePlanSummaries = Prelude.mempty+    }++-- | The pagination token to continue to the next page of results.+listResponsePlansResponse_nextToken :: Lens.Lens' ListResponsePlansResponse (Prelude.Maybe Prelude.Text)+listResponsePlansResponse_nextToken = Lens.lens (\ListResponsePlansResponse' {nextToken} -> nextToken) (\s@ListResponsePlansResponse' {} a -> s {nextToken = a} :: ListResponsePlansResponse)++-- | The response's http status code.+listResponsePlansResponse_httpStatus :: Lens.Lens' ListResponsePlansResponse Prelude.Int+listResponsePlansResponse_httpStatus = Lens.lens (\ListResponsePlansResponse' {httpStatus} -> httpStatus) (\s@ListResponsePlansResponse' {} a -> s {httpStatus = a} :: ListResponsePlansResponse)++-- | Details of each response plan.+listResponsePlansResponse_responsePlanSummaries :: Lens.Lens' ListResponsePlansResponse [ResponsePlanSummary]+listResponsePlansResponse_responsePlanSummaries = Lens.lens (\ListResponsePlansResponse' {responsePlanSummaries} -> responsePlanSummaries) (\s@ListResponsePlansResponse' {} a -> s {responsePlanSummaries = a} :: ListResponsePlansResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListResponsePlansResponse where+  rnf ListResponsePlansResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf responsePlanSummaries
+ gen/Amazonka/SSMIncidents/ListTagsForResource.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the tags that are attached to the specified response plan.+module Amazonka.SSMIncidents.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_httpStatus,+    listTagsForResourceResponse_tags,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) of the response plan.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) of the response plan.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the response plan.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTagsForResource where+  toPath ListTagsForResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A list of tags for the response plan.+    tags :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+--+-- 'tags', 'listTagsForResourceResponse_tags' - A list of tags for the response plan.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { httpStatus =+        pHttpStatus_,+      tags = Prelude.mempty+    }++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++-- | A list of tags for the response plan.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.HashMap Prelude.Text Prelude.Text)+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/SSMIncidents/ListTimelineEvents.hs view
@@ -0,0 +1,327 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.ListTimelineEvents+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists timeline events for the specified incident record.+--+-- This operation returns paginated results.+module Amazonka.SSMIncidents.ListTimelineEvents+  ( -- * Creating a Request+    ListTimelineEvents (..),+    newListTimelineEvents,++    -- * Request Lenses+    listTimelineEvents_filters,+    listTimelineEvents_maxResults,+    listTimelineEvents_nextToken,+    listTimelineEvents_sortBy,+    listTimelineEvents_sortOrder,+    listTimelineEvents_incidentRecordArn,++    -- * Destructuring the Response+    ListTimelineEventsResponse (..),+    newListTimelineEventsResponse,++    -- * Response Lenses+    listTimelineEventsResponse_nextToken,+    listTimelineEventsResponse_httpStatus,+    listTimelineEventsResponse_eventSummaries,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newListTimelineEvents' smart constructor.+data ListTimelineEvents = ListTimelineEvents'+  { -- | Filters the timeline events based on the provided conditional values.+    -- You can filter timeline events using the following keys:+    --+    -- -   @eventTime@+    --+    -- -   @eventType@+    --+    -- Note the following when deciding how to use Filters:+    --+    -- -   If you don\'t specify a Filter, the response includes all timeline+    --     events.+    --+    -- -   If you specify more than one filter in a single request, the+    --     response returns timeline events that match all filters.+    --+    -- -   If you specify a filter with more than one value, the response+    --     returns timeline events that match any of the values provided.+    filters :: Prelude.Maybe [Filter],+    -- | The maximum number of results per page.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token to continue to the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Sort by the specified key value pair.+    sortBy :: Prelude.Maybe TimelineEventSort,+    -- | Sorts the order of timeline events by the value specified in the+    -- @sortBy@ field.+    sortOrder :: Prelude.Maybe SortOrder,+    -- | The Amazon Resource Name (ARN) of the incident that includes the+    -- timeline event.+    incidentRecordArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTimelineEvents' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filters', 'listTimelineEvents_filters' - Filters the timeline events based on the provided conditional values.+-- You can filter timeline events using the following keys:+--+-- -   @eventTime@+--+-- -   @eventType@+--+-- Note the following when deciding how to use Filters:+--+-- -   If you don\'t specify a Filter, the response includes all timeline+--     events.+--+-- -   If you specify more than one filter in a single request, the+--     response returns timeline events that match all filters.+--+-- -   If you specify a filter with more than one value, the response+--     returns timeline events that match any of the values provided.+--+-- 'maxResults', 'listTimelineEvents_maxResults' - The maximum number of results per page.+--+-- 'nextToken', 'listTimelineEvents_nextToken' - The pagination token to continue to the next page of results.+--+-- 'sortBy', 'listTimelineEvents_sortBy' - Sort by the specified key value pair.+--+-- 'sortOrder', 'listTimelineEvents_sortOrder' - Sorts the order of timeline events by the value specified in the+-- @sortBy@ field.+--+-- 'incidentRecordArn', 'listTimelineEvents_incidentRecordArn' - The Amazon Resource Name (ARN) of the incident that includes the+-- timeline event.+newListTimelineEvents ::+  -- | 'incidentRecordArn'+  Prelude.Text ->+  ListTimelineEvents+newListTimelineEvents pIncidentRecordArn_ =+  ListTimelineEvents'+    { filters = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      sortBy = Prelude.Nothing,+      sortOrder = Prelude.Nothing,+      incidentRecordArn = pIncidentRecordArn_+    }++-- | Filters the timeline events based on the provided conditional values.+-- You can filter timeline events using the following keys:+--+-- -   @eventTime@+--+-- -   @eventType@+--+-- Note the following when deciding how to use Filters:+--+-- -   If you don\'t specify a Filter, the response includes all timeline+--     events.+--+-- -   If you specify more than one filter in a single request, the+--     response returns timeline events that match all filters.+--+-- -   If you specify a filter with more than one value, the response+--     returns timeline events that match any of the values provided.+listTimelineEvents_filters :: Lens.Lens' ListTimelineEvents (Prelude.Maybe [Filter])+listTimelineEvents_filters = Lens.lens (\ListTimelineEvents' {filters} -> filters) (\s@ListTimelineEvents' {} a -> s {filters = a} :: ListTimelineEvents) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results per page.+listTimelineEvents_maxResults :: Lens.Lens' ListTimelineEvents (Prelude.Maybe Prelude.Natural)+listTimelineEvents_maxResults = Lens.lens (\ListTimelineEvents' {maxResults} -> maxResults) (\s@ListTimelineEvents' {} a -> s {maxResults = a} :: ListTimelineEvents)++-- | The pagination token to continue to the next page of results.+listTimelineEvents_nextToken :: Lens.Lens' ListTimelineEvents (Prelude.Maybe Prelude.Text)+listTimelineEvents_nextToken = Lens.lens (\ListTimelineEvents' {nextToken} -> nextToken) (\s@ListTimelineEvents' {} a -> s {nextToken = a} :: ListTimelineEvents)++-- | Sort by the specified key value pair.+listTimelineEvents_sortBy :: Lens.Lens' ListTimelineEvents (Prelude.Maybe TimelineEventSort)+listTimelineEvents_sortBy = Lens.lens (\ListTimelineEvents' {sortBy} -> sortBy) (\s@ListTimelineEvents' {} a -> s {sortBy = a} :: ListTimelineEvents)++-- | Sorts the order of timeline events by the value specified in the+-- @sortBy@ field.+listTimelineEvents_sortOrder :: Lens.Lens' ListTimelineEvents (Prelude.Maybe SortOrder)+listTimelineEvents_sortOrder = Lens.lens (\ListTimelineEvents' {sortOrder} -> sortOrder) (\s@ListTimelineEvents' {} a -> s {sortOrder = a} :: ListTimelineEvents)++-- | The Amazon Resource Name (ARN) of the incident that includes the+-- timeline event.+listTimelineEvents_incidentRecordArn :: Lens.Lens' ListTimelineEvents Prelude.Text+listTimelineEvents_incidentRecordArn = Lens.lens (\ListTimelineEvents' {incidentRecordArn} -> incidentRecordArn) (\s@ListTimelineEvents' {} a -> s {incidentRecordArn = a} :: ListTimelineEvents)++instance Core.AWSPager ListTimelineEvents where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listTimelineEventsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listTimelineEventsResponse_eventSummaries+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listTimelineEvents_nextToken+          Lens..~ rs+          Lens.^? listTimelineEventsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListTimelineEvents where+  type+    AWSResponse ListTimelineEvents =+      ListTimelineEventsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTimelineEventsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "eventSummaries"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListTimelineEvents where+  hashWithSalt _salt ListTimelineEvents' {..} =+    _salt+      `Prelude.hashWithSalt` filters+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` sortBy+      `Prelude.hashWithSalt` sortOrder+      `Prelude.hashWithSalt` incidentRecordArn++instance Prelude.NFData ListTimelineEvents where+  rnf ListTimelineEvents' {..} =+    Prelude.rnf filters+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sortBy+      `Prelude.seq` Prelude.rnf sortOrder+      `Prelude.seq` Prelude.rnf incidentRecordArn++instance Data.ToHeaders ListTimelineEvents where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ListTimelineEvents where+  toJSON ListTimelineEvents' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("filters" Data..=) Prelude.<$> filters,+            ("maxResults" Data..=) Prelude.<$> maxResults,+            ("nextToken" Data..=) Prelude.<$> nextToken,+            ("sortBy" Data..=) Prelude.<$> sortBy,+            ("sortOrder" Data..=) Prelude.<$> sortOrder,+            Prelude.Just+              ("incidentRecordArn" Data..= incidentRecordArn)+          ]+      )++instance Data.ToPath ListTimelineEvents where+  toPath = Prelude.const "/listTimelineEvents"++instance Data.ToQuery ListTimelineEvents where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTimelineEventsResponse' smart constructor.+data ListTimelineEventsResponse = ListTimelineEventsResponse'+  { -- | The pagination token to continue to the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Details about each event that occurred during the incident.+    eventSummaries :: [EventSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTimelineEventsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listTimelineEventsResponse_nextToken' - The pagination token to continue to the next page of results.+--+-- 'httpStatus', 'listTimelineEventsResponse_httpStatus' - The response's http status code.+--+-- 'eventSummaries', 'listTimelineEventsResponse_eventSummaries' - Details about each event that occurred during the incident.+newListTimelineEventsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTimelineEventsResponse+newListTimelineEventsResponse pHttpStatus_ =+  ListTimelineEventsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      eventSummaries = Prelude.mempty+    }++-- | The pagination token to continue to the next page of results.+listTimelineEventsResponse_nextToken :: Lens.Lens' ListTimelineEventsResponse (Prelude.Maybe Prelude.Text)+listTimelineEventsResponse_nextToken = Lens.lens (\ListTimelineEventsResponse' {nextToken} -> nextToken) (\s@ListTimelineEventsResponse' {} a -> s {nextToken = a} :: ListTimelineEventsResponse)++-- | The response's http status code.+listTimelineEventsResponse_httpStatus :: Lens.Lens' ListTimelineEventsResponse Prelude.Int+listTimelineEventsResponse_httpStatus = Lens.lens (\ListTimelineEventsResponse' {httpStatus} -> httpStatus) (\s@ListTimelineEventsResponse' {} a -> s {httpStatus = a} :: ListTimelineEventsResponse)++-- | Details about each event that occurred during the incident.+listTimelineEventsResponse_eventSummaries :: Lens.Lens' ListTimelineEventsResponse [EventSummary]+listTimelineEventsResponse_eventSummaries = Lens.lens (\ListTimelineEventsResponse' {eventSummaries} -> eventSummaries) (\s@ListTimelineEventsResponse' {} a -> s {eventSummaries = a} :: ListTimelineEventsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListTimelineEventsResponse where+  rnf ListTimelineEventsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf eventSummaries
+ gen/Amazonka/SSMIncidents/PutResourcePolicy.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.PutResourcePolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a resource policy to the specified response plan. The resource+-- policy is used to share the response plan using Resource Access Manager+-- (RAM). For more information about cross-account sharing, see+-- <https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-manager-cross-account-cross-region.html Cross-Region and cross-account incident management>.+module Amazonka.SSMIncidents.PutResourcePolicy+  ( -- * Creating a Request+    PutResourcePolicy (..),+    newPutResourcePolicy,++    -- * Request Lenses+    putResourcePolicy_policy,+    putResourcePolicy_resourceArn,++    -- * Destructuring the Response+    PutResourcePolicyResponse (..),+    newPutResourcePolicyResponse,++    -- * Response Lenses+    putResourcePolicyResponse_httpStatus,+    putResourcePolicyResponse_policyId,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newPutResourcePolicy' smart constructor.+data PutResourcePolicy = PutResourcePolicy'+  { -- | Details of the resource policy.+    policy :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the response plan to add the resource+    -- policy to.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutResourcePolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'putResourcePolicy_policy' - Details of the resource policy.+--+-- 'resourceArn', 'putResourcePolicy_resourceArn' - The Amazon Resource Name (ARN) of the response plan to add the resource+-- policy to.+newPutResourcePolicy ::+  -- | 'policy'+  Prelude.Text ->+  -- | 'resourceArn'+  Prelude.Text ->+  PutResourcePolicy+newPutResourcePolicy pPolicy_ pResourceArn_ =+  PutResourcePolicy'+    { policy = pPolicy_,+      resourceArn = pResourceArn_+    }++-- | Details of the resource policy.+putResourcePolicy_policy :: Lens.Lens' PutResourcePolicy Prelude.Text+putResourcePolicy_policy = Lens.lens (\PutResourcePolicy' {policy} -> policy) (\s@PutResourcePolicy' {} a -> s {policy = a} :: PutResourcePolicy)++-- | The Amazon Resource Name (ARN) of the response plan to add the resource+-- policy to.+putResourcePolicy_resourceArn :: Lens.Lens' PutResourcePolicy Prelude.Text+putResourcePolicy_resourceArn = Lens.lens (\PutResourcePolicy' {resourceArn} -> resourceArn) (\s@PutResourcePolicy' {} a -> s {resourceArn = a} :: PutResourcePolicy)++instance Core.AWSRequest PutResourcePolicy where+  type+    AWSResponse PutResourcePolicy =+      PutResourcePolicyResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutResourcePolicyResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "policyId")+      )++instance Prelude.Hashable PutResourcePolicy where+  hashWithSalt _salt PutResourcePolicy' {..} =+    _salt+      `Prelude.hashWithSalt` policy+      `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData PutResourcePolicy where+  rnf PutResourcePolicy' {..} =+    Prelude.rnf policy+      `Prelude.seq` Prelude.rnf resourceArn++instance Data.ToHeaders PutResourcePolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutResourcePolicy where+  toJSON PutResourcePolicy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("policy" Data..= policy),+            Prelude.Just ("resourceArn" Data..= resourceArn)+          ]+      )++instance Data.ToPath PutResourcePolicy where+  toPath = Prelude.const "/putResourcePolicy"++instance Data.ToQuery PutResourcePolicy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutResourcePolicyResponse' smart constructor.+data PutResourcePolicyResponse = PutResourcePolicyResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The ID of the resource policy.+    policyId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutResourcePolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'putResourcePolicyResponse_httpStatus' - The response's http status code.+--+-- 'policyId', 'putResourcePolicyResponse_policyId' - The ID of the resource policy.+newPutResourcePolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'policyId'+  Prelude.Text ->+  PutResourcePolicyResponse+newPutResourcePolicyResponse pHttpStatus_ pPolicyId_ =+  PutResourcePolicyResponse'+    { httpStatus =+        pHttpStatus_,+      policyId = pPolicyId_+    }++-- | The response's http status code.+putResourcePolicyResponse_httpStatus :: Lens.Lens' PutResourcePolicyResponse Prelude.Int+putResourcePolicyResponse_httpStatus = Lens.lens (\PutResourcePolicyResponse' {httpStatus} -> httpStatus) (\s@PutResourcePolicyResponse' {} a -> s {httpStatus = a} :: PutResourcePolicyResponse)++-- | The ID of the resource policy.+putResourcePolicyResponse_policyId :: Lens.Lens' PutResourcePolicyResponse Prelude.Text+putResourcePolicyResponse_policyId = Lens.lens (\PutResourcePolicyResponse' {policyId} -> policyId) (\s@PutResourcePolicyResponse' {} a -> s {policyId = a} :: PutResourcePolicyResponse)++instance Prelude.NFData PutResourcePolicyResponse where+  rnf PutResourcePolicyResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf policyId
+ gen/Amazonka/SSMIncidents/StartIncident.hs view
@@ -0,0 +1,312 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.StartIncident+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Used to start an incident from CloudWatch alarms, EventBridge events, or+-- manually.+module Amazonka.SSMIncidents.StartIncident+  ( -- * Creating a Request+    StartIncident (..),+    newStartIncident,++    -- * Request Lenses+    startIncident_clientToken,+    startIncident_impact,+    startIncident_relatedItems,+    startIncident_title,+    startIncident_triggerDetails,+    startIncident_responsePlanArn,++    -- * Destructuring the Response+    StartIncidentResponse (..),+    newStartIncidentResponse,++    -- * Response Lenses+    startIncidentResponse_httpStatus,+    startIncidentResponse_incidentRecordArn,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newStartIncident' smart constructor.+data StartIncident = StartIncident'+  { -- | A token ensuring that the operation is called only once with the+    -- specified details.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | Defines the impact to the customers. Providing an impact overwrites the+    -- impact provided by a response plan.+    --+    -- __Possible impacts:__+    --+    -- -   @1@ - Critical impact, this typically relates to full application+    --     failure that impacts many to all customers.+    --+    -- -   @2@ - High impact, partial application failure with impact to many+    --     customers.+    --+    -- -   @3@ - Medium impact, the application is providing reduced service to+    --     customers.+    --+    -- -   @4@ - Low impact, customer might aren\'t impacted by the problem+    --     yet.+    --+    -- -   @5@ - No impact, customers aren\'t currently impacted but urgent+    --     action is needed to avoid impact.+    impact :: Prelude.Maybe Prelude.Natural,+    -- | Add related items to the incident for other responders to use. Related+    -- items are AWS resources, external links, or files uploaded to an Amazon+    -- S3 bucket.+    relatedItems :: Prelude.Maybe [RelatedItem],+    -- | Provide a title for the incident. Providing a title overwrites the title+    -- provided by the response plan.+    title :: Prelude.Maybe Prelude.Text,+    -- | Details of what created the incident record in Incident Manager.+    triggerDetails :: Prelude.Maybe TriggerDetails,+    -- | The Amazon Resource Name (ARN) of the response plan that pre-defines+    -- summary, chat channels, Amazon SNS topics, runbooks, title, and impact+    -- of the incident.+    responsePlanArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartIncident' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'startIncident_clientToken' - A token ensuring that the operation is called only once with the+-- specified details.+--+-- 'impact', 'startIncident_impact' - Defines the impact to the customers. Providing an impact overwrites the+-- impact provided by a response plan.+--+-- __Possible impacts:__+--+-- -   @1@ - Critical impact, this typically relates to full application+--     failure that impacts many to all customers.+--+-- -   @2@ - High impact, partial application failure with impact to many+--     customers.+--+-- -   @3@ - Medium impact, the application is providing reduced service to+--     customers.+--+-- -   @4@ - Low impact, customer might aren\'t impacted by the problem+--     yet.+--+-- -   @5@ - No impact, customers aren\'t currently impacted but urgent+--     action is needed to avoid impact.+--+-- 'relatedItems', 'startIncident_relatedItems' - Add related items to the incident for other responders to use. Related+-- items are AWS resources, external links, or files uploaded to an Amazon+-- S3 bucket.+--+-- 'title', 'startIncident_title' - Provide a title for the incident. Providing a title overwrites the title+-- provided by the response plan.+--+-- 'triggerDetails', 'startIncident_triggerDetails' - Details of what created the incident record in Incident Manager.+--+-- 'responsePlanArn', 'startIncident_responsePlanArn' - The Amazon Resource Name (ARN) of the response plan that pre-defines+-- summary, chat channels, Amazon SNS topics, runbooks, title, and impact+-- of the incident.+newStartIncident ::+  -- | 'responsePlanArn'+  Prelude.Text ->+  StartIncident+newStartIncident pResponsePlanArn_ =+  StartIncident'+    { clientToken = Prelude.Nothing,+      impact = Prelude.Nothing,+      relatedItems = Prelude.Nothing,+      title = Prelude.Nothing,+      triggerDetails = Prelude.Nothing,+      responsePlanArn = pResponsePlanArn_+    }++-- | A token ensuring that the operation is called only once with the+-- specified details.+startIncident_clientToken :: Lens.Lens' StartIncident (Prelude.Maybe Prelude.Text)+startIncident_clientToken = Lens.lens (\StartIncident' {clientToken} -> clientToken) (\s@StartIncident' {} a -> s {clientToken = a} :: StartIncident)++-- | Defines the impact to the customers. Providing an impact overwrites the+-- impact provided by a response plan.+--+-- __Possible impacts:__+--+-- -   @1@ - Critical impact, this typically relates to full application+--     failure that impacts many to all customers.+--+-- -   @2@ - High impact, partial application failure with impact to many+--     customers.+--+-- -   @3@ - Medium impact, the application is providing reduced service to+--     customers.+--+-- -   @4@ - Low impact, customer might aren\'t impacted by the problem+--     yet.+--+-- -   @5@ - No impact, customers aren\'t currently impacted but urgent+--     action is needed to avoid impact.+startIncident_impact :: Lens.Lens' StartIncident (Prelude.Maybe Prelude.Natural)+startIncident_impact = Lens.lens (\StartIncident' {impact} -> impact) (\s@StartIncident' {} a -> s {impact = a} :: StartIncident)++-- | Add related items to the incident for other responders to use. Related+-- items are AWS resources, external links, or files uploaded to an Amazon+-- S3 bucket.+startIncident_relatedItems :: Lens.Lens' StartIncident (Prelude.Maybe [RelatedItem])+startIncident_relatedItems = Lens.lens (\StartIncident' {relatedItems} -> relatedItems) (\s@StartIncident' {} a -> s {relatedItems = a} :: StartIncident) Prelude.. Lens.mapping Lens.coerced++-- | Provide a title for the incident. Providing a title overwrites the title+-- provided by the response plan.+startIncident_title :: Lens.Lens' StartIncident (Prelude.Maybe Prelude.Text)+startIncident_title = Lens.lens (\StartIncident' {title} -> title) (\s@StartIncident' {} a -> s {title = a} :: StartIncident)++-- | Details of what created the incident record in Incident Manager.+startIncident_triggerDetails :: Lens.Lens' StartIncident (Prelude.Maybe TriggerDetails)+startIncident_triggerDetails = Lens.lens (\StartIncident' {triggerDetails} -> triggerDetails) (\s@StartIncident' {} a -> s {triggerDetails = a} :: StartIncident)++-- | The Amazon Resource Name (ARN) of the response plan that pre-defines+-- summary, chat channels, Amazon SNS topics, runbooks, title, and impact+-- of the incident.+startIncident_responsePlanArn :: Lens.Lens' StartIncident Prelude.Text+startIncident_responsePlanArn = Lens.lens (\StartIncident' {responsePlanArn} -> responsePlanArn) (\s@StartIncident' {} a -> s {responsePlanArn = a} :: StartIncident)++instance Core.AWSRequest StartIncident where+  type+    AWSResponse StartIncident =+      StartIncidentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartIncidentResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..:> "incidentRecordArn")+      )++instance Prelude.Hashable StartIncident where+  hashWithSalt _salt StartIncident' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` impact+      `Prelude.hashWithSalt` relatedItems+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` triggerDetails+      `Prelude.hashWithSalt` responsePlanArn++instance Prelude.NFData StartIncident where+  rnf StartIncident' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf impact+      `Prelude.seq` Prelude.rnf relatedItems+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf triggerDetails+      `Prelude.seq` Prelude.rnf responsePlanArn++instance Data.ToHeaders StartIncident where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartIncident where+  toJSON StartIncident' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            ("impact" Data..=) Prelude.<$> impact,+            ("relatedItems" Data..=) Prelude.<$> relatedItems,+            ("title" Data..=) Prelude.<$> title,+            ("triggerDetails" Data..=)+              Prelude.<$> triggerDetails,+            Prelude.Just+              ("responsePlanArn" Data..= responsePlanArn)+          ]+      )++instance Data.ToPath StartIncident where+  toPath = Prelude.const "/startIncident"++instance Data.ToQuery StartIncident where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartIncidentResponse' smart constructor.+data StartIncidentResponse = StartIncidentResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The ARN of the newly created incident record.+    incidentRecordArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartIncidentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'startIncidentResponse_httpStatus' - The response's http status code.+--+-- 'incidentRecordArn', 'startIncidentResponse_incidentRecordArn' - The ARN of the newly created incident record.+newStartIncidentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'incidentRecordArn'+  Prelude.Text ->+  StartIncidentResponse+newStartIncidentResponse+  pHttpStatus_+  pIncidentRecordArn_ =+    StartIncidentResponse'+      { httpStatus = pHttpStatus_,+        incidentRecordArn = pIncidentRecordArn_+      }++-- | The response's http status code.+startIncidentResponse_httpStatus :: Lens.Lens' StartIncidentResponse Prelude.Int+startIncidentResponse_httpStatus = Lens.lens (\StartIncidentResponse' {httpStatus} -> httpStatus) (\s@StartIncidentResponse' {} a -> s {httpStatus = a} :: StartIncidentResponse)++-- | The ARN of the newly created incident record.+startIncidentResponse_incidentRecordArn :: Lens.Lens' StartIncidentResponse Prelude.Text+startIncidentResponse_incidentRecordArn = Lens.lens (\StartIncidentResponse' {incidentRecordArn} -> incidentRecordArn) (\s@StartIncidentResponse' {} a -> s {incidentRecordArn = a} :: StartIncidentResponse)++instance Prelude.NFData StartIncidentResponse where+  rnf StartIncidentResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf incidentRecordArn
+ gen/Amazonka/SSMIncidents/TagResource.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.TagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds a tag to a response plan.+module Amazonka.SSMIncidents.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) of the response plan you\'re adding the+    -- tags to.+    resourceArn :: Prelude.Text,+    -- | A list of tags to add to the response plan.+    tags :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the response plan you\'re adding the+-- tags to.+--+-- 'tags', 'tagResource_tags' - A list of tags to add to the response plan.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the response plan you\'re adding the+-- tags to.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | A list of tags to add to the response plan.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("tags" Data..= tags)]+      )++instance Data.ToPath TagResource where+  toPath TagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pHttpStatus_ =+  TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/SSMIncidents/Types.hs view
@@ -0,0 +1,476 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,+    _ThrottlingException,+    _ValidationException,++    -- * IncidentRecordStatus+    IncidentRecordStatus (..),++    -- * ItemType+    ItemType (..),++    -- * RegionStatus+    RegionStatus (..),++    -- * ReplicationSetStatus+    ReplicationSetStatus (..),++    -- * SortOrder+    SortOrder (..),++    -- * SsmTargetAccount+    SsmTargetAccount (..),++    -- * TimelineEventSort+    TimelineEventSort (..),++    -- * VariableType+    VariableType (..),++    -- * Action+    Action (..),+    newAction,+    action_ssmAutomation,++    -- * AddRegionAction+    AddRegionAction (..),+    newAddRegionAction,+    addRegionAction_sseKmsKeyId,+    addRegionAction_regionName,++    -- * AttributeValueList+    AttributeValueList (..),+    newAttributeValueList,+    attributeValueList_integerValues,+    attributeValueList_stringValues,++    -- * AutomationExecution+    AutomationExecution (..),+    newAutomationExecution,+    automationExecution_ssmExecutionArn,++    -- * ChatChannel+    ChatChannel (..),+    newChatChannel,+    chatChannel_chatbotSns,+    chatChannel_empty,++    -- * Condition+    Condition (..),+    newCondition,+    condition_after,+    condition_before,+    condition_equals,++    -- * DeleteRegionAction+    DeleteRegionAction (..),+    newDeleteRegionAction,+    deleteRegionAction_regionName,++    -- * DynamicSsmParameterValue+    DynamicSsmParameterValue (..),+    newDynamicSsmParameterValue,+    dynamicSsmParameterValue_variable,++    -- * EmptyChatChannel+    EmptyChatChannel (..),+    newEmptyChatChannel,++    -- * EventReference+    EventReference (..),+    newEventReference,+    eventReference_relatedItemId,+    eventReference_resource,++    -- * EventSummary+    EventSummary (..),+    newEventSummary,+    eventSummary_eventReferences,+    eventSummary_eventId,+    eventSummary_eventTime,+    eventSummary_eventType,+    eventSummary_eventUpdatedTime,+    eventSummary_incidentRecordArn,++    -- * Filter+    Filter (..),+    newFilter,+    filter_condition,+    filter_key,++    -- * IncidentRecord+    IncidentRecord (..),+    newIncidentRecord,+    incidentRecord_automationExecutions,+    incidentRecord_chatChannel,+    incidentRecord_notificationTargets,+    incidentRecord_resolvedTime,+    incidentRecord_summary,+    incidentRecord_arn,+    incidentRecord_creationTime,+    incidentRecord_dedupeString,+    incidentRecord_impact,+    incidentRecord_incidentRecordSource,+    incidentRecord_lastModifiedBy,+    incidentRecord_lastModifiedTime,+    incidentRecord_status,+    incidentRecord_title,++    -- * IncidentRecordSource+    IncidentRecordSource (..),+    newIncidentRecordSource,+    incidentRecordSource_invokedBy,+    incidentRecordSource_resourceArn,+    incidentRecordSource_createdBy,+    incidentRecordSource_source,++    -- * IncidentRecordSummary+    IncidentRecordSummary (..),+    newIncidentRecordSummary,+    incidentRecordSummary_resolvedTime,+    incidentRecordSummary_arn,+    incidentRecordSummary_creationTime,+    incidentRecordSummary_impact,+    incidentRecordSummary_incidentRecordSource,+    incidentRecordSummary_status,+    incidentRecordSummary_title,++    -- * IncidentTemplate+    IncidentTemplate (..),+    newIncidentTemplate,+    incidentTemplate_dedupeString,+    incidentTemplate_incidentTags,+    incidentTemplate_notificationTargets,+    incidentTemplate_summary,+    incidentTemplate_impact,+    incidentTemplate_title,++    -- * Integration+    Integration (..),+    newIntegration,+    integration_pagerDutyConfiguration,++    -- * ItemIdentifier+    ItemIdentifier (..),+    newItemIdentifier,+    itemIdentifier_type,+    itemIdentifier_value,++    -- * ItemValue+    ItemValue (..),+    newItemValue,+    itemValue_arn,+    itemValue_metricDefinition,+    itemValue_pagerDutyIncidentDetail,+    itemValue_url,++    -- * NotificationTargetItem+    NotificationTargetItem (..),+    newNotificationTargetItem,+    notificationTargetItem_snsTopicArn,++    -- * PagerDutyConfiguration+    PagerDutyConfiguration (..),+    newPagerDutyConfiguration,+    pagerDutyConfiguration_name,+    pagerDutyConfiguration_pagerDutyIncidentConfiguration,+    pagerDutyConfiguration_secretId,++    -- * PagerDutyIncidentConfiguration+    PagerDutyIncidentConfiguration (..),+    newPagerDutyIncidentConfiguration,+    pagerDutyIncidentConfiguration_serviceId,++    -- * PagerDutyIncidentDetail+    PagerDutyIncidentDetail (..),+    newPagerDutyIncidentDetail,+    pagerDutyIncidentDetail_autoResolve,+    pagerDutyIncidentDetail_secretId,+    pagerDutyIncidentDetail_id,++    -- * RegionInfo+    RegionInfo (..),+    newRegionInfo,+    regionInfo_sseKmsKeyId,+    regionInfo_statusMessage,+    regionInfo_status,+    regionInfo_statusUpdateDateTime,++    -- * RegionMapInputValue+    RegionMapInputValue (..),+    newRegionMapInputValue,+    regionMapInputValue_sseKmsKeyId,++    -- * RelatedItem+    RelatedItem (..),+    newRelatedItem,+    relatedItem_generatedId,+    relatedItem_title,+    relatedItem_identifier,++    -- * RelatedItemsUpdate+    RelatedItemsUpdate (..),+    newRelatedItemsUpdate,+    relatedItemsUpdate_itemToAdd,+    relatedItemsUpdate_itemToRemove,++    -- * ReplicationSet+    ReplicationSet (..),+    newReplicationSet,+    replicationSet_arn,+    replicationSet_createdBy,+    replicationSet_createdTime,+    replicationSet_deletionProtected,+    replicationSet_lastModifiedBy,+    replicationSet_lastModifiedTime,+    replicationSet_regionMap,+    replicationSet_status,++    -- * ResourcePolicy+    ResourcePolicy (..),+    newResourcePolicy,+    resourcePolicy_policyDocument,+    resourcePolicy_policyId,+    resourcePolicy_ramResourceShareRegion,++    -- * ResponsePlanSummary+    ResponsePlanSummary (..),+    newResponsePlanSummary,+    responsePlanSummary_displayName,+    responsePlanSummary_arn,+    responsePlanSummary_name,++    -- * SsmAutomation+    SsmAutomation (..),+    newSsmAutomation,+    ssmAutomation_documentVersion,+    ssmAutomation_dynamicParameters,+    ssmAutomation_parameters,+    ssmAutomation_targetAccount,+    ssmAutomation_documentName,+    ssmAutomation_roleArn,++    -- * TimelineEvent+    TimelineEvent (..),+    newTimelineEvent,+    timelineEvent_eventReferences,+    timelineEvent_eventData,+    timelineEvent_eventId,+    timelineEvent_eventTime,+    timelineEvent_eventType,+    timelineEvent_eventUpdatedTime,+    timelineEvent_incidentRecordArn,++    -- * TriggerDetails+    TriggerDetails (..),+    newTriggerDetails,+    triggerDetails_rawData,+    triggerDetails_triggerArn,+    triggerDetails_source,+    triggerDetails_timestamp,++    -- * UpdateReplicationSetAction+    UpdateReplicationSetAction (..),+    newUpdateReplicationSetAction,+    updateReplicationSetAction_addRegionAction,+    updateReplicationSetAction_deleteRegionAction,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.Action+import Amazonka.SSMIncidents.Types.AddRegionAction+import Amazonka.SSMIncidents.Types.AttributeValueList+import Amazonka.SSMIncidents.Types.AutomationExecution+import Amazonka.SSMIncidents.Types.ChatChannel+import Amazonka.SSMIncidents.Types.Condition+import Amazonka.SSMIncidents.Types.DeleteRegionAction+import Amazonka.SSMIncidents.Types.DynamicSsmParameterValue+import Amazonka.SSMIncidents.Types.EmptyChatChannel+import Amazonka.SSMIncidents.Types.EventReference+import Amazonka.SSMIncidents.Types.EventSummary+import Amazonka.SSMIncidents.Types.Filter+import Amazonka.SSMIncidents.Types.IncidentRecord+import Amazonka.SSMIncidents.Types.IncidentRecordSource+import Amazonka.SSMIncidents.Types.IncidentRecordStatus+import Amazonka.SSMIncidents.Types.IncidentRecordSummary+import Amazonka.SSMIncidents.Types.IncidentTemplate+import Amazonka.SSMIncidents.Types.Integration+import Amazonka.SSMIncidents.Types.ItemIdentifier+import Amazonka.SSMIncidents.Types.ItemType+import Amazonka.SSMIncidents.Types.ItemValue+import Amazonka.SSMIncidents.Types.NotificationTargetItem+import Amazonka.SSMIncidents.Types.PagerDutyConfiguration+import Amazonka.SSMIncidents.Types.PagerDutyIncidentConfiguration+import Amazonka.SSMIncidents.Types.PagerDutyIncidentDetail+import Amazonka.SSMIncidents.Types.RegionInfo+import Amazonka.SSMIncidents.Types.RegionMapInputValue+import Amazonka.SSMIncidents.Types.RegionStatus+import Amazonka.SSMIncidents.Types.RelatedItem+import Amazonka.SSMIncidents.Types.RelatedItemsUpdate+import Amazonka.SSMIncidents.Types.ReplicationSet+import Amazonka.SSMIncidents.Types.ReplicationSetStatus+import Amazonka.SSMIncidents.Types.ResourcePolicy+import Amazonka.SSMIncidents.Types.ResponsePlanSummary+import Amazonka.SSMIncidents.Types.SortOrder+import Amazonka.SSMIncidents.Types.SsmAutomation+import Amazonka.SSMIncidents.Types.SsmTargetAccount+import Amazonka.SSMIncidents.Types.TimelineEvent+import Amazonka.SSMIncidents.Types.TimelineEventSort+import Amazonka.SSMIncidents.Types.TriggerDetails+import Amazonka.SSMIncidents.Types.UpdateReplicationSetAction+import Amazonka.SSMIncidents.Types.VariableType+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-05-10@ of the Amazon Systems Manager Incident Manager SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "SSMIncidents",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "ssm-incidents",+      Core.signingName = "ssm-incidents",+      Core.version = "2018-05-10",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "SSMIncidents",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | You don\'t have sufficient access to perform this operation.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | Updating or deleting a resource causes an inconsistent state.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | The request processing has failed because of an unknown error, exception+-- or failure.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | Request references a resource which doesn\'t exist.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | Request would cause a service quota to be exceeded.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | The request was denied due to request throttling.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | The input fails to satisfy the constraints specified by an Amazon Web+-- Services service.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/SSMIncidents/Types/Action.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.Action+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.Action where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.SsmAutomation++-- | The action that starts at the beginning of an incident. The response+-- plan defines the action.+--+-- /See:/ 'newAction' smart constructor.+data Action = Action'+  { -- | The Systems Manager automation document to start as the runbook at the+    -- beginning of the incident.+    ssmAutomation :: Prelude.Maybe SsmAutomation+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Action' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ssmAutomation', 'action_ssmAutomation' - The Systems Manager automation document to start as the runbook at the+-- beginning of the incident.+newAction ::+  Action+newAction = Action' {ssmAutomation = Prelude.Nothing}++-- | The Systems Manager automation document to start as the runbook at the+-- beginning of the incident.+action_ssmAutomation :: Lens.Lens' Action (Prelude.Maybe SsmAutomation)+action_ssmAutomation = Lens.lens (\Action' {ssmAutomation} -> ssmAutomation) (\s@Action' {} a -> s {ssmAutomation = a} :: Action)++instance Data.FromJSON Action where+  parseJSON =+    Data.withObject+      "Action"+      ( \x ->+          Action' Prelude.<$> (x Data..:? "ssmAutomation")+      )++instance Prelude.Hashable Action where+  hashWithSalt _salt Action' {..} =+    _salt `Prelude.hashWithSalt` ssmAutomation++instance Prelude.NFData Action where+  rnf Action' {..} = Prelude.rnf ssmAutomation++instance Data.ToJSON Action where+  toJSON Action' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ssmAutomation" Data..=)+              Prelude.<$> ssmAutomation+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/AddRegionAction.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.AddRegionAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.AddRegionAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Defines the Amazon Web Services Region and KMS key to add to the+-- replication set.+--+-- /See:/ 'newAddRegionAction' smart constructor.+data AddRegionAction = AddRegionAction'+  { -- | The KMS key ID to use to encrypt your replication set.+    sseKmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services Region name to add to the replication set.+    regionName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddRegionAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sseKmsKeyId', 'addRegionAction_sseKmsKeyId' - The KMS key ID to use to encrypt your replication set.+--+-- 'regionName', 'addRegionAction_regionName' - The Amazon Web Services Region name to add to the replication set.+newAddRegionAction ::+  -- | 'regionName'+  Prelude.Text ->+  AddRegionAction+newAddRegionAction pRegionName_ =+  AddRegionAction'+    { sseKmsKeyId = Prelude.Nothing,+      regionName = pRegionName_+    }++-- | The KMS key ID to use to encrypt your replication set.+addRegionAction_sseKmsKeyId :: Lens.Lens' AddRegionAction (Prelude.Maybe Prelude.Text)+addRegionAction_sseKmsKeyId = Lens.lens (\AddRegionAction' {sseKmsKeyId} -> sseKmsKeyId) (\s@AddRegionAction' {} a -> s {sseKmsKeyId = a} :: AddRegionAction)++-- | The Amazon Web Services Region name to add to the replication set.+addRegionAction_regionName :: Lens.Lens' AddRegionAction Prelude.Text+addRegionAction_regionName = Lens.lens (\AddRegionAction' {regionName} -> regionName) (\s@AddRegionAction' {} a -> s {regionName = a} :: AddRegionAction)++instance Prelude.Hashable AddRegionAction where+  hashWithSalt _salt AddRegionAction' {..} =+    _salt+      `Prelude.hashWithSalt` sseKmsKeyId+      `Prelude.hashWithSalt` regionName++instance Prelude.NFData AddRegionAction where+  rnf AddRegionAction' {..} =+    Prelude.rnf sseKmsKeyId+      `Prelude.seq` Prelude.rnf regionName++instance Data.ToJSON AddRegionAction where+  toJSON AddRegionAction' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("sseKmsKeyId" Data..=) Prelude.<$> sseKmsKeyId,+            Prelude.Just ("regionName" Data..= regionName)+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/AttributeValueList.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.AttributeValueList+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.AttributeValueList where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Use the AttributeValueList to filter by string or integer values.+--+-- /See:/ 'newAttributeValueList' smart constructor.+data AttributeValueList = AttributeValueList'+  { -- | The list of integer values that the filter matches.+    integerValues :: Prelude.Maybe [Prelude.Int],+    -- | The list of string values that the filter matches.+    stringValues :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AttributeValueList' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'integerValues', 'attributeValueList_integerValues' - The list of integer values that the filter matches.+--+-- 'stringValues', 'attributeValueList_stringValues' - The list of string values that the filter matches.+newAttributeValueList ::+  AttributeValueList+newAttributeValueList =+  AttributeValueList'+    { integerValues =+        Prelude.Nothing,+      stringValues = Prelude.Nothing+    }++-- | The list of integer values that the filter matches.+attributeValueList_integerValues :: Lens.Lens' AttributeValueList (Prelude.Maybe [Prelude.Int])+attributeValueList_integerValues = Lens.lens (\AttributeValueList' {integerValues} -> integerValues) (\s@AttributeValueList' {} a -> s {integerValues = a} :: AttributeValueList) Prelude.. Lens.mapping Lens.coerced++-- | The list of string values that the filter matches.+attributeValueList_stringValues :: Lens.Lens' AttributeValueList (Prelude.Maybe [Prelude.Text])+attributeValueList_stringValues = Lens.lens (\AttributeValueList' {stringValues} -> stringValues) (\s@AttributeValueList' {} a -> s {stringValues = a} :: AttributeValueList) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable AttributeValueList where+  hashWithSalt _salt AttributeValueList' {..} =+    _salt+      `Prelude.hashWithSalt` integerValues+      `Prelude.hashWithSalt` stringValues++instance Prelude.NFData AttributeValueList where+  rnf AttributeValueList' {..} =+    Prelude.rnf integerValues+      `Prelude.seq` Prelude.rnf stringValues++instance Data.ToJSON AttributeValueList where+  toJSON AttributeValueList' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("integerValues" Data..=) Prelude.<$> integerValues,+            ("stringValues" Data..=) Prelude.<$> stringValues+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/AutomationExecution.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.AutomationExecution+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.AutomationExecution where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The Systems Manager automation document process to start as the runbook+-- at the beginning of the incident.+--+-- /See:/ 'newAutomationExecution' smart constructor.+data AutomationExecution = AutomationExecution'+  { -- | The Amazon Resource Name (ARN) of the automation process.+    ssmExecutionArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AutomationExecution' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ssmExecutionArn', 'automationExecution_ssmExecutionArn' - The Amazon Resource Name (ARN) of the automation process.+newAutomationExecution ::+  AutomationExecution+newAutomationExecution =+  AutomationExecution'+    { ssmExecutionArn =+        Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the automation process.+automationExecution_ssmExecutionArn :: Lens.Lens' AutomationExecution (Prelude.Maybe Prelude.Text)+automationExecution_ssmExecutionArn = Lens.lens (\AutomationExecution' {ssmExecutionArn} -> ssmExecutionArn) (\s@AutomationExecution' {} a -> s {ssmExecutionArn = a} :: AutomationExecution)++instance Data.FromJSON AutomationExecution where+  parseJSON =+    Data.withObject+      "AutomationExecution"+      ( \x ->+          AutomationExecution'+            Prelude.<$> (x Data..:? "ssmExecutionArn")+      )++instance Prelude.Hashable AutomationExecution where+  hashWithSalt _salt AutomationExecution' {..} =+    _salt `Prelude.hashWithSalt` ssmExecutionArn++instance Prelude.NFData AutomationExecution where+  rnf AutomationExecution' {..} =+    Prelude.rnf ssmExecutionArn
+ gen/Amazonka/SSMIncidents/Types/ChatChannel.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.ChatChannel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.ChatChannel where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.EmptyChatChannel++-- | The Chatbot chat channel used for collaboration during an incident.+--+-- /See:/ 'newChatChannel' smart constructor.+data ChatChannel = ChatChannel'+  { -- | The Amazon SNS targets that Chatbot uses to notify the chat channel of+    -- updates to an incident. You can also make updates to the incident+    -- through the chat channel by using the Amazon SNS topics.+    chatbotSns :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | Used to remove the chat channel from an incident record or response+    -- plan.+    empty :: Prelude.Maybe EmptyChatChannel+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChatChannel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'chatbotSns', 'chatChannel_chatbotSns' - The Amazon SNS targets that Chatbot uses to notify the chat channel of+-- updates to an incident. You can also make updates to the incident+-- through the chat channel by using the Amazon SNS topics.+--+-- 'empty', 'chatChannel_empty' - Used to remove the chat channel from an incident record or response+-- plan.+newChatChannel ::+  ChatChannel+newChatChannel =+  ChatChannel'+    { chatbotSns = Prelude.Nothing,+      empty = Prelude.Nothing+    }++-- | The Amazon SNS targets that Chatbot uses to notify the chat channel of+-- updates to an incident. You can also make updates to the incident+-- through the chat channel by using the Amazon SNS topics.+chatChannel_chatbotSns :: Lens.Lens' ChatChannel (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+chatChannel_chatbotSns = Lens.lens (\ChatChannel' {chatbotSns} -> chatbotSns) (\s@ChatChannel' {} a -> s {chatbotSns = a} :: ChatChannel) Prelude.. Lens.mapping Lens.coerced++-- | Used to remove the chat channel from an incident record or response+-- plan.+chatChannel_empty :: Lens.Lens' ChatChannel (Prelude.Maybe EmptyChatChannel)+chatChannel_empty = Lens.lens (\ChatChannel' {empty} -> empty) (\s@ChatChannel' {} a -> s {empty = a} :: ChatChannel)++instance Data.FromJSON ChatChannel where+  parseJSON =+    Data.withObject+      "ChatChannel"+      ( \x ->+          ChatChannel'+            Prelude.<$> (x Data..:? "chatbotSns")+            Prelude.<*> (x Data..:? "empty")+      )++instance Prelude.Hashable ChatChannel where+  hashWithSalt _salt ChatChannel' {..} =+    _salt+      `Prelude.hashWithSalt` chatbotSns+      `Prelude.hashWithSalt` empty++instance Prelude.NFData ChatChannel where+  rnf ChatChannel' {..} =+    Prelude.rnf chatbotSns+      `Prelude.seq` Prelude.rnf empty++instance Data.ToJSON ChatChannel where+  toJSON ChatChannel' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("chatbotSns" Data..=) Prelude.<$> chatbotSns,+            ("empty" Data..=) Prelude.<$> empty+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/Condition.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.Condition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.Condition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.AttributeValueList++-- | A conditional statement with which to compare a value, after a+-- timestamp, before a timestamp, or equal to a string or integer. If+-- multiple conditions are specified, the conditionals become an @AND@ed+-- statement. If multiple values are specified for a conditional, the+-- values are @OR@d.+--+-- /See:/ 'newCondition' smart constructor.+data Condition = Condition'+  { -- | After the specified timestamp.+    after :: Prelude.Maybe Data.POSIX,+    -- | Before the specified timestamp+    before :: Prelude.Maybe Data.POSIX,+    -- | The value is equal to the provided string or integer.+    equals :: Prelude.Maybe AttributeValueList+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Condition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'after', 'condition_after' - After the specified timestamp.+--+-- 'before', 'condition_before' - Before the specified timestamp+--+-- 'equals', 'condition_equals' - The value is equal to the provided string or integer.+newCondition ::+  Condition+newCondition =+  Condition'+    { after = Prelude.Nothing,+      before = Prelude.Nothing,+      equals = Prelude.Nothing+    }++-- | After the specified timestamp.+condition_after :: Lens.Lens' Condition (Prelude.Maybe Prelude.UTCTime)+condition_after = Lens.lens (\Condition' {after} -> after) (\s@Condition' {} a -> s {after = a} :: Condition) Prelude.. Lens.mapping Data._Time++-- | Before the specified timestamp+condition_before :: Lens.Lens' Condition (Prelude.Maybe Prelude.UTCTime)+condition_before = Lens.lens (\Condition' {before} -> before) (\s@Condition' {} a -> s {before = a} :: Condition) Prelude.. Lens.mapping Data._Time++-- | The value is equal to the provided string or integer.+condition_equals :: Lens.Lens' Condition (Prelude.Maybe AttributeValueList)+condition_equals = Lens.lens (\Condition' {equals} -> equals) (\s@Condition' {} a -> s {equals = a} :: Condition)++instance Prelude.Hashable Condition where+  hashWithSalt _salt Condition' {..} =+    _salt+      `Prelude.hashWithSalt` after+      `Prelude.hashWithSalt` before+      `Prelude.hashWithSalt` equals++instance Prelude.NFData Condition where+  rnf Condition' {..} =+    Prelude.rnf after+      `Prelude.seq` Prelude.rnf before+      `Prelude.seq` Prelude.rnf equals++instance Data.ToJSON Condition where+  toJSON Condition' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("after" Data..=) Prelude.<$> after,+            ("before" Data..=) Prelude.<$> before,+            ("equals" Data..=) Prelude.<$> equals+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/DeleteRegionAction.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.DeleteRegionAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.DeleteRegionAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Defines the information about the Amazon Web Services Region you\'re+-- deleting from your replication set.+--+-- /See:/ 'newDeleteRegionAction' smart constructor.+data DeleteRegionAction = DeleteRegionAction'+  { -- | The name of the Amazon Web Services Region you\'re deleting from the+    -- replication set.+    regionName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRegionAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'regionName', 'deleteRegionAction_regionName' - The name of the Amazon Web Services Region you\'re deleting from the+-- replication set.+newDeleteRegionAction ::+  -- | 'regionName'+  Prelude.Text ->+  DeleteRegionAction+newDeleteRegionAction pRegionName_ =+  DeleteRegionAction' {regionName = pRegionName_}++-- | The name of the Amazon Web Services Region you\'re deleting from the+-- replication set.+deleteRegionAction_regionName :: Lens.Lens' DeleteRegionAction Prelude.Text+deleteRegionAction_regionName = Lens.lens (\DeleteRegionAction' {regionName} -> regionName) (\s@DeleteRegionAction' {} a -> s {regionName = a} :: DeleteRegionAction)++instance Prelude.Hashable DeleteRegionAction where+  hashWithSalt _salt DeleteRegionAction' {..} =+    _salt `Prelude.hashWithSalt` regionName++instance Prelude.NFData DeleteRegionAction where+  rnf DeleteRegionAction' {..} = Prelude.rnf regionName++instance Data.ToJSON DeleteRegionAction where+  toJSON DeleteRegionAction' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("regionName" Data..= regionName)]+      )
+ gen/Amazonka/SSMIncidents/Types/DynamicSsmParameterValue.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.DynamicSsmParameterValue+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.DynamicSsmParameterValue where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.VariableType++-- | The dynamic SSM parameter value.+--+-- /See:/ 'newDynamicSsmParameterValue' smart constructor.+data DynamicSsmParameterValue = DynamicSsmParameterValue'+  { -- | Variable dynamic parameters. A parameter value is determined when an+    -- incident is created.+    variable :: Prelude.Maybe VariableType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DynamicSsmParameterValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'variable', 'dynamicSsmParameterValue_variable' - Variable dynamic parameters. A parameter value is determined when an+-- incident is created.+newDynamicSsmParameterValue ::+  DynamicSsmParameterValue+newDynamicSsmParameterValue =+  DynamicSsmParameterValue'+    { variable =+        Prelude.Nothing+    }++-- | Variable dynamic parameters. A parameter value is determined when an+-- incident is created.+dynamicSsmParameterValue_variable :: Lens.Lens' DynamicSsmParameterValue (Prelude.Maybe VariableType)+dynamicSsmParameterValue_variable = Lens.lens (\DynamicSsmParameterValue' {variable} -> variable) (\s@DynamicSsmParameterValue' {} a -> s {variable = a} :: DynamicSsmParameterValue)++instance Data.FromJSON DynamicSsmParameterValue where+  parseJSON =+    Data.withObject+      "DynamicSsmParameterValue"+      ( \x ->+          DynamicSsmParameterValue'+            Prelude.<$> (x Data..:? "variable")+      )++instance Prelude.Hashable DynamicSsmParameterValue where+  hashWithSalt _salt DynamicSsmParameterValue' {..} =+    _salt `Prelude.hashWithSalt` variable++instance Prelude.NFData DynamicSsmParameterValue where+  rnf DynamicSsmParameterValue' {..} =+    Prelude.rnf variable++instance Data.ToJSON DynamicSsmParameterValue where+  toJSON DynamicSsmParameterValue' {..} =+    Data.object+      ( Prelude.catMaybes+          [("variable" Data..=) Prelude.<$> variable]+      )
+ gen/Amazonka/SSMIncidents/Types/EmptyChatChannel.hs view
@@ -0,0 +1,58 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.EmptyChatChannel+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.EmptyChatChannel where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Used to remove the chat channel from an incident record or response+-- plan.+--+-- /See:/ 'newEmptyChatChannel' smart constructor.+data EmptyChatChannel = EmptyChatChannel'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EmptyChatChannel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newEmptyChatChannel ::+  EmptyChatChannel+newEmptyChatChannel = EmptyChatChannel'++instance Data.FromJSON EmptyChatChannel where+  parseJSON =+    Data.withObject+      "EmptyChatChannel"+      (\x -> Prelude.pure EmptyChatChannel')++instance Prelude.Hashable EmptyChatChannel where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData EmptyChatChannel where+  rnf _ = ()++instance Data.ToJSON EmptyChatChannel where+  toJSON = Prelude.const (Data.Object Prelude.mempty)
+ gen/Amazonka/SSMIncidents/Types/EventReference.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.EventReference+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.EventReference where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | An item referenced in a @TimelineEvent@ that is involved in or somehow+-- associated with an incident. You can specify an Amazon Resource Name+-- (ARN) for an Amazon Web Services resource or a @RelatedItem@ ID.+--+-- /See:/ 'newEventReference' smart constructor.+data EventReference = EventReference'+  { -- | The ID of a @RelatedItem@ referenced in a @TimelineEvent@.+    relatedItemId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of an Amazon Web Services resource+    -- referenced in a @TimelineEvent@.+    resource :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventReference' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'relatedItemId', 'eventReference_relatedItemId' - The ID of a @RelatedItem@ referenced in a @TimelineEvent@.+--+-- 'resource', 'eventReference_resource' - The Amazon Resource Name (ARN) of an Amazon Web Services resource+-- referenced in a @TimelineEvent@.+newEventReference ::+  EventReference+newEventReference =+  EventReference'+    { relatedItemId = Prelude.Nothing,+      resource = Prelude.Nothing+    }++-- | The ID of a @RelatedItem@ referenced in a @TimelineEvent@.+eventReference_relatedItemId :: Lens.Lens' EventReference (Prelude.Maybe Prelude.Text)+eventReference_relatedItemId = Lens.lens (\EventReference' {relatedItemId} -> relatedItemId) (\s@EventReference' {} a -> s {relatedItemId = a} :: EventReference)++-- | The Amazon Resource Name (ARN) of an Amazon Web Services resource+-- referenced in a @TimelineEvent@.+eventReference_resource :: Lens.Lens' EventReference (Prelude.Maybe Prelude.Text)+eventReference_resource = Lens.lens (\EventReference' {resource} -> resource) (\s@EventReference' {} a -> s {resource = a} :: EventReference)++instance Data.FromJSON EventReference where+  parseJSON =+    Data.withObject+      "EventReference"+      ( \x ->+          EventReference'+            Prelude.<$> (x Data..:? "relatedItemId")+            Prelude.<*> (x Data..:? "resource")+      )++instance Prelude.Hashable EventReference where+  hashWithSalt _salt EventReference' {..} =+    _salt+      `Prelude.hashWithSalt` relatedItemId+      `Prelude.hashWithSalt` resource++instance Prelude.NFData EventReference where+  rnf EventReference' {..} =+    Prelude.rnf relatedItemId+      `Prelude.seq` Prelude.rnf resource++instance Data.ToJSON EventReference where+  toJSON EventReference' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("relatedItemId" Data..=) Prelude.<$> relatedItemId,+            ("resource" Data..=) Prelude.<$> resource+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/EventSummary.hs view
@@ -0,0 +1,155 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.EventSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.EventSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.EventReference++-- | Details about a timeline event during an incident.+--+-- /See:/ 'newEventSummary' smart constructor.+data EventSummary = EventSummary'+  { -- | A list of references in a @TimelineEvent@.+    eventReferences :: Prelude.Maybe [EventReference],+    -- | The timeline event ID.+    eventId :: Prelude.Text,+    -- | The time that the event occurred.+    eventTime :: Data.POSIX,+    -- | The type of event. The timeline event must be @Custom Event@.+    eventType :: Prelude.Text,+    -- | The time that the timeline event was last updated.+    eventUpdatedTime :: Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the incident that the event happened+    -- during.+    incidentRecordArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventReferences', 'eventSummary_eventReferences' - A list of references in a @TimelineEvent@.+--+-- 'eventId', 'eventSummary_eventId' - The timeline event ID.+--+-- 'eventTime', 'eventSummary_eventTime' - The time that the event occurred.+--+-- 'eventType', 'eventSummary_eventType' - The type of event. The timeline event must be @Custom Event@.+--+-- 'eventUpdatedTime', 'eventSummary_eventUpdatedTime' - The time that the timeline event was last updated.+--+-- 'incidentRecordArn', 'eventSummary_incidentRecordArn' - The Amazon Resource Name (ARN) of the incident that the event happened+-- during.+newEventSummary ::+  -- | 'eventId'+  Prelude.Text ->+  -- | 'eventTime'+  Prelude.UTCTime ->+  -- | 'eventType'+  Prelude.Text ->+  -- | 'eventUpdatedTime'+  Prelude.UTCTime ->+  -- | 'incidentRecordArn'+  Prelude.Text ->+  EventSummary+newEventSummary+  pEventId_+  pEventTime_+  pEventType_+  pEventUpdatedTime_+  pIncidentRecordArn_ =+    EventSummary'+      { eventReferences = Prelude.Nothing,+        eventId = pEventId_,+        eventTime = Data._Time Lens.# pEventTime_,+        eventType = pEventType_,+        eventUpdatedTime =+          Data._Time Lens.# pEventUpdatedTime_,+        incidentRecordArn = pIncidentRecordArn_+      }++-- | A list of references in a @TimelineEvent@.+eventSummary_eventReferences :: Lens.Lens' EventSummary (Prelude.Maybe [EventReference])+eventSummary_eventReferences = Lens.lens (\EventSummary' {eventReferences} -> eventReferences) (\s@EventSummary' {} a -> s {eventReferences = a} :: EventSummary) Prelude.. Lens.mapping Lens.coerced++-- | The timeline event ID.+eventSummary_eventId :: Lens.Lens' EventSummary Prelude.Text+eventSummary_eventId = Lens.lens (\EventSummary' {eventId} -> eventId) (\s@EventSummary' {} a -> s {eventId = a} :: EventSummary)++-- | The time that the event occurred.+eventSummary_eventTime :: Lens.Lens' EventSummary Prelude.UTCTime+eventSummary_eventTime = Lens.lens (\EventSummary' {eventTime} -> eventTime) (\s@EventSummary' {} a -> s {eventTime = a} :: EventSummary) Prelude.. Data._Time++-- | The type of event. The timeline event must be @Custom Event@.+eventSummary_eventType :: Lens.Lens' EventSummary Prelude.Text+eventSummary_eventType = Lens.lens (\EventSummary' {eventType} -> eventType) (\s@EventSummary' {} a -> s {eventType = a} :: EventSummary)++-- | The time that the timeline event was last updated.+eventSummary_eventUpdatedTime :: Lens.Lens' EventSummary Prelude.UTCTime+eventSummary_eventUpdatedTime = Lens.lens (\EventSummary' {eventUpdatedTime} -> eventUpdatedTime) (\s@EventSummary' {} a -> s {eventUpdatedTime = a} :: EventSummary) Prelude.. Data._Time++-- | The Amazon Resource Name (ARN) of the incident that the event happened+-- during.+eventSummary_incidentRecordArn :: Lens.Lens' EventSummary Prelude.Text+eventSummary_incidentRecordArn = Lens.lens (\EventSummary' {incidentRecordArn} -> incidentRecordArn) (\s@EventSummary' {} a -> s {incidentRecordArn = a} :: EventSummary)++instance Data.FromJSON EventSummary where+  parseJSON =+    Data.withObject+      "EventSummary"+      ( \x ->+          EventSummary'+            Prelude.<$> ( x+                            Data..:? "eventReferences"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "eventId")+            Prelude.<*> (x Data..: "eventTime")+            Prelude.<*> (x Data..: "eventType")+            Prelude.<*> (x Data..: "eventUpdatedTime")+            Prelude.<*> (x Data..: "incidentRecordArn")+      )++instance Prelude.Hashable EventSummary where+  hashWithSalt _salt EventSummary' {..} =+    _salt+      `Prelude.hashWithSalt` eventReferences+      `Prelude.hashWithSalt` eventId+      `Prelude.hashWithSalt` eventTime+      `Prelude.hashWithSalt` eventType+      `Prelude.hashWithSalt` eventUpdatedTime+      `Prelude.hashWithSalt` incidentRecordArn++instance Prelude.NFData EventSummary where+  rnf EventSummary' {..} =+    Prelude.rnf eventReferences+      `Prelude.seq` Prelude.rnf eventId+      `Prelude.seq` Prelude.rnf eventTime+      `Prelude.seq` Prelude.rnf eventType+      `Prelude.seq` Prelude.rnf eventUpdatedTime+      `Prelude.seq` Prelude.rnf incidentRecordArn
+ gen/Amazonka/SSMIncidents/Types/Filter.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.Filter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.Filter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.Condition++-- | Filter the selection by using a condition.+--+-- /See:/ 'newFilter' smart constructor.+data Filter = Filter'+  { -- | The condition accepts before or after a specified time, equal to a+    -- string, or equal to an integer.+    condition :: Condition,+    -- | The key that you\'re filtering on.+    key :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Filter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'condition', 'filter_condition' - The condition accepts before or after a specified time, equal to a+-- string, or equal to an integer.+--+-- 'key', 'filter_key' - The key that you\'re filtering on.+newFilter ::+  -- | 'condition'+  Condition ->+  -- | 'key'+  Prelude.Text ->+  Filter+newFilter pCondition_ pKey_ =+  Filter' {condition = pCondition_, key = pKey_}++-- | The condition accepts before or after a specified time, equal to a+-- string, or equal to an integer.+filter_condition :: Lens.Lens' Filter Condition+filter_condition = Lens.lens (\Filter' {condition} -> condition) (\s@Filter' {} a -> s {condition = a} :: Filter)++-- | The key that you\'re filtering on.+filter_key :: Lens.Lens' Filter Prelude.Text+filter_key = Lens.lens (\Filter' {key} -> key) (\s@Filter' {} a -> s {key = a} :: Filter)++instance Prelude.Hashable Filter where+  hashWithSalt _salt Filter' {..} =+    _salt+      `Prelude.hashWithSalt` condition+      `Prelude.hashWithSalt` key++instance Prelude.NFData Filter where+  rnf Filter' {..} =+    Prelude.rnf condition `Prelude.seq` Prelude.rnf key++instance Data.ToJSON Filter where+  toJSON Filter' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("condition" Data..= condition),+            Prelude.Just ("key" Data..= key)+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/IncidentRecord.hs view
@@ -0,0 +1,283 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.IncidentRecord+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.IncidentRecord where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.AutomationExecution+import Amazonka.SSMIncidents.Types.ChatChannel+import Amazonka.SSMIncidents.Types.IncidentRecordSource+import Amazonka.SSMIncidents.Types.IncidentRecordStatus+import Amazonka.SSMIncidents.Types.NotificationTargetItem++-- | The record of the incident that\'s created when an incident occurs.+--+-- /See:/ 'newIncidentRecord' smart constructor.+data IncidentRecord = IncidentRecord'+  { -- | The runbook, or automation document, that\'s run at the beginning of the+    -- incident.+    automationExecutions :: Prelude.Maybe [AutomationExecution],+    -- | The chat channel used for collaboration during an incident.+    chatChannel :: Prelude.Maybe ChatChannel,+    -- | The Amazon SNS targets that are notified when updates are made to an+    -- incident.+    notificationTargets :: Prelude.Maybe [NotificationTargetItem],+    -- | The time at which the incident was resolved. This appears as a timeline+    -- event.+    resolvedTime :: Prelude.Maybe Data.POSIX,+    -- | The summary of the incident. The summary is a brief synopsis of what+    -- occurred, what\'s currently happening, and context of the incident.+    summary :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the incident record.+    arn :: Prelude.Text,+    -- | The time that Incident Manager created the incident record.+    creationTime :: Data.POSIX,+    -- | The string Incident Manager uses to prevent duplicate incidents from+    -- being created by the same incident in the same account.+    dedupeString :: Prelude.Text,+    -- | The impact of the incident on customers and applications.+    impact :: Prelude.Natural,+    -- | Details about the action that started the incident.+    incidentRecordSource :: IncidentRecordSource,+    -- | Who modified the incident most recently.+    lastModifiedBy :: Prelude.Text,+    -- | The time at which the incident was most recently modified.+    lastModifiedTime :: Data.POSIX,+    -- | The current status of the incident.+    status :: IncidentRecordStatus,+    -- | The title of the incident.+    title :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IncidentRecord' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'automationExecutions', 'incidentRecord_automationExecutions' - The runbook, or automation document, that\'s run at the beginning of the+-- incident.+--+-- 'chatChannel', 'incidentRecord_chatChannel' - The chat channel used for collaboration during an incident.+--+-- 'notificationTargets', 'incidentRecord_notificationTargets' - The Amazon SNS targets that are notified when updates are made to an+-- incident.+--+-- 'resolvedTime', 'incidentRecord_resolvedTime' - The time at which the incident was resolved. This appears as a timeline+-- event.+--+-- 'summary', 'incidentRecord_summary' - The summary of the incident. The summary is a brief synopsis of what+-- occurred, what\'s currently happening, and context of the incident.+--+-- 'arn', 'incidentRecord_arn' - The Amazon Resource Name (ARN) of the incident record.+--+-- 'creationTime', 'incidentRecord_creationTime' - The time that Incident Manager created the incident record.+--+-- 'dedupeString', 'incidentRecord_dedupeString' - The string Incident Manager uses to prevent duplicate incidents from+-- being created by the same incident in the same account.+--+-- 'impact', 'incidentRecord_impact' - The impact of the incident on customers and applications.+--+-- 'incidentRecordSource', 'incidentRecord_incidentRecordSource' - Details about the action that started the incident.+--+-- 'lastModifiedBy', 'incidentRecord_lastModifiedBy' - Who modified the incident most recently.+--+-- 'lastModifiedTime', 'incidentRecord_lastModifiedTime' - The time at which the incident was most recently modified.+--+-- 'status', 'incidentRecord_status' - The current status of the incident.+--+-- 'title', 'incidentRecord_title' - The title of the incident.+newIncidentRecord ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'creationTime'+  Prelude.UTCTime ->+  -- | 'dedupeString'+  Prelude.Text ->+  -- | 'impact'+  Prelude.Natural ->+  -- | 'incidentRecordSource'+  IncidentRecordSource ->+  -- | 'lastModifiedBy'+  Prelude.Text ->+  -- | 'lastModifiedTime'+  Prelude.UTCTime ->+  -- | 'status'+  IncidentRecordStatus ->+  -- | 'title'+  Prelude.Text ->+  IncidentRecord+newIncidentRecord+  pArn_+  pCreationTime_+  pDedupeString_+  pImpact_+  pIncidentRecordSource_+  pLastModifiedBy_+  pLastModifiedTime_+  pStatus_+  pTitle_ =+    IncidentRecord'+      { automationExecutions =+          Prelude.Nothing,+        chatChannel = Prelude.Nothing,+        notificationTargets = Prelude.Nothing,+        resolvedTime = Prelude.Nothing,+        summary = Prelude.Nothing,+        arn = pArn_,+        creationTime = Data._Time Lens.# pCreationTime_,+        dedupeString = pDedupeString_,+        impact = pImpact_,+        incidentRecordSource = pIncidentRecordSource_,+        lastModifiedBy = pLastModifiedBy_,+        lastModifiedTime =+          Data._Time Lens.# pLastModifiedTime_,+        status = pStatus_,+        title = pTitle_+      }++-- | The runbook, or automation document, that\'s run at the beginning of the+-- incident.+incidentRecord_automationExecutions :: Lens.Lens' IncidentRecord (Prelude.Maybe [AutomationExecution])+incidentRecord_automationExecutions = Lens.lens (\IncidentRecord' {automationExecutions} -> automationExecutions) (\s@IncidentRecord' {} a -> s {automationExecutions = a} :: IncidentRecord) Prelude.. Lens.mapping Lens.coerced++-- | The chat channel used for collaboration during an incident.+incidentRecord_chatChannel :: Lens.Lens' IncidentRecord (Prelude.Maybe ChatChannel)+incidentRecord_chatChannel = Lens.lens (\IncidentRecord' {chatChannel} -> chatChannel) (\s@IncidentRecord' {} a -> s {chatChannel = a} :: IncidentRecord)++-- | The Amazon SNS targets that are notified when updates are made to an+-- incident.+incidentRecord_notificationTargets :: Lens.Lens' IncidentRecord (Prelude.Maybe [NotificationTargetItem])+incidentRecord_notificationTargets = Lens.lens (\IncidentRecord' {notificationTargets} -> notificationTargets) (\s@IncidentRecord' {} a -> s {notificationTargets = a} :: IncidentRecord) Prelude.. Lens.mapping Lens.coerced++-- | The time at which the incident was resolved. This appears as a timeline+-- event.+incidentRecord_resolvedTime :: Lens.Lens' IncidentRecord (Prelude.Maybe Prelude.UTCTime)+incidentRecord_resolvedTime = Lens.lens (\IncidentRecord' {resolvedTime} -> resolvedTime) (\s@IncidentRecord' {} a -> s {resolvedTime = a} :: IncidentRecord) Prelude.. Lens.mapping Data._Time++-- | The summary of the incident. The summary is a brief synopsis of what+-- occurred, what\'s currently happening, and context of the incident.+incidentRecord_summary :: Lens.Lens' IncidentRecord (Prelude.Maybe Prelude.Text)+incidentRecord_summary = Lens.lens (\IncidentRecord' {summary} -> summary) (\s@IncidentRecord' {} a -> s {summary = a} :: IncidentRecord)++-- | The Amazon Resource Name (ARN) of the incident record.+incidentRecord_arn :: Lens.Lens' IncidentRecord Prelude.Text+incidentRecord_arn = Lens.lens (\IncidentRecord' {arn} -> arn) (\s@IncidentRecord' {} a -> s {arn = a} :: IncidentRecord)++-- | The time that Incident Manager created the incident record.+incidentRecord_creationTime :: Lens.Lens' IncidentRecord Prelude.UTCTime+incidentRecord_creationTime = Lens.lens (\IncidentRecord' {creationTime} -> creationTime) (\s@IncidentRecord' {} a -> s {creationTime = a} :: IncidentRecord) Prelude.. Data._Time++-- | The string Incident Manager uses to prevent duplicate incidents from+-- being created by the same incident in the same account.+incidentRecord_dedupeString :: Lens.Lens' IncidentRecord Prelude.Text+incidentRecord_dedupeString = Lens.lens (\IncidentRecord' {dedupeString} -> dedupeString) (\s@IncidentRecord' {} a -> s {dedupeString = a} :: IncidentRecord)++-- | The impact of the incident on customers and applications.+incidentRecord_impact :: Lens.Lens' IncidentRecord Prelude.Natural+incidentRecord_impact = Lens.lens (\IncidentRecord' {impact} -> impact) (\s@IncidentRecord' {} a -> s {impact = a} :: IncidentRecord)++-- | Details about the action that started the incident.+incidentRecord_incidentRecordSource :: Lens.Lens' IncidentRecord IncidentRecordSource+incidentRecord_incidentRecordSource = Lens.lens (\IncidentRecord' {incidentRecordSource} -> incidentRecordSource) (\s@IncidentRecord' {} a -> s {incidentRecordSource = a} :: IncidentRecord)++-- | Who modified the incident most recently.+incidentRecord_lastModifiedBy :: Lens.Lens' IncidentRecord Prelude.Text+incidentRecord_lastModifiedBy = Lens.lens (\IncidentRecord' {lastModifiedBy} -> lastModifiedBy) (\s@IncidentRecord' {} a -> s {lastModifiedBy = a} :: IncidentRecord)++-- | The time at which the incident was most recently modified.+incidentRecord_lastModifiedTime :: Lens.Lens' IncidentRecord Prelude.UTCTime+incidentRecord_lastModifiedTime = Lens.lens (\IncidentRecord' {lastModifiedTime} -> lastModifiedTime) (\s@IncidentRecord' {} a -> s {lastModifiedTime = a} :: IncidentRecord) Prelude.. Data._Time++-- | The current status of the incident.+incidentRecord_status :: Lens.Lens' IncidentRecord IncidentRecordStatus+incidentRecord_status = Lens.lens (\IncidentRecord' {status} -> status) (\s@IncidentRecord' {} a -> s {status = a} :: IncidentRecord)++-- | The title of the incident.+incidentRecord_title :: Lens.Lens' IncidentRecord Prelude.Text+incidentRecord_title = Lens.lens (\IncidentRecord' {title} -> title) (\s@IncidentRecord' {} a -> s {title = a} :: IncidentRecord)++instance Data.FromJSON IncidentRecord where+  parseJSON =+    Data.withObject+      "IncidentRecord"+      ( \x ->+          IncidentRecord'+            Prelude.<$> ( x+                            Data..:? "automationExecutions"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "chatChannel")+            Prelude.<*> ( x+                            Data..:? "notificationTargets"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "resolvedTime")+            Prelude.<*> (x Data..:? "summary")+            Prelude.<*> (x Data..: "arn")+            Prelude.<*> (x Data..: "creationTime")+            Prelude.<*> (x Data..: "dedupeString")+            Prelude.<*> (x Data..: "impact")+            Prelude.<*> (x Data..: "incidentRecordSource")+            Prelude.<*> (x Data..: "lastModifiedBy")+            Prelude.<*> (x Data..: "lastModifiedTime")+            Prelude.<*> (x Data..: "status")+            Prelude.<*> (x Data..: "title")+      )++instance Prelude.Hashable IncidentRecord where+  hashWithSalt _salt IncidentRecord' {..} =+    _salt+      `Prelude.hashWithSalt` automationExecutions+      `Prelude.hashWithSalt` chatChannel+      `Prelude.hashWithSalt` notificationTargets+      `Prelude.hashWithSalt` resolvedTime+      `Prelude.hashWithSalt` summary+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` dedupeString+      `Prelude.hashWithSalt` impact+      `Prelude.hashWithSalt` incidentRecordSource+      `Prelude.hashWithSalt` lastModifiedBy+      `Prelude.hashWithSalt` lastModifiedTime+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` title++instance Prelude.NFData IncidentRecord where+  rnf IncidentRecord' {..} =+    Prelude.rnf automationExecutions+      `Prelude.seq` Prelude.rnf chatChannel+      `Prelude.seq` Prelude.rnf notificationTargets+      `Prelude.seq` Prelude.rnf resolvedTime+      `Prelude.seq` Prelude.rnf summary+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf dedupeString+      `Prelude.seq` Prelude.rnf impact+      `Prelude.seq` Prelude.rnf incidentRecordSource+      `Prelude.seq` Prelude.rnf lastModifiedBy+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf title
+ gen/Amazonka/SSMIncidents/Types/IncidentRecordSource.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.IncidentRecordSource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.IncidentRecordSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about what created the incident record and when it was created.+--+-- /See:/ 'newIncidentRecordSource' smart constructor.+data IncidentRecordSource = IncidentRecordSource'+  { -- | The service principal that assumed the role specified in @createdBy@. If+    -- no service principal assumed the role this will be left blank.+    invokedBy :: Prelude.Maybe Prelude.Text,+    -- | The resource that caused the incident to be created.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The principal that started the incident.+    createdBy :: Prelude.Text,+    -- | The service that started the incident. This can be manually created from+    -- Incident Manager, automatically created using an Amazon CloudWatch+    -- alarm, or Amazon EventBridge event.+    source :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IncidentRecordSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'invokedBy', 'incidentRecordSource_invokedBy' - The service principal that assumed the role specified in @createdBy@. If+-- no service principal assumed the role this will be left blank.+--+-- 'resourceArn', 'incidentRecordSource_resourceArn' - The resource that caused the incident to be created.+--+-- 'createdBy', 'incidentRecordSource_createdBy' - The principal that started the incident.+--+-- 'source', 'incidentRecordSource_source' - The service that started the incident. This can be manually created from+-- Incident Manager, automatically created using an Amazon CloudWatch+-- alarm, or Amazon EventBridge event.+newIncidentRecordSource ::+  -- | 'createdBy'+  Prelude.Text ->+  -- | 'source'+  Prelude.Text ->+  IncidentRecordSource+newIncidentRecordSource pCreatedBy_ pSource_ =+  IncidentRecordSource'+    { invokedBy = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      createdBy = pCreatedBy_,+      source = pSource_+    }++-- | The service principal that assumed the role specified in @createdBy@. If+-- no service principal assumed the role this will be left blank.+incidentRecordSource_invokedBy :: Lens.Lens' IncidentRecordSource (Prelude.Maybe Prelude.Text)+incidentRecordSource_invokedBy = Lens.lens (\IncidentRecordSource' {invokedBy} -> invokedBy) (\s@IncidentRecordSource' {} a -> s {invokedBy = a} :: IncidentRecordSource)++-- | The resource that caused the incident to be created.+incidentRecordSource_resourceArn :: Lens.Lens' IncidentRecordSource (Prelude.Maybe Prelude.Text)+incidentRecordSource_resourceArn = Lens.lens (\IncidentRecordSource' {resourceArn} -> resourceArn) (\s@IncidentRecordSource' {} a -> s {resourceArn = a} :: IncidentRecordSource)++-- | The principal that started the incident.+incidentRecordSource_createdBy :: Lens.Lens' IncidentRecordSource Prelude.Text+incidentRecordSource_createdBy = Lens.lens (\IncidentRecordSource' {createdBy} -> createdBy) (\s@IncidentRecordSource' {} a -> s {createdBy = a} :: IncidentRecordSource)++-- | The service that started the incident. This can be manually created from+-- Incident Manager, automatically created using an Amazon CloudWatch+-- alarm, or Amazon EventBridge event.+incidentRecordSource_source :: Lens.Lens' IncidentRecordSource Prelude.Text+incidentRecordSource_source = Lens.lens (\IncidentRecordSource' {source} -> source) (\s@IncidentRecordSource' {} a -> s {source = a} :: IncidentRecordSource)++instance Data.FromJSON IncidentRecordSource where+  parseJSON =+    Data.withObject+      "IncidentRecordSource"+      ( \x ->+          IncidentRecordSource'+            Prelude.<$> (x Data..:? "invokedBy")+            Prelude.<*> (x Data..:? "resourceArn")+            Prelude.<*> (x Data..: "createdBy")+            Prelude.<*> (x Data..: "source")+      )++instance Prelude.Hashable IncidentRecordSource where+  hashWithSalt _salt IncidentRecordSource' {..} =+    _salt+      `Prelude.hashWithSalt` invokedBy+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` createdBy+      `Prelude.hashWithSalt` source++instance Prelude.NFData IncidentRecordSource where+  rnf IncidentRecordSource' {..} =+    Prelude.rnf invokedBy+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf createdBy+      `Prelude.seq` Prelude.rnf source
+ gen/Amazonka/SSMIncidents/Types/IncidentRecordStatus.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.IncidentRecordStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.IncidentRecordStatus+  ( IncidentRecordStatus+      ( ..,+        IncidentRecordStatus_OPEN,+        IncidentRecordStatus_RESOLVED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype IncidentRecordStatus = IncidentRecordStatus'+  { fromIncidentRecordStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern IncidentRecordStatus_OPEN :: IncidentRecordStatus+pattern IncidentRecordStatus_OPEN = IncidentRecordStatus' "OPEN"++pattern IncidentRecordStatus_RESOLVED :: IncidentRecordStatus+pattern IncidentRecordStatus_RESOLVED = IncidentRecordStatus' "RESOLVED"++{-# COMPLETE+  IncidentRecordStatus_OPEN,+  IncidentRecordStatus_RESOLVED,+  IncidentRecordStatus'+  #-}
+ gen/Amazonka/SSMIncidents/Types/IncidentRecordSummary.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.IncidentRecordSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.IncidentRecordSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.IncidentRecordSource+import Amazonka.SSMIncidents.Types.IncidentRecordStatus++-- | Details describing an incident record.+--+-- /See:/ 'newIncidentRecordSummary' smart constructor.+data IncidentRecordSummary = IncidentRecordSummary'+  { -- | The time the incident was resolved.+    resolvedTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the incident.+    arn :: Prelude.Text,+    -- | The time the incident was created.+    creationTime :: Data.POSIX,+    -- | Defines the impact to customers and applications.+    impact :: Prelude.Natural,+    -- | What caused Incident Manager to create the incident.+    incidentRecordSource :: IncidentRecordSource,+    -- | The current status of the incident.+    status :: IncidentRecordStatus,+    -- | The title of the incident. This value is either provided by the response+    -- plan or overwritten on creation.+    title :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IncidentRecordSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resolvedTime', 'incidentRecordSummary_resolvedTime' - The time the incident was resolved.+--+-- 'arn', 'incidentRecordSummary_arn' - The Amazon Resource Name (ARN) of the incident.+--+-- 'creationTime', 'incidentRecordSummary_creationTime' - The time the incident was created.+--+-- 'impact', 'incidentRecordSummary_impact' - Defines the impact to customers and applications.+--+-- 'incidentRecordSource', 'incidentRecordSummary_incidentRecordSource' - What caused Incident Manager to create the incident.+--+-- 'status', 'incidentRecordSummary_status' - The current status of the incident.+--+-- 'title', 'incidentRecordSummary_title' - The title of the incident. This value is either provided by the response+-- plan or overwritten on creation.+newIncidentRecordSummary ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'creationTime'+  Prelude.UTCTime ->+  -- | 'impact'+  Prelude.Natural ->+  -- | 'incidentRecordSource'+  IncidentRecordSource ->+  -- | 'status'+  IncidentRecordStatus ->+  -- | 'title'+  Prelude.Text ->+  IncidentRecordSummary+newIncidentRecordSummary+  pArn_+  pCreationTime_+  pImpact_+  pIncidentRecordSource_+  pStatus_+  pTitle_ =+    IncidentRecordSummary'+      { resolvedTime =+          Prelude.Nothing,+        arn = pArn_,+        creationTime = Data._Time Lens.# pCreationTime_,+        impact = pImpact_,+        incidentRecordSource = pIncidentRecordSource_,+        status = pStatus_,+        title = pTitle_+      }++-- | The time the incident was resolved.+incidentRecordSummary_resolvedTime :: Lens.Lens' IncidentRecordSummary (Prelude.Maybe Prelude.UTCTime)+incidentRecordSummary_resolvedTime = Lens.lens (\IncidentRecordSummary' {resolvedTime} -> resolvedTime) (\s@IncidentRecordSummary' {} a -> s {resolvedTime = a} :: IncidentRecordSummary) Prelude.. Lens.mapping Data._Time++-- | The Amazon Resource Name (ARN) of the incident.+incidentRecordSummary_arn :: Lens.Lens' IncidentRecordSummary Prelude.Text+incidentRecordSummary_arn = Lens.lens (\IncidentRecordSummary' {arn} -> arn) (\s@IncidentRecordSummary' {} a -> s {arn = a} :: IncidentRecordSummary)++-- | The time the incident was created.+incidentRecordSummary_creationTime :: Lens.Lens' IncidentRecordSummary Prelude.UTCTime+incidentRecordSummary_creationTime = Lens.lens (\IncidentRecordSummary' {creationTime} -> creationTime) (\s@IncidentRecordSummary' {} a -> s {creationTime = a} :: IncidentRecordSummary) Prelude.. Data._Time++-- | Defines the impact to customers and applications.+incidentRecordSummary_impact :: Lens.Lens' IncidentRecordSummary Prelude.Natural+incidentRecordSummary_impact = Lens.lens (\IncidentRecordSummary' {impact} -> impact) (\s@IncidentRecordSummary' {} a -> s {impact = a} :: IncidentRecordSummary)++-- | What caused Incident Manager to create the incident.+incidentRecordSummary_incidentRecordSource :: Lens.Lens' IncidentRecordSummary IncidentRecordSource+incidentRecordSummary_incidentRecordSource = Lens.lens (\IncidentRecordSummary' {incidentRecordSource} -> incidentRecordSource) (\s@IncidentRecordSummary' {} a -> s {incidentRecordSource = a} :: IncidentRecordSummary)++-- | The current status of the incident.+incidentRecordSummary_status :: Lens.Lens' IncidentRecordSummary IncidentRecordStatus+incidentRecordSummary_status = Lens.lens (\IncidentRecordSummary' {status} -> status) (\s@IncidentRecordSummary' {} a -> s {status = a} :: IncidentRecordSummary)++-- | The title of the incident. This value is either provided by the response+-- plan or overwritten on creation.+incidentRecordSummary_title :: Lens.Lens' IncidentRecordSummary Prelude.Text+incidentRecordSummary_title = Lens.lens (\IncidentRecordSummary' {title} -> title) (\s@IncidentRecordSummary' {} a -> s {title = a} :: IncidentRecordSummary)++instance Data.FromJSON IncidentRecordSummary where+  parseJSON =+    Data.withObject+      "IncidentRecordSummary"+      ( \x ->+          IncidentRecordSummary'+            Prelude.<$> (x Data..:? "resolvedTime")+            Prelude.<*> (x Data..: "arn")+            Prelude.<*> (x Data..: "creationTime")+            Prelude.<*> (x Data..: "impact")+            Prelude.<*> (x Data..: "incidentRecordSource")+            Prelude.<*> (x Data..: "status")+            Prelude.<*> (x Data..: "title")+      )++instance Prelude.Hashable IncidentRecordSummary where+  hashWithSalt _salt IncidentRecordSummary' {..} =+    _salt+      `Prelude.hashWithSalt` resolvedTime+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` impact+      `Prelude.hashWithSalt` incidentRecordSource+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` title++instance Prelude.NFData IncidentRecordSummary where+  rnf IncidentRecordSummary' {..} =+    Prelude.rnf resolvedTime+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf impact+      `Prelude.seq` Prelude.rnf incidentRecordSource+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf title
+ gen/Amazonka/SSMIncidents/Types/IncidentTemplate.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.IncidentTemplate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.IncidentTemplate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.NotificationTargetItem++-- | Basic details used in creating a response plan. The response plan is+-- then used to create an incident record.+--+-- /See:/ 'newIncidentTemplate' smart constructor.+data IncidentTemplate = IncidentTemplate'+  { -- | Used to stop Incident Manager from creating multiple incident records+    -- for the same incident.+    dedupeString :: Prelude.Maybe Prelude.Text,+    -- | Tags to assign to the template. When the @StartIncident@ API action is+    -- called, Incident Manager assigns the tags specified in the template to+    -- the incident.+    incidentTags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The Amazon SNS targets that are notified when updates are made to an+    -- incident.+    notificationTargets :: Prelude.Maybe [NotificationTargetItem],+    -- | The summary of the incident. The summary is a brief synopsis of what+    -- occurred, what\'s currently happening, and context.+    summary :: Prelude.Maybe Prelude.Text,+    -- | The impact of the incident on your customers and applications.+    impact :: Prelude.Natural,+    -- | The title of the incident.+    title :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IncidentTemplate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dedupeString', 'incidentTemplate_dedupeString' - Used to stop Incident Manager from creating multiple incident records+-- for the same incident.+--+-- 'incidentTags', 'incidentTemplate_incidentTags' - Tags to assign to the template. When the @StartIncident@ API action is+-- called, Incident Manager assigns the tags specified in the template to+-- the incident.+--+-- 'notificationTargets', 'incidentTemplate_notificationTargets' - The Amazon SNS targets that are notified when updates are made to an+-- incident.+--+-- 'summary', 'incidentTemplate_summary' - The summary of the incident. The summary is a brief synopsis of what+-- occurred, what\'s currently happening, and context.+--+-- 'impact', 'incidentTemplate_impact' - The impact of the incident on your customers and applications.+--+-- 'title', 'incidentTemplate_title' - The title of the incident.+newIncidentTemplate ::+  -- | 'impact'+  Prelude.Natural ->+  -- | 'title'+  Prelude.Text ->+  IncidentTemplate+newIncidentTemplate pImpact_ pTitle_ =+  IncidentTemplate'+    { dedupeString = Prelude.Nothing,+      incidentTags = Prelude.Nothing,+      notificationTargets = Prelude.Nothing,+      summary = Prelude.Nothing,+      impact = pImpact_,+      title = pTitle_+    }++-- | Used to stop Incident Manager from creating multiple incident records+-- for the same incident.+incidentTemplate_dedupeString :: Lens.Lens' IncidentTemplate (Prelude.Maybe Prelude.Text)+incidentTemplate_dedupeString = Lens.lens (\IncidentTemplate' {dedupeString} -> dedupeString) (\s@IncidentTemplate' {} a -> s {dedupeString = a} :: IncidentTemplate)++-- | Tags to assign to the template. When the @StartIncident@ API action is+-- called, Incident Manager assigns the tags specified in the template to+-- the incident.+incidentTemplate_incidentTags :: Lens.Lens' IncidentTemplate (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+incidentTemplate_incidentTags = Lens.lens (\IncidentTemplate' {incidentTags} -> incidentTags) (\s@IncidentTemplate' {} a -> s {incidentTags = a} :: IncidentTemplate) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon SNS targets that are notified when updates are made to an+-- incident.+incidentTemplate_notificationTargets :: Lens.Lens' IncidentTemplate (Prelude.Maybe [NotificationTargetItem])+incidentTemplate_notificationTargets = Lens.lens (\IncidentTemplate' {notificationTargets} -> notificationTargets) (\s@IncidentTemplate' {} a -> s {notificationTargets = a} :: IncidentTemplate) Prelude.. Lens.mapping Lens.coerced++-- | The summary of the incident. The summary is a brief synopsis of what+-- occurred, what\'s currently happening, and context.+incidentTemplate_summary :: Lens.Lens' IncidentTemplate (Prelude.Maybe Prelude.Text)+incidentTemplate_summary = Lens.lens (\IncidentTemplate' {summary} -> summary) (\s@IncidentTemplate' {} a -> s {summary = a} :: IncidentTemplate)++-- | The impact of the incident on your customers and applications.+incidentTemplate_impact :: Lens.Lens' IncidentTemplate Prelude.Natural+incidentTemplate_impact = Lens.lens (\IncidentTemplate' {impact} -> impact) (\s@IncidentTemplate' {} a -> s {impact = a} :: IncidentTemplate)++-- | The title of the incident.+incidentTemplate_title :: Lens.Lens' IncidentTemplate Prelude.Text+incidentTemplate_title = Lens.lens (\IncidentTemplate' {title} -> title) (\s@IncidentTemplate' {} a -> s {title = a} :: IncidentTemplate)++instance Data.FromJSON IncidentTemplate where+  parseJSON =+    Data.withObject+      "IncidentTemplate"+      ( \x ->+          IncidentTemplate'+            Prelude.<$> (x Data..:? "dedupeString")+            Prelude.<*> (x Data..:? "incidentTags" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "notificationTargets"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "summary")+            Prelude.<*> (x Data..: "impact")+            Prelude.<*> (x Data..: "title")+      )++instance Prelude.Hashable IncidentTemplate where+  hashWithSalt _salt IncidentTemplate' {..} =+    _salt+      `Prelude.hashWithSalt` dedupeString+      `Prelude.hashWithSalt` incidentTags+      `Prelude.hashWithSalt` notificationTargets+      `Prelude.hashWithSalt` summary+      `Prelude.hashWithSalt` impact+      `Prelude.hashWithSalt` title++instance Prelude.NFData IncidentTemplate where+  rnf IncidentTemplate' {..} =+    Prelude.rnf dedupeString+      `Prelude.seq` Prelude.rnf incidentTags+      `Prelude.seq` Prelude.rnf notificationTargets+      `Prelude.seq` Prelude.rnf summary+      `Prelude.seq` Prelude.rnf impact+      `Prelude.seq` Prelude.rnf title++instance Data.ToJSON IncidentTemplate where+  toJSON IncidentTemplate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("dedupeString" Data..=) Prelude.<$> dedupeString,+            ("incidentTags" Data..=) Prelude.<$> incidentTags,+            ("notificationTargets" Data..=)+              Prelude.<$> notificationTargets,+            ("summary" Data..=) Prelude.<$> summary,+            Prelude.Just ("impact" Data..= impact),+            Prelude.Just ("title" Data..= title)+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/Integration.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.Integration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.Integration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.PagerDutyConfiguration++-- | Information about third-party services integrated into a response plan.+--+-- /See:/ 'newIntegration' smart constructor.+data Integration = Integration'+  { -- | Information about the PagerDuty service where the response plan creates+    -- an incident.+    pagerDutyConfiguration :: Prelude.Maybe PagerDutyConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Integration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'pagerDutyConfiguration', 'integration_pagerDutyConfiguration' - Information about the PagerDuty service where the response plan creates+-- an incident.+newIntegration ::+  Integration+newIntegration =+  Integration'+    { pagerDutyConfiguration =+        Prelude.Nothing+    }++-- | Information about the PagerDuty service where the response plan creates+-- an incident.+integration_pagerDutyConfiguration :: Lens.Lens' Integration (Prelude.Maybe PagerDutyConfiguration)+integration_pagerDutyConfiguration = Lens.lens (\Integration' {pagerDutyConfiguration} -> pagerDutyConfiguration) (\s@Integration' {} a -> s {pagerDutyConfiguration = a} :: Integration)++instance Data.FromJSON Integration where+  parseJSON =+    Data.withObject+      "Integration"+      ( \x ->+          Integration'+            Prelude.<$> (x Data..:? "pagerDutyConfiguration")+      )++instance Prelude.Hashable Integration where+  hashWithSalt _salt Integration' {..} =+    _salt `Prelude.hashWithSalt` pagerDutyConfiguration++instance Prelude.NFData Integration where+  rnf Integration' {..} =+    Prelude.rnf pagerDutyConfiguration++instance Data.ToJSON Integration where+  toJSON Integration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("pagerDutyConfiguration" Data..=)+              Prelude.<$> pagerDutyConfiguration+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/ItemIdentifier.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.ItemIdentifier+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.ItemIdentifier where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.ItemType+import Amazonka.SSMIncidents.Types.ItemValue++-- | Details and type of a related item.+--+-- /See:/ 'newItemIdentifier' smart constructor.+data ItemIdentifier = ItemIdentifier'+  { -- | The type of related item.+    type' :: ItemType,+    -- | Details about the related item.+    value :: ItemValue+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ItemIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'itemIdentifier_type' - The type of related item.+--+-- 'value', 'itemIdentifier_value' - Details about the related item.+newItemIdentifier ::+  -- | 'type''+  ItemType ->+  -- | 'value'+  ItemValue ->+  ItemIdentifier+newItemIdentifier pType_ pValue_ =+  ItemIdentifier' {type' = pType_, value = pValue_}++-- | The type of related item.+itemIdentifier_type :: Lens.Lens' ItemIdentifier ItemType+itemIdentifier_type = Lens.lens (\ItemIdentifier' {type'} -> type') (\s@ItemIdentifier' {} a -> s {type' = a} :: ItemIdentifier)++-- | Details about the related item.+itemIdentifier_value :: Lens.Lens' ItemIdentifier ItemValue+itemIdentifier_value = Lens.lens (\ItemIdentifier' {value} -> value) (\s@ItemIdentifier' {} a -> s {value = a} :: ItemIdentifier)++instance Data.FromJSON ItemIdentifier where+  parseJSON =+    Data.withObject+      "ItemIdentifier"+      ( \x ->+          ItemIdentifier'+            Prelude.<$> (x Data..: "type")+            Prelude.<*> (x Data..: "value")+      )++instance Prelude.Hashable ItemIdentifier where+  hashWithSalt _salt ItemIdentifier' {..} =+    _salt+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` value++instance Prelude.NFData ItemIdentifier where+  rnf ItemIdentifier' {..} =+    Prelude.rnf type' `Prelude.seq` Prelude.rnf value++instance Data.ToJSON ItemIdentifier where+  toJSON ItemIdentifier' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("type" Data..= type'),+            Prelude.Just ("value" Data..= value)+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/ItemType.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.ItemType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.ItemType+  ( ItemType+      ( ..,+        ItemType_ANALYSIS,+        ItemType_ATTACHMENT,+        ItemType_AUTOMATION,+        ItemType_INCIDENT,+        ItemType_INVOLVED_RESOURCE,+        ItemType_METRIC,+        ItemType_OTHER,+        ItemType_PARENT,+        ItemType_TASK+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ItemType = ItemType'+  { fromItemType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ItemType_ANALYSIS :: ItemType+pattern ItemType_ANALYSIS = ItemType' "ANALYSIS"++pattern ItemType_ATTACHMENT :: ItemType+pattern ItemType_ATTACHMENT = ItemType' "ATTACHMENT"++pattern ItemType_AUTOMATION :: ItemType+pattern ItemType_AUTOMATION = ItemType' "AUTOMATION"++pattern ItemType_INCIDENT :: ItemType+pattern ItemType_INCIDENT = ItemType' "INCIDENT"++pattern ItemType_INVOLVED_RESOURCE :: ItemType+pattern ItemType_INVOLVED_RESOURCE = ItemType' "INVOLVED_RESOURCE"++pattern ItemType_METRIC :: ItemType+pattern ItemType_METRIC = ItemType' "METRIC"++pattern ItemType_OTHER :: ItemType+pattern ItemType_OTHER = ItemType' "OTHER"++pattern ItemType_PARENT :: ItemType+pattern ItemType_PARENT = ItemType' "PARENT"++pattern ItemType_TASK :: ItemType+pattern ItemType_TASK = ItemType' "TASK"++{-# COMPLETE+  ItemType_ANALYSIS,+  ItemType_ATTACHMENT,+  ItemType_AUTOMATION,+  ItemType_INCIDENT,+  ItemType_INVOLVED_RESOURCE,+  ItemType_METRIC,+  ItemType_OTHER,+  ItemType_PARENT,+  ItemType_TASK,+  ItemType'+  #-}
+ gen/Amazonka/SSMIncidents/Types/ItemValue.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.ItemValue+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.ItemValue where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.PagerDutyIncidentDetail++-- | Describes a related item.+--+-- /See:/ 'newItemValue' smart constructor.+data ItemValue = ItemValue'+  { -- | The Amazon Resource Name (ARN) of the related item, if the related item+    -- is an Amazon resource.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The metric definition, if the related item is a metric in Amazon+    -- CloudWatch.+    metricDefinition :: Prelude.Maybe Prelude.Text,+    -- | Details about an incident that is associated with a PagerDuty incident.+    pagerDutyIncidentDetail :: Prelude.Maybe PagerDutyIncidentDetail,+    -- | The URL, if the related item is a non-Amazon Web Services resource.+    url :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ItemValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'itemValue_arn' - The Amazon Resource Name (ARN) of the related item, if the related item+-- is an Amazon resource.+--+-- 'metricDefinition', 'itemValue_metricDefinition' - The metric definition, if the related item is a metric in Amazon+-- CloudWatch.+--+-- 'pagerDutyIncidentDetail', 'itemValue_pagerDutyIncidentDetail' - Details about an incident that is associated with a PagerDuty incident.+--+-- 'url', 'itemValue_url' - The URL, if the related item is a non-Amazon Web Services resource.+newItemValue ::+  ItemValue+newItemValue =+  ItemValue'+    { arn = Prelude.Nothing,+      metricDefinition = Prelude.Nothing,+      pagerDutyIncidentDetail = Prelude.Nothing,+      url = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the related item, if the related item+-- is an Amazon resource.+itemValue_arn :: Lens.Lens' ItemValue (Prelude.Maybe Prelude.Text)+itemValue_arn = Lens.lens (\ItemValue' {arn} -> arn) (\s@ItemValue' {} a -> s {arn = a} :: ItemValue)++-- | The metric definition, if the related item is a metric in Amazon+-- CloudWatch.+itemValue_metricDefinition :: Lens.Lens' ItemValue (Prelude.Maybe Prelude.Text)+itemValue_metricDefinition = Lens.lens (\ItemValue' {metricDefinition} -> metricDefinition) (\s@ItemValue' {} a -> s {metricDefinition = a} :: ItemValue)++-- | Details about an incident that is associated with a PagerDuty incident.+itemValue_pagerDutyIncidentDetail :: Lens.Lens' ItemValue (Prelude.Maybe PagerDutyIncidentDetail)+itemValue_pagerDutyIncidentDetail = Lens.lens (\ItemValue' {pagerDutyIncidentDetail} -> pagerDutyIncidentDetail) (\s@ItemValue' {} a -> s {pagerDutyIncidentDetail = a} :: ItemValue)++-- | The URL, if the related item is a non-Amazon Web Services resource.+itemValue_url :: Lens.Lens' ItemValue (Prelude.Maybe Prelude.Text)+itemValue_url = Lens.lens (\ItemValue' {url} -> url) (\s@ItemValue' {} a -> s {url = a} :: ItemValue)++instance Data.FromJSON ItemValue where+  parseJSON =+    Data.withObject+      "ItemValue"+      ( \x ->+          ItemValue'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "metricDefinition")+            Prelude.<*> (x Data..:? "pagerDutyIncidentDetail")+            Prelude.<*> (x Data..:? "url")+      )++instance Prelude.Hashable ItemValue where+  hashWithSalt _salt ItemValue' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` metricDefinition+      `Prelude.hashWithSalt` pagerDutyIncidentDetail+      `Prelude.hashWithSalt` url++instance Prelude.NFData ItemValue where+  rnf ItemValue' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf metricDefinition+      `Prelude.seq` Prelude.rnf pagerDutyIncidentDetail+      `Prelude.seq` Prelude.rnf url++instance Data.ToJSON ItemValue where+  toJSON ItemValue' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("arn" Data..=) Prelude.<$> arn,+            ("metricDefinition" Data..=)+              Prelude.<$> metricDefinition,+            ("pagerDutyIncidentDetail" Data..=)+              Prelude.<$> pagerDutyIncidentDetail,+            ("url" Data..=) Prelude.<$> url+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/NotificationTargetItem.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.NotificationTargetItem+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.NotificationTargetItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The SNS targets that are notified when updates are made to an incident.+--+-- /See:/ 'newNotificationTargetItem' smart constructor.+data NotificationTargetItem = NotificationTargetItem'+  { -- | The Amazon Resource Name (ARN) of the SNS topic.+    snsTopicArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NotificationTargetItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'snsTopicArn', 'notificationTargetItem_snsTopicArn' - The Amazon Resource Name (ARN) of the SNS topic.+newNotificationTargetItem ::+  NotificationTargetItem+newNotificationTargetItem =+  NotificationTargetItem'+    { snsTopicArn =+        Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the SNS topic.+notificationTargetItem_snsTopicArn :: Lens.Lens' NotificationTargetItem (Prelude.Maybe Prelude.Text)+notificationTargetItem_snsTopicArn = Lens.lens (\NotificationTargetItem' {snsTopicArn} -> snsTopicArn) (\s@NotificationTargetItem' {} a -> s {snsTopicArn = a} :: NotificationTargetItem)++instance Data.FromJSON NotificationTargetItem where+  parseJSON =+    Data.withObject+      "NotificationTargetItem"+      ( \x ->+          NotificationTargetItem'+            Prelude.<$> (x Data..:? "snsTopicArn")+      )++instance Prelude.Hashable NotificationTargetItem where+  hashWithSalt _salt NotificationTargetItem' {..} =+    _salt `Prelude.hashWithSalt` snsTopicArn++instance Prelude.NFData NotificationTargetItem where+  rnf NotificationTargetItem' {..} =+    Prelude.rnf snsTopicArn++instance Data.ToJSON NotificationTargetItem where+  toJSON NotificationTargetItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [("snsTopicArn" Data..=) Prelude.<$> snsTopicArn]+      )
+ gen/Amazonka/SSMIncidents/Types/PagerDutyConfiguration.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.PagerDutyConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.PagerDutyConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.PagerDutyIncidentConfiguration++-- | Details about the PagerDuty configuration for a response plan.+--+-- /See:/ 'newPagerDutyConfiguration' smart constructor.+data PagerDutyConfiguration = PagerDutyConfiguration'+  { -- | The name of the PagerDuty configuration.+    name :: Prelude.Text,+    -- | Details about the PagerDuty service associated with the configuration.+    pagerDutyIncidentConfiguration :: PagerDutyIncidentConfiguration,+    -- | The ID of the Amazon Web Services Secrets Manager secret that stores+    -- your PagerDuty key, either a General Access REST API Key or User Token+    -- REST API Key, and other user credentials.+    secretId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PagerDutyConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'pagerDutyConfiguration_name' - The name of the PagerDuty configuration.+--+-- 'pagerDutyIncidentConfiguration', 'pagerDutyConfiguration_pagerDutyIncidentConfiguration' - Details about the PagerDuty service associated with the configuration.+--+-- 'secretId', 'pagerDutyConfiguration_secretId' - The ID of the Amazon Web Services Secrets Manager secret that stores+-- your PagerDuty key, either a General Access REST API Key or User Token+-- REST API Key, and other user credentials.+newPagerDutyConfiguration ::+  -- | 'name'+  Prelude.Text ->+  -- | 'pagerDutyIncidentConfiguration'+  PagerDutyIncidentConfiguration ->+  -- | 'secretId'+  Prelude.Text ->+  PagerDutyConfiguration+newPagerDutyConfiguration+  pName_+  pPagerDutyIncidentConfiguration_+  pSecretId_ =+    PagerDutyConfiguration'+      { name = pName_,+        pagerDutyIncidentConfiguration =+          pPagerDutyIncidentConfiguration_,+        secretId = pSecretId_+      }++-- | The name of the PagerDuty configuration.+pagerDutyConfiguration_name :: Lens.Lens' PagerDutyConfiguration Prelude.Text+pagerDutyConfiguration_name = Lens.lens (\PagerDutyConfiguration' {name} -> name) (\s@PagerDutyConfiguration' {} a -> s {name = a} :: PagerDutyConfiguration)++-- | Details about the PagerDuty service associated with the configuration.+pagerDutyConfiguration_pagerDutyIncidentConfiguration :: Lens.Lens' PagerDutyConfiguration PagerDutyIncidentConfiguration+pagerDutyConfiguration_pagerDutyIncidentConfiguration = Lens.lens (\PagerDutyConfiguration' {pagerDutyIncidentConfiguration} -> pagerDutyIncidentConfiguration) (\s@PagerDutyConfiguration' {} a -> s {pagerDutyIncidentConfiguration = a} :: PagerDutyConfiguration)++-- | The ID of the Amazon Web Services Secrets Manager secret that stores+-- your PagerDuty key, either a General Access REST API Key or User Token+-- REST API Key, and other user credentials.+pagerDutyConfiguration_secretId :: Lens.Lens' PagerDutyConfiguration Prelude.Text+pagerDutyConfiguration_secretId = Lens.lens (\PagerDutyConfiguration' {secretId} -> secretId) (\s@PagerDutyConfiguration' {} a -> s {secretId = a} :: PagerDutyConfiguration)++instance Data.FromJSON PagerDutyConfiguration where+  parseJSON =+    Data.withObject+      "PagerDutyConfiguration"+      ( \x ->+          PagerDutyConfiguration'+            Prelude.<$> (x Data..: "name")+            Prelude.<*> (x Data..: "pagerDutyIncidentConfiguration")+            Prelude.<*> (x Data..: "secretId")+      )++instance Prelude.Hashable PagerDutyConfiguration where+  hashWithSalt _salt PagerDutyConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` pagerDutyIncidentConfiguration+      `Prelude.hashWithSalt` secretId++instance Prelude.NFData PagerDutyConfiguration where+  rnf PagerDutyConfiguration' {..} =+    Prelude.rnf name+      `Prelude.seq` Prelude.rnf pagerDutyIncidentConfiguration+      `Prelude.seq` Prelude.rnf secretId++instance Data.ToJSON PagerDutyConfiguration where+  toJSON PagerDutyConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("name" Data..= name),+            Prelude.Just+              ( "pagerDutyIncidentConfiguration"+                  Data..= pagerDutyIncidentConfiguration+              ),+            Prelude.Just ("secretId" Data..= secretId)+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/PagerDutyIncidentConfiguration.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.PagerDutyIncidentConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.PagerDutyIncidentConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about the PagerDuty service where the response plan creates an+-- incident.+--+-- /See:/ 'newPagerDutyIncidentConfiguration' smart constructor.+data PagerDutyIncidentConfiguration = PagerDutyIncidentConfiguration'+  { -- | The ID of the PagerDuty service that the response plan associates with+    -- an incident when it launches.+    serviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PagerDutyIncidentConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'serviceId', 'pagerDutyIncidentConfiguration_serviceId' - The ID of the PagerDuty service that the response plan associates with+-- an incident when it launches.+newPagerDutyIncidentConfiguration ::+  -- | 'serviceId'+  Prelude.Text ->+  PagerDutyIncidentConfiguration+newPagerDutyIncidentConfiguration pServiceId_ =+  PagerDutyIncidentConfiguration'+    { serviceId =+        pServiceId_+    }++-- | The ID of the PagerDuty service that the response plan associates with+-- an incident when it launches.+pagerDutyIncidentConfiguration_serviceId :: Lens.Lens' PagerDutyIncidentConfiguration Prelude.Text+pagerDutyIncidentConfiguration_serviceId = Lens.lens (\PagerDutyIncidentConfiguration' {serviceId} -> serviceId) (\s@PagerDutyIncidentConfiguration' {} a -> s {serviceId = a} :: PagerDutyIncidentConfiguration)++instance Data.FromJSON PagerDutyIncidentConfiguration where+  parseJSON =+    Data.withObject+      "PagerDutyIncidentConfiguration"+      ( \x ->+          PagerDutyIncidentConfiguration'+            Prelude.<$> (x Data..: "serviceId")+      )++instance+  Prelude.Hashable+    PagerDutyIncidentConfiguration+  where+  hashWithSalt+    _salt+    PagerDutyIncidentConfiguration' {..} =+      _salt `Prelude.hashWithSalt` serviceId++instance+  Prelude.NFData+    PagerDutyIncidentConfiguration+  where+  rnf PagerDutyIncidentConfiguration' {..} =+    Prelude.rnf serviceId++instance Data.ToJSON PagerDutyIncidentConfiguration where+  toJSON PagerDutyIncidentConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("serviceId" Data..= serviceId)]+      )
+ gen/Amazonka/SSMIncidents/Types/PagerDutyIncidentDetail.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.PagerDutyIncidentDetail+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.PagerDutyIncidentDetail where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about the PagerDuty incident associated with an incident created+-- by an Incident Manager response plan.+--+-- /See:/ 'newPagerDutyIncidentDetail' smart constructor.+data PagerDutyIncidentDetail = PagerDutyIncidentDetail'+  { -- | Indicates whether to resolve the PagerDuty incident when you resolve the+    -- associated Incident Manager incident.+    autoResolve :: Prelude.Maybe Prelude.Bool,+    -- | The ID of the Amazon Web Services Secrets Manager secret that stores+    -- your PagerDuty key, either a General Access REST API Key or User Token+    -- REST API Key, and other user credentials.+    secretId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the incident associated with the PagerDuty service for the+    -- response plan.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PagerDutyIncidentDetail' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'autoResolve', 'pagerDutyIncidentDetail_autoResolve' - Indicates whether to resolve the PagerDuty incident when you resolve the+-- associated Incident Manager incident.+--+-- 'secretId', 'pagerDutyIncidentDetail_secretId' - The ID of the Amazon Web Services Secrets Manager secret that stores+-- your PagerDuty key, either a General Access REST API Key or User Token+-- REST API Key, and other user credentials.+--+-- 'id', 'pagerDutyIncidentDetail_id' - The ID of the incident associated with the PagerDuty service for the+-- response plan.+newPagerDutyIncidentDetail ::+  -- | 'id'+  Prelude.Text ->+  PagerDutyIncidentDetail+newPagerDutyIncidentDetail pId_ =+  PagerDutyIncidentDetail'+    { autoResolve =+        Prelude.Nothing,+      secretId = Prelude.Nothing,+      id = pId_+    }++-- | Indicates whether to resolve the PagerDuty incident when you resolve the+-- associated Incident Manager incident.+pagerDutyIncidentDetail_autoResolve :: Lens.Lens' PagerDutyIncidentDetail (Prelude.Maybe Prelude.Bool)+pagerDutyIncidentDetail_autoResolve = Lens.lens (\PagerDutyIncidentDetail' {autoResolve} -> autoResolve) (\s@PagerDutyIncidentDetail' {} a -> s {autoResolve = a} :: PagerDutyIncidentDetail)++-- | The ID of the Amazon Web Services Secrets Manager secret that stores+-- your PagerDuty key, either a General Access REST API Key or User Token+-- REST API Key, and other user credentials.+pagerDutyIncidentDetail_secretId :: Lens.Lens' PagerDutyIncidentDetail (Prelude.Maybe Prelude.Text)+pagerDutyIncidentDetail_secretId = Lens.lens (\PagerDutyIncidentDetail' {secretId} -> secretId) (\s@PagerDutyIncidentDetail' {} a -> s {secretId = a} :: PagerDutyIncidentDetail)++-- | The ID of the incident associated with the PagerDuty service for the+-- response plan.+pagerDutyIncidentDetail_id :: Lens.Lens' PagerDutyIncidentDetail Prelude.Text+pagerDutyIncidentDetail_id = Lens.lens (\PagerDutyIncidentDetail' {id} -> id) (\s@PagerDutyIncidentDetail' {} a -> s {id = a} :: PagerDutyIncidentDetail)++instance Data.FromJSON PagerDutyIncidentDetail where+  parseJSON =+    Data.withObject+      "PagerDutyIncidentDetail"+      ( \x ->+          PagerDutyIncidentDetail'+            Prelude.<$> (x Data..:? "autoResolve")+            Prelude.<*> (x Data..:? "secretId")+            Prelude.<*> (x Data..: "id")+      )++instance Prelude.Hashable PagerDutyIncidentDetail where+  hashWithSalt _salt PagerDutyIncidentDetail' {..} =+    _salt+      `Prelude.hashWithSalt` autoResolve+      `Prelude.hashWithSalt` secretId+      `Prelude.hashWithSalt` id++instance Prelude.NFData PagerDutyIncidentDetail where+  rnf PagerDutyIncidentDetail' {..} =+    Prelude.rnf autoResolve+      `Prelude.seq` Prelude.rnf secretId+      `Prelude.seq` Prelude.rnf id++instance Data.ToJSON PagerDutyIncidentDetail where+  toJSON PagerDutyIncidentDetail' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("autoResolve" Data..=) Prelude.<$> autoResolve,+            ("secretId" Data..=) Prelude.<$> secretId,+            Prelude.Just ("id" Data..= id)+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/RegionInfo.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.RegionInfo+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.RegionInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.RegionStatus++-- | Information about a Amazon Web Services Region in your replication set.+--+-- /See:/ 'newRegionInfo' smart constructor.+data RegionInfo = RegionInfo'+  { -- | The ID of the KMS key used to encrypt the data in this Amazon Web+    -- Services Region.+    sseKmsKeyId :: Prelude.Maybe Prelude.Text,+    -- | Information displayed about the status of the Amazon Web Services+    -- Region.+    statusMessage :: Prelude.Maybe Prelude.Text,+    -- | The status of the Amazon Web Services Region in the replication set.+    status :: RegionStatus,+    -- | The most recent date and time that Incident Manager updated the Amazon+    -- Web Services Region\'s status.+    statusUpdateDateTime :: Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegionInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sseKmsKeyId', 'regionInfo_sseKmsKeyId' - The ID of the KMS key used to encrypt the data in this Amazon Web+-- Services Region.+--+-- 'statusMessage', 'regionInfo_statusMessage' - Information displayed about the status of the Amazon Web Services+-- Region.+--+-- 'status', 'regionInfo_status' - The status of the Amazon Web Services Region in the replication set.+--+-- 'statusUpdateDateTime', 'regionInfo_statusUpdateDateTime' - The most recent date and time that Incident Manager updated the Amazon+-- Web Services Region\'s status.+newRegionInfo ::+  -- | 'status'+  RegionStatus ->+  -- | 'statusUpdateDateTime'+  Prelude.UTCTime ->+  RegionInfo+newRegionInfo pStatus_ pStatusUpdateDateTime_ =+  RegionInfo'+    { sseKmsKeyId = Prelude.Nothing,+      statusMessage = Prelude.Nothing,+      status = pStatus_,+      statusUpdateDateTime =+        Data._Time Lens.# pStatusUpdateDateTime_+    }++-- | The ID of the KMS key used to encrypt the data in this Amazon Web+-- Services Region.+regionInfo_sseKmsKeyId :: Lens.Lens' RegionInfo (Prelude.Maybe Prelude.Text)+regionInfo_sseKmsKeyId = Lens.lens (\RegionInfo' {sseKmsKeyId} -> sseKmsKeyId) (\s@RegionInfo' {} a -> s {sseKmsKeyId = a} :: RegionInfo)++-- | Information displayed about the status of the Amazon Web Services+-- Region.+regionInfo_statusMessage :: Lens.Lens' RegionInfo (Prelude.Maybe Prelude.Text)+regionInfo_statusMessage = Lens.lens (\RegionInfo' {statusMessage} -> statusMessage) (\s@RegionInfo' {} a -> s {statusMessage = a} :: RegionInfo)++-- | The status of the Amazon Web Services Region in the replication set.+regionInfo_status :: Lens.Lens' RegionInfo RegionStatus+regionInfo_status = Lens.lens (\RegionInfo' {status} -> status) (\s@RegionInfo' {} a -> s {status = a} :: RegionInfo)++-- | The most recent date and time that Incident Manager updated the Amazon+-- Web Services Region\'s status.+regionInfo_statusUpdateDateTime :: Lens.Lens' RegionInfo Prelude.UTCTime+regionInfo_statusUpdateDateTime = Lens.lens (\RegionInfo' {statusUpdateDateTime} -> statusUpdateDateTime) (\s@RegionInfo' {} a -> s {statusUpdateDateTime = a} :: RegionInfo) Prelude.. Data._Time++instance Data.FromJSON RegionInfo where+  parseJSON =+    Data.withObject+      "RegionInfo"+      ( \x ->+          RegionInfo'+            Prelude.<$> (x Data..:? "sseKmsKeyId")+            Prelude.<*> (x Data..:? "statusMessage")+            Prelude.<*> (x Data..: "status")+            Prelude.<*> (x Data..: "statusUpdateDateTime")+      )++instance Prelude.Hashable RegionInfo where+  hashWithSalt _salt RegionInfo' {..} =+    _salt+      `Prelude.hashWithSalt` sseKmsKeyId+      `Prelude.hashWithSalt` statusMessage+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` statusUpdateDateTime++instance Prelude.NFData RegionInfo where+  rnf RegionInfo' {..} =+    Prelude.rnf sseKmsKeyId+      `Prelude.seq` Prelude.rnf statusMessage+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusUpdateDateTime
+ gen/Amazonka/SSMIncidents/Types/RegionMapInputValue.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.RegionMapInputValue+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.RegionMapInputValue where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The mapping between a Amazon Web Services Region and the key that\'s+-- used to encrypt the data.+--+-- /See:/ 'newRegionMapInputValue' smart constructor.+data RegionMapInputValue = RegionMapInputValue'+  { -- | The KMS key used to encrypt the data in your replication set.+    sseKmsKeyId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegionMapInputValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sseKmsKeyId', 'regionMapInputValue_sseKmsKeyId' - The KMS key used to encrypt the data in your replication set.+newRegionMapInputValue ::+  RegionMapInputValue+newRegionMapInputValue =+  RegionMapInputValue' {sseKmsKeyId = Prelude.Nothing}++-- | The KMS key used to encrypt the data in your replication set.+regionMapInputValue_sseKmsKeyId :: Lens.Lens' RegionMapInputValue (Prelude.Maybe Prelude.Text)+regionMapInputValue_sseKmsKeyId = Lens.lens (\RegionMapInputValue' {sseKmsKeyId} -> sseKmsKeyId) (\s@RegionMapInputValue' {} a -> s {sseKmsKeyId = a} :: RegionMapInputValue)++instance Prelude.Hashable RegionMapInputValue where+  hashWithSalt _salt RegionMapInputValue' {..} =+    _salt `Prelude.hashWithSalt` sseKmsKeyId++instance Prelude.NFData RegionMapInputValue where+  rnf RegionMapInputValue' {..} =+    Prelude.rnf sseKmsKeyId++instance Data.ToJSON RegionMapInputValue where+  toJSON RegionMapInputValue' {..} =+    Data.object+      ( Prelude.catMaybes+          [("sseKmsKeyId" Data..=) Prelude.<$> sseKmsKeyId]+      )
+ gen/Amazonka/SSMIncidents/Types/RegionStatus.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.RegionStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.RegionStatus+  ( RegionStatus+      ( ..,+        RegionStatus_ACTIVE,+        RegionStatus_CREATING,+        RegionStatus_DELETING,+        RegionStatus_FAILED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RegionStatus = RegionStatus'+  { fromRegionStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern RegionStatus_ACTIVE :: RegionStatus+pattern RegionStatus_ACTIVE = RegionStatus' "ACTIVE"++pattern RegionStatus_CREATING :: RegionStatus+pattern RegionStatus_CREATING = RegionStatus' "CREATING"++pattern RegionStatus_DELETING :: RegionStatus+pattern RegionStatus_DELETING = RegionStatus' "DELETING"++pattern RegionStatus_FAILED :: RegionStatus+pattern RegionStatus_FAILED = RegionStatus' "FAILED"++{-# COMPLETE+  RegionStatus_ACTIVE,+  RegionStatus_CREATING,+  RegionStatus_DELETING,+  RegionStatus_FAILED,+  RegionStatus'+  #-}
+ gen/Amazonka/SSMIncidents/Types/RelatedItem.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.RelatedItem+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.RelatedItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.ItemIdentifier++-- | Resources that responders use to triage and mitigate the incident.+--+-- /See:/ 'newRelatedItem' smart constructor.+data RelatedItem = RelatedItem'+  { -- | A unique ID for a @RelatedItem@.+    --+    -- Don\'t specify this parameter when you add a @RelatedItem@ by using the+    -- UpdateRelatedItems API action.+    generatedId :: Prelude.Maybe Prelude.Text,+    -- | The title of the related item.+    title :: Prelude.Maybe Prelude.Text,+    -- | Details about the related item.+    identifier :: ItemIdentifier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RelatedItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'generatedId', 'relatedItem_generatedId' - A unique ID for a @RelatedItem@.+--+-- Don\'t specify this parameter when you add a @RelatedItem@ by using the+-- UpdateRelatedItems API action.+--+-- 'title', 'relatedItem_title' - The title of the related item.+--+-- 'identifier', 'relatedItem_identifier' - Details about the related item.+newRelatedItem ::+  -- | 'identifier'+  ItemIdentifier ->+  RelatedItem+newRelatedItem pIdentifier_ =+  RelatedItem'+    { generatedId = Prelude.Nothing,+      title = Prelude.Nothing,+      identifier = pIdentifier_+    }++-- | A unique ID for a @RelatedItem@.+--+-- Don\'t specify this parameter when you add a @RelatedItem@ by using the+-- UpdateRelatedItems API action.+relatedItem_generatedId :: Lens.Lens' RelatedItem (Prelude.Maybe Prelude.Text)+relatedItem_generatedId = Lens.lens (\RelatedItem' {generatedId} -> generatedId) (\s@RelatedItem' {} a -> s {generatedId = a} :: RelatedItem)++-- | The title of the related item.+relatedItem_title :: Lens.Lens' RelatedItem (Prelude.Maybe Prelude.Text)+relatedItem_title = Lens.lens (\RelatedItem' {title} -> title) (\s@RelatedItem' {} a -> s {title = a} :: RelatedItem)++-- | Details about the related item.+relatedItem_identifier :: Lens.Lens' RelatedItem ItemIdentifier+relatedItem_identifier = Lens.lens (\RelatedItem' {identifier} -> identifier) (\s@RelatedItem' {} a -> s {identifier = a} :: RelatedItem)++instance Data.FromJSON RelatedItem where+  parseJSON =+    Data.withObject+      "RelatedItem"+      ( \x ->+          RelatedItem'+            Prelude.<$> (x Data..:? "generatedId")+            Prelude.<*> (x Data..:? "title")+            Prelude.<*> (x Data..: "identifier")+      )++instance Prelude.Hashable RelatedItem where+  hashWithSalt _salt RelatedItem' {..} =+    _salt+      `Prelude.hashWithSalt` generatedId+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` identifier++instance Prelude.NFData RelatedItem where+  rnf RelatedItem' {..} =+    Prelude.rnf generatedId+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf identifier++instance Data.ToJSON RelatedItem where+  toJSON RelatedItem' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("generatedId" Data..=) Prelude.<$> generatedId,+            ("title" Data..=) Prelude.<$> title,+            Prelude.Just ("identifier" Data..= identifier)+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/RelatedItemsUpdate.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.RelatedItemsUpdate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.RelatedItemsUpdate where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.ItemIdentifier+import Amazonka.SSMIncidents.Types.RelatedItem++-- | Details about the related item you\'re adding.+--+-- /See:/ 'newRelatedItemsUpdate' smart constructor.+data RelatedItemsUpdate = RelatedItemsUpdate'+  { -- | Details about the related item you\'re adding.+    itemToAdd :: Prelude.Maybe RelatedItem,+    -- | Details about the related item you\'re deleting.+    itemToRemove :: Prelude.Maybe ItemIdentifier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RelatedItemsUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'itemToAdd', 'relatedItemsUpdate_itemToAdd' - Details about the related item you\'re adding.+--+-- 'itemToRemove', 'relatedItemsUpdate_itemToRemove' - Details about the related item you\'re deleting.+newRelatedItemsUpdate ::+  RelatedItemsUpdate+newRelatedItemsUpdate =+  RelatedItemsUpdate'+    { itemToAdd = Prelude.Nothing,+      itemToRemove = Prelude.Nothing+    }++-- | Details about the related item you\'re adding.+relatedItemsUpdate_itemToAdd :: Lens.Lens' RelatedItemsUpdate (Prelude.Maybe RelatedItem)+relatedItemsUpdate_itemToAdd = Lens.lens (\RelatedItemsUpdate' {itemToAdd} -> itemToAdd) (\s@RelatedItemsUpdate' {} a -> s {itemToAdd = a} :: RelatedItemsUpdate)++-- | Details about the related item you\'re deleting.+relatedItemsUpdate_itemToRemove :: Lens.Lens' RelatedItemsUpdate (Prelude.Maybe ItemIdentifier)+relatedItemsUpdate_itemToRemove = Lens.lens (\RelatedItemsUpdate' {itemToRemove} -> itemToRemove) (\s@RelatedItemsUpdate' {} a -> s {itemToRemove = a} :: RelatedItemsUpdate)++instance Prelude.Hashable RelatedItemsUpdate where+  hashWithSalt _salt RelatedItemsUpdate' {..} =+    _salt+      `Prelude.hashWithSalt` itemToAdd+      `Prelude.hashWithSalt` itemToRemove++instance Prelude.NFData RelatedItemsUpdate where+  rnf RelatedItemsUpdate' {..} =+    Prelude.rnf itemToAdd+      `Prelude.seq` Prelude.rnf itemToRemove++instance Data.ToJSON RelatedItemsUpdate where+  toJSON RelatedItemsUpdate' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("itemToAdd" Data..=) Prelude.<$> itemToAdd,+            ("itemToRemove" Data..=) Prelude.<$> itemToRemove+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/ReplicationSet.hs view
@@ -0,0 +1,190 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.ReplicationSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.ReplicationSet where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.RegionInfo+import Amazonka.SSMIncidents.Types.ReplicationSetStatus++-- | The set of Amazon Web Services Region that your Incident Manager data+-- will be replicated to and the KMS key used to encrypt the data.+--+-- /See:/ 'newReplicationSet' smart constructor.+data ReplicationSet = ReplicationSet'+  { -- | The Amazon Resource Name (ARN) of the replication set.+    arn :: Prelude.Maybe Prelude.Text,+    -- | Details about who created the replication set.+    createdBy :: Prelude.Text,+    -- | When the replication set was created.+    createdTime :: Data.POSIX,+    -- | Determines if the replication set deletion protection is enabled or not.+    -- If deletion protection is enabled, you can\'t delete the last Amazon Web+    -- Services Region in the replication set.+    deletionProtected :: Prelude.Bool,+    -- | Who last modified the replication set.+    lastModifiedBy :: Prelude.Text,+    -- | When the replication set was last updated.+    lastModifiedTime :: Data.POSIX,+    -- | The map between each Amazon Web Services Region in your replication set+    -- and the KMS key that\'s used to encrypt the data in that Region.+    regionMap :: Prelude.HashMap Prelude.Text RegionInfo,+    -- | The status of the replication set. If the replication set is still+    -- pending, you can\'t use Incident Manager functionality.+    status :: ReplicationSetStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReplicationSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'replicationSet_arn' - The Amazon Resource Name (ARN) of the replication set.+--+-- 'createdBy', 'replicationSet_createdBy' - Details about who created the replication set.+--+-- 'createdTime', 'replicationSet_createdTime' - When the replication set was created.+--+-- 'deletionProtected', 'replicationSet_deletionProtected' - Determines if the replication set deletion protection is enabled or not.+-- If deletion protection is enabled, you can\'t delete the last Amazon Web+-- Services Region in the replication set.+--+-- 'lastModifiedBy', 'replicationSet_lastModifiedBy' - Who last modified the replication set.+--+-- 'lastModifiedTime', 'replicationSet_lastModifiedTime' - When the replication set was last updated.+--+-- 'regionMap', 'replicationSet_regionMap' - The map between each Amazon Web Services Region in your replication set+-- and the KMS key that\'s used to encrypt the data in that Region.+--+-- 'status', 'replicationSet_status' - The status of the replication set. If the replication set is still+-- pending, you can\'t use Incident Manager functionality.+newReplicationSet ::+  -- | 'createdBy'+  Prelude.Text ->+  -- | 'createdTime'+  Prelude.UTCTime ->+  -- | 'deletionProtected'+  Prelude.Bool ->+  -- | 'lastModifiedBy'+  Prelude.Text ->+  -- | 'lastModifiedTime'+  Prelude.UTCTime ->+  -- | 'status'+  ReplicationSetStatus ->+  ReplicationSet+newReplicationSet+  pCreatedBy_+  pCreatedTime_+  pDeletionProtected_+  pLastModifiedBy_+  pLastModifiedTime_+  pStatus_ =+    ReplicationSet'+      { arn = Prelude.Nothing,+        createdBy = pCreatedBy_,+        createdTime = Data._Time Lens.# pCreatedTime_,+        deletionProtected = pDeletionProtected_,+        lastModifiedBy = pLastModifiedBy_,+        lastModifiedTime =+          Data._Time Lens.# pLastModifiedTime_,+        regionMap = Prelude.mempty,+        status = pStatus_+      }++-- | The Amazon Resource Name (ARN) of the replication set.+replicationSet_arn :: Lens.Lens' ReplicationSet (Prelude.Maybe Prelude.Text)+replicationSet_arn = Lens.lens (\ReplicationSet' {arn} -> arn) (\s@ReplicationSet' {} a -> s {arn = a} :: ReplicationSet)++-- | Details about who created the replication set.+replicationSet_createdBy :: Lens.Lens' ReplicationSet Prelude.Text+replicationSet_createdBy = Lens.lens (\ReplicationSet' {createdBy} -> createdBy) (\s@ReplicationSet' {} a -> s {createdBy = a} :: ReplicationSet)++-- | When the replication set was created.+replicationSet_createdTime :: Lens.Lens' ReplicationSet Prelude.UTCTime+replicationSet_createdTime = Lens.lens (\ReplicationSet' {createdTime} -> createdTime) (\s@ReplicationSet' {} a -> s {createdTime = a} :: ReplicationSet) Prelude.. Data._Time++-- | Determines if the replication set deletion protection is enabled or not.+-- If deletion protection is enabled, you can\'t delete the last Amazon Web+-- Services Region in the replication set.+replicationSet_deletionProtected :: Lens.Lens' ReplicationSet Prelude.Bool+replicationSet_deletionProtected = Lens.lens (\ReplicationSet' {deletionProtected} -> deletionProtected) (\s@ReplicationSet' {} a -> s {deletionProtected = a} :: ReplicationSet)++-- | Who last modified the replication set.+replicationSet_lastModifiedBy :: Lens.Lens' ReplicationSet Prelude.Text+replicationSet_lastModifiedBy = Lens.lens (\ReplicationSet' {lastModifiedBy} -> lastModifiedBy) (\s@ReplicationSet' {} a -> s {lastModifiedBy = a} :: ReplicationSet)++-- | When the replication set was last updated.+replicationSet_lastModifiedTime :: Lens.Lens' ReplicationSet Prelude.UTCTime+replicationSet_lastModifiedTime = Lens.lens (\ReplicationSet' {lastModifiedTime} -> lastModifiedTime) (\s@ReplicationSet' {} a -> s {lastModifiedTime = a} :: ReplicationSet) Prelude.. Data._Time++-- | The map between each Amazon Web Services Region in your replication set+-- and the KMS key that\'s used to encrypt the data in that Region.+replicationSet_regionMap :: Lens.Lens' ReplicationSet (Prelude.HashMap Prelude.Text RegionInfo)+replicationSet_regionMap = Lens.lens (\ReplicationSet' {regionMap} -> regionMap) (\s@ReplicationSet' {} a -> s {regionMap = a} :: ReplicationSet) Prelude.. Lens.coerced++-- | The status of the replication set. If the replication set is still+-- pending, you can\'t use Incident Manager functionality.+replicationSet_status :: Lens.Lens' ReplicationSet ReplicationSetStatus+replicationSet_status = Lens.lens (\ReplicationSet' {status} -> status) (\s@ReplicationSet' {} a -> s {status = a} :: ReplicationSet)++instance Data.FromJSON ReplicationSet where+  parseJSON =+    Data.withObject+      "ReplicationSet"+      ( \x ->+          ReplicationSet'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..: "createdBy")+            Prelude.<*> (x Data..: "createdTime")+            Prelude.<*> (x Data..: "deletionProtected")+            Prelude.<*> (x Data..: "lastModifiedBy")+            Prelude.<*> (x Data..: "lastModifiedTime")+            Prelude.<*> (x Data..:? "regionMap" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "status")+      )++instance Prelude.Hashable ReplicationSet where+  hashWithSalt _salt ReplicationSet' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdBy+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` deletionProtected+      `Prelude.hashWithSalt` lastModifiedBy+      `Prelude.hashWithSalt` lastModifiedTime+      `Prelude.hashWithSalt` regionMap+      `Prelude.hashWithSalt` status++instance Prelude.NFData ReplicationSet where+  rnf ReplicationSet' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdBy+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf deletionProtected+      `Prelude.seq` Prelude.rnf lastModifiedBy+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf regionMap+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/SSMIncidents/Types/ReplicationSetStatus.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.ReplicationSetStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.ReplicationSetStatus+  ( ReplicationSetStatus+      ( ..,+        ReplicationSetStatus_ACTIVE,+        ReplicationSetStatus_CREATING,+        ReplicationSetStatus_DELETING,+        ReplicationSetStatus_FAILED,+        ReplicationSetStatus_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReplicationSetStatus = ReplicationSetStatus'+  { fromReplicationSetStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ReplicationSetStatus_ACTIVE :: ReplicationSetStatus+pattern ReplicationSetStatus_ACTIVE = ReplicationSetStatus' "ACTIVE"++pattern ReplicationSetStatus_CREATING :: ReplicationSetStatus+pattern ReplicationSetStatus_CREATING = ReplicationSetStatus' "CREATING"++pattern ReplicationSetStatus_DELETING :: ReplicationSetStatus+pattern ReplicationSetStatus_DELETING = ReplicationSetStatus' "DELETING"++pattern ReplicationSetStatus_FAILED :: ReplicationSetStatus+pattern ReplicationSetStatus_FAILED = ReplicationSetStatus' "FAILED"++pattern ReplicationSetStatus_UPDATING :: ReplicationSetStatus+pattern ReplicationSetStatus_UPDATING = ReplicationSetStatus' "UPDATING"++{-# COMPLETE+  ReplicationSetStatus_ACTIVE,+  ReplicationSetStatus_CREATING,+  ReplicationSetStatus_DELETING,+  ReplicationSetStatus_FAILED,+  ReplicationSetStatus_UPDATING,+  ReplicationSetStatus'+  #-}
+ gen/Amazonka/SSMIncidents/Types/ResourcePolicy.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.ResourcePolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.ResourcePolicy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The resource policy that allows Incident Manager to perform actions on+-- resources on your behalf.+--+-- /See:/ 'newResourcePolicy' smart constructor.+data ResourcePolicy = ResourcePolicy'+  { -- | The JSON blob that describes the policy.+    policyDocument :: Prelude.Text,+    -- | The ID of the resource policy.+    policyId :: Prelude.Text,+    -- | The Amazon Web Services Region that policy allows resources to be used+    -- in.+    ramResourceShareRegion :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourcePolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policyDocument', 'resourcePolicy_policyDocument' - The JSON blob that describes the policy.+--+-- 'policyId', 'resourcePolicy_policyId' - The ID of the resource policy.+--+-- 'ramResourceShareRegion', 'resourcePolicy_ramResourceShareRegion' - The Amazon Web Services Region that policy allows resources to be used+-- in.+newResourcePolicy ::+  -- | 'policyDocument'+  Prelude.Text ->+  -- | 'policyId'+  Prelude.Text ->+  -- | 'ramResourceShareRegion'+  Prelude.Text ->+  ResourcePolicy+newResourcePolicy+  pPolicyDocument_+  pPolicyId_+  pRamResourceShareRegion_ =+    ResourcePolicy'+      { policyDocument = pPolicyDocument_,+        policyId = pPolicyId_,+        ramResourceShareRegion = pRamResourceShareRegion_+      }++-- | The JSON blob that describes the policy.+resourcePolicy_policyDocument :: Lens.Lens' ResourcePolicy Prelude.Text+resourcePolicy_policyDocument = Lens.lens (\ResourcePolicy' {policyDocument} -> policyDocument) (\s@ResourcePolicy' {} a -> s {policyDocument = a} :: ResourcePolicy)++-- | The ID of the resource policy.+resourcePolicy_policyId :: Lens.Lens' ResourcePolicy Prelude.Text+resourcePolicy_policyId = Lens.lens (\ResourcePolicy' {policyId} -> policyId) (\s@ResourcePolicy' {} a -> s {policyId = a} :: ResourcePolicy)++-- | The Amazon Web Services Region that policy allows resources to be used+-- in.+resourcePolicy_ramResourceShareRegion :: Lens.Lens' ResourcePolicy Prelude.Text+resourcePolicy_ramResourceShareRegion = Lens.lens (\ResourcePolicy' {ramResourceShareRegion} -> ramResourceShareRegion) (\s@ResourcePolicy' {} a -> s {ramResourceShareRegion = a} :: ResourcePolicy)++instance Data.FromJSON ResourcePolicy where+  parseJSON =+    Data.withObject+      "ResourcePolicy"+      ( \x ->+          ResourcePolicy'+            Prelude.<$> (x Data..: "policyDocument")+            Prelude.<*> (x Data..: "policyId")+            Prelude.<*> (x Data..: "ramResourceShareRegion")+      )++instance Prelude.Hashable ResourcePolicy where+  hashWithSalt _salt ResourcePolicy' {..} =+    _salt+      `Prelude.hashWithSalt` policyDocument+      `Prelude.hashWithSalt` policyId+      `Prelude.hashWithSalt` ramResourceShareRegion++instance Prelude.NFData ResourcePolicy where+  rnf ResourcePolicy' {..} =+    Prelude.rnf policyDocument+      `Prelude.seq` Prelude.rnf policyId+      `Prelude.seq` Prelude.rnf ramResourceShareRegion
+ gen/Amazonka/SSMIncidents/Types/ResponsePlanSummary.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.ResponsePlanSummary+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.ResponsePlanSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details of the response plan that are used when creating an incident.+--+-- /See:/ 'newResponsePlanSummary' smart constructor.+data ResponsePlanSummary = ResponsePlanSummary'+  { -- | The human readable name of the response plan. This can include spaces.+    displayName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the response plan.+    arn :: Prelude.Text,+    -- | The name of the response plan. This can\'t include spaces.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResponsePlanSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'displayName', 'responsePlanSummary_displayName' - The human readable name of the response plan. This can include spaces.+--+-- 'arn', 'responsePlanSummary_arn' - The Amazon Resource Name (ARN) of the response plan.+--+-- 'name', 'responsePlanSummary_name' - The name of the response plan. This can\'t include spaces.+newResponsePlanSummary ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  ResponsePlanSummary+newResponsePlanSummary pArn_ pName_ =+  ResponsePlanSummary'+    { displayName = Prelude.Nothing,+      arn = pArn_,+      name = pName_+    }++-- | The human readable name of the response plan. This can include spaces.+responsePlanSummary_displayName :: Lens.Lens' ResponsePlanSummary (Prelude.Maybe Prelude.Text)+responsePlanSummary_displayName = Lens.lens (\ResponsePlanSummary' {displayName} -> displayName) (\s@ResponsePlanSummary' {} a -> s {displayName = a} :: ResponsePlanSummary)++-- | The Amazon Resource Name (ARN) of the response plan.+responsePlanSummary_arn :: Lens.Lens' ResponsePlanSummary Prelude.Text+responsePlanSummary_arn = Lens.lens (\ResponsePlanSummary' {arn} -> arn) (\s@ResponsePlanSummary' {} a -> s {arn = a} :: ResponsePlanSummary)++-- | The name of the response plan. This can\'t include spaces.+responsePlanSummary_name :: Lens.Lens' ResponsePlanSummary Prelude.Text+responsePlanSummary_name = Lens.lens (\ResponsePlanSummary' {name} -> name) (\s@ResponsePlanSummary' {} a -> s {name = a} :: ResponsePlanSummary)++instance Data.FromJSON ResponsePlanSummary where+  parseJSON =+    Data.withObject+      "ResponsePlanSummary"+      ( \x ->+          ResponsePlanSummary'+            Prelude.<$> (x Data..:? "displayName")+            Prelude.<*> (x Data..: "arn")+            Prelude.<*> (x Data..: "name")+      )++instance Prelude.Hashable ResponsePlanSummary where+  hashWithSalt _salt ResponsePlanSummary' {..} =+    _salt+      `Prelude.hashWithSalt` displayName+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` name++instance Prelude.NFData ResponsePlanSummary where+  rnf ResponsePlanSummary' {..} =+    Prelude.rnf displayName+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/SSMIncidents/Types/SortOrder.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.SortOrder+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.SortOrder+  ( SortOrder+      ( ..,+        SortOrder_ASCENDING,+        SortOrder_DESCENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SortOrder = SortOrder'+  { fromSortOrder ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SortOrder_ASCENDING :: SortOrder+pattern SortOrder_ASCENDING = SortOrder' "ASCENDING"++pattern SortOrder_DESCENDING :: SortOrder+pattern SortOrder_DESCENDING = SortOrder' "DESCENDING"++{-# COMPLETE+  SortOrder_ASCENDING,+  SortOrder_DESCENDING,+  SortOrder'+  #-}
+ gen/Amazonka/SSMIncidents/Types/SsmAutomation.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.SsmAutomation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.SsmAutomation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.DynamicSsmParameterValue+import Amazonka.SSMIncidents.Types.SsmTargetAccount++-- | Details about the Systems Manager automation document that will be used+-- as a runbook during an incident.+--+-- /See:/ 'newSsmAutomation' smart constructor.+data SsmAutomation = SsmAutomation'+  { -- | The automation document\'s version to use when running.+    documentVersion :: Prelude.Maybe Prelude.Text,+    -- | The key-value pair to resolve dynamic parameter values when processing a+    -- Systems Manager Automation runbook.+    dynamicParameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text DynamicSsmParameterValue),+    -- | The key-value pair parameters to use when running the automation+    -- document.+    parameters :: Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]),+    -- | The account that the automation document will be run in. This can be in+    -- either the management account or an application account.+    targetAccount :: Prelude.Maybe SsmTargetAccount,+    -- | The automation document\'s name.+    documentName :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the role that the automation document+    -- will assume when running commands.+    roleArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SsmAutomation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'documentVersion', 'ssmAutomation_documentVersion' - The automation document\'s version to use when running.+--+-- 'dynamicParameters', 'ssmAutomation_dynamicParameters' - The key-value pair to resolve dynamic parameter values when processing a+-- Systems Manager Automation runbook.+--+-- 'parameters', 'ssmAutomation_parameters' - The key-value pair parameters to use when running the automation+-- document.+--+-- 'targetAccount', 'ssmAutomation_targetAccount' - The account that the automation document will be run in. This can be in+-- either the management account or an application account.+--+-- 'documentName', 'ssmAutomation_documentName' - The automation document\'s name.+--+-- 'roleArn', 'ssmAutomation_roleArn' - The Amazon Resource Name (ARN) of the role that the automation document+-- will assume when running commands.+newSsmAutomation ::+  -- | 'documentName'+  Prelude.Text ->+  -- | 'roleArn'+  Prelude.Text ->+  SsmAutomation+newSsmAutomation pDocumentName_ pRoleArn_ =+  SsmAutomation'+    { documentVersion = Prelude.Nothing,+      dynamicParameters = Prelude.Nothing,+      parameters = Prelude.Nothing,+      targetAccount = Prelude.Nothing,+      documentName = pDocumentName_,+      roleArn = pRoleArn_+    }++-- | The automation document\'s version to use when running.+ssmAutomation_documentVersion :: Lens.Lens' SsmAutomation (Prelude.Maybe Prelude.Text)+ssmAutomation_documentVersion = Lens.lens (\SsmAutomation' {documentVersion} -> documentVersion) (\s@SsmAutomation' {} a -> s {documentVersion = a} :: SsmAutomation)++-- | The key-value pair to resolve dynamic parameter values when processing a+-- Systems Manager Automation runbook.+ssmAutomation_dynamicParameters :: Lens.Lens' SsmAutomation (Prelude.Maybe (Prelude.HashMap Prelude.Text DynamicSsmParameterValue))+ssmAutomation_dynamicParameters = Lens.lens (\SsmAutomation' {dynamicParameters} -> dynamicParameters) (\s@SsmAutomation' {} a -> s {dynamicParameters = a} :: SsmAutomation) Prelude.. Lens.mapping Lens.coerced++-- | The key-value pair parameters to use when running the automation+-- document.+ssmAutomation_parameters :: Lens.Lens' SsmAutomation (Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]))+ssmAutomation_parameters = Lens.lens (\SsmAutomation' {parameters} -> parameters) (\s@SsmAutomation' {} a -> s {parameters = a} :: SsmAutomation) Prelude.. Lens.mapping Lens.coerced++-- | The account that the automation document will be run in. This can be in+-- either the management account or an application account.+ssmAutomation_targetAccount :: Lens.Lens' SsmAutomation (Prelude.Maybe SsmTargetAccount)+ssmAutomation_targetAccount = Lens.lens (\SsmAutomation' {targetAccount} -> targetAccount) (\s@SsmAutomation' {} a -> s {targetAccount = a} :: SsmAutomation)++-- | The automation document\'s name.+ssmAutomation_documentName :: Lens.Lens' SsmAutomation Prelude.Text+ssmAutomation_documentName = Lens.lens (\SsmAutomation' {documentName} -> documentName) (\s@SsmAutomation' {} a -> s {documentName = a} :: SsmAutomation)++-- | The Amazon Resource Name (ARN) of the role that the automation document+-- will assume when running commands.+ssmAutomation_roleArn :: Lens.Lens' SsmAutomation Prelude.Text+ssmAutomation_roleArn = Lens.lens (\SsmAutomation' {roleArn} -> roleArn) (\s@SsmAutomation' {} a -> s {roleArn = a} :: SsmAutomation)++instance Data.FromJSON SsmAutomation where+  parseJSON =+    Data.withObject+      "SsmAutomation"+      ( \x ->+          SsmAutomation'+            Prelude.<$> (x Data..:? "documentVersion")+            Prelude.<*> ( x+                            Data..:? "dynamicParameters"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "parameters" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "targetAccount")+            Prelude.<*> (x Data..: "documentName")+            Prelude.<*> (x Data..: "roleArn")+      )++instance Prelude.Hashable SsmAutomation where+  hashWithSalt _salt SsmAutomation' {..} =+    _salt+      `Prelude.hashWithSalt` documentVersion+      `Prelude.hashWithSalt` dynamicParameters+      `Prelude.hashWithSalt` parameters+      `Prelude.hashWithSalt` targetAccount+      `Prelude.hashWithSalt` documentName+      `Prelude.hashWithSalt` roleArn++instance Prelude.NFData SsmAutomation where+  rnf SsmAutomation' {..} =+    Prelude.rnf documentVersion+      `Prelude.seq` Prelude.rnf dynamicParameters+      `Prelude.seq` Prelude.rnf parameters+      `Prelude.seq` Prelude.rnf targetAccount+      `Prelude.seq` Prelude.rnf documentName+      `Prelude.seq` Prelude.rnf roleArn++instance Data.ToJSON SsmAutomation where+  toJSON SsmAutomation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("documentVersion" Data..=)+              Prelude.<$> documentVersion,+            ("dynamicParameters" Data..=)+              Prelude.<$> dynamicParameters,+            ("parameters" Data..=) Prelude.<$> parameters,+            ("targetAccount" Data..=) Prelude.<$> targetAccount,+            Prelude.Just ("documentName" Data..= documentName),+            Prelude.Just ("roleArn" Data..= roleArn)+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/SsmTargetAccount.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.SsmTargetAccount+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.SsmTargetAccount+  ( SsmTargetAccount+      ( ..,+        SsmTargetAccount_IMPACTED_ACCOUNT,+        SsmTargetAccount_RESPONSE_PLAN_OWNER_ACCOUNT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SsmTargetAccount = SsmTargetAccount'+  { fromSsmTargetAccount ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SsmTargetAccount_IMPACTED_ACCOUNT :: SsmTargetAccount+pattern SsmTargetAccount_IMPACTED_ACCOUNT = SsmTargetAccount' "IMPACTED_ACCOUNT"++pattern SsmTargetAccount_RESPONSE_PLAN_OWNER_ACCOUNT :: SsmTargetAccount+pattern SsmTargetAccount_RESPONSE_PLAN_OWNER_ACCOUNT = SsmTargetAccount' "RESPONSE_PLAN_OWNER_ACCOUNT"++{-# COMPLETE+  SsmTargetAccount_IMPACTED_ACCOUNT,+  SsmTargetAccount_RESPONSE_PLAN_OWNER_ACCOUNT,+  SsmTargetAccount'+  #-}
+ gen/Amazonka/SSMIncidents/Types/TimelineEvent.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.TimelineEvent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.TimelineEvent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.EventReference++-- | A significant event that happened during the incident.+--+-- /See:/ 'newTimelineEvent' smart constructor.+data TimelineEvent = TimelineEvent'+  { -- | A list of references in a @TimelineEvent@.+    eventReferences :: Prelude.Maybe [EventReference],+    -- | A short description of the event.+    eventData :: Prelude.Text,+    -- | The ID of the timeline event.+    eventId :: Prelude.Text,+    -- | The time that the event occurred.+    eventTime :: Data.POSIX,+    -- | The type of event that occurred. Currently Incident Manager supports+    -- only the @Custom Event@ type.+    eventType :: Prelude.Text,+    -- | The time that the timeline event was last updated.+    eventUpdatedTime :: Data.POSIX,+    -- | The Amazon Resource Name (ARN) of the incident that the event occurred+    -- during.+    incidentRecordArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimelineEvent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventReferences', 'timelineEvent_eventReferences' - A list of references in a @TimelineEvent@.+--+-- 'eventData', 'timelineEvent_eventData' - A short description of the event.+--+-- 'eventId', 'timelineEvent_eventId' - The ID of the timeline event.+--+-- 'eventTime', 'timelineEvent_eventTime' - The time that the event occurred.+--+-- 'eventType', 'timelineEvent_eventType' - The type of event that occurred. Currently Incident Manager supports+-- only the @Custom Event@ type.+--+-- 'eventUpdatedTime', 'timelineEvent_eventUpdatedTime' - The time that the timeline event was last updated.+--+-- 'incidentRecordArn', 'timelineEvent_incidentRecordArn' - The Amazon Resource Name (ARN) of the incident that the event occurred+-- during.+newTimelineEvent ::+  -- | 'eventData'+  Prelude.Text ->+  -- | 'eventId'+  Prelude.Text ->+  -- | 'eventTime'+  Prelude.UTCTime ->+  -- | 'eventType'+  Prelude.Text ->+  -- | 'eventUpdatedTime'+  Prelude.UTCTime ->+  -- | 'incidentRecordArn'+  Prelude.Text ->+  TimelineEvent+newTimelineEvent+  pEventData_+  pEventId_+  pEventTime_+  pEventType_+  pEventUpdatedTime_+  pIncidentRecordArn_ =+    TimelineEvent'+      { eventReferences = Prelude.Nothing,+        eventData = pEventData_,+        eventId = pEventId_,+        eventTime = Data._Time Lens.# pEventTime_,+        eventType = pEventType_,+        eventUpdatedTime =+          Data._Time Lens.# pEventUpdatedTime_,+        incidentRecordArn = pIncidentRecordArn_+      }++-- | A list of references in a @TimelineEvent@.+timelineEvent_eventReferences :: Lens.Lens' TimelineEvent (Prelude.Maybe [EventReference])+timelineEvent_eventReferences = Lens.lens (\TimelineEvent' {eventReferences} -> eventReferences) (\s@TimelineEvent' {} a -> s {eventReferences = a} :: TimelineEvent) Prelude.. Lens.mapping Lens.coerced++-- | A short description of the event.+timelineEvent_eventData :: Lens.Lens' TimelineEvent Prelude.Text+timelineEvent_eventData = Lens.lens (\TimelineEvent' {eventData} -> eventData) (\s@TimelineEvent' {} a -> s {eventData = a} :: TimelineEvent)++-- | The ID of the timeline event.+timelineEvent_eventId :: Lens.Lens' TimelineEvent Prelude.Text+timelineEvent_eventId = Lens.lens (\TimelineEvent' {eventId} -> eventId) (\s@TimelineEvent' {} a -> s {eventId = a} :: TimelineEvent)++-- | The time that the event occurred.+timelineEvent_eventTime :: Lens.Lens' TimelineEvent Prelude.UTCTime+timelineEvent_eventTime = Lens.lens (\TimelineEvent' {eventTime} -> eventTime) (\s@TimelineEvent' {} a -> s {eventTime = a} :: TimelineEvent) Prelude.. Data._Time++-- | The type of event that occurred. Currently Incident Manager supports+-- only the @Custom Event@ type.+timelineEvent_eventType :: Lens.Lens' TimelineEvent Prelude.Text+timelineEvent_eventType = Lens.lens (\TimelineEvent' {eventType} -> eventType) (\s@TimelineEvent' {} a -> s {eventType = a} :: TimelineEvent)++-- | The time that the timeline event was last updated.+timelineEvent_eventUpdatedTime :: Lens.Lens' TimelineEvent Prelude.UTCTime+timelineEvent_eventUpdatedTime = Lens.lens (\TimelineEvent' {eventUpdatedTime} -> eventUpdatedTime) (\s@TimelineEvent' {} a -> s {eventUpdatedTime = a} :: TimelineEvent) Prelude.. Data._Time++-- | The Amazon Resource Name (ARN) of the incident that the event occurred+-- during.+timelineEvent_incidentRecordArn :: Lens.Lens' TimelineEvent Prelude.Text+timelineEvent_incidentRecordArn = Lens.lens (\TimelineEvent' {incidentRecordArn} -> incidentRecordArn) (\s@TimelineEvent' {} a -> s {incidentRecordArn = a} :: TimelineEvent)++instance Data.FromJSON TimelineEvent where+  parseJSON =+    Data.withObject+      "TimelineEvent"+      ( \x ->+          TimelineEvent'+            Prelude.<$> ( x+                            Data..:? "eventReferences"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..: "eventData")+            Prelude.<*> (x Data..: "eventId")+            Prelude.<*> (x Data..: "eventTime")+            Prelude.<*> (x Data..: "eventType")+            Prelude.<*> (x Data..: "eventUpdatedTime")+            Prelude.<*> (x Data..: "incidentRecordArn")+      )++instance Prelude.Hashable TimelineEvent where+  hashWithSalt _salt TimelineEvent' {..} =+    _salt+      `Prelude.hashWithSalt` eventReferences+      `Prelude.hashWithSalt` eventData+      `Prelude.hashWithSalt` eventId+      `Prelude.hashWithSalt` eventTime+      `Prelude.hashWithSalt` eventType+      `Prelude.hashWithSalt` eventUpdatedTime+      `Prelude.hashWithSalt` incidentRecordArn++instance Prelude.NFData TimelineEvent where+  rnf TimelineEvent' {..} =+    Prelude.rnf eventReferences+      `Prelude.seq` Prelude.rnf eventData+      `Prelude.seq` Prelude.rnf eventId+      `Prelude.seq` Prelude.rnf eventTime+      `Prelude.seq` Prelude.rnf eventType+      `Prelude.seq` Prelude.rnf eventUpdatedTime+      `Prelude.seq` Prelude.rnf incidentRecordArn
+ gen/Amazonka/SSMIncidents/Types/TimelineEventSort.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.TimelineEventSort+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.TimelineEventSort+  ( TimelineEventSort+      ( ..,+        TimelineEventSort_EVENT_TIME+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TimelineEventSort = TimelineEventSort'+  { fromTimelineEventSort ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern TimelineEventSort_EVENT_TIME :: TimelineEventSort+pattern TimelineEventSort_EVENT_TIME = TimelineEventSort' "EVENT_TIME"++{-# COMPLETE+  TimelineEventSort_EVENT_TIME,+  TimelineEventSort'+  #-}
+ gen/Amazonka/SSMIncidents/Types/TriggerDetails.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.TriggerDetails+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.TriggerDetails where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Details about what caused the incident to be created in Incident+-- Manager.+--+-- /See:/ 'newTriggerDetails' smart constructor.+data TriggerDetails = TriggerDetails'+  { -- | Raw data passed from either Amazon EventBridge, Amazon CloudWatch, or+    -- Incident Manager when an incident is created.+    rawData :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the source that detected the incident.+    triggerArn :: Prelude.Maybe Prelude.Text,+    -- | Identifies the service that sourced the event. All events sourced from+    -- within Amazon Web Services begin with \"@aws.@\" Customer-generated+    -- events can have any value here, as long as it doesn\'t begin with+    -- \"@aws.@\" We recommend the use of Java package-name style reverse+    -- domain-name strings.+    source :: Prelude.Text,+    -- | The time that the incident was detected.+    timestamp :: Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TriggerDetails' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'rawData', 'triggerDetails_rawData' - Raw data passed from either Amazon EventBridge, Amazon CloudWatch, or+-- Incident Manager when an incident is created.+--+-- 'triggerArn', 'triggerDetails_triggerArn' - The Amazon Resource Name (ARN) of the source that detected the incident.+--+-- 'source', 'triggerDetails_source' - Identifies the service that sourced the event. All events sourced from+-- within Amazon Web Services begin with \"@aws.@\" Customer-generated+-- events can have any value here, as long as it doesn\'t begin with+-- \"@aws.@\" We recommend the use of Java package-name style reverse+-- domain-name strings.+--+-- 'timestamp', 'triggerDetails_timestamp' - The time that the incident was detected.+newTriggerDetails ::+  -- | 'source'+  Prelude.Text ->+  -- | 'timestamp'+  Prelude.UTCTime ->+  TriggerDetails+newTriggerDetails pSource_ pTimestamp_ =+  TriggerDetails'+    { rawData = Prelude.Nothing,+      triggerArn = Prelude.Nothing,+      source = pSource_,+      timestamp = Data._Time Lens.# pTimestamp_+    }++-- | Raw data passed from either Amazon EventBridge, Amazon CloudWatch, or+-- Incident Manager when an incident is created.+triggerDetails_rawData :: Lens.Lens' TriggerDetails (Prelude.Maybe Prelude.Text)+triggerDetails_rawData = Lens.lens (\TriggerDetails' {rawData} -> rawData) (\s@TriggerDetails' {} a -> s {rawData = a} :: TriggerDetails)++-- | The Amazon Resource Name (ARN) of the source that detected the incident.+triggerDetails_triggerArn :: Lens.Lens' TriggerDetails (Prelude.Maybe Prelude.Text)+triggerDetails_triggerArn = Lens.lens (\TriggerDetails' {triggerArn} -> triggerArn) (\s@TriggerDetails' {} a -> s {triggerArn = a} :: TriggerDetails)++-- | Identifies the service that sourced the event. All events sourced from+-- within Amazon Web Services begin with \"@aws.@\" Customer-generated+-- events can have any value here, as long as it doesn\'t begin with+-- \"@aws.@\" We recommend the use of Java package-name style reverse+-- domain-name strings.+triggerDetails_source :: Lens.Lens' TriggerDetails Prelude.Text+triggerDetails_source = Lens.lens (\TriggerDetails' {source} -> source) (\s@TriggerDetails' {} a -> s {source = a} :: TriggerDetails)++-- | The time that the incident was detected.+triggerDetails_timestamp :: Lens.Lens' TriggerDetails Prelude.UTCTime+triggerDetails_timestamp = Lens.lens (\TriggerDetails' {timestamp} -> timestamp) (\s@TriggerDetails' {} a -> s {timestamp = a} :: TriggerDetails) Prelude.. Data._Time++instance Prelude.Hashable TriggerDetails where+  hashWithSalt _salt TriggerDetails' {..} =+    _salt+      `Prelude.hashWithSalt` rawData+      `Prelude.hashWithSalt` triggerArn+      `Prelude.hashWithSalt` source+      `Prelude.hashWithSalt` timestamp++instance Prelude.NFData TriggerDetails where+  rnf TriggerDetails' {..} =+    Prelude.rnf rawData+      `Prelude.seq` Prelude.rnf triggerArn+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf timestamp++instance Data.ToJSON TriggerDetails where+  toJSON TriggerDetails' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("rawData" Data..=) Prelude.<$> rawData,+            ("triggerArn" Data..=) Prelude.<$> triggerArn,+            Prelude.Just ("source" Data..= source),+            Prelude.Just ("timestamp" Data..= timestamp)+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/UpdateReplicationSetAction.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.UpdateReplicationSetAction+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.UpdateReplicationSetAction where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.Types.AddRegionAction+import Amazonka.SSMIncidents.Types.DeleteRegionAction++-- | Details used when updating the replication set.+--+-- /See:/ 'newUpdateReplicationSetAction' smart constructor.+data UpdateReplicationSetAction = UpdateReplicationSetAction'+  { -- | Details about the Amazon Web Services Region that you\'re adding to the+    -- replication set.+    addRegionAction :: Prelude.Maybe AddRegionAction,+    -- | Details about the Amazon Web Services Region that you\'re deleting to+    -- the replication set.+    deleteRegionAction :: Prelude.Maybe DeleteRegionAction+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateReplicationSetAction' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'addRegionAction', 'updateReplicationSetAction_addRegionAction' - Details about the Amazon Web Services Region that you\'re adding to the+-- replication set.+--+-- 'deleteRegionAction', 'updateReplicationSetAction_deleteRegionAction' - Details about the Amazon Web Services Region that you\'re deleting to+-- the replication set.+newUpdateReplicationSetAction ::+  UpdateReplicationSetAction+newUpdateReplicationSetAction =+  UpdateReplicationSetAction'+    { addRegionAction =+        Prelude.Nothing,+      deleteRegionAction = Prelude.Nothing+    }++-- | Details about the Amazon Web Services Region that you\'re adding to the+-- replication set.+updateReplicationSetAction_addRegionAction :: Lens.Lens' UpdateReplicationSetAction (Prelude.Maybe AddRegionAction)+updateReplicationSetAction_addRegionAction = Lens.lens (\UpdateReplicationSetAction' {addRegionAction} -> addRegionAction) (\s@UpdateReplicationSetAction' {} a -> s {addRegionAction = a} :: UpdateReplicationSetAction)++-- | Details about the Amazon Web Services Region that you\'re deleting to+-- the replication set.+updateReplicationSetAction_deleteRegionAction :: Lens.Lens' UpdateReplicationSetAction (Prelude.Maybe DeleteRegionAction)+updateReplicationSetAction_deleteRegionAction = Lens.lens (\UpdateReplicationSetAction' {deleteRegionAction} -> deleteRegionAction) (\s@UpdateReplicationSetAction' {} a -> s {deleteRegionAction = a} :: UpdateReplicationSetAction)++instance Prelude.Hashable UpdateReplicationSetAction where+  hashWithSalt _salt UpdateReplicationSetAction' {..} =+    _salt+      `Prelude.hashWithSalt` addRegionAction+      `Prelude.hashWithSalt` deleteRegionAction++instance Prelude.NFData UpdateReplicationSetAction where+  rnf UpdateReplicationSetAction' {..} =+    Prelude.rnf addRegionAction+      `Prelude.seq` Prelude.rnf deleteRegionAction++instance Data.ToJSON UpdateReplicationSetAction where+  toJSON UpdateReplicationSetAction' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("addRegionAction" Data..=)+              Prelude.<$> addRegionAction,+            ("deleteRegionAction" Data..=)+              Prelude.<$> deleteRegionAction+          ]+      )
+ gen/Amazonka/SSMIncidents/Types/VariableType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Types.VariableType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Types.VariableType+  ( VariableType+      ( ..,+        VariableType_INCIDENT_RECORD_ARN,+        VariableType_INVOLVED_RESOURCES+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VariableType = VariableType'+  { fromVariableType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern VariableType_INCIDENT_RECORD_ARN :: VariableType+pattern VariableType_INCIDENT_RECORD_ARN = VariableType' "INCIDENT_RECORD_ARN"++pattern VariableType_INVOLVED_RESOURCES :: VariableType+pattern VariableType_INVOLVED_RESOURCES = VariableType' "INVOLVED_RESOURCES"++{-# COMPLETE+  VariableType_INCIDENT_RECORD_ARN,+  VariableType_INVOLVED_RESOURCES,+  VariableType'+  #-}
+ gen/Amazonka/SSMIncidents/UntagResource.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.UntagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes a tag from a resource.+module Amazonka.SSMIncidents.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) of the response plan you\'re removing a+    -- tag from.+    resourceArn :: Prelude.Text,+    -- | The name of the tag to remove from the response plan.+    tagKeys :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the response plan you\'re removing a+-- tag from.+--+-- 'tagKeys', 'untagResource_tagKeys' - The name of the tag to remove from the response plan.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | The Amazon Resource Name (ARN) of the response plan you\'re removing a+-- tag from.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The name of the tag to remove from the response plan.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SSMIncidents/UpdateDeletionProtection.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.UpdateDeletionProtection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update deletion protection to either allow or deny deletion of the final+-- Region in a replication set.+module Amazonka.SSMIncidents.UpdateDeletionProtection+  ( -- * Creating a Request+    UpdateDeletionProtection (..),+    newUpdateDeletionProtection,++    -- * Request Lenses+    updateDeletionProtection_clientToken,+    updateDeletionProtection_arn,+    updateDeletionProtection_deletionProtected,++    -- * Destructuring the Response+    UpdateDeletionProtectionResponse (..),+    newUpdateDeletionProtectionResponse,++    -- * Response Lenses+    updateDeletionProtectionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newUpdateDeletionProtection' smart constructor.+data UpdateDeletionProtection = UpdateDeletionProtection'+  { -- | A token that ensures that the operation is called only once with the+    -- specified details.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the replication set to update.+    arn :: Prelude.Text,+    -- | Specifies if deletion protection is turned on or off in your account.+    deletionProtected :: Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDeletionProtection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateDeletionProtection_clientToken' - A token that ensures that the operation is called only once with the+-- specified details.+--+-- 'arn', 'updateDeletionProtection_arn' - The Amazon Resource Name (ARN) of the replication set to update.+--+-- 'deletionProtected', 'updateDeletionProtection_deletionProtected' - Specifies if deletion protection is turned on or off in your account.+newUpdateDeletionProtection ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'deletionProtected'+  Prelude.Bool ->+  UpdateDeletionProtection+newUpdateDeletionProtection pArn_ pDeletionProtected_ =+  UpdateDeletionProtection'+    { clientToken =+        Prelude.Nothing,+      arn = pArn_,+      deletionProtected = pDeletionProtected_+    }++-- | A token that ensures that the operation is called only once with the+-- specified details.+updateDeletionProtection_clientToken :: Lens.Lens' UpdateDeletionProtection (Prelude.Maybe Prelude.Text)+updateDeletionProtection_clientToken = Lens.lens (\UpdateDeletionProtection' {clientToken} -> clientToken) (\s@UpdateDeletionProtection' {} a -> s {clientToken = a} :: UpdateDeletionProtection)++-- | The Amazon Resource Name (ARN) of the replication set to update.+updateDeletionProtection_arn :: Lens.Lens' UpdateDeletionProtection Prelude.Text+updateDeletionProtection_arn = Lens.lens (\UpdateDeletionProtection' {arn} -> arn) (\s@UpdateDeletionProtection' {} a -> s {arn = a} :: UpdateDeletionProtection)++-- | Specifies if deletion protection is turned on or off in your account.+updateDeletionProtection_deletionProtected :: Lens.Lens' UpdateDeletionProtection Prelude.Bool+updateDeletionProtection_deletionProtected = Lens.lens (\UpdateDeletionProtection' {deletionProtected} -> deletionProtected) (\s@UpdateDeletionProtection' {} a -> s {deletionProtected = a} :: UpdateDeletionProtection)++instance Core.AWSRequest UpdateDeletionProtection where+  type+    AWSResponse UpdateDeletionProtection =+      UpdateDeletionProtectionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateDeletionProtectionResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateDeletionProtection where+  hashWithSalt _salt UpdateDeletionProtection' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` deletionProtected++instance Prelude.NFData UpdateDeletionProtection where+  rnf UpdateDeletionProtection' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf deletionProtected++instance Data.ToHeaders UpdateDeletionProtection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateDeletionProtection where+  toJSON UpdateDeletionProtection' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            Prelude.Just ("arn" Data..= arn),+            Prelude.Just+              ("deletionProtected" Data..= deletionProtected)+          ]+      )++instance Data.ToPath UpdateDeletionProtection where+  toPath = Prelude.const "/updateDeletionProtection"++instance Data.ToQuery UpdateDeletionProtection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDeletionProtectionResponse' smart constructor.+data UpdateDeletionProtectionResponse = UpdateDeletionProtectionResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDeletionProtectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateDeletionProtectionResponse_httpStatus' - The response's http status code.+newUpdateDeletionProtectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateDeletionProtectionResponse+newUpdateDeletionProtectionResponse pHttpStatus_ =+  UpdateDeletionProtectionResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateDeletionProtectionResponse_httpStatus :: Lens.Lens' UpdateDeletionProtectionResponse Prelude.Int+updateDeletionProtectionResponse_httpStatus = Lens.lens (\UpdateDeletionProtectionResponse' {httpStatus} -> httpStatus) (\s@UpdateDeletionProtectionResponse' {} a -> s {httpStatus = a} :: UpdateDeletionProtectionResponse)++instance+  Prelude.NFData+    UpdateDeletionProtectionResponse+  where+  rnf UpdateDeletionProtectionResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SSMIncidents/UpdateIncidentRecord.hs view
@@ -0,0 +1,319 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.UpdateIncidentRecord+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Update the details of an incident record. You can use this operation to+-- update an incident record from the defined chat channel. For more+-- information about using actions in chat channels, see+-- <https://docs.aws.amazon.com/incident-manager/latest/userguide/chat.html#chat-interact Interacting through chat>.+module Amazonka.SSMIncidents.UpdateIncidentRecord+  ( -- * Creating a Request+    UpdateIncidentRecord (..),+    newUpdateIncidentRecord,++    -- * Request Lenses+    updateIncidentRecord_chatChannel,+    updateIncidentRecord_clientToken,+    updateIncidentRecord_impact,+    updateIncidentRecord_notificationTargets,+    updateIncidentRecord_status,+    updateIncidentRecord_summary,+    updateIncidentRecord_title,+    updateIncidentRecord_arn,++    -- * Destructuring the Response+    UpdateIncidentRecordResponse (..),+    newUpdateIncidentRecordResponse,++    -- * Response Lenses+    updateIncidentRecordResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newUpdateIncidentRecord' smart constructor.+data UpdateIncidentRecord = UpdateIncidentRecord'+  { -- | The Chatbot chat channel where responders can collaborate.+    chatChannel :: Prelude.Maybe ChatChannel,+    -- | A token that ensures that the operation is called only once with the+    -- specified details.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | Defines the impact of the incident to customers and applications.+    -- Providing an impact overwrites the impact provided by the response plan.+    --+    -- __Possible impacts:__+    --+    -- -   @1@ - Critical impact, full application failure that impacts many to+    --     all customers.+    --+    -- -   @2@ - High impact, partial application failure with impact to many+    --     customers.+    --+    -- -   @3@ - Medium impact, the application is providing reduced service to+    --     customers.+    --+    -- -   @4@ - Low impact, customer aren\'t impacted by the problem yet.+    --+    -- -   @5@ - No impact, customers aren\'t currently impacted but urgent+    --     action is needed to avoid impact.+    impact :: Prelude.Maybe Prelude.Natural,+    -- | The Amazon SNS targets that are notified when updates are made to an+    -- incident.+    --+    -- Using multiple SNS topics creates redundancy in the event that a Region+    -- is down during the incident.+    notificationTargets :: Prelude.Maybe [NotificationTargetItem],+    -- | The status of the incident. An incident can be @Open@ or @Resolved@.+    status :: Prelude.Maybe IncidentRecordStatus,+    -- | A longer description of what occurred during the incident.+    summary :: Prelude.Maybe Prelude.Text,+    -- | A brief description of the incident.+    title :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the incident record you are updating.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateIncidentRecord' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'chatChannel', 'updateIncidentRecord_chatChannel' - The Chatbot chat channel where responders can collaborate.+--+-- 'clientToken', 'updateIncidentRecord_clientToken' - A token that ensures that the operation is called only once with the+-- specified details.+--+-- 'impact', 'updateIncidentRecord_impact' - Defines the impact of the incident to customers and applications.+-- Providing an impact overwrites the impact provided by the response plan.+--+-- __Possible impacts:__+--+-- -   @1@ - Critical impact, full application failure that impacts many to+--     all customers.+--+-- -   @2@ - High impact, partial application failure with impact to many+--     customers.+--+-- -   @3@ - Medium impact, the application is providing reduced service to+--     customers.+--+-- -   @4@ - Low impact, customer aren\'t impacted by the problem yet.+--+-- -   @5@ - No impact, customers aren\'t currently impacted but urgent+--     action is needed to avoid impact.+--+-- 'notificationTargets', 'updateIncidentRecord_notificationTargets' - The Amazon SNS targets that are notified when updates are made to an+-- incident.+--+-- Using multiple SNS topics creates redundancy in the event that a Region+-- is down during the incident.+--+-- 'status', 'updateIncidentRecord_status' - The status of the incident. An incident can be @Open@ or @Resolved@.+--+-- 'summary', 'updateIncidentRecord_summary' - A longer description of what occurred during the incident.+--+-- 'title', 'updateIncidentRecord_title' - A brief description of the incident.+--+-- 'arn', 'updateIncidentRecord_arn' - The Amazon Resource Name (ARN) of the incident record you are updating.+newUpdateIncidentRecord ::+  -- | 'arn'+  Prelude.Text ->+  UpdateIncidentRecord+newUpdateIncidentRecord pArn_ =+  UpdateIncidentRecord'+    { chatChannel =+        Prelude.Nothing,+      clientToken = Prelude.Nothing,+      impact = Prelude.Nothing,+      notificationTargets = Prelude.Nothing,+      status = Prelude.Nothing,+      summary = Prelude.Nothing,+      title = Prelude.Nothing,+      arn = pArn_+    }++-- | The Chatbot chat channel where responders can collaborate.+updateIncidentRecord_chatChannel :: Lens.Lens' UpdateIncidentRecord (Prelude.Maybe ChatChannel)+updateIncidentRecord_chatChannel = Lens.lens (\UpdateIncidentRecord' {chatChannel} -> chatChannel) (\s@UpdateIncidentRecord' {} a -> s {chatChannel = a} :: UpdateIncidentRecord)++-- | A token that ensures that the operation is called only once with the+-- specified details.+updateIncidentRecord_clientToken :: Lens.Lens' UpdateIncidentRecord (Prelude.Maybe Prelude.Text)+updateIncidentRecord_clientToken = Lens.lens (\UpdateIncidentRecord' {clientToken} -> clientToken) (\s@UpdateIncidentRecord' {} a -> s {clientToken = a} :: UpdateIncidentRecord)++-- | Defines the impact of the incident to customers and applications.+-- Providing an impact overwrites the impact provided by the response plan.+--+-- __Possible impacts:__+--+-- -   @1@ - Critical impact, full application failure that impacts many to+--     all customers.+--+-- -   @2@ - High impact, partial application failure with impact to many+--     customers.+--+-- -   @3@ - Medium impact, the application is providing reduced service to+--     customers.+--+-- -   @4@ - Low impact, customer aren\'t impacted by the problem yet.+--+-- -   @5@ - No impact, customers aren\'t currently impacted but urgent+--     action is needed to avoid impact.+updateIncidentRecord_impact :: Lens.Lens' UpdateIncidentRecord (Prelude.Maybe Prelude.Natural)+updateIncidentRecord_impact = Lens.lens (\UpdateIncidentRecord' {impact} -> impact) (\s@UpdateIncidentRecord' {} a -> s {impact = a} :: UpdateIncidentRecord)++-- | The Amazon SNS targets that are notified when updates are made to an+-- incident.+--+-- Using multiple SNS topics creates redundancy in the event that a Region+-- is down during the incident.+updateIncidentRecord_notificationTargets :: Lens.Lens' UpdateIncidentRecord (Prelude.Maybe [NotificationTargetItem])+updateIncidentRecord_notificationTargets = Lens.lens (\UpdateIncidentRecord' {notificationTargets} -> notificationTargets) (\s@UpdateIncidentRecord' {} a -> s {notificationTargets = a} :: UpdateIncidentRecord) Prelude.. Lens.mapping Lens.coerced++-- | The status of the incident. An incident can be @Open@ or @Resolved@.+updateIncidentRecord_status :: Lens.Lens' UpdateIncidentRecord (Prelude.Maybe IncidentRecordStatus)+updateIncidentRecord_status = Lens.lens (\UpdateIncidentRecord' {status} -> status) (\s@UpdateIncidentRecord' {} a -> s {status = a} :: UpdateIncidentRecord)++-- | A longer description of what occurred during the incident.+updateIncidentRecord_summary :: Lens.Lens' UpdateIncidentRecord (Prelude.Maybe Prelude.Text)+updateIncidentRecord_summary = Lens.lens (\UpdateIncidentRecord' {summary} -> summary) (\s@UpdateIncidentRecord' {} a -> s {summary = a} :: UpdateIncidentRecord)++-- | A brief description of the incident.+updateIncidentRecord_title :: Lens.Lens' UpdateIncidentRecord (Prelude.Maybe Prelude.Text)+updateIncidentRecord_title = Lens.lens (\UpdateIncidentRecord' {title} -> title) (\s@UpdateIncidentRecord' {} a -> s {title = a} :: UpdateIncidentRecord)++-- | The Amazon Resource Name (ARN) of the incident record you are updating.+updateIncidentRecord_arn :: Lens.Lens' UpdateIncidentRecord Prelude.Text+updateIncidentRecord_arn = Lens.lens (\UpdateIncidentRecord' {arn} -> arn) (\s@UpdateIncidentRecord' {} a -> s {arn = a} :: UpdateIncidentRecord)++instance Core.AWSRequest UpdateIncidentRecord where+  type+    AWSResponse UpdateIncidentRecord =+      UpdateIncidentRecordResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateIncidentRecordResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateIncidentRecord where+  hashWithSalt _salt UpdateIncidentRecord' {..} =+    _salt+      `Prelude.hashWithSalt` chatChannel+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` impact+      `Prelude.hashWithSalt` notificationTargets+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` summary+      `Prelude.hashWithSalt` title+      `Prelude.hashWithSalt` arn++instance Prelude.NFData UpdateIncidentRecord where+  rnf UpdateIncidentRecord' {..} =+    Prelude.rnf chatChannel+      `Prelude.seq` Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf impact+      `Prelude.seq` Prelude.rnf notificationTargets+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf summary+      `Prelude.seq` Prelude.rnf title+      `Prelude.seq` Prelude.rnf arn++instance Data.ToHeaders UpdateIncidentRecord where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateIncidentRecord where+  toJSON UpdateIncidentRecord' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("chatChannel" Data..=) Prelude.<$> chatChannel,+            ("clientToken" Data..=) Prelude.<$> clientToken,+            ("impact" Data..=) Prelude.<$> impact,+            ("notificationTargets" Data..=)+              Prelude.<$> notificationTargets,+            ("status" Data..=) Prelude.<$> status,+            ("summary" Data..=) Prelude.<$> summary,+            ("title" Data..=) Prelude.<$> title,+            Prelude.Just ("arn" Data..= arn)+          ]+      )++instance Data.ToPath UpdateIncidentRecord where+  toPath = Prelude.const "/updateIncidentRecord"++instance Data.ToQuery UpdateIncidentRecord where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateIncidentRecordResponse' smart constructor.+data UpdateIncidentRecordResponse = UpdateIncidentRecordResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateIncidentRecordResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateIncidentRecordResponse_httpStatus' - The response's http status code.+newUpdateIncidentRecordResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateIncidentRecordResponse+newUpdateIncidentRecordResponse pHttpStatus_ =+  UpdateIncidentRecordResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateIncidentRecordResponse_httpStatus :: Lens.Lens' UpdateIncidentRecordResponse Prelude.Int+updateIncidentRecordResponse_httpStatus = Lens.lens (\UpdateIncidentRecordResponse' {httpStatus} -> httpStatus) (\s@UpdateIncidentRecordResponse' {} a -> s {httpStatus = a} :: UpdateIncidentRecordResponse)++instance Prelude.NFData UpdateIncidentRecordResponse where+  rnf UpdateIncidentRecordResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SSMIncidents/UpdateRelatedItems.hs view
@@ -0,0 +1,196 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.UpdateRelatedItems+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Add or remove related items from the related items tab of an incident+-- record.+module Amazonka.SSMIncidents.UpdateRelatedItems+  ( -- * Creating a Request+    UpdateRelatedItems (..),+    newUpdateRelatedItems,++    -- * Request Lenses+    updateRelatedItems_clientToken,+    updateRelatedItems_incidentRecordArn,+    updateRelatedItems_relatedItemsUpdate,++    -- * Destructuring the Response+    UpdateRelatedItemsResponse (..),+    newUpdateRelatedItemsResponse,++    -- * Response Lenses+    updateRelatedItemsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newUpdateRelatedItems' smart constructor.+data UpdateRelatedItems = UpdateRelatedItems'+  { -- | A token ensuring that the operation is called only once with the+    -- specified details.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the incident record containing the+    -- related items you are updating.+    incidentRecordArn :: Prelude.Text,+    -- | Details about the item you are adding or deleting.+    relatedItemsUpdate :: RelatedItemsUpdate+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRelatedItems' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateRelatedItems_clientToken' - A token ensuring that the operation is called only once with the+-- specified details.+--+-- 'incidentRecordArn', 'updateRelatedItems_incidentRecordArn' - The Amazon Resource Name (ARN) of the incident record containing the+-- related items you are updating.+--+-- 'relatedItemsUpdate', 'updateRelatedItems_relatedItemsUpdate' - Details about the item you are adding or deleting.+newUpdateRelatedItems ::+  -- | 'incidentRecordArn'+  Prelude.Text ->+  -- | 'relatedItemsUpdate'+  RelatedItemsUpdate ->+  UpdateRelatedItems+newUpdateRelatedItems+  pIncidentRecordArn_+  pRelatedItemsUpdate_ =+    UpdateRelatedItems'+      { clientToken = Prelude.Nothing,+        incidentRecordArn = pIncidentRecordArn_,+        relatedItemsUpdate = pRelatedItemsUpdate_+      }++-- | A token ensuring that the operation is called only once with the+-- specified details.+updateRelatedItems_clientToken :: Lens.Lens' UpdateRelatedItems (Prelude.Maybe Prelude.Text)+updateRelatedItems_clientToken = Lens.lens (\UpdateRelatedItems' {clientToken} -> clientToken) (\s@UpdateRelatedItems' {} a -> s {clientToken = a} :: UpdateRelatedItems)++-- | The Amazon Resource Name (ARN) of the incident record containing the+-- related items you are updating.+updateRelatedItems_incidentRecordArn :: Lens.Lens' UpdateRelatedItems Prelude.Text+updateRelatedItems_incidentRecordArn = Lens.lens (\UpdateRelatedItems' {incidentRecordArn} -> incidentRecordArn) (\s@UpdateRelatedItems' {} a -> s {incidentRecordArn = a} :: UpdateRelatedItems)++-- | Details about the item you are adding or deleting.+updateRelatedItems_relatedItemsUpdate :: Lens.Lens' UpdateRelatedItems RelatedItemsUpdate+updateRelatedItems_relatedItemsUpdate = Lens.lens (\UpdateRelatedItems' {relatedItemsUpdate} -> relatedItemsUpdate) (\s@UpdateRelatedItems' {} a -> s {relatedItemsUpdate = a} :: UpdateRelatedItems)++instance Core.AWSRequest UpdateRelatedItems where+  type+    AWSResponse UpdateRelatedItems =+      UpdateRelatedItemsResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateRelatedItemsResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateRelatedItems where+  hashWithSalt _salt UpdateRelatedItems' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` incidentRecordArn+      `Prelude.hashWithSalt` relatedItemsUpdate++instance Prelude.NFData UpdateRelatedItems where+  rnf UpdateRelatedItems' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf incidentRecordArn+      `Prelude.seq` Prelude.rnf relatedItemsUpdate++instance Data.ToHeaders UpdateRelatedItems where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateRelatedItems where+  toJSON UpdateRelatedItems' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            Prelude.Just+              ("incidentRecordArn" Data..= incidentRecordArn),+            Prelude.Just+              ("relatedItemsUpdate" Data..= relatedItemsUpdate)+          ]+      )++instance Data.ToPath UpdateRelatedItems where+  toPath = Prelude.const "/updateRelatedItems"++instance Data.ToQuery UpdateRelatedItems where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateRelatedItemsResponse' smart constructor.+data UpdateRelatedItemsResponse = UpdateRelatedItemsResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRelatedItemsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateRelatedItemsResponse_httpStatus' - The response's http status code.+newUpdateRelatedItemsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateRelatedItemsResponse+newUpdateRelatedItemsResponse pHttpStatus_ =+  UpdateRelatedItemsResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateRelatedItemsResponse_httpStatus :: Lens.Lens' UpdateRelatedItemsResponse Prelude.Int+updateRelatedItemsResponse_httpStatus = Lens.lens (\UpdateRelatedItemsResponse' {httpStatus} -> httpStatus) (\s@UpdateRelatedItemsResponse' {} a -> s {httpStatus = a} :: UpdateRelatedItemsResponse)++instance Prelude.NFData UpdateRelatedItemsResponse where+  rnf UpdateRelatedItemsResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SSMIncidents/UpdateReplicationSet.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.UpdateReplicationSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Add or delete Regions from your replication set.+module Amazonka.SSMIncidents.UpdateReplicationSet+  ( -- * Creating a Request+    UpdateReplicationSet (..),+    newUpdateReplicationSet,++    -- * Request Lenses+    updateReplicationSet_clientToken,+    updateReplicationSet_actions,+    updateReplicationSet_arn,++    -- * Destructuring the Response+    UpdateReplicationSetResponse (..),+    newUpdateReplicationSetResponse,++    -- * Response Lenses+    updateReplicationSetResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newUpdateReplicationSet' smart constructor.+data UpdateReplicationSet = UpdateReplicationSet'+  { -- | A token that ensures that the operation is called only once with the+    -- specified details.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | An action to add or delete a Region.+    actions :: Prelude.NonEmpty UpdateReplicationSetAction,+    -- | The Amazon Resource Name (ARN) of the replication set you\'re updating.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateReplicationSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateReplicationSet_clientToken' - A token that ensures that the operation is called only once with the+-- specified details.+--+-- 'actions', 'updateReplicationSet_actions' - An action to add or delete a Region.+--+-- 'arn', 'updateReplicationSet_arn' - The Amazon Resource Name (ARN) of the replication set you\'re updating.+newUpdateReplicationSet ::+  -- | 'actions'+  Prelude.NonEmpty UpdateReplicationSetAction ->+  -- | 'arn'+  Prelude.Text ->+  UpdateReplicationSet+newUpdateReplicationSet pActions_ pArn_ =+  UpdateReplicationSet'+    { clientToken =+        Prelude.Nothing,+      actions = Lens.coerced Lens.# pActions_,+      arn = pArn_+    }++-- | A token that ensures that the operation is called only once with the+-- specified details.+updateReplicationSet_clientToken :: Lens.Lens' UpdateReplicationSet (Prelude.Maybe Prelude.Text)+updateReplicationSet_clientToken = Lens.lens (\UpdateReplicationSet' {clientToken} -> clientToken) (\s@UpdateReplicationSet' {} a -> s {clientToken = a} :: UpdateReplicationSet)++-- | An action to add or delete a Region.+updateReplicationSet_actions :: Lens.Lens' UpdateReplicationSet (Prelude.NonEmpty UpdateReplicationSetAction)+updateReplicationSet_actions = Lens.lens (\UpdateReplicationSet' {actions} -> actions) (\s@UpdateReplicationSet' {} a -> s {actions = a} :: UpdateReplicationSet) Prelude.. Lens.coerced++-- | The Amazon Resource Name (ARN) of the replication set you\'re updating.+updateReplicationSet_arn :: Lens.Lens' UpdateReplicationSet Prelude.Text+updateReplicationSet_arn = Lens.lens (\UpdateReplicationSet' {arn} -> arn) (\s@UpdateReplicationSet' {} a -> s {arn = a} :: UpdateReplicationSet)++instance Core.AWSRequest UpdateReplicationSet where+  type+    AWSResponse UpdateReplicationSet =+      UpdateReplicationSetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateReplicationSetResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateReplicationSet where+  hashWithSalt _salt UpdateReplicationSet' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` arn++instance Prelude.NFData UpdateReplicationSet where+  rnf UpdateReplicationSet' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf actions+      `Prelude.seq` Prelude.rnf arn++instance Data.ToHeaders UpdateReplicationSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateReplicationSet where+  toJSON UpdateReplicationSet' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            Prelude.Just ("actions" Data..= actions),+            Prelude.Just ("arn" Data..= arn)+          ]+      )++instance Data.ToPath UpdateReplicationSet where+  toPath = Prelude.const "/updateReplicationSet"++instance Data.ToQuery UpdateReplicationSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateReplicationSetResponse' smart constructor.+data UpdateReplicationSetResponse = UpdateReplicationSetResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateReplicationSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateReplicationSetResponse_httpStatus' - The response's http status code.+newUpdateReplicationSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateReplicationSetResponse+newUpdateReplicationSetResponse pHttpStatus_ =+  UpdateReplicationSetResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateReplicationSetResponse_httpStatus :: Lens.Lens' UpdateReplicationSetResponse Prelude.Int+updateReplicationSetResponse_httpStatus = Lens.lens (\UpdateReplicationSetResponse' {httpStatus} -> httpStatus) (\s@UpdateReplicationSetResponse' {} a -> s {httpStatus = a} :: UpdateReplicationSetResponse)++instance Prelude.NFData UpdateReplicationSetResponse where+  rnf UpdateReplicationSetResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SSMIncidents/UpdateResponsePlan.hs view
@@ -0,0 +1,401 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.UpdateResponsePlan+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the specified response plan.+module Amazonka.SSMIncidents.UpdateResponsePlan+  ( -- * Creating a Request+    UpdateResponsePlan (..),+    newUpdateResponsePlan,++    -- * Request Lenses+    updateResponsePlan_actions,+    updateResponsePlan_chatChannel,+    updateResponsePlan_clientToken,+    updateResponsePlan_displayName,+    updateResponsePlan_engagements,+    updateResponsePlan_incidentTemplateDedupeString,+    updateResponsePlan_incidentTemplateImpact,+    updateResponsePlan_incidentTemplateNotificationTargets,+    updateResponsePlan_incidentTemplateSummary,+    updateResponsePlan_incidentTemplateTags,+    updateResponsePlan_incidentTemplateTitle,+    updateResponsePlan_integrations,+    updateResponsePlan_arn,++    -- * Destructuring the Response+    UpdateResponsePlanResponse (..),+    newUpdateResponsePlanResponse,++    -- * Response Lenses+    updateResponsePlanResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newUpdateResponsePlan' smart constructor.+data UpdateResponsePlan = UpdateResponsePlan'+  { -- | The actions that this response plan takes at the beginning of an+    -- incident.+    actions :: Prelude.Maybe [Action],+    -- | The Chatbot chat channel used for collaboration during an incident.+    --+    -- Use the empty structure to remove the chat channel from the response+    -- plan.+    chatChannel :: Prelude.Maybe ChatChannel,+    -- | A token ensuring that the operation is called only once with the+    -- specified details.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The long format name of the response plan. The display name can\'t+    -- contain spaces.+    displayName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) for the contacts and escalation plans+    -- that the response plan engages during an incident.+    engagements :: Prelude.Maybe [Prelude.Text],+    -- | The string Incident Manager uses to prevent duplicate incidents from+    -- being created by the same incident in the same account.+    incidentTemplateDedupeString :: Prelude.Maybe Prelude.Text,+    -- | Defines the impact to the customers. Providing an impact overwrites the+    -- impact provided by a response plan.+    --+    -- __Possible impacts:__+    --+    -- -   @5@ - Severe impact+    --+    -- -   @4@ - High impact+    --+    -- -   @3@ - Medium impact+    --+    -- -   @2@ - Low impact+    --+    -- -   @1@ - No impact+    incidentTemplateImpact :: Prelude.Maybe Prelude.Natural,+    -- | The Amazon SNS targets that are notified when updates are made to an+    -- incident.+    incidentTemplateNotificationTargets :: Prelude.Maybe [NotificationTargetItem],+    -- | A brief summary of the incident. This typically contains what has+    -- happened, what\'s currently happening, and next steps.+    incidentTemplateSummary :: Prelude.Maybe Prelude.Text,+    -- | Tags to assign to the template. When the @StartIncident@ API action is+    -- called, Incident Manager assigns the tags specified in the template to+    -- the incident. To call this action, you must also have permission to call+    -- the @TagResource@ API action for the incident record resource.+    incidentTemplateTags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The short format name of the incident. The title can\'t contain spaces.+    incidentTemplateTitle :: Prelude.Maybe Prelude.Text,+    -- | Information about third-party services integrated into the response+    -- plan.+    integrations :: Prelude.Maybe [Integration],+    -- | The Amazon Resource Name (ARN) of the response plan.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResponsePlan' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actions', 'updateResponsePlan_actions' - The actions that this response plan takes at the beginning of an+-- incident.+--+-- 'chatChannel', 'updateResponsePlan_chatChannel' - The Chatbot chat channel used for collaboration during an incident.+--+-- Use the empty structure to remove the chat channel from the response+-- plan.+--+-- 'clientToken', 'updateResponsePlan_clientToken' - A token ensuring that the operation is called only once with the+-- specified details.+--+-- 'displayName', 'updateResponsePlan_displayName' - The long format name of the response plan. The display name can\'t+-- contain spaces.+--+-- 'engagements', 'updateResponsePlan_engagements' - The Amazon Resource Name (ARN) for the contacts and escalation plans+-- that the response plan engages during an incident.+--+-- 'incidentTemplateDedupeString', 'updateResponsePlan_incidentTemplateDedupeString' - The string Incident Manager uses to prevent duplicate incidents from+-- being created by the same incident in the same account.+--+-- 'incidentTemplateImpact', 'updateResponsePlan_incidentTemplateImpact' - Defines the impact to the customers. Providing an impact overwrites the+-- impact provided by a response plan.+--+-- __Possible impacts:__+--+-- -   @5@ - Severe impact+--+-- -   @4@ - High impact+--+-- -   @3@ - Medium impact+--+-- -   @2@ - Low impact+--+-- -   @1@ - No impact+--+-- 'incidentTemplateNotificationTargets', 'updateResponsePlan_incidentTemplateNotificationTargets' - The Amazon SNS targets that are notified when updates are made to an+-- incident.+--+-- 'incidentTemplateSummary', 'updateResponsePlan_incidentTemplateSummary' - A brief summary of the incident. This typically contains what has+-- happened, what\'s currently happening, and next steps.+--+-- 'incidentTemplateTags', 'updateResponsePlan_incidentTemplateTags' - Tags to assign to the template. When the @StartIncident@ API action is+-- called, Incident Manager assigns the tags specified in the template to+-- the incident. To call this action, you must also have permission to call+-- the @TagResource@ API action for the incident record resource.+--+-- 'incidentTemplateTitle', 'updateResponsePlan_incidentTemplateTitle' - The short format name of the incident. The title can\'t contain spaces.+--+-- 'integrations', 'updateResponsePlan_integrations' - Information about third-party services integrated into the response+-- plan.+--+-- 'arn', 'updateResponsePlan_arn' - The Amazon Resource Name (ARN) of the response plan.+newUpdateResponsePlan ::+  -- | 'arn'+  Prelude.Text ->+  UpdateResponsePlan+newUpdateResponsePlan pArn_ =+  UpdateResponsePlan'+    { actions = Prelude.Nothing,+      chatChannel = Prelude.Nothing,+      clientToken = Prelude.Nothing,+      displayName = Prelude.Nothing,+      engagements = Prelude.Nothing,+      incidentTemplateDedupeString = Prelude.Nothing,+      incidentTemplateImpact = Prelude.Nothing,+      incidentTemplateNotificationTargets =+        Prelude.Nothing,+      incidentTemplateSummary = Prelude.Nothing,+      incidentTemplateTags = Prelude.Nothing,+      incidentTemplateTitle = Prelude.Nothing,+      integrations = Prelude.Nothing,+      arn = pArn_+    }++-- | The actions that this response plan takes at the beginning of an+-- incident.+updateResponsePlan_actions :: Lens.Lens' UpdateResponsePlan (Prelude.Maybe [Action])+updateResponsePlan_actions = Lens.lens (\UpdateResponsePlan' {actions} -> actions) (\s@UpdateResponsePlan' {} a -> s {actions = a} :: UpdateResponsePlan) Prelude.. Lens.mapping Lens.coerced++-- | The Chatbot chat channel used for collaboration during an incident.+--+-- Use the empty structure to remove the chat channel from the response+-- plan.+updateResponsePlan_chatChannel :: Lens.Lens' UpdateResponsePlan (Prelude.Maybe ChatChannel)+updateResponsePlan_chatChannel = Lens.lens (\UpdateResponsePlan' {chatChannel} -> chatChannel) (\s@UpdateResponsePlan' {} a -> s {chatChannel = a} :: UpdateResponsePlan)++-- | A token ensuring that the operation is called only once with the+-- specified details.+updateResponsePlan_clientToken :: Lens.Lens' UpdateResponsePlan (Prelude.Maybe Prelude.Text)+updateResponsePlan_clientToken = Lens.lens (\UpdateResponsePlan' {clientToken} -> clientToken) (\s@UpdateResponsePlan' {} a -> s {clientToken = a} :: UpdateResponsePlan)++-- | The long format name of the response plan. The display name can\'t+-- contain spaces.+updateResponsePlan_displayName :: Lens.Lens' UpdateResponsePlan (Prelude.Maybe Prelude.Text)+updateResponsePlan_displayName = Lens.lens (\UpdateResponsePlan' {displayName} -> displayName) (\s@UpdateResponsePlan' {} a -> s {displayName = a} :: UpdateResponsePlan)++-- | The Amazon Resource Name (ARN) for the contacts and escalation plans+-- that the response plan engages during an incident.+updateResponsePlan_engagements :: Lens.Lens' UpdateResponsePlan (Prelude.Maybe [Prelude.Text])+updateResponsePlan_engagements = Lens.lens (\UpdateResponsePlan' {engagements} -> engagements) (\s@UpdateResponsePlan' {} a -> s {engagements = a} :: UpdateResponsePlan) Prelude.. Lens.mapping Lens.coerced++-- | The string Incident Manager uses to prevent duplicate incidents from+-- being created by the same incident in the same account.+updateResponsePlan_incidentTemplateDedupeString :: Lens.Lens' UpdateResponsePlan (Prelude.Maybe Prelude.Text)+updateResponsePlan_incidentTemplateDedupeString = Lens.lens (\UpdateResponsePlan' {incidentTemplateDedupeString} -> incidentTemplateDedupeString) (\s@UpdateResponsePlan' {} a -> s {incidentTemplateDedupeString = a} :: UpdateResponsePlan)++-- | Defines the impact to the customers. Providing an impact overwrites the+-- impact provided by a response plan.+--+-- __Possible impacts:__+--+-- -   @5@ - Severe impact+--+-- -   @4@ - High impact+--+-- -   @3@ - Medium impact+--+-- -   @2@ - Low impact+--+-- -   @1@ - No impact+updateResponsePlan_incidentTemplateImpact :: Lens.Lens' UpdateResponsePlan (Prelude.Maybe Prelude.Natural)+updateResponsePlan_incidentTemplateImpact = Lens.lens (\UpdateResponsePlan' {incidentTemplateImpact} -> incidentTemplateImpact) (\s@UpdateResponsePlan' {} a -> s {incidentTemplateImpact = a} :: UpdateResponsePlan)++-- | The Amazon SNS targets that are notified when updates are made to an+-- incident.+updateResponsePlan_incidentTemplateNotificationTargets :: Lens.Lens' UpdateResponsePlan (Prelude.Maybe [NotificationTargetItem])+updateResponsePlan_incidentTemplateNotificationTargets = Lens.lens (\UpdateResponsePlan' {incidentTemplateNotificationTargets} -> incidentTemplateNotificationTargets) (\s@UpdateResponsePlan' {} a -> s {incidentTemplateNotificationTargets = a} :: UpdateResponsePlan) Prelude.. Lens.mapping Lens.coerced++-- | A brief summary of the incident. This typically contains what has+-- happened, what\'s currently happening, and next steps.+updateResponsePlan_incidentTemplateSummary :: Lens.Lens' UpdateResponsePlan (Prelude.Maybe Prelude.Text)+updateResponsePlan_incidentTemplateSummary = Lens.lens (\UpdateResponsePlan' {incidentTemplateSummary} -> incidentTemplateSummary) (\s@UpdateResponsePlan' {} a -> s {incidentTemplateSummary = a} :: UpdateResponsePlan)++-- | Tags to assign to the template. When the @StartIncident@ API action is+-- called, Incident Manager assigns the tags specified in the template to+-- the incident. To call this action, you must also have permission to call+-- the @TagResource@ API action for the incident record resource.+updateResponsePlan_incidentTemplateTags :: Lens.Lens' UpdateResponsePlan (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateResponsePlan_incidentTemplateTags = Lens.lens (\UpdateResponsePlan' {incidentTemplateTags} -> incidentTemplateTags) (\s@UpdateResponsePlan' {} a -> s {incidentTemplateTags = a} :: UpdateResponsePlan) Prelude.. Lens.mapping Lens.coerced++-- | The short format name of the incident. The title can\'t contain spaces.+updateResponsePlan_incidentTemplateTitle :: Lens.Lens' UpdateResponsePlan (Prelude.Maybe Prelude.Text)+updateResponsePlan_incidentTemplateTitle = Lens.lens (\UpdateResponsePlan' {incidentTemplateTitle} -> incidentTemplateTitle) (\s@UpdateResponsePlan' {} a -> s {incidentTemplateTitle = a} :: UpdateResponsePlan)++-- | Information about third-party services integrated into the response+-- plan.+updateResponsePlan_integrations :: Lens.Lens' UpdateResponsePlan (Prelude.Maybe [Integration])+updateResponsePlan_integrations = Lens.lens (\UpdateResponsePlan' {integrations} -> integrations) (\s@UpdateResponsePlan' {} a -> s {integrations = a} :: UpdateResponsePlan) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Resource Name (ARN) of the response plan.+updateResponsePlan_arn :: Lens.Lens' UpdateResponsePlan Prelude.Text+updateResponsePlan_arn = Lens.lens (\UpdateResponsePlan' {arn} -> arn) (\s@UpdateResponsePlan' {} a -> s {arn = a} :: UpdateResponsePlan)++instance Core.AWSRequest UpdateResponsePlan where+  type+    AWSResponse UpdateResponsePlan =+      UpdateResponsePlanResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateResponsePlanResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateResponsePlan where+  hashWithSalt _salt UpdateResponsePlan' {..} =+    _salt+      `Prelude.hashWithSalt` actions+      `Prelude.hashWithSalt` chatChannel+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` displayName+      `Prelude.hashWithSalt` engagements+      `Prelude.hashWithSalt` incidentTemplateDedupeString+      `Prelude.hashWithSalt` incidentTemplateImpact+      `Prelude.hashWithSalt` incidentTemplateNotificationTargets+      `Prelude.hashWithSalt` incidentTemplateSummary+      `Prelude.hashWithSalt` incidentTemplateTags+      `Prelude.hashWithSalt` incidentTemplateTitle+      `Prelude.hashWithSalt` integrations+      `Prelude.hashWithSalt` arn++instance Prelude.NFData UpdateResponsePlan where+  rnf UpdateResponsePlan' {..} =+    Prelude.rnf actions+      `Prelude.seq` Prelude.rnf chatChannel+      `Prelude.seq` Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf displayName+      `Prelude.seq` Prelude.rnf engagements+      `Prelude.seq` Prelude.rnf incidentTemplateDedupeString+      `Prelude.seq` Prelude.rnf incidentTemplateImpact+      `Prelude.seq` Prelude.rnf incidentTemplateNotificationTargets+      `Prelude.seq` Prelude.rnf incidentTemplateSummary+      `Prelude.seq` Prelude.rnf incidentTemplateTags+      `Prelude.seq` Prelude.rnf incidentTemplateTitle+      `Prelude.seq` Prelude.rnf integrations+      `Prelude.seq` Prelude.rnf arn++instance Data.ToHeaders UpdateResponsePlan where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateResponsePlan where+  toJSON UpdateResponsePlan' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("actions" Data..=) Prelude.<$> actions,+            ("chatChannel" Data..=) Prelude.<$> chatChannel,+            ("clientToken" Data..=) Prelude.<$> clientToken,+            ("displayName" Data..=) Prelude.<$> displayName,+            ("engagements" Data..=) Prelude.<$> engagements,+            ("incidentTemplateDedupeString" Data..=)+              Prelude.<$> incidentTemplateDedupeString,+            ("incidentTemplateImpact" Data..=)+              Prelude.<$> incidentTemplateImpact,+            ("incidentTemplateNotificationTargets" Data..=)+              Prelude.<$> incidentTemplateNotificationTargets,+            ("incidentTemplateSummary" Data..=)+              Prelude.<$> incidentTemplateSummary,+            ("incidentTemplateTags" Data..=)+              Prelude.<$> incidentTemplateTags,+            ("incidentTemplateTitle" Data..=)+              Prelude.<$> incidentTemplateTitle,+            ("integrations" Data..=) Prelude.<$> integrations,+            Prelude.Just ("arn" Data..= arn)+          ]+      )++instance Data.ToPath UpdateResponsePlan where+  toPath = Prelude.const "/updateResponsePlan"++instance Data.ToQuery UpdateResponsePlan where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateResponsePlanResponse' smart constructor.+data UpdateResponsePlanResponse = UpdateResponsePlanResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateResponsePlanResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateResponsePlanResponse_httpStatus' - The response's http status code.+newUpdateResponsePlanResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateResponsePlanResponse+newUpdateResponsePlanResponse pHttpStatus_ =+  UpdateResponsePlanResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateResponsePlanResponse_httpStatus :: Lens.Lens' UpdateResponsePlanResponse Prelude.Int+updateResponsePlanResponse_httpStatus = Lens.lens (\UpdateResponsePlanResponse' {httpStatus} -> httpStatus) (\s@UpdateResponsePlanResponse' {} a -> s {httpStatus = a} :: UpdateResponsePlanResponse)++instance Prelude.NFData UpdateResponsePlanResponse where+  rnf UpdateResponsePlanResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SSMIncidents/UpdateTimelineEvent.hs view
@@ -0,0 +1,281 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.UpdateTimelineEvent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a timeline event. You can update events of type @Custom Event@.+module Amazonka.SSMIncidents.UpdateTimelineEvent+  ( -- * Creating a Request+    UpdateTimelineEvent (..),+    newUpdateTimelineEvent,++    -- * Request Lenses+    updateTimelineEvent_clientToken,+    updateTimelineEvent_eventData,+    updateTimelineEvent_eventReferences,+    updateTimelineEvent_eventTime,+    updateTimelineEvent_eventType,+    updateTimelineEvent_eventId,+    updateTimelineEvent_incidentRecordArn,++    -- * Destructuring the Response+    UpdateTimelineEventResponse (..),+    newUpdateTimelineEventResponse,++    -- * Response Lenses+    updateTimelineEventResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SSMIncidents.Types++-- | /See:/ 'newUpdateTimelineEvent' smart constructor.+data UpdateTimelineEvent = UpdateTimelineEvent'+  { -- | A token ensuring that the operation is called only once with the+    -- specified details.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | A short description of the event.+    eventData :: Prelude.Maybe Prelude.Text,+    -- | Updates all existing references in a @TimelineEvent@. A reference can be+    -- an Amazon Web Services resource involved in the incident or in some way+    -- associated with it. When you specify a reference, you enter the Amazon+    -- Resource Name (ARN) of the resource. You can also specify a related+    -- item. As an example, you could specify the ARN of an Amazon DynamoDB+    -- (DynamoDB) table. The table for this example is the resource. You could+    -- also specify a Amazon CloudWatch metric for that table. The metric is+    -- the related item.+    --+    -- This update action overrides all existing references. If you want to+    -- keep existing references, you must specify them in the call. If you+    -- don\'t, this action removes them and enters only new references.+    eventReferences :: Prelude.Maybe [EventReference],+    -- | The time that the event occurred.+    eventTime :: Prelude.Maybe Data.POSIX,+    -- | The type of the event. You can update events of type @Custom Event@.+    eventType :: Prelude.Maybe Prelude.Text,+    -- | The ID of the event you are updating. You can find this by using+    -- @ListTimelineEvents@.+    eventId :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the incident that includes the+    -- timeline event.+    incidentRecordArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTimelineEvent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'updateTimelineEvent_clientToken' - A token ensuring that the operation is called only once with the+-- specified details.+--+-- 'eventData', 'updateTimelineEvent_eventData' - A short description of the event.+--+-- 'eventReferences', 'updateTimelineEvent_eventReferences' - Updates all existing references in a @TimelineEvent@. A reference can be+-- an Amazon Web Services resource involved in the incident or in some way+-- associated with it. When you specify a reference, you enter the Amazon+-- Resource Name (ARN) of the resource. You can also specify a related+-- item. As an example, you could specify the ARN of an Amazon DynamoDB+-- (DynamoDB) table. The table for this example is the resource. You could+-- also specify a Amazon CloudWatch metric for that table. The metric is+-- the related item.+--+-- This update action overrides all existing references. If you want to+-- keep existing references, you must specify them in the call. If you+-- don\'t, this action removes them and enters only new references.+--+-- 'eventTime', 'updateTimelineEvent_eventTime' - The time that the event occurred.+--+-- 'eventType', 'updateTimelineEvent_eventType' - The type of the event. You can update events of type @Custom Event@.+--+-- 'eventId', 'updateTimelineEvent_eventId' - The ID of the event you are updating. You can find this by using+-- @ListTimelineEvents@.+--+-- 'incidentRecordArn', 'updateTimelineEvent_incidentRecordArn' - The Amazon Resource Name (ARN) of the incident that includes the+-- timeline event.+newUpdateTimelineEvent ::+  -- | 'eventId'+  Prelude.Text ->+  -- | 'incidentRecordArn'+  Prelude.Text ->+  UpdateTimelineEvent+newUpdateTimelineEvent pEventId_ pIncidentRecordArn_ =+  UpdateTimelineEvent'+    { clientToken = Prelude.Nothing,+      eventData = Prelude.Nothing,+      eventReferences = Prelude.Nothing,+      eventTime = Prelude.Nothing,+      eventType = Prelude.Nothing,+      eventId = pEventId_,+      incidentRecordArn = pIncidentRecordArn_+    }++-- | A token ensuring that the operation is called only once with the+-- specified details.+updateTimelineEvent_clientToken :: Lens.Lens' UpdateTimelineEvent (Prelude.Maybe Prelude.Text)+updateTimelineEvent_clientToken = Lens.lens (\UpdateTimelineEvent' {clientToken} -> clientToken) (\s@UpdateTimelineEvent' {} a -> s {clientToken = a} :: UpdateTimelineEvent)++-- | A short description of the event.+updateTimelineEvent_eventData :: Lens.Lens' UpdateTimelineEvent (Prelude.Maybe Prelude.Text)+updateTimelineEvent_eventData = Lens.lens (\UpdateTimelineEvent' {eventData} -> eventData) (\s@UpdateTimelineEvent' {} a -> s {eventData = a} :: UpdateTimelineEvent)++-- | Updates all existing references in a @TimelineEvent@. A reference can be+-- an Amazon Web Services resource involved in the incident or in some way+-- associated with it. When you specify a reference, you enter the Amazon+-- Resource Name (ARN) of the resource. You can also specify a related+-- item. As an example, you could specify the ARN of an Amazon DynamoDB+-- (DynamoDB) table. The table for this example is the resource. You could+-- also specify a Amazon CloudWatch metric for that table. The metric is+-- the related item.+--+-- This update action overrides all existing references. If you want to+-- keep existing references, you must specify them in the call. If you+-- don\'t, this action removes them and enters only new references.+updateTimelineEvent_eventReferences :: Lens.Lens' UpdateTimelineEvent (Prelude.Maybe [EventReference])+updateTimelineEvent_eventReferences = Lens.lens (\UpdateTimelineEvent' {eventReferences} -> eventReferences) (\s@UpdateTimelineEvent' {} a -> s {eventReferences = a} :: UpdateTimelineEvent) Prelude.. Lens.mapping Lens.coerced++-- | The time that the event occurred.+updateTimelineEvent_eventTime :: Lens.Lens' UpdateTimelineEvent (Prelude.Maybe Prelude.UTCTime)+updateTimelineEvent_eventTime = Lens.lens (\UpdateTimelineEvent' {eventTime} -> eventTime) (\s@UpdateTimelineEvent' {} a -> s {eventTime = a} :: UpdateTimelineEvent) Prelude.. Lens.mapping Data._Time++-- | The type of the event. You can update events of type @Custom Event@.+updateTimelineEvent_eventType :: Lens.Lens' UpdateTimelineEvent (Prelude.Maybe Prelude.Text)+updateTimelineEvent_eventType = Lens.lens (\UpdateTimelineEvent' {eventType} -> eventType) (\s@UpdateTimelineEvent' {} a -> s {eventType = a} :: UpdateTimelineEvent)++-- | The ID of the event you are updating. You can find this by using+-- @ListTimelineEvents@.+updateTimelineEvent_eventId :: Lens.Lens' UpdateTimelineEvent Prelude.Text+updateTimelineEvent_eventId = Lens.lens (\UpdateTimelineEvent' {eventId} -> eventId) (\s@UpdateTimelineEvent' {} a -> s {eventId = a} :: UpdateTimelineEvent)++-- | The Amazon Resource Name (ARN) of the incident that includes the+-- timeline event.+updateTimelineEvent_incidentRecordArn :: Lens.Lens' UpdateTimelineEvent Prelude.Text+updateTimelineEvent_incidentRecordArn = Lens.lens (\UpdateTimelineEvent' {incidentRecordArn} -> incidentRecordArn) (\s@UpdateTimelineEvent' {} a -> s {incidentRecordArn = a} :: UpdateTimelineEvent)++instance Core.AWSRequest UpdateTimelineEvent where+  type+    AWSResponse UpdateTimelineEvent =+      UpdateTimelineEventResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UpdateTimelineEventResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateTimelineEvent where+  hashWithSalt _salt UpdateTimelineEvent' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` eventData+      `Prelude.hashWithSalt` eventReferences+      `Prelude.hashWithSalt` eventTime+      `Prelude.hashWithSalt` eventType+      `Prelude.hashWithSalt` eventId+      `Prelude.hashWithSalt` incidentRecordArn++instance Prelude.NFData UpdateTimelineEvent where+  rnf UpdateTimelineEvent' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf eventData+      `Prelude.seq` Prelude.rnf eventReferences+      `Prelude.seq` Prelude.rnf eventTime+      `Prelude.seq` Prelude.rnf eventType+      `Prelude.seq` Prelude.rnf eventId+      `Prelude.seq` Prelude.rnf incidentRecordArn++instance Data.ToHeaders UpdateTimelineEvent where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateTimelineEvent where+  toJSON UpdateTimelineEvent' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("clientToken" Data..=) Prelude.<$> clientToken,+            ("eventData" Data..=) Prelude.<$> eventData,+            ("eventReferences" Data..=)+              Prelude.<$> eventReferences,+            ("eventTime" Data..=) Prelude.<$> eventTime,+            ("eventType" Data..=) Prelude.<$> eventType,+            Prelude.Just ("eventId" Data..= eventId),+            Prelude.Just+              ("incidentRecordArn" Data..= incidentRecordArn)+          ]+      )++instance Data.ToPath UpdateTimelineEvent where+  toPath = Prelude.const "/updateTimelineEvent"++instance Data.ToQuery UpdateTimelineEvent where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateTimelineEventResponse' smart constructor.+data UpdateTimelineEventResponse = UpdateTimelineEventResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateTimelineEventResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'updateTimelineEventResponse_httpStatus' - The response's http status code.+newUpdateTimelineEventResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateTimelineEventResponse+newUpdateTimelineEventResponse pHttpStatus_ =+  UpdateTimelineEventResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+updateTimelineEventResponse_httpStatus :: Lens.Lens' UpdateTimelineEventResponse Prelude.Int+updateTimelineEventResponse_httpStatus = Lens.lens (\UpdateTimelineEventResponse' {httpStatus} -> httpStatus) (\s@UpdateTimelineEventResponse' {} a -> s {httpStatus = a} :: UpdateTimelineEventResponse)++instance Prelude.NFData UpdateTimelineEventResponse where+  rnf UpdateTimelineEventResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SSMIncidents/Waiters.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SSMIncidents.Waiters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.SSMIncidents.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SSMIncidents.GetReplicationSet+import Amazonka.SSMIncidents.Lens+import Amazonka.SSMIncidents.Types++-- | Polls 'Amazonka.SSMIncidents.GetReplicationSet' every 30 seconds until a successful state is reached. An error is returned after 5 failed checks.+newWaitForReplicationSetActive :: Core.Wait GetReplicationSet+newWaitForReplicationSetActive =+  Core.Wait+    { Core.name =+        "WaitForReplicationSetActive",+      Core.attempts = 5,+      Core.delay = 30,+      Core.acceptors =+        [ Core.matchAll+            "ACTIVE"+            Core.AcceptSuccess+            ( getReplicationSetResponse_replicationSet+                Prelude.. replicationSet_status+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAll+            "CREATING"+            Core.AcceptRetry+            ( getReplicationSetResponse_replicationSet+                Prelude.. replicationSet_status+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAll+            "UPDATING"+            Core.AcceptRetry+            ( getReplicationSetResponse_replicationSet+                Prelude.. replicationSet_status+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAll+            "FAILED"+            Core.AcceptFailure+            ( getReplicationSetResponse_replicationSet+                Prelude.. replicationSet_status+                Prelude.. Lens.to Data.toTextCI+            )+        ]+    }++-- | Polls 'Amazonka.SSMIncidents.GetReplicationSet' every 30 seconds until a successful state is reached. An error is returned after 5 failed checks.+newWaitForReplicationSetDeleted :: Core.Wait GetReplicationSet+newWaitForReplicationSetDeleted =+  Core.Wait+    { Core.name =+        "WaitForReplicationSetDeleted",+      Core.attempts = 5,+      Core.delay = 30,+      Core.acceptors =+        [ Core.matchError+            "ResourceNotFoundException"+            Core.AcceptSuccess,+          Core.matchAll+            "DELETING"+            Core.AcceptRetry+            ( getReplicationSetResponse_replicationSet+                Prelude.. replicationSet_status+                Prelude.. Lens.to Data.toTextCI+            ),+          Core.matchAll+            "FAILED"+            Core.AcceptFailure+            ( getReplicationSetResponse_replicationSet+                Prelude.. replicationSet_status+                Prelude.. Lens.to Data.toTextCI+            )+        ]+    }
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Main+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.SSMIncidents+import Test.Amazonka.SSMIncidents.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "SSMIncidents"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/SSMIncidents.hs view
@@ -0,0 +1,618 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.Amazonka.Gen.SSMIncidents+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.SSMIncidents where++import Amazonka.SSMIncidents+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.SSMIncidents.Internal+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestCreateReplicationSet $+--             newCreateReplicationSet+--+--         , requestCreateResponsePlan $+--             newCreateResponsePlan+--+--         , requestCreateTimelineEvent $+--             newCreateTimelineEvent+--+--         , requestDeleteIncidentRecord $+--             newDeleteIncidentRecord+--+--         , requestDeleteReplicationSet $+--             newDeleteReplicationSet+--+--         , requestDeleteResourcePolicy $+--             newDeleteResourcePolicy+--+--         , requestDeleteResponsePlan $+--             newDeleteResponsePlan+--+--         , requestDeleteTimelineEvent $+--             newDeleteTimelineEvent+--+--         , requestGetIncidentRecord $+--             newGetIncidentRecord+--+--         , requestGetReplicationSet $+--             newGetReplicationSet+--+--         , requestGetResourcePolicies $+--             newGetResourcePolicies+--+--         , requestGetResponsePlan $+--             newGetResponsePlan+--+--         , requestGetTimelineEvent $+--             newGetTimelineEvent+--+--         , requestListIncidentRecords $+--             newListIncidentRecords+--+--         , requestListRelatedItems $+--             newListRelatedItems+--+--         , requestListReplicationSets $+--             newListReplicationSets+--+--         , requestListResponsePlans $+--             newListResponsePlans+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestListTimelineEvents $+--             newListTimelineEvents+--+--         , requestPutResourcePolicy $+--             newPutResourcePolicy+--+--         , requestStartIncident $+--             newStartIncident+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateDeletionProtection $+--             newUpdateDeletionProtection+--+--         , requestUpdateIncidentRecord $+--             newUpdateIncidentRecord+--+--         , requestUpdateRelatedItems $+--             newUpdateRelatedItems+--+--         , requestUpdateReplicationSet $+--             newUpdateReplicationSet+--+--         , requestUpdateResponsePlan $+--             newUpdateResponsePlan+--+--         , requestUpdateTimelineEvent $+--             newUpdateTimelineEvent+--+--           ]++--     , testGroup "response"+--         [ responseCreateReplicationSet $+--             newCreateReplicationSetResponse+--+--         , responseCreateResponsePlan $+--             newCreateResponsePlanResponse+--+--         , responseCreateTimelineEvent $+--             newCreateTimelineEventResponse+--+--         , responseDeleteIncidentRecord $+--             newDeleteIncidentRecordResponse+--+--         , responseDeleteReplicationSet $+--             newDeleteReplicationSetResponse+--+--         , responseDeleteResourcePolicy $+--             newDeleteResourcePolicyResponse+--+--         , responseDeleteResponsePlan $+--             newDeleteResponsePlanResponse+--+--         , responseDeleteTimelineEvent $+--             newDeleteTimelineEventResponse+--+--         , responseGetIncidentRecord $+--             newGetIncidentRecordResponse+--+--         , responseGetReplicationSet $+--             newGetReplicationSetResponse+--+--         , responseGetResourcePolicies $+--             newGetResourcePoliciesResponse+--+--         , responseGetResponsePlan $+--             newGetResponsePlanResponse+--+--         , responseGetTimelineEvent $+--             newGetTimelineEventResponse+--+--         , responseListIncidentRecords $+--             newListIncidentRecordsResponse+--+--         , responseListRelatedItems $+--             newListRelatedItemsResponse+--+--         , responseListReplicationSets $+--             newListReplicationSetsResponse+--+--         , responseListResponsePlans $+--             newListResponsePlansResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseListTimelineEvents $+--             newListTimelineEventsResponse+--+--         , responsePutResourcePolicy $+--             newPutResourcePolicyResponse+--+--         , responseStartIncident $+--             newStartIncidentResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateDeletionProtection $+--             newUpdateDeletionProtectionResponse+--+--         , responseUpdateIncidentRecord $+--             newUpdateIncidentRecordResponse+--+--         , responseUpdateRelatedItems $+--             newUpdateRelatedItemsResponse+--+--         , responseUpdateReplicationSet $+--             newUpdateReplicationSetResponse+--+--         , responseUpdateResponsePlan $+--             newUpdateResponsePlanResponse+--+--         , responseUpdateTimelineEvent $+--             newUpdateTimelineEventResponse+--+--           ]+--     ]++-- Requests++requestCreateReplicationSet :: CreateReplicationSet -> TestTree+requestCreateReplicationSet =+  req+    "CreateReplicationSet"+    "fixture/CreateReplicationSet.yaml"++requestCreateResponsePlan :: CreateResponsePlan -> TestTree+requestCreateResponsePlan =+  req+    "CreateResponsePlan"+    "fixture/CreateResponsePlan.yaml"++requestCreateTimelineEvent :: CreateTimelineEvent -> TestTree+requestCreateTimelineEvent =+  req+    "CreateTimelineEvent"+    "fixture/CreateTimelineEvent.yaml"++requestDeleteIncidentRecord :: DeleteIncidentRecord -> TestTree+requestDeleteIncidentRecord =+  req+    "DeleteIncidentRecord"+    "fixture/DeleteIncidentRecord.yaml"++requestDeleteReplicationSet :: DeleteReplicationSet -> TestTree+requestDeleteReplicationSet =+  req+    "DeleteReplicationSet"+    "fixture/DeleteReplicationSet.yaml"++requestDeleteResourcePolicy :: DeleteResourcePolicy -> TestTree+requestDeleteResourcePolicy =+  req+    "DeleteResourcePolicy"+    "fixture/DeleteResourcePolicy.yaml"++requestDeleteResponsePlan :: DeleteResponsePlan -> TestTree+requestDeleteResponsePlan =+  req+    "DeleteResponsePlan"+    "fixture/DeleteResponsePlan.yaml"++requestDeleteTimelineEvent :: DeleteTimelineEvent -> TestTree+requestDeleteTimelineEvent =+  req+    "DeleteTimelineEvent"+    "fixture/DeleteTimelineEvent.yaml"++requestGetIncidentRecord :: GetIncidentRecord -> TestTree+requestGetIncidentRecord =+  req+    "GetIncidentRecord"+    "fixture/GetIncidentRecord.yaml"++requestGetReplicationSet :: GetReplicationSet -> TestTree+requestGetReplicationSet =+  req+    "GetReplicationSet"+    "fixture/GetReplicationSet.yaml"++requestGetResourcePolicies :: GetResourcePolicies -> TestTree+requestGetResourcePolicies =+  req+    "GetResourcePolicies"+    "fixture/GetResourcePolicies.yaml"++requestGetResponsePlan :: GetResponsePlan -> TestTree+requestGetResponsePlan =+  req+    "GetResponsePlan"+    "fixture/GetResponsePlan.yaml"++requestGetTimelineEvent :: GetTimelineEvent -> TestTree+requestGetTimelineEvent =+  req+    "GetTimelineEvent"+    "fixture/GetTimelineEvent.yaml"++requestListIncidentRecords :: ListIncidentRecords -> TestTree+requestListIncidentRecords =+  req+    "ListIncidentRecords"+    "fixture/ListIncidentRecords.yaml"++requestListRelatedItems :: ListRelatedItems -> TestTree+requestListRelatedItems =+  req+    "ListRelatedItems"+    "fixture/ListRelatedItems.yaml"++requestListReplicationSets :: ListReplicationSets -> TestTree+requestListReplicationSets =+  req+    "ListReplicationSets"+    "fixture/ListReplicationSets.yaml"++requestListResponsePlans :: ListResponsePlans -> TestTree+requestListResponsePlans =+  req+    "ListResponsePlans"+    "fixture/ListResponsePlans.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestListTimelineEvents :: ListTimelineEvents -> TestTree+requestListTimelineEvents =+  req+    "ListTimelineEvents"+    "fixture/ListTimelineEvents.yaml"++requestPutResourcePolicy :: PutResourcePolicy -> TestTree+requestPutResourcePolicy =+  req+    "PutResourcePolicy"+    "fixture/PutResourcePolicy.yaml"++requestStartIncident :: StartIncident -> TestTree+requestStartIncident =+  req+    "StartIncident"+    "fixture/StartIncident.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateDeletionProtection :: UpdateDeletionProtection -> TestTree+requestUpdateDeletionProtection =+  req+    "UpdateDeletionProtection"+    "fixture/UpdateDeletionProtection.yaml"++requestUpdateIncidentRecord :: UpdateIncidentRecord -> TestTree+requestUpdateIncidentRecord =+  req+    "UpdateIncidentRecord"+    "fixture/UpdateIncidentRecord.yaml"++requestUpdateRelatedItems :: UpdateRelatedItems -> TestTree+requestUpdateRelatedItems =+  req+    "UpdateRelatedItems"+    "fixture/UpdateRelatedItems.yaml"++requestUpdateReplicationSet :: UpdateReplicationSet -> TestTree+requestUpdateReplicationSet =+  req+    "UpdateReplicationSet"+    "fixture/UpdateReplicationSet.yaml"++requestUpdateResponsePlan :: UpdateResponsePlan -> TestTree+requestUpdateResponsePlan =+  req+    "UpdateResponsePlan"+    "fixture/UpdateResponsePlan.yaml"++requestUpdateTimelineEvent :: UpdateTimelineEvent -> TestTree+requestUpdateTimelineEvent =+  req+    "UpdateTimelineEvent"+    "fixture/UpdateTimelineEvent.yaml"++-- Responses++responseCreateReplicationSet :: CreateReplicationSetResponse -> TestTree+responseCreateReplicationSet =+  res+    "CreateReplicationSetResponse"+    "fixture/CreateReplicationSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateReplicationSet)++responseCreateResponsePlan :: CreateResponsePlanResponse -> TestTree+responseCreateResponsePlan =+  res+    "CreateResponsePlanResponse"+    "fixture/CreateResponsePlanResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateResponsePlan)++responseCreateTimelineEvent :: CreateTimelineEventResponse -> TestTree+responseCreateTimelineEvent =+  res+    "CreateTimelineEventResponse"+    "fixture/CreateTimelineEventResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateTimelineEvent)++responseDeleteIncidentRecord :: DeleteIncidentRecordResponse -> TestTree+responseDeleteIncidentRecord =+  res+    "DeleteIncidentRecordResponse"+    "fixture/DeleteIncidentRecordResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteIncidentRecord)++responseDeleteReplicationSet :: DeleteReplicationSetResponse -> TestTree+responseDeleteReplicationSet =+  res+    "DeleteReplicationSetResponse"+    "fixture/DeleteReplicationSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteReplicationSet)++responseDeleteResourcePolicy :: DeleteResourcePolicyResponse -> TestTree+responseDeleteResourcePolicy =+  res+    "DeleteResourcePolicyResponse"+    "fixture/DeleteResourcePolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteResourcePolicy)++responseDeleteResponsePlan :: DeleteResponsePlanResponse -> TestTree+responseDeleteResponsePlan =+  res+    "DeleteResponsePlanResponse"+    "fixture/DeleteResponsePlanResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteResponsePlan)++responseDeleteTimelineEvent :: DeleteTimelineEventResponse -> TestTree+responseDeleteTimelineEvent =+  res+    "DeleteTimelineEventResponse"+    "fixture/DeleteTimelineEventResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteTimelineEvent)++responseGetIncidentRecord :: GetIncidentRecordResponse -> TestTree+responseGetIncidentRecord =+  res+    "GetIncidentRecordResponse"+    "fixture/GetIncidentRecordResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetIncidentRecord)++responseGetReplicationSet :: GetReplicationSetResponse -> TestTree+responseGetReplicationSet =+  res+    "GetReplicationSetResponse"+    "fixture/GetReplicationSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetReplicationSet)++responseGetResourcePolicies :: GetResourcePoliciesResponse -> TestTree+responseGetResourcePolicies =+  res+    "GetResourcePoliciesResponse"+    "fixture/GetResourcePoliciesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetResourcePolicies)++responseGetResponsePlan :: GetResponsePlanResponse -> TestTree+responseGetResponsePlan =+  res+    "GetResponsePlanResponse"+    "fixture/GetResponsePlanResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetResponsePlan)++responseGetTimelineEvent :: GetTimelineEventResponse -> TestTree+responseGetTimelineEvent =+  res+    "GetTimelineEventResponse"+    "fixture/GetTimelineEventResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetTimelineEvent)++responseListIncidentRecords :: ListIncidentRecordsResponse -> TestTree+responseListIncidentRecords =+  res+    "ListIncidentRecordsResponse"+    "fixture/ListIncidentRecordsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListIncidentRecords)++responseListRelatedItems :: ListRelatedItemsResponse -> TestTree+responseListRelatedItems =+  res+    "ListRelatedItemsResponse"+    "fixture/ListRelatedItemsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListRelatedItems)++responseListReplicationSets :: ListReplicationSetsResponse -> TestTree+responseListReplicationSets =+  res+    "ListReplicationSetsResponse"+    "fixture/ListReplicationSetsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListReplicationSets)++responseListResponsePlans :: ListResponsePlansResponse -> TestTree+responseListResponsePlans =+  res+    "ListResponsePlansResponse"+    "fixture/ListResponsePlansResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListResponsePlans)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListTimelineEvents :: ListTimelineEventsResponse -> TestTree+responseListTimelineEvents =+  res+    "ListTimelineEventsResponse"+    "fixture/ListTimelineEventsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTimelineEvents)++responsePutResourcePolicy :: PutResourcePolicyResponse -> TestTree+responsePutResourcePolicy =+  res+    "PutResourcePolicyResponse"+    "fixture/PutResourcePolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutResourcePolicy)++responseStartIncident :: StartIncidentResponse -> TestTree+responseStartIncident =+  res+    "StartIncidentResponse"+    "fixture/StartIncidentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartIncident)++responseTagResource :: TagResourceResponse -> TestTree+responseTagResource =+  res+    "TagResourceResponse"+    "fixture/TagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy TagResource)++responseUntagResource :: UntagResourceResponse -> TestTree+responseUntagResource =+  res+    "UntagResourceResponse"+    "fixture/UntagResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UntagResource)++responseUpdateDeletionProtection :: UpdateDeletionProtectionResponse -> TestTree+responseUpdateDeletionProtection =+  res+    "UpdateDeletionProtectionResponse"+    "fixture/UpdateDeletionProtectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateDeletionProtection)++responseUpdateIncidentRecord :: UpdateIncidentRecordResponse -> TestTree+responseUpdateIncidentRecord =+  res+    "UpdateIncidentRecordResponse"+    "fixture/UpdateIncidentRecordResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateIncidentRecord)++responseUpdateRelatedItems :: UpdateRelatedItemsResponse -> TestTree+responseUpdateRelatedItems =+  res+    "UpdateRelatedItemsResponse"+    "fixture/UpdateRelatedItemsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateRelatedItems)++responseUpdateReplicationSet :: UpdateReplicationSetResponse -> TestTree+responseUpdateReplicationSet =+  res+    "UpdateReplicationSetResponse"+    "fixture/UpdateReplicationSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateReplicationSet)++responseUpdateResponsePlan :: UpdateResponsePlanResponse -> TestTree+responseUpdateResponsePlan =+  res+    "UpdateResponsePlanResponse"+    "fixture/UpdateResponsePlanResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateResponsePlan)++responseUpdateTimelineEvent :: UpdateTimelineEventResponse -> TestTree+responseUpdateTimelineEvent =+  res+    "UpdateTimelineEventResponse"+    "fixture/UpdateTimelineEventResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateTimelineEvent)
+ test/Test/Amazonka/SSMIncidents.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.SSMIncidents+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.SSMIncidents+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/SSMIncidents/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.SSMIncidents.Internal+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.SSMIncidents.Internal where