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 +367/−0
- README.md +44/−0
- amazonka-ssm-incidents.cabal +154/−0
- fixture/CreateReplicationSet.yaml +10/−0
- fixture/CreateReplicationSetResponse.proto +0/−0
- fixture/CreateResponsePlan.yaml +10/−0
- fixture/CreateResponsePlanResponse.proto +0/−0
- fixture/CreateTimelineEvent.yaml +10/−0
- fixture/CreateTimelineEventResponse.proto +0/−0
- fixture/DeleteIncidentRecord.yaml +10/−0
- fixture/DeleteIncidentRecordResponse.proto +0/−0
- fixture/DeleteReplicationSet.yaml +10/−0
- fixture/DeleteReplicationSetResponse.proto +0/−0
- fixture/DeleteResourcePolicy.yaml +10/−0
- fixture/DeleteResourcePolicyResponse.proto +0/−0
- fixture/DeleteResponsePlan.yaml +10/−0
- fixture/DeleteResponsePlanResponse.proto +0/−0
- fixture/DeleteTimelineEvent.yaml +10/−0
- fixture/DeleteTimelineEventResponse.proto +0/−0
- fixture/GetIncidentRecord.yaml +10/−0
- fixture/GetIncidentRecordResponse.proto +0/−0
- fixture/GetReplicationSet.yaml +10/−0
- fixture/GetReplicationSetResponse.proto +0/−0
- fixture/GetResourcePolicies.yaml +10/−0
- fixture/GetResourcePoliciesResponse.proto +0/−0
- fixture/GetResponsePlan.yaml +10/−0
- fixture/GetResponsePlanResponse.proto +0/−0
- fixture/GetTimelineEvent.yaml +10/−0
- fixture/GetTimelineEventResponse.proto +0/−0
- fixture/ListIncidentRecords.yaml +10/−0
- fixture/ListIncidentRecordsResponse.proto +0/−0
- fixture/ListRelatedItems.yaml +10/−0
- fixture/ListRelatedItemsResponse.proto +0/−0
- fixture/ListReplicationSets.yaml +10/−0
- fixture/ListReplicationSetsResponse.proto +0/−0
- fixture/ListResponsePlans.yaml +10/−0
- fixture/ListResponsePlansResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/ListTimelineEvents.yaml +10/−0
- fixture/ListTimelineEventsResponse.proto +0/−0
- fixture/PutResourcePolicy.yaml +10/−0
- fixture/PutResourcePolicyResponse.proto +0/−0
- fixture/StartIncident.yaml +10/−0
- fixture/StartIncidentResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateDeletionProtection.yaml +10/−0
- fixture/UpdateDeletionProtectionResponse.proto +0/−0
- fixture/UpdateIncidentRecord.yaml +10/−0
- fixture/UpdateIncidentRecordResponse.proto +0/−0
- fixture/UpdateRelatedItems.yaml +10/−0
- fixture/UpdateRelatedItemsResponse.proto +0/−0
- fixture/UpdateReplicationSet.yaml +10/−0
- fixture/UpdateReplicationSetResponse.proto +0/−0
- fixture/UpdateResponsePlan.yaml +10/−0
- fixture/UpdateResponsePlanResponse.proto +0/−0
- fixture/UpdateTimelineEvent.yaml +10/−0
- fixture/UpdateTimelineEventResponse.proto +0/−0
- gen/Amazonka/SSMIncidents.hs +461/−0
- gen/Amazonka/SSMIncidents/CreateReplicationSet.hs +203/−0
- gen/Amazonka/SSMIncidents/CreateResponsePlan.hs +295/−0
- gen/Amazonka/SSMIncidents/CreateTimelineEvent.hs +299/−0
- gen/Amazonka/SSMIncidents/DeleteIncidentRecord.hs +152/−0
- gen/Amazonka/SSMIncidents/DeleteReplicationSet.hs +150/−0
- gen/Amazonka/SSMIncidents/DeleteResourcePolicy.hs +176/−0
- gen/Amazonka/SSMIncidents/DeleteResponsePlan.hs +154/−0
- gen/Amazonka/SSMIncidents/DeleteTimelineEvent.hs +179/−0
- gen/Amazonka/SSMIncidents/GetIncidentRecord.hs +162/−0
- gen/Amazonka/SSMIncidents/GetReplicationSet.hs +165/−0
- gen/Amazonka/SSMIncidents/GetResourcePolicies.hs +239/−0
- gen/Amazonka/SSMIncidents/GetResponsePlan.hs +263/−0
- gen/Amazonka/SSMIncidents/GetTimelineEvent.hs +187/−0
- gen/Amazonka/SSMIncidents/Lens.hs +479/−0
- gen/Amazonka/SSMIncidents/ListIncidentRecords.hs +293/−0
- gen/Amazonka/SSMIncidents/ListRelatedItems.hs +232/−0
- gen/Amazonka/SSMIncidents/ListReplicationSets.hs +218/−0
- gen/Amazonka/SSMIncidents/ListResponsePlans.hs +218/−0
- gen/Amazonka/SSMIncidents/ListTagsForResource.hs +159/−0
- gen/Amazonka/SSMIncidents/ListTimelineEvents.hs +327/−0
- gen/Amazonka/SSMIncidents/PutResourcePolicy.hs +192/−0
- gen/Amazonka/SSMIncidents/StartIncident.hs +312/−0
- gen/Amazonka/SSMIncidents/TagResource.hs +166/−0
- gen/Amazonka/SSMIncidents/Types.hs +476/−0
- gen/Amazonka/SSMIncidents/Types/Action.hs +80/−0
- gen/Amazonka/SSMIncidents/Types/AddRegionAction.hs +86/−0
- gen/Amazonka/SSMIncidents/Types/AttributeValueList.hs +84/−0
- gen/Amazonka/SSMIncidents/Types/AutomationExecution.hs +73/−0
- gen/Amazonka/SSMIncidents/Types/ChatChannel.hs +103/−0
- gen/Amazonka/SSMIncidents/Types/Condition.hs +100/−0
- gen/Amazonka/SSMIncidents/Types/DeleteRegionAction.hs +72/−0
- gen/Amazonka/SSMIncidents/Types/DynamicSsmParameterValue.hs +83/−0
- gen/Amazonka/SSMIncidents/Types/EmptyChatChannel.hs +58/−0
- gen/Amazonka/SSMIncidents/Types/EventReference.hs +98/−0
- gen/Amazonka/SSMIncidents/Types/EventSummary.hs +155/−0
- gen/Amazonka/SSMIncidents/Types/Filter.hs +87/−0
- gen/Amazonka/SSMIncidents/Types/IncidentRecord.hs +283/−0
- gen/Amazonka/SSMIncidents/Types/IncidentRecordSource.hs +121/−0
- gen/Amazonka/SSMIncidents/Types/IncidentRecordStatus.hs +71/−0
- gen/Amazonka/SSMIncidents/Types/IncidentRecordSummary.hs +168/−0
- gen/Amazonka/SSMIncidents/Types/IncidentTemplate.hs +170/−0
- gen/Amazonka/SSMIncidents/Types/Integration.hs +85/−0
- gen/Amazonka/SSMIncidents/Types/ItemIdentifier.hs +95/−0
- gen/Amazonka/SSMIncidents/Types/ItemType.hs +106/−0
- gen/Amazonka/SSMIncidents/Types/ItemValue.hs +128/−0
- gen/Amazonka/SSMIncidents/Types/NotificationTargetItem.hs +79/−0
- gen/Amazonka/SSMIncidents/Types/PagerDutyConfiguration.hs +126/−0
- gen/Amazonka/SSMIncidents/Types/PagerDutyIncidentConfiguration.hs +93/−0
- gen/Amazonka/SSMIncidents/Types/PagerDutyIncidentDetail.hs +122/−0
- gen/Amazonka/SSMIncidents/Types/RegionInfo.hs +123/−0
- gen/Amazonka/SSMIncidents/Types/RegionMapInputValue.hs +68/−0
- gen/Amazonka/SSMIncidents/Types/RegionStatus.hs +81/−0
- gen/Amazonka/SSMIncidents/Types/RelatedItem.hs +118/−0
- gen/Amazonka/SSMIncidents/Types/RelatedItemsUpdate.hs +85/−0
- gen/Amazonka/SSMIncidents/Types/ReplicationSet.hs +190/−0
- gen/Amazonka/SSMIncidents/Types/ReplicationSetStatus.hs +86/−0
- gen/Amazonka/SSMIncidents/Types/ResourcePolicy.hs +109/−0
- gen/Amazonka/SSMIncidents/Types/ResponsePlanSummary.hs +100/−0
- gen/Amazonka/SSMIncidents/Types/SortOrder.hs +71/−0
- gen/Amazonka/SSMIncidents/Types/SsmAutomation.hs +169/−0
- gen/Amazonka/SSMIncidents/Types/SsmTargetAccount.hs +71/−0
- gen/Amazonka/SSMIncidents/Types/TimelineEvent.hs +173/−0
- gen/Amazonka/SSMIncidents/Types/TimelineEventSort.hs +66/−0
- gen/Amazonka/SSMIncidents/Types/TriggerDetails.hs +127/−0
- gen/Amazonka/SSMIncidents/Types/UpdateReplicationSetAction.hs +94/−0
- gen/Amazonka/SSMIncidents/Types/VariableType.hs +71/−0
- gen/Amazonka/SSMIncidents/UntagResource.hs +166/−0
- gen/Amazonka/SSMIncidents/UpdateDeletionProtection.hs +194/−0
- gen/Amazonka/SSMIncidents/UpdateIncidentRecord.hs +319/−0
- gen/Amazonka/SSMIncidents/UpdateRelatedItems.hs +196/−0
- gen/Amazonka/SSMIncidents/UpdateReplicationSet.hs +189/−0
- gen/Amazonka/SSMIncidents/UpdateResponsePlan.hs +401/−0
- gen/Amazonka/SSMIncidents/UpdateTimelineEvent.hs +281/−0
- gen/Amazonka/SSMIncidents/Waiters.hs +94/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/SSMIncidents.hs +618/−0
- test/Test/Amazonka/SSMIncidents.hs +20/−0
- test/Test/Amazonka/SSMIncidents/Internal.hs +8/−0
+ 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