packages feed

amazonka-migrationhuborchestrator (empty) → 2.0

raw patch · 123 files changed

+13135/−0 lines, 123 filesdep +amazonka-coredep +amazonka-migrationhuborchestratordep +amazonka-test

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

Files

+ LICENSE view
@@ -0,0 +1,367 @@+Mozilla Public License Version 2.0+==================================++1. Definitions+--------------++1.1. "Contributor"+    means each individual or legal entity that creates, contributes to+    the creation of, or owns Covered Software.++1.2. "Contributor Version"+    means the combination of the Contributions of others (if any) used+    by a Contributor and that particular Contributor's Contribution.++1.3. "Contribution"+    means Covered Software of a particular Contributor.++1.4. "Covered Software"+    means Source Code Form to which the initial Contributor has attached+    the notice in Exhibit A, the Executable Form of such Source Code+    Form, and Modifications of such Source Code Form, in each case+    including portions thereof.++1.5. "Incompatible With Secondary Licenses"+    means++    (a) that the initial Contributor has attached the notice described+        in Exhibit B to the Covered Software; or++    (b) that the Covered Software was made available under the terms of+        version 1.1 or earlier of the License, but not also under the+        terms of a Secondary License.++1.6. "Executable Form"+    means any form of the work other than Source Code Form.++1.7. "Larger Work"+    means a work that combines Covered Software with other material, in+    a separate file or files, that is not Covered Software.++1.8. "License"+    means this document.++1.9. "Licensable"+    means having the right to grant, to the maximum extent possible,+    whether at the time of the initial grant or subsequently, any and+    all of the rights conveyed by this License.++1.10. "Modifications"+    means any of the following:++    (a) any file in Source Code Form that results from an addition to,+        deletion from, or modification of the contents of Covered+        Software; or++    (b) any new file in Source Code Form that contains any Covered+        Software.++1.11. "Patent Claims" of a Contributor+    means any patent claim(s), including without limitation, method,+    process, and apparatus claims, in any patent Licensable by such+    Contributor that would be infringed, but for the grant of the+    License, by the making, using, selling, offering for sale, having+    made, import, or transfer of either its Contributions or its+    Contributor Version.++1.12. "Secondary License"+    means either the GNU General Public License, Version 2.0, the GNU+    Lesser General Public License, Version 2.1, the GNU Affero General+    Public License, Version 3.0, or any later versions of those+    licenses.++1.13. "Source Code Form"+    means the form of the work preferred for making modifications.++1.14. "You" (or "Your")+    means an individual or a legal entity exercising rights under this+    License. For legal entities, "You" includes any entity that+    controls, is controlled by, or is under common control with You. For+    purposes of this definition, "control" means (a) the power, direct+    or indirect, to cause the direction or management of such entity,+    whether by contract or otherwise, or (b) ownership of more than+    fifty percent (50%) of the outstanding shares or beneficial+    ownership of such entity.++2. License Grants and Conditions+--------------------------------++2.1. Grants++Each Contributor hereby grants You a world-wide, royalty-free,+non-exclusive license:++(a) under intellectual property rights (other than patent or trademark)+    Licensable by such Contributor to use, reproduce, make available,+    modify, display, perform, distribute, and otherwise exploit its+    Contributions, either on an unmodified basis, with Modifications, or+    as part of a Larger Work; and++(b) under Patent Claims of such Contributor to make, use, sell, offer+    for sale, have made, import, and otherwise transfer either its+    Contributions or its Contributor Version.++2.2. Effective Date++The licenses granted in Section 2.1 with respect to any Contribution+become effective for each Contribution on the date the Contributor first+distributes such Contribution.++2.3. Limitations on Grant Scope++The licenses granted in this Section 2 are the only rights granted under+this License. No additional rights or licenses will be implied from the+distribution or licensing of Covered Software under this License.+Notwithstanding Section 2.1(b) above, no patent license is granted by a+Contributor:++(a) for any code that a Contributor has removed from Covered Software;+    or++(b) for infringements caused by: (i) Your and any other third party's+    modifications of Covered Software, or (ii) the combination of its+    Contributions with other software (except as part of its Contributor+    Version); or++(c) under Patent Claims infringed by Covered Software in the absence of+    its Contributions.++This License does not grant any rights in the trademarks, service marks,+or logos of any Contributor (except as may be necessary to comply with+the notice requirements in Section 3.4).++2.4. Subsequent Licenses++No Contributor makes additional grants as a result of Your choice to+distribute the Covered Software under a subsequent version of this+License (see Section 10.2) or under the terms of a Secondary License (if+permitted under the terms of Section 3.3).++2.5. Representation++Each Contributor represents that the Contributor believes its+Contributions are its original creation(s) or it has sufficient rights+to grant the rights to its Contributions conveyed by this License.++2.6. Fair Use++This License is not intended to limit any rights You have under+applicable copyright doctrines of fair use, fair dealing, or other+equivalents.++2.7. Conditions++Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted+in Section 2.1.++3. Responsibilities+-------------------++3.1. Distribution of Source Form++All distribution of Covered Software in Source Code Form, including any+Modifications that You create or to which You contribute, must be under+the terms of this License. You must inform recipients that the Source+Code Form of the Covered Software is governed by the terms of this+License, and how they can obtain a copy of this License. You may not+attempt to alter or restrict the recipients' rights in the Source Code+Form.++3.2. Distribution of Executable Form++If You distribute Covered Software in Executable Form then:++(a) such Covered Software must also be made available in Source Code+    Form, as described in Section 3.1, and You must inform recipients of+    the Executable Form how they can obtain a copy of such Source Code+    Form by reasonable means in a timely manner, at a charge no more+    than the cost of distribution to the recipient; and++(b) You may distribute such Executable Form under the terms of this+    License, or sublicense it under different terms, provided that the+    license for the Executable Form does not attempt to limit or alter+    the recipients' rights in the Source Code Form under this License.++3.3. Distribution of a Larger Work++You may create and distribute a Larger Work under terms of Your choice,+provided that You also comply with the requirements of this License for+the Covered Software. If the Larger Work is a combination of Covered+Software with a work governed by one or more Secondary Licenses, and the+Covered Software is not Incompatible With Secondary Licenses, this+License permits You to additionally distribute such Covered Software+under the terms of such Secondary License(s), so that the recipient of+the Larger Work may, at their option, further distribute the Covered+Software under the terms of either this License or such Secondary+License(s).++3.4. Notices++You may not remove or alter the substance of any license notices+(including copyright notices, patent notices, disclaimers of warranty,+or limitations of liability) contained within the Source Code Form of+the Covered Software, except that You may alter any license notices to+the extent required to remedy known factual inaccuracies.++3.5. Application of Additional Terms++You may choose to offer, and to charge a fee for, warranty, support,+indemnity or liability obligations to one or more recipients of Covered+Software. However, You may do so only on Your own behalf, and not on+behalf of any Contributor. You must make it absolutely clear that any+such warranty, support, indemnity, or liability obligation is offered by+You alone, and You hereby agree to indemnify every Contributor for any+liability incurred by such Contributor as a result of warranty, support,+indemnity or liability terms You offer. You may include additional+disclaimers of warranty and limitations of liability specific to any+jurisdiction.++4. Inability to Comply Due to Statute or Regulation+---------------------------------------------------++If it is impossible for You to comply with any of the terms of this+License with respect to some or all of the Covered Software due to+statute, judicial order, or regulation then You must: (a) comply with+the terms of this License to the maximum extent possible; and (b)+describe the limitations and the code they affect. Such description must+be placed in a text file included with all distributions of the Covered+Software under this License. Except to the extent prohibited by statute+or regulation, such description must be sufficiently detailed for a+recipient of ordinary skill to be able to understand it.++5. Termination+--------------++5.1. The rights granted under this License will terminate automatically+if You fail to comply with any of its terms. However, if You become+compliant, then the rights granted under this License from a particular+Contributor are reinstated (a) provisionally, unless and until such+Contributor explicitly and finally terminates Your grants, and (b) on an+ongoing basis, if such Contributor fails to notify You of the+non-compliance by some reasonable means prior to 60 days after You have+come back into compliance. Moreover, Your grants from a particular+Contributor are reinstated on an ongoing basis if such Contributor+notifies You of the non-compliance by some reasonable means, this is the+first time You have received notice of non-compliance with this License+from such Contributor, and You become compliant prior to 30 days after+Your receipt of the notice.++5.2. If You initiate litigation against any entity by asserting a patent+infringement claim (excluding declaratory judgment actions,+counter-claims, and cross-claims) alleging that a Contributor Version+directly or indirectly infringes any patent, then the rights granted to+You by any and all Contributors for the Covered Software under Section+2.1 of this License shall terminate.++5.3. In the event of termination under Sections 5.1 or 5.2 above, all+end user license agreements (excluding distributors and resellers) which+have been validly granted by You or Your distributors under this License+prior to termination shall survive termination.++************************************************************************+*                                                                      *+*  6. Disclaimer of Warranty                                           *+*  -------------------------                                           *+*                                                                      *+*  Covered Software is provided under this License on an "as is"       *+*  basis, without warranty of any kind, either expressed, implied, or  *+*  statutory, including, without limitation, warranties that the       *+*  Covered Software is free of defects, merchantable, fit for a        *+*  particular purpose or non-infringing. The entire risk as to the     *+*  quality and performance of the Covered Software is with You.        *+*  Should any Covered Software prove defective in any respect, You     *+*  (not any Contributor) assume the cost of any necessary servicing,   *+*  repair, or correction. This disclaimer of warranty constitutes an   *+*  essential part of this License. No use of any Covered Software is   *+*  authorized under this License except under this disclaimer.         *+*                                                                      *+************************************************************************++************************************************************************+*                                                                      *+*  7. Limitation of Liability                                          *+*  --------------------------                                          *+*                                                                      *+*  Under no circumstances and under no legal theory, whether tort      *+*  (including negligence), contract, or otherwise, shall any           *+*  Contributor, or anyone who distributes Covered Software as          *+*  permitted above, be liable to You for any direct, indirect,         *+*  special, incidental, or consequential damages of any character      *+*  including, without limitation, damages for lost profits, loss of    *+*  goodwill, work stoppage, computer failure or malfunction, or any    *+*  and all other commercial damages or losses, even if such party      *+*  shall have been informed of the possibility of such damages. This   *+*  limitation of liability shall not apply to liability for death or   *+*  personal injury resulting from such party's negligence to the       *+*  extent applicable law prohibits such limitation. Some               *+*  jurisdictions do not allow the exclusion or limitation of           *+*  incidental or consequential damages, so this exclusion and          *+*  limitation may not apply to You.                                    *+*                                                                      *+************************************************************************++8. Litigation+-------------++Any litigation relating to this License may be brought only in the+courts of a jurisdiction where the defendant maintains its principal+place of business and such litigation shall be governed by laws of that+jurisdiction, without reference to its conflict-of-law provisions.+Nothing in this Section shall prevent a party's ability to bring+cross-claims or counter-claims.++9. Miscellaneous+----------------++This License represents the complete agreement concerning the subject+matter hereof. If any provision of this License is held to be+unenforceable, such provision shall be reformed only to the extent+necessary to make it enforceable. Any law or regulation which provides+that the language of a contract shall be construed against the drafter+shall not be used to construe this License against a Contributor.++10. Versions of the License+---------------------------++10.1. New Versions++Mozilla Foundation is the license steward. Except as provided in Section+10.3, no one other than the license steward has the right to modify or+publish new versions of this License. Each version will be given a+distinguishing version number.++10.2. Effect of New Versions++You may distribute the Covered Software under the terms of the version+of the License under which You originally received the Covered Software,+or under the terms of any subsequent version published by the license+steward.++10.3. Modified Versions++If you create software not governed by this License, and you want to+create a new license for such software, you may create and use a+modified version of this License if you rename the license and remove+any references to the name of the license steward (except to note that+such modified license differs from this License).++10.4. Distributing Source Code Form that is Incompatible With Secondary+Licenses++If You choose to distribute Source Code Form that is Incompatible With+Secondary Licenses under the terms of this version of the License, the+notice described in Exhibit B of this License must be attached.++Exhibit A - Source Code Form License Notice+-------------------------------------------++  This Source Code Form is subject to the terms of the Mozilla Public+  License, v. 2.0. If a copy of the MPL was not distributed with this+  file, You can obtain one at http://mozilla.org/MPL/2.0/.++If it is not possible or desirable to put the notice in a particular+file, then You may include the notice in a location (such as a LICENSE+file in a relevant directory) where a recipient would be likely to look+for such a notice.++You may add additional accurate notices of copyright ownership.
+ README.md view
@@ -0,0 +1,44 @@+# Amazon Migration Hub Orchestrator SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2021-08-28@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-migrationhuborchestrator)+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.MigrationHubOrchestrator](http://hackage.haskell.org/package/amazonka-migrationhuborchestrator/docs/Amazonka-MigrationHubOrchestrator.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-migrationhuborchestrator` 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-migrationhuborchestrator.cabal view
@@ -0,0 +1,138 @@+cabal-version:      2.2+name:               amazonka-migrationhuborchestrator+version:            2.0+synopsis:           Amazon Migration Hub Orchestrator 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 @2021-08-28@ 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.MigrationHubOrchestrator.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.MigrationHubOrchestrator" 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-migrationhuborchestrator++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.MigrationHubOrchestrator+    Amazonka.MigrationHubOrchestrator.CreateWorkflow+    Amazonka.MigrationHubOrchestrator.CreateWorkflowStep+    Amazonka.MigrationHubOrchestrator.CreateWorkflowStepGroup+    Amazonka.MigrationHubOrchestrator.DeleteWorkflow+    Amazonka.MigrationHubOrchestrator.DeleteWorkflowStep+    Amazonka.MigrationHubOrchestrator.DeleteWorkflowStepGroup+    Amazonka.MigrationHubOrchestrator.GetTemplate+    Amazonka.MigrationHubOrchestrator.GetTemplateStep+    Amazonka.MigrationHubOrchestrator.GetTemplateStepGroup+    Amazonka.MigrationHubOrchestrator.GetWorkflow+    Amazonka.MigrationHubOrchestrator.GetWorkflowStep+    Amazonka.MigrationHubOrchestrator.GetWorkflowStepGroup+    Amazonka.MigrationHubOrchestrator.Lens+    Amazonka.MigrationHubOrchestrator.ListPlugins+    Amazonka.MigrationHubOrchestrator.ListTagsForResource+    Amazonka.MigrationHubOrchestrator.ListTemplates+    Amazonka.MigrationHubOrchestrator.ListTemplateStepGroups+    Amazonka.MigrationHubOrchestrator.ListTemplateSteps+    Amazonka.MigrationHubOrchestrator.ListWorkflows+    Amazonka.MigrationHubOrchestrator.ListWorkflowStepGroups+    Amazonka.MigrationHubOrchestrator.ListWorkflowSteps+    Amazonka.MigrationHubOrchestrator.RetryWorkflowStep+    Amazonka.MigrationHubOrchestrator.StartWorkflow+    Amazonka.MigrationHubOrchestrator.StopWorkflow+    Amazonka.MigrationHubOrchestrator.TagResource+    Amazonka.MigrationHubOrchestrator.Types+    Amazonka.MigrationHubOrchestrator.Types.DataType+    Amazonka.MigrationHubOrchestrator.Types.MigrationWorkflowStatusEnum+    Amazonka.MigrationHubOrchestrator.Types.MigrationWorkflowSummary+    Amazonka.MigrationHubOrchestrator.Types.Owner+    Amazonka.MigrationHubOrchestrator.Types.PlatformCommand+    Amazonka.MigrationHubOrchestrator.Types.PlatformScriptKey+    Amazonka.MigrationHubOrchestrator.Types.PluginHealth+    Amazonka.MigrationHubOrchestrator.Types.PluginSummary+    Amazonka.MigrationHubOrchestrator.Types.RunEnvironment+    Amazonka.MigrationHubOrchestrator.Types.StepActionType+    Amazonka.MigrationHubOrchestrator.Types.StepAutomationConfiguration+    Amazonka.MigrationHubOrchestrator.Types.StepGroupStatus+    Amazonka.MigrationHubOrchestrator.Types.StepInput+    Amazonka.MigrationHubOrchestrator.Types.StepOutput+    Amazonka.MigrationHubOrchestrator.Types.StepStatus+    Amazonka.MigrationHubOrchestrator.Types.TargetType+    Amazonka.MigrationHubOrchestrator.Types.TemplateInput+    Amazonka.MigrationHubOrchestrator.Types.TemplateStatus+    Amazonka.MigrationHubOrchestrator.Types.TemplateStepGroupSummary+    Amazonka.MigrationHubOrchestrator.Types.TemplateStepSummary+    Amazonka.MigrationHubOrchestrator.Types.TemplateSummary+    Amazonka.MigrationHubOrchestrator.Types.Tool+    Amazonka.MigrationHubOrchestrator.Types.WorkflowStepAutomationConfiguration+    Amazonka.MigrationHubOrchestrator.Types.WorkflowStepGroupSummary+    Amazonka.MigrationHubOrchestrator.Types.WorkflowStepOutput+    Amazonka.MigrationHubOrchestrator.Types.WorkflowStepOutputUnion+    Amazonka.MigrationHubOrchestrator.Types.WorkflowStepSummary+    Amazonka.MigrationHubOrchestrator.UntagResource+    Amazonka.MigrationHubOrchestrator.UpdateWorkflow+    Amazonka.MigrationHubOrchestrator.UpdateWorkflowStep+    Amazonka.MigrationHubOrchestrator.UpdateWorkflowStepGroup+    Amazonka.MigrationHubOrchestrator.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-migrationhuborchestrator-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.MigrationHubOrchestrator+    Test.Amazonka.MigrationHubOrchestrator+    Test.Amazonka.MigrationHubOrchestrator.Internal++  build-depends:+    , amazonka-core                      >=2.0 && <2.1+    , amazonka-migrationhuborchestrator+    , amazonka-test                      >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateWorkflow.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/CreateWorkflowResponse.proto view
+ fixture/CreateWorkflowStep.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/CreateWorkflowStepGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/CreateWorkflowStepGroupResponse.proto view
+ fixture/CreateWorkflowStepResponse.proto view
+ fixture/DeleteWorkflow.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/DeleteWorkflowResponse.proto view
+ fixture/DeleteWorkflowStep.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/DeleteWorkflowStepGroup.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/DeleteWorkflowStepGroupResponse.proto view
+ fixture/DeleteWorkflowStepResponse.proto view
+ fixture/GetTemplate.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/GetTemplateResponse.proto view
+ fixture/GetTemplateStep.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/GetTemplateStepGroup.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/GetTemplateStepGroupResponse.proto view
+ fixture/GetTemplateStepResponse.proto view
+ fixture/GetWorkflow.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/GetWorkflowResponse.proto view
+ fixture/GetWorkflowStep.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/GetWorkflowStepGroup.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/GetWorkflowStepGroupResponse.proto view
+ fixture/GetWorkflowStepResponse.proto view
+ fixture/ListPlugins.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/ListPluginsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/ListTemplateStepGroups.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/ListTemplateStepGroupsResponse.proto view
+ fixture/ListTemplateSteps.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/ListTemplateStepsResponse.proto view
+ fixture/ListTemplates.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/ListTemplatesResponse.proto view
+ fixture/ListWorkflowStepGroups.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/ListWorkflowStepGroupsResponse.proto view
+ fixture/ListWorkflowSteps.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/ListWorkflowStepsResponse.proto view
+ fixture/ListWorkflows.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/ListWorkflowsResponse.proto view
+ fixture/RetryWorkflowStep.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/RetryWorkflowStepResponse.proto view
+ fixture/StartWorkflow.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/StartWorkflowResponse.proto view
+ fixture/StopWorkflow.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/StopWorkflowResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/UpdateWorkflow.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/UpdateWorkflowResponse.proto view
+ fixture/UpdateWorkflowStep.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/UpdateWorkflowStepGroup.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/migrationhub-orchestrator/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  migrationhub-orchestrator.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/UpdateWorkflowStepGroupResponse.proto view
+ fixture/UpdateWorkflowStepResponse.proto view
+ gen/Amazonka/MigrationHubOrchestrator.hs view
@@ -0,0 +1,375 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.MigrationHubOrchestrator+-- 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 @2021-08-28@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- This API reference provides descriptions, syntax, and other details+-- about each of the actions and data types for AWS Migration Hub+-- Orchestrator. he topic for each action shows the API request parameters+-- and the response. Alternatively, you can use one of the AWS SDKs to+-- access an API that is tailored to the programming language or platform+-- that you\'re using.+module Amazonka.MigrationHubOrchestrator+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateWorkflow+    CreateWorkflow (CreateWorkflow'),+    newCreateWorkflow,+    CreateWorkflowResponse (CreateWorkflowResponse'),+    newCreateWorkflowResponse,++    -- ** CreateWorkflowStep+    CreateWorkflowStep (CreateWorkflowStep'),+    newCreateWorkflowStep,+    CreateWorkflowStepResponse (CreateWorkflowStepResponse'),+    newCreateWorkflowStepResponse,++    -- ** CreateWorkflowStepGroup+    CreateWorkflowStepGroup (CreateWorkflowStepGroup'),+    newCreateWorkflowStepGroup,+    CreateWorkflowStepGroupResponse (CreateWorkflowStepGroupResponse'),+    newCreateWorkflowStepGroupResponse,++    -- ** DeleteWorkflow+    DeleteWorkflow (DeleteWorkflow'),+    newDeleteWorkflow,+    DeleteWorkflowResponse (DeleteWorkflowResponse'),+    newDeleteWorkflowResponse,++    -- ** DeleteWorkflowStep+    DeleteWorkflowStep (DeleteWorkflowStep'),+    newDeleteWorkflowStep,+    DeleteWorkflowStepResponse (DeleteWorkflowStepResponse'),+    newDeleteWorkflowStepResponse,++    -- ** DeleteWorkflowStepGroup+    DeleteWorkflowStepGroup (DeleteWorkflowStepGroup'),+    newDeleteWorkflowStepGroup,+    DeleteWorkflowStepGroupResponse (DeleteWorkflowStepGroupResponse'),+    newDeleteWorkflowStepGroupResponse,++    -- ** GetTemplate+    GetTemplate (GetTemplate'),+    newGetTemplate,+    GetTemplateResponse (GetTemplateResponse'),+    newGetTemplateResponse,++    -- ** GetTemplateStep+    GetTemplateStep (GetTemplateStep'),+    newGetTemplateStep,+    GetTemplateStepResponse (GetTemplateStepResponse'),+    newGetTemplateStepResponse,++    -- ** GetTemplateStepGroup+    GetTemplateStepGroup (GetTemplateStepGroup'),+    newGetTemplateStepGroup,+    GetTemplateStepGroupResponse (GetTemplateStepGroupResponse'),+    newGetTemplateStepGroupResponse,++    -- ** GetWorkflow+    GetWorkflow (GetWorkflow'),+    newGetWorkflow,+    GetWorkflowResponse (GetWorkflowResponse'),+    newGetWorkflowResponse,++    -- ** GetWorkflowStep+    GetWorkflowStep (GetWorkflowStep'),+    newGetWorkflowStep,+    GetWorkflowStepResponse (GetWorkflowStepResponse'),+    newGetWorkflowStepResponse,++    -- ** GetWorkflowStepGroup+    GetWorkflowStepGroup (GetWorkflowStepGroup'),+    newGetWorkflowStepGroup,+    GetWorkflowStepGroupResponse (GetWorkflowStepGroupResponse'),+    newGetWorkflowStepGroupResponse,++    -- ** ListPlugins (Paginated)+    ListPlugins (ListPlugins'),+    newListPlugins,+    ListPluginsResponse (ListPluginsResponse'),+    newListPluginsResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** ListTemplateStepGroups (Paginated)+    ListTemplateStepGroups (ListTemplateStepGroups'),+    newListTemplateStepGroups,+    ListTemplateStepGroupsResponse (ListTemplateStepGroupsResponse'),+    newListTemplateStepGroupsResponse,++    -- ** ListTemplateSteps (Paginated)+    ListTemplateSteps (ListTemplateSteps'),+    newListTemplateSteps,+    ListTemplateStepsResponse (ListTemplateStepsResponse'),+    newListTemplateStepsResponse,++    -- ** ListTemplates (Paginated)+    ListTemplates (ListTemplates'),+    newListTemplates,+    ListTemplatesResponse (ListTemplatesResponse'),+    newListTemplatesResponse,++    -- ** ListWorkflowStepGroups (Paginated)+    ListWorkflowStepGroups (ListWorkflowStepGroups'),+    newListWorkflowStepGroups,+    ListWorkflowStepGroupsResponse (ListWorkflowStepGroupsResponse'),+    newListWorkflowStepGroupsResponse,++    -- ** ListWorkflowSteps (Paginated)+    ListWorkflowSteps (ListWorkflowSteps'),+    newListWorkflowSteps,+    ListWorkflowStepsResponse (ListWorkflowStepsResponse'),+    newListWorkflowStepsResponse,++    -- ** ListWorkflows (Paginated)+    ListWorkflows (ListWorkflows'),+    newListWorkflows,+    ListWorkflowsResponse (ListWorkflowsResponse'),+    newListWorkflowsResponse,++    -- ** RetryWorkflowStep+    RetryWorkflowStep (RetryWorkflowStep'),+    newRetryWorkflowStep,+    RetryWorkflowStepResponse (RetryWorkflowStepResponse'),+    newRetryWorkflowStepResponse,++    -- ** StartWorkflow+    StartWorkflow (StartWorkflow'),+    newStartWorkflow,+    StartWorkflowResponse (StartWorkflowResponse'),+    newStartWorkflowResponse,++    -- ** StopWorkflow+    StopWorkflow (StopWorkflow'),+    newStopWorkflow,+    StopWorkflowResponse (StopWorkflowResponse'),+    newStopWorkflowResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateWorkflow+    UpdateWorkflow (UpdateWorkflow'),+    newUpdateWorkflow,+    UpdateWorkflowResponse (UpdateWorkflowResponse'),+    newUpdateWorkflowResponse,++    -- ** UpdateWorkflowStep+    UpdateWorkflowStep (UpdateWorkflowStep'),+    newUpdateWorkflowStep,+    UpdateWorkflowStepResponse (UpdateWorkflowStepResponse'),+    newUpdateWorkflowStepResponse,++    -- ** UpdateWorkflowStepGroup+    UpdateWorkflowStepGroup (UpdateWorkflowStepGroup'),+    newUpdateWorkflowStepGroup,+    UpdateWorkflowStepGroupResponse (UpdateWorkflowStepGroupResponse'),+    newUpdateWorkflowStepGroupResponse,++    -- * Types++    -- ** DataType+    DataType (..),++    -- ** MigrationWorkflowStatusEnum+    MigrationWorkflowStatusEnum (..),++    -- ** Owner+    Owner (..),++    -- ** PluginHealth+    PluginHealth (..),++    -- ** RunEnvironment+    RunEnvironment (..),++    -- ** StepActionType+    StepActionType (..),++    -- ** StepGroupStatus+    StepGroupStatus (..),++    -- ** StepStatus+    StepStatus (..),++    -- ** TargetType+    TargetType (..),++    -- ** TemplateStatus+    TemplateStatus (..),++    -- ** MigrationWorkflowSummary+    MigrationWorkflowSummary (MigrationWorkflowSummary'),+    newMigrationWorkflowSummary,++    -- ** PlatformCommand+    PlatformCommand (PlatformCommand'),+    newPlatformCommand,++    -- ** PlatformScriptKey+    PlatformScriptKey (PlatformScriptKey'),+    newPlatformScriptKey,++    -- ** PluginSummary+    PluginSummary (PluginSummary'),+    newPluginSummary,++    -- ** StepAutomationConfiguration+    StepAutomationConfiguration (StepAutomationConfiguration'),+    newStepAutomationConfiguration,++    -- ** StepInput+    StepInput (StepInput'),+    newStepInput,++    -- ** StepOutput+    StepOutput (StepOutput'),+    newStepOutput,++    -- ** TemplateInput+    TemplateInput (TemplateInput'),+    newTemplateInput,++    -- ** TemplateStepGroupSummary+    TemplateStepGroupSummary (TemplateStepGroupSummary'),+    newTemplateStepGroupSummary,++    -- ** TemplateStepSummary+    TemplateStepSummary (TemplateStepSummary'),+    newTemplateStepSummary,++    -- ** TemplateSummary+    TemplateSummary (TemplateSummary'),+    newTemplateSummary,++    -- ** Tool+    Tool (Tool'),+    newTool,++    -- ** WorkflowStepAutomationConfiguration+    WorkflowStepAutomationConfiguration (WorkflowStepAutomationConfiguration'),+    newWorkflowStepAutomationConfiguration,++    -- ** WorkflowStepGroupSummary+    WorkflowStepGroupSummary (WorkflowStepGroupSummary'),+    newWorkflowStepGroupSummary,++    -- ** WorkflowStepOutput+    WorkflowStepOutput (WorkflowStepOutput'),+    newWorkflowStepOutput,++    -- ** WorkflowStepOutputUnion+    WorkflowStepOutputUnion (WorkflowStepOutputUnion'),+    newWorkflowStepOutputUnion,++    -- ** WorkflowStepSummary+    WorkflowStepSummary (WorkflowStepSummary'),+    newWorkflowStepSummary,+  )+where++import Amazonka.MigrationHubOrchestrator.CreateWorkflow+import Amazonka.MigrationHubOrchestrator.CreateWorkflowStep+import Amazonka.MigrationHubOrchestrator.CreateWorkflowStepGroup+import Amazonka.MigrationHubOrchestrator.DeleteWorkflow+import Amazonka.MigrationHubOrchestrator.DeleteWorkflowStep+import Amazonka.MigrationHubOrchestrator.DeleteWorkflowStepGroup+import Amazonka.MigrationHubOrchestrator.GetTemplate+import Amazonka.MigrationHubOrchestrator.GetTemplateStep+import Amazonka.MigrationHubOrchestrator.GetTemplateStepGroup+import Amazonka.MigrationHubOrchestrator.GetWorkflow+import Amazonka.MigrationHubOrchestrator.GetWorkflowStep+import Amazonka.MigrationHubOrchestrator.GetWorkflowStepGroup+import Amazonka.MigrationHubOrchestrator.Lens+import Amazonka.MigrationHubOrchestrator.ListPlugins+import Amazonka.MigrationHubOrchestrator.ListTagsForResource+import Amazonka.MigrationHubOrchestrator.ListTemplateStepGroups+import Amazonka.MigrationHubOrchestrator.ListTemplateSteps+import Amazonka.MigrationHubOrchestrator.ListTemplates+import Amazonka.MigrationHubOrchestrator.ListWorkflowStepGroups+import Amazonka.MigrationHubOrchestrator.ListWorkflowSteps+import Amazonka.MigrationHubOrchestrator.ListWorkflows+import Amazonka.MigrationHubOrchestrator.RetryWorkflowStep+import Amazonka.MigrationHubOrchestrator.StartWorkflow+import Amazonka.MigrationHubOrchestrator.StopWorkflow+import Amazonka.MigrationHubOrchestrator.TagResource+import Amazonka.MigrationHubOrchestrator.Types+import Amazonka.MigrationHubOrchestrator.UntagResource+import Amazonka.MigrationHubOrchestrator.UpdateWorkflow+import Amazonka.MigrationHubOrchestrator.UpdateWorkflowStep+import Amazonka.MigrationHubOrchestrator.UpdateWorkflowStepGroup+import Amazonka.MigrationHubOrchestrator.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 'MigrationHubOrchestrator'.++-- $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/MigrationHubOrchestrator/CreateWorkflow.hs view
@@ -0,0 +1,385 @@+{-# 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.MigrationHubOrchestrator.CreateWorkflow+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a workflow to orchestrate your migrations.+module Amazonka.MigrationHubOrchestrator.CreateWorkflow+  ( -- * Creating a Request+    CreateWorkflow (..),+    newCreateWorkflow,++    -- * Request Lenses+    createWorkflow_description,+    createWorkflow_stepTargets,+    createWorkflow_tags,+    createWorkflow_name,+    createWorkflow_templateId,+    createWorkflow_applicationConfigurationId,+    createWorkflow_inputParameters,++    -- * Destructuring the Response+    CreateWorkflowResponse (..),+    newCreateWorkflowResponse,++    -- * Response Lenses+    createWorkflowResponse_adsApplicationConfigurationId,+    createWorkflowResponse_arn,+    createWorkflowResponse_creationTime,+    createWorkflowResponse_description,+    createWorkflowResponse_id,+    createWorkflowResponse_name,+    createWorkflowResponse_status,+    createWorkflowResponse_stepTargets,+    createWorkflowResponse_tags,+    createWorkflowResponse_templateId,+    createWorkflowResponse_workflowInputs,+    createWorkflowResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateWorkflow' smart constructor.+data CreateWorkflow = CreateWorkflow'+  { -- | The description of the migration workflow.+    description :: Prelude.Maybe Prelude.Text,+    -- | The servers on which a step will be run.+    stepTargets :: Prelude.Maybe [Prelude.Text],+    -- | The tags to add on a migration workflow.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the migration workflow.+    name :: Prelude.Text,+    -- | The ID of the template.+    templateId :: Prelude.Text,+    -- | The configuration ID of the application configured in Application+    -- Discovery Service.+    applicationConfigurationId :: Prelude.Text,+    -- | The input parameters required to create a migration workflow.+    inputParameters :: Data.Sensitive (Prelude.HashMap Prelude.Text StepInput)+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWorkflow' 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:+--+-- 'description', 'createWorkflow_description' - The description of the migration workflow.+--+-- 'stepTargets', 'createWorkflow_stepTargets' - The servers on which a step will be run.+--+-- 'tags', 'createWorkflow_tags' - The tags to add on a migration workflow.+--+-- 'name', 'createWorkflow_name' - The name of the migration workflow.+--+-- 'templateId', 'createWorkflow_templateId' - The ID of the template.+--+-- 'applicationConfigurationId', 'createWorkflow_applicationConfigurationId' - The configuration ID of the application configured in Application+-- Discovery Service.+--+-- 'inputParameters', 'createWorkflow_inputParameters' - The input parameters required to create a migration workflow.+newCreateWorkflow ::+  -- | 'name'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  -- | 'applicationConfigurationId'+  Prelude.Text ->+  CreateWorkflow+newCreateWorkflow+  pName_+  pTemplateId_+  pApplicationConfigurationId_ =+    CreateWorkflow'+      { description = Prelude.Nothing,+        stepTargets = Prelude.Nothing,+        tags = Prelude.Nothing,+        name = pName_,+        templateId = pTemplateId_,+        applicationConfigurationId =+          pApplicationConfigurationId_,+        inputParameters = Prelude.mempty+      }++-- | The description of the migration workflow.+createWorkflow_description :: Lens.Lens' CreateWorkflow (Prelude.Maybe Prelude.Text)+createWorkflow_description = Lens.lens (\CreateWorkflow' {description} -> description) (\s@CreateWorkflow' {} a -> s {description = a} :: CreateWorkflow)++-- | The servers on which a step will be run.+createWorkflow_stepTargets :: Lens.Lens' CreateWorkflow (Prelude.Maybe [Prelude.Text])+createWorkflow_stepTargets = Lens.lens (\CreateWorkflow' {stepTargets} -> stepTargets) (\s@CreateWorkflow' {} a -> s {stepTargets = a} :: CreateWorkflow) Prelude.. Lens.mapping Lens.coerced++-- | The tags to add on a migration workflow.+createWorkflow_tags :: Lens.Lens' CreateWorkflow (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createWorkflow_tags = Lens.lens (\CreateWorkflow' {tags} -> tags) (\s@CreateWorkflow' {} a -> s {tags = a} :: CreateWorkflow) Prelude.. Lens.mapping Lens.coerced++-- | The name of the migration workflow.+createWorkflow_name :: Lens.Lens' CreateWorkflow Prelude.Text+createWorkflow_name = Lens.lens (\CreateWorkflow' {name} -> name) (\s@CreateWorkflow' {} a -> s {name = a} :: CreateWorkflow)++-- | The ID of the template.+createWorkflow_templateId :: Lens.Lens' CreateWorkflow Prelude.Text+createWorkflow_templateId = Lens.lens (\CreateWorkflow' {templateId} -> templateId) (\s@CreateWorkflow' {} a -> s {templateId = a} :: CreateWorkflow)++-- | The configuration ID of the application configured in Application+-- Discovery Service.+createWorkflow_applicationConfigurationId :: Lens.Lens' CreateWorkflow Prelude.Text+createWorkflow_applicationConfigurationId = Lens.lens (\CreateWorkflow' {applicationConfigurationId} -> applicationConfigurationId) (\s@CreateWorkflow' {} a -> s {applicationConfigurationId = a} :: CreateWorkflow)++-- | The input parameters required to create a migration workflow.+createWorkflow_inputParameters :: Lens.Lens' CreateWorkflow (Prelude.HashMap Prelude.Text StepInput)+createWorkflow_inputParameters = Lens.lens (\CreateWorkflow' {inputParameters} -> inputParameters) (\s@CreateWorkflow' {} a -> s {inputParameters = a} :: CreateWorkflow) Prelude.. Data._Sensitive Prelude.. Lens.coerced++instance Core.AWSRequest CreateWorkflow where+  type+    AWSResponse CreateWorkflow =+      CreateWorkflowResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWorkflowResponse'+            Prelude.<$> (x Data..?> "adsApplicationConfigurationId")+            Prelude.<*> (x Data..?> "arn")+            Prelude.<*> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "stepTargets" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "templateId")+            Prelude.<*> (x Data..?> "workflowInputs" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateWorkflow where+  hashWithSalt _salt CreateWorkflow' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` stepTargets+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` templateId+      `Prelude.hashWithSalt` applicationConfigurationId+      `Prelude.hashWithSalt` inputParameters++instance Prelude.NFData CreateWorkflow where+  rnf CreateWorkflow' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf stepTargets+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf applicationConfigurationId+      `Prelude.seq` Prelude.rnf inputParameters++instance Data.ToHeaders CreateWorkflow where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateWorkflow where+  toJSON CreateWorkflow' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            ("stepTargets" Data..=) Prelude.<$> stepTargets,+            ("tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("name" Data..= name),+            Prelude.Just ("templateId" Data..= templateId),+            Prelude.Just+              ( "applicationConfigurationId"+                  Data..= applicationConfigurationId+              ),+            Prelude.Just+              ("inputParameters" Data..= inputParameters)+          ]+      )++instance Data.ToPath CreateWorkflow where+  toPath = Prelude.const "/migrationworkflow/"++instance Data.ToQuery CreateWorkflow where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWorkflowResponse' smart constructor.+data CreateWorkflowResponse = CreateWorkflowResponse'+  { -- | The configuration ID of the application configured in Application+    -- Discovery Service.+    adsApplicationConfigurationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the migration workflow.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time at which the migration workflow was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the migration workflow.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the migration workflow.+    id :: Prelude.Maybe Prelude.Text,+    -- | The name of the migration workflow.+    name :: Prelude.Maybe Prelude.Text,+    -- | The status of the migration workflow.+    status :: Prelude.Maybe MigrationWorkflowStatusEnum,+    -- | The servers on which a step will be run.+    stepTargets :: Prelude.Maybe [Prelude.Text],+    -- | The tags to add on a migration workflow.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The ID of the template.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | The inputs for creating a migration workflow.+    workflowInputs :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text StepInput)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWorkflowResponse' 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:+--+-- 'adsApplicationConfigurationId', 'createWorkflowResponse_adsApplicationConfigurationId' - The configuration ID of the application configured in Application+-- Discovery Service.+--+-- 'arn', 'createWorkflowResponse_arn' - The Amazon Resource Name (ARN) of the migration workflow.+--+-- 'creationTime', 'createWorkflowResponse_creationTime' - The time at which the migration workflow was created.+--+-- 'description', 'createWorkflowResponse_description' - The description of the migration workflow.+--+-- 'id', 'createWorkflowResponse_id' - The ID of the migration workflow.+--+-- 'name', 'createWorkflowResponse_name' - The name of the migration workflow.+--+-- 'status', 'createWorkflowResponse_status' - The status of the migration workflow.+--+-- 'stepTargets', 'createWorkflowResponse_stepTargets' - The servers on which a step will be run.+--+-- 'tags', 'createWorkflowResponse_tags' - The tags to add on a migration workflow.+--+-- 'templateId', 'createWorkflowResponse_templateId' - The ID of the template.+--+-- 'workflowInputs', 'createWorkflowResponse_workflowInputs' - The inputs for creating a migration workflow.+--+-- 'httpStatus', 'createWorkflowResponse_httpStatus' - The response's http status code.+newCreateWorkflowResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWorkflowResponse+newCreateWorkflowResponse pHttpStatus_ =+  CreateWorkflowResponse'+    { adsApplicationConfigurationId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      name = Prelude.Nothing,+      status = Prelude.Nothing,+      stepTargets = Prelude.Nothing,+      tags = Prelude.Nothing,+      templateId = Prelude.Nothing,+      workflowInputs = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The configuration ID of the application configured in Application+-- Discovery Service.+createWorkflowResponse_adsApplicationConfigurationId :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe Prelude.Text)+createWorkflowResponse_adsApplicationConfigurationId = Lens.lens (\CreateWorkflowResponse' {adsApplicationConfigurationId} -> adsApplicationConfigurationId) (\s@CreateWorkflowResponse' {} a -> s {adsApplicationConfigurationId = a} :: CreateWorkflowResponse)++-- | The Amazon Resource Name (ARN) of the migration workflow.+createWorkflowResponse_arn :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe Prelude.Text)+createWorkflowResponse_arn = Lens.lens (\CreateWorkflowResponse' {arn} -> arn) (\s@CreateWorkflowResponse' {} a -> s {arn = a} :: CreateWorkflowResponse)++-- | The time at which the migration workflow was created.+createWorkflowResponse_creationTime :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe Prelude.UTCTime)+createWorkflowResponse_creationTime = Lens.lens (\CreateWorkflowResponse' {creationTime} -> creationTime) (\s@CreateWorkflowResponse' {} a -> s {creationTime = a} :: CreateWorkflowResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the migration workflow.+createWorkflowResponse_description :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe Prelude.Text)+createWorkflowResponse_description = Lens.lens (\CreateWorkflowResponse' {description} -> description) (\s@CreateWorkflowResponse' {} a -> s {description = a} :: CreateWorkflowResponse)++-- | The ID of the migration workflow.+createWorkflowResponse_id :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe Prelude.Text)+createWorkflowResponse_id = Lens.lens (\CreateWorkflowResponse' {id} -> id) (\s@CreateWorkflowResponse' {} a -> s {id = a} :: CreateWorkflowResponse)++-- | The name of the migration workflow.+createWorkflowResponse_name :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe Prelude.Text)+createWorkflowResponse_name = Lens.lens (\CreateWorkflowResponse' {name} -> name) (\s@CreateWorkflowResponse' {} a -> s {name = a} :: CreateWorkflowResponse)++-- | The status of the migration workflow.+createWorkflowResponse_status :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe MigrationWorkflowStatusEnum)+createWorkflowResponse_status = Lens.lens (\CreateWorkflowResponse' {status} -> status) (\s@CreateWorkflowResponse' {} a -> s {status = a} :: CreateWorkflowResponse)++-- | The servers on which a step will be run.+createWorkflowResponse_stepTargets :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe [Prelude.Text])+createWorkflowResponse_stepTargets = Lens.lens (\CreateWorkflowResponse' {stepTargets} -> stepTargets) (\s@CreateWorkflowResponse' {} a -> s {stepTargets = a} :: CreateWorkflowResponse) Prelude.. Lens.mapping Lens.coerced++-- | The tags to add on a migration workflow.+createWorkflowResponse_tags :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createWorkflowResponse_tags = Lens.lens (\CreateWorkflowResponse' {tags} -> tags) (\s@CreateWorkflowResponse' {} a -> s {tags = a} :: CreateWorkflowResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the template.+createWorkflowResponse_templateId :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe Prelude.Text)+createWorkflowResponse_templateId = Lens.lens (\CreateWorkflowResponse' {templateId} -> templateId) (\s@CreateWorkflowResponse' {} a -> s {templateId = a} :: CreateWorkflowResponse)++-- | The inputs for creating a migration workflow.+createWorkflowResponse_workflowInputs :: Lens.Lens' CreateWorkflowResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text StepInput))+createWorkflowResponse_workflowInputs = Lens.lens (\CreateWorkflowResponse' {workflowInputs} -> workflowInputs) (\s@CreateWorkflowResponse' {} a -> s {workflowInputs = a} :: CreateWorkflowResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+createWorkflowResponse_httpStatus :: Lens.Lens' CreateWorkflowResponse Prelude.Int+createWorkflowResponse_httpStatus = Lens.lens (\CreateWorkflowResponse' {httpStatus} -> httpStatus) (\s@CreateWorkflowResponse' {} a -> s {httpStatus = a} :: CreateWorkflowResponse)++instance Prelude.NFData CreateWorkflowResponse where+  rnf CreateWorkflowResponse' {..} =+    Prelude.rnf adsApplicationConfigurationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf stepTargets+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf workflowInputs+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/CreateWorkflowStep.hs view
@@ -0,0 +1,340 @@+{-# 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.MigrationHubOrchestrator.CreateWorkflowStep+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a step in the migration workflow.+module Amazonka.MigrationHubOrchestrator.CreateWorkflowStep+  ( -- * Creating a Request+    CreateWorkflowStep (..),+    newCreateWorkflowStep,++    -- * Request Lenses+    createWorkflowStep_description,+    createWorkflowStep_next,+    createWorkflowStep_outputs,+    createWorkflowStep_previous,+    createWorkflowStep_stepTarget,+    createWorkflowStep_workflowStepAutomationConfiguration,+    createWorkflowStep_name,+    createWorkflowStep_stepGroupId,+    createWorkflowStep_workflowId,+    createWorkflowStep_stepActionType,++    -- * Destructuring the Response+    CreateWorkflowStepResponse (..),+    newCreateWorkflowStepResponse,++    -- * Response Lenses+    createWorkflowStepResponse_id,+    createWorkflowStepResponse_name,+    createWorkflowStepResponse_stepGroupId,+    createWorkflowStepResponse_workflowId,+    createWorkflowStepResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateWorkflowStep' smart constructor.+data CreateWorkflowStep = CreateWorkflowStep'+  { -- | The description of the step.+    description :: Prelude.Maybe Prelude.Text,+    -- | The next step.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The key value pairs added for the expected output.+    outputs :: Prelude.Maybe [WorkflowStepOutput],+    -- | The previous step.+    previous :: Prelude.Maybe [Prelude.Text],+    -- | The servers on which a step will be run.+    stepTarget :: Prelude.Maybe [Prelude.Text],+    -- | The custom script to run tests on source or target environments.+    workflowStepAutomationConfiguration :: Prelude.Maybe WorkflowStepAutomationConfiguration,+    -- | The name of the step.+    name :: Prelude.Text,+    -- | The ID of the step group.+    stepGroupId :: Prelude.Text,+    -- | The ID of the migration workflow.+    workflowId :: Prelude.Text,+    -- | The action type of the step. You must run and update the status of a+    -- manual step for the workflow to continue after the completion of the+    -- step.+    stepActionType :: StepActionType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWorkflowStep' 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:+--+-- 'description', 'createWorkflowStep_description' - The description of the step.+--+-- 'next', 'createWorkflowStep_next' - The next step.+--+-- 'outputs', 'createWorkflowStep_outputs' - The key value pairs added for the expected output.+--+-- 'previous', 'createWorkflowStep_previous' - The previous step.+--+-- 'stepTarget', 'createWorkflowStep_stepTarget' - The servers on which a step will be run.+--+-- 'workflowStepAutomationConfiguration', 'createWorkflowStep_workflowStepAutomationConfiguration' - The custom script to run tests on source or target environments.+--+-- 'name', 'createWorkflowStep_name' - The name of the step.+--+-- 'stepGroupId', 'createWorkflowStep_stepGroupId' - The ID of the step group.+--+-- 'workflowId', 'createWorkflowStep_workflowId' - The ID of the migration workflow.+--+-- 'stepActionType', 'createWorkflowStep_stepActionType' - The action type of the step. You must run and update the status of a+-- manual step for the workflow to continue after the completion of the+-- step.+newCreateWorkflowStep ::+  -- | 'name'+  Prelude.Text ->+  -- | 'stepGroupId'+  Prelude.Text ->+  -- | 'workflowId'+  Prelude.Text ->+  -- | 'stepActionType'+  StepActionType ->+  CreateWorkflowStep+newCreateWorkflowStep+  pName_+  pStepGroupId_+  pWorkflowId_+  pStepActionType_ =+    CreateWorkflowStep'+      { description = Prelude.Nothing,+        next = Prelude.Nothing,+        outputs = Prelude.Nothing,+        previous = Prelude.Nothing,+        stepTarget = Prelude.Nothing,+        workflowStepAutomationConfiguration =+          Prelude.Nothing,+        name = pName_,+        stepGroupId = pStepGroupId_,+        workflowId = pWorkflowId_,+        stepActionType = pStepActionType_+      }++-- | The description of the step.+createWorkflowStep_description :: Lens.Lens' CreateWorkflowStep (Prelude.Maybe Prelude.Text)+createWorkflowStep_description = Lens.lens (\CreateWorkflowStep' {description} -> description) (\s@CreateWorkflowStep' {} a -> s {description = a} :: CreateWorkflowStep)++-- | The next step.+createWorkflowStep_next :: Lens.Lens' CreateWorkflowStep (Prelude.Maybe [Prelude.Text])+createWorkflowStep_next = Lens.lens (\CreateWorkflowStep' {next} -> next) (\s@CreateWorkflowStep' {} a -> s {next = a} :: CreateWorkflowStep) Prelude.. Lens.mapping Lens.coerced++-- | The key value pairs added for the expected output.+createWorkflowStep_outputs :: Lens.Lens' CreateWorkflowStep (Prelude.Maybe [WorkflowStepOutput])+createWorkflowStep_outputs = Lens.lens (\CreateWorkflowStep' {outputs} -> outputs) (\s@CreateWorkflowStep' {} a -> s {outputs = a} :: CreateWorkflowStep) Prelude.. Lens.mapping Lens.coerced++-- | The previous step.+createWorkflowStep_previous :: Lens.Lens' CreateWorkflowStep (Prelude.Maybe [Prelude.Text])+createWorkflowStep_previous = Lens.lens (\CreateWorkflowStep' {previous} -> previous) (\s@CreateWorkflowStep' {} a -> s {previous = a} :: CreateWorkflowStep) Prelude.. Lens.mapping Lens.coerced++-- | The servers on which a step will be run.+createWorkflowStep_stepTarget :: Lens.Lens' CreateWorkflowStep (Prelude.Maybe [Prelude.Text])+createWorkflowStep_stepTarget = Lens.lens (\CreateWorkflowStep' {stepTarget} -> stepTarget) (\s@CreateWorkflowStep' {} a -> s {stepTarget = a} :: CreateWorkflowStep) Prelude.. Lens.mapping Lens.coerced++-- | The custom script to run tests on source or target environments.+createWorkflowStep_workflowStepAutomationConfiguration :: Lens.Lens' CreateWorkflowStep (Prelude.Maybe WorkflowStepAutomationConfiguration)+createWorkflowStep_workflowStepAutomationConfiguration = Lens.lens (\CreateWorkflowStep' {workflowStepAutomationConfiguration} -> workflowStepAutomationConfiguration) (\s@CreateWorkflowStep' {} a -> s {workflowStepAutomationConfiguration = a} :: CreateWorkflowStep)++-- | The name of the step.+createWorkflowStep_name :: Lens.Lens' CreateWorkflowStep Prelude.Text+createWorkflowStep_name = Lens.lens (\CreateWorkflowStep' {name} -> name) (\s@CreateWorkflowStep' {} a -> s {name = a} :: CreateWorkflowStep)++-- | The ID of the step group.+createWorkflowStep_stepGroupId :: Lens.Lens' CreateWorkflowStep Prelude.Text+createWorkflowStep_stepGroupId = Lens.lens (\CreateWorkflowStep' {stepGroupId} -> stepGroupId) (\s@CreateWorkflowStep' {} a -> s {stepGroupId = a} :: CreateWorkflowStep)++-- | The ID of the migration workflow.+createWorkflowStep_workflowId :: Lens.Lens' CreateWorkflowStep Prelude.Text+createWorkflowStep_workflowId = Lens.lens (\CreateWorkflowStep' {workflowId} -> workflowId) (\s@CreateWorkflowStep' {} a -> s {workflowId = a} :: CreateWorkflowStep)++-- | The action type of the step. You must run and update the status of a+-- manual step for the workflow to continue after the completion of the+-- step.+createWorkflowStep_stepActionType :: Lens.Lens' CreateWorkflowStep StepActionType+createWorkflowStep_stepActionType = Lens.lens (\CreateWorkflowStep' {stepActionType} -> stepActionType) (\s@CreateWorkflowStep' {} a -> s {stepActionType = a} :: CreateWorkflowStep)++instance Core.AWSRequest CreateWorkflowStep where+  type+    AWSResponse CreateWorkflowStep =+      CreateWorkflowStepResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWorkflowStepResponse'+            Prelude.<$> (x Data..?> "id")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "stepGroupId")+            Prelude.<*> (x Data..?> "workflowId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateWorkflowStep where+  hashWithSalt _salt CreateWorkflowStep' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` next+      `Prelude.hashWithSalt` outputs+      `Prelude.hashWithSalt` previous+      `Prelude.hashWithSalt` stepTarget+      `Prelude.hashWithSalt` workflowStepAutomationConfiguration+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` stepGroupId+      `Prelude.hashWithSalt` workflowId+      `Prelude.hashWithSalt` stepActionType++instance Prelude.NFData CreateWorkflowStep where+  rnf CreateWorkflowStep' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf outputs+      `Prelude.seq` Prelude.rnf previous+      `Prelude.seq` Prelude.rnf stepTarget+      `Prelude.seq` Prelude.rnf workflowStepAutomationConfiguration+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf stepGroupId+      `Prelude.seq` Prelude.rnf workflowId+      `Prelude.seq` Prelude.rnf stepActionType++instance Data.ToHeaders CreateWorkflowStep where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateWorkflowStep where+  toJSON CreateWorkflowStep' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            ("next" Data..=) Prelude.<$> next,+            ("outputs" Data..=) Prelude.<$> outputs,+            ("previous" Data..=) Prelude.<$> previous,+            ("stepTarget" Data..=) Prelude.<$> stepTarget,+            ("workflowStepAutomationConfiguration" Data..=)+              Prelude.<$> workflowStepAutomationConfiguration,+            Prelude.Just ("name" Data..= name),+            Prelude.Just ("stepGroupId" Data..= stepGroupId),+            Prelude.Just ("workflowId" Data..= workflowId),+            Prelude.Just+              ("stepActionType" Data..= stepActionType)+          ]+      )++instance Data.ToPath CreateWorkflowStep where+  toPath = Prelude.const "/workflowstep"++instance Data.ToQuery CreateWorkflowStep where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWorkflowStepResponse' smart constructor.+data CreateWorkflowStepResponse = CreateWorkflowStepResponse'+  { -- | The ID of the step.+    id :: Prelude.Maybe Prelude.Text,+    -- | The name of the step.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ID of the step group.+    stepGroupId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the migration workflow.+    workflowId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWorkflowStepResponse' 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:+--+-- 'id', 'createWorkflowStepResponse_id' - The ID of the step.+--+-- 'name', 'createWorkflowStepResponse_name' - The name of the step.+--+-- 'stepGroupId', 'createWorkflowStepResponse_stepGroupId' - The ID of the step group.+--+-- 'workflowId', 'createWorkflowStepResponse_workflowId' - The ID of the migration workflow.+--+-- 'httpStatus', 'createWorkflowStepResponse_httpStatus' - The response's http status code.+newCreateWorkflowStepResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWorkflowStepResponse+newCreateWorkflowStepResponse pHttpStatus_ =+  CreateWorkflowStepResponse'+    { id = Prelude.Nothing,+      name = Prelude.Nothing,+      stepGroupId = Prelude.Nothing,+      workflowId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the step.+createWorkflowStepResponse_id :: Lens.Lens' CreateWorkflowStepResponse (Prelude.Maybe Prelude.Text)+createWorkflowStepResponse_id = Lens.lens (\CreateWorkflowStepResponse' {id} -> id) (\s@CreateWorkflowStepResponse' {} a -> s {id = a} :: CreateWorkflowStepResponse)++-- | The name of the step.+createWorkflowStepResponse_name :: Lens.Lens' CreateWorkflowStepResponse (Prelude.Maybe Prelude.Text)+createWorkflowStepResponse_name = Lens.lens (\CreateWorkflowStepResponse' {name} -> name) (\s@CreateWorkflowStepResponse' {} a -> s {name = a} :: CreateWorkflowStepResponse)++-- | The ID of the step group.+createWorkflowStepResponse_stepGroupId :: Lens.Lens' CreateWorkflowStepResponse (Prelude.Maybe Prelude.Text)+createWorkflowStepResponse_stepGroupId = Lens.lens (\CreateWorkflowStepResponse' {stepGroupId} -> stepGroupId) (\s@CreateWorkflowStepResponse' {} a -> s {stepGroupId = a} :: CreateWorkflowStepResponse)++-- | The ID of the migration workflow.+createWorkflowStepResponse_workflowId :: Lens.Lens' CreateWorkflowStepResponse (Prelude.Maybe Prelude.Text)+createWorkflowStepResponse_workflowId = Lens.lens (\CreateWorkflowStepResponse' {workflowId} -> workflowId) (\s@CreateWorkflowStepResponse' {} a -> s {workflowId = a} :: CreateWorkflowStepResponse)++-- | The response's http status code.+createWorkflowStepResponse_httpStatus :: Lens.Lens' CreateWorkflowStepResponse Prelude.Int+createWorkflowStepResponse_httpStatus = Lens.lens (\CreateWorkflowStepResponse' {httpStatus} -> httpStatus) (\s@CreateWorkflowStepResponse' {} a -> s {httpStatus = a} :: CreateWorkflowStepResponse)++instance Prelude.NFData CreateWorkflowStepResponse where+  rnf CreateWorkflowStepResponse' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf stepGroupId+      `Prelude.seq` Prelude.rnf workflowId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/CreateWorkflowStepGroup.hs view
@@ -0,0 +1,311 @@+{-# 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.MigrationHubOrchestrator.CreateWorkflowStepGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Create a step group in a migration workflow.+module Amazonka.MigrationHubOrchestrator.CreateWorkflowStepGroup+  ( -- * Creating a Request+    CreateWorkflowStepGroup (..),+    newCreateWorkflowStepGroup,++    -- * Request Lenses+    createWorkflowStepGroup_description,+    createWorkflowStepGroup_next,+    createWorkflowStepGroup_previous,+    createWorkflowStepGroup_workflowId,+    createWorkflowStepGroup_name,++    -- * Destructuring the Response+    CreateWorkflowStepGroupResponse (..),+    newCreateWorkflowStepGroupResponse,++    -- * Response Lenses+    createWorkflowStepGroupResponse_creationTime,+    createWorkflowStepGroupResponse_description,+    createWorkflowStepGroupResponse_id,+    createWorkflowStepGroupResponse_name,+    createWorkflowStepGroupResponse_next,+    createWorkflowStepGroupResponse_previous,+    createWorkflowStepGroupResponse_tools,+    createWorkflowStepGroupResponse_workflowId,+    createWorkflowStepGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateWorkflowStepGroup' smart constructor.+data CreateWorkflowStepGroup = CreateWorkflowStepGroup'+  { -- | The description of the step group.+    description :: Prelude.Maybe Prelude.Text,+    -- | The next step group.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The previous step group.+    previous :: Prelude.Maybe [Prelude.Text],+    -- | The ID of the migration workflow that will contain the step group.+    workflowId :: Prelude.Text,+    -- | The name of the step group.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWorkflowStepGroup' 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:+--+-- 'description', 'createWorkflowStepGroup_description' - The description of the step group.+--+-- 'next', 'createWorkflowStepGroup_next' - The next step group.+--+-- 'previous', 'createWorkflowStepGroup_previous' - The previous step group.+--+-- 'workflowId', 'createWorkflowStepGroup_workflowId' - The ID of the migration workflow that will contain the step group.+--+-- 'name', 'createWorkflowStepGroup_name' - The name of the step group.+newCreateWorkflowStepGroup ::+  -- | 'workflowId'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  CreateWorkflowStepGroup+newCreateWorkflowStepGroup pWorkflowId_ pName_ =+  CreateWorkflowStepGroup'+    { description =+        Prelude.Nothing,+      next = Prelude.Nothing,+      previous = Prelude.Nothing,+      workflowId = pWorkflowId_,+      name = pName_+    }++-- | The description of the step group.+createWorkflowStepGroup_description :: Lens.Lens' CreateWorkflowStepGroup (Prelude.Maybe Prelude.Text)+createWorkflowStepGroup_description = Lens.lens (\CreateWorkflowStepGroup' {description} -> description) (\s@CreateWorkflowStepGroup' {} a -> s {description = a} :: CreateWorkflowStepGroup)++-- | The next step group.+createWorkflowStepGroup_next :: Lens.Lens' CreateWorkflowStepGroup (Prelude.Maybe [Prelude.Text])+createWorkflowStepGroup_next = Lens.lens (\CreateWorkflowStepGroup' {next} -> next) (\s@CreateWorkflowStepGroup' {} a -> s {next = a} :: CreateWorkflowStepGroup) Prelude.. Lens.mapping Lens.coerced++-- | The previous step group.+createWorkflowStepGroup_previous :: Lens.Lens' CreateWorkflowStepGroup (Prelude.Maybe [Prelude.Text])+createWorkflowStepGroup_previous = Lens.lens (\CreateWorkflowStepGroup' {previous} -> previous) (\s@CreateWorkflowStepGroup' {} a -> s {previous = a} :: CreateWorkflowStepGroup) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the migration workflow that will contain the step group.+createWorkflowStepGroup_workflowId :: Lens.Lens' CreateWorkflowStepGroup Prelude.Text+createWorkflowStepGroup_workflowId = Lens.lens (\CreateWorkflowStepGroup' {workflowId} -> workflowId) (\s@CreateWorkflowStepGroup' {} a -> s {workflowId = a} :: CreateWorkflowStepGroup)++-- | The name of the step group.+createWorkflowStepGroup_name :: Lens.Lens' CreateWorkflowStepGroup Prelude.Text+createWorkflowStepGroup_name = Lens.lens (\CreateWorkflowStepGroup' {name} -> name) (\s@CreateWorkflowStepGroup' {} a -> s {name = a} :: CreateWorkflowStepGroup)++instance Core.AWSRequest CreateWorkflowStepGroup where+  type+    AWSResponse CreateWorkflowStepGroup =+      CreateWorkflowStepGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateWorkflowStepGroupResponse'+            Prelude.<$> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "next" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "previous" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "tools" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "workflowId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateWorkflowStepGroup where+  hashWithSalt _salt CreateWorkflowStepGroup' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` next+      `Prelude.hashWithSalt` previous+      `Prelude.hashWithSalt` workflowId+      `Prelude.hashWithSalt` name++instance Prelude.NFData CreateWorkflowStepGroup where+  rnf CreateWorkflowStepGroup' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf previous+      `Prelude.seq` Prelude.rnf workflowId+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateWorkflowStepGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateWorkflowStepGroup where+  toJSON CreateWorkflowStepGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            ("next" Data..=) Prelude.<$> next,+            ("previous" Data..=) Prelude.<$> previous,+            Prelude.Just ("workflowId" Data..= workflowId),+            Prelude.Just ("name" Data..= name)+          ]+      )++instance Data.ToPath CreateWorkflowStepGroup where+  toPath = Prelude.const "/workflowstepgroups"++instance Data.ToQuery CreateWorkflowStepGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateWorkflowStepGroupResponse' smart constructor.+data CreateWorkflowStepGroupResponse = CreateWorkflowStepGroupResponse'+  { -- | The time at which the step group is created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the step group.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the step group.+    id :: Prelude.Maybe Prelude.Text,+    -- | The name of the step group.+    name :: Prelude.Maybe Prelude.Text,+    -- | The next step group.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The previous step group.+    previous :: Prelude.Maybe [Prelude.Text],+    -- | List of AWS services utilized in a migration workflow.+    tools :: Prelude.Maybe [Tool],+    -- | The ID of the migration workflow that contains the step group.+    workflowId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateWorkflowStepGroupResponse' 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:+--+-- 'creationTime', 'createWorkflowStepGroupResponse_creationTime' - The time at which the step group is created.+--+-- 'description', 'createWorkflowStepGroupResponse_description' - The description of the step group.+--+-- 'id', 'createWorkflowStepGroupResponse_id' - The ID of the step group.+--+-- 'name', 'createWorkflowStepGroupResponse_name' - The name of the step group.+--+-- 'next', 'createWorkflowStepGroupResponse_next' - The next step group.+--+-- 'previous', 'createWorkflowStepGroupResponse_previous' - The previous step group.+--+-- 'tools', 'createWorkflowStepGroupResponse_tools' - List of AWS services utilized in a migration workflow.+--+-- 'workflowId', 'createWorkflowStepGroupResponse_workflowId' - The ID of the migration workflow that contains the step group.+--+-- 'httpStatus', 'createWorkflowStepGroupResponse_httpStatus' - The response's http status code.+newCreateWorkflowStepGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateWorkflowStepGroupResponse+newCreateWorkflowStepGroupResponse pHttpStatus_ =+  CreateWorkflowStepGroupResponse'+    { creationTime =+        Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      name = Prelude.Nothing,+      next = Prelude.Nothing,+      previous = Prelude.Nothing,+      tools = Prelude.Nothing,+      workflowId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The time at which the step group is created.+createWorkflowStepGroupResponse_creationTime :: Lens.Lens' CreateWorkflowStepGroupResponse (Prelude.Maybe Prelude.UTCTime)+createWorkflowStepGroupResponse_creationTime = Lens.lens (\CreateWorkflowStepGroupResponse' {creationTime} -> creationTime) (\s@CreateWorkflowStepGroupResponse' {} a -> s {creationTime = a} :: CreateWorkflowStepGroupResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the step group.+createWorkflowStepGroupResponse_description :: Lens.Lens' CreateWorkflowStepGroupResponse (Prelude.Maybe Prelude.Text)+createWorkflowStepGroupResponse_description = Lens.lens (\CreateWorkflowStepGroupResponse' {description} -> description) (\s@CreateWorkflowStepGroupResponse' {} a -> s {description = a} :: CreateWorkflowStepGroupResponse)++-- | The ID of the step group.+createWorkflowStepGroupResponse_id :: Lens.Lens' CreateWorkflowStepGroupResponse (Prelude.Maybe Prelude.Text)+createWorkflowStepGroupResponse_id = Lens.lens (\CreateWorkflowStepGroupResponse' {id} -> id) (\s@CreateWorkflowStepGroupResponse' {} a -> s {id = a} :: CreateWorkflowStepGroupResponse)++-- | The name of the step group.+createWorkflowStepGroupResponse_name :: Lens.Lens' CreateWorkflowStepGroupResponse (Prelude.Maybe Prelude.Text)+createWorkflowStepGroupResponse_name = Lens.lens (\CreateWorkflowStepGroupResponse' {name} -> name) (\s@CreateWorkflowStepGroupResponse' {} a -> s {name = a} :: CreateWorkflowStepGroupResponse)++-- | The next step group.+createWorkflowStepGroupResponse_next :: Lens.Lens' CreateWorkflowStepGroupResponse (Prelude.Maybe [Prelude.Text])+createWorkflowStepGroupResponse_next = Lens.lens (\CreateWorkflowStepGroupResponse' {next} -> next) (\s@CreateWorkflowStepGroupResponse' {} a -> s {next = a} :: CreateWorkflowStepGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The previous step group.+createWorkflowStepGroupResponse_previous :: Lens.Lens' CreateWorkflowStepGroupResponse (Prelude.Maybe [Prelude.Text])+createWorkflowStepGroupResponse_previous = Lens.lens (\CreateWorkflowStepGroupResponse' {previous} -> previous) (\s@CreateWorkflowStepGroupResponse' {} a -> s {previous = a} :: CreateWorkflowStepGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | List of AWS services utilized in a migration workflow.+createWorkflowStepGroupResponse_tools :: Lens.Lens' CreateWorkflowStepGroupResponse (Prelude.Maybe [Tool])+createWorkflowStepGroupResponse_tools = Lens.lens (\CreateWorkflowStepGroupResponse' {tools} -> tools) (\s@CreateWorkflowStepGroupResponse' {} a -> s {tools = a} :: CreateWorkflowStepGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the migration workflow that contains the step group.+createWorkflowStepGroupResponse_workflowId :: Lens.Lens' CreateWorkflowStepGroupResponse (Prelude.Maybe Prelude.Text)+createWorkflowStepGroupResponse_workflowId = Lens.lens (\CreateWorkflowStepGroupResponse' {workflowId} -> workflowId) (\s@CreateWorkflowStepGroupResponse' {} a -> s {workflowId = a} :: CreateWorkflowStepGroupResponse)++-- | The response's http status code.+createWorkflowStepGroupResponse_httpStatus :: Lens.Lens' CreateWorkflowStepGroupResponse Prelude.Int+createWorkflowStepGroupResponse_httpStatus = Lens.lens (\CreateWorkflowStepGroupResponse' {httpStatus} -> httpStatus) (\s@CreateWorkflowStepGroupResponse' {} a -> s {httpStatus = a} :: CreateWorkflowStepGroupResponse)++instance+  Prelude.NFData+    CreateWorkflowStepGroupResponse+  where+  rnf CreateWorkflowStepGroupResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf previous+      `Prelude.seq` Prelude.rnf tools+      `Prelude.seq` Prelude.rnf workflowId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/DeleteWorkflow.hs view
@@ -0,0 +1,182 @@+{-# 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.MigrationHubOrchestrator.DeleteWorkflow+-- 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 a migration workflow. You must pause a running workflow in+-- Migration Hub Orchestrator console to delete it.+module Amazonka.MigrationHubOrchestrator.DeleteWorkflow+  ( -- * Creating a Request+    DeleteWorkflow (..),+    newDeleteWorkflow,++    -- * Request Lenses+    deleteWorkflow_id,++    -- * Destructuring the Response+    DeleteWorkflowResponse (..),+    newDeleteWorkflowResponse,++    -- * Response Lenses+    deleteWorkflowResponse_arn,+    deleteWorkflowResponse_id,+    deleteWorkflowResponse_status,+    deleteWorkflowResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteWorkflow' smart constructor.+data DeleteWorkflow = DeleteWorkflow'+  { -- | The ID of the migration workflow you want to delete.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWorkflow' 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:+--+-- 'id', 'deleteWorkflow_id' - The ID of the migration workflow you want to delete.+newDeleteWorkflow ::+  -- | 'id'+  Prelude.Text ->+  DeleteWorkflow+newDeleteWorkflow pId_ = DeleteWorkflow' {id = pId_}++-- | The ID of the migration workflow you want to delete.+deleteWorkflow_id :: Lens.Lens' DeleteWorkflow Prelude.Text+deleteWorkflow_id = Lens.lens (\DeleteWorkflow' {id} -> id) (\s@DeleteWorkflow' {} a -> s {id = a} :: DeleteWorkflow)++instance Core.AWSRequest DeleteWorkflow where+  type+    AWSResponse DeleteWorkflow =+      DeleteWorkflowResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteWorkflowResponse'+            Prelude.<$> (x Data..?> "arn")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteWorkflow where+  hashWithSalt _salt DeleteWorkflow' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteWorkflow where+  rnf DeleteWorkflow' {..} = Prelude.rnf id++instance Data.ToHeaders DeleteWorkflow where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteWorkflow where+  toPath DeleteWorkflow' {..} =+    Prelude.mconcat+      ["/migrationworkflow/", Data.toBS id]++instance Data.ToQuery DeleteWorkflow where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteWorkflowResponse' smart constructor.+data DeleteWorkflowResponse = DeleteWorkflowResponse'+  { -- | The Amazon Resource Name (ARN) of the migration workflow.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the migration workflow.+    id :: Prelude.Maybe Prelude.Text,+    -- | The status of the migration workflow.+    status :: Prelude.Maybe MigrationWorkflowStatusEnum,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWorkflowResponse' 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', 'deleteWorkflowResponse_arn' - The Amazon Resource Name (ARN) of the migration workflow.+--+-- 'id', 'deleteWorkflowResponse_id' - The ID of the migration workflow.+--+-- 'status', 'deleteWorkflowResponse_status' - The status of the migration workflow.+--+-- 'httpStatus', 'deleteWorkflowResponse_httpStatus' - The response's http status code.+newDeleteWorkflowResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteWorkflowResponse+newDeleteWorkflowResponse pHttpStatus_ =+  DeleteWorkflowResponse'+    { arn = Prelude.Nothing,+      id = Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the migration workflow.+deleteWorkflowResponse_arn :: Lens.Lens' DeleteWorkflowResponse (Prelude.Maybe Prelude.Text)+deleteWorkflowResponse_arn = Lens.lens (\DeleteWorkflowResponse' {arn} -> arn) (\s@DeleteWorkflowResponse' {} a -> s {arn = a} :: DeleteWorkflowResponse)++-- | The ID of the migration workflow.+deleteWorkflowResponse_id :: Lens.Lens' DeleteWorkflowResponse (Prelude.Maybe Prelude.Text)+deleteWorkflowResponse_id = Lens.lens (\DeleteWorkflowResponse' {id} -> id) (\s@DeleteWorkflowResponse' {} a -> s {id = a} :: DeleteWorkflowResponse)++-- | The status of the migration workflow.+deleteWorkflowResponse_status :: Lens.Lens' DeleteWorkflowResponse (Prelude.Maybe MigrationWorkflowStatusEnum)+deleteWorkflowResponse_status = Lens.lens (\DeleteWorkflowResponse' {status} -> status) (\s@DeleteWorkflowResponse' {} a -> s {status = a} :: DeleteWorkflowResponse)++-- | The response's http status code.+deleteWorkflowResponse_httpStatus :: Lens.Lens' DeleteWorkflowResponse Prelude.Int+deleteWorkflowResponse_httpStatus = Lens.lens (\DeleteWorkflowResponse' {httpStatus} -> httpStatus) (\s@DeleteWorkflowResponse' {} a -> s {httpStatus = a} :: DeleteWorkflowResponse)++instance Prelude.NFData DeleteWorkflowResponse where+  rnf DeleteWorkflowResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/DeleteWorkflowStep.hs view
@@ -0,0 +1,183 @@+{-# 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.MigrationHubOrchestrator.DeleteWorkflowStep+-- 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 a step in a migration workflow. Pause the workflow to delete a+-- running step.+module Amazonka.MigrationHubOrchestrator.DeleteWorkflowStep+  ( -- * Creating a Request+    DeleteWorkflowStep (..),+    newDeleteWorkflowStep,++    -- * Request Lenses+    deleteWorkflowStep_id,+    deleteWorkflowStep_stepGroupId,+    deleteWorkflowStep_workflowId,++    -- * Destructuring the Response+    DeleteWorkflowStepResponse (..),+    newDeleteWorkflowStepResponse,++    -- * Response Lenses+    deleteWorkflowStepResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteWorkflowStep' smart constructor.+data DeleteWorkflowStep = DeleteWorkflowStep'+  { -- | The ID of the step you want to delete.+    id :: Prelude.Text,+    -- | The ID of the step group that contains the step you want to delete.+    stepGroupId :: Prelude.Text,+    -- | The ID of the migration workflow.+    workflowId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWorkflowStep' 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:+--+-- 'id', 'deleteWorkflowStep_id' - The ID of the step you want to delete.+--+-- 'stepGroupId', 'deleteWorkflowStep_stepGroupId' - The ID of the step group that contains the step you want to delete.+--+-- 'workflowId', 'deleteWorkflowStep_workflowId' - The ID of the migration workflow.+newDeleteWorkflowStep ::+  -- | 'id'+  Prelude.Text ->+  -- | 'stepGroupId'+  Prelude.Text ->+  -- | 'workflowId'+  Prelude.Text ->+  DeleteWorkflowStep+newDeleteWorkflowStep pId_ pStepGroupId_ pWorkflowId_ =+  DeleteWorkflowStep'+    { id = pId_,+      stepGroupId = pStepGroupId_,+      workflowId = pWorkflowId_+    }++-- | The ID of the step you want to delete.+deleteWorkflowStep_id :: Lens.Lens' DeleteWorkflowStep Prelude.Text+deleteWorkflowStep_id = Lens.lens (\DeleteWorkflowStep' {id} -> id) (\s@DeleteWorkflowStep' {} a -> s {id = a} :: DeleteWorkflowStep)++-- | The ID of the step group that contains the step you want to delete.+deleteWorkflowStep_stepGroupId :: Lens.Lens' DeleteWorkflowStep Prelude.Text+deleteWorkflowStep_stepGroupId = Lens.lens (\DeleteWorkflowStep' {stepGroupId} -> stepGroupId) (\s@DeleteWorkflowStep' {} a -> s {stepGroupId = a} :: DeleteWorkflowStep)++-- | The ID of the migration workflow.+deleteWorkflowStep_workflowId :: Lens.Lens' DeleteWorkflowStep Prelude.Text+deleteWorkflowStep_workflowId = Lens.lens (\DeleteWorkflowStep' {workflowId} -> workflowId) (\s@DeleteWorkflowStep' {} a -> s {workflowId = a} :: DeleteWorkflowStep)++instance Core.AWSRequest DeleteWorkflowStep where+  type+    AWSResponse DeleteWorkflowStep =+      DeleteWorkflowStepResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteWorkflowStepResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteWorkflowStep where+  hashWithSalt _salt DeleteWorkflowStep' {..} =+    _salt+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` stepGroupId+      `Prelude.hashWithSalt` workflowId++instance Prelude.NFData DeleteWorkflowStep where+  rnf DeleteWorkflowStep' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf stepGroupId+      `Prelude.seq` Prelude.rnf workflowId++instance Data.ToHeaders DeleteWorkflowStep where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteWorkflowStep where+  toPath DeleteWorkflowStep' {..} =+    Prelude.mconcat ["/workflowstep/", Data.toBS id]++instance Data.ToQuery DeleteWorkflowStep where+  toQuery DeleteWorkflowStep' {..} =+    Prelude.mconcat+      [ "stepGroupId" Data.=: stepGroupId,+        "workflowId" Data.=: workflowId+      ]++-- | /See:/ 'newDeleteWorkflowStepResponse' smart constructor.+data DeleteWorkflowStepResponse = DeleteWorkflowStepResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWorkflowStepResponse' 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', 'deleteWorkflowStepResponse_httpStatus' - The response's http status code.+newDeleteWorkflowStepResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteWorkflowStepResponse+newDeleteWorkflowStepResponse pHttpStatus_ =+  DeleteWorkflowStepResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteWorkflowStepResponse_httpStatus :: Lens.Lens' DeleteWorkflowStepResponse Prelude.Int+deleteWorkflowStepResponse_httpStatus = Lens.lens (\DeleteWorkflowStepResponse' {httpStatus} -> httpStatus) (\s@DeleteWorkflowStepResponse' {} a -> s {httpStatus = a} :: DeleteWorkflowStepResponse)++instance Prelude.NFData DeleteWorkflowStepResponse where+  rnf DeleteWorkflowStepResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/DeleteWorkflowStepGroup.hs view
@@ -0,0 +1,168 @@+{-# 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.MigrationHubOrchestrator.DeleteWorkflowStepGroup+-- 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 a step group in a migration workflow.+module Amazonka.MigrationHubOrchestrator.DeleteWorkflowStepGroup+  ( -- * Creating a Request+    DeleteWorkflowStepGroup (..),+    newDeleteWorkflowStepGroup,++    -- * Request Lenses+    deleteWorkflowStepGroup_workflowId,+    deleteWorkflowStepGroup_id,++    -- * Destructuring the Response+    DeleteWorkflowStepGroupResponse (..),+    newDeleteWorkflowStepGroupResponse,++    -- * Response Lenses+    deleteWorkflowStepGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteWorkflowStepGroup' smart constructor.+data DeleteWorkflowStepGroup = DeleteWorkflowStepGroup'+  { -- | The ID of the migration workflow.+    workflowId :: Prelude.Text,+    -- | The ID of the step group you want to delete.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWorkflowStepGroup' 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:+--+-- 'workflowId', 'deleteWorkflowStepGroup_workflowId' - The ID of the migration workflow.+--+-- 'id', 'deleteWorkflowStepGroup_id' - The ID of the step group you want to delete.+newDeleteWorkflowStepGroup ::+  -- | 'workflowId'+  Prelude.Text ->+  -- | 'id'+  Prelude.Text ->+  DeleteWorkflowStepGroup+newDeleteWorkflowStepGroup pWorkflowId_ pId_ =+  DeleteWorkflowStepGroup'+    { workflowId = pWorkflowId_,+      id = pId_+    }++-- | The ID of the migration workflow.+deleteWorkflowStepGroup_workflowId :: Lens.Lens' DeleteWorkflowStepGroup Prelude.Text+deleteWorkflowStepGroup_workflowId = Lens.lens (\DeleteWorkflowStepGroup' {workflowId} -> workflowId) (\s@DeleteWorkflowStepGroup' {} a -> s {workflowId = a} :: DeleteWorkflowStepGroup)++-- | The ID of the step group you want to delete.+deleteWorkflowStepGroup_id :: Lens.Lens' DeleteWorkflowStepGroup Prelude.Text+deleteWorkflowStepGroup_id = Lens.lens (\DeleteWorkflowStepGroup' {id} -> id) (\s@DeleteWorkflowStepGroup' {} a -> s {id = a} :: DeleteWorkflowStepGroup)++instance Core.AWSRequest DeleteWorkflowStepGroup where+  type+    AWSResponse DeleteWorkflowStepGroup =+      DeleteWorkflowStepGroupResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteWorkflowStepGroupResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteWorkflowStepGroup where+  hashWithSalt _salt DeleteWorkflowStepGroup' {..} =+    _salt+      `Prelude.hashWithSalt` workflowId+      `Prelude.hashWithSalt` id++instance Prelude.NFData DeleteWorkflowStepGroup where+  rnf DeleteWorkflowStepGroup' {..} =+    Prelude.rnf workflowId `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders DeleteWorkflowStepGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteWorkflowStepGroup where+  toPath DeleteWorkflowStepGroup' {..} =+    Prelude.mconcat+      ["/workflowstepgroup/", Data.toBS id]++instance Data.ToQuery DeleteWorkflowStepGroup where+  toQuery DeleteWorkflowStepGroup' {..} =+    Prelude.mconcat ["workflowId" Data.=: workflowId]++-- | /See:/ 'newDeleteWorkflowStepGroupResponse' smart constructor.+data DeleteWorkflowStepGroupResponse = DeleteWorkflowStepGroupResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteWorkflowStepGroupResponse' 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', 'deleteWorkflowStepGroupResponse_httpStatus' - The response's http status code.+newDeleteWorkflowStepGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteWorkflowStepGroupResponse+newDeleteWorkflowStepGroupResponse pHttpStatus_ =+  DeleteWorkflowStepGroupResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteWorkflowStepGroupResponse_httpStatus :: Lens.Lens' DeleteWorkflowStepGroupResponse Prelude.Int+deleteWorkflowStepGroupResponse_httpStatus = Lens.lens (\DeleteWorkflowStepGroupResponse' {httpStatus} -> httpStatus) (\s@DeleteWorkflowStepGroupResponse' {} a -> s {httpStatus = a} :: DeleteWorkflowStepGroupResponse)++instance+  Prelude.NFData+    DeleteWorkflowStepGroupResponse+  where+  rnf DeleteWorkflowStepGroupResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/GetTemplate.hs view
@@ -0,0 +1,228 @@+{-# 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.MigrationHubOrchestrator.GetTemplate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get the template you want to use for creating a migration workflow.+module Amazonka.MigrationHubOrchestrator.GetTemplate+  ( -- * Creating a Request+    GetTemplate (..),+    newGetTemplate,++    -- * Request Lenses+    getTemplate_id,++    -- * Destructuring the Response+    GetTemplateResponse (..),+    newGetTemplateResponse,++    -- * Response Lenses+    getTemplateResponse_creationTime,+    getTemplateResponse_description,+    getTemplateResponse_id,+    getTemplateResponse_inputs,+    getTemplateResponse_name,+    getTemplateResponse_status,+    getTemplateResponse_tools,+    getTemplateResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetTemplate' smart constructor.+data GetTemplate = GetTemplate'+  { -- | The ID of the template.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTemplate' 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:+--+-- 'id', 'getTemplate_id' - The ID of the template.+newGetTemplate ::+  -- | 'id'+  Prelude.Text ->+  GetTemplate+newGetTemplate pId_ = GetTemplate' {id = pId_}++-- | The ID of the template.+getTemplate_id :: Lens.Lens' GetTemplate Prelude.Text+getTemplate_id = Lens.lens (\GetTemplate' {id} -> id) (\s@GetTemplate' {} a -> s {id = a} :: GetTemplate)++instance Core.AWSRequest GetTemplate where+  type AWSResponse GetTemplate = GetTemplateResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetTemplateResponse'+            Prelude.<$> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "inputs" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "tools" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetTemplate where+  hashWithSalt _salt GetTemplate' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetTemplate where+  rnf GetTemplate' {..} = Prelude.rnf id++instance Data.ToHeaders GetTemplate where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetTemplate where+  toPath GetTemplate' {..} =+    Prelude.mconcat+      ["/migrationworkflowtemplate/", Data.toBS id]++instance Data.ToQuery GetTemplate where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetTemplateResponse' smart constructor.+data GetTemplateResponse = GetTemplateResponse'+  { -- | The time at which the template was last created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The time at which the template was last created.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the template.+    id :: Prelude.Maybe Prelude.Text,+    -- | The inputs provided for the creation of the migration workflow.+    inputs :: Prelude.Maybe [TemplateInput],+    -- | The name of the template.+    name :: Prelude.Maybe Prelude.Text,+    -- | The status of the template.+    status :: Prelude.Maybe TemplateStatus,+    -- | List of AWS services utilized in a migration workflow.+    tools :: Prelude.Maybe [Tool],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTemplateResponse' 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:+--+-- 'creationTime', 'getTemplateResponse_creationTime' - The time at which the template was last created.+--+-- 'description', 'getTemplateResponse_description' - The time at which the template was last created.+--+-- 'id', 'getTemplateResponse_id' - The ID of the template.+--+-- 'inputs', 'getTemplateResponse_inputs' - The inputs provided for the creation of the migration workflow.+--+-- 'name', 'getTemplateResponse_name' - The name of the template.+--+-- 'status', 'getTemplateResponse_status' - The status of the template.+--+-- 'tools', 'getTemplateResponse_tools' - List of AWS services utilized in a migration workflow.+--+-- 'httpStatus', 'getTemplateResponse_httpStatus' - The response's http status code.+newGetTemplateResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetTemplateResponse+newGetTemplateResponse pHttpStatus_ =+  GetTemplateResponse'+    { creationTime =+        Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      inputs = Prelude.Nothing,+      name = Prelude.Nothing,+      status = Prelude.Nothing,+      tools = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The time at which the template was last created.+getTemplateResponse_creationTime :: Lens.Lens' GetTemplateResponse (Prelude.Maybe Prelude.UTCTime)+getTemplateResponse_creationTime = Lens.lens (\GetTemplateResponse' {creationTime} -> creationTime) (\s@GetTemplateResponse' {} a -> s {creationTime = a} :: GetTemplateResponse) Prelude.. Lens.mapping Data._Time++-- | The time at which the template was last created.+getTemplateResponse_description :: Lens.Lens' GetTemplateResponse (Prelude.Maybe Prelude.Text)+getTemplateResponse_description = Lens.lens (\GetTemplateResponse' {description} -> description) (\s@GetTemplateResponse' {} a -> s {description = a} :: GetTemplateResponse)++-- | The ID of the template.+getTemplateResponse_id :: Lens.Lens' GetTemplateResponse (Prelude.Maybe Prelude.Text)+getTemplateResponse_id = Lens.lens (\GetTemplateResponse' {id} -> id) (\s@GetTemplateResponse' {} a -> s {id = a} :: GetTemplateResponse)++-- | The inputs provided for the creation of the migration workflow.+getTemplateResponse_inputs :: Lens.Lens' GetTemplateResponse (Prelude.Maybe [TemplateInput])+getTemplateResponse_inputs = Lens.lens (\GetTemplateResponse' {inputs} -> inputs) (\s@GetTemplateResponse' {} a -> s {inputs = a} :: GetTemplateResponse) Prelude.. Lens.mapping Lens.coerced++-- | The name of the template.+getTemplateResponse_name :: Lens.Lens' GetTemplateResponse (Prelude.Maybe Prelude.Text)+getTemplateResponse_name = Lens.lens (\GetTemplateResponse' {name} -> name) (\s@GetTemplateResponse' {} a -> s {name = a} :: GetTemplateResponse)++-- | The status of the template.+getTemplateResponse_status :: Lens.Lens' GetTemplateResponse (Prelude.Maybe TemplateStatus)+getTemplateResponse_status = Lens.lens (\GetTemplateResponse' {status} -> status) (\s@GetTemplateResponse' {} a -> s {status = a} :: GetTemplateResponse)++-- | List of AWS services utilized in a migration workflow.+getTemplateResponse_tools :: Lens.Lens' GetTemplateResponse (Prelude.Maybe [Tool])+getTemplateResponse_tools = Lens.lens (\GetTemplateResponse' {tools} -> tools) (\s@GetTemplateResponse' {} a -> s {tools = a} :: GetTemplateResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getTemplateResponse_httpStatus :: Lens.Lens' GetTemplateResponse Prelude.Int+getTemplateResponse_httpStatus = Lens.lens (\GetTemplateResponse' {httpStatus} -> httpStatus) (\s@GetTemplateResponse' {} a -> s {httpStatus = a} :: GetTemplateResponse)++instance Prelude.NFData GetTemplateResponse where+  rnf GetTemplateResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf inputs+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf tools+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/GetTemplateStep.hs view
@@ -0,0 +1,320 @@+{-# 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.MigrationHubOrchestrator.GetTemplateStep+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a specific step in a template.+module Amazonka.MigrationHubOrchestrator.GetTemplateStep+  ( -- * Creating a Request+    GetTemplateStep (..),+    newGetTemplateStep,++    -- * Request Lenses+    getTemplateStep_id,+    getTemplateStep_templateId,+    getTemplateStep_stepGroupId,++    -- * Destructuring the Response+    GetTemplateStepResponse (..),+    newGetTemplateStepResponse,++    -- * Response Lenses+    getTemplateStepResponse_creationTime,+    getTemplateStepResponse_description,+    getTemplateStepResponse_id,+    getTemplateStepResponse_name,+    getTemplateStepResponse_next,+    getTemplateStepResponse_outputs,+    getTemplateStepResponse_previous,+    getTemplateStepResponse_stepActionType,+    getTemplateStepResponse_stepAutomationConfiguration,+    getTemplateStepResponse_stepGroupId,+    getTemplateStepResponse_templateId,+    getTemplateStepResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetTemplateStep' smart constructor.+data GetTemplateStep = GetTemplateStep'+  { -- | The ID of the step.+    id :: Prelude.Text,+    -- | The ID of the template.+    templateId :: Prelude.Text,+    -- | The ID of the step group.+    stepGroupId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTemplateStep' 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:+--+-- 'id', 'getTemplateStep_id' - The ID of the step.+--+-- 'templateId', 'getTemplateStep_templateId' - The ID of the template.+--+-- 'stepGroupId', 'getTemplateStep_stepGroupId' - The ID of the step group.+newGetTemplateStep ::+  -- | 'id'+  Prelude.Text ->+  -- | 'templateId'+  Prelude.Text ->+  -- | 'stepGroupId'+  Prelude.Text ->+  GetTemplateStep+newGetTemplateStep pId_ pTemplateId_ pStepGroupId_ =+  GetTemplateStep'+    { id = pId_,+      templateId = pTemplateId_,+      stepGroupId = pStepGroupId_+    }++-- | The ID of the step.+getTemplateStep_id :: Lens.Lens' GetTemplateStep Prelude.Text+getTemplateStep_id = Lens.lens (\GetTemplateStep' {id} -> id) (\s@GetTemplateStep' {} a -> s {id = a} :: GetTemplateStep)++-- | The ID of the template.+getTemplateStep_templateId :: Lens.Lens' GetTemplateStep Prelude.Text+getTemplateStep_templateId = Lens.lens (\GetTemplateStep' {templateId} -> templateId) (\s@GetTemplateStep' {} a -> s {templateId = a} :: GetTemplateStep)++-- | The ID of the step group.+getTemplateStep_stepGroupId :: Lens.Lens' GetTemplateStep Prelude.Text+getTemplateStep_stepGroupId = Lens.lens (\GetTemplateStep' {stepGroupId} -> stepGroupId) (\s@GetTemplateStep' {} a -> s {stepGroupId = a} :: GetTemplateStep)++instance Core.AWSRequest GetTemplateStep where+  type+    AWSResponse GetTemplateStep =+      GetTemplateStepResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetTemplateStepResponse'+            Prelude.<$> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "next" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "outputs" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "previous" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "stepActionType")+            Prelude.<*> (x Data..?> "stepAutomationConfiguration")+            Prelude.<*> (x Data..?> "stepGroupId")+            Prelude.<*> (x Data..?> "templateId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetTemplateStep where+  hashWithSalt _salt GetTemplateStep' {..} =+    _salt+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` templateId+      `Prelude.hashWithSalt` stepGroupId++instance Prelude.NFData GetTemplateStep where+  rnf GetTemplateStep' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf stepGroupId++instance Data.ToHeaders GetTemplateStep where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetTemplateStep where+  toPath GetTemplateStep' {..} =+    Prelude.mconcat ["/templatestep/", Data.toBS id]++instance Data.ToQuery GetTemplateStep where+  toQuery GetTemplateStep' {..} =+    Prelude.mconcat+      [ "templateId" Data.=: templateId,+        "stepGroupId" Data.=: stepGroupId+      ]++-- | /See:/ 'newGetTemplateStepResponse' smart constructor.+data GetTemplateStepResponse = GetTemplateStepResponse'+  { -- | The time at which the step was created.+    creationTime :: Prelude.Maybe Prelude.Text,+    -- | The description of the step.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the step.+    id :: Prelude.Maybe Prelude.Text,+    -- | The name of the step.+    name :: Prelude.Maybe Prelude.Text,+    -- | The next step.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The outputs of the step.+    outputs :: Prelude.Maybe [StepOutput],+    -- | The previous step.+    previous :: Prelude.Maybe [Prelude.Text],+    -- | The action type of the step. You must run and update the status of a+    -- manual step for the workflow to continue after the completion of the+    -- step.+    stepActionType :: Prelude.Maybe StepActionType,+    -- | The custom script to run tests on source or target environments.+    stepAutomationConfiguration :: Prelude.Maybe StepAutomationConfiguration,+    -- | The ID of the step group.+    stepGroupId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the template.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTemplateStepResponse' 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:+--+-- 'creationTime', 'getTemplateStepResponse_creationTime' - The time at which the step was created.+--+-- 'description', 'getTemplateStepResponse_description' - The description of the step.+--+-- 'id', 'getTemplateStepResponse_id' - The ID of the step.+--+-- 'name', 'getTemplateStepResponse_name' - The name of the step.+--+-- 'next', 'getTemplateStepResponse_next' - The next step.+--+-- 'outputs', 'getTemplateStepResponse_outputs' - The outputs of the step.+--+-- 'previous', 'getTemplateStepResponse_previous' - The previous step.+--+-- 'stepActionType', 'getTemplateStepResponse_stepActionType' - The action type of the step. You must run and update the status of a+-- manual step for the workflow to continue after the completion of the+-- step.+--+-- 'stepAutomationConfiguration', 'getTemplateStepResponse_stepAutomationConfiguration' - The custom script to run tests on source or target environments.+--+-- 'stepGroupId', 'getTemplateStepResponse_stepGroupId' - The ID of the step group.+--+-- 'templateId', 'getTemplateStepResponse_templateId' - The ID of the template.+--+-- 'httpStatus', 'getTemplateStepResponse_httpStatus' - The response's http status code.+newGetTemplateStepResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetTemplateStepResponse+newGetTemplateStepResponse pHttpStatus_ =+  GetTemplateStepResponse'+    { creationTime =+        Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      name = Prelude.Nothing,+      next = Prelude.Nothing,+      outputs = Prelude.Nothing,+      previous = Prelude.Nothing,+      stepActionType = Prelude.Nothing,+      stepAutomationConfiguration = Prelude.Nothing,+      stepGroupId = Prelude.Nothing,+      templateId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The time at which the step was created.+getTemplateStepResponse_creationTime :: Lens.Lens' GetTemplateStepResponse (Prelude.Maybe Prelude.Text)+getTemplateStepResponse_creationTime = Lens.lens (\GetTemplateStepResponse' {creationTime} -> creationTime) (\s@GetTemplateStepResponse' {} a -> s {creationTime = a} :: GetTemplateStepResponse)++-- | The description of the step.+getTemplateStepResponse_description :: Lens.Lens' GetTemplateStepResponse (Prelude.Maybe Prelude.Text)+getTemplateStepResponse_description = Lens.lens (\GetTemplateStepResponse' {description} -> description) (\s@GetTemplateStepResponse' {} a -> s {description = a} :: GetTemplateStepResponse)++-- | The ID of the step.+getTemplateStepResponse_id :: Lens.Lens' GetTemplateStepResponse (Prelude.Maybe Prelude.Text)+getTemplateStepResponse_id = Lens.lens (\GetTemplateStepResponse' {id} -> id) (\s@GetTemplateStepResponse' {} a -> s {id = a} :: GetTemplateStepResponse)++-- | The name of the step.+getTemplateStepResponse_name :: Lens.Lens' GetTemplateStepResponse (Prelude.Maybe Prelude.Text)+getTemplateStepResponse_name = Lens.lens (\GetTemplateStepResponse' {name} -> name) (\s@GetTemplateStepResponse' {} a -> s {name = a} :: GetTemplateStepResponse)++-- | The next step.+getTemplateStepResponse_next :: Lens.Lens' GetTemplateStepResponse (Prelude.Maybe [Prelude.Text])+getTemplateStepResponse_next = Lens.lens (\GetTemplateStepResponse' {next} -> next) (\s@GetTemplateStepResponse' {} a -> s {next = a} :: GetTemplateStepResponse) Prelude.. Lens.mapping Lens.coerced++-- | The outputs of the step.+getTemplateStepResponse_outputs :: Lens.Lens' GetTemplateStepResponse (Prelude.Maybe [StepOutput])+getTemplateStepResponse_outputs = Lens.lens (\GetTemplateStepResponse' {outputs} -> outputs) (\s@GetTemplateStepResponse' {} a -> s {outputs = a} :: GetTemplateStepResponse) Prelude.. Lens.mapping Lens.coerced++-- | The previous step.+getTemplateStepResponse_previous :: Lens.Lens' GetTemplateStepResponse (Prelude.Maybe [Prelude.Text])+getTemplateStepResponse_previous = Lens.lens (\GetTemplateStepResponse' {previous} -> previous) (\s@GetTemplateStepResponse' {} a -> s {previous = a} :: GetTemplateStepResponse) Prelude.. Lens.mapping Lens.coerced++-- | The action type of the step. You must run and update the status of a+-- manual step for the workflow to continue after the completion of the+-- step.+getTemplateStepResponse_stepActionType :: Lens.Lens' GetTemplateStepResponse (Prelude.Maybe StepActionType)+getTemplateStepResponse_stepActionType = Lens.lens (\GetTemplateStepResponse' {stepActionType} -> stepActionType) (\s@GetTemplateStepResponse' {} a -> s {stepActionType = a} :: GetTemplateStepResponse)++-- | The custom script to run tests on source or target environments.+getTemplateStepResponse_stepAutomationConfiguration :: Lens.Lens' GetTemplateStepResponse (Prelude.Maybe StepAutomationConfiguration)+getTemplateStepResponse_stepAutomationConfiguration = Lens.lens (\GetTemplateStepResponse' {stepAutomationConfiguration} -> stepAutomationConfiguration) (\s@GetTemplateStepResponse' {} a -> s {stepAutomationConfiguration = a} :: GetTemplateStepResponse)++-- | The ID of the step group.+getTemplateStepResponse_stepGroupId :: Lens.Lens' GetTemplateStepResponse (Prelude.Maybe Prelude.Text)+getTemplateStepResponse_stepGroupId = Lens.lens (\GetTemplateStepResponse' {stepGroupId} -> stepGroupId) (\s@GetTemplateStepResponse' {} a -> s {stepGroupId = a} :: GetTemplateStepResponse)++-- | The ID of the template.+getTemplateStepResponse_templateId :: Lens.Lens' GetTemplateStepResponse (Prelude.Maybe Prelude.Text)+getTemplateStepResponse_templateId = Lens.lens (\GetTemplateStepResponse' {templateId} -> templateId) (\s@GetTemplateStepResponse' {} a -> s {templateId = a} :: GetTemplateStepResponse)++-- | The response's http status code.+getTemplateStepResponse_httpStatus :: Lens.Lens' GetTemplateStepResponse Prelude.Int+getTemplateStepResponse_httpStatus = Lens.lens (\GetTemplateStepResponse' {httpStatus} -> httpStatus) (\s@GetTemplateStepResponse' {} a -> s {httpStatus = a} :: GetTemplateStepResponse)++instance Prelude.NFData GetTemplateStepResponse where+  rnf GetTemplateStepResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf outputs+      `Prelude.seq` Prelude.rnf previous+      `Prelude.seq` Prelude.rnf stepActionType+      `Prelude.seq` Prelude.rnf stepAutomationConfiguration+      `Prelude.seq` Prelude.rnf stepGroupId+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/GetTemplateStepGroup.hs view
@@ -0,0 +1,288 @@+{-# 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.MigrationHubOrchestrator.GetTemplateStepGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a step group in a template.+module Amazonka.MigrationHubOrchestrator.GetTemplateStepGroup+  ( -- * Creating a Request+    GetTemplateStepGroup (..),+    newGetTemplateStepGroup,++    -- * Request Lenses+    getTemplateStepGroup_templateId,+    getTemplateStepGroup_id,++    -- * Destructuring the Response+    GetTemplateStepGroupResponse (..),+    newGetTemplateStepGroupResponse,++    -- * Response Lenses+    getTemplateStepGroupResponse_creationTime,+    getTemplateStepGroupResponse_description,+    getTemplateStepGroupResponse_id,+    getTemplateStepGroupResponse_lastModifiedTime,+    getTemplateStepGroupResponse_name,+    getTemplateStepGroupResponse_next,+    getTemplateStepGroupResponse_previous,+    getTemplateStepGroupResponse_status,+    getTemplateStepGroupResponse_templateId,+    getTemplateStepGroupResponse_tools,+    getTemplateStepGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetTemplateStepGroup' smart constructor.+data GetTemplateStepGroup = GetTemplateStepGroup'+  { -- | The ID of the template.+    templateId :: Prelude.Text,+    -- | The ID of the step group.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTemplateStepGroup' 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:+--+-- 'templateId', 'getTemplateStepGroup_templateId' - The ID of the template.+--+-- 'id', 'getTemplateStepGroup_id' - The ID of the step group.+newGetTemplateStepGroup ::+  -- | 'templateId'+  Prelude.Text ->+  -- | 'id'+  Prelude.Text ->+  GetTemplateStepGroup+newGetTemplateStepGroup pTemplateId_ pId_ =+  GetTemplateStepGroup'+    { templateId = pTemplateId_,+      id = pId_+    }++-- | The ID of the template.+getTemplateStepGroup_templateId :: Lens.Lens' GetTemplateStepGroup Prelude.Text+getTemplateStepGroup_templateId = Lens.lens (\GetTemplateStepGroup' {templateId} -> templateId) (\s@GetTemplateStepGroup' {} a -> s {templateId = a} :: GetTemplateStepGroup)++-- | The ID of the step group.+getTemplateStepGroup_id :: Lens.Lens' GetTemplateStepGroup Prelude.Text+getTemplateStepGroup_id = Lens.lens (\GetTemplateStepGroup' {id} -> id) (\s@GetTemplateStepGroup' {} a -> s {id = a} :: GetTemplateStepGroup)++instance Core.AWSRequest GetTemplateStepGroup where+  type+    AWSResponse GetTemplateStepGroup =+      GetTemplateStepGroupResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetTemplateStepGroupResponse'+            Prelude.<$> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "lastModifiedTime")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "next" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "previous" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "templateId")+            Prelude.<*> (x Data..?> "tools" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetTemplateStepGroup where+  hashWithSalt _salt GetTemplateStepGroup' {..} =+    _salt+      `Prelude.hashWithSalt` templateId+      `Prelude.hashWithSalt` id++instance Prelude.NFData GetTemplateStepGroup where+  rnf GetTemplateStepGroup' {..} =+    Prelude.rnf templateId `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders GetTemplateStepGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetTemplateStepGroup where+  toPath GetTemplateStepGroup' {..} =+    Prelude.mconcat+      [ "/templates/",+        Data.toBS templateId,+        "/stepgroups/",+        Data.toBS id+      ]++instance Data.ToQuery GetTemplateStepGroup where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetTemplateStepGroupResponse' smart constructor.+data GetTemplateStepGroupResponse = GetTemplateStepGroupResponse'+  { -- | The time at which the step group was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the step group.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the step group.+    id :: Prelude.Maybe Prelude.Text,+    -- | The time at which the step group was last modified.+    lastModifiedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the step group.+    name :: Prelude.Maybe Prelude.Text,+    -- | The next step group.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The previous step group.+    previous :: Prelude.Maybe [Prelude.Text],+    -- | The status of the step group.+    status :: Prelude.Maybe StepGroupStatus,+    -- | The ID of the template.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | List of AWS services utilized in a migration workflow.+    tools :: Prelude.Maybe [Tool],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTemplateStepGroupResponse' 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:+--+-- 'creationTime', 'getTemplateStepGroupResponse_creationTime' - The time at which the step group was created.+--+-- 'description', 'getTemplateStepGroupResponse_description' - The description of the step group.+--+-- 'id', 'getTemplateStepGroupResponse_id' - The ID of the step group.+--+-- 'lastModifiedTime', 'getTemplateStepGroupResponse_lastModifiedTime' - The time at which the step group was last modified.+--+-- 'name', 'getTemplateStepGroupResponse_name' - The name of the step group.+--+-- 'next', 'getTemplateStepGroupResponse_next' - The next step group.+--+-- 'previous', 'getTemplateStepGroupResponse_previous' - The previous step group.+--+-- 'status', 'getTemplateStepGroupResponse_status' - The status of the step group.+--+-- 'templateId', 'getTemplateStepGroupResponse_templateId' - The ID of the template.+--+-- 'tools', 'getTemplateStepGroupResponse_tools' - List of AWS services utilized in a migration workflow.+--+-- 'httpStatus', 'getTemplateStepGroupResponse_httpStatus' - The response's http status code.+newGetTemplateStepGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetTemplateStepGroupResponse+newGetTemplateStepGroupResponse pHttpStatus_ =+  GetTemplateStepGroupResponse'+    { creationTime =+        Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      lastModifiedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      next = Prelude.Nothing,+      previous = Prelude.Nothing,+      status = Prelude.Nothing,+      templateId = Prelude.Nothing,+      tools = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The time at which the step group was created.+getTemplateStepGroupResponse_creationTime :: Lens.Lens' GetTemplateStepGroupResponse (Prelude.Maybe Prelude.UTCTime)+getTemplateStepGroupResponse_creationTime = Lens.lens (\GetTemplateStepGroupResponse' {creationTime} -> creationTime) (\s@GetTemplateStepGroupResponse' {} a -> s {creationTime = a} :: GetTemplateStepGroupResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the step group.+getTemplateStepGroupResponse_description :: Lens.Lens' GetTemplateStepGroupResponse (Prelude.Maybe Prelude.Text)+getTemplateStepGroupResponse_description = Lens.lens (\GetTemplateStepGroupResponse' {description} -> description) (\s@GetTemplateStepGroupResponse' {} a -> s {description = a} :: GetTemplateStepGroupResponse)++-- | The ID of the step group.+getTemplateStepGroupResponse_id :: Lens.Lens' GetTemplateStepGroupResponse (Prelude.Maybe Prelude.Text)+getTemplateStepGroupResponse_id = Lens.lens (\GetTemplateStepGroupResponse' {id} -> id) (\s@GetTemplateStepGroupResponse' {} a -> s {id = a} :: GetTemplateStepGroupResponse)++-- | The time at which the step group was last modified.+getTemplateStepGroupResponse_lastModifiedTime :: Lens.Lens' GetTemplateStepGroupResponse (Prelude.Maybe Prelude.UTCTime)+getTemplateStepGroupResponse_lastModifiedTime = Lens.lens (\GetTemplateStepGroupResponse' {lastModifiedTime} -> lastModifiedTime) (\s@GetTemplateStepGroupResponse' {} a -> s {lastModifiedTime = a} :: GetTemplateStepGroupResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the step group.+getTemplateStepGroupResponse_name :: Lens.Lens' GetTemplateStepGroupResponse (Prelude.Maybe Prelude.Text)+getTemplateStepGroupResponse_name = Lens.lens (\GetTemplateStepGroupResponse' {name} -> name) (\s@GetTemplateStepGroupResponse' {} a -> s {name = a} :: GetTemplateStepGroupResponse)++-- | The next step group.+getTemplateStepGroupResponse_next :: Lens.Lens' GetTemplateStepGroupResponse (Prelude.Maybe [Prelude.Text])+getTemplateStepGroupResponse_next = Lens.lens (\GetTemplateStepGroupResponse' {next} -> next) (\s@GetTemplateStepGroupResponse' {} a -> s {next = a} :: GetTemplateStepGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The previous step group.+getTemplateStepGroupResponse_previous :: Lens.Lens' GetTemplateStepGroupResponse (Prelude.Maybe [Prelude.Text])+getTemplateStepGroupResponse_previous = Lens.lens (\GetTemplateStepGroupResponse' {previous} -> previous) (\s@GetTemplateStepGroupResponse' {} a -> s {previous = a} :: GetTemplateStepGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The status of the step group.+getTemplateStepGroupResponse_status :: Lens.Lens' GetTemplateStepGroupResponse (Prelude.Maybe StepGroupStatus)+getTemplateStepGroupResponse_status = Lens.lens (\GetTemplateStepGroupResponse' {status} -> status) (\s@GetTemplateStepGroupResponse' {} a -> s {status = a} :: GetTemplateStepGroupResponse)++-- | The ID of the template.+getTemplateStepGroupResponse_templateId :: Lens.Lens' GetTemplateStepGroupResponse (Prelude.Maybe Prelude.Text)+getTemplateStepGroupResponse_templateId = Lens.lens (\GetTemplateStepGroupResponse' {templateId} -> templateId) (\s@GetTemplateStepGroupResponse' {} a -> s {templateId = a} :: GetTemplateStepGroupResponse)++-- | List of AWS services utilized in a migration workflow.+getTemplateStepGroupResponse_tools :: Lens.Lens' GetTemplateStepGroupResponse (Prelude.Maybe [Tool])+getTemplateStepGroupResponse_tools = Lens.lens (\GetTemplateStepGroupResponse' {tools} -> tools) (\s@GetTemplateStepGroupResponse' {} a -> s {tools = a} :: GetTemplateStepGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getTemplateStepGroupResponse_httpStatus :: Lens.Lens' GetTemplateStepGroupResponse Prelude.Int+getTemplateStepGroupResponse_httpStatus = Lens.lens (\GetTemplateStepGroupResponse' {httpStatus} -> httpStatus) (\s@GetTemplateStepGroupResponse' {} a -> s {httpStatus = a} :: GetTemplateStepGroupResponse)++instance Prelude.NFData GetTemplateStepGroupResponse where+  rnf GetTemplateStepGroupResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf previous+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf tools+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/GetWorkflow.hs view
@@ -0,0 +1,387 @@+{-# 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.MigrationHubOrchestrator.GetWorkflow+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get migration workflow.+module Amazonka.MigrationHubOrchestrator.GetWorkflow+  ( -- * Creating a Request+    GetWorkflow (..),+    newGetWorkflow,++    -- * Request Lenses+    getWorkflow_id,++    -- * Destructuring the Response+    GetWorkflowResponse (..),+    newGetWorkflowResponse,++    -- * Response Lenses+    getWorkflowResponse_adsApplicationConfigurationId,+    getWorkflowResponse_adsApplicationName,+    getWorkflowResponse_arn,+    getWorkflowResponse_completedSteps,+    getWorkflowResponse_creationTime,+    getWorkflowResponse_description,+    getWorkflowResponse_endTime,+    getWorkflowResponse_id,+    getWorkflowResponse_lastModifiedTime,+    getWorkflowResponse_lastStartTime,+    getWorkflowResponse_lastStopTime,+    getWorkflowResponse_name,+    getWorkflowResponse_status,+    getWorkflowResponse_statusMessage,+    getWorkflowResponse_tags,+    getWorkflowResponse_templateId,+    getWorkflowResponse_tools,+    getWorkflowResponse_totalSteps,+    getWorkflowResponse_workflowBucket,+    getWorkflowResponse_workflowInputs,+    getWorkflowResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetWorkflow' smart constructor.+data GetWorkflow = GetWorkflow'+  { -- | The ID of the migration workflow.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWorkflow' 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:+--+-- 'id', 'getWorkflow_id' - The ID of the migration workflow.+newGetWorkflow ::+  -- | 'id'+  Prelude.Text ->+  GetWorkflow+newGetWorkflow pId_ = GetWorkflow' {id = pId_}++-- | The ID of the migration workflow.+getWorkflow_id :: Lens.Lens' GetWorkflow Prelude.Text+getWorkflow_id = Lens.lens (\GetWorkflow' {id} -> id) (\s@GetWorkflow' {} a -> s {id = a} :: GetWorkflow)++instance Core.AWSRequest GetWorkflow where+  type AWSResponse GetWorkflow = GetWorkflowResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetWorkflowResponse'+            Prelude.<$> (x Data..?> "adsApplicationConfigurationId")+            Prelude.<*> (x Data..?> "adsApplicationName")+            Prelude.<*> (x Data..?> "arn")+            Prelude.<*> (x Data..?> "completedSteps")+            Prelude.<*> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> (x Data..?> "endTime")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "lastModifiedTime")+            Prelude.<*> (x Data..?> "lastStartTime")+            Prelude.<*> (x Data..?> "lastStopTime")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "statusMessage")+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "templateId")+            Prelude.<*> (x Data..?> "tools" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "totalSteps")+            Prelude.<*> (x Data..?> "workflowBucket")+            Prelude.<*> (x Data..?> "workflowInputs" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetWorkflow where+  hashWithSalt _salt GetWorkflow' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData GetWorkflow where+  rnf GetWorkflow' {..} = Prelude.rnf id++instance Data.ToHeaders GetWorkflow where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetWorkflow where+  toPath GetWorkflow' {..} =+    Prelude.mconcat+      ["/migrationworkflow/", Data.toBS id]++instance Data.ToQuery GetWorkflow where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetWorkflowResponse' smart constructor.+data GetWorkflowResponse = GetWorkflowResponse'+  { -- | The configuration ID of the application configured in Application+    -- Discovery Service.+    adsApplicationConfigurationId :: Prelude.Maybe Prelude.Text,+    -- | The name of the application configured in Application Discovery Service.+    adsApplicationName :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the migration workflow.+    arn :: Prelude.Maybe Prelude.Text,+    -- | Get a list of completed steps in the migration workflow.+    completedSteps :: Prelude.Maybe Prelude.Int,+    -- | The time at which the migration workflow was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the migration workflow.+    description :: Prelude.Maybe Prelude.Text,+    -- | The time at which the migration workflow ended.+    endTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the migration workflow.+    id :: Prelude.Maybe Prelude.Text,+    -- | The time at which the migration workflow was last modified.+    lastModifiedTime :: Prelude.Maybe Data.POSIX,+    -- | The time at which the migration workflow was last started.+    lastStartTime :: Prelude.Maybe Data.POSIX,+    -- | The time at which the migration workflow was last stopped.+    lastStopTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the migration workflow.+    name :: Prelude.Maybe Prelude.Text,+    -- | The status of the migration workflow.+    status :: Prelude.Maybe MigrationWorkflowStatusEnum,+    -- | The status message of the migration workflow.+    statusMessage :: Prelude.Maybe Prelude.Text,+    -- | The tags added to the migration workflow.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The ID of the template.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | List of AWS services utilized in a migration workflow.+    tools :: Prelude.Maybe [Tool],+    -- | The total number of steps in the migration workflow.+    totalSteps :: Prelude.Maybe Prelude.Int,+    -- | The Amazon S3 bucket where the migration logs are stored.+    workflowBucket :: Prelude.Maybe Prelude.Text,+    -- | The inputs required for creating the migration workflow.+    workflowInputs :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text StepInput)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWorkflowResponse' 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:+--+-- 'adsApplicationConfigurationId', 'getWorkflowResponse_adsApplicationConfigurationId' - The configuration ID of the application configured in Application+-- Discovery Service.+--+-- 'adsApplicationName', 'getWorkflowResponse_adsApplicationName' - The name of the application configured in Application Discovery Service.+--+-- 'arn', 'getWorkflowResponse_arn' - The Amazon Resource Name (ARN) of the migration workflow.+--+-- 'completedSteps', 'getWorkflowResponse_completedSteps' - Get a list of completed steps in the migration workflow.+--+-- 'creationTime', 'getWorkflowResponse_creationTime' - The time at which the migration workflow was created.+--+-- 'description', 'getWorkflowResponse_description' - The description of the migration workflow.+--+-- 'endTime', 'getWorkflowResponse_endTime' - The time at which the migration workflow ended.+--+-- 'id', 'getWorkflowResponse_id' - The ID of the migration workflow.+--+-- 'lastModifiedTime', 'getWorkflowResponse_lastModifiedTime' - The time at which the migration workflow was last modified.+--+-- 'lastStartTime', 'getWorkflowResponse_lastStartTime' - The time at which the migration workflow was last started.+--+-- 'lastStopTime', 'getWorkflowResponse_lastStopTime' - The time at which the migration workflow was last stopped.+--+-- 'name', 'getWorkflowResponse_name' - The name of the migration workflow.+--+-- 'status', 'getWorkflowResponse_status' - The status of the migration workflow.+--+-- 'statusMessage', 'getWorkflowResponse_statusMessage' - The status message of the migration workflow.+--+-- 'tags', 'getWorkflowResponse_tags' - The tags added to the migration workflow.+--+-- 'templateId', 'getWorkflowResponse_templateId' - The ID of the template.+--+-- 'tools', 'getWorkflowResponse_tools' - List of AWS services utilized in a migration workflow.+--+-- 'totalSteps', 'getWorkflowResponse_totalSteps' - The total number of steps in the migration workflow.+--+-- 'workflowBucket', 'getWorkflowResponse_workflowBucket' - The Amazon S3 bucket where the migration logs are stored.+--+-- 'workflowInputs', 'getWorkflowResponse_workflowInputs' - The inputs required for creating the migration workflow.+--+-- 'httpStatus', 'getWorkflowResponse_httpStatus' - The response's http status code.+newGetWorkflowResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetWorkflowResponse+newGetWorkflowResponse pHttpStatus_ =+  GetWorkflowResponse'+    { adsApplicationConfigurationId =+        Prelude.Nothing,+      adsApplicationName = Prelude.Nothing,+      arn = Prelude.Nothing,+      completedSteps = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      description = Prelude.Nothing,+      endTime = Prelude.Nothing,+      id = Prelude.Nothing,+      lastModifiedTime = Prelude.Nothing,+      lastStartTime = Prelude.Nothing,+      lastStopTime = Prelude.Nothing,+      name = Prelude.Nothing,+      status = Prelude.Nothing,+      statusMessage = Prelude.Nothing,+      tags = Prelude.Nothing,+      templateId = Prelude.Nothing,+      tools = Prelude.Nothing,+      totalSteps = Prelude.Nothing,+      workflowBucket = Prelude.Nothing,+      workflowInputs = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The configuration ID of the application configured in Application+-- Discovery Service.+getWorkflowResponse_adsApplicationConfigurationId :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)+getWorkflowResponse_adsApplicationConfigurationId = Lens.lens (\GetWorkflowResponse' {adsApplicationConfigurationId} -> adsApplicationConfigurationId) (\s@GetWorkflowResponse' {} a -> s {adsApplicationConfigurationId = a} :: GetWorkflowResponse)++-- | The name of the application configured in Application Discovery Service.+getWorkflowResponse_adsApplicationName :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)+getWorkflowResponse_adsApplicationName = Lens.lens (\GetWorkflowResponse' {adsApplicationName} -> adsApplicationName) (\s@GetWorkflowResponse' {} a -> s {adsApplicationName = a} :: GetWorkflowResponse)++-- | The Amazon Resource Name (ARN) of the migration workflow.+getWorkflowResponse_arn :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)+getWorkflowResponse_arn = Lens.lens (\GetWorkflowResponse' {arn} -> arn) (\s@GetWorkflowResponse' {} a -> s {arn = a} :: GetWorkflowResponse)++-- | Get a list of completed steps in the migration workflow.+getWorkflowResponse_completedSteps :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Int)+getWorkflowResponse_completedSteps = Lens.lens (\GetWorkflowResponse' {completedSteps} -> completedSteps) (\s@GetWorkflowResponse' {} a -> s {completedSteps = a} :: GetWorkflowResponse)++-- | The time at which the migration workflow was created.+getWorkflowResponse_creationTime :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.UTCTime)+getWorkflowResponse_creationTime = Lens.lens (\GetWorkflowResponse' {creationTime} -> creationTime) (\s@GetWorkflowResponse' {} a -> s {creationTime = a} :: GetWorkflowResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the migration workflow.+getWorkflowResponse_description :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)+getWorkflowResponse_description = Lens.lens (\GetWorkflowResponse' {description} -> description) (\s@GetWorkflowResponse' {} a -> s {description = a} :: GetWorkflowResponse)++-- | The time at which the migration workflow ended.+getWorkflowResponse_endTime :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.UTCTime)+getWorkflowResponse_endTime = Lens.lens (\GetWorkflowResponse' {endTime} -> endTime) (\s@GetWorkflowResponse' {} a -> s {endTime = a} :: GetWorkflowResponse) Prelude.. Lens.mapping Data._Time++-- | The ID of the migration workflow.+getWorkflowResponse_id :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)+getWorkflowResponse_id = Lens.lens (\GetWorkflowResponse' {id} -> id) (\s@GetWorkflowResponse' {} a -> s {id = a} :: GetWorkflowResponse)++-- | The time at which the migration workflow was last modified.+getWorkflowResponse_lastModifiedTime :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.UTCTime)+getWorkflowResponse_lastModifiedTime = Lens.lens (\GetWorkflowResponse' {lastModifiedTime} -> lastModifiedTime) (\s@GetWorkflowResponse' {} a -> s {lastModifiedTime = a} :: GetWorkflowResponse) Prelude.. Lens.mapping Data._Time++-- | The time at which the migration workflow was last started.+getWorkflowResponse_lastStartTime :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.UTCTime)+getWorkflowResponse_lastStartTime = Lens.lens (\GetWorkflowResponse' {lastStartTime} -> lastStartTime) (\s@GetWorkflowResponse' {} a -> s {lastStartTime = a} :: GetWorkflowResponse) Prelude.. Lens.mapping Data._Time++-- | The time at which the migration workflow was last stopped.+getWorkflowResponse_lastStopTime :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.UTCTime)+getWorkflowResponse_lastStopTime = Lens.lens (\GetWorkflowResponse' {lastStopTime} -> lastStopTime) (\s@GetWorkflowResponse' {} a -> s {lastStopTime = a} :: GetWorkflowResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the migration workflow.+getWorkflowResponse_name :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)+getWorkflowResponse_name = Lens.lens (\GetWorkflowResponse' {name} -> name) (\s@GetWorkflowResponse' {} a -> s {name = a} :: GetWorkflowResponse)++-- | The status of the migration workflow.+getWorkflowResponse_status :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe MigrationWorkflowStatusEnum)+getWorkflowResponse_status = Lens.lens (\GetWorkflowResponse' {status} -> status) (\s@GetWorkflowResponse' {} a -> s {status = a} :: GetWorkflowResponse)++-- | The status message of the migration workflow.+getWorkflowResponse_statusMessage :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)+getWorkflowResponse_statusMessage = Lens.lens (\GetWorkflowResponse' {statusMessage} -> statusMessage) (\s@GetWorkflowResponse' {} a -> s {statusMessage = a} :: GetWorkflowResponse)++-- | The tags added to the migration workflow.+getWorkflowResponse_tags :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getWorkflowResponse_tags = Lens.lens (\GetWorkflowResponse' {tags} -> tags) (\s@GetWorkflowResponse' {} a -> s {tags = a} :: GetWorkflowResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the template.+getWorkflowResponse_templateId :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)+getWorkflowResponse_templateId = Lens.lens (\GetWorkflowResponse' {templateId} -> templateId) (\s@GetWorkflowResponse' {} a -> s {templateId = a} :: GetWorkflowResponse)++-- | List of AWS services utilized in a migration workflow.+getWorkflowResponse_tools :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe [Tool])+getWorkflowResponse_tools = Lens.lens (\GetWorkflowResponse' {tools} -> tools) (\s@GetWorkflowResponse' {} a -> s {tools = a} :: GetWorkflowResponse) Prelude.. Lens.mapping Lens.coerced++-- | The total number of steps in the migration workflow.+getWorkflowResponse_totalSteps :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Int)+getWorkflowResponse_totalSteps = Lens.lens (\GetWorkflowResponse' {totalSteps} -> totalSteps) (\s@GetWorkflowResponse' {} a -> s {totalSteps = a} :: GetWorkflowResponse)++-- | The Amazon S3 bucket where the migration logs are stored.+getWorkflowResponse_workflowBucket :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe Prelude.Text)+getWorkflowResponse_workflowBucket = Lens.lens (\GetWorkflowResponse' {workflowBucket} -> workflowBucket) (\s@GetWorkflowResponse' {} a -> s {workflowBucket = a} :: GetWorkflowResponse)++-- | The inputs required for creating the migration workflow.+getWorkflowResponse_workflowInputs :: Lens.Lens' GetWorkflowResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text StepInput))+getWorkflowResponse_workflowInputs = Lens.lens (\GetWorkflowResponse' {workflowInputs} -> workflowInputs) (\s@GetWorkflowResponse' {} a -> s {workflowInputs = a} :: GetWorkflowResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+getWorkflowResponse_httpStatus :: Lens.Lens' GetWorkflowResponse Prelude.Int+getWorkflowResponse_httpStatus = Lens.lens (\GetWorkflowResponse' {httpStatus} -> httpStatus) (\s@GetWorkflowResponse' {} a -> s {httpStatus = a} :: GetWorkflowResponse)++instance Prelude.NFData GetWorkflowResponse where+  rnf GetWorkflowResponse' {..} =+    Prelude.rnf adsApplicationConfigurationId+      `Prelude.seq` Prelude.rnf adsApplicationName+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf completedSteps+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf lastStartTime+      `Prelude.seq` Prelude.rnf lastStopTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf tools+      `Prelude.seq` Prelude.rnf totalSteps+      `Prelude.seq` Prelude.rnf workflowBucket+      `Prelude.seq` Prelude.rnf workflowInputs+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/GetWorkflowStep.hs view
@@ -0,0 +1,442 @@+{-# 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.MigrationHubOrchestrator.GetWorkflowStep+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get a step in the migration workflow.+module Amazonka.MigrationHubOrchestrator.GetWorkflowStep+  ( -- * Creating a Request+    GetWorkflowStep (..),+    newGetWorkflowStep,++    -- * Request Lenses+    getWorkflowStep_workflowId,+    getWorkflowStep_stepGroupId,+    getWorkflowStep_id,++    -- * Destructuring the Response+    GetWorkflowStepResponse (..),+    newGetWorkflowStepResponse,++    -- * Response Lenses+    getWorkflowStepResponse_creationTime,+    getWorkflowStepResponse_description,+    getWorkflowStepResponse_endTime,+    getWorkflowStepResponse_lastStartTime,+    getWorkflowStepResponse_name,+    getWorkflowStepResponse_next,+    getWorkflowStepResponse_noOfSrvCompleted,+    getWorkflowStepResponse_noOfSrvFailed,+    getWorkflowStepResponse_outputs,+    getWorkflowStepResponse_owner,+    getWorkflowStepResponse_previous,+    getWorkflowStepResponse_scriptOutputLocation,+    getWorkflowStepResponse_status,+    getWorkflowStepResponse_statusMessage,+    getWorkflowStepResponse_stepActionType,+    getWorkflowStepResponse_stepGroupId,+    getWorkflowStepResponse_stepId,+    getWorkflowStepResponse_stepTarget,+    getWorkflowStepResponse_totalNoOfSrv,+    getWorkflowStepResponse_workflowId,+    getWorkflowStepResponse_workflowStepAutomationConfiguration,+    getWorkflowStepResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetWorkflowStep' smart constructor.+data GetWorkflowStep = GetWorkflowStep'+  { -- | The ID of the migration workflow.+    workflowId :: Prelude.Text,+    -- | desThe ID of the step group.+    stepGroupId :: Prelude.Text,+    -- | The ID of the step.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWorkflowStep' 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:+--+-- 'workflowId', 'getWorkflowStep_workflowId' - The ID of the migration workflow.+--+-- 'stepGroupId', 'getWorkflowStep_stepGroupId' - desThe ID of the step group.+--+-- 'id', 'getWorkflowStep_id' - The ID of the step.+newGetWorkflowStep ::+  -- | 'workflowId'+  Prelude.Text ->+  -- | 'stepGroupId'+  Prelude.Text ->+  -- | 'id'+  Prelude.Text ->+  GetWorkflowStep+newGetWorkflowStep pWorkflowId_ pStepGroupId_ pId_ =+  GetWorkflowStep'+    { workflowId = pWorkflowId_,+      stepGroupId = pStepGroupId_,+      id = pId_+    }++-- | The ID of the migration workflow.+getWorkflowStep_workflowId :: Lens.Lens' GetWorkflowStep Prelude.Text+getWorkflowStep_workflowId = Lens.lens (\GetWorkflowStep' {workflowId} -> workflowId) (\s@GetWorkflowStep' {} a -> s {workflowId = a} :: GetWorkflowStep)++-- | desThe ID of the step group.+getWorkflowStep_stepGroupId :: Lens.Lens' GetWorkflowStep Prelude.Text+getWorkflowStep_stepGroupId = Lens.lens (\GetWorkflowStep' {stepGroupId} -> stepGroupId) (\s@GetWorkflowStep' {} a -> s {stepGroupId = a} :: GetWorkflowStep)++-- | The ID of the step.+getWorkflowStep_id :: Lens.Lens' GetWorkflowStep Prelude.Text+getWorkflowStep_id = Lens.lens (\GetWorkflowStep' {id} -> id) (\s@GetWorkflowStep' {} a -> s {id = a} :: GetWorkflowStep)++instance Core.AWSRequest GetWorkflowStep where+  type+    AWSResponse GetWorkflowStep =+      GetWorkflowStepResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetWorkflowStepResponse'+            Prelude.<$> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> (x Data..?> "endTime")+            Prelude.<*> (x Data..?> "lastStartTime")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "next" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "noOfSrvCompleted")+            Prelude.<*> (x Data..?> "noOfSrvFailed")+            Prelude.<*> (x Data..?> "outputs" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "owner")+            Prelude.<*> (x Data..?> "previous" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "scriptOutputLocation")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "statusMessage")+            Prelude.<*> (x Data..?> "stepActionType")+            Prelude.<*> (x Data..?> "stepGroupId")+            Prelude.<*> (x Data..?> "stepId")+            Prelude.<*> (x Data..?> "stepTarget" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "totalNoOfSrv")+            Prelude.<*> (x Data..?> "workflowId")+            Prelude.<*> (x Data..?> "workflowStepAutomationConfiguration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetWorkflowStep where+  hashWithSalt _salt GetWorkflowStep' {..} =+    _salt+      `Prelude.hashWithSalt` workflowId+      `Prelude.hashWithSalt` stepGroupId+      `Prelude.hashWithSalt` id++instance Prelude.NFData GetWorkflowStep where+  rnf GetWorkflowStep' {..} =+    Prelude.rnf workflowId+      `Prelude.seq` Prelude.rnf stepGroupId+      `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders GetWorkflowStep where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetWorkflowStep where+  toPath GetWorkflowStep' {..} =+    Prelude.mconcat ["/workflowstep/", Data.toBS id]++instance Data.ToQuery GetWorkflowStep where+  toQuery GetWorkflowStep' {..} =+    Prelude.mconcat+      [ "workflowId" Data.=: workflowId,+        "stepGroupId" Data.=: stepGroupId+      ]++-- | /See:/ 'newGetWorkflowStepResponse' smart constructor.+data GetWorkflowStepResponse = GetWorkflowStepResponse'+  { -- | The time at which the step was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the step.+    description :: Prelude.Maybe Prelude.Text,+    -- | The time at which the step ended.+    endTime :: Prelude.Maybe Data.POSIX,+    -- | The time at which the workflow was last started.+    lastStartTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the step.+    name :: Prelude.Maybe Prelude.Text,+    -- | The next step.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The number of servers that have been migrated.+    noOfSrvCompleted :: Prelude.Maybe Prelude.Int,+    -- | The number of servers that have failed to migrate.+    noOfSrvFailed :: Prelude.Maybe Prelude.Int,+    -- | The outputs of the step.+    outputs :: Prelude.Maybe [WorkflowStepOutput],+    -- | The owner of the step.+    owner :: Prelude.Maybe Owner,+    -- | The previous step.+    previous :: Prelude.Maybe [Prelude.Text],+    -- | The output location of the script.+    scriptOutputLocation :: Prelude.Maybe Prelude.Text,+    -- | The status of the step.+    status :: Prelude.Maybe StepStatus,+    -- | The status message of the migration workflow.+    statusMessage :: Prelude.Maybe Prelude.Text,+    -- | The action type of the step. You must run and update the status of a+    -- manual step for the workflow to continue after the completion of the+    -- step.+    stepActionType :: Prelude.Maybe StepActionType,+    -- | The ID of the step group.+    stepGroupId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the step.+    stepId :: Prelude.Maybe Prelude.Text,+    -- | The servers on which a step will be run.+    stepTarget :: Prelude.Maybe [Prelude.Text],+    -- | The total number of servers that have been migrated.+    totalNoOfSrv :: Prelude.Maybe Prelude.Int,+    -- | The ID of the migration workflow.+    workflowId :: Prelude.Maybe Prelude.Text,+    -- | The custom script to run tests on source or target environments.+    workflowStepAutomationConfiguration :: Prelude.Maybe WorkflowStepAutomationConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWorkflowStepResponse' 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:+--+-- 'creationTime', 'getWorkflowStepResponse_creationTime' - The time at which the step was created.+--+-- 'description', 'getWorkflowStepResponse_description' - The description of the step.+--+-- 'endTime', 'getWorkflowStepResponse_endTime' - The time at which the step ended.+--+-- 'lastStartTime', 'getWorkflowStepResponse_lastStartTime' - The time at which the workflow was last started.+--+-- 'name', 'getWorkflowStepResponse_name' - The name of the step.+--+-- 'next', 'getWorkflowStepResponse_next' - The next step.+--+-- 'noOfSrvCompleted', 'getWorkflowStepResponse_noOfSrvCompleted' - The number of servers that have been migrated.+--+-- 'noOfSrvFailed', 'getWorkflowStepResponse_noOfSrvFailed' - The number of servers that have failed to migrate.+--+-- 'outputs', 'getWorkflowStepResponse_outputs' - The outputs of the step.+--+-- 'owner', 'getWorkflowStepResponse_owner' - The owner of the step.+--+-- 'previous', 'getWorkflowStepResponse_previous' - The previous step.+--+-- 'scriptOutputLocation', 'getWorkflowStepResponse_scriptOutputLocation' - The output location of the script.+--+-- 'status', 'getWorkflowStepResponse_status' - The status of the step.+--+-- 'statusMessage', 'getWorkflowStepResponse_statusMessage' - The status message of the migration workflow.+--+-- 'stepActionType', 'getWorkflowStepResponse_stepActionType' - The action type of the step. You must run and update the status of a+-- manual step for the workflow to continue after the completion of the+-- step.+--+-- 'stepGroupId', 'getWorkflowStepResponse_stepGroupId' - The ID of the step group.+--+-- 'stepId', 'getWorkflowStepResponse_stepId' - The ID of the step.+--+-- 'stepTarget', 'getWorkflowStepResponse_stepTarget' - The servers on which a step will be run.+--+-- 'totalNoOfSrv', 'getWorkflowStepResponse_totalNoOfSrv' - The total number of servers that have been migrated.+--+-- 'workflowId', 'getWorkflowStepResponse_workflowId' - The ID of the migration workflow.+--+-- 'workflowStepAutomationConfiguration', 'getWorkflowStepResponse_workflowStepAutomationConfiguration' - The custom script to run tests on source or target environments.+--+-- 'httpStatus', 'getWorkflowStepResponse_httpStatus' - The response's http status code.+newGetWorkflowStepResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetWorkflowStepResponse+newGetWorkflowStepResponse pHttpStatus_ =+  GetWorkflowStepResponse'+    { creationTime =+        Prelude.Nothing,+      description = Prelude.Nothing,+      endTime = Prelude.Nothing,+      lastStartTime = Prelude.Nothing,+      name = Prelude.Nothing,+      next = Prelude.Nothing,+      noOfSrvCompleted = Prelude.Nothing,+      noOfSrvFailed = Prelude.Nothing,+      outputs = Prelude.Nothing,+      owner = Prelude.Nothing,+      previous = Prelude.Nothing,+      scriptOutputLocation = Prelude.Nothing,+      status = Prelude.Nothing,+      statusMessage = Prelude.Nothing,+      stepActionType = Prelude.Nothing,+      stepGroupId = Prelude.Nothing,+      stepId = Prelude.Nothing,+      stepTarget = Prelude.Nothing,+      totalNoOfSrv = Prelude.Nothing,+      workflowId = Prelude.Nothing,+      workflowStepAutomationConfiguration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The time at which the step was created.+getWorkflowStepResponse_creationTime :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Prelude.UTCTime)+getWorkflowStepResponse_creationTime = Lens.lens (\GetWorkflowStepResponse' {creationTime} -> creationTime) (\s@GetWorkflowStepResponse' {} a -> s {creationTime = a} :: GetWorkflowStepResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the step.+getWorkflowStepResponse_description :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Prelude.Text)+getWorkflowStepResponse_description = Lens.lens (\GetWorkflowStepResponse' {description} -> description) (\s@GetWorkflowStepResponse' {} a -> s {description = a} :: GetWorkflowStepResponse)++-- | The time at which the step ended.+getWorkflowStepResponse_endTime :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Prelude.UTCTime)+getWorkflowStepResponse_endTime = Lens.lens (\GetWorkflowStepResponse' {endTime} -> endTime) (\s@GetWorkflowStepResponse' {} a -> s {endTime = a} :: GetWorkflowStepResponse) Prelude.. Lens.mapping Data._Time++-- | The time at which the workflow was last started.+getWorkflowStepResponse_lastStartTime :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Prelude.UTCTime)+getWorkflowStepResponse_lastStartTime = Lens.lens (\GetWorkflowStepResponse' {lastStartTime} -> lastStartTime) (\s@GetWorkflowStepResponse' {} a -> s {lastStartTime = a} :: GetWorkflowStepResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the step.+getWorkflowStepResponse_name :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Prelude.Text)+getWorkflowStepResponse_name = Lens.lens (\GetWorkflowStepResponse' {name} -> name) (\s@GetWorkflowStepResponse' {} a -> s {name = a} :: GetWorkflowStepResponse)++-- | The next step.+getWorkflowStepResponse_next :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe [Prelude.Text])+getWorkflowStepResponse_next = Lens.lens (\GetWorkflowStepResponse' {next} -> next) (\s@GetWorkflowStepResponse' {} a -> s {next = a} :: GetWorkflowStepResponse) Prelude.. Lens.mapping Lens.coerced++-- | The number of servers that have been migrated.+getWorkflowStepResponse_noOfSrvCompleted :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Prelude.Int)+getWorkflowStepResponse_noOfSrvCompleted = Lens.lens (\GetWorkflowStepResponse' {noOfSrvCompleted} -> noOfSrvCompleted) (\s@GetWorkflowStepResponse' {} a -> s {noOfSrvCompleted = a} :: GetWorkflowStepResponse)++-- | The number of servers that have failed to migrate.+getWorkflowStepResponse_noOfSrvFailed :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Prelude.Int)+getWorkflowStepResponse_noOfSrvFailed = Lens.lens (\GetWorkflowStepResponse' {noOfSrvFailed} -> noOfSrvFailed) (\s@GetWorkflowStepResponse' {} a -> s {noOfSrvFailed = a} :: GetWorkflowStepResponse)++-- | The outputs of the step.+getWorkflowStepResponse_outputs :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe [WorkflowStepOutput])+getWorkflowStepResponse_outputs = Lens.lens (\GetWorkflowStepResponse' {outputs} -> outputs) (\s@GetWorkflowStepResponse' {} a -> s {outputs = a} :: GetWorkflowStepResponse) Prelude.. Lens.mapping Lens.coerced++-- | The owner of the step.+getWorkflowStepResponse_owner :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Owner)+getWorkflowStepResponse_owner = Lens.lens (\GetWorkflowStepResponse' {owner} -> owner) (\s@GetWorkflowStepResponse' {} a -> s {owner = a} :: GetWorkflowStepResponse)++-- | The previous step.+getWorkflowStepResponse_previous :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe [Prelude.Text])+getWorkflowStepResponse_previous = Lens.lens (\GetWorkflowStepResponse' {previous} -> previous) (\s@GetWorkflowStepResponse' {} a -> s {previous = a} :: GetWorkflowStepResponse) Prelude.. Lens.mapping Lens.coerced++-- | The output location of the script.+getWorkflowStepResponse_scriptOutputLocation :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Prelude.Text)+getWorkflowStepResponse_scriptOutputLocation = Lens.lens (\GetWorkflowStepResponse' {scriptOutputLocation} -> scriptOutputLocation) (\s@GetWorkflowStepResponse' {} a -> s {scriptOutputLocation = a} :: GetWorkflowStepResponse)++-- | The status of the step.+getWorkflowStepResponse_status :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe StepStatus)+getWorkflowStepResponse_status = Lens.lens (\GetWorkflowStepResponse' {status} -> status) (\s@GetWorkflowStepResponse' {} a -> s {status = a} :: GetWorkflowStepResponse)++-- | The status message of the migration workflow.+getWorkflowStepResponse_statusMessage :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Prelude.Text)+getWorkflowStepResponse_statusMessage = Lens.lens (\GetWorkflowStepResponse' {statusMessage} -> statusMessage) (\s@GetWorkflowStepResponse' {} a -> s {statusMessage = a} :: GetWorkflowStepResponse)++-- | The action type of the step. You must run and update the status of a+-- manual step for the workflow to continue after the completion of the+-- step.+getWorkflowStepResponse_stepActionType :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe StepActionType)+getWorkflowStepResponse_stepActionType = Lens.lens (\GetWorkflowStepResponse' {stepActionType} -> stepActionType) (\s@GetWorkflowStepResponse' {} a -> s {stepActionType = a} :: GetWorkflowStepResponse)++-- | The ID of the step group.+getWorkflowStepResponse_stepGroupId :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Prelude.Text)+getWorkflowStepResponse_stepGroupId = Lens.lens (\GetWorkflowStepResponse' {stepGroupId} -> stepGroupId) (\s@GetWorkflowStepResponse' {} a -> s {stepGroupId = a} :: GetWorkflowStepResponse)++-- | The ID of the step.+getWorkflowStepResponse_stepId :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Prelude.Text)+getWorkflowStepResponse_stepId = Lens.lens (\GetWorkflowStepResponse' {stepId} -> stepId) (\s@GetWorkflowStepResponse' {} a -> s {stepId = a} :: GetWorkflowStepResponse)++-- | The servers on which a step will be run.+getWorkflowStepResponse_stepTarget :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe [Prelude.Text])+getWorkflowStepResponse_stepTarget = Lens.lens (\GetWorkflowStepResponse' {stepTarget} -> stepTarget) (\s@GetWorkflowStepResponse' {} a -> s {stepTarget = a} :: GetWorkflowStepResponse) Prelude.. Lens.mapping Lens.coerced++-- | The total number of servers that have been migrated.+getWorkflowStepResponse_totalNoOfSrv :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Prelude.Int)+getWorkflowStepResponse_totalNoOfSrv = Lens.lens (\GetWorkflowStepResponse' {totalNoOfSrv} -> totalNoOfSrv) (\s@GetWorkflowStepResponse' {} a -> s {totalNoOfSrv = a} :: GetWorkflowStepResponse)++-- | The ID of the migration workflow.+getWorkflowStepResponse_workflowId :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe Prelude.Text)+getWorkflowStepResponse_workflowId = Lens.lens (\GetWorkflowStepResponse' {workflowId} -> workflowId) (\s@GetWorkflowStepResponse' {} a -> s {workflowId = a} :: GetWorkflowStepResponse)++-- | The custom script to run tests on source or target environments.+getWorkflowStepResponse_workflowStepAutomationConfiguration :: Lens.Lens' GetWorkflowStepResponse (Prelude.Maybe WorkflowStepAutomationConfiguration)+getWorkflowStepResponse_workflowStepAutomationConfiguration = Lens.lens (\GetWorkflowStepResponse' {workflowStepAutomationConfiguration} -> workflowStepAutomationConfiguration) (\s@GetWorkflowStepResponse' {} a -> s {workflowStepAutomationConfiguration = a} :: GetWorkflowStepResponse)++-- | The response's http status code.+getWorkflowStepResponse_httpStatus :: Lens.Lens' GetWorkflowStepResponse Prelude.Int+getWorkflowStepResponse_httpStatus = Lens.lens (\GetWorkflowStepResponse' {httpStatus} -> httpStatus) (\s@GetWorkflowStepResponse' {} a -> s {httpStatus = a} :: GetWorkflowStepResponse)++instance Prelude.NFData GetWorkflowStepResponse where+  rnf GetWorkflowStepResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf lastStartTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf noOfSrvCompleted+      `Prelude.seq` Prelude.rnf noOfSrvFailed+      `Prelude.seq` Prelude.rnf outputs+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf previous+      `Prelude.seq` Prelude.rnf scriptOutputLocation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage+      `Prelude.seq` Prelude.rnf stepActionType+      `Prelude.seq` Prelude.rnf stepGroupId+      `Prelude.seq` Prelude.rnf stepId+      `Prelude.seq` Prelude.rnf stepTarget+      `Prelude.seq` Prelude.rnf totalNoOfSrv+      `Prelude.seq` Prelude.rnf workflowId+      `Prelude.seq` Prelude.rnf+        workflowStepAutomationConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/GetWorkflowStepGroup.hs view
@@ -0,0 +1,309 @@+{-# 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.MigrationHubOrchestrator.GetWorkflowStepGroup+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Get the step group of a migration workflow.+module Amazonka.MigrationHubOrchestrator.GetWorkflowStepGroup+  ( -- * Creating a Request+    GetWorkflowStepGroup (..),+    newGetWorkflowStepGroup,++    -- * Request Lenses+    getWorkflowStepGroup_id,+    getWorkflowStepGroup_workflowId,++    -- * Destructuring the Response+    GetWorkflowStepGroupResponse (..),+    newGetWorkflowStepGroupResponse,++    -- * Response Lenses+    getWorkflowStepGroupResponse_creationTime,+    getWorkflowStepGroupResponse_description,+    getWorkflowStepGroupResponse_endTime,+    getWorkflowStepGroupResponse_id,+    getWorkflowStepGroupResponse_lastModifiedTime,+    getWorkflowStepGroupResponse_name,+    getWorkflowStepGroupResponse_next,+    getWorkflowStepGroupResponse_owner,+    getWorkflowStepGroupResponse_previous,+    getWorkflowStepGroupResponse_status,+    getWorkflowStepGroupResponse_tools,+    getWorkflowStepGroupResponse_workflowId,+    getWorkflowStepGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetWorkflowStepGroup' smart constructor.+data GetWorkflowStepGroup = GetWorkflowStepGroup'+  { -- | The ID of the step group.+    id :: Prelude.Text,+    -- | The ID of the migration workflow.+    workflowId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWorkflowStepGroup' 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:+--+-- 'id', 'getWorkflowStepGroup_id' - The ID of the step group.+--+-- 'workflowId', 'getWorkflowStepGroup_workflowId' - The ID of the migration workflow.+newGetWorkflowStepGroup ::+  -- | 'id'+  Prelude.Text ->+  -- | 'workflowId'+  Prelude.Text ->+  GetWorkflowStepGroup+newGetWorkflowStepGroup pId_ pWorkflowId_ =+  GetWorkflowStepGroup'+    { id = pId_,+      workflowId = pWorkflowId_+    }++-- | The ID of the step group.+getWorkflowStepGroup_id :: Lens.Lens' GetWorkflowStepGroup Prelude.Text+getWorkflowStepGroup_id = Lens.lens (\GetWorkflowStepGroup' {id} -> id) (\s@GetWorkflowStepGroup' {} a -> s {id = a} :: GetWorkflowStepGroup)++-- | The ID of the migration workflow.+getWorkflowStepGroup_workflowId :: Lens.Lens' GetWorkflowStepGroup Prelude.Text+getWorkflowStepGroup_workflowId = Lens.lens (\GetWorkflowStepGroup' {workflowId} -> workflowId) (\s@GetWorkflowStepGroup' {} a -> s {workflowId = a} :: GetWorkflowStepGroup)++instance Core.AWSRequest GetWorkflowStepGroup where+  type+    AWSResponse GetWorkflowStepGroup =+      GetWorkflowStepGroupResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetWorkflowStepGroupResponse'+            Prelude.<$> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> (x Data..?> "endTime")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "lastModifiedTime")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "next" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "owner")+            Prelude.<*> (x Data..?> "previous" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "tools" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "workflowId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetWorkflowStepGroup where+  hashWithSalt _salt GetWorkflowStepGroup' {..} =+    _salt+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` workflowId++instance Prelude.NFData GetWorkflowStepGroup where+  rnf GetWorkflowStepGroup' {..} =+    Prelude.rnf id `Prelude.seq` Prelude.rnf workflowId++instance Data.ToHeaders GetWorkflowStepGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetWorkflowStepGroup where+  toPath GetWorkflowStepGroup' {..} =+    Prelude.mconcat+      ["/workflowstepgroup/", Data.toBS id]++instance Data.ToQuery GetWorkflowStepGroup where+  toQuery GetWorkflowStepGroup' {..} =+    Prelude.mconcat ["workflowId" Data.=: workflowId]++-- | /See:/ 'newGetWorkflowStepGroupResponse' smart constructor.+data GetWorkflowStepGroupResponse = GetWorkflowStepGroupResponse'+  { -- | The time at which the step group was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the step group.+    description :: Prelude.Maybe Prelude.Text,+    -- | The time at which the step group ended.+    endTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the step group.+    id :: Prelude.Maybe Prelude.Text,+    -- | The time at which the step group was last modified.+    lastModifiedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the step group.+    name :: Prelude.Maybe Prelude.Text,+    -- | The next step group.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The owner of the step group.+    owner :: Prelude.Maybe Owner,+    -- | The previous step group.+    previous :: Prelude.Maybe [Prelude.Text],+    -- | The status of the step group.+    status :: Prelude.Maybe StepGroupStatus,+    -- | List of AWS services utilized in a migration workflow.+    tools :: Prelude.Maybe [Tool],+    -- | The ID of the migration workflow.+    workflowId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetWorkflowStepGroupResponse' 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:+--+-- 'creationTime', 'getWorkflowStepGroupResponse_creationTime' - The time at which the step group was created.+--+-- 'description', 'getWorkflowStepGroupResponse_description' - The description of the step group.+--+-- 'endTime', 'getWorkflowStepGroupResponse_endTime' - The time at which the step group ended.+--+-- 'id', 'getWorkflowStepGroupResponse_id' - The ID of the step group.+--+-- 'lastModifiedTime', 'getWorkflowStepGroupResponse_lastModifiedTime' - The time at which the step group was last modified.+--+-- 'name', 'getWorkflowStepGroupResponse_name' - The name of the step group.+--+-- 'next', 'getWorkflowStepGroupResponse_next' - The next step group.+--+-- 'owner', 'getWorkflowStepGroupResponse_owner' - The owner of the step group.+--+-- 'previous', 'getWorkflowStepGroupResponse_previous' - The previous step group.+--+-- 'status', 'getWorkflowStepGroupResponse_status' - The status of the step group.+--+-- 'tools', 'getWorkflowStepGroupResponse_tools' - List of AWS services utilized in a migration workflow.+--+-- 'workflowId', 'getWorkflowStepGroupResponse_workflowId' - The ID of the migration workflow.+--+-- 'httpStatus', 'getWorkflowStepGroupResponse_httpStatus' - The response's http status code.+newGetWorkflowStepGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetWorkflowStepGroupResponse+newGetWorkflowStepGroupResponse pHttpStatus_ =+  GetWorkflowStepGroupResponse'+    { creationTime =+        Prelude.Nothing,+      description = Prelude.Nothing,+      endTime = Prelude.Nothing,+      id = Prelude.Nothing,+      lastModifiedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      next = Prelude.Nothing,+      owner = Prelude.Nothing,+      previous = Prelude.Nothing,+      status = Prelude.Nothing,+      tools = Prelude.Nothing,+      workflowId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The time at which the step group was created.+getWorkflowStepGroupResponse_creationTime :: Lens.Lens' GetWorkflowStepGroupResponse (Prelude.Maybe Prelude.UTCTime)+getWorkflowStepGroupResponse_creationTime = Lens.lens (\GetWorkflowStepGroupResponse' {creationTime} -> creationTime) (\s@GetWorkflowStepGroupResponse' {} a -> s {creationTime = a} :: GetWorkflowStepGroupResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the step group.+getWorkflowStepGroupResponse_description :: Lens.Lens' GetWorkflowStepGroupResponse (Prelude.Maybe Prelude.Text)+getWorkflowStepGroupResponse_description = Lens.lens (\GetWorkflowStepGroupResponse' {description} -> description) (\s@GetWorkflowStepGroupResponse' {} a -> s {description = a} :: GetWorkflowStepGroupResponse)++-- | The time at which the step group ended.+getWorkflowStepGroupResponse_endTime :: Lens.Lens' GetWorkflowStepGroupResponse (Prelude.Maybe Prelude.UTCTime)+getWorkflowStepGroupResponse_endTime = Lens.lens (\GetWorkflowStepGroupResponse' {endTime} -> endTime) (\s@GetWorkflowStepGroupResponse' {} a -> s {endTime = a} :: GetWorkflowStepGroupResponse) Prelude.. Lens.mapping Data._Time++-- | The ID of the step group.+getWorkflowStepGroupResponse_id :: Lens.Lens' GetWorkflowStepGroupResponse (Prelude.Maybe Prelude.Text)+getWorkflowStepGroupResponse_id = Lens.lens (\GetWorkflowStepGroupResponse' {id} -> id) (\s@GetWorkflowStepGroupResponse' {} a -> s {id = a} :: GetWorkflowStepGroupResponse)++-- | The time at which the step group was last modified.+getWorkflowStepGroupResponse_lastModifiedTime :: Lens.Lens' GetWorkflowStepGroupResponse (Prelude.Maybe Prelude.UTCTime)+getWorkflowStepGroupResponse_lastModifiedTime = Lens.lens (\GetWorkflowStepGroupResponse' {lastModifiedTime} -> lastModifiedTime) (\s@GetWorkflowStepGroupResponse' {} a -> s {lastModifiedTime = a} :: GetWorkflowStepGroupResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the step group.+getWorkflowStepGroupResponse_name :: Lens.Lens' GetWorkflowStepGroupResponse (Prelude.Maybe Prelude.Text)+getWorkflowStepGroupResponse_name = Lens.lens (\GetWorkflowStepGroupResponse' {name} -> name) (\s@GetWorkflowStepGroupResponse' {} a -> s {name = a} :: GetWorkflowStepGroupResponse)++-- | The next step group.+getWorkflowStepGroupResponse_next :: Lens.Lens' GetWorkflowStepGroupResponse (Prelude.Maybe [Prelude.Text])+getWorkflowStepGroupResponse_next = Lens.lens (\GetWorkflowStepGroupResponse' {next} -> next) (\s@GetWorkflowStepGroupResponse' {} a -> s {next = a} :: GetWorkflowStepGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The owner of the step group.+getWorkflowStepGroupResponse_owner :: Lens.Lens' GetWorkflowStepGroupResponse (Prelude.Maybe Owner)+getWorkflowStepGroupResponse_owner = Lens.lens (\GetWorkflowStepGroupResponse' {owner} -> owner) (\s@GetWorkflowStepGroupResponse' {} a -> s {owner = a} :: GetWorkflowStepGroupResponse)++-- | The previous step group.+getWorkflowStepGroupResponse_previous :: Lens.Lens' GetWorkflowStepGroupResponse (Prelude.Maybe [Prelude.Text])+getWorkflowStepGroupResponse_previous = Lens.lens (\GetWorkflowStepGroupResponse' {previous} -> previous) (\s@GetWorkflowStepGroupResponse' {} a -> s {previous = a} :: GetWorkflowStepGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The status of the step group.+getWorkflowStepGroupResponse_status :: Lens.Lens' GetWorkflowStepGroupResponse (Prelude.Maybe StepGroupStatus)+getWorkflowStepGroupResponse_status = Lens.lens (\GetWorkflowStepGroupResponse' {status} -> status) (\s@GetWorkflowStepGroupResponse' {} a -> s {status = a} :: GetWorkflowStepGroupResponse)++-- | List of AWS services utilized in a migration workflow.+getWorkflowStepGroupResponse_tools :: Lens.Lens' GetWorkflowStepGroupResponse (Prelude.Maybe [Tool])+getWorkflowStepGroupResponse_tools = Lens.lens (\GetWorkflowStepGroupResponse' {tools} -> tools) (\s@GetWorkflowStepGroupResponse' {} a -> s {tools = a} :: GetWorkflowStepGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the migration workflow.+getWorkflowStepGroupResponse_workflowId :: Lens.Lens' GetWorkflowStepGroupResponse (Prelude.Maybe Prelude.Text)+getWorkflowStepGroupResponse_workflowId = Lens.lens (\GetWorkflowStepGroupResponse' {workflowId} -> workflowId) (\s@GetWorkflowStepGroupResponse' {} a -> s {workflowId = a} :: GetWorkflowStepGroupResponse)++-- | The response's http status code.+getWorkflowStepGroupResponse_httpStatus :: Lens.Lens' GetWorkflowStepGroupResponse Prelude.Int+getWorkflowStepGroupResponse_httpStatus = Lens.lens (\GetWorkflowStepGroupResponse' {httpStatus} -> httpStatus) (\s@GetWorkflowStepGroupResponse' {} a -> s {httpStatus = a} :: GetWorkflowStepGroupResponse)++instance Prelude.NFData GetWorkflowStepGroupResponse where+  rnf GetWorkflowStepGroupResponse' {..} =+    Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf previous+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf tools+      `Prelude.seq` Prelude.rnf workflowId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/Lens.hs view
@@ -0,0 +1,526 @@+{-# 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.MigrationHubOrchestrator.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.MigrationHubOrchestrator.Lens+  ( -- * Operations++    -- ** CreateWorkflow+    createWorkflow_description,+    createWorkflow_stepTargets,+    createWorkflow_tags,+    createWorkflow_name,+    createWorkflow_templateId,+    createWorkflow_applicationConfigurationId,+    createWorkflow_inputParameters,+    createWorkflowResponse_adsApplicationConfigurationId,+    createWorkflowResponse_arn,+    createWorkflowResponse_creationTime,+    createWorkflowResponse_description,+    createWorkflowResponse_id,+    createWorkflowResponse_name,+    createWorkflowResponse_status,+    createWorkflowResponse_stepTargets,+    createWorkflowResponse_tags,+    createWorkflowResponse_templateId,+    createWorkflowResponse_workflowInputs,+    createWorkflowResponse_httpStatus,++    -- ** CreateWorkflowStep+    createWorkflowStep_description,+    createWorkflowStep_next,+    createWorkflowStep_outputs,+    createWorkflowStep_previous,+    createWorkflowStep_stepTarget,+    createWorkflowStep_workflowStepAutomationConfiguration,+    createWorkflowStep_name,+    createWorkflowStep_stepGroupId,+    createWorkflowStep_workflowId,+    createWorkflowStep_stepActionType,+    createWorkflowStepResponse_id,+    createWorkflowStepResponse_name,+    createWorkflowStepResponse_stepGroupId,+    createWorkflowStepResponse_workflowId,+    createWorkflowStepResponse_httpStatus,++    -- ** CreateWorkflowStepGroup+    createWorkflowStepGroup_description,+    createWorkflowStepGroup_next,+    createWorkflowStepGroup_previous,+    createWorkflowStepGroup_workflowId,+    createWorkflowStepGroup_name,+    createWorkflowStepGroupResponse_creationTime,+    createWorkflowStepGroupResponse_description,+    createWorkflowStepGroupResponse_id,+    createWorkflowStepGroupResponse_name,+    createWorkflowStepGroupResponse_next,+    createWorkflowStepGroupResponse_previous,+    createWorkflowStepGroupResponse_tools,+    createWorkflowStepGroupResponse_workflowId,+    createWorkflowStepGroupResponse_httpStatus,++    -- ** DeleteWorkflow+    deleteWorkflow_id,+    deleteWorkflowResponse_arn,+    deleteWorkflowResponse_id,+    deleteWorkflowResponse_status,+    deleteWorkflowResponse_httpStatus,++    -- ** DeleteWorkflowStep+    deleteWorkflowStep_id,+    deleteWorkflowStep_stepGroupId,+    deleteWorkflowStep_workflowId,+    deleteWorkflowStepResponse_httpStatus,++    -- ** DeleteWorkflowStepGroup+    deleteWorkflowStepGroup_workflowId,+    deleteWorkflowStepGroup_id,+    deleteWorkflowStepGroupResponse_httpStatus,++    -- ** GetTemplate+    getTemplate_id,+    getTemplateResponse_creationTime,+    getTemplateResponse_description,+    getTemplateResponse_id,+    getTemplateResponse_inputs,+    getTemplateResponse_name,+    getTemplateResponse_status,+    getTemplateResponse_tools,+    getTemplateResponse_httpStatus,++    -- ** GetTemplateStep+    getTemplateStep_id,+    getTemplateStep_templateId,+    getTemplateStep_stepGroupId,+    getTemplateStepResponse_creationTime,+    getTemplateStepResponse_description,+    getTemplateStepResponse_id,+    getTemplateStepResponse_name,+    getTemplateStepResponse_next,+    getTemplateStepResponse_outputs,+    getTemplateStepResponse_previous,+    getTemplateStepResponse_stepActionType,+    getTemplateStepResponse_stepAutomationConfiguration,+    getTemplateStepResponse_stepGroupId,+    getTemplateStepResponse_templateId,+    getTemplateStepResponse_httpStatus,++    -- ** GetTemplateStepGroup+    getTemplateStepGroup_templateId,+    getTemplateStepGroup_id,+    getTemplateStepGroupResponse_creationTime,+    getTemplateStepGroupResponse_description,+    getTemplateStepGroupResponse_id,+    getTemplateStepGroupResponse_lastModifiedTime,+    getTemplateStepGroupResponse_name,+    getTemplateStepGroupResponse_next,+    getTemplateStepGroupResponse_previous,+    getTemplateStepGroupResponse_status,+    getTemplateStepGroupResponse_templateId,+    getTemplateStepGroupResponse_tools,+    getTemplateStepGroupResponse_httpStatus,++    -- ** GetWorkflow+    getWorkflow_id,+    getWorkflowResponse_adsApplicationConfigurationId,+    getWorkflowResponse_adsApplicationName,+    getWorkflowResponse_arn,+    getWorkflowResponse_completedSteps,+    getWorkflowResponse_creationTime,+    getWorkflowResponse_description,+    getWorkflowResponse_endTime,+    getWorkflowResponse_id,+    getWorkflowResponse_lastModifiedTime,+    getWorkflowResponse_lastStartTime,+    getWorkflowResponse_lastStopTime,+    getWorkflowResponse_name,+    getWorkflowResponse_status,+    getWorkflowResponse_statusMessage,+    getWorkflowResponse_tags,+    getWorkflowResponse_templateId,+    getWorkflowResponse_tools,+    getWorkflowResponse_totalSteps,+    getWorkflowResponse_workflowBucket,+    getWorkflowResponse_workflowInputs,+    getWorkflowResponse_httpStatus,++    -- ** GetWorkflowStep+    getWorkflowStep_workflowId,+    getWorkflowStep_stepGroupId,+    getWorkflowStep_id,+    getWorkflowStepResponse_creationTime,+    getWorkflowStepResponse_description,+    getWorkflowStepResponse_endTime,+    getWorkflowStepResponse_lastStartTime,+    getWorkflowStepResponse_name,+    getWorkflowStepResponse_next,+    getWorkflowStepResponse_noOfSrvCompleted,+    getWorkflowStepResponse_noOfSrvFailed,+    getWorkflowStepResponse_outputs,+    getWorkflowStepResponse_owner,+    getWorkflowStepResponse_previous,+    getWorkflowStepResponse_scriptOutputLocation,+    getWorkflowStepResponse_status,+    getWorkflowStepResponse_statusMessage,+    getWorkflowStepResponse_stepActionType,+    getWorkflowStepResponse_stepGroupId,+    getWorkflowStepResponse_stepId,+    getWorkflowStepResponse_stepTarget,+    getWorkflowStepResponse_totalNoOfSrv,+    getWorkflowStepResponse_workflowId,+    getWorkflowStepResponse_workflowStepAutomationConfiguration,+    getWorkflowStepResponse_httpStatus,++    -- ** GetWorkflowStepGroup+    getWorkflowStepGroup_id,+    getWorkflowStepGroup_workflowId,+    getWorkflowStepGroupResponse_creationTime,+    getWorkflowStepGroupResponse_description,+    getWorkflowStepGroupResponse_endTime,+    getWorkflowStepGroupResponse_id,+    getWorkflowStepGroupResponse_lastModifiedTime,+    getWorkflowStepGroupResponse_name,+    getWorkflowStepGroupResponse_next,+    getWorkflowStepGroupResponse_owner,+    getWorkflowStepGroupResponse_previous,+    getWorkflowStepGroupResponse_status,+    getWorkflowStepGroupResponse_tools,+    getWorkflowStepGroupResponse_workflowId,+    getWorkflowStepGroupResponse_httpStatus,++    -- ** ListPlugins+    listPlugins_maxResults,+    listPlugins_nextToken,+    listPluginsResponse_nextToken,+    listPluginsResponse_plugins,+    listPluginsResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** ListTemplateStepGroups+    listTemplateStepGroups_maxResults,+    listTemplateStepGroups_nextToken,+    listTemplateStepGroups_templateId,+    listTemplateStepGroupsResponse_nextToken,+    listTemplateStepGroupsResponse_httpStatus,+    listTemplateStepGroupsResponse_templateStepGroupSummary,++    -- ** ListTemplateSteps+    listTemplateSteps_maxResults,+    listTemplateSteps_nextToken,+    listTemplateSteps_templateId,+    listTemplateSteps_stepGroupId,+    listTemplateStepsResponse_nextToken,+    listTemplateStepsResponse_templateStepSummaryList,+    listTemplateStepsResponse_httpStatus,++    -- ** ListTemplates+    listTemplates_maxResults,+    listTemplates_name,+    listTemplates_nextToken,+    listTemplatesResponse_nextToken,+    listTemplatesResponse_httpStatus,+    listTemplatesResponse_templateSummary,++    -- ** ListWorkflowStepGroups+    listWorkflowStepGroups_maxResults,+    listWorkflowStepGroups_nextToken,+    listWorkflowStepGroups_workflowId,+    listWorkflowStepGroupsResponse_nextToken,+    listWorkflowStepGroupsResponse_httpStatus,+    listWorkflowStepGroupsResponse_workflowStepGroupsSummary,++    -- ** ListWorkflowSteps+    listWorkflowSteps_maxResults,+    listWorkflowSteps_nextToken,+    listWorkflowSteps_workflowId,+    listWorkflowSteps_stepGroupId,+    listWorkflowStepsResponse_nextToken,+    listWorkflowStepsResponse_httpStatus,+    listWorkflowStepsResponse_workflowStepsSummary,++    -- ** ListWorkflows+    listWorkflows_adsApplicationConfigurationName,+    listWorkflows_maxResults,+    listWorkflows_name,+    listWorkflows_nextToken,+    listWorkflows_status,+    listWorkflows_templateId,+    listWorkflowsResponse_nextToken,+    listWorkflowsResponse_httpStatus,+    listWorkflowsResponse_migrationWorkflowSummary,++    -- ** RetryWorkflowStep+    retryWorkflowStep_workflowId,+    retryWorkflowStep_stepGroupId,+    retryWorkflowStep_id,+    retryWorkflowStepResponse_id,+    retryWorkflowStepResponse_status,+    retryWorkflowStepResponse_stepGroupId,+    retryWorkflowStepResponse_workflowId,+    retryWorkflowStepResponse_httpStatus,++    -- ** StartWorkflow+    startWorkflow_id,+    startWorkflowResponse_arn,+    startWorkflowResponse_id,+    startWorkflowResponse_lastStartTime,+    startWorkflowResponse_status,+    startWorkflowResponse_statusMessage,+    startWorkflowResponse_httpStatus,++    -- ** StopWorkflow+    stopWorkflow_id,+    stopWorkflowResponse_arn,+    stopWorkflowResponse_id,+    stopWorkflowResponse_lastStopTime,+    stopWorkflowResponse_status,+    stopWorkflowResponse_statusMessage,+    stopWorkflowResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateWorkflow+    updateWorkflow_description,+    updateWorkflow_inputParameters,+    updateWorkflow_name,+    updateWorkflow_stepTargets,+    updateWorkflow_id,+    updateWorkflowResponse_adsApplicationConfigurationId,+    updateWorkflowResponse_arn,+    updateWorkflowResponse_creationTime,+    updateWorkflowResponse_description,+    updateWorkflowResponse_id,+    updateWorkflowResponse_lastModifiedTime,+    updateWorkflowResponse_name,+    updateWorkflowResponse_status,+    updateWorkflowResponse_stepTargets,+    updateWorkflowResponse_tags,+    updateWorkflowResponse_templateId,+    updateWorkflowResponse_workflowInputs,+    updateWorkflowResponse_httpStatus,++    -- ** UpdateWorkflowStep+    updateWorkflowStep_description,+    updateWorkflowStep_name,+    updateWorkflowStep_next,+    updateWorkflowStep_outputs,+    updateWorkflowStep_previous,+    updateWorkflowStep_status,+    updateWorkflowStep_stepActionType,+    updateWorkflowStep_stepTarget,+    updateWorkflowStep_workflowStepAutomationConfiguration,+    updateWorkflowStep_id,+    updateWorkflowStep_stepGroupId,+    updateWorkflowStep_workflowId,+    updateWorkflowStepResponse_id,+    updateWorkflowStepResponse_name,+    updateWorkflowStepResponse_stepGroupId,+    updateWorkflowStepResponse_workflowId,+    updateWorkflowStepResponse_httpStatus,++    -- ** UpdateWorkflowStepGroup+    updateWorkflowStepGroup_description,+    updateWorkflowStepGroup_name,+    updateWorkflowStepGroup_next,+    updateWorkflowStepGroup_previous,+    updateWorkflowStepGroup_workflowId,+    updateWorkflowStepGroup_id,+    updateWorkflowStepGroupResponse_description,+    updateWorkflowStepGroupResponse_id,+    updateWorkflowStepGroupResponse_lastModifiedTime,+    updateWorkflowStepGroupResponse_name,+    updateWorkflowStepGroupResponse_next,+    updateWorkflowStepGroupResponse_previous,+    updateWorkflowStepGroupResponse_tools,+    updateWorkflowStepGroupResponse_workflowId,+    updateWorkflowStepGroupResponse_httpStatus,++    -- * Types++    -- ** MigrationWorkflowSummary+    migrationWorkflowSummary_adsApplicationConfigurationName,+    migrationWorkflowSummary_completedSteps,+    migrationWorkflowSummary_creationTime,+    migrationWorkflowSummary_endTime,+    migrationWorkflowSummary_id,+    migrationWorkflowSummary_name,+    migrationWorkflowSummary_status,+    migrationWorkflowSummary_statusMessage,+    migrationWorkflowSummary_templateId,+    migrationWorkflowSummary_totalSteps,++    -- ** PlatformCommand+    platformCommand_linux,+    platformCommand_windows,++    -- ** PlatformScriptKey+    platformScriptKey_linux,+    platformScriptKey_windows,++    -- ** PluginSummary+    pluginSummary_hostname,+    pluginSummary_ipAddress,+    pluginSummary_pluginId,+    pluginSummary_registeredTime,+    pluginSummary_status,+    pluginSummary_version,++    -- ** StepAutomationConfiguration+    stepAutomationConfiguration_command,+    stepAutomationConfiguration_runEnvironment,+    stepAutomationConfiguration_scriptLocationS3Bucket,+    stepAutomationConfiguration_scriptLocationS3Key,+    stepAutomationConfiguration_targetType,++    -- ** StepInput+    stepInput_integerValue,+    stepInput_listOfStringsValue,+    stepInput_mapOfStringValue,+    stepInput_stringValue,++    -- ** StepOutput+    stepOutput_dataType,+    stepOutput_name,+    stepOutput_required,++    -- ** TemplateInput+    templateInput_dataType,+    templateInput_inputName,+    templateInput_required,++    -- ** TemplateStepGroupSummary+    templateStepGroupSummary_id,+    templateStepGroupSummary_name,+    templateStepGroupSummary_next,+    templateStepGroupSummary_previous,++    -- ** TemplateStepSummary+    templateStepSummary_id,+    templateStepSummary_name,+    templateStepSummary_next,+    templateStepSummary_owner,+    templateStepSummary_previous,+    templateStepSummary_stepActionType,+    templateStepSummary_stepGroupId,+    templateStepSummary_targetType,+    templateStepSummary_templateId,++    -- ** TemplateSummary+    templateSummary_arn,+    templateSummary_description,+    templateSummary_id,+    templateSummary_name,++    -- ** Tool+    tool_name,+    tool_url,++    -- ** WorkflowStepAutomationConfiguration+    workflowStepAutomationConfiguration_command,+    workflowStepAutomationConfiguration_runEnvironment,+    workflowStepAutomationConfiguration_scriptLocationS3Bucket,+    workflowStepAutomationConfiguration_scriptLocationS3Key,+    workflowStepAutomationConfiguration_targetType,++    -- ** WorkflowStepGroupSummary+    workflowStepGroupSummary_id,+    workflowStepGroupSummary_name,+    workflowStepGroupSummary_next,+    workflowStepGroupSummary_owner,+    workflowStepGroupSummary_previous,+    workflowStepGroupSummary_status,++    -- ** WorkflowStepOutput+    workflowStepOutput_dataType,+    workflowStepOutput_name,+    workflowStepOutput_required,+    workflowStepOutput_value,++    -- ** WorkflowStepOutputUnion+    workflowStepOutputUnion_integerValue,+    workflowStepOutputUnion_listOfStringValue,+    workflowStepOutputUnion_stringValue,++    -- ** WorkflowStepSummary+    workflowStepSummary_description,+    workflowStepSummary_name,+    workflowStepSummary_next,+    workflowStepSummary_noOfSrvCompleted,+    workflowStepSummary_noOfSrvFailed,+    workflowStepSummary_owner,+    workflowStepSummary_previous,+    workflowStepSummary_scriptLocation,+    workflowStepSummary_status,+    workflowStepSummary_statusMessage,+    workflowStepSummary_stepActionType,+    workflowStepSummary_stepId,+    workflowStepSummary_totalNoOfSrv,+  )+where++import Amazonka.MigrationHubOrchestrator.CreateWorkflow+import Amazonka.MigrationHubOrchestrator.CreateWorkflowStep+import Amazonka.MigrationHubOrchestrator.CreateWorkflowStepGroup+import Amazonka.MigrationHubOrchestrator.DeleteWorkflow+import Amazonka.MigrationHubOrchestrator.DeleteWorkflowStep+import Amazonka.MigrationHubOrchestrator.DeleteWorkflowStepGroup+import Amazonka.MigrationHubOrchestrator.GetTemplate+import Amazonka.MigrationHubOrchestrator.GetTemplateStep+import Amazonka.MigrationHubOrchestrator.GetTemplateStepGroup+import Amazonka.MigrationHubOrchestrator.GetWorkflow+import Amazonka.MigrationHubOrchestrator.GetWorkflowStep+import Amazonka.MigrationHubOrchestrator.GetWorkflowStepGroup+import Amazonka.MigrationHubOrchestrator.ListPlugins+import Amazonka.MigrationHubOrchestrator.ListTagsForResource+import Amazonka.MigrationHubOrchestrator.ListTemplateStepGroups+import Amazonka.MigrationHubOrchestrator.ListTemplateSteps+import Amazonka.MigrationHubOrchestrator.ListTemplates+import Amazonka.MigrationHubOrchestrator.ListWorkflowStepGroups+import Amazonka.MigrationHubOrchestrator.ListWorkflowSteps+import Amazonka.MigrationHubOrchestrator.ListWorkflows+import Amazonka.MigrationHubOrchestrator.RetryWorkflowStep+import Amazonka.MigrationHubOrchestrator.StartWorkflow+import Amazonka.MigrationHubOrchestrator.StopWorkflow+import Amazonka.MigrationHubOrchestrator.TagResource+import Amazonka.MigrationHubOrchestrator.Types.MigrationWorkflowSummary+import Amazonka.MigrationHubOrchestrator.Types.PlatformCommand+import Amazonka.MigrationHubOrchestrator.Types.PlatformScriptKey+import Amazonka.MigrationHubOrchestrator.Types.PluginSummary+import Amazonka.MigrationHubOrchestrator.Types.StepAutomationConfiguration+import Amazonka.MigrationHubOrchestrator.Types.StepInput+import Amazonka.MigrationHubOrchestrator.Types.StepOutput+import Amazonka.MigrationHubOrchestrator.Types.TemplateInput+import Amazonka.MigrationHubOrchestrator.Types.TemplateStepGroupSummary+import Amazonka.MigrationHubOrchestrator.Types.TemplateStepSummary+import Amazonka.MigrationHubOrchestrator.Types.TemplateSummary+import Amazonka.MigrationHubOrchestrator.Types.Tool+import Amazonka.MigrationHubOrchestrator.Types.WorkflowStepAutomationConfiguration+import Amazonka.MigrationHubOrchestrator.Types.WorkflowStepGroupSummary+import Amazonka.MigrationHubOrchestrator.Types.WorkflowStepOutput+import Amazonka.MigrationHubOrchestrator.Types.WorkflowStepOutputUnion+import Amazonka.MigrationHubOrchestrator.Types.WorkflowStepSummary+import Amazonka.MigrationHubOrchestrator.UntagResource+import Amazonka.MigrationHubOrchestrator.UpdateWorkflow+import Amazonka.MigrationHubOrchestrator.UpdateWorkflowStep+import Amazonka.MigrationHubOrchestrator.UpdateWorkflowStepGroup
+ gen/Amazonka/MigrationHubOrchestrator/ListPlugins.hs view
@@ -0,0 +1,208 @@+{-# 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.MigrationHubOrchestrator.ListPlugins+-- 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 AWS Migration Hub Orchestrator plugins.+--+-- This operation returns paginated results.+module Amazonka.MigrationHubOrchestrator.ListPlugins+  ( -- * Creating a Request+    ListPlugins (..),+    newListPlugins,++    -- * Request Lenses+    listPlugins_maxResults,+    listPlugins_nextToken,++    -- * Destructuring the Response+    ListPluginsResponse (..),+    newListPluginsResponse,++    -- * Response Lenses+    listPluginsResponse_nextToken,+    listPluginsResponse_plugins,+    listPluginsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPlugins' smart constructor.+data ListPlugins = ListPlugins'+  { -- | The maximum number of plugins that can be returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPlugins' 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', 'listPlugins_maxResults' - The maximum number of plugins that can be returned.+--+-- 'nextToken', 'listPlugins_nextToken' - The pagination token.+newListPlugins ::+  ListPlugins+newListPlugins =+  ListPlugins'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of plugins that can be returned.+listPlugins_maxResults :: Lens.Lens' ListPlugins (Prelude.Maybe Prelude.Natural)+listPlugins_maxResults = Lens.lens (\ListPlugins' {maxResults} -> maxResults) (\s@ListPlugins' {} a -> s {maxResults = a} :: ListPlugins)++-- | The pagination token.+listPlugins_nextToken :: Lens.Lens' ListPlugins (Prelude.Maybe Prelude.Text)+listPlugins_nextToken = Lens.lens (\ListPlugins' {nextToken} -> nextToken) (\s@ListPlugins' {} a -> s {nextToken = a} :: ListPlugins)++instance Core.AWSPager ListPlugins where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listPluginsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listPluginsResponse_plugins+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listPlugins_nextToken+          Lens..~ rs+          Lens.^? listPluginsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListPlugins where+  type AWSResponse ListPlugins = ListPluginsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPluginsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (x Data..?> "plugins" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListPlugins where+  hashWithSalt _salt ListPlugins' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListPlugins where+  rnf ListPlugins' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListPlugins where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListPlugins where+  toPath = Prelude.const "/plugins"++instance Data.ToQuery ListPlugins where+  toQuery ListPlugins' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListPluginsResponse' smart constructor.+data ListPluginsResponse = ListPluginsResponse'+  { -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Migration Hub Orchestrator plugins.+    plugins :: Prelude.Maybe [PluginSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPluginsResponse' 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', 'listPluginsResponse_nextToken' - The pagination token.+--+-- 'plugins', 'listPluginsResponse_plugins' - Migration Hub Orchestrator plugins.+--+-- 'httpStatus', 'listPluginsResponse_httpStatus' - The response's http status code.+newListPluginsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPluginsResponse+newListPluginsResponse pHttpStatus_ =+  ListPluginsResponse'+    { nextToken = Prelude.Nothing,+      plugins = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The pagination token.+listPluginsResponse_nextToken :: Lens.Lens' ListPluginsResponse (Prelude.Maybe Prelude.Text)+listPluginsResponse_nextToken = Lens.lens (\ListPluginsResponse' {nextToken} -> nextToken) (\s@ListPluginsResponse' {} a -> s {nextToken = a} :: ListPluginsResponse)++-- | Migration Hub Orchestrator plugins.+listPluginsResponse_plugins :: Lens.Lens' ListPluginsResponse (Prelude.Maybe [PluginSummary])+listPluginsResponse_plugins = Lens.lens (\ListPluginsResponse' {plugins} -> plugins) (\s@ListPluginsResponse' {} a -> s {plugins = a} :: ListPluginsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPluginsResponse_httpStatus :: Lens.Lens' ListPluginsResponse Prelude.Int+listPluginsResponse_httpStatus = Lens.lens (\ListPluginsResponse' {httpStatus} -> httpStatus) (\s@ListPluginsResponse' {} a -> s {httpStatus = a} :: ListPluginsResponse)++instance Prelude.NFData ListPluginsResponse where+  rnf ListPluginsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf plugins+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/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.MigrationHubOrchestrator.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)+--+-- List the tags added to a resource.+module Amazonka.MigrationHubOrchestrator.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) of the resource.+    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 resource.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource.+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.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++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 tags added to a resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  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:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags added to a resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The tags added to a resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | 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)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/ListTemplateStepGroups.hs view
@@ -0,0 +1,233 @@+{-# 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.MigrationHubOrchestrator.ListTemplateStepGroups+-- 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 the step groups in a template.+--+-- This operation returns paginated results.+module Amazonka.MigrationHubOrchestrator.ListTemplateStepGroups+  ( -- * Creating a Request+    ListTemplateStepGroups (..),+    newListTemplateStepGroups,++    -- * Request Lenses+    listTemplateStepGroups_maxResults,+    listTemplateStepGroups_nextToken,+    listTemplateStepGroups_templateId,++    -- * Destructuring the Response+    ListTemplateStepGroupsResponse (..),+    newListTemplateStepGroupsResponse,++    -- * Response Lenses+    listTemplateStepGroupsResponse_nextToken,+    listTemplateStepGroupsResponse_httpStatus,+    listTemplateStepGroupsResponse_templateStepGroupSummary,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTemplateStepGroups' smart constructor.+data ListTemplateStepGroups = ListTemplateStepGroups'+  { -- | The maximum number of results that can be returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the template.+    templateId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTemplateStepGroups' 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', 'listTemplateStepGroups_maxResults' - The maximum number of results that can be returned.+--+-- 'nextToken', 'listTemplateStepGroups_nextToken' - The pagination token.+--+-- 'templateId', 'listTemplateStepGroups_templateId' - The ID of the template.+newListTemplateStepGroups ::+  -- | 'templateId'+  Prelude.Text ->+  ListTemplateStepGroups+newListTemplateStepGroups pTemplateId_ =+  ListTemplateStepGroups'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      templateId = pTemplateId_+    }++-- | The maximum number of results that can be returned.+listTemplateStepGroups_maxResults :: Lens.Lens' ListTemplateStepGroups (Prelude.Maybe Prelude.Natural)+listTemplateStepGroups_maxResults = Lens.lens (\ListTemplateStepGroups' {maxResults} -> maxResults) (\s@ListTemplateStepGroups' {} a -> s {maxResults = a} :: ListTemplateStepGroups)++-- | The pagination token.+listTemplateStepGroups_nextToken :: Lens.Lens' ListTemplateStepGroups (Prelude.Maybe Prelude.Text)+listTemplateStepGroups_nextToken = Lens.lens (\ListTemplateStepGroups' {nextToken} -> nextToken) (\s@ListTemplateStepGroups' {} a -> s {nextToken = a} :: ListTemplateStepGroups)++-- | The ID of the template.+listTemplateStepGroups_templateId :: Lens.Lens' ListTemplateStepGroups Prelude.Text+listTemplateStepGroups_templateId = Lens.lens (\ListTemplateStepGroups' {templateId} -> templateId) (\s@ListTemplateStepGroups' {} a -> s {templateId = a} :: ListTemplateStepGroups)++instance Core.AWSPager ListTemplateStepGroups where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listTemplateStepGroupsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listTemplateStepGroupsResponse_templateStepGroupSummary+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listTemplateStepGroups_nextToken+          Lens..~ rs+          Lens.^? listTemplateStepGroupsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListTemplateStepGroups where+  type+    AWSResponse ListTemplateStepGroups =+      ListTemplateStepGroupsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTemplateStepGroupsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "templateStepGroupSummary"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListTemplateStepGroups where+  hashWithSalt _salt ListTemplateStepGroups' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` templateId++instance Prelude.NFData ListTemplateStepGroups where+  rnf ListTemplateStepGroups' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf templateId++instance Data.ToHeaders ListTemplateStepGroups where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTemplateStepGroups where+  toPath ListTemplateStepGroups' {..} =+    Prelude.mconcat+      ["/templatestepgroups/", Data.toBS templateId]++instance Data.ToQuery ListTemplateStepGroups where+  toQuery ListTemplateStepGroups' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListTemplateStepGroupsResponse' smart constructor.+data ListTemplateStepGroupsResponse = ListTemplateStepGroupsResponse'+  { -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The summary of the step group in the template.+    templateStepGroupSummary :: [TemplateStepGroupSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTemplateStepGroupsResponse' 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', 'listTemplateStepGroupsResponse_nextToken' - The pagination token.+--+-- 'httpStatus', 'listTemplateStepGroupsResponse_httpStatus' - The response's http status code.+--+-- 'templateStepGroupSummary', 'listTemplateStepGroupsResponse_templateStepGroupSummary' - The summary of the step group in the template.+newListTemplateStepGroupsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTemplateStepGroupsResponse+newListTemplateStepGroupsResponse pHttpStatus_ =+  ListTemplateStepGroupsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      templateStepGroupSummary = Prelude.mempty+    }++-- | The pagination token.+listTemplateStepGroupsResponse_nextToken :: Lens.Lens' ListTemplateStepGroupsResponse (Prelude.Maybe Prelude.Text)+listTemplateStepGroupsResponse_nextToken = Lens.lens (\ListTemplateStepGroupsResponse' {nextToken} -> nextToken) (\s@ListTemplateStepGroupsResponse' {} a -> s {nextToken = a} :: ListTemplateStepGroupsResponse)++-- | The response's http status code.+listTemplateStepGroupsResponse_httpStatus :: Lens.Lens' ListTemplateStepGroupsResponse Prelude.Int+listTemplateStepGroupsResponse_httpStatus = Lens.lens (\ListTemplateStepGroupsResponse' {httpStatus} -> httpStatus) (\s@ListTemplateStepGroupsResponse' {} a -> s {httpStatus = a} :: ListTemplateStepGroupsResponse)++-- | The summary of the step group in the template.+listTemplateStepGroupsResponse_templateStepGroupSummary :: Lens.Lens' ListTemplateStepGroupsResponse [TemplateStepGroupSummary]+listTemplateStepGroupsResponse_templateStepGroupSummary = Lens.lens (\ListTemplateStepGroupsResponse' {templateStepGroupSummary} -> templateStepGroupSummary) (\s@ListTemplateStepGroupsResponse' {} a -> s {templateStepGroupSummary = a} :: ListTemplateStepGroupsResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    ListTemplateStepGroupsResponse+  where+  rnf ListTemplateStepGroupsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf templateStepGroupSummary
+ gen/Amazonka/MigrationHubOrchestrator/ListTemplateSteps.hs view
@@ -0,0 +1,244 @@+{-# 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.MigrationHubOrchestrator.ListTemplateSteps+-- 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 the steps in a template.+--+-- This operation returns paginated results.+module Amazonka.MigrationHubOrchestrator.ListTemplateSteps+  ( -- * Creating a Request+    ListTemplateSteps (..),+    newListTemplateSteps,++    -- * Request Lenses+    listTemplateSteps_maxResults,+    listTemplateSteps_nextToken,+    listTemplateSteps_templateId,+    listTemplateSteps_stepGroupId,++    -- * Destructuring the Response+    ListTemplateStepsResponse (..),+    newListTemplateStepsResponse,++    -- * Response Lenses+    listTemplateStepsResponse_nextToken,+    listTemplateStepsResponse_templateStepSummaryList,+    listTemplateStepsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTemplateSteps' smart constructor.+data ListTemplateSteps = ListTemplateSteps'+  { -- | The maximum number of results that can be returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the template.+    templateId :: Prelude.Text,+    -- | The ID of the step group.+    stepGroupId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTemplateSteps' 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', 'listTemplateSteps_maxResults' - The maximum number of results that can be returned.+--+-- 'nextToken', 'listTemplateSteps_nextToken' - The pagination token.+--+-- 'templateId', 'listTemplateSteps_templateId' - The ID of the template.+--+-- 'stepGroupId', 'listTemplateSteps_stepGroupId' - The ID of the step group.+newListTemplateSteps ::+  -- | 'templateId'+  Prelude.Text ->+  -- | 'stepGroupId'+  Prelude.Text ->+  ListTemplateSteps+newListTemplateSteps pTemplateId_ pStepGroupId_ =+  ListTemplateSteps'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      templateId = pTemplateId_,+      stepGroupId = pStepGroupId_+    }++-- | The maximum number of results that can be returned.+listTemplateSteps_maxResults :: Lens.Lens' ListTemplateSteps (Prelude.Maybe Prelude.Natural)+listTemplateSteps_maxResults = Lens.lens (\ListTemplateSteps' {maxResults} -> maxResults) (\s@ListTemplateSteps' {} a -> s {maxResults = a} :: ListTemplateSteps)++-- | The pagination token.+listTemplateSteps_nextToken :: Lens.Lens' ListTemplateSteps (Prelude.Maybe Prelude.Text)+listTemplateSteps_nextToken = Lens.lens (\ListTemplateSteps' {nextToken} -> nextToken) (\s@ListTemplateSteps' {} a -> s {nextToken = a} :: ListTemplateSteps)++-- | The ID of the template.+listTemplateSteps_templateId :: Lens.Lens' ListTemplateSteps Prelude.Text+listTemplateSteps_templateId = Lens.lens (\ListTemplateSteps' {templateId} -> templateId) (\s@ListTemplateSteps' {} a -> s {templateId = a} :: ListTemplateSteps)++-- | The ID of the step group.+listTemplateSteps_stepGroupId :: Lens.Lens' ListTemplateSteps Prelude.Text+listTemplateSteps_stepGroupId = Lens.lens (\ListTemplateSteps' {stepGroupId} -> stepGroupId) (\s@ListTemplateSteps' {} a -> s {stepGroupId = a} :: ListTemplateSteps)++instance Core.AWSPager ListTemplateSteps where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listTemplateStepsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listTemplateStepsResponse_templateStepSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listTemplateSteps_nextToken+          Lens..~ rs+          Lens.^? listTemplateStepsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListTemplateSteps where+  type+    AWSResponse ListTemplateSteps =+      ListTemplateStepsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTemplateStepsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> ( x+                            Data..?> "templateStepSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTemplateSteps where+  hashWithSalt _salt ListTemplateSteps' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` templateId+      `Prelude.hashWithSalt` stepGroupId++instance Prelude.NFData ListTemplateSteps where+  rnf ListTemplateSteps' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf stepGroupId++instance Data.ToHeaders ListTemplateSteps where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTemplateSteps where+  toPath = Prelude.const "/templatesteps"++instance Data.ToQuery ListTemplateSteps where+  toQuery ListTemplateSteps' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "templateId" Data.=: templateId,+        "stepGroupId" Data.=: stepGroupId+      ]++-- | /See:/ 'newListTemplateStepsResponse' smart constructor.+data ListTemplateStepsResponse = ListTemplateStepsResponse'+  { -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The list of summaries of steps in a template.+    templateStepSummaryList :: Prelude.Maybe [TemplateStepSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTemplateStepsResponse' 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', 'listTemplateStepsResponse_nextToken' - The pagination token.+--+-- 'templateStepSummaryList', 'listTemplateStepsResponse_templateStepSummaryList' - The list of summaries of steps in a template.+--+-- 'httpStatus', 'listTemplateStepsResponse_httpStatus' - The response's http status code.+newListTemplateStepsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTemplateStepsResponse+newListTemplateStepsResponse pHttpStatus_ =+  ListTemplateStepsResponse'+    { nextToken =+        Prelude.Nothing,+      templateStepSummaryList = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The pagination token.+listTemplateStepsResponse_nextToken :: Lens.Lens' ListTemplateStepsResponse (Prelude.Maybe Prelude.Text)+listTemplateStepsResponse_nextToken = Lens.lens (\ListTemplateStepsResponse' {nextToken} -> nextToken) (\s@ListTemplateStepsResponse' {} a -> s {nextToken = a} :: ListTemplateStepsResponse)++-- | The list of summaries of steps in a template.+listTemplateStepsResponse_templateStepSummaryList :: Lens.Lens' ListTemplateStepsResponse (Prelude.Maybe [TemplateStepSummary])+listTemplateStepsResponse_templateStepSummaryList = Lens.lens (\ListTemplateStepsResponse' {templateStepSummaryList} -> templateStepSummaryList) (\s@ListTemplateStepsResponse' {} a -> s {templateStepSummaryList = a} :: ListTemplateStepsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTemplateStepsResponse_httpStatus :: Lens.Lens' ListTemplateStepsResponse Prelude.Int+listTemplateStepsResponse_httpStatus = Lens.lens (\ListTemplateStepsResponse' {httpStatus} -> httpStatus) (\s@ListTemplateStepsResponse' {} a -> s {httpStatus = a} :: ListTemplateStepsResponse)++instance Prelude.NFData ListTemplateStepsResponse where+  rnf ListTemplateStepsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf templateStepSummaryList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/ListTemplates.hs view
@@ -0,0 +1,224 @@+{-# 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.MigrationHubOrchestrator.ListTemplates+-- 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 the templates available in Migration Hub Orchestrator to create a+-- migration workflow.+--+-- This operation returns paginated results.+module Amazonka.MigrationHubOrchestrator.ListTemplates+  ( -- * Creating a Request+    ListTemplates (..),+    newListTemplates,++    -- * Request Lenses+    listTemplates_maxResults,+    listTemplates_name,+    listTemplates_nextToken,++    -- * Destructuring the Response+    ListTemplatesResponse (..),+    newListTemplatesResponse,++    -- * Response Lenses+    listTemplatesResponse_nextToken,+    listTemplatesResponse_httpStatus,+    listTemplatesResponse_templateSummary,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTemplates' smart constructor.+data ListTemplates = ListTemplates'+  { -- | The maximum number of results that can be returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The name of the template.+    name :: Prelude.Maybe Prelude.Text,+    -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTemplates' 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', 'listTemplates_maxResults' - The maximum number of results that can be returned.+--+-- 'name', 'listTemplates_name' - The name of the template.+--+-- 'nextToken', 'listTemplates_nextToken' - The pagination token.+newListTemplates ::+  ListTemplates+newListTemplates =+  ListTemplates'+    { maxResults = Prelude.Nothing,+      name = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results that can be returned.+listTemplates_maxResults :: Lens.Lens' ListTemplates (Prelude.Maybe Prelude.Natural)+listTemplates_maxResults = Lens.lens (\ListTemplates' {maxResults} -> maxResults) (\s@ListTemplates' {} a -> s {maxResults = a} :: ListTemplates)++-- | The name of the template.+listTemplates_name :: Lens.Lens' ListTemplates (Prelude.Maybe Prelude.Text)+listTemplates_name = Lens.lens (\ListTemplates' {name} -> name) (\s@ListTemplates' {} a -> s {name = a} :: ListTemplates)++-- | The pagination token.+listTemplates_nextToken :: Lens.Lens' ListTemplates (Prelude.Maybe Prelude.Text)+listTemplates_nextToken = Lens.lens (\ListTemplates' {nextToken} -> nextToken) (\s@ListTemplates' {} a -> s {nextToken = a} :: ListTemplates)++instance Core.AWSPager ListTemplates where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listTemplatesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        (rs Lens.^. listTemplatesResponse_templateSummary) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listTemplates_nextToken+          Lens..~ rs+          Lens.^? listTemplatesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListTemplates where+  type+    AWSResponse ListTemplates =+      ListTemplatesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTemplatesResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "templateSummary"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListTemplates where+  hashWithSalt _salt ListTemplates' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListTemplates where+  rnf ListTemplates' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListTemplates where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTemplates where+  toPath = Prelude.const "/migrationworkflowtemplates"++instance Data.ToQuery ListTemplates where+  toQuery ListTemplates' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "name" Data.=: name,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListTemplatesResponse' smart constructor.+data ListTemplatesResponse = ListTemplatesResponse'+  { -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The summary of the template.+    templateSummary :: [TemplateSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTemplatesResponse' 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', 'listTemplatesResponse_nextToken' - The pagination token.+--+-- 'httpStatus', 'listTemplatesResponse_httpStatus' - The response's http status code.+--+-- 'templateSummary', 'listTemplatesResponse_templateSummary' - The summary of the template.+newListTemplatesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTemplatesResponse+newListTemplatesResponse pHttpStatus_ =+  ListTemplatesResponse'+    { nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      templateSummary = Prelude.mempty+    }++-- | The pagination token.+listTemplatesResponse_nextToken :: Lens.Lens' ListTemplatesResponse (Prelude.Maybe Prelude.Text)+listTemplatesResponse_nextToken = Lens.lens (\ListTemplatesResponse' {nextToken} -> nextToken) (\s@ListTemplatesResponse' {} a -> s {nextToken = a} :: ListTemplatesResponse)++-- | The response's http status code.+listTemplatesResponse_httpStatus :: Lens.Lens' ListTemplatesResponse Prelude.Int+listTemplatesResponse_httpStatus = Lens.lens (\ListTemplatesResponse' {httpStatus} -> httpStatus) (\s@ListTemplatesResponse' {} a -> s {httpStatus = a} :: ListTemplatesResponse)++-- | The summary of the template.+listTemplatesResponse_templateSummary :: Lens.Lens' ListTemplatesResponse [TemplateSummary]+listTemplatesResponse_templateSummary = Lens.lens (\ListTemplatesResponse' {templateSummary} -> templateSummary) (\s@ListTemplatesResponse' {} a -> s {templateSummary = a} :: ListTemplatesResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListTemplatesResponse where+  rnf ListTemplatesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf templateSummary
+ gen/Amazonka/MigrationHubOrchestrator/ListWorkflowStepGroups.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.MigrationHubOrchestrator.ListWorkflowStepGroups+-- 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 the step groups in a migration workflow.+--+-- This operation returns paginated results.+module Amazonka.MigrationHubOrchestrator.ListWorkflowStepGroups+  ( -- * Creating a Request+    ListWorkflowStepGroups (..),+    newListWorkflowStepGroups,++    -- * Request Lenses+    listWorkflowStepGroups_maxResults,+    listWorkflowStepGroups_nextToken,+    listWorkflowStepGroups_workflowId,++    -- * Destructuring the Response+    ListWorkflowStepGroupsResponse (..),+    newListWorkflowStepGroupsResponse,++    -- * Response Lenses+    listWorkflowStepGroupsResponse_nextToken,+    listWorkflowStepGroupsResponse_httpStatus,+    listWorkflowStepGroupsResponse_workflowStepGroupsSummary,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListWorkflowStepGroups' smart constructor.+data ListWorkflowStepGroups = ListWorkflowStepGroups'+  { -- | The maximum number of results that can be returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the migration workflow.+    workflowId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkflowStepGroups' 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', 'listWorkflowStepGroups_maxResults' - The maximum number of results that can be returned.+--+-- 'nextToken', 'listWorkflowStepGroups_nextToken' - The pagination token.+--+-- 'workflowId', 'listWorkflowStepGroups_workflowId' - The ID of the migration workflow.+newListWorkflowStepGroups ::+  -- | 'workflowId'+  Prelude.Text ->+  ListWorkflowStepGroups+newListWorkflowStepGroups pWorkflowId_ =+  ListWorkflowStepGroups'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      workflowId = pWorkflowId_+    }++-- | The maximum number of results that can be returned.+listWorkflowStepGroups_maxResults :: Lens.Lens' ListWorkflowStepGroups (Prelude.Maybe Prelude.Natural)+listWorkflowStepGroups_maxResults = Lens.lens (\ListWorkflowStepGroups' {maxResults} -> maxResults) (\s@ListWorkflowStepGroups' {} a -> s {maxResults = a} :: ListWorkflowStepGroups)++-- | The pagination token.+listWorkflowStepGroups_nextToken :: Lens.Lens' ListWorkflowStepGroups (Prelude.Maybe Prelude.Text)+listWorkflowStepGroups_nextToken = Lens.lens (\ListWorkflowStepGroups' {nextToken} -> nextToken) (\s@ListWorkflowStepGroups' {} a -> s {nextToken = a} :: ListWorkflowStepGroups)++-- | The ID of the migration workflow.+listWorkflowStepGroups_workflowId :: Lens.Lens' ListWorkflowStepGroups Prelude.Text+listWorkflowStepGroups_workflowId = Lens.lens (\ListWorkflowStepGroups' {workflowId} -> workflowId) (\s@ListWorkflowStepGroups' {} a -> s {workflowId = a} :: ListWorkflowStepGroups)++instance Core.AWSPager ListWorkflowStepGroups where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listWorkflowStepGroupsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listWorkflowStepGroupsResponse_workflowStepGroupsSummary+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listWorkflowStepGroups_nextToken+          Lens..~ rs+          Lens.^? listWorkflowStepGroupsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListWorkflowStepGroups where+  type+    AWSResponse ListWorkflowStepGroups =+      ListWorkflowStepGroupsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListWorkflowStepGroupsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "workflowStepGroupsSummary"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListWorkflowStepGroups where+  hashWithSalt _salt ListWorkflowStepGroups' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` workflowId++instance Prelude.NFData ListWorkflowStepGroups where+  rnf ListWorkflowStepGroups' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workflowId++instance Data.ToHeaders ListWorkflowStepGroups where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListWorkflowStepGroups where+  toPath = Prelude.const "/workflowstepgroups"++instance Data.ToQuery ListWorkflowStepGroups where+  toQuery ListWorkflowStepGroups' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "workflowId" Data.=: workflowId+      ]++-- | /See:/ 'newListWorkflowStepGroupsResponse' smart constructor.+data ListWorkflowStepGroupsResponse = ListWorkflowStepGroupsResponse'+  { -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The summary of step groups in a migration workflow.+    workflowStepGroupsSummary :: [WorkflowStepGroupSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkflowStepGroupsResponse' 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', 'listWorkflowStepGroupsResponse_nextToken' - The pagination token.+--+-- 'httpStatus', 'listWorkflowStepGroupsResponse_httpStatus' - The response's http status code.+--+-- 'workflowStepGroupsSummary', 'listWorkflowStepGroupsResponse_workflowStepGroupsSummary' - The summary of step groups in a migration workflow.+newListWorkflowStepGroupsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListWorkflowStepGroupsResponse+newListWorkflowStepGroupsResponse pHttpStatus_ =+  ListWorkflowStepGroupsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      workflowStepGroupsSummary = Prelude.mempty+    }++-- | The pagination token.+listWorkflowStepGroupsResponse_nextToken :: Lens.Lens' ListWorkflowStepGroupsResponse (Prelude.Maybe Prelude.Text)+listWorkflowStepGroupsResponse_nextToken = Lens.lens (\ListWorkflowStepGroupsResponse' {nextToken} -> nextToken) (\s@ListWorkflowStepGroupsResponse' {} a -> s {nextToken = a} :: ListWorkflowStepGroupsResponse)++-- | The response's http status code.+listWorkflowStepGroupsResponse_httpStatus :: Lens.Lens' ListWorkflowStepGroupsResponse Prelude.Int+listWorkflowStepGroupsResponse_httpStatus = Lens.lens (\ListWorkflowStepGroupsResponse' {httpStatus} -> httpStatus) (\s@ListWorkflowStepGroupsResponse' {} a -> s {httpStatus = a} :: ListWorkflowStepGroupsResponse)++-- | The summary of step groups in a migration workflow.+listWorkflowStepGroupsResponse_workflowStepGroupsSummary :: Lens.Lens' ListWorkflowStepGroupsResponse [WorkflowStepGroupSummary]+listWorkflowStepGroupsResponse_workflowStepGroupsSummary = Lens.lens (\ListWorkflowStepGroupsResponse' {workflowStepGroupsSummary} -> workflowStepGroupsSummary) (\s@ListWorkflowStepGroupsResponse' {} a -> s {workflowStepGroupsSummary = a} :: ListWorkflowStepGroupsResponse) Prelude.. Lens.coerced++instance+  Prelude.NFData+    ListWorkflowStepGroupsResponse+  where+  rnf ListWorkflowStepGroupsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf workflowStepGroupsSummary
+ gen/Amazonka/MigrationHubOrchestrator/ListWorkflowSteps.hs view
@@ -0,0 +1,248 @@+{-# 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.MigrationHubOrchestrator.ListWorkflowSteps+-- 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 the steps in a workflow.+--+-- This operation returns paginated results.+module Amazonka.MigrationHubOrchestrator.ListWorkflowSteps+  ( -- * Creating a Request+    ListWorkflowSteps (..),+    newListWorkflowSteps,++    -- * Request Lenses+    listWorkflowSteps_maxResults,+    listWorkflowSteps_nextToken,+    listWorkflowSteps_workflowId,+    listWorkflowSteps_stepGroupId,++    -- * Destructuring the Response+    ListWorkflowStepsResponse (..),+    newListWorkflowStepsResponse,++    -- * Response Lenses+    listWorkflowStepsResponse_nextToken,+    listWorkflowStepsResponse_httpStatus,+    listWorkflowStepsResponse_workflowStepsSummary,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListWorkflowSteps' smart constructor.+data ListWorkflowSteps = ListWorkflowSteps'+  { -- | The maximum number of results that can be returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the migration workflow.+    workflowId :: Prelude.Text,+    -- | The ID of the step group.+    stepGroupId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkflowSteps' 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', 'listWorkflowSteps_maxResults' - The maximum number of results that can be returned.+--+-- 'nextToken', 'listWorkflowSteps_nextToken' - The pagination token.+--+-- 'workflowId', 'listWorkflowSteps_workflowId' - The ID of the migration workflow.+--+-- 'stepGroupId', 'listWorkflowSteps_stepGroupId' - The ID of the step group.+newListWorkflowSteps ::+  -- | 'workflowId'+  Prelude.Text ->+  -- | 'stepGroupId'+  Prelude.Text ->+  ListWorkflowSteps+newListWorkflowSteps pWorkflowId_ pStepGroupId_ =+  ListWorkflowSteps'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      workflowId = pWorkflowId_,+      stepGroupId = pStepGroupId_+    }++-- | The maximum number of results that can be returned.+listWorkflowSteps_maxResults :: Lens.Lens' ListWorkflowSteps (Prelude.Maybe Prelude.Natural)+listWorkflowSteps_maxResults = Lens.lens (\ListWorkflowSteps' {maxResults} -> maxResults) (\s@ListWorkflowSteps' {} a -> s {maxResults = a} :: ListWorkflowSteps)++-- | The pagination token.+listWorkflowSteps_nextToken :: Lens.Lens' ListWorkflowSteps (Prelude.Maybe Prelude.Text)+listWorkflowSteps_nextToken = Lens.lens (\ListWorkflowSteps' {nextToken} -> nextToken) (\s@ListWorkflowSteps' {} a -> s {nextToken = a} :: ListWorkflowSteps)++-- | The ID of the migration workflow.+listWorkflowSteps_workflowId :: Lens.Lens' ListWorkflowSteps Prelude.Text+listWorkflowSteps_workflowId = Lens.lens (\ListWorkflowSteps' {workflowId} -> workflowId) (\s@ListWorkflowSteps' {} a -> s {workflowId = a} :: ListWorkflowSteps)++-- | The ID of the step group.+listWorkflowSteps_stepGroupId :: Lens.Lens' ListWorkflowSteps Prelude.Text+listWorkflowSteps_stepGroupId = Lens.lens (\ListWorkflowSteps' {stepGroupId} -> stepGroupId) (\s@ListWorkflowSteps' {} a -> s {stepGroupId = a} :: ListWorkflowSteps)++instance Core.AWSPager ListWorkflowSteps where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listWorkflowStepsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listWorkflowStepsResponse_workflowStepsSummary+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listWorkflowSteps_nextToken+          Lens..~ rs+          Lens.^? listWorkflowStepsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListWorkflowSteps where+  type+    AWSResponse ListWorkflowSteps =+      ListWorkflowStepsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListWorkflowStepsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "workflowStepsSummary"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListWorkflowSteps where+  hashWithSalt _salt ListWorkflowSteps' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` workflowId+      `Prelude.hashWithSalt` stepGroupId++instance Prelude.NFData ListWorkflowSteps where+  rnf ListWorkflowSteps' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf workflowId+      `Prelude.seq` Prelude.rnf stepGroupId++instance Data.ToHeaders ListWorkflowSteps where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListWorkflowSteps where+  toPath ListWorkflowSteps' {..} =+    Prelude.mconcat+      [ "/workflow/",+        Data.toBS workflowId,+        "/workflowstepgroups/",+        Data.toBS stepGroupId,+        "/workflowsteps"+      ]++instance Data.ToQuery ListWorkflowSteps where+  toQuery ListWorkflowSteps' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListWorkflowStepsResponse' smart constructor.+data ListWorkflowStepsResponse = ListWorkflowStepsResponse'+  { -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The summary of steps in a migration workflow.+    workflowStepsSummary :: [WorkflowStepSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkflowStepsResponse' 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', 'listWorkflowStepsResponse_nextToken' - The pagination token.+--+-- 'httpStatus', 'listWorkflowStepsResponse_httpStatus' - The response's http status code.+--+-- 'workflowStepsSummary', 'listWorkflowStepsResponse_workflowStepsSummary' - The summary of steps in a migration workflow.+newListWorkflowStepsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListWorkflowStepsResponse+newListWorkflowStepsResponse pHttpStatus_ =+  ListWorkflowStepsResponse'+    { nextToken =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      workflowStepsSummary = Prelude.mempty+    }++-- | The pagination token.+listWorkflowStepsResponse_nextToken :: Lens.Lens' ListWorkflowStepsResponse (Prelude.Maybe Prelude.Text)+listWorkflowStepsResponse_nextToken = Lens.lens (\ListWorkflowStepsResponse' {nextToken} -> nextToken) (\s@ListWorkflowStepsResponse' {} a -> s {nextToken = a} :: ListWorkflowStepsResponse)++-- | The response's http status code.+listWorkflowStepsResponse_httpStatus :: Lens.Lens' ListWorkflowStepsResponse Prelude.Int+listWorkflowStepsResponse_httpStatus = Lens.lens (\ListWorkflowStepsResponse' {httpStatus} -> httpStatus) (\s@ListWorkflowStepsResponse' {} a -> s {httpStatus = a} :: ListWorkflowStepsResponse)++-- | The summary of steps in a migration workflow.+listWorkflowStepsResponse_workflowStepsSummary :: Lens.Lens' ListWorkflowStepsResponse [WorkflowStepSummary]+listWorkflowStepsResponse_workflowStepsSummary = Lens.lens (\ListWorkflowStepsResponse' {workflowStepsSummary} -> workflowStepsSummary) (\s@ListWorkflowStepsResponse' {} a -> s {workflowStepsSummary = a} :: ListWorkflowStepsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListWorkflowStepsResponse where+  rnf ListWorkflowStepsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf workflowStepsSummary
+ gen/Amazonka/MigrationHubOrchestrator/ListWorkflows.hs view
@@ -0,0 +1,266 @@+{-# 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.MigrationHubOrchestrator.ListWorkflows+-- 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 the migration workflows.+--+-- This operation returns paginated results.+module Amazonka.MigrationHubOrchestrator.ListWorkflows+  ( -- * Creating a Request+    ListWorkflows (..),+    newListWorkflows,++    -- * Request Lenses+    listWorkflows_adsApplicationConfigurationName,+    listWorkflows_maxResults,+    listWorkflows_name,+    listWorkflows_nextToken,+    listWorkflows_status,+    listWorkflows_templateId,++    -- * Destructuring the Response+    ListWorkflowsResponse (..),+    newListWorkflowsResponse,++    -- * Response Lenses+    listWorkflowsResponse_nextToken,+    listWorkflowsResponse_httpStatus,+    listWorkflowsResponse_migrationWorkflowSummary,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListWorkflows' smart constructor.+data ListWorkflows = ListWorkflows'+  { -- | The name of the application configured in Application Discovery Service.+    adsApplicationConfigurationName :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results that can be returned.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The name of the migration workflow.+    name :: Prelude.Maybe Prelude.Text,+    -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The status of the migration workflow.+    status :: Prelude.Maybe MigrationWorkflowStatusEnum,+    -- | The ID of the template.+    templateId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkflows' 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:+--+-- 'adsApplicationConfigurationName', 'listWorkflows_adsApplicationConfigurationName' - The name of the application configured in Application Discovery Service.+--+-- 'maxResults', 'listWorkflows_maxResults' - The maximum number of results that can be returned.+--+-- 'name', 'listWorkflows_name' - The name of the migration workflow.+--+-- 'nextToken', 'listWorkflows_nextToken' - The pagination token.+--+-- 'status', 'listWorkflows_status' - The status of the migration workflow.+--+-- 'templateId', 'listWorkflows_templateId' - The ID of the template.+newListWorkflows ::+  ListWorkflows+newListWorkflows =+  ListWorkflows'+    { adsApplicationConfigurationName =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      name = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      status = Prelude.Nothing,+      templateId = Prelude.Nothing+    }++-- | The name of the application configured in Application Discovery Service.+listWorkflows_adsApplicationConfigurationName :: Lens.Lens' ListWorkflows (Prelude.Maybe Prelude.Text)+listWorkflows_adsApplicationConfigurationName = Lens.lens (\ListWorkflows' {adsApplicationConfigurationName} -> adsApplicationConfigurationName) (\s@ListWorkflows' {} a -> s {adsApplicationConfigurationName = a} :: ListWorkflows)++-- | The maximum number of results that can be returned.+listWorkflows_maxResults :: Lens.Lens' ListWorkflows (Prelude.Maybe Prelude.Natural)+listWorkflows_maxResults = Lens.lens (\ListWorkflows' {maxResults} -> maxResults) (\s@ListWorkflows' {} a -> s {maxResults = a} :: ListWorkflows)++-- | The name of the migration workflow.+listWorkflows_name :: Lens.Lens' ListWorkflows (Prelude.Maybe Prelude.Text)+listWorkflows_name = Lens.lens (\ListWorkflows' {name} -> name) (\s@ListWorkflows' {} a -> s {name = a} :: ListWorkflows)++-- | The pagination token.+listWorkflows_nextToken :: Lens.Lens' ListWorkflows (Prelude.Maybe Prelude.Text)+listWorkflows_nextToken = Lens.lens (\ListWorkflows' {nextToken} -> nextToken) (\s@ListWorkflows' {} a -> s {nextToken = a} :: ListWorkflows)++-- | The status of the migration workflow.+listWorkflows_status :: Lens.Lens' ListWorkflows (Prelude.Maybe MigrationWorkflowStatusEnum)+listWorkflows_status = Lens.lens (\ListWorkflows' {status} -> status) (\s@ListWorkflows' {} a -> s {status = a} :: ListWorkflows)++-- | The ID of the template.+listWorkflows_templateId :: Lens.Lens' ListWorkflows (Prelude.Maybe Prelude.Text)+listWorkflows_templateId = Lens.lens (\ListWorkflows' {templateId} -> templateId) (\s@ListWorkflows' {} a -> s {templateId = a} :: ListWorkflows)++instance Core.AWSPager ListWorkflows where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listWorkflowsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^. listWorkflowsResponse_migrationWorkflowSummary+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listWorkflows_nextToken+          Lens..~ rs+          Lens.^? listWorkflowsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListWorkflows where+  type+    AWSResponse ListWorkflows =+      ListWorkflowsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListWorkflowsResponse'+            Prelude.<$> (x Data..?> "nextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..?> "migrationWorkflowSummary"+                            Core..!@ Prelude.mempty+                        )+      )++instance Prelude.Hashable ListWorkflows where+  hashWithSalt _salt ListWorkflows' {..} =+    _salt+      `Prelude.hashWithSalt` adsApplicationConfigurationName+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` templateId++instance Prelude.NFData ListWorkflows where+  rnf ListWorkflows' {..} =+    Prelude.rnf adsApplicationConfigurationName+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf templateId++instance Data.ToHeaders ListWorkflows where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListWorkflows where+  toPath = Prelude.const "/migrationworkflows"++instance Data.ToQuery ListWorkflows where+  toQuery ListWorkflows' {..} =+    Prelude.mconcat+      [ "adsApplicationConfigurationName"+          Data.=: adsApplicationConfigurationName,+        "maxResults" Data.=: maxResults,+        "name" Data.=: name,+        "nextToken" Data.=: nextToken,+        "status" Data.=: status,+        "templateId" Data.=: templateId+      ]++-- | /See:/ 'newListWorkflowsResponse' smart constructor.+data ListWorkflowsResponse = ListWorkflowsResponse'+  { -- | The pagination token.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The summary of the migration workflow.+    migrationWorkflowSummary :: [MigrationWorkflowSummary]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListWorkflowsResponse' 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', 'listWorkflowsResponse_nextToken' - The pagination token.+--+-- 'httpStatus', 'listWorkflowsResponse_httpStatus' - The response's http status code.+--+-- 'migrationWorkflowSummary', 'listWorkflowsResponse_migrationWorkflowSummary' - The summary of the migration workflow.+newListWorkflowsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListWorkflowsResponse+newListWorkflowsResponse pHttpStatus_ =+  ListWorkflowsResponse'+    { nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      migrationWorkflowSummary = Prelude.mempty+    }++-- | The pagination token.+listWorkflowsResponse_nextToken :: Lens.Lens' ListWorkflowsResponse (Prelude.Maybe Prelude.Text)+listWorkflowsResponse_nextToken = Lens.lens (\ListWorkflowsResponse' {nextToken} -> nextToken) (\s@ListWorkflowsResponse' {} a -> s {nextToken = a} :: ListWorkflowsResponse)++-- | The response's http status code.+listWorkflowsResponse_httpStatus :: Lens.Lens' ListWorkflowsResponse Prelude.Int+listWorkflowsResponse_httpStatus = Lens.lens (\ListWorkflowsResponse' {httpStatus} -> httpStatus) (\s@ListWorkflowsResponse' {} a -> s {httpStatus = a} :: ListWorkflowsResponse)++-- | The summary of the migration workflow.+listWorkflowsResponse_migrationWorkflowSummary :: Lens.Lens' ListWorkflowsResponse [MigrationWorkflowSummary]+listWorkflowsResponse_migrationWorkflowSummary = Lens.lens (\ListWorkflowsResponse' {migrationWorkflowSummary} -> migrationWorkflowSummary) (\s@ListWorkflowsResponse' {} a -> s {migrationWorkflowSummary = a} :: ListWorkflowsResponse) Prelude.. Lens.coerced++instance Prelude.NFData ListWorkflowsResponse where+  rnf ListWorkflowsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf migrationWorkflowSummary
+ gen/Amazonka/MigrationHubOrchestrator/RetryWorkflowStep.hs view
@@ -0,0 +1,233 @@+{-# 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.MigrationHubOrchestrator.RetryWorkflowStep+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retry a failed step in a migration workflow.+module Amazonka.MigrationHubOrchestrator.RetryWorkflowStep+  ( -- * Creating a Request+    RetryWorkflowStep (..),+    newRetryWorkflowStep,++    -- * Request Lenses+    retryWorkflowStep_workflowId,+    retryWorkflowStep_stepGroupId,+    retryWorkflowStep_id,++    -- * Destructuring the Response+    RetryWorkflowStepResponse (..),+    newRetryWorkflowStepResponse,++    -- * Response Lenses+    retryWorkflowStepResponse_id,+    retryWorkflowStepResponse_status,+    retryWorkflowStepResponse_stepGroupId,+    retryWorkflowStepResponse_workflowId,+    retryWorkflowStepResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRetryWorkflowStep' smart constructor.+data RetryWorkflowStep = RetryWorkflowStep'+  { -- | The ID of the migration workflow.+    workflowId :: Prelude.Text,+    -- | The ID of the step group.+    stepGroupId :: Prelude.Text,+    -- | The ID of the step.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RetryWorkflowStep' 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:+--+-- 'workflowId', 'retryWorkflowStep_workflowId' - The ID of the migration workflow.+--+-- 'stepGroupId', 'retryWorkflowStep_stepGroupId' - The ID of the step group.+--+-- 'id', 'retryWorkflowStep_id' - The ID of the step.+newRetryWorkflowStep ::+  -- | 'workflowId'+  Prelude.Text ->+  -- | 'stepGroupId'+  Prelude.Text ->+  -- | 'id'+  Prelude.Text ->+  RetryWorkflowStep+newRetryWorkflowStep pWorkflowId_ pStepGroupId_ pId_ =+  RetryWorkflowStep'+    { workflowId = pWorkflowId_,+      stepGroupId = pStepGroupId_,+      id = pId_+    }++-- | The ID of the migration workflow.+retryWorkflowStep_workflowId :: Lens.Lens' RetryWorkflowStep Prelude.Text+retryWorkflowStep_workflowId = Lens.lens (\RetryWorkflowStep' {workflowId} -> workflowId) (\s@RetryWorkflowStep' {} a -> s {workflowId = a} :: RetryWorkflowStep)++-- | The ID of the step group.+retryWorkflowStep_stepGroupId :: Lens.Lens' RetryWorkflowStep Prelude.Text+retryWorkflowStep_stepGroupId = Lens.lens (\RetryWorkflowStep' {stepGroupId} -> stepGroupId) (\s@RetryWorkflowStep' {} a -> s {stepGroupId = a} :: RetryWorkflowStep)++-- | The ID of the step.+retryWorkflowStep_id :: Lens.Lens' RetryWorkflowStep Prelude.Text+retryWorkflowStep_id = Lens.lens (\RetryWorkflowStep' {id} -> id) (\s@RetryWorkflowStep' {} a -> s {id = a} :: RetryWorkflowStep)++instance Core.AWSRequest RetryWorkflowStep where+  type+    AWSResponse RetryWorkflowStep =+      RetryWorkflowStepResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RetryWorkflowStepResponse'+            Prelude.<$> (x Data..?> "id")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "stepGroupId")+            Prelude.<*> (x Data..?> "workflowId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RetryWorkflowStep where+  hashWithSalt _salt RetryWorkflowStep' {..} =+    _salt+      `Prelude.hashWithSalt` workflowId+      `Prelude.hashWithSalt` stepGroupId+      `Prelude.hashWithSalt` id++instance Prelude.NFData RetryWorkflowStep where+  rnf RetryWorkflowStep' {..} =+    Prelude.rnf workflowId+      `Prelude.seq` Prelude.rnf stepGroupId+      `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders RetryWorkflowStep where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON RetryWorkflowStep where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath RetryWorkflowStep where+  toPath RetryWorkflowStep' {..} =+    Prelude.mconcat+      ["/retryworkflowstep/", Data.toBS id]++instance Data.ToQuery RetryWorkflowStep where+  toQuery RetryWorkflowStep' {..} =+    Prelude.mconcat+      [ "workflowId" Data.=: workflowId,+        "stepGroupId" Data.=: stepGroupId+      ]++-- | /See:/ 'newRetryWorkflowStepResponse' smart constructor.+data RetryWorkflowStepResponse = RetryWorkflowStepResponse'+  { -- | The ID of the step.+    id :: Prelude.Maybe Prelude.Text,+    -- | The status of the step.+    status :: Prelude.Maybe StepStatus,+    -- | The ID of the step group.+    stepGroupId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the migration workflow.+    workflowId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RetryWorkflowStepResponse' 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:+--+-- 'id', 'retryWorkflowStepResponse_id' - The ID of the step.+--+-- 'status', 'retryWorkflowStepResponse_status' - The status of the step.+--+-- 'stepGroupId', 'retryWorkflowStepResponse_stepGroupId' - The ID of the step group.+--+-- 'workflowId', 'retryWorkflowStepResponse_workflowId' - The ID of the migration workflow.+--+-- 'httpStatus', 'retryWorkflowStepResponse_httpStatus' - The response's http status code.+newRetryWorkflowStepResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RetryWorkflowStepResponse+newRetryWorkflowStepResponse pHttpStatus_ =+  RetryWorkflowStepResponse'+    { id = Prelude.Nothing,+      status = Prelude.Nothing,+      stepGroupId = Prelude.Nothing,+      workflowId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the step.+retryWorkflowStepResponse_id :: Lens.Lens' RetryWorkflowStepResponse (Prelude.Maybe Prelude.Text)+retryWorkflowStepResponse_id = Lens.lens (\RetryWorkflowStepResponse' {id} -> id) (\s@RetryWorkflowStepResponse' {} a -> s {id = a} :: RetryWorkflowStepResponse)++-- | The status of the step.+retryWorkflowStepResponse_status :: Lens.Lens' RetryWorkflowStepResponse (Prelude.Maybe StepStatus)+retryWorkflowStepResponse_status = Lens.lens (\RetryWorkflowStepResponse' {status} -> status) (\s@RetryWorkflowStepResponse' {} a -> s {status = a} :: RetryWorkflowStepResponse)++-- | The ID of the step group.+retryWorkflowStepResponse_stepGroupId :: Lens.Lens' RetryWorkflowStepResponse (Prelude.Maybe Prelude.Text)+retryWorkflowStepResponse_stepGroupId = Lens.lens (\RetryWorkflowStepResponse' {stepGroupId} -> stepGroupId) (\s@RetryWorkflowStepResponse' {} a -> s {stepGroupId = a} :: RetryWorkflowStepResponse)++-- | The ID of the migration workflow.+retryWorkflowStepResponse_workflowId :: Lens.Lens' RetryWorkflowStepResponse (Prelude.Maybe Prelude.Text)+retryWorkflowStepResponse_workflowId = Lens.lens (\RetryWorkflowStepResponse' {workflowId} -> workflowId) (\s@RetryWorkflowStepResponse' {} a -> s {workflowId = a} :: RetryWorkflowStepResponse)++-- | The response's http status code.+retryWorkflowStepResponse_httpStatus :: Lens.Lens' RetryWorkflowStepResponse Prelude.Int+retryWorkflowStepResponse_httpStatus = Lens.lens (\RetryWorkflowStepResponse' {httpStatus} -> httpStatus) (\s@RetryWorkflowStepResponse' {} a -> s {httpStatus = a} :: RetryWorkflowStepResponse)++instance Prelude.NFData RetryWorkflowStepResponse where+  rnf RetryWorkflowStepResponse' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf stepGroupId+      `Prelude.seq` Prelude.rnf workflowId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/StartWorkflow.hs view
@@ -0,0 +1,208 @@+{-# 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.MigrationHubOrchestrator.StartWorkflow+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Start a migration workflow.+module Amazonka.MigrationHubOrchestrator.StartWorkflow+  ( -- * Creating a Request+    StartWorkflow (..),+    newStartWorkflow,++    -- * Request Lenses+    startWorkflow_id,++    -- * Destructuring the Response+    StartWorkflowResponse (..),+    newStartWorkflowResponse,++    -- * Response Lenses+    startWorkflowResponse_arn,+    startWorkflowResponse_id,+    startWorkflowResponse_lastStartTime,+    startWorkflowResponse_status,+    startWorkflowResponse_statusMessage,+    startWorkflowResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartWorkflow' smart constructor.+data StartWorkflow = StartWorkflow'+  { -- | The ID of the migration workflow.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartWorkflow' 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:+--+-- 'id', 'startWorkflow_id' - The ID of the migration workflow.+newStartWorkflow ::+  -- | 'id'+  Prelude.Text ->+  StartWorkflow+newStartWorkflow pId_ = StartWorkflow' {id = pId_}++-- | The ID of the migration workflow.+startWorkflow_id :: Lens.Lens' StartWorkflow Prelude.Text+startWorkflow_id = Lens.lens (\StartWorkflow' {id} -> id) (\s@StartWorkflow' {} a -> s {id = a} :: StartWorkflow)++instance Core.AWSRequest StartWorkflow where+  type+    AWSResponse StartWorkflow =+      StartWorkflowResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartWorkflowResponse'+            Prelude.<$> (x Data..?> "arn")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "lastStartTime")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "statusMessage")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartWorkflow where+  hashWithSalt _salt StartWorkflow' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData StartWorkflow where+  rnf StartWorkflow' {..} = Prelude.rnf id++instance Data.ToHeaders StartWorkflow where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartWorkflow where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath StartWorkflow where+  toPath StartWorkflow' {..} =+    Prelude.mconcat+      ["/migrationworkflow/", Data.toBS id, "/start"]++instance Data.ToQuery StartWorkflow where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartWorkflowResponse' smart constructor.+data StartWorkflowResponse = StartWorkflowResponse'+  { -- | The Amazon Resource Name (ARN) of the migration workflow.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the migration workflow.+    id :: Prelude.Maybe Prelude.Text,+    -- | The time at which the migration workflow was last started.+    lastStartTime :: Prelude.Maybe Data.POSIX,+    -- | The status of the migration workflow.+    status :: Prelude.Maybe MigrationWorkflowStatusEnum,+    -- | The status message of the migration workflow.+    statusMessage :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartWorkflowResponse' 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', 'startWorkflowResponse_arn' - The Amazon Resource Name (ARN) of the migration workflow.+--+-- 'id', 'startWorkflowResponse_id' - The ID of the migration workflow.+--+-- 'lastStartTime', 'startWorkflowResponse_lastStartTime' - The time at which the migration workflow was last started.+--+-- 'status', 'startWorkflowResponse_status' - The status of the migration workflow.+--+-- 'statusMessage', 'startWorkflowResponse_statusMessage' - The status message of the migration workflow.+--+-- 'httpStatus', 'startWorkflowResponse_httpStatus' - The response's http status code.+newStartWorkflowResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartWorkflowResponse+newStartWorkflowResponse pHttpStatus_ =+  StartWorkflowResponse'+    { arn = Prelude.Nothing,+      id = Prelude.Nothing,+      lastStartTime = Prelude.Nothing,+      status = Prelude.Nothing,+      statusMessage = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the migration workflow.+startWorkflowResponse_arn :: Lens.Lens' StartWorkflowResponse (Prelude.Maybe Prelude.Text)+startWorkflowResponse_arn = Lens.lens (\StartWorkflowResponse' {arn} -> arn) (\s@StartWorkflowResponse' {} a -> s {arn = a} :: StartWorkflowResponse)++-- | The ID of the migration workflow.+startWorkflowResponse_id :: Lens.Lens' StartWorkflowResponse (Prelude.Maybe Prelude.Text)+startWorkflowResponse_id = Lens.lens (\StartWorkflowResponse' {id} -> id) (\s@StartWorkflowResponse' {} a -> s {id = a} :: StartWorkflowResponse)++-- | The time at which the migration workflow was last started.+startWorkflowResponse_lastStartTime :: Lens.Lens' StartWorkflowResponse (Prelude.Maybe Prelude.UTCTime)+startWorkflowResponse_lastStartTime = Lens.lens (\StartWorkflowResponse' {lastStartTime} -> lastStartTime) (\s@StartWorkflowResponse' {} a -> s {lastStartTime = a} :: StartWorkflowResponse) Prelude.. Lens.mapping Data._Time++-- | The status of the migration workflow.+startWorkflowResponse_status :: Lens.Lens' StartWorkflowResponse (Prelude.Maybe MigrationWorkflowStatusEnum)+startWorkflowResponse_status = Lens.lens (\StartWorkflowResponse' {status} -> status) (\s@StartWorkflowResponse' {} a -> s {status = a} :: StartWorkflowResponse)++-- | The status message of the migration workflow.+startWorkflowResponse_statusMessage :: Lens.Lens' StartWorkflowResponse (Prelude.Maybe Prelude.Text)+startWorkflowResponse_statusMessage = Lens.lens (\StartWorkflowResponse' {statusMessage} -> statusMessage) (\s@StartWorkflowResponse' {} a -> s {statusMessage = a} :: StartWorkflowResponse)++-- | The response's http status code.+startWorkflowResponse_httpStatus :: Lens.Lens' StartWorkflowResponse Prelude.Int+startWorkflowResponse_httpStatus = Lens.lens (\StartWorkflowResponse' {httpStatus} -> httpStatus) (\s@StartWorkflowResponse' {} a -> s {httpStatus = a} :: StartWorkflowResponse)++instance Prelude.NFData StartWorkflowResponse where+  rnf StartWorkflowResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastStartTime+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/StopWorkflow.hs view
@@ -0,0 +1,206 @@+{-# 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.MigrationHubOrchestrator.StopWorkflow+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stop an ongoing migration workflow.+module Amazonka.MigrationHubOrchestrator.StopWorkflow+  ( -- * Creating a Request+    StopWorkflow (..),+    newStopWorkflow,++    -- * Request Lenses+    stopWorkflow_id,++    -- * Destructuring the Response+    StopWorkflowResponse (..),+    newStopWorkflowResponse,++    -- * Response Lenses+    stopWorkflowResponse_arn,+    stopWorkflowResponse_id,+    stopWorkflowResponse_lastStopTime,+    stopWorkflowResponse_status,+    stopWorkflowResponse_statusMessage,+    stopWorkflowResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopWorkflow' smart constructor.+data StopWorkflow = StopWorkflow'+  { -- | The ID of the migration workflow.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopWorkflow' 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:+--+-- 'id', 'stopWorkflow_id' - The ID of the migration workflow.+newStopWorkflow ::+  -- | 'id'+  Prelude.Text ->+  StopWorkflow+newStopWorkflow pId_ = StopWorkflow' {id = pId_}++-- | The ID of the migration workflow.+stopWorkflow_id :: Lens.Lens' StopWorkflow Prelude.Text+stopWorkflow_id = Lens.lens (\StopWorkflow' {id} -> id) (\s@StopWorkflow' {} a -> s {id = a} :: StopWorkflow)++instance Core.AWSRequest StopWorkflow where+  type AWSResponse StopWorkflow = StopWorkflowResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StopWorkflowResponse'+            Prelude.<$> (x Data..?> "arn")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "lastStopTime")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "statusMessage")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopWorkflow where+  hashWithSalt _salt StopWorkflow' {..} =+    _salt `Prelude.hashWithSalt` id++instance Prelude.NFData StopWorkflow where+  rnf StopWorkflow' {..} = Prelude.rnf id++instance Data.ToHeaders StopWorkflow where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopWorkflow where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath StopWorkflow where+  toPath StopWorkflow' {..} =+    Prelude.mconcat+      ["/migrationworkflow/", Data.toBS id, "/stop"]++instance Data.ToQuery StopWorkflow where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopWorkflowResponse' smart constructor.+data StopWorkflowResponse = StopWorkflowResponse'+  { -- | The Amazon Resource Name (ARN) of the migration workflow.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the migration workflow.+    id :: Prelude.Maybe Prelude.Text,+    -- | The time at which the migration workflow was stopped.+    lastStopTime :: Prelude.Maybe Data.POSIX,+    -- | The status of the migration workflow.+    status :: Prelude.Maybe MigrationWorkflowStatusEnum,+    -- | The status message of the migration workflow.+    statusMessage :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopWorkflowResponse' 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', 'stopWorkflowResponse_arn' - The Amazon Resource Name (ARN) of the migration workflow.+--+-- 'id', 'stopWorkflowResponse_id' - The ID of the migration workflow.+--+-- 'lastStopTime', 'stopWorkflowResponse_lastStopTime' - The time at which the migration workflow was stopped.+--+-- 'status', 'stopWorkflowResponse_status' - The status of the migration workflow.+--+-- 'statusMessage', 'stopWorkflowResponse_statusMessage' - The status message of the migration workflow.+--+-- 'httpStatus', 'stopWorkflowResponse_httpStatus' - The response's http status code.+newStopWorkflowResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopWorkflowResponse+newStopWorkflowResponse pHttpStatus_ =+  StopWorkflowResponse'+    { arn = Prelude.Nothing,+      id = Prelude.Nothing,+      lastStopTime = Prelude.Nothing,+      status = Prelude.Nothing,+      statusMessage = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the migration workflow.+stopWorkflowResponse_arn :: Lens.Lens' StopWorkflowResponse (Prelude.Maybe Prelude.Text)+stopWorkflowResponse_arn = Lens.lens (\StopWorkflowResponse' {arn} -> arn) (\s@StopWorkflowResponse' {} a -> s {arn = a} :: StopWorkflowResponse)++-- | The ID of the migration workflow.+stopWorkflowResponse_id :: Lens.Lens' StopWorkflowResponse (Prelude.Maybe Prelude.Text)+stopWorkflowResponse_id = Lens.lens (\StopWorkflowResponse' {id} -> id) (\s@StopWorkflowResponse' {} a -> s {id = a} :: StopWorkflowResponse)++-- | The time at which the migration workflow was stopped.+stopWorkflowResponse_lastStopTime :: Lens.Lens' StopWorkflowResponse (Prelude.Maybe Prelude.UTCTime)+stopWorkflowResponse_lastStopTime = Lens.lens (\StopWorkflowResponse' {lastStopTime} -> lastStopTime) (\s@StopWorkflowResponse' {} a -> s {lastStopTime = a} :: StopWorkflowResponse) Prelude.. Lens.mapping Data._Time++-- | The status of the migration workflow.+stopWorkflowResponse_status :: Lens.Lens' StopWorkflowResponse (Prelude.Maybe MigrationWorkflowStatusEnum)+stopWorkflowResponse_status = Lens.lens (\StopWorkflowResponse' {status} -> status) (\s@StopWorkflowResponse' {} a -> s {status = a} :: StopWorkflowResponse)++-- | The status message of the migration workflow.+stopWorkflowResponse_statusMessage :: Lens.Lens' StopWorkflowResponse (Prelude.Maybe Prelude.Text)+stopWorkflowResponse_statusMessage = Lens.lens (\StopWorkflowResponse' {statusMessage} -> statusMessage) (\s@StopWorkflowResponse' {} a -> s {statusMessage = a} :: StopWorkflowResponse)++-- | The response's http status code.+stopWorkflowResponse_httpStatus :: Lens.Lens' StopWorkflowResponse Prelude.Int+stopWorkflowResponse_httpStatus = Lens.lens (\StopWorkflowResponse' {httpStatus} -> httpStatus) (\s@StopWorkflowResponse' {} a -> s {httpStatus = a} :: StopWorkflowResponse)++instance Prelude.NFData StopWorkflowResponse where+  rnf StopWorkflowResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastStopTime+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/TagResource.hs view
@@ -0,0 +1,169 @@+{-# 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.MigrationHubOrchestrator.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)+--+-- Tag a resource by specifying its Amazon Resource Name (ARN).+module Amazonka.MigrationHubOrchestrator.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 Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) of the resource to which you want to add+    -- tags.+    resourceArn :: Prelude.Text,+    -- | A collection of labels, in the form of key:value pairs, that apply to+    -- this resource.+    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 resource to which you want to add+-- tags.+--+-- 'tags', 'tagResource_tags' - A collection of labels, in the form of key:value pairs, that apply to+-- this resource.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the resource to which you want to add+-- tags.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | A collection of labels, in the form of key:value pairs, that apply to+-- this resource.+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/MigrationHubOrchestrator/Types.hs view
@@ -0,0 +1,354 @@+{-# 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.MigrationHubOrchestrator.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.MigrationHubOrchestrator.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ThrottlingException,+    _ValidationException,++    -- * DataType+    DataType (..),++    -- * MigrationWorkflowStatusEnum+    MigrationWorkflowStatusEnum (..),++    -- * Owner+    Owner (..),++    -- * PluginHealth+    PluginHealth (..),++    -- * RunEnvironment+    RunEnvironment (..),++    -- * StepActionType+    StepActionType (..),++    -- * StepGroupStatus+    StepGroupStatus (..),++    -- * StepStatus+    StepStatus (..),++    -- * TargetType+    TargetType (..),++    -- * TemplateStatus+    TemplateStatus (..),++    -- * MigrationWorkflowSummary+    MigrationWorkflowSummary (..),+    newMigrationWorkflowSummary,+    migrationWorkflowSummary_adsApplicationConfigurationName,+    migrationWorkflowSummary_completedSteps,+    migrationWorkflowSummary_creationTime,+    migrationWorkflowSummary_endTime,+    migrationWorkflowSummary_id,+    migrationWorkflowSummary_name,+    migrationWorkflowSummary_status,+    migrationWorkflowSummary_statusMessage,+    migrationWorkflowSummary_templateId,+    migrationWorkflowSummary_totalSteps,++    -- * PlatformCommand+    PlatformCommand (..),+    newPlatformCommand,+    platformCommand_linux,+    platformCommand_windows,++    -- * PlatformScriptKey+    PlatformScriptKey (..),+    newPlatformScriptKey,+    platformScriptKey_linux,+    platformScriptKey_windows,++    -- * PluginSummary+    PluginSummary (..),+    newPluginSummary,+    pluginSummary_hostname,+    pluginSummary_ipAddress,+    pluginSummary_pluginId,+    pluginSummary_registeredTime,+    pluginSummary_status,+    pluginSummary_version,++    -- * StepAutomationConfiguration+    StepAutomationConfiguration (..),+    newStepAutomationConfiguration,+    stepAutomationConfiguration_command,+    stepAutomationConfiguration_runEnvironment,+    stepAutomationConfiguration_scriptLocationS3Bucket,+    stepAutomationConfiguration_scriptLocationS3Key,+    stepAutomationConfiguration_targetType,++    -- * StepInput+    StepInput (..),+    newStepInput,+    stepInput_integerValue,+    stepInput_listOfStringsValue,+    stepInput_mapOfStringValue,+    stepInput_stringValue,++    -- * StepOutput+    StepOutput (..),+    newStepOutput,+    stepOutput_dataType,+    stepOutput_name,+    stepOutput_required,++    -- * TemplateInput+    TemplateInput (..),+    newTemplateInput,+    templateInput_dataType,+    templateInput_inputName,+    templateInput_required,++    -- * TemplateStepGroupSummary+    TemplateStepGroupSummary (..),+    newTemplateStepGroupSummary,+    templateStepGroupSummary_id,+    templateStepGroupSummary_name,+    templateStepGroupSummary_next,+    templateStepGroupSummary_previous,++    -- * TemplateStepSummary+    TemplateStepSummary (..),+    newTemplateStepSummary,+    templateStepSummary_id,+    templateStepSummary_name,+    templateStepSummary_next,+    templateStepSummary_owner,+    templateStepSummary_previous,+    templateStepSummary_stepActionType,+    templateStepSummary_stepGroupId,+    templateStepSummary_targetType,+    templateStepSummary_templateId,++    -- * TemplateSummary+    TemplateSummary (..),+    newTemplateSummary,+    templateSummary_arn,+    templateSummary_description,+    templateSummary_id,+    templateSummary_name,++    -- * Tool+    Tool (..),+    newTool,+    tool_name,+    tool_url,++    -- * WorkflowStepAutomationConfiguration+    WorkflowStepAutomationConfiguration (..),+    newWorkflowStepAutomationConfiguration,+    workflowStepAutomationConfiguration_command,+    workflowStepAutomationConfiguration_runEnvironment,+    workflowStepAutomationConfiguration_scriptLocationS3Bucket,+    workflowStepAutomationConfiguration_scriptLocationS3Key,+    workflowStepAutomationConfiguration_targetType,++    -- * WorkflowStepGroupSummary+    WorkflowStepGroupSummary (..),+    newWorkflowStepGroupSummary,+    workflowStepGroupSummary_id,+    workflowStepGroupSummary_name,+    workflowStepGroupSummary_next,+    workflowStepGroupSummary_owner,+    workflowStepGroupSummary_previous,+    workflowStepGroupSummary_status,++    -- * WorkflowStepOutput+    WorkflowStepOutput (..),+    newWorkflowStepOutput,+    workflowStepOutput_dataType,+    workflowStepOutput_name,+    workflowStepOutput_required,+    workflowStepOutput_value,++    -- * WorkflowStepOutputUnion+    WorkflowStepOutputUnion (..),+    newWorkflowStepOutputUnion,+    workflowStepOutputUnion_integerValue,+    workflowStepOutputUnion_listOfStringValue,+    workflowStepOutputUnion_stringValue,++    -- * WorkflowStepSummary+    WorkflowStepSummary (..),+    newWorkflowStepSummary,+    workflowStepSummary_description,+    workflowStepSummary_name,+    workflowStepSummary_next,+    workflowStepSummary_noOfSrvCompleted,+    workflowStepSummary_noOfSrvFailed,+    workflowStepSummary_owner,+    workflowStepSummary_previous,+    workflowStepSummary_scriptLocation,+    workflowStepSummary_status,+    workflowStepSummary_statusMessage,+    workflowStepSummary_stepActionType,+    workflowStepSummary_stepId,+    workflowStepSummary_totalNoOfSrv,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.MigrationHubOrchestrator.Types.DataType+import Amazonka.MigrationHubOrchestrator.Types.MigrationWorkflowStatusEnum+import Amazonka.MigrationHubOrchestrator.Types.MigrationWorkflowSummary+import Amazonka.MigrationHubOrchestrator.Types.Owner+import Amazonka.MigrationHubOrchestrator.Types.PlatformCommand+import Amazonka.MigrationHubOrchestrator.Types.PlatformScriptKey+import Amazonka.MigrationHubOrchestrator.Types.PluginHealth+import Amazonka.MigrationHubOrchestrator.Types.PluginSummary+import Amazonka.MigrationHubOrchestrator.Types.RunEnvironment+import Amazonka.MigrationHubOrchestrator.Types.StepActionType+import Amazonka.MigrationHubOrchestrator.Types.StepAutomationConfiguration+import Amazonka.MigrationHubOrchestrator.Types.StepGroupStatus+import Amazonka.MigrationHubOrchestrator.Types.StepInput+import Amazonka.MigrationHubOrchestrator.Types.StepOutput+import Amazonka.MigrationHubOrchestrator.Types.StepStatus+import Amazonka.MigrationHubOrchestrator.Types.TargetType+import Amazonka.MigrationHubOrchestrator.Types.TemplateInput+import Amazonka.MigrationHubOrchestrator.Types.TemplateStatus+import Amazonka.MigrationHubOrchestrator.Types.TemplateStepGroupSummary+import Amazonka.MigrationHubOrchestrator.Types.TemplateStepSummary+import Amazonka.MigrationHubOrchestrator.Types.TemplateSummary+import Amazonka.MigrationHubOrchestrator.Types.Tool+import Amazonka.MigrationHubOrchestrator.Types.WorkflowStepAutomationConfiguration+import Amazonka.MigrationHubOrchestrator.Types.WorkflowStepGroupSummary+import Amazonka.MigrationHubOrchestrator.Types.WorkflowStepOutput+import Amazonka.MigrationHubOrchestrator.Types.WorkflowStepOutputUnion+import Amazonka.MigrationHubOrchestrator.Types.WorkflowStepSummary+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2021-08-28@ of the Amazon Migration Hub Orchestrator SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev =+        "MigrationHubOrchestrator",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "migrationhub-orchestrator",+      Core.signingName = "migrationhub-orchestrator",+      Core.version = "2021-08-28",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error =+        Core.parseJSONError "MigrationHubOrchestrator",+      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 do not have sufficient access to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | An internal error has occurred.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | The resource is not available.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | 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 AWS service.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/MigrationHubOrchestrator/Types/DataType.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.MigrationHubOrchestrator.Types.DataType+-- 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.MigrationHubOrchestrator.Types.DataType+  ( DataType+      ( ..,+        DataType_INTEGER,+        DataType_STRING,+        DataType_STRINGLIST,+        DataType_STRINGMAP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DataType = DataType'+  { fromDataType ::+      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 DataType_INTEGER :: DataType+pattern DataType_INTEGER = DataType' "INTEGER"++pattern DataType_STRING :: DataType+pattern DataType_STRING = DataType' "STRING"++pattern DataType_STRINGLIST :: DataType+pattern DataType_STRINGLIST = DataType' "STRINGLIST"++pattern DataType_STRINGMAP :: DataType+pattern DataType_STRINGMAP = DataType' "STRINGMAP"++{-# COMPLETE+  DataType_INTEGER,+  DataType_STRING,+  DataType_STRINGLIST,+  DataType_STRINGMAP,+  DataType'+  #-}
+ gen/Amazonka/MigrationHubOrchestrator/Types/MigrationWorkflowStatusEnum.hs view
@@ -0,0 +1,131 @@+{-# 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.MigrationHubOrchestrator.Types.MigrationWorkflowStatusEnum+-- 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.MigrationHubOrchestrator.Types.MigrationWorkflowStatusEnum+  ( MigrationWorkflowStatusEnum+      ( ..,+        MigrationWorkflowStatusEnum_COMPLETED,+        MigrationWorkflowStatusEnum_CREATING,+        MigrationWorkflowStatusEnum_CREATION_FAILED,+        MigrationWorkflowStatusEnum_DELETED,+        MigrationWorkflowStatusEnum_DELETING,+        MigrationWorkflowStatusEnum_DELETION_FAILED,+        MigrationWorkflowStatusEnum_IN_PROGRESS,+        MigrationWorkflowStatusEnum_NOT_STARTED,+        MigrationWorkflowStatusEnum_PAUSED,+        MigrationWorkflowStatusEnum_PAUSING,+        MigrationWorkflowStatusEnum_PAUSING_FAILED,+        MigrationWorkflowStatusEnum_STARTING,+        MigrationWorkflowStatusEnum_USER_ATTENTION_REQUIRED,+        MigrationWorkflowStatusEnum_WORKFLOW_FAILED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MigrationWorkflowStatusEnum = MigrationWorkflowStatusEnum'+  { fromMigrationWorkflowStatusEnum ::+      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 MigrationWorkflowStatusEnum_COMPLETED :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_COMPLETED = MigrationWorkflowStatusEnum' "COMPLETED"++pattern MigrationWorkflowStatusEnum_CREATING :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_CREATING = MigrationWorkflowStatusEnum' "CREATING"++pattern MigrationWorkflowStatusEnum_CREATION_FAILED :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_CREATION_FAILED = MigrationWorkflowStatusEnum' "CREATION_FAILED"++pattern MigrationWorkflowStatusEnum_DELETED :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_DELETED = MigrationWorkflowStatusEnum' "DELETED"++pattern MigrationWorkflowStatusEnum_DELETING :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_DELETING = MigrationWorkflowStatusEnum' "DELETING"++pattern MigrationWorkflowStatusEnum_DELETION_FAILED :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_DELETION_FAILED = MigrationWorkflowStatusEnum' "DELETION_FAILED"++pattern MigrationWorkflowStatusEnum_IN_PROGRESS :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_IN_PROGRESS = MigrationWorkflowStatusEnum' "IN_PROGRESS"++pattern MigrationWorkflowStatusEnum_NOT_STARTED :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_NOT_STARTED = MigrationWorkflowStatusEnum' "NOT_STARTED"++pattern MigrationWorkflowStatusEnum_PAUSED :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_PAUSED = MigrationWorkflowStatusEnum' "PAUSED"++pattern MigrationWorkflowStatusEnum_PAUSING :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_PAUSING = MigrationWorkflowStatusEnum' "PAUSING"++pattern MigrationWorkflowStatusEnum_PAUSING_FAILED :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_PAUSING_FAILED = MigrationWorkflowStatusEnum' "PAUSING_FAILED"++pattern MigrationWorkflowStatusEnum_STARTING :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_STARTING = MigrationWorkflowStatusEnum' "STARTING"++pattern MigrationWorkflowStatusEnum_USER_ATTENTION_REQUIRED :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_USER_ATTENTION_REQUIRED = MigrationWorkflowStatusEnum' "USER_ATTENTION_REQUIRED"++pattern MigrationWorkflowStatusEnum_WORKFLOW_FAILED :: MigrationWorkflowStatusEnum+pattern MigrationWorkflowStatusEnum_WORKFLOW_FAILED = MigrationWorkflowStatusEnum' "WORKFLOW_FAILED"++{-# COMPLETE+  MigrationWorkflowStatusEnum_COMPLETED,+  MigrationWorkflowStatusEnum_CREATING,+  MigrationWorkflowStatusEnum_CREATION_FAILED,+  MigrationWorkflowStatusEnum_DELETED,+  MigrationWorkflowStatusEnum_DELETING,+  MigrationWorkflowStatusEnum_DELETION_FAILED,+  MigrationWorkflowStatusEnum_IN_PROGRESS,+  MigrationWorkflowStatusEnum_NOT_STARTED,+  MigrationWorkflowStatusEnum_PAUSED,+  MigrationWorkflowStatusEnum_PAUSING,+  MigrationWorkflowStatusEnum_PAUSING_FAILED,+  MigrationWorkflowStatusEnum_STARTING,+  MigrationWorkflowStatusEnum_USER_ATTENTION_REQUIRED,+  MigrationWorkflowStatusEnum_WORKFLOW_FAILED,+  MigrationWorkflowStatusEnum'+  #-}
+ gen/Amazonka/MigrationHubOrchestrator/Types/MigrationWorkflowSummary.hs view
@@ -0,0 +1,182 @@+{-# 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.MigrationHubOrchestrator.Types.MigrationWorkflowSummary+-- 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.MigrationHubOrchestrator.Types.MigrationWorkflowSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types.MigrationWorkflowStatusEnum+import qualified Amazonka.Prelude as Prelude++-- | The summary of a migration workflow.+--+-- /See:/ 'newMigrationWorkflowSummary' smart constructor.+data MigrationWorkflowSummary = MigrationWorkflowSummary'+  { -- | The name of the application configured in Application Discovery Service.+    adsApplicationConfigurationName :: Prelude.Maybe Prelude.Text,+    -- | The steps completed in the migration workflow.+    completedSteps :: Prelude.Maybe Prelude.Int,+    -- | The time at which the migration workflow was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The time at which the migration workflow ended.+    endTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the migration workflow.+    id :: Prelude.Maybe Prelude.Text,+    -- | The name of the migration workflow.+    name :: Prelude.Maybe Prelude.Text,+    -- | The status of the migration workflow.+    status :: Prelude.Maybe MigrationWorkflowStatusEnum,+    -- | The status message of the migration workflow.+    statusMessage :: Prelude.Maybe Prelude.Text,+    -- | The ID of the template.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | All the steps in a migration workflow.+    totalSteps :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MigrationWorkflowSummary' 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:+--+-- 'adsApplicationConfigurationName', 'migrationWorkflowSummary_adsApplicationConfigurationName' - The name of the application configured in Application Discovery Service.+--+-- 'completedSteps', 'migrationWorkflowSummary_completedSteps' - The steps completed in the migration workflow.+--+-- 'creationTime', 'migrationWorkflowSummary_creationTime' - The time at which the migration workflow was created.+--+-- 'endTime', 'migrationWorkflowSummary_endTime' - The time at which the migration workflow ended.+--+-- 'id', 'migrationWorkflowSummary_id' - The ID of the migration workflow.+--+-- 'name', 'migrationWorkflowSummary_name' - The name of the migration workflow.+--+-- 'status', 'migrationWorkflowSummary_status' - The status of the migration workflow.+--+-- 'statusMessage', 'migrationWorkflowSummary_statusMessage' - The status message of the migration workflow.+--+-- 'templateId', 'migrationWorkflowSummary_templateId' - The ID of the template.+--+-- 'totalSteps', 'migrationWorkflowSummary_totalSteps' - All the steps in a migration workflow.+newMigrationWorkflowSummary ::+  MigrationWorkflowSummary+newMigrationWorkflowSummary =+  MigrationWorkflowSummary'+    { adsApplicationConfigurationName =+        Prelude.Nothing,+      completedSteps = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      endTime = Prelude.Nothing,+      id = Prelude.Nothing,+      name = Prelude.Nothing,+      status = Prelude.Nothing,+      statusMessage = Prelude.Nothing,+      templateId = Prelude.Nothing,+      totalSteps = Prelude.Nothing+    }++-- | The name of the application configured in Application Discovery Service.+migrationWorkflowSummary_adsApplicationConfigurationName :: Lens.Lens' MigrationWorkflowSummary (Prelude.Maybe Prelude.Text)+migrationWorkflowSummary_adsApplicationConfigurationName = Lens.lens (\MigrationWorkflowSummary' {adsApplicationConfigurationName} -> adsApplicationConfigurationName) (\s@MigrationWorkflowSummary' {} a -> s {adsApplicationConfigurationName = a} :: MigrationWorkflowSummary)++-- | The steps completed in the migration workflow.+migrationWorkflowSummary_completedSteps :: Lens.Lens' MigrationWorkflowSummary (Prelude.Maybe Prelude.Int)+migrationWorkflowSummary_completedSteps = Lens.lens (\MigrationWorkflowSummary' {completedSteps} -> completedSteps) (\s@MigrationWorkflowSummary' {} a -> s {completedSteps = a} :: MigrationWorkflowSummary)++-- | The time at which the migration workflow was created.+migrationWorkflowSummary_creationTime :: Lens.Lens' MigrationWorkflowSummary (Prelude.Maybe Prelude.UTCTime)+migrationWorkflowSummary_creationTime = Lens.lens (\MigrationWorkflowSummary' {creationTime} -> creationTime) (\s@MigrationWorkflowSummary' {} a -> s {creationTime = a} :: MigrationWorkflowSummary) Prelude.. Lens.mapping Data._Time++-- | The time at which the migration workflow ended.+migrationWorkflowSummary_endTime :: Lens.Lens' MigrationWorkflowSummary (Prelude.Maybe Prelude.UTCTime)+migrationWorkflowSummary_endTime = Lens.lens (\MigrationWorkflowSummary' {endTime} -> endTime) (\s@MigrationWorkflowSummary' {} a -> s {endTime = a} :: MigrationWorkflowSummary) Prelude.. Lens.mapping Data._Time++-- | The ID of the migration workflow.+migrationWorkflowSummary_id :: Lens.Lens' MigrationWorkflowSummary (Prelude.Maybe Prelude.Text)+migrationWorkflowSummary_id = Lens.lens (\MigrationWorkflowSummary' {id} -> id) (\s@MigrationWorkflowSummary' {} a -> s {id = a} :: MigrationWorkflowSummary)++-- | The name of the migration workflow.+migrationWorkflowSummary_name :: Lens.Lens' MigrationWorkflowSummary (Prelude.Maybe Prelude.Text)+migrationWorkflowSummary_name = Lens.lens (\MigrationWorkflowSummary' {name} -> name) (\s@MigrationWorkflowSummary' {} a -> s {name = a} :: MigrationWorkflowSummary)++-- | The status of the migration workflow.+migrationWorkflowSummary_status :: Lens.Lens' MigrationWorkflowSummary (Prelude.Maybe MigrationWorkflowStatusEnum)+migrationWorkflowSummary_status = Lens.lens (\MigrationWorkflowSummary' {status} -> status) (\s@MigrationWorkflowSummary' {} a -> s {status = a} :: MigrationWorkflowSummary)++-- | The status message of the migration workflow.+migrationWorkflowSummary_statusMessage :: Lens.Lens' MigrationWorkflowSummary (Prelude.Maybe Prelude.Text)+migrationWorkflowSummary_statusMessage = Lens.lens (\MigrationWorkflowSummary' {statusMessage} -> statusMessage) (\s@MigrationWorkflowSummary' {} a -> s {statusMessage = a} :: MigrationWorkflowSummary)++-- | The ID of the template.+migrationWorkflowSummary_templateId :: Lens.Lens' MigrationWorkflowSummary (Prelude.Maybe Prelude.Text)+migrationWorkflowSummary_templateId = Lens.lens (\MigrationWorkflowSummary' {templateId} -> templateId) (\s@MigrationWorkflowSummary' {} a -> s {templateId = a} :: MigrationWorkflowSummary)++-- | All the steps in a migration workflow.+migrationWorkflowSummary_totalSteps :: Lens.Lens' MigrationWorkflowSummary (Prelude.Maybe Prelude.Int)+migrationWorkflowSummary_totalSteps = Lens.lens (\MigrationWorkflowSummary' {totalSteps} -> totalSteps) (\s@MigrationWorkflowSummary' {} a -> s {totalSteps = a} :: MigrationWorkflowSummary)++instance Data.FromJSON MigrationWorkflowSummary where+  parseJSON =+    Data.withObject+      "MigrationWorkflowSummary"+      ( \x ->+          MigrationWorkflowSummary'+            Prelude.<$> (x Data..:? "adsApplicationConfigurationName")+            Prelude.<*> (x Data..:? "completedSteps")+            Prelude.<*> (x Data..:? "creationTime")+            Prelude.<*> (x Data..:? "endTime")+            Prelude.<*> (x Data..:? "id")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "status")+            Prelude.<*> (x Data..:? "statusMessage")+            Prelude.<*> (x Data..:? "templateId")+            Prelude.<*> (x Data..:? "totalSteps")+      )++instance Prelude.Hashable MigrationWorkflowSummary where+  hashWithSalt _salt MigrationWorkflowSummary' {..} =+    _salt+      `Prelude.hashWithSalt` adsApplicationConfigurationName+      `Prelude.hashWithSalt` completedSteps+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` endTime+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` statusMessage+      `Prelude.hashWithSalt` templateId+      `Prelude.hashWithSalt` totalSteps++instance Prelude.NFData MigrationWorkflowSummary where+  rnf MigrationWorkflowSummary' {..} =+    Prelude.rnf adsApplicationConfigurationName+      `Prelude.seq` Prelude.rnf completedSteps+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf endTime+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf totalSteps
+ gen/Amazonka/MigrationHubOrchestrator/Types/Owner.hs view
@@ -0,0 +1,68 @@+{-# 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.MigrationHubOrchestrator.Types.Owner+-- 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.MigrationHubOrchestrator.Types.Owner+  ( Owner+      ( ..,+        Owner_AWS_MANAGED,+        Owner_CUSTOM+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Owner = Owner' {fromOwner :: 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 Owner_AWS_MANAGED :: Owner+pattern Owner_AWS_MANAGED = Owner' "AWS_MANAGED"++pattern Owner_CUSTOM :: Owner+pattern Owner_CUSTOM = Owner' "CUSTOM"++{-# COMPLETE+  Owner_AWS_MANAGED,+  Owner_CUSTOM,+  Owner'+  #-}
+ gen/Amazonka/MigrationHubOrchestrator/Types/PlatformCommand.hs view
@@ -0,0 +1,92 @@+{-# 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.MigrationHubOrchestrator.Types.PlatformCommand+-- 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.MigrationHubOrchestrator.Types.PlatformCommand 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++-- | Command to be run on a particular operating system.+--+-- /See:/ 'newPlatformCommand' smart constructor.+data PlatformCommand = PlatformCommand'+  { -- | Command for Linux.+    linux :: Prelude.Maybe Prelude.Text,+    -- | Command for Windows.+    windows :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PlatformCommand' 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:+--+-- 'linux', 'platformCommand_linux' - Command for Linux.+--+-- 'windows', 'platformCommand_windows' - Command for Windows.+newPlatformCommand ::+  PlatformCommand+newPlatformCommand =+  PlatformCommand'+    { linux = Prelude.Nothing,+      windows = Prelude.Nothing+    }++-- | Command for Linux.+platformCommand_linux :: Lens.Lens' PlatformCommand (Prelude.Maybe Prelude.Text)+platformCommand_linux = Lens.lens (\PlatformCommand' {linux} -> linux) (\s@PlatformCommand' {} a -> s {linux = a} :: PlatformCommand)++-- | Command for Windows.+platformCommand_windows :: Lens.Lens' PlatformCommand (Prelude.Maybe Prelude.Text)+platformCommand_windows = Lens.lens (\PlatformCommand' {windows} -> windows) (\s@PlatformCommand' {} a -> s {windows = a} :: PlatformCommand)++instance Data.FromJSON PlatformCommand where+  parseJSON =+    Data.withObject+      "PlatformCommand"+      ( \x ->+          PlatformCommand'+            Prelude.<$> (x Data..:? "linux")+            Prelude.<*> (x Data..:? "windows")+      )++instance Prelude.Hashable PlatformCommand where+  hashWithSalt _salt PlatformCommand' {..} =+    _salt+      `Prelude.hashWithSalt` linux+      `Prelude.hashWithSalt` windows++instance Prelude.NFData PlatformCommand where+  rnf PlatformCommand' {..} =+    Prelude.rnf linux `Prelude.seq` Prelude.rnf windows++instance Data.ToJSON PlatformCommand where+  toJSON PlatformCommand' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("linux" Data..=) Prelude.<$> linux,+            ("windows" Data..=) Prelude.<$> windows+          ]+      )
+ gen/Amazonka/MigrationHubOrchestrator/Types/PlatformScriptKey.hs view
@@ -0,0 +1,92 @@+{-# 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.MigrationHubOrchestrator.Types.PlatformScriptKey+-- 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.MigrationHubOrchestrator.Types.PlatformScriptKey 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 script location for a particular operating system.+--+-- /See:/ 'newPlatformScriptKey' smart constructor.+data PlatformScriptKey = PlatformScriptKey'+  { -- | The script location for Linux.+    linux :: Prelude.Maybe Prelude.Text,+    -- | The script location for Windows.+    windows :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PlatformScriptKey' 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:+--+-- 'linux', 'platformScriptKey_linux' - The script location for Linux.+--+-- 'windows', 'platformScriptKey_windows' - The script location for Windows.+newPlatformScriptKey ::+  PlatformScriptKey+newPlatformScriptKey =+  PlatformScriptKey'+    { linux = Prelude.Nothing,+      windows = Prelude.Nothing+    }++-- | The script location for Linux.+platformScriptKey_linux :: Lens.Lens' PlatformScriptKey (Prelude.Maybe Prelude.Text)+platformScriptKey_linux = Lens.lens (\PlatformScriptKey' {linux} -> linux) (\s@PlatformScriptKey' {} a -> s {linux = a} :: PlatformScriptKey)++-- | The script location for Windows.+platformScriptKey_windows :: Lens.Lens' PlatformScriptKey (Prelude.Maybe Prelude.Text)+platformScriptKey_windows = Lens.lens (\PlatformScriptKey' {windows} -> windows) (\s@PlatformScriptKey' {} a -> s {windows = a} :: PlatformScriptKey)++instance Data.FromJSON PlatformScriptKey where+  parseJSON =+    Data.withObject+      "PlatformScriptKey"+      ( \x ->+          PlatformScriptKey'+            Prelude.<$> (x Data..:? "linux")+            Prelude.<*> (x Data..:? "windows")+      )++instance Prelude.Hashable PlatformScriptKey where+  hashWithSalt _salt PlatformScriptKey' {..} =+    _salt+      `Prelude.hashWithSalt` linux+      `Prelude.hashWithSalt` windows++instance Prelude.NFData PlatformScriptKey where+  rnf PlatformScriptKey' {..} =+    Prelude.rnf linux `Prelude.seq` Prelude.rnf windows++instance Data.ToJSON PlatformScriptKey where+  toJSON PlatformScriptKey' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("linux" Data..=) Prelude.<$> linux,+            ("windows" Data..=) Prelude.<$> windows+          ]+      )
+ gen/Amazonka/MigrationHubOrchestrator/Types/PluginHealth.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.MigrationHubOrchestrator.Types.PluginHealth+-- 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.MigrationHubOrchestrator.Types.PluginHealth+  ( PluginHealth+      ( ..,+        PluginHealth_HEALTHY,+        PluginHealth_UNHEALTHY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PluginHealth = PluginHealth'+  { fromPluginHealth ::+      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 PluginHealth_HEALTHY :: PluginHealth+pattern PluginHealth_HEALTHY = PluginHealth' "HEALTHY"++pattern PluginHealth_UNHEALTHY :: PluginHealth+pattern PluginHealth_UNHEALTHY = PluginHealth' "UNHEALTHY"++{-# COMPLETE+  PluginHealth_HEALTHY,+  PluginHealth_UNHEALTHY,+  PluginHealth'+  #-}
+ gen/Amazonka/MigrationHubOrchestrator/Types/PluginSummary.hs view
@@ -0,0 +1,133 @@+{-# 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.MigrationHubOrchestrator.Types.PluginSummary+-- 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.MigrationHubOrchestrator.Types.PluginSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types.PluginHealth+import qualified Amazonka.Prelude as Prelude++-- | The summary of the Migration Hub Orchestrator plugin.+--+-- /See:/ 'newPluginSummary' smart constructor.+data PluginSummary = PluginSummary'+  { -- | The name of the host.+    hostname :: Prelude.Maybe Prelude.Text,+    -- | The IP address at which the plugin is located.+    ipAddress :: Prelude.Maybe Prelude.Text,+    -- | The ID of the plugin.+    pluginId :: Prelude.Maybe Prelude.Text,+    -- | The time at which the plugin was registered.+    registeredTime :: Prelude.Maybe Prelude.Text,+    -- | The status of the plugin.+    status :: Prelude.Maybe PluginHealth,+    -- | The version of the plugin.+    version :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PluginSummary' 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:+--+-- 'hostname', 'pluginSummary_hostname' - The name of the host.+--+-- 'ipAddress', 'pluginSummary_ipAddress' - The IP address at which the plugin is located.+--+-- 'pluginId', 'pluginSummary_pluginId' - The ID of the plugin.+--+-- 'registeredTime', 'pluginSummary_registeredTime' - The time at which the plugin was registered.+--+-- 'status', 'pluginSummary_status' - The status of the plugin.+--+-- 'version', 'pluginSummary_version' - The version of the plugin.+newPluginSummary ::+  PluginSummary+newPluginSummary =+  PluginSummary'+    { hostname = Prelude.Nothing,+      ipAddress = Prelude.Nothing,+      pluginId = Prelude.Nothing,+      registeredTime = Prelude.Nothing,+      status = Prelude.Nothing,+      version = Prelude.Nothing+    }++-- | The name of the host.+pluginSummary_hostname :: Lens.Lens' PluginSummary (Prelude.Maybe Prelude.Text)+pluginSummary_hostname = Lens.lens (\PluginSummary' {hostname} -> hostname) (\s@PluginSummary' {} a -> s {hostname = a} :: PluginSummary)++-- | The IP address at which the plugin is located.+pluginSummary_ipAddress :: Lens.Lens' PluginSummary (Prelude.Maybe Prelude.Text)+pluginSummary_ipAddress = Lens.lens (\PluginSummary' {ipAddress} -> ipAddress) (\s@PluginSummary' {} a -> s {ipAddress = a} :: PluginSummary)++-- | The ID of the plugin.+pluginSummary_pluginId :: Lens.Lens' PluginSummary (Prelude.Maybe Prelude.Text)+pluginSummary_pluginId = Lens.lens (\PluginSummary' {pluginId} -> pluginId) (\s@PluginSummary' {} a -> s {pluginId = a} :: PluginSummary)++-- | The time at which the plugin was registered.+pluginSummary_registeredTime :: Lens.Lens' PluginSummary (Prelude.Maybe Prelude.Text)+pluginSummary_registeredTime = Lens.lens (\PluginSummary' {registeredTime} -> registeredTime) (\s@PluginSummary' {} a -> s {registeredTime = a} :: PluginSummary)++-- | The status of the plugin.+pluginSummary_status :: Lens.Lens' PluginSummary (Prelude.Maybe PluginHealth)+pluginSummary_status = Lens.lens (\PluginSummary' {status} -> status) (\s@PluginSummary' {} a -> s {status = a} :: PluginSummary)++-- | The version of the plugin.+pluginSummary_version :: Lens.Lens' PluginSummary (Prelude.Maybe Prelude.Text)+pluginSummary_version = Lens.lens (\PluginSummary' {version} -> version) (\s@PluginSummary' {} a -> s {version = a} :: PluginSummary)++instance Data.FromJSON PluginSummary where+  parseJSON =+    Data.withObject+      "PluginSummary"+      ( \x ->+          PluginSummary'+            Prelude.<$> (x Data..:? "hostname")+            Prelude.<*> (x Data..:? "ipAddress")+            Prelude.<*> (x Data..:? "pluginId")+            Prelude.<*> (x Data..:? "registeredTime")+            Prelude.<*> (x Data..:? "status")+            Prelude.<*> (x Data..:? "version")+      )++instance Prelude.Hashable PluginSummary where+  hashWithSalt _salt PluginSummary' {..} =+    _salt+      `Prelude.hashWithSalt` hostname+      `Prelude.hashWithSalt` ipAddress+      `Prelude.hashWithSalt` pluginId+      `Prelude.hashWithSalt` registeredTime+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` version++instance Prelude.NFData PluginSummary where+  rnf PluginSummary' {..} =+    Prelude.rnf hostname+      `Prelude.seq` Prelude.rnf ipAddress+      `Prelude.seq` Prelude.rnf pluginId+      `Prelude.seq` Prelude.rnf registeredTime+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf version
+ gen/Amazonka/MigrationHubOrchestrator/Types/RunEnvironment.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.MigrationHubOrchestrator.Types.RunEnvironment+-- 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.MigrationHubOrchestrator.Types.RunEnvironment+  ( RunEnvironment+      ( ..,+        RunEnvironment_AWS,+        RunEnvironment_ONPREMISE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RunEnvironment = RunEnvironment'+  { fromRunEnvironment ::+      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 RunEnvironment_AWS :: RunEnvironment+pattern RunEnvironment_AWS = RunEnvironment' "AWS"++pattern RunEnvironment_ONPREMISE :: RunEnvironment+pattern RunEnvironment_ONPREMISE = RunEnvironment' "ONPREMISE"++{-# COMPLETE+  RunEnvironment_AWS,+  RunEnvironment_ONPREMISE,+  RunEnvironment'+  #-}
+ gen/Amazonka/MigrationHubOrchestrator/Types/StepActionType.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.MigrationHubOrchestrator.Types.StepActionType+-- 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.MigrationHubOrchestrator.Types.StepActionType+  ( StepActionType+      ( ..,+        StepActionType_AUTOMATED,+        StepActionType_MANUAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StepActionType = StepActionType'+  { fromStepActionType ::+      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 StepActionType_AUTOMATED :: StepActionType+pattern StepActionType_AUTOMATED = StepActionType' "AUTOMATED"++pattern StepActionType_MANUAL :: StepActionType+pattern StepActionType_MANUAL = StepActionType' "MANUAL"++{-# COMPLETE+  StepActionType_AUTOMATED,+  StepActionType_MANUAL,+  StepActionType'+  #-}
+ gen/Amazonka/MigrationHubOrchestrator/Types/StepAutomationConfiguration.hs view
@@ -0,0 +1,125 @@+{-# 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.MigrationHubOrchestrator.Types.StepAutomationConfiguration+-- 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.MigrationHubOrchestrator.Types.StepAutomationConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types.PlatformCommand+import Amazonka.MigrationHubOrchestrator.Types.PlatformScriptKey+import Amazonka.MigrationHubOrchestrator.Types.RunEnvironment+import Amazonka.MigrationHubOrchestrator.Types.TargetType+import qualified Amazonka.Prelude as Prelude++-- | The custom script to run tests on source or target environments.+--+-- /See:/ 'newStepAutomationConfiguration' smart constructor.+data StepAutomationConfiguration = StepAutomationConfiguration'+  { -- | The command to run the script.+    command :: Prelude.Maybe PlatformCommand,+    -- | The source or target environment.+    runEnvironment :: Prelude.Maybe RunEnvironment,+    -- | The Amazon S3 bucket where the script is located.+    scriptLocationS3Bucket :: Prelude.Maybe Prelude.Text,+    -- | The Amazon S3 key for the script location.+    scriptLocationS3Key :: Prelude.Maybe PlatformScriptKey,+    -- | The servers on which to run the script.+    targetType :: Prelude.Maybe TargetType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StepAutomationConfiguration' 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:+--+-- 'command', 'stepAutomationConfiguration_command' - The command to run the script.+--+-- 'runEnvironment', 'stepAutomationConfiguration_runEnvironment' - The source or target environment.+--+-- 'scriptLocationS3Bucket', 'stepAutomationConfiguration_scriptLocationS3Bucket' - The Amazon S3 bucket where the script is located.+--+-- 'scriptLocationS3Key', 'stepAutomationConfiguration_scriptLocationS3Key' - The Amazon S3 key for the script location.+--+-- 'targetType', 'stepAutomationConfiguration_targetType' - The servers on which to run the script.+newStepAutomationConfiguration ::+  StepAutomationConfiguration+newStepAutomationConfiguration =+  StepAutomationConfiguration'+    { command =+        Prelude.Nothing,+      runEnvironment = Prelude.Nothing,+      scriptLocationS3Bucket = Prelude.Nothing,+      scriptLocationS3Key = Prelude.Nothing,+      targetType = Prelude.Nothing+    }++-- | The command to run the script.+stepAutomationConfiguration_command :: Lens.Lens' StepAutomationConfiguration (Prelude.Maybe PlatformCommand)+stepAutomationConfiguration_command = Lens.lens (\StepAutomationConfiguration' {command} -> command) (\s@StepAutomationConfiguration' {} a -> s {command = a} :: StepAutomationConfiguration)++-- | The source or target environment.+stepAutomationConfiguration_runEnvironment :: Lens.Lens' StepAutomationConfiguration (Prelude.Maybe RunEnvironment)+stepAutomationConfiguration_runEnvironment = Lens.lens (\StepAutomationConfiguration' {runEnvironment} -> runEnvironment) (\s@StepAutomationConfiguration' {} a -> s {runEnvironment = a} :: StepAutomationConfiguration)++-- | The Amazon S3 bucket where the script is located.+stepAutomationConfiguration_scriptLocationS3Bucket :: Lens.Lens' StepAutomationConfiguration (Prelude.Maybe Prelude.Text)+stepAutomationConfiguration_scriptLocationS3Bucket = Lens.lens (\StepAutomationConfiguration' {scriptLocationS3Bucket} -> scriptLocationS3Bucket) (\s@StepAutomationConfiguration' {} a -> s {scriptLocationS3Bucket = a} :: StepAutomationConfiguration)++-- | The Amazon S3 key for the script location.+stepAutomationConfiguration_scriptLocationS3Key :: Lens.Lens' StepAutomationConfiguration (Prelude.Maybe PlatformScriptKey)+stepAutomationConfiguration_scriptLocationS3Key = Lens.lens (\StepAutomationConfiguration' {scriptLocationS3Key} -> scriptLocationS3Key) (\s@StepAutomationConfiguration' {} a -> s {scriptLocationS3Key = a} :: StepAutomationConfiguration)++-- | The servers on which to run the script.+stepAutomationConfiguration_targetType :: Lens.Lens' StepAutomationConfiguration (Prelude.Maybe TargetType)+stepAutomationConfiguration_targetType = Lens.lens (\StepAutomationConfiguration' {targetType} -> targetType) (\s@StepAutomationConfiguration' {} a -> s {targetType = a} :: StepAutomationConfiguration)++instance Data.FromJSON StepAutomationConfiguration where+  parseJSON =+    Data.withObject+      "StepAutomationConfiguration"+      ( \x ->+          StepAutomationConfiguration'+            Prelude.<$> (x Data..:? "command")+            Prelude.<*> (x Data..:? "runEnvironment")+            Prelude.<*> (x Data..:? "scriptLocationS3Bucket")+            Prelude.<*> (x Data..:? "scriptLocationS3Key")+            Prelude.<*> (x Data..:? "targetType")+      )++instance Prelude.Hashable StepAutomationConfiguration where+  hashWithSalt _salt StepAutomationConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` command+      `Prelude.hashWithSalt` runEnvironment+      `Prelude.hashWithSalt` scriptLocationS3Bucket+      `Prelude.hashWithSalt` scriptLocationS3Key+      `Prelude.hashWithSalt` targetType++instance Prelude.NFData StepAutomationConfiguration where+  rnf StepAutomationConfiguration' {..} =+    Prelude.rnf command+      `Prelude.seq` Prelude.rnf runEnvironment+      `Prelude.seq` Prelude.rnf scriptLocationS3Bucket+      `Prelude.seq` Prelude.rnf scriptLocationS3Key+      `Prelude.seq` Prelude.rnf targetType
+ gen/Amazonka/MigrationHubOrchestrator/Types/StepGroupStatus.hs view
@@ -0,0 +1,101 @@+{-# 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.MigrationHubOrchestrator.Types.StepGroupStatus+-- 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.MigrationHubOrchestrator.Types.StepGroupStatus+  ( StepGroupStatus+      ( ..,+        StepGroupStatus_AWAITING_DEPENDENCIES,+        StepGroupStatus_COMPLETED,+        StepGroupStatus_FAILED,+        StepGroupStatus_IN_PROGRESS,+        StepGroupStatus_PAUSED,+        StepGroupStatus_PAUSING,+        StepGroupStatus_READY,+        StepGroupStatus_USER_ATTENTION_REQUIRED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StepGroupStatus = StepGroupStatus'+  { fromStepGroupStatus ::+      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 StepGroupStatus_AWAITING_DEPENDENCIES :: StepGroupStatus+pattern StepGroupStatus_AWAITING_DEPENDENCIES = StepGroupStatus' "AWAITING_DEPENDENCIES"++pattern StepGroupStatus_COMPLETED :: StepGroupStatus+pattern StepGroupStatus_COMPLETED = StepGroupStatus' "COMPLETED"++pattern StepGroupStatus_FAILED :: StepGroupStatus+pattern StepGroupStatus_FAILED = StepGroupStatus' "FAILED"++pattern StepGroupStatus_IN_PROGRESS :: StepGroupStatus+pattern StepGroupStatus_IN_PROGRESS = StepGroupStatus' "IN_PROGRESS"++pattern StepGroupStatus_PAUSED :: StepGroupStatus+pattern StepGroupStatus_PAUSED = StepGroupStatus' "PAUSED"++pattern StepGroupStatus_PAUSING :: StepGroupStatus+pattern StepGroupStatus_PAUSING = StepGroupStatus' "PAUSING"++pattern StepGroupStatus_READY :: StepGroupStatus+pattern StepGroupStatus_READY = StepGroupStatus' "READY"++pattern StepGroupStatus_USER_ATTENTION_REQUIRED :: StepGroupStatus+pattern StepGroupStatus_USER_ATTENTION_REQUIRED = StepGroupStatus' "USER_ATTENTION_REQUIRED"++{-# COMPLETE+  StepGroupStatus_AWAITING_DEPENDENCIES,+  StepGroupStatus_COMPLETED,+  StepGroupStatus_FAILED,+  StepGroupStatus_IN_PROGRESS,+  StepGroupStatus_PAUSED,+  StepGroupStatus_PAUSING,+  StepGroupStatus_READY,+  StepGroupStatus_USER_ATTENTION_REQUIRED,+  StepGroupStatus'+  #-}
+ gen/Amazonka/MigrationHubOrchestrator/Types/StepInput.hs view
@@ -0,0 +1,129 @@+{-# 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.MigrationHubOrchestrator.Types.StepInput+-- 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.MigrationHubOrchestrator.Types.StepInput 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++-- | A map of key value pairs that is generated when you create a migration+-- workflow. The key value pairs will differ based on your selection of the+-- template.+--+-- /See:/ 'newStepInput' smart constructor.+data StepInput = StepInput'+  { -- | The value of the integer.+    integerValue :: Prelude.Maybe Prelude.Int,+    -- | List of string values.+    listOfStringsValue :: Prelude.Maybe [Prelude.Text],+    -- | Map of string values.+    mapOfStringValue :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | String value.+    stringValue :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StepInput' 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:+--+-- 'integerValue', 'stepInput_integerValue' - The value of the integer.+--+-- 'listOfStringsValue', 'stepInput_listOfStringsValue' - List of string values.+--+-- 'mapOfStringValue', 'stepInput_mapOfStringValue' - Map of string values.+--+-- 'stringValue', 'stepInput_stringValue' - String value.+newStepInput ::+  StepInput+newStepInput =+  StepInput'+    { integerValue = Prelude.Nothing,+      listOfStringsValue = Prelude.Nothing,+      mapOfStringValue = Prelude.Nothing,+      stringValue = Prelude.Nothing+    }++-- | The value of the integer.+stepInput_integerValue :: Lens.Lens' StepInput (Prelude.Maybe Prelude.Int)+stepInput_integerValue = Lens.lens (\StepInput' {integerValue} -> integerValue) (\s@StepInput' {} a -> s {integerValue = a} :: StepInput)++-- | List of string values.+stepInput_listOfStringsValue :: Lens.Lens' StepInput (Prelude.Maybe [Prelude.Text])+stepInput_listOfStringsValue = Lens.lens (\StepInput' {listOfStringsValue} -> listOfStringsValue) (\s@StepInput' {} a -> s {listOfStringsValue = a} :: StepInput) Prelude.. Lens.mapping Lens.coerced++-- | Map of string values.+stepInput_mapOfStringValue :: Lens.Lens' StepInput (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+stepInput_mapOfStringValue = Lens.lens (\StepInput' {mapOfStringValue} -> mapOfStringValue) (\s@StepInput' {} a -> s {mapOfStringValue = a} :: StepInput) Prelude.. Lens.mapping Lens.coerced++-- | String value.+stepInput_stringValue :: Lens.Lens' StepInput (Prelude.Maybe Prelude.Text)+stepInput_stringValue = Lens.lens (\StepInput' {stringValue} -> stringValue) (\s@StepInput' {} a -> s {stringValue = a} :: StepInput)++instance Data.FromJSON StepInput where+  parseJSON =+    Data.withObject+      "StepInput"+      ( \x ->+          StepInput'+            Prelude.<$> (x Data..:? "integerValue")+            Prelude.<*> ( x+                            Data..:? "listOfStringsValue"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> ( x+                            Data..:? "mapOfStringValue"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "stringValue")+      )++instance Prelude.Hashable StepInput where+  hashWithSalt _salt StepInput' {..} =+    _salt+      `Prelude.hashWithSalt` integerValue+      `Prelude.hashWithSalt` listOfStringsValue+      `Prelude.hashWithSalt` mapOfStringValue+      `Prelude.hashWithSalt` stringValue++instance Prelude.NFData StepInput where+  rnf StepInput' {..} =+    Prelude.rnf integerValue+      `Prelude.seq` Prelude.rnf listOfStringsValue+      `Prelude.seq` Prelude.rnf mapOfStringValue+      `Prelude.seq` Prelude.rnf stringValue++instance Data.ToJSON StepInput where+  toJSON StepInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("integerValue" Data..=) Prelude.<$> integerValue,+            ("listOfStringsValue" Data..=)+              Prelude.<$> listOfStringsValue,+            ("mapOfStringValue" Data..=)+              Prelude.<$> mapOfStringValue,+            ("stringValue" Data..=) Prelude.<$> stringValue+          ]+      )
+ gen/Amazonka/MigrationHubOrchestrator/Types/StepOutput.hs view
@@ -0,0 +1,97 @@+{-# 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.MigrationHubOrchestrator.Types.StepOutput+-- 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.MigrationHubOrchestrator.Types.StepOutput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types.DataType+import qualified Amazonka.Prelude as Prelude++-- | The output of the step.+--+-- /See:/ 'newStepOutput' smart constructor.+data StepOutput = StepOutput'+  { -- | The data type of the step output.+    dataType :: Prelude.Maybe DataType,+    -- | The name of the step.+    name :: Prelude.Maybe Prelude.Text,+    -- | Determine if an output is required from a step.+    required :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StepOutput' 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:+--+-- 'dataType', 'stepOutput_dataType' - The data type of the step output.+--+-- 'name', 'stepOutput_name' - The name of the step.+--+-- 'required', 'stepOutput_required' - Determine if an output is required from a step.+newStepOutput ::+  StepOutput+newStepOutput =+  StepOutput'+    { dataType = Prelude.Nothing,+      name = Prelude.Nothing,+      required = Prelude.Nothing+    }++-- | The data type of the step output.+stepOutput_dataType :: Lens.Lens' StepOutput (Prelude.Maybe DataType)+stepOutput_dataType = Lens.lens (\StepOutput' {dataType} -> dataType) (\s@StepOutput' {} a -> s {dataType = a} :: StepOutput)++-- | The name of the step.+stepOutput_name :: Lens.Lens' StepOutput (Prelude.Maybe Prelude.Text)+stepOutput_name = Lens.lens (\StepOutput' {name} -> name) (\s@StepOutput' {} a -> s {name = a} :: StepOutput)++-- | Determine if an output is required from a step.+stepOutput_required :: Lens.Lens' StepOutput (Prelude.Maybe Prelude.Bool)+stepOutput_required = Lens.lens (\StepOutput' {required} -> required) (\s@StepOutput' {} a -> s {required = a} :: StepOutput)++instance Data.FromJSON StepOutput where+  parseJSON =+    Data.withObject+      "StepOutput"+      ( \x ->+          StepOutput'+            Prelude.<$> (x Data..:? "dataType")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "required")+      )++instance Prelude.Hashable StepOutput where+  hashWithSalt _salt StepOutput' {..} =+    _salt+      `Prelude.hashWithSalt` dataType+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` required++instance Prelude.NFData StepOutput where+  rnf StepOutput' {..} =+    Prelude.rnf dataType+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf required
+ gen/Amazonka/MigrationHubOrchestrator/Types/StepStatus.hs view
@@ -0,0 +1,96 @@+{-# 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.MigrationHubOrchestrator.Types.StepStatus+-- 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.MigrationHubOrchestrator.Types.StepStatus+  ( StepStatus+      ( ..,+        StepStatus_AWAITING_DEPENDENCIES,+        StepStatus_COMPLETED,+        StepStatus_FAILED,+        StepStatus_IN_PROGRESS,+        StepStatus_PAUSED,+        StepStatus_READY,+        StepStatus_USER_ATTENTION_REQUIRED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype StepStatus = StepStatus'+  { fromStepStatus ::+      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 StepStatus_AWAITING_DEPENDENCIES :: StepStatus+pattern StepStatus_AWAITING_DEPENDENCIES = StepStatus' "AWAITING_DEPENDENCIES"++pattern StepStatus_COMPLETED :: StepStatus+pattern StepStatus_COMPLETED = StepStatus' "COMPLETED"++pattern StepStatus_FAILED :: StepStatus+pattern StepStatus_FAILED = StepStatus' "FAILED"++pattern StepStatus_IN_PROGRESS :: StepStatus+pattern StepStatus_IN_PROGRESS = StepStatus' "IN_PROGRESS"++pattern StepStatus_PAUSED :: StepStatus+pattern StepStatus_PAUSED = StepStatus' "PAUSED"++pattern StepStatus_READY :: StepStatus+pattern StepStatus_READY = StepStatus' "READY"++pattern StepStatus_USER_ATTENTION_REQUIRED :: StepStatus+pattern StepStatus_USER_ATTENTION_REQUIRED = StepStatus' "USER_ATTENTION_REQUIRED"++{-# COMPLETE+  StepStatus_AWAITING_DEPENDENCIES,+  StepStatus_COMPLETED,+  StepStatus_FAILED,+  StepStatus_IN_PROGRESS,+  StepStatus_PAUSED,+  StepStatus_READY,+  StepStatus_USER_ATTENTION_REQUIRED,+  StepStatus'+  #-}
+ gen/Amazonka/MigrationHubOrchestrator/Types/TargetType.hs view
@@ -0,0 +1,76 @@+{-# 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.MigrationHubOrchestrator.Types.TargetType+-- 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.MigrationHubOrchestrator.Types.TargetType+  ( TargetType+      ( ..,+        TargetType_ALL,+        TargetType_NONE,+        TargetType_SINGLE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TargetType = TargetType'+  { fromTargetType ::+      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 TargetType_ALL :: TargetType+pattern TargetType_ALL = TargetType' "ALL"++pattern TargetType_NONE :: TargetType+pattern TargetType_NONE = TargetType' "NONE"++pattern TargetType_SINGLE :: TargetType+pattern TargetType_SINGLE = TargetType' "SINGLE"++{-# COMPLETE+  TargetType_ALL,+  TargetType_NONE,+  TargetType_SINGLE,+  TargetType'+  #-}
+ gen/Amazonka/MigrationHubOrchestrator/Types/TemplateInput.hs view
@@ -0,0 +1,97 @@+{-# 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.MigrationHubOrchestrator.Types.TemplateInput+-- 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.MigrationHubOrchestrator.Types.TemplateInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types.DataType+import qualified Amazonka.Prelude as Prelude++-- | The input parameters of a template.+--+-- /See:/ 'newTemplateInput' smart constructor.+data TemplateInput = TemplateInput'+  { -- | The data type of the template input.+    dataType :: Prelude.Maybe DataType,+    -- | The name of the template.+    inputName :: Prelude.Maybe Prelude.Text,+    -- | Determine if an input is required from the template.+    required :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateInput' 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:+--+-- 'dataType', 'templateInput_dataType' - The data type of the template input.+--+-- 'inputName', 'templateInput_inputName' - The name of the template.+--+-- 'required', 'templateInput_required' - Determine if an input is required from the template.+newTemplateInput ::+  TemplateInput+newTemplateInput =+  TemplateInput'+    { dataType = Prelude.Nothing,+      inputName = Prelude.Nothing,+      required = Prelude.Nothing+    }++-- | The data type of the template input.+templateInput_dataType :: Lens.Lens' TemplateInput (Prelude.Maybe DataType)+templateInput_dataType = Lens.lens (\TemplateInput' {dataType} -> dataType) (\s@TemplateInput' {} a -> s {dataType = a} :: TemplateInput)++-- | The name of the template.+templateInput_inputName :: Lens.Lens' TemplateInput (Prelude.Maybe Prelude.Text)+templateInput_inputName = Lens.lens (\TemplateInput' {inputName} -> inputName) (\s@TemplateInput' {} a -> s {inputName = a} :: TemplateInput)++-- | Determine if an input is required from the template.+templateInput_required :: Lens.Lens' TemplateInput (Prelude.Maybe Prelude.Bool)+templateInput_required = Lens.lens (\TemplateInput' {required} -> required) (\s@TemplateInput' {} a -> s {required = a} :: TemplateInput)++instance Data.FromJSON TemplateInput where+  parseJSON =+    Data.withObject+      "TemplateInput"+      ( \x ->+          TemplateInput'+            Prelude.<$> (x Data..:? "dataType")+            Prelude.<*> (x Data..:? "inputName")+            Prelude.<*> (x Data..:? "required")+      )++instance Prelude.Hashable TemplateInput where+  hashWithSalt _salt TemplateInput' {..} =+    _salt+      `Prelude.hashWithSalt` dataType+      `Prelude.hashWithSalt` inputName+      `Prelude.hashWithSalt` required++instance Prelude.NFData TemplateInput where+  rnf TemplateInput' {..} =+    Prelude.rnf dataType+      `Prelude.seq` Prelude.rnf inputName+      `Prelude.seq` Prelude.rnf required
+ gen/Amazonka/MigrationHubOrchestrator/Types/TemplateStatus.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.MigrationHubOrchestrator.Types.TemplateStatus+-- 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.MigrationHubOrchestrator.Types.TemplateStatus+  ( TemplateStatus+      ( ..,+        TemplateStatus_CREATED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TemplateStatus = TemplateStatus'+  { fromTemplateStatus ::+      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 TemplateStatus_CREATED :: TemplateStatus+pattern TemplateStatus_CREATED = TemplateStatus' "CREATED"++{-# COMPLETE+  TemplateStatus_CREATED,+  TemplateStatus'+  #-}
+ gen/Amazonka/MigrationHubOrchestrator/Types/TemplateStepGroupSummary.hs view
@@ -0,0 +1,108 @@+{-# 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.MigrationHubOrchestrator.Types.TemplateStepGroupSummary+-- 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.MigrationHubOrchestrator.Types.TemplateStepGroupSummary 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 summary of the step group in the template.+--+-- /See:/ 'newTemplateStepGroupSummary' smart constructor.+data TemplateStepGroupSummary = TemplateStepGroupSummary'+  { -- | The ID of the step group.+    id :: Prelude.Maybe Prelude.Text,+    -- | The name of the step group.+    name :: Prelude.Maybe Prelude.Text,+    -- | The next step group.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The previous step group.+    previous :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateStepGroupSummary' 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:+--+-- 'id', 'templateStepGroupSummary_id' - The ID of the step group.+--+-- 'name', 'templateStepGroupSummary_name' - The name of the step group.+--+-- 'next', 'templateStepGroupSummary_next' - The next step group.+--+-- 'previous', 'templateStepGroupSummary_previous' - The previous step group.+newTemplateStepGroupSummary ::+  TemplateStepGroupSummary+newTemplateStepGroupSummary =+  TemplateStepGroupSummary'+    { id = Prelude.Nothing,+      name = Prelude.Nothing,+      next = Prelude.Nothing,+      previous = Prelude.Nothing+    }++-- | The ID of the step group.+templateStepGroupSummary_id :: Lens.Lens' TemplateStepGroupSummary (Prelude.Maybe Prelude.Text)+templateStepGroupSummary_id = Lens.lens (\TemplateStepGroupSummary' {id} -> id) (\s@TemplateStepGroupSummary' {} a -> s {id = a} :: TemplateStepGroupSummary)++-- | The name of the step group.+templateStepGroupSummary_name :: Lens.Lens' TemplateStepGroupSummary (Prelude.Maybe Prelude.Text)+templateStepGroupSummary_name = Lens.lens (\TemplateStepGroupSummary' {name} -> name) (\s@TemplateStepGroupSummary' {} a -> s {name = a} :: TemplateStepGroupSummary)++-- | The next step group.+templateStepGroupSummary_next :: Lens.Lens' TemplateStepGroupSummary (Prelude.Maybe [Prelude.Text])+templateStepGroupSummary_next = Lens.lens (\TemplateStepGroupSummary' {next} -> next) (\s@TemplateStepGroupSummary' {} a -> s {next = a} :: TemplateStepGroupSummary) Prelude.. Lens.mapping Lens.coerced++-- | The previous step group.+templateStepGroupSummary_previous :: Lens.Lens' TemplateStepGroupSummary (Prelude.Maybe [Prelude.Text])+templateStepGroupSummary_previous = Lens.lens (\TemplateStepGroupSummary' {previous} -> previous) (\s@TemplateStepGroupSummary' {} a -> s {previous = a} :: TemplateStepGroupSummary) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON TemplateStepGroupSummary where+  parseJSON =+    Data.withObject+      "TemplateStepGroupSummary"+      ( \x ->+          TemplateStepGroupSummary'+            Prelude.<$> (x Data..:? "id")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "next" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "previous" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable TemplateStepGroupSummary where+  hashWithSalt _salt TemplateStepGroupSummary' {..} =+    _salt+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` next+      `Prelude.hashWithSalt` previous++instance Prelude.NFData TemplateStepGroupSummary where+  rnf TemplateStepGroupSummary' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf previous
+ gen/Amazonka/MigrationHubOrchestrator/Types/TemplateStepSummary.hs view
@@ -0,0 +1,177 @@+{-# 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.MigrationHubOrchestrator.Types.TemplateStepSummary+-- 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.MigrationHubOrchestrator.Types.TemplateStepSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types.Owner+import Amazonka.MigrationHubOrchestrator.Types.StepActionType+import Amazonka.MigrationHubOrchestrator.Types.TargetType+import qualified Amazonka.Prelude as Prelude++-- | The summary of the step.+--+-- /See:/ 'newTemplateStepSummary' smart constructor.+data TemplateStepSummary = TemplateStepSummary'+  { -- | The ID of the step.+    id :: Prelude.Maybe Prelude.Text,+    -- | The name of the step.+    name :: Prelude.Maybe Prelude.Text,+    -- | The next step.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The owner of the step.+    owner :: Prelude.Maybe Owner,+    -- | The previous step.+    previous :: Prelude.Maybe [Prelude.Text],+    -- | The action type of the step. You must run and update the status of a+    -- manual step for the workflow to continue after the completion of the+    -- step.+    stepActionType :: Prelude.Maybe StepActionType,+    -- | The ID of the step group.+    stepGroupId :: Prelude.Maybe Prelude.Text,+    -- | The servers on which to run the script.+    targetType :: Prelude.Maybe TargetType,+    -- | The ID of the template.+    templateId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateStepSummary' 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:+--+-- 'id', 'templateStepSummary_id' - The ID of the step.+--+-- 'name', 'templateStepSummary_name' - The name of the step.+--+-- 'next', 'templateStepSummary_next' - The next step.+--+-- 'owner', 'templateStepSummary_owner' - The owner of the step.+--+-- 'previous', 'templateStepSummary_previous' - The previous step.+--+-- 'stepActionType', 'templateStepSummary_stepActionType' - The action type of the step. You must run and update the status of a+-- manual step for the workflow to continue after the completion of the+-- step.+--+-- 'stepGroupId', 'templateStepSummary_stepGroupId' - The ID of the step group.+--+-- 'targetType', 'templateStepSummary_targetType' - The servers on which to run the script.+--+-- 'templateId', 'templateStepSummary_templateId' - The ID of the template.+newTemplateStepSummary ::+  TemplateStepSummary+newTemplateStepSummary =+  TemplateStepSummary'+    { id = Prelude.Nothing,+      name = Prelude.Nothing,+      next = Prelude.Nothing,+      owner = Prelude.Nothing,+      previous = Prelude.Nothing,+      stepActionType = Prelude.Nothing,+      stepGroupId = Prelude.Nothing,+      targetType = Prelude.Nothing,+      templateId = Prelude.Nothing+    }++-- | The ID of the step.+templateStepSummary_id :: Lens.Lens' TemplateStepSummary (Prelude.Maybe Prelude.Text)+templateStepSummary_id = Lens.lens (\TemplateStepSummary' {id} -> id) (\s@TemplateStepSummary' {} a -> s {id = a} :: TemplateStepSummary)++-- | The name of the step.+templateStepSummary_name :: Lens.Lens' TemplateStepSummary (Prelude.Maybe Prelude.Text)+templateStepSummary_name = Lens.lens (\TemplateStepSummary' {name} -> name) (\s@TemplateStepSummary' {} a -> s {name = a} :: TemplateStepSummary)++-- | The next step.+templateStepSummary_next :: Lens.Lens' TemplateStepSummary (Prelude.Maybe [Prelude.Text])+templateStepSummary_next = Lens.lens (\TemplateStepSummary' {next} -> next) (\s@TemplateStepSummary' {} a -> s {next = a} :: TemplateStepSummary) Prelude.. Lens.mapping Lens.coerced++-- | The owner of the step.+templateStepSummary_owner :: Lens.Lens' TemplateStepSummary (Prelude.Maybe Owner)+templateStepSummary_owner = Lens.lens (\TemplateStepSummary' {owner} -> owner) (\s@TemplateStepSummary' {} a -> s {owner = a} :: TemplateStepSummary)++-- | The previous step.+templateStepSummary_previous :: Lens.Lens' TemplateStepSummary (Prelude.Maybe [Prelude.Text])+templateStepSummary_previous = Lens.lens (\TemplateStepSummary' {previous} -> previous) (\s@TemplateStepSummary' {} a -> s {previous = a} :: TemplateStepSummary) Prelude.. Lens.mapping Lens.coerced++-- | The action type of the step. You must run and update the status of a+-- manual step for the workflow to continue after the completion of the+-- step.+templateStepSummary_stepActionType :: Lens.Lens' TemplateStepSummary (Prelude.Maybe StepActionType)+templateStepSummary_stepActionType = Lens.lens (\TemplateStepSummary' {stepActionType} -> stepActionType) (\s@TemplateStepSummary' {} a -> s {stepActionType = a} :: TemplateStepSummary)++-- | The ID of the step group.+templateStepSummary_stepGroupId :: Lens.Lens' TemplateStepSummary (Prelude.Maybe Prelude.Text)+templateStepSummary_stepGroupId = Lens.lens (\TemplateStepSummary' {stepGroupId} -> stepGroupId) (\s@TemplateStepSummary' {} a -> s {stepGroupId = a} :: TemplateStepSummary)++-- | The servers on which to run the script.+templateStepSummary_targetType :: Lens.Lens' TemplateStepSummary (Prelude.Maybe TargetType)+templateStepSummary_targetType = Lens.lens (\TemplateStepSummary' {targetType} -> targetType) (\s@TemplateStepSummary' {} a -> s {targetType = a} :: TemplateStepSummary)++-- | The ID of the template.+templateStepSummary_templateId :: Lens.Lens' TemplateStepSummary (Prelude.Maybe Prelude.Text)+templateStepSummary_templateId = Lens.lens (\TemplateStepSummary' {templateId} -> templateId) (\s@TemplateStepSummary' {} a -> s {templateId = a} :: TemplateStepSummary)++instance Data.FromJSON TemplateStepSummary where+  parseJSON =+    Data.withObject+      "TemplateStepSummary"+      ( \x ->+          TemplateStepSummary'+            Prelude.<$> (x Data..:? "id")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "next" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "owner")+            Prelude.<*> (x Data..:? "previous" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "stepActionType")+            Prelude.<*> (x Data..:? "stepGroupId")+            Prelude.<*> (x Data..:? "targetType")+            Prelude.<*> (x Data..:? "templateId")+      )++instance Prelude.Hashable TemplateStepSummary where+  hashWithSalt _salt TemplateStepSummary' {..} =+    _salt+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` next+      `Prelude.hashWithSalt` owner+      `Prelude.hashWithSalt` previous+      `Prelude.hashWithSalt` stepActionType+      `Prelude.hashWithSalt` stepGroupId+      `Prelude.hashWithSalt` targetType+      `Prelude.hashWithSalt` templateId++instance Prelude.NFData TemplateStepSummary where+  rnf TemplateStepSummary' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf previous+      `Prelude.seq` Prelude.rnf stepActionType+      `Prelude.seq` Prelude.rnf stepGroupId+      `Prelude.seq` Prelude.rnf targetType+      `Prelude.seq` Prelude.rnf templateId
+ gen/Amazonka/MigrationHubOrchestrator/Types/TemplateSummary.hs view
@@ -0,0 +1,108 @@+{-# 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.MigrationHubOrchestrator.Types.TemplateSummary+-- 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.MigrationHubOrchestrator.Types.TemplateSummary 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 summary of the template.+--+-- /See:/ 'newTemplateSummary' smart constructor.+data TemplateSummary = TemplateSummary'+  { -- | The Amazon Resource Name (ARN) of the template.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The description of the template.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the template.+    id :: Prelude.Maybe Prelude.Text,+    -- | The name of the template.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TemplateSummary' 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', 'templateSummary_arn' - The Amazon Resource Name (ARN) of the template.+--+-- 'description', 'templateSummary_description' - The description of the template.+--+-- 'id', 'templateSummary_id' - The ID of the template.+--+-- 'name', 'templateSummary_name' - The name of the template.+newTemplateSummary ::+  TemplateSummary+newTemplateSummary =+  TemplateSummary'+    { arn = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the template.+templateSummary_arn :: Lens.Lens' TemplateSummary (Prelude.Maybe Prelude.Text)+templateSummary_arn = Lens.lens (\TemplateSummary' {arn} -> arn) (\s@TemplateSummary' {} a -> s {arn = a} :: TemplateSummary)++-- | The description of the template.+templateSummary_description :: Lens.Lens' TemplateSummary (Prelude.Maybe Prelude.Text)+templateSummary_description = Lens.lens (\TemplateSummary' {description} -> description) (\s@TemplateSummary' {} a -> s {description = a} :: TemplateSummary)++-- | The ID of the template.+templateSummary_id :: Lens.Lens' TemplateSummary (Prelude.Maybe Prelude.Text)+templateSummary_id = Lens.lens (\TemplateSummary' {id} -> id) (\s@TemplateSummary' {} a -> s {id = a} :: TemplateSummary)++-- | The name of the template.+templateSummary_name :: Lens.Lens' TemplateSummary (Prelude.Maybe Prelude.Text)+templateSummary_name = Lens.lens (\TemplateSummary' {name} -> name) (\s@TemplateSummary' {} a -> s {name = a} :: TemplateSummary)++instance Data.FromJSON TemplateSummary where+  parseJSON =+    Data.withObject+      "TemplateSummary"+      ( \x ->+          TemplateSummary'+            Prelude.<$> (x Data..:? "arn")+            Prelude.<*> (x Data..:? "description")+            Prelude.<*> (x Data..:? "id")+            Prelude.<*> (x Data..:? "name")+      )++instance Prelude.Hashable TemplateSummary where+  hashWithSalt _salt TemplateSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` name++instance Prelude.NFData TemplateSummary where+  rnf TemplateSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/MigrationHubOrchestrator/Types/Tool.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.MigrationHubOrchestrator.Types.Tool+-- 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.MigrationHubOrchestrator.Types.Tool 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++-- | List of AWS services utilized in a migration workflow.+--+-- /See:/ 'newTool' smart constructor.+data Tool = Tool'+  { -- | The name of an AWS service.+    name :: Prelude.Maybe Prelude.Text,+    -- | The URL of an AWS service.+    url :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tool' 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', 'tool_name' - The name of an AWS service.+--+-- 'url', 'tool_url' - The URL of an AWS service.+newTool ::+  Tool+newTool =+  Tool'+    { name = Prelude.Nothing,+      url = Prelude.Nothing+    }++-- | The name of an AWS service.+tool_name :: Lens.Lens' Tool (Prelude.Maybe Prelude.Text)+tool_name = Lens.lens (\Tool' {name} -> name) (\s@Tool' {} a -> s {name = a} :: Tool)++-- | The URL of an AWS service.+tool_url :: Lens.Lens' Tool (Prelude.Maybe Prelude.Text)+tool_url = Lens.lens (\Tool' {url} -> url) (\s@Tool' {} a -> s {url = a} :: Tool)++instance Data.FromJSON Tool where+  parseJSON =+    Data.withObject+      "Tool"+      ( \x ->+          Tool'+            Prelude.<$> (x Data..:? "name")+            Prelude.<*> (x Data..:? "url")+      )++instance Prelude.Hashable Tool where+  hashWithSalt _salt Tool' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` url++instance Prelude.NFData Tool where+  rnf Tool' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf url
+ gen/Amazonka/MigrationHubOrchestrator/Types/WorkflowStepAutomationConfiguration.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.MigrationHubOrchestrator.Types.WorkflowStepAutomationConfiguration+-- 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.MigrationHubOrchestrator.Types.WorkflowStepAutomationConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types.PlatformCommand+import Amazonka.MigrationHubOrchestrator.Types.PlatformScriptKey+import Amazonka.MigrationHubOrchestrator.Types.RunEnvironment+import Amazonka.MigrationHubOrchestrator.Types.TargetType+import qualified Amazonka.Prelude as Prelude++-- | The custom script to run tests on source or target environments.+--+-- /See:/ 'newWorkflowStepAutomationConfiguration' smart constructor.+data WorkflowStepAutomationConfiguration = WorkflowStepAutomationConfiguration'+  { -- | The command required to run the script.+    command :: Prelude.Maybe PlatformCommand,+    -- | The source or target environment.+    runEnvironment :: Prelude.Maybe RunEnvironment,+    -- | The Amazon S3 bucket where the script is located.+    scriptLocationS3Bucket :: Prelude.Maybe Prelude.Text,+    -- | The Amazon S3 key for the script location.+    scriptLocationS3Key :: Prelude.Maybe PlatformScriptKey,+    -- | The servers on which to run the script.+    targetType :: Prelude.Maybe TargetType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkflowStepAutomationConfiguration' 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:+--+-- 'command', 'workflowStepAutomationConfiguration_command' - The command required to run the script.+--+-- 'runEnvironment', 'workflowStepAutomationConfiguration_runEnvironment' - The source or target environment.+--+-- 'scriptLocationS3Bucket', 'workflowStepAutomationConfiguration_scriptLocationS3Bucket' - The Amazon S3 bucket where the script is located.+--+-- 'scriptLocationS3Key', 'workflowStepAutomationConfiguration_scriptLocationS3Key' - The Amazon S3 key for the script location.+--+-- 'targetType', 'workflowStepAutomationConfiguration_targetType' - The servers on which to run the script.+newWorkflowStepAutomationConfiguration ::+  WorkflowStepAutomationConfiguration+newWorkflowStepAutomationConfiguration =+  WorkflowStepAutomationConfiguration'+    { command =+        Prelude.Nothing,+      runEnvironment = Prelude.Nothing,+      scriptLocationS3Bucket =+        Prelude.Nothing,+      scriptLocationS3Key = Prelude.Nothing,+      targetType = Prelude.Nothing+    }++-- | The command required to run the script.+workflowStepAutomationConfiguration_command :: Lens.Lens' WorkflowStepAutomationConfiguration (Prelude.Maybe PlatformCommand)+workflowStepAutomationConfiguration_command = Lens.lens (\WorkflowStepAutomationConfiguration' {command} -> command) (\s@WorkflowStepAutomationConfiguration' {} a -> s {command = a} :: WorkflowStepAutomationConfiguration)++-- | The source or target environment.+workflowStepAutomationConfiguration_runEnvironment :: Lens.Lens' WorkflowStepAutomationConfiguration (Prelude.Maybe RunEnvironment)+workflowStepAutomationConfiguration_runEnvironment = Lens.lens (\WorkflowStepAutomationConfiguration' {runEnvironment} -> runEnvironment) (\s@WorkflowStepAutomationConfiguration' {} a -> s {runEnvironment = a} :: WorkflowStepAutomationConfiguration)++-- | The Amazon S3 bucket where the script is located.+workflowStepAutomationConfiguration_scriptLocationS3Bucket :: Lens.Lens' WorkflowStepAutomationConfiguration (Prelude.Maybe Prelude.Text)+workflowStepAutomationConfiguration_scriptLocationS3Bucket = Lens.lens (\WorkflowStepAutomationConfiguration' {scriptLocationS3Bucket} -> scriptLocationS3Bucket) (\s@WorkflowStepAutomationConfiguration' {} a -> s {scriptLocationS3Bucket = a} :: WorkflowStepAutomationConfiguration)++-- | The Amazon S3 key for the script location.+workflowStepAutomationConfiguration_scriptLocationS3Key :: Lens.Lens' WorkflowStepAutomationConfiguration (Prelude.Maybe PlatformScriptKey)+workflowStepAutomationConfiguration_scriptLocationS3Key = Lens.lens (\WorkflowStepAutomationConfiguration' {scriptLocationS3Key} -> scriptLocationS3Key) (\s@WorkflowStepAutomationConfiguration' {} a -> s {scriptLocationS3Key = a} :: WorkflowStepAutomationConfiguration)++-- | The servers on which to run the script.+workflowStepAutomationConfiguration_targetType :: Lens.Lens' WorkflowStepAutomationConfiguration (Prelude.Maybe TargetType)+workflowStepAutomationConfiguration_targetType = Lens.lens (\WorkflowStepAutomationConfiguration' {targetType} -> targetType) (\s@WorkflowStepAutomationConfiguration' {} a -> s {targetType = a} :: WorkflowStepAutomationConfiguration)++instance+  Data.FromJSON+    WorkflowStepAutomationConfiguration+  where+  parseJSON =+    Data.withObject+      "WorkflowStepAutomationConfiguration"+      ( \x ->+          WorkflowStepAutomationConfiguration'+            Prelude.<$> (x Data..:? "command")+            Prelude.<*> (x Data..:? "runEnvironment")+            Prelude.<*> (x Data..:? "scriptLocationS3Bucket")+            Prelude.<*> (x Data..:? "scriptLocationS3Key")+            Prelude.<*> (x Data..:? "targetType")+      )++instance+  Prelude.Hashable+    WorkflowStepAutomationConfiguration+  where+  hashWithSalt+    _salt+    WorkflowStepAutomationConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` command+        `Prelude.hashWithSalt` runEnvironment+        `Prelude.hashWithSalt` scriptLocationS3Bucket+        `Prelude.hashWithSalt` scriptLocationS3Key+        `Prelude.hashWithSalt` targetType++instance+  Prelude.NFData+    WorkflowStepAutomationConfiguration+  where+  rnf WorkflowStepAutomationConfiguration' {..} =+    Prelude.rnf command+      `Prelude.seq` Prelude.rnf runEnvironment+      `Prelude.seq` Prelude.rnf scriptLocationS3Bucket+      `Prelude.seq` Prelude.rnf scriptLocationS3Key+      `Prelude.seq` Prelude.rnf targetType++instance+  Data.ToJSON+    WorkflowStepAutomationConfiguration+  where+  toJSON WorkflowStepAutomationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("command" Data..=) Prelude.<$> command,+            ("runEnvironment" Data..=)+              Prelude.<$> runEnvironment,+            ("scriptLocationS3Bucket" Data..=)+              Prelude.<$> scriptLocationS3Bucket,+            ("scriptLocationS3Key" Data..=)+              Prelude.<$> scriptLocationS3Key,+            ("targetType" Data..=) Prelude.<$> targetType+          ]+      )
+ gen/Amazonka/MigrationHubOrchestrator/Types/WorkflowStepGroupSummary.hs view
@@ -0,0 +1,134 @@+{-# 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.MigrationHubOrchestrator.Types.WorkflowStepGroupSummary+-- 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.MigrationHubOrchestrator.Types.WorkflowStepGroupSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types.Owner+import Amazonka.MigrationHubOrchestrator.Types.StepGroupStatus+import qualified Amazonka.Prelude as Prelude++-- | The summary of a step group in a workflow.+--+-- /See:/ 'newWorkflowStepGroupSummary' smart constructor.+data WorkflowStepGroupSummary = WorkflowStepGroupSummary'+  { -- | The ID of the step group.+    id :: Prelude.Maybe Prelude.Text,+    -- | The name of the step group.+    name :: Prelude.Maybe Prelude.Text,+    -- | The next step group.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The owner of the step group.+    owner :: Prelude.Maybe Owner,+    -- | The previous step group.+    previous :: Prelude.Maybe [Prelude.Text],+    -- | The status of the step group.+    status :: Prelude.Maybe StepGroupStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkflowStepGroupSummary' 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:+--+-- 'id', 'workflowStepGroupSummary_id' - The ID of the step group.+--+-- 'name', 'workflowStepGroupSummary_name' - The name of the step group.+--+-- 'next', 'workflowStepGroupSummary_next' - The next step group.+--+-- 'owner', 'workflowStepGroupSummary_owner' - The owner of the step group.+--+-- 'previous', 'workflowStepGroupSummary_previous' - The previous step group.+--+-- 'status', 'workflowStepGroupSummary_status' - The status of the step group.+newWorkflowStepGroupSummary ::+  WorkflowStepGroupSummary+newWorkflowStepGroupSummary =+  WorkflowStepGroupSummary'+    { id = Prelude.Nothing,+      name = Prelude.Nothing,+      next = Prelude.Nothing,+      owner = Prelude.Nothing,+      previous = Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | The ID of the step group.+workflowStepGroupSummary_id :: Lens.Lens' WorkflowStepGroupSummary (Prelude.Maybe Prelude.Text)+workflowStepGroupSummary_id = Lens.lens (\WorkflowStepGroupSummary' {id} -> id) (\s@WorkflowStepGroupSummary' {} a -> s {id = a} :: WorkflowStepGroupSummary)++-- | The name of the step group.+workflowStepGroupSummary_name :: Lens.Lens' WorkflowStepGroupSummary (Prelude.Maybe Prelude.Text)+workflowStepGroupSummary_name = Lens.lens (\WorkflowStepGroupSummary' {name} -> name) (\s@WorkflowStepGroupSummary' {} a -> s {name = a} :: WorkflowStepGroupSummary)++-- | The next step group.+workflowStepGroupSummary_next :: Lens.Lens' WorkflowStepGroupSummary (Prelude.Maybe [Prelude.Text])+workflowStepGroupSummary_next = Lens.lens (\WorkflowStepGroupSummary' {next} -> next) (\s@WorkflowStepGroupSummary' {} a -> s {next = a} :: WorkflowStepGroupSummary) Prelude.. Lens.mapping Lens.coerced++-- | The owner of the step group.+workflowStepGroupSummary_owner :: Lens.Lens' WorkflowStepGroupSummary (Prelude.Maybe Owner)+workflowStepGroupSummary_owner = Lens.lens (\WorkflowStepGroupSummary' {owner} -> owner) (\s@WorkflowStepGroupSummary' {} a -> s {owner = a} :: WorkflowStepGroupSummary)++-- | The previous step group.+workflowStepGroupSummary_previous :: Lens.Lens' WorkflowStepGroupSummary (Prelude.Maybe [Prelude.Text])+workflowStepGroupSummary_previous = Lens.lens (\WorkflowStepGroupSummary' {previous} -> previous) (\s@WorkflowStepGroupSummary' {} a -> s {previous = a} :: WorkflowStepGroupSummary) Prelude.. Lens.mapping Lens.coerced++-- | The status of the step group.+workflowStepGroupSummary_status :: Lens.Lens' WorkflowStepGroupSummary (Prelude.Maybe StepGroupStatus)+workflowStepGroupSummary_status = Lens.lens (\WorkflowStepGroupSummary' {status} -> status) (\s@WorkflowStepGroupSummary' {} a -> s {status = a} :: WorkflowStepGroupSummary)++instance Data.FromJSON WorkflowStepGroupSummary where+  parseJSON =+    Data.withObject+      "WorkflowStepGroupSummary"+      ( \x ->+          WorkflowStepGroupSummary'+            Prelude.<$> (x Data..:? "id")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "next" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "owner")+            Prelude.<*> (x Data..:? "previous" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "status")+      )++instance Prelude.Hashable WorkflowStepGroupSummary where+  hashWithSalt _salt WorkflowStepGroupSummary' {..} =+    _salt+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` next+      `Prelude.hashWithSalt` owner+      `Prelude.hashWithSalt` previous+      `Prelude.hashWithSalt` status++instance Prelude.NFData WorkflowStepGroupSummary where+  rnf WorkflowStepGroupSummary' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf previous+      `Prelude.seq` Prelude.rnf status
+ gen/Amazonka/MigrationHubOrchestrator/Types/WorkflowStepOutput.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.MigrationHubOrchestrator.Types.WorkflowStepOutput+-- 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.MigrationHubOrchestrator.Types.WorkflowStepOutput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types.DataType+import Amazonka.MigrationHubOrchestrator.Types.WorkflowStepOutputUnion+import qualified Amazonka.Prelude as Prelude++-- | The output of a step.+--+-- /See:/ 'newWorkflowStepOutput' smart constructor.+data WorkflowStepOutput = WorkflowStepOutput'+  { -- | The data type of the output.+    dataType :: Prelude.Maybe DataType,+    -- | The name of the step.+    name :: Prelude.Maybe Prelude.Text,+    -- | Determine if an output is required from a step.+    required :: Prelude.Maybe Prelude.Bool,+    -- | The value of the output.+    value :: Prelude.Maybe WorkflowStepOutputUnion+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkflowStepOutput' 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:+--+-- 'dataType', 'workflowStepOutput_dataType' - The data type of the output.+--+-- 'name', 'workflowStepOutput_name' - The name of the step.+--+-- 'required', 'workflowStepOutput_required' - Determine if an output is required from a step.+--+-- 'value', 'workflowStepOutput_value' - The value of the output.+newWorkflowStepOutput ::+  WorkflowStepOutput+newWorkflowStepOutput =+  WorkflowStepOutput'+    { dataType = Prelude.Nothing,+      name = Prelude.Nothing,+      required = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The data type of the output.+workflowStepOutput_dataType :: Lens.Lens' WorkflowStepOutput (Prelude.Maybe DataType)+workflowStepOutput_dataType = Lens.lens (\WorkflowStepOutput' {dataType} -> dataType) (\s@WorkflowStepOutput' {} a -> s {dataType = a} :: WorkflowStepOutput)++-- | The name of the step.+workflowStepOutput_name :: Lens.Lens' WorkflowStepOutput (Prelude.Maybe Prelude.Text)+workflowStepOutput_name = Lens.lens (\WorkflowStepOutput' {name} -> name) (\s@WorkflowStepOutput' {} a -> s {name = a} :: WorkflowStepOutput)++-- | Determine if an output is required from a step.+workflowStepOutput_required :: Lens.Lens' WorkflowStepOutput (Prelude.Maybe Prelude.Bool)+workflowStepOutput_required = Lens.lens (\WorkflowStepOutput' {required} -> required) (\s@WorkflowStepOutput' {} a -> s {required = a} :: WorkflowStepOutput)++-- | The value of the output.+workflowStepOutput_value :: Lens.Lens' WorkflowStepOutput (Prelude.Maybe WorkflowStepOutputUnion)+workflowStepOutput_value = Lens.lens (\WorkflowStepOutput' {value} -> value) (\s@WorkflowStepOutput' {} a -> s {value = a} :: WorkflowStepOutput)++instance Data.FromJSON WorkflowStepOutput where+  parseJSON =+    Data.withObject+      "WorkflowStepOutput"+      ( \x ->+          WorkflowStepOutput'+            Prelude.<$> (x Data..:? "dataType")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "required")+            Prelude.<*> (x Data..:? "value")+      )++instance Prelude.Hashable WorkflowStepOutput where+  hashWithSalt _salt WorkflowStepOutput' {..} =+    _salt+      `Prelude.hashWithSalt` dataType+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` required+      `Prelude.hashWithSalt` value++instance Prelude.NFData WorkflowStepOutput where+  rnf WorkflowStepOutput' {..} =+    Prelude.rnf dataType+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf required+      `Prelude.seq` Prelude.rnf value++instance Data.ToJSON WorkflowStepOutput where+  toJSON WorkflowStepOutput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("dataType" Data..=) Prelude.<$> dataType,+            ("name" Data..=) Prelude.<$> name,+            ("required" Data..=) Prelude.<$> required,+            ("value" Data..=) Prelude.<$> value+          ]+      )
+ gen/Amazonka/MigrationHubOrchestrator/Types/WorkflowStepOutputUnion.hs view
@@ -0,0 +1,111 @@+{-# 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.MigrationHubOrchestrator.Types.WorkflowStepOutputUnion+-- 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.MigrationHubOrchestrator.Types.WorkflowStepOutputUnion 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++-- | A structure to hold multiple values of an output.+--+-- /See:/ 'newWorkflowStepOutputUnion' smart constructor.+data WorkflowStepOutputUnion = WorkflowStepOutputUnion'+  { -- | The integer value.+    integerValue :: Prelude.Maybe Prelude.Int,+    -- | The list of string value.+    listOfStringValue :: Prelude.Maybe [Prelude.Text],+    -- | The string value.+    stringValue :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkflowStepOutputUnion' 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:+--+-- 'integerValue', 'workflowStepOutputUnion_integerValue' - The integer value.+--+-- 'listOfStringValue', 'workflowStepOutputUnion_listOfStringValue' - The list of string value.+--+-- 'stringValue', 'workflowStepOutputUnion_stringValue' - The string value.+newWorkflowStepOutputUnion ::+  WorkflowStepOutputUnion+newWorkflowStepOutputUnion =+  WorkflowStepOutputUnion'+    { integerValue =+        Prelude.Nothing,+      listOfStringValue = Prelude.Nothing,+      stringValue = Prelude.Nothing+    }++-- | The integer value.+workflowStepOutputUnion_integerValue :: Lens.Lens' WorkflowStepOutputUnion (Prelude.Maybe Prelude.Int)+workflowStepOutputUnion_integerValue = Lens.lens (\WorkflowStepOutputUnion' {integerValue} -> integerValue) (\s@WorkflowStepOutputUnion' {} a -> s {integerValue = a} :: WorkflowStepOutputUnion)++-- | The list of string value.+workflowStepOutputUnion_listOfStringValue :: Lens.Lens' WorkflowStepOutputUnion (Prelude.Maybe [Prelude.Text])+workflowStepOutputUnion_listOfStringValue = Lens.lens (\WorkflowStepOutputUnion' {listOfStringValue} -> listOfStringValue) (\s@WorkflowStepOutputUnion' {} a -> s {listOfStringValue = a} :: WorkflowStepOutputUnion) Prelude.. Lens.mapping Lens.coerced++-- | The string value.+workflowStepOutputUnion_stringValue :: Lens.Lens' WorkflowStepOutputUnion (Prelude.Maybe Prelude.Text)+workflowStepOutputUnion_stringValue = Lens.lens (\WorkflowStepOutputUnion' {stringValue} -> stringValue) (\s@WorkflowStepOutputUnion' {} a -> s {stringValue = a} :: WorkflowStepOutputUnion)++instance Data.FromJSON WorkflowStepOutputUnion where+  parseJSON =+    Data.withObject+      "WorkflowStepOutputUnion"+      ( \x ->+          WorkflowStepOutputUnion'+            Prelude.<$> (x Data..:? "integerValue")+            Prelude.<*> ( x+                            Data..:? "listOfStringValue"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "stringValue")+      )++instance Prelude.Hashable WorkflowStepOutputUnion where+  hashWithSalt _salt WorkflowStepOutputUnion' {..} =+    _salt+      `Prelude.hashWithSalt` integerValue+      `Prelude.hashWithSalt` listOfStringValue+      `Prelude.hashWithSalt` stringValue++instance Prelude.NFData WorkflowStepOutputUnion where+  rnf WorkflowStepOutputUnion' {..} =+    Prelude.rnf integerValue+      `Prelude.seq` Prelude.rnf listOfStringValue+      `Prelude.seq` Prelude.rnf stringValue++instance Data.ToJSON WorkflowStepOutputUnion where+  toJSON WorkflowStepOutputUnion' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("integerValue" Data..=) Prelude.<$> integerValue,+            ("listOfStringValue" Data..=)+              Prelude.<$> listOfStringValue,+            ("stringValue" Data..=) Prelude.<$> stringValue+          ]+      )
+ gen/Amazonka/MigrationHubOrchestrator/Types/WorkflowStepSummary.hs view
@@ -0,0 +1,225 @@+{-# 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.MigrationHubOrchestrator.Types.WorkflowStepSummary+-- 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.MigrationHubOrchestrator.Types.WorkflowStepSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types.Owner+import Amazonka.MigrationHubOrchestrator.Types.StepActionType+import Amazonka.MigrationHubOrchestrator.Types.StepStatus+import qualified Amazonka.Prelude as Prelude++-- | The summary of the step in a migration workflow.+--+-- /See:/ 'newWorkflowStepSummary' smart constructor.+data WorkflowStepSummary = WorkflowStepSummary'+  { -- | The description of the step.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the step.+    name :: Prelude.Maybe Prelude.Text,+    -- | The next step.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The number of servers that have been migrated.+    noOfSrvCompleted :: Prelude.Maybe Prelude.Int,+    -- | The number of servers that have failed to migrate.+    noOfSrvFailed :: Prelude.Maybe Prelude.Int,+    -- | The owner of the step.+    owner :: Prelude.Maybe Owner,+    -- | The previous step.+    previous :: Prelude.Maybe [Prelude.Text],+    -- | The location of the script.+    scriptLocation :: Prelude.Maybe Prelude.Text,+    -- | The status of the step.+    status :: Prelude.Maybe StepStatus,+    -- | The status message of the migration workflow.+    statusMessage :: Prelude.Maybe Prelude.Text,+    -- | The action type of the step. You must run and update the status of a+    -- manual step for the workflow to continue after the completion of the+    -- step.+    stepActionType :: Prelude.Maybe StepActionType,+    -- | The ID of the step.+    stepId :: Prelude.Maybe Prelude.Text,+    -- | The total number of servers that have been migrated.+    totalNoOfSrv :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WorkflowStepSummary' 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:+--+-- 'description', 'workflowStepSummary_description' - The description of the step.+--+-- 'name', 'workflowStepSummary_name' - The name of the step.+--+-- 'next', 'workflowStepSummary_next' - The next step.+--+-- 'noOfSrvCompleted', 'workflowStepSummary_noOfSrvCompleted' - The number of servers that have been migrated.+--+-- 'noOfSrvFailed', 'workflowStepSummary_noOfSrvFailed' - The number of servers that have failed to migrate.+--+-- 'owner', 'workflowStepSummary_owner' - The owner of the step.+--+-- 'previous', 'workflowStepSummary_previous' - The previous step.+--+-- 'scriptLocation', 'workflowStepSummary_scriptLocation' - The location of the script.+--+-- 'status', 'workflowStepSummary_status' - The status of the step.+--+-- 'statusMessage', 'workflowStepSummary_statusMessage' - The status message of the migration workflow.+--+-- 'stepActionType', 'workflowStepSummary_stepActionType' - The action type of the step. You must run and update the status of a+-- manual step for the workflow to continue after the completion of the+-- step.+--+-- 'stepId', 'workflowStepSummary_stepId' - The ID of the step.+--+-- 'totalNoOfSrv', 'workflowStepSummary_totalNoOfSrv' - The total number of servers that have been migrated.+newWorkflowStepSummary ::+  WorkflowStepSummary+newWorkflowStepSummary =+  WorkflowStepSummary'+    { description = Prelude.Nothing,+      name = Prelude.Nothing,+      next = Prelude.Nothing,+      noOfSrvCompleted = Prelude.Nothing,+      noOfSrvFailed = Prelude.Nothing,+      owner = Prelude.Nothing,+      previous = Prelude.Nothing,+      scriptLocation = Prelude.Nothing,+      status = Prelude.Nothing,+      statusMessage = Prelude.Nothing,+      stepActionType = Prelude.Nothing,+      stepId = Prelude.Nothing,+      totalNoOfSrv = Prelude.Nothing+    }++-- | The description of the step.+workflowStepSummary_description :: Lens.Lens' WorkflowStepSummary (Prelude.Maybe Prelude.Text)+workflowStepSummary_description = Lens.lens (\WorkflowStepSummary' {description} -> description) (\s@WorkflowStepSummary' {} a -> s {description = a} :: WorkflowStepSummary)++-- | The name of the step.+workflowStepSummary_name :: Lens.Lens' WorkflowStepSummary (Prelude.Maybe Prelude.Text)+workflowStepSummary_name = Lens.lens (\WorkflowStepSummary' {name} -> name) (\s@WorkflowStepSummary' {} a -> s {name = a} :: WorkflowStepSummary)++-- | The next step.+workflowStepSummary_next :: Lens.Lens' WorkflowStepSummary (Prelude.Maybe [Prelude.Text])+workflowStepSummary_next = Lens.lens (\WorkflowStepSummary' {next} -> next) (\s@WorkflowStepSummary' {} a -> s {next = a} :: WorkflowStepSummary) Prelude.. Lens.mapping Lens.coerced++-- | The number of servers that have been migrated.+workflowStepSummary_noOfSrvCompleted :: Lens.Lens' WorkflowStepSummary (Prelude.Maybe Prelude.Int)+workflowStepSummary_noOfSrvCompleted = Lens.lens (\WorkflowStepSummary' {noOfSrvCompleted} -> noOfSrvCompleted) (\s@WorkflowStepSummary' {} a -> s {noOfSrvCompleted = a} :: WorkflowStepSummary)++-- | The number of servers that have failed to migrate.+workflowStepSummary_noOfSrvFailed :: Lens.Lens' WorkflowStepSummary (Prelude.Maybe Prelude.Int)+workflowStepSummary_noOfSrvFailed = Lens.lens (\WorkflowStepSummary' {noOfSrvFailed} -> noOfSrvFailed) (\s@WorkflowStepSummary' {} a -> s {noOfSrvFailed = a} :: WorkflowStepSummary)++-- | The owner of the step.+workflowStepSummary_owner :: Lens.Lens' WorkflowStepSummary (Prelude.Maybe Owner)+workflowStepSummary_owner = Lens.lens (\WorkflowStepSummary' {owner} -> owner) (\s@WorkflowStepSummary' {} a -> s {owner = a} :: WorkflowStepSummary)++-- | The previous step.+workflowStepSummary_previous :: Lens.Lens' WorkflowStepSummary (Prelude.Maybe [Prelude.Text])+workflowStepSummary_previous = Lens.lens (\WorkflowStepSummary' {previous} -> previous) (\s@WorkflowStepSummary' {} a -> s {previous = a} :: WorkflowStepSummary) Prelude.. Lens.mapping Lens.coerced++-- | The location of the script.+workflowStepSummary_scriptLocation :: Lens.Lens' WorkflowStepSummary (Prelude.Maybe Prelude.Text)+workflowStepSummary_scriptLocation = Lens.lens (\WorkflowStepSummary' {scriptLocation} -> scriptLocation) (\s@WorkflowStepSummary' {} a -> s {scriptLocation = a} :: WorkflowStepSummary)++-- | The status of the step.+workflowStepSummary_status :: Lens.Lens' WorkflowStepSummary (Prelude.Maybe StepStatus)+workflowStepSummary_status = Lens.lens (\WorkflowStepSummary' {status} -> status) (\s@WorkflowStepSummary' {} a -> s {status = a} :: WorkflowStepSummary)++-- | The status message of the migration workflow.+workflowStepSummary_statusMessage :: Lens.Lens' WorkflowStepSummary (Prelude.Maybe Prelude.Text)+workflowStepSummary_statusMessage = Lens.lens (\WorkflowStepSummary' {statusMessage} -> statusMessage) (\s@WorkflowStepSummary' {} a -> s {statusMessage = a} :: WorkflowStepSummary)++-- | The action type of the step. You must run and update the status of a+-- manual step for the workflow to continue after the completion of the+-- step.+workflowStepSummary_stepActionType :: Lens.Lens' WorkflowStepSummary (Prelude.Maybe StepActionType)+workflowStepSummary_stepActionType = Lens.lens (\WorkflowStepSummary' {stepActionType} -> stepActionType) (\s@WorkflowStepSummary' {} a -> s {stepActionType = a} :: WorkflowStepSummary)++-- | The ID of the step.+workflowStepSummary_stepId :: Lens.Lens' WorkflowStepSummary (Prelude.Maybe Prelude.Text)+workflowStepSummary_stepId = Lens.lens (\WorkflowStepSummary' {stepId} -> stepId) (\s@WorkflowStepSummary' {} a -> s {stepId = a} :: WorkflowStepSummary)++-- | The total number of servers that have been migrated.+workflowStepSummary_totalNoOfSrv :: Lens.Lens' WorkflowStepSummary (Prelude.Maybe Prelude.Int)+workflowStepSummary_totalNoOfSrv = Lens.lens (\WorkflowStepSummary' {totalNoOfSrv} -> totalNoOfSrv) (\s@WorkflowStepSummary' {} a -> s {totalNoOfSrv = a} :: WorkflowStepSummary)++instance Data.FromJSON WorkflowStepSummary where+  parseJSON =+    Data.withObject+      "WorkflowStepSummary"+      ( \x ->+          WorkflowStepSummary'+            Prelude.<$> (x Data..:? "description")+            Prelude.<*> (x Data..:? "name")+            Prelude.<*> (x Data..:? "next" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "noOfSrvCompleted")+            Prelude.<*> (x Data..:? "noOfSrvFailed")+            Prelude.<*> (x Data..:? "owner")+            Prelude.<*> (x Data..:? "previous" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "scriptLocation")+            Prelude.<*> (x Data..:? "status")+            Prelude.<*> (x Data..:? "statusMessage")+            Prelude.<*> (x Data..:? "stepActionType")+            Prelude.<*> (x Data..:? "stepId")+            Prelude.<*> (x Data..:? "totalNoOfSrv")+      )++instance Prelude.Hashable WorkflowStepSummary where+  hashWithSalt _salt WorkflowStepSummary' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` next+      `Prelude.hashWithSalt` noOfSrvCompleted+      `Prelude.hashWithSalt` noOfSrvFailed+      `Prelude.hashWithSalt` owner+      `Prelude.hashWithSalt` previous+      `Prelude.hashWithSalt` scriptLocation+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` statusMessage+      `Prelude.hashWithSalt` stepActionType+      `Prelude.hashWithSalt` stepId+      `Prelude.hashWithSalt` totalNoOfSrv++instance Prelude.NFData WorkflowStepSummary where+  rnf WorkflowStepSummary' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf noOfSrvCompleted+      `Prelude.seq` Prelude.rnf noOfSrvFailed+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf previous+      `Prelude.seq` Prelude.rnf scriptLocation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf statusMessage+      `Prelude.seq` Prelude.rnf stepActionType+      `Prelude.seq` Prelude.rnf stepId+      `Prelude.seq` Prelude.rnf totalNoOfSrv
+ gen/Amazonka/MigrationHubOrchestrator/UntagResource.hs view
@@ -0,0 +1,164 @@+{-# 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.MigrationHubOrchestrator.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)+--+-- Deletes the tags for a resource.+module Amazonka.MigrationHubOrchestrator.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 Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) of the resource from which you want to+    -- remove tags.+    resourceArn :: Prelude.Text,+    -- | One or more tag keys. Specify only the tag keys, not the tag values.+    tagKeys :: [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 resource from which you want to+-- remove tags.+--+-- 'tagKeys', 'untagResource_tagKeys' - One or more tag keys. Specify only the tag keys, not the tag values.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the resource from which you want to+-- remove tags.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | One or more tag keys. Specify only the tag keys, not the tag values.+untagResource_tagKeys :: Lens.Lens' UntagResource [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/MigrationHubOrchestrator/UpdateWorkflow.hs view
@@ -0,0 +1,355 @@+{-# 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.MigrationHubOrchestrator.UpdateWorkflow+-- 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 a migration workflow.+module Amazonka.MigrationHubOrchestrator.UpdateWorkflow+  ( -- * Creating a Request+    UpdateWorkflow (..),+    newUpdateWorkflow,++    -- * Request Lenses+    updateWorkflow_description,+    updateWorkflow_inputParameters,+    updateWorkflow_name,+    updateWorkflow_stepTargets,+    updateWorkflow_id,++    -- * Destructuring the Response+    UpdateWorkflowResponse (..),+    newUpdateWorkflowResponse,++    -- * Response Lenses+    updateWorkflowResponse_adsApplicationConfigurationId,+    updateWorkflowResponse_arn,+    updateWorkflowResponse_creationTime,+    updateWorkflowResponse_description,+    updateWorkflowResponse_id,+    updateWorkflowResponse_lastModifiedTime,+    updateWorkflowResponse_name,+    updateWorkflowResponse_status,+    updateWorkflowResponse_stepTargets,+    updateWorkflowResponse_tags,+    updateWorkflowResponse_templateId,+    updateWorkflowResponse_workflowInputs,+    updateWorkflowResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateWorkflow' smart constructor.+data UpdateWorkflow = UpdateWorkflow'+  { -- | The description of the migration workflow.+    description :: Prelude.Maybe Prelude.Text,+    -- | The input parameters required to update a migration workflow.+    inputParameters :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text StepInput)),+    -- | The name of the migration workflow.+    name :: Prelude.Maybe Prelude.Text,+    -- | The servers on which a step will be run.+    stepTargets :: Prelude.Maybe [Prelude.Text],+    -- | The ID of the migration workflow.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWorkflow' 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:+--+-- 'description', 'updateWorkflow_description' - The description of the migration workflow.+--+-- 'inputParameters', 'updateWorkflow_inputParameters' - The input parameters required to update a migration workflow.+--+-- 'name', 'updateWorkflow_name' - The name of the migration workflow.+--+-- 'stepTargets', 'updateWorkflow_stepTargets' - The servers on which a step will be run.+--+-- 'id', 'updateWorkflow_id' - The ID of the migration workflow.+newUpdateWorkflow ::+  -- | 'id'+  Prelude.Text ->+  UpdateWorkflow+newUpdateWorkflow pId_ =+  UpdateWorkflow'+    { description = Prelude.Nothing,+      inputParameters = Prelude.Nothing,+      name = Prelude.Nothing,+      stepTargets = Prelude.Nothing,+      id = pId_+    }++-- | The description of the migration workflow.+updateWorkflow_description :: Lens.Lens' UpdateWorkflow (Prelude.Maybe Prelude.Text)+updateWorkflow_description = Lens.lens (\UpdateWorkflow' {description} -> description) (\s@UpdateWorkflow' {} a -> s {description = a} :: UpdateWorkflow)++-- | The input parameters required to update a migration workflow.+updateWorkflow_inputParameters :: Lens.Lens' UpdateWorkflow (Prelude.Maybe (Prelude.HashMap Prelude.Text StepInput))+updateWorkflow_inputParameters = Lens.lens (\UpdateWorkflow' {inputParameters} -> inputParameters) (\s@UpdateWorkflow' {} a -> s {inputParameters = a} :: UpdateWorkflow) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The name of the migration workflow.+updateWorkflow_name :: Lens.Lens' UpdateWorkflow (Prelude.Maybe Prelude.Text)+updateWorkflow_name = Lens.lens (\UpdateWorkflow' {name} -> name) (\s@UpdateWorkflow' {} a -> s {name = a} :: UpdateWorkflow)++-- | The servers on which a step will be run.+updateWorkflow_stepTargets :: Lens.Lens' UpdateWorkflow (Prelude.Maybe [Prelude.Text])+updateWorkflow_stepTargets = Lens.lens (\UpdateWorkflow' {stepTargets} -> stepTargets) (\s@UpdateWorkflow' {} a -> s {stepTargets = a} :: UpdateWorkflow) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the migration workflow.+updateWorkflow_id :: Lens.Lens' UpdateWorkflow Prelude.Text+updateWorkflow_id = Lens.lens (\UpdateWorkflow' {id} -> id) (\s@UpdateWorkflow' {} a -> s {id = a} :: UpdateWorkflow)++instance Core.AWSRequest UpdateWorkflow where+  type+    AWSResponse UpdateWorkflow =+      UpdateWorkflowResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateWorkflowResponse'+            Prelude.<$> (x Data..?> "adsApplicationConfigurationId")+            Prelude.<*> (x Data..?> "arn")+            Prelude.<*> (x Data..?> "creationTime")+            Prelude.<*> (x Data..?> "description")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "lastModifiedTime")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "status")+            Prelude.<*> (x Data..?> "stepTargets" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "templateId")+            Prelude.<*> (x Data..?> "workflowInputs" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateWorkflow where+  hashWithSalt _salt UpdateWorkflow' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` inputParameters+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` stepTargets+      `Prelude.hashWithSalt` id++instance Prelude.NFData UpdateWorkflow where+  rnf UpdateWorkflow' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf inputParameters+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf stepTargets+      `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders UpdateWorkflow where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateWorkflow where+  toJSON UpdateWorkflow' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            ("inputParameters" Data..=)+              Prelude.<$> inputParameters,+            ("name" Data..=) Prelude.<$> name,+            ("stepTargets" Data..=) Prelude.<$> stepTargets+          ]+      )++instance Data.ToPath UpdateWorkflow where+  toPath UpdateWorkflow' {..} =+    Prelude.mconcat+      ["/migrationworkflow/", Data.toBS id]++instance Data.ToQuery UpdateWorkflow where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateWorkflowResponse' smart constructor.+data UpdateWorkflowResponse = UpdateWorkflowResponse'+  { -- | The ID of the application configured in Application Discovery Service.+    adsApplicationConfigurationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the migration workflow.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time at which the migration workflow was created.+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the migration workflow.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the migration workflow.+    id :: Prelude.Maybe Prelude.Text,+    -- | The time at which the migration workflow was last modified.+    lastModifiedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the migration workflow.+    name :: Prelude.Maybe Prelude.Text,+    -- | The status of the migration workflow.+    status :: Prelude.Maybe MigrationWorkflowStatusEnum,+    -- | The servers on which a step will be run.+    stepTargets :: Prelude.Maybe [Prelude.Text],+    -- | The tags added to the migration workflow.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The ID of the template.+    templateId :: Prelude.Maybe Prelude.Text,+    -- | The inputs required to update a migration workflow.+    workflowInputs :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text StepInput)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWorkflowResponse' 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:+--+-- 'adsApplicationConfigurationId', 'updateWorkflowResponse_adsApplicationConfigurationId' - The ID of the application configured in Application Discovery Service.+--+-- 'arn', 'updateWorkflowResponse_arn' - The Amazon Resource Name (ARN) of the migration workflow.+--+-- 'creationTime', 'updateWorkflowResponse_creationTime' - The time at which the migration workflow was created.+--+-- 'description', 'updateWorkflowResponse_description' - The description of the migration workflow.+--+-- 'id', 'updateWorkflowResponse_id' - The ID of the migration workflow.+--+-- 'lastModifiedTime', 'updateWorkflowResponse_lastModifiedTime' - The time at which the migration workflow was last modified.+--+-- 'name', 'updateWorkflowResponse_name' - The name of the migration workflow.+--+-- 'status', 'updateWorkflowResponse_status' - The status of the migration workflow.+--+-- 'stepTargets', 'updateWorkflowResponse_stepTargets' - The servers on which a step will be run.+--+-- 'tags', 'updateWorkflowResponse_tags' - The tags added to the migration workflow.+--+-- 'templateId', 'updateWorkflowResponse_templateId' - The ID of the template.+--+-- 'workflowInputs', 'updateWorkflowResponse_workflowInputs' - The inputs required to update a migration workflow.+--+-- 'httpStatus', 'updateWorkflowResponse_httpStatus' - The response's http status code.+newUpdateWorkflowResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateWorkflowResponse+newUpdateWorkflowResponse pHttpStatus_ =+  UpdateWorkflowResponse'+    { adsApplicationConfigurationId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      description = Prelude.Nothing,+      id = Prelude.Nothing,+      lastModifiedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      status = Prelude.Nothing,+      stepTargets = Prelude.Nothing,+      tags = Prelude.Nothing,+      templateId = Prelude.Nothing,+      workflowInputs = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the application configured in Application Discovery Service.+updateWorkflowResponse_adsApplicationConfigurationId :: Lens.Lens' UpdateWorkflowResponse (Prelude.Maybe Prelude.Text)+updateWorkflowResponse_adsApplicationConfigurationId = Lens.lens (\UpdateWorkflowResponse' {adsApplicationConfigurationId} -> adsApplicationConfigurationId) (\s@UpdateWorkflowResponse' {} a -> s {adsApplicationConfigurationId = a} :: UpdateWorkflowResponse)++-- | The Amazon Resource Name (ARN) of the migration workflow.+updateWorkflowResponse_arn :: Lens.Lens' UpdateWorkflowResponse (Prelude.Maybe Prelude.Text)+updateWorkflowResponse_arn = Lens.lens (\UpdateWorkflowResponse' {arn} -> arn) (\s@UpdateWorkflowResponse' {} a -> s {arn = a} :: UpdateWorkflowResponse)++-- | The time at which the migration workflow was created.+updateWorkflowResponse_creationTime :: Lens.Lens' UpdateWorkflowResponse (Prelude.Maybe Prelude.UTCTime)+updateWorkflowResponse_creationTime = Lens.lens (\UpdateWorkflowResponse' {creationTime} -> creationTime) (\s@UpdateWorkflowResponse' {} a -> s {creationTime = a} :: UpdateWorkflowResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the migration workflow.+updateWorkflowResponse_description :: Lens.Lens' UpdateWorkflowResponse (Prelude.Maybe Prelude.Text)+updateWorkflowResponse_description = Lens.lens (\UpdateWorkflowResponse' {description} -> description) (\s@UpdateWorkflowResponse' {} a -> s {description = a} :: UpdateWorkflowResponse)++-- | The ID of the migration workflow.+updateWorkflowResponse_id :: Lens.Lens' UpdateWorkflowResponse (Prelude.Maybe Prelude.Text)+updateWorkflowResponse_id = Lens.lens (\UpdateWorkflowResponse' {id} -> id) (\s@UpdateWorkflowResponse' {} a -> s {id = a} :: UpdateWorkflowResponse)++-- | The time at which the migration workflow was last modified.+updateWorkflowResponse_lastModifiedTime :: Lens.Lens' UpdateWorkflowResponse (Prelude.Maybe Prelude.UTCTime)+updateWorkflowResponse_lastModifiedTime = Lens.lens (\UpdateWorkflowResponse' {lastModifiedTime} -> lastModifiedTime) (\s@UpdateWorkflowResponse' {} a -> s {lastModifiedTime = a} :: UpdateWorkflowResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the migration workflow.+updateWorkflowResponse_name :: Lens.Lens' UpdateWorkflowResponse (Prelude.Maybe Prelude.Text)+updateWorkflowResponse_name = Lens.lens (\UpdateWorkflowResponse' {name} -> name) (\s@UpdateWorkflowResponse' {} a -> s {name = a} :: UpdateWorkflowResponse)++-- | The status of the migration workflow.+updateWorkflowResponse_status :: Lens.Lens' UpdateWorkflowResponse (Prelude.Maybe MigrationWorkflowStatusEnum)+updateWorkflowResponse_status = Lens.lens (\UpdateWorkflowResponse' {status} -> status) (\s@UpdateWorkflowResponse' {} a -> s {status = a} :: UpdateWorkflowResponse)++-- | The servers on which a step will be run.+updateWorkflowResponse_stepTargets :: Lens.Lens' UpdateWorkflowResponse (Prelude.Maybe [Prelude.Text])+updateWorkflowResponse_stepTargets = Lens.lens (\UpdateWorkflowResponse' {stepTargets} -> stepTargets) (\s@UpdateWorkflowResponse' {} a -> s {stepTargets = a} :: UpdateWorkflowResponse) Prelude.. Lens.mapping Lens.coerced++-- | The tags added to the migration workflow.+updateWorkflowResponse_tags :: Lens.Lens' UpdateWorkflowResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateWorkflowResponse_tags = Lens.lens (\UpdateWorkflowResponse' {tags} -> tags) (\s@UpdateWorkflowResponse' {} a -> s {tags = a} :: UpdateWorkflowResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the template.+updateWorkflowResponse_templateId :: Lens.Lens' UpdateWorkflowResponse (Prelude.Maybe Prelude.Text)+updateWorkflowResponse_templateId = Lens.lens (\UpdateWorkflowResponse' {templateId} -> templateId) (\s@UpdateWorkflowResponse' {} a -> s {templateId = a} :: UpdateWorkflowResponse)++-- | The inputs required to update a migration workflow.+updateWorkflowResponse_workflowInputs :: Lens.Lens' UpdateWorkflowResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text StepInput))+updateWorkflowResponse_workflowInputs = Lens.lens (\UpdateWorkflowResponse' {workflowInputs} -> workflowInputs) (\s@UpdateWorkflowResponse' {} a -> s {workflowInputs = a} :: UpdateWorkflowResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+updateWorkflowResponse_httpStatus :: Lens.Lens' UpdateWorkflowResponse Prelude.Int+updateWorkflowResponse_httpStatus = Lens.lens (\UpdateWorkflowResponse' {httpStatus} -> httpStatus) (\s@UpdateWorkflowResponse' {} a -> s {httpStatus = a} :: UpdateWorkflowResponse)++instance Prelude.NFData UpdateWorkflowResponse where+  rnf UpdateWorkflowResponse' {..} =+    Prelude.rnf adsApplicationConfigurationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf stepTargets+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf templateId+      `Prelude.seq` Prelude.rnf workflowInputs+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/UpdateWorkflowStep.hs view
@@ -0,0 +1,360 @@+{-# 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.MigrationHubOrchestrator.UpdateWorkflowStep+-- 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 a step in a migration workflow.+module Amazonka.MigrationHubOrchestrator.UpdateWorkflowStep+  ( -- * Creating a Request+    UpdateWorkflowStep (..),+    newUpdateWorkflowStep,++    -- * Request Lenses+    updateWorkflowStep_description,+    updateWorkflowStep_name,+    updateWorkflowStep_next,+    updateWorkflowStep_outputs,+    updateWorkflowStep_previous,+    updateWorkflowStep_status,+    updateWorkflowStep_stepActionType,+    updateWorkflowStep_stepTarget,+    updateWorkflowStep_workflowStepAutomationConfiguration,+    updateWorkflowStep_id,+    updateWorkflowStep_stepGroupId,+    updateWorkflowStep_workflowId,++    -- * Destructuring the Response+    UpdateWorkflowStepResponse (..),+    newUpdateWorkflowStepResponse,++    -- * Response Lenses+    updateWorkflowStepResponse_id,+    updateWorkflowStepResponse_name,+    updateWorkflowStepResponse_stepGroupId,+    updateWorkflowStepResponse_workflowId,+    updateWorkflowStepResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateWorkflowStep' smart constructor.+data UpdateWorkflowStep = UpdateWorkflowStep'+  { -- | The description of the step.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the step.+    name :: Prelude.Maybe Prelude.Text,+    -- | The next step.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The outputs of a step.+    outputs :: Prelude.Maybe [WorkflowStepOutput],+    -- | The previous step.+    previous :: Prelude.Maybe [Prelude.Text],+    -- | The status of the step.+    status :: Prelude.Maybe StepStatus,+    -- | The action type of the step. You must run and update the status of a+    -- manual step for the workflow to continue after the completion of the+    -- step.+    stepActionType :: Prelude.Maybe StepActionType,+    -- | The servers on which a step will be run.+    stepTarget :: Prelude.Maybe [Prelude.Text],+    -- | The custom script to run tests on the source and target environments.+    workflowStepAutomationConfiguration :: Prelude.Maybe WorkflowStepAutomationConfiguration,+    -- | The ID of the step.+    id :: Prelude.Text,+    -- | The ID of the step group.+    stepGroupId :: Prelude.Text,+    -- | The ID of the migration workflow.+    workflowId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWorkflowStep' 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:+--+-- 'description', 'updateWorkflowStep_description' - The description of the step.+--+-- 'name', 'updateWorkflowStep_name' - The name of the step.+--+-- 'next', 'updateWorkflowStep_next' - The next step.+--+-- 'outputs', 'updateWorkflowStep_outputs' - The outputs of a step.+--+-- 'previous', 'updateWorkflowStep_previous' - The previous step.+--+-- 'status', 'updateWorkflowStep_status' - The status of the step.+--+-- 'stepActionType', 'updateWorkflowStep_stepActionType' - The action type of the step. You must run and update the status of a+-- manual step for the workflow to continue after the completion of the+-- step.+--+-- 'stepTarget', 'updateWorkflowStep_stepTarget' - The servers on which a step will be run.+--+-- 'workflowStepAutomationConfiguration', 'updateWorkflowStep_workflowStepAutomationConfiguration' - The custom script to run tests on the source and target environments.+--+-- 'id', 'updateWorkflowStep_id' - The ID of the step.+--+-- 'stepGroupId', 'updateWorkflowStep_stepGroupId' - The ID of the step group.+--+-- 'workflowId', 'updateWorkflowStep_workflowId' - The ID of the migration workflow.+newUpdateWorkflowStep ::+  -- | 'id'+  Prelude.Text ->+  -- | 'stepGroupId'+  Prelude.Text ->+  -- | 'workflowId'+  Prelude.Text ->+  UpdateWorkflowStep+newUpdateWorkflowStep pId_ pStepGroupId_ pWorkflowId_ =+  UpdateWorkflowStep'+    { description = Prelude.Nothing,+      name = Prelude.Nothing,+      next = Prelude.Nothing,+      outputs = Prelude.Nothing,+      previous = Prelude.Nothing,+      status = Prelude.Nothing,+      stepActionType = Prelude.Nothing,+      stepTarget = Prelude.Nothing,+      workflowStepAutomationConfiguration =+        Prelude.Nothing,+      id = pId_,+      stepGroupId = pStepGroupId_,+      workflowId = pWorkflowId_+    }++-- | The description of the step.+updateWorkflowStep_description :: Lens.Lens' UpdateWorkflowStep (Prelude.Maybe Prelude.Text)+updateWorkflowStep_description = Lens.lens (\UpdateWorkflowStep' {description} -> description) (\s@UpdateWorkflowStep' {} a -> s {description = a} :: UpdateWorkflowStep)++-- | The name of the step.+updateWorkflowStep_name :: Lens.Lens' UpdateWorkflowStep (Prelude.Maybe Prelude.Text)+updateWorkflowStep_name = Lens.lens (\UpdateWorkflowStep' {name} -> name) (\s@UpdateWorkflowStep' {} a -> s {name = a} :: UpdateWorkflowStep)++-- | The next step.+updateWorkflowStep_next :: Lens.Lens' UpdateWorkflowStep (Prelude.Maybe [Prelude.Text])+updateWorkflowStep_next = Lens.lens (\UpdateWorkflowStep' {next} -> next) (\s@UpdateWorkflowStep' {} a -> s {next = a} :: UpdateWorkflowStep) Prelude.. Lens.mapping Lens.coerced++-- | The outputs of a step.+updateWorkflowStep_outputs :: Lens.Lens' UpdateWorkflowStep (Prelude.Maybe [WorkflowStepOutput])+updateWorkflowStep_outputs = Lens.lens (\UpdateWorkflowStep' {outputs} -> outputs) (\s@UpdateWorkflowStep' {} a -> s {outputs = a} :: UpdateWorkflowStep) Prelude.. Lens.mapping Lens.coerced++-- | The previous step.+updateWorkflowStep_previous :: Lens.Lens' UpdateWorkflowStep (Prelude.Maybe [Prelude.Text])+updateWorkflowStep_previous = Lens.lens (\UpdateWorkflowStep' {previous} -> previous) (\s@UpdateWorkflowStep' {} a -> s {previous = a} :: UpdateWorkflowStep) Prelude.. Lens.mapping Lens.coerced++-- | The status of the step.+updateWorkflowStep_status :: Lens.Lens' UpdateWorkflowStep (Prelude.Maybe StepStatus)+updateWorkflowStep_status = Lens.lens (\UpdateWorkflowStep' {status} -> status) (\s@UpdateWorkflowStep' {} a -> s {status = a} :: UpdateWorkflowStep)++-- | The action type of the step. You must run and update the status of a+-- manual step for the workflow to continue after the completion of the+-- step.+updateWorkflowStep_stepActionType :: Lens.Lens' UpdateWorkflowStep (Prelude.Maybe StepActionType)+updateWorkflowStep_stepActionType = Lens.lens (\UpdateWorkflowStep' {stepActionType} -> stepActionType) (\s@UpdateWorkflowStep' {} a -> s {stepActionType = a} :: UpdateWorkflowStep)++-- | The servers on which a step will be run.+updateWorkflowStep_stepTarget :: Lens.Lens' UpdateWorkflowStep (Prelude.Maybe [Prelude.Text])+updateWorkflowStep_stepTarget = Lens.lens (\UpdateWorkflowStep' {stepTarget} -> stepTarget) (\s@UpdateWorkflowStep' {} a -> s {stepTarget = a} :: UpdateWorkflowStep) Prelude.. Lens.mapping Lens.coerced++-- | The custom script to run tests on the source and target environments.+updateWorkflowStep_workflowStepAutomationConfiguration :: Lens.Lens' UpdateWorkflowStep (Prelude.Maybe WorkflowStepAutomationConfiguration)+updateWorkflowStep_workflowStepAutomationConfiguration = Lens.lens (\UpdateWorkflowStep' {workflowStepAutomationConfiguration} -> workflowStepAutomationConfiguration) (\s@UpdateWorkflowStep' {} a -> s {workflowStepAutomationConfiguration = a} :: UpdateWorkflowStep)++-- | The ID of the step.+updateWorkflowStep_id :: Lens.Lens' UpdateWorkflowStep Prelude.Text+updateWorkflowStep_id = Lens.lens (\UpdateWorkflowStep' {id} -> id) (\s@UpdateWorkflowStep' {} a -> s {id = a} :: UpdateWorkflowStep)++-- | The ID of the step group.+updateWorkflowStep_stepGroupId :: Lens.Lens' UpdateWorkflowStep Prelude.Text+updateWorkflowStep_stepGroupId = Lens.lens (\UpdateWorkflowStep' {stepGroupId} -> stepGroupId) (\s@UpdateWorkflowStep' {} a -> s {stepGroupId = a} :: UpdateWorkflowStep)++-- | The ID of the migration workflow.+updateWorkflowStep_workflowId :: Lens.Lens' UpdateWorkflowStep Prelude.Text+updateWorkflowStep_workflowId = Lens.lens (\UpdateWorkflowStep' {workflowId} -> workflowId) (\s@UpdateWorkflowStep' {} a -> s {workflowId = a} :: UpdateWorkflowStep)++instance Core.AWSRequest UpdateWorkflowStep where+  type+    AWSResponse UpdateWorkflowStep =+      UpdateWorkflowStepResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateWorkflowStepResponse'+            Prelude.<$> (x Data..?> "id")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "stepGroupId")+            Prelude.<*> (x Data..?> "workflowId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateWorkflowStep where+  hashWithSalt _salt UpdateWorkflowStep' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` next+      `Prelude.hashWithSalt` outputs+      `Prelude.hashWithSalt` previous+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` stepActionType+      `Prelude.hashWithSalt` stepTarget+      `Prelude.hashWithSalt` workflowStepAutomationConfiguration+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` stepGroupId+      `Prelude.hashWithSalt` workflowId++instance Prelude.NFData UpdateWorkflowStep where+  rnf UpdateWorkflowStep' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf outputs+      `Prelude.seq` Prelude.rnf previous+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf stepActionType+      `Prelude.seq` Prelude.rnf stepTarget+      `Prelude.seq` Prelude.rnf workflowStepAutomationConfiguration+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf stepGroupId+      `Prelude.seq` Prelude.rnf workflowId++instance Data.ToHeaders UpdateWorkflowStep where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateWorkflowStep where+  toJSON UpdateWorkflowStep' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            ("name" Data..=) Prelude.<$> name,+            ("next" Data..=) Prelude.<$> next,+            ("outputs" Data..=) Prelude.<$> outputs,+            ("previous" Data..=) Prelude.<$> previous,+            ("status" Data..=) Prelude.<$> status,+            ("stepActionType" Data..=)+              Prelude.<$> stepActionType,+            ("stepTarget" Data..=) Prelude.<$> stepTarget,+            ("workflowStepAutomationConfiguration" Data..=)+              Prelude.<$> workflowStepAutomationConfiguration,+            Prelude.Just ("stepGroupId" Data..= stepGroupId),+            Prelude.Just ("workflowId" Data..= workflowId)+          ]+      )++instance Data.ToPath UpdateWorkflowStep where+  toPath UpdateWorkflowStep' {..} =+    Prelude.mconcat ["/workflowstep/", Data.toBS id]++instance Data.ToQuery UpdateWorkflowStep where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateWorkflowStepResponse' smart constructor.+data UpdateWorkflowStepResponse = UpdateWorkflowStepResponse'+  { -- | The ID of the step.+    id :: Prelude.Maybe Prelude.Text,+    -- | The name of the step.+    name :: Prelude.Maybe Prelude.Text,+    -- | The ID of the step group.+    stepGroupId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the migration workflow.+    workflowId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWorkflowStepResponse' 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:+--+-- 'id', 'updateWorkflowStepResponse_id' - The ID of the step.+--+-- 'name', 'updateWorkflowStepResponse_name' - The name of the step.+--+-- 'stepGroupId', 'updateWorkflowStepResponse_stepGroupId' - The ID of the step group.+--+-- 'workflowId', 'updateWorkflowStepResponse_workflowId' - The ID of the migration workflow.+--+-- 'httpStatus', 'updateWorkflowStepResponse_httpStatus' - The response's http status code.+newUpdateWorkflowStepResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateWorkflowStepResponse+newUpdateWorkflowStepResponse pHttpStatus_ =+  UpdateWorkflowStepResponse'+    { id = Prelude.Nothing,+      name = Prelude.Nothing,+      stepGroupId = Prelude.Nothing,+      workflowId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the step.+updateWorkflowStepResponse_id :: Lens.Lens' UpdateWorkflowStepResponse (Prelude.Maybe Prelude.Text)+updateWorkflowStepResponse_id = Lens.lens (\UpdateWorkflowStepResponse' {id} -> id) (\s@UpdateWorkflowStepResponse' {} a -> s {id = a} :: UpdateWorkflowStepResponse)++-- | The name of the step.+updateWorkflowStepResponse_name :: Lens.Lens' UpdateWorkflowStepResponse (Prelude.Maybe Prelude.Text)+updateWorkflowStepResponse_name = Lens.lens (\UpdateWorkflowStepResponse' {name} -> name) (\s@UpdateWorkflowStepResponse' {} a -> s {name = a} :: UpdateWorkflowStepResponse)++-- | The ID of the step group.+updateWorkflowStepResponse_stepGroupId :: Lens.Lens' UpdateWorkflowStepResponse (Prelude.Maybe Prelude.Text)+updateWorkflowStepResponse_stepGroupId = Lens.lens (\UpdateWorkflowStepResponse' {stepGroupId} -> stepGroupId) (\s@UpdateWorkflowStepResponse' {} a -> s {stepGroupId = a} :: UpdateWorkflowStepResponse)++-- | The ID of the migration workflow.+updateWorkflowStepResponse_workflowId :: Lens.Lens' UpdateWorkflowStepResponse (Prelude.Maybe Prelude.Text)+updateWorkflowStepResponse_workflowId = Lens.lens (\UpdateWorkflowStepResponse' {workflowId} -> workflowId) (\s@UpdateWorkflowStepResponse' {} a -> s {workflowId = a} :: UpdateWorkflowStepResponse)++-- | The response's http status code.+updateWorkflowStepResponse_httpStatus :: Lens.Lens' UpdateWorkflowStepResponse Prelude.Int+updateWorkflowStepResponse_httpStatus = Lens.lens (\UpdateWorkflowStepResponse' {httpStatus} -> httpStatus) (\s@UpdateWorkflowStepResponse' {} a -> s {httpStatus = a} :: UpdateWorkflowStepResponse)++instance Prelude.NFData UpdateWorkflowStepResponse where+  rnf UpdateWorkflowStepResponse' {..} =+    Prelude.rnf id+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf stepGroupId+      `Prelude.seq` Prelude.rnf workflowId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/UpdateWorkflowStepGroup.hs view
@@ -0,0 +1,325 @@+{-# 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.MigrationHubOrchestrator.UpdateWorkflowStepGroup+-- 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 step group in a migration workflow.+module Amazonka.MigrationHubOrchestrator.UpdateWorkflowStepGroup+  ( -- * Creating a Request+    UpdateWorkflowStepGroup (..),+    newUpdateWorkflowStepGroup,++    -- * Request Lenses+    updateWorkflowStepGroup_description,+    updateWorkflowStepGroup_name,+    updateWorkflowStepGroup_next,+    updateWorkflowStepGroup_previous,+    updateWorkflowStepGroup_workflowId,+    updateWorkflowStepGroup_id,++    -- * Destructuring the Response+    UpdateWorkflowStepGroupResponse (..),+    newUpdateWorkflowStepGroupResponse,++    -- * Response Lenses+    updateWorkflowStepGroupResponse_description,+    updateWorkflowStepGroupResponse_id,+    updateWorkflowStepGroupResponse_lastModifiedTime,+    updateWorkflowStepGroupResponse_name,+    updateWorkflowStepGroupResponse_next,+    updateWorkflowStepGroupResponse_previous,+    updateWorkflowStepGroupResponse_tools,+    updateWorkflowStepGroupResponse_workflowId,+    updateWorkflowStepGroupResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateWorkflowStepGroup' smart constructor.+data UpdateWorkflowStepGroup = UpdateWorkflowStepGroup'+  { -- | The description of the step group.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the step group.+    name :: Prelude.Maybe Prelude.Text,+    -- | The next step group.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The previous step group.+    previous :: Prelude.Maybe [Prelude.Text],+    -- | The ID of the migration workflow.+    workflowId :: Prelude.Text,+    -- | The ID of the step group.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWorkflowStepGroup' 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:+--+-- 'description', 'updateWorkflowStepGroup_description' - The description of the step group.+--+-- 'name', 'updateWorkflowStepGroup_name' - The name of the step group.+--+-- 'next', 'updateWorkflowStepGroup_next' - The next step group.+--+-- 'previous', 'updateWorkflowStepGroup_previous' - The previous step group.+--+-- 'workflowId', 'updateWorkflowStepGroup_workflowId' - The ID of the migration workflow.+--+-- 'id', 'updateWorkflowStepGroup_id' - The ID of the step group.+newUpdateWorkflowStepGroup ::+  -- | 'workflowId'+  Prelude.Text ->+  -- | 'id'+  Prelude.Text ->+  UpdateWorkflowStepGroup+newUpdateWorkflowStepGroup pWorkflowId_ pId_ =+  UpdateWorkflowStepGroup'+    { description =+        Prelude.Nothing,+      name = Prelude.Nothing,+      next = Prelude.Nothing,+      previous = Prelude.Nothing,+      workflowId = pWorkflowId_,+      id = pId_+    }++-- | The description of the step group.+updateWorkflowStepGroup_description :: Lens.Lens' UpdateWorkflowStepGroup (Prelude.Maybe Prelude.Text)+updateWorkflowStepGroup_description = Lens.lens (\UpdateWorkflowStepGroup' {description} -> description) (\s@UpdateWorkflowStepGroup' {} a -> s {description = a} :: UpdateWorkflowStepGroup)++-- | The name of the step group.+updateWorkflowStepGroup_name :: Lens.Lens' UpdateWorkflowStepGroup (Prelude.Maybe Prelude.Text)+updateWorkflowStepGroup_name = Lens.lens (\UpdateWorkflowStepGroup' {name} -> name) (\s@UpdateWorkflowStepGroup' {} a -> s {name = a} :: UpdateWorkflowStepGroup)++-- | The next step group.+updateWorkflowStepGroup_next :: Lens.Lens' UpdateWorkflowStepGroup (Prelude.Maybe [Prelude.Text])+updateWorkflowStepGroup_next = Lens.lens (\UpdateWorkflowStepGroup' {next} -> next) (\s@UpdateWorkflowStepGroup' {} a -> s {next = a} :: UpdateWorkflowStepGroup) Prelude.. Lens.mapping Lens.coerced++-- | The previous step group.+updateWorkflowStepGroup_previous :: Lens.Lens' UpdateWorkflowStepGroup (Prelude.Maybe [Prelude.Text])+updateWorkflowStepGroup_previous = Lens.lens (\UpdateWorkflowStepGroup' {previous} -> previous) (\s@UpdateWorkflowStepGroup' {} a -> s {previous = a} :: UpdateWorkflowStepGroup) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the migration workflow.+updateWorkflowStepGroup_workflowId :: Lens.Lens' UpdateWorkflowStepGroup Prelude.Text+updateWorkflowStepGroup_workflowId = Lens.lens (\UpdateWorkflowStepGroup' {workflowId} -> workflowId) (\s@UpdateWorkflowStepGroup' {} a -> s {workflowId = a} :: UpdateWorkflowStepGroup)++-- | The ID of the step group.+updateWorkflowStepGroup_id :: Lens.Lens' UpdateWorkflowStepGroup Prelude.Text+updateWorkflowStepGroup_id = Lens.lens (\UpdateWorkflowStepGroup' {id} -> id) (\s@UpdateWorkflowStepGroup' {} a -> s {id = a} :: UpdateWorkflowStepGroup)++instance Core.AWSRequest UpdateWorkflowStepGroup where+  type+    AWSResponse UpdateWorkflowStepGroup =+      UpdateWorkflowStepGroupResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateWorkflowStepGroupResponse'+            Prelude.<$> (x Data..?> "description")+            Prelude.<*> (x Data..?> "id")+            Prelude.<*> (x Data..?> "lastModifiedTime")+            Prelude.<*> (x Data..?> "name")+            Prelude.<*> (x Data..?> "next" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "previous" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "tools" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "workflowId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateWorkflowStepGroup where+  hashWithSalt _salt UpdateWorkflowStepGroup' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` next+      `Prelude.hashWithSalt` previous+      `Prelude.hashWithSalt` workflowId+      `Prelude.hashWithSalt` id++instance Prelude.NFData UpdateWorkflowStepGroup where+  rnf UpdateWorkflowStepGroup' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf previous+      `Prelude.seq` Prelude.rnf workflowId+      `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders UpdateWorkflowStepGroup where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateWorkflowStepGroup where+  toJSON UpdateWorkflowStepGroup' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("description" Data..=) Prelude.<$> description,+            ("name" Data..=) Prelude.<$> name,+            ("next" Data..=) Prelude.<$> next,+            ("previous" Data..=) Prelude.<$> previous+          ]+      )++instance Data.ToPath UpdateWorkflowStepGroup where+  toPath UpdateWorkflowStepGroup' {..} =+    Prelude.mconcat+      ["/workflowstepgroup/", Data.toBS id]++instance Data.ToQuery UpdateWorkflowStepGroup where+  toQuery UpdateWorkflowStepGroup' {..} =+    Prelude.mconcat ["workflowId" Data.=: workflowId]++-- | /See:/ 'newUpdateWorkflowStepGroupResponse' smart constructor.+data UpdateWorkflowStepGroupResponse = UpdateWorkflowStepGroupResponse'+  { -- | The description of the step group.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the step group.+    id :: Prelude.Maybe Prelude.Text,+    -- | The time at which the step group was last modified.+    lastModifiedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the step group.+    name :: Prelude.Maybe Prelude.Text,+    -- | The next step group.+    next :: Prelude.Maybe [Prelude.Text],+    -- | The previous step group.+    previous :: Prelude.Maybe [Prelude.Text],+    -- | List of AWS services utilized in a migration workflow.+    tools :: Prelude.Maybe [Tool],+    -- | The ID of the migration workflow.+    workflowId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateWorkflowStepGroupResponse' 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:+--+-- 'description', 'updateWorkflowStepGroupResponse_description' - The description of the step group.+--+-- 'id', 'updateWorkflowStepGroupResponse_id' - The ID of the step group.+--+-- 'lastModifiedTime', 'updateWorkflowStepGroupResponse_lastModifiedTime' - The time at which the step group was last modified.+--+-- 'name', 'updateWorkflowStepGroupResponse_name' - The name of the step group.+--+-- 'next', 'updateWorkflowStepGroupResponse_next' - The next step group.+--+-- 'previous', 'updateWorkflowStepGroupResponse_previous' - The previous step group.+--+-- 'tools', 'updateWorkflowStepGroupResponse_tools' - List of AWS services utilized in a migration workflow.+--+-- 'workflowId', 'updateWorkflowStepGroupResponse_workflowId' - The ID of the migration workflow.+--+-- 'httpStatus', 'updateWorkflowStepGroupResponse_httpStatus' - The response's http status code.+newUpdateWorkflowStepGroupResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateWorkflowStepGroupResponse+newUpdateWorkflowStepGroupResponse pHttpStatus_ =+  UpdateWorkflowStepGroupResponse'+    { description =+        Prelude.Nothing,+      id = Prelude.Nothing,+      lastModifiedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      next = Prelude.Nothing,+      previous = Prelude.Nothing,+      tools = Prelude.Nothing,+      workflowId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The description of the step group.+updateWorkflowStepGroupResponse_description :: Lens.Lens' UpdateWorkflowStepGroupResponse (Prelude.Maybe Prelude.Text)+updateWorkflowStepGroupResponse_description = Lens.lens (\UpdateWorkflowStepGroupResponse' {description} -> description) (\s@UpdateWorkflowStepGroupResponse' {} a -> s {description = a} :: UpdateWorkflowStepGroupResponse)++-- | The ID of the step group.+updateWorkflowStepGroupResponse_id :: Lens.Lens' UpdateWorkflowStepGroupResponse (Prelude.Maybe Prelude.Text)+updateWorkflowStepGroupResponse_id = Lens.lens (\UpdateWorkflowStepGroupResponse' {id} -> id) (\s@UpdateWorkflowStepGroupResponse' {} a -> s {id = a} :: UpdateWorkflowStepGroupResponse)++-- | The time at which the step group was last modified.+updateWorkflowStepGroupResponse_lastModifiedTime :: Lens.Lens' UpdateWorkflowStepGroupResponse (Prelude.Maybe Prelude.UTCTime)+updateWorkflowStepGroupResponse_lastModifiedTime = Lens.lens (\UpdateWorkflowStepGroupResponse' {lastModifiedTime} -> lastModifiedTime) (\s@UpdateWorkflowStepGroupResponse' {} a -> s {lastModifiedTime = a} :: UpdateWorkflowStepGroupResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the step group.+updateWorkflowStepGroupResponse_name :: Lens.Lens' UpdateWorkflowStepGroupResponse (Prelude.Maybe Prelude.Text)+updateWorkflowStepGroupResponse_name = Lens.lens (\UpdateWorkflowStepGroupResponse' {name} -> name) (\s@UpdateWorkflowStepGroupResponse' {} a -> s {name = a} :: UpdateWorkflowStepGroupResponse)++-- | The next step group.+updateWorkflowStepGroupResponse_next :: Lens.Lens' UpdateWorkflowStepGroupResponse (Prelude.Maybe [Prelude.Text])+updateWorkflowStepGroupResponse_next = Lens.lens (\UpdateWorkflowStepGroupResponse' {next} -> next) (\s@UpdateWorkflowStepGroupResponse' {} a -> s {next = a} :: UpdateWorkflowStepGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The previous step group.+updateWorkflowStepGroupResponse_previous :: Lens.Lens' UpdateWorkflowStepGroupResponse (Prelude.Maybe [Prelude.Text])+updateWorkflowStepGroupResponse_previous = Lens.lens (\UpdateWorkflowStepGroupResponse' {previous} -> previous) (\s@UpdateWorkflowStepGroupResponse' {} a -> s {previous = a} :: UpdateWorkflowStepGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | List of AWS services utilized in a migration workflow.+updateWorkflowStepGroupResponse_tools :: Lens.Lens' UpdateWorkflowStepGroupResponse (Prelude.Maybe [Tool])+updateWorkflowStepGroupResponse_tools = Lens.lens (\UpdateWorkflowStepGroupResponse' {tools} -> tools) (\s@UpdateWorkflowStepGroupResponse' {} a -> s {tools = a} :: UpdateWorkflowStepGroupResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the migration workflow.+updateWorkflowStepGroupResponse_workflowId :: Lens.Lens' UpdateWorkflowStepGroupResponse (Prelude.Maybe Prelude.Text)+updateWorkflowStepGroupResponse_workflowId = Lens.lens (\UpdateWorkflowStepGroupResponse' {workflowId} -> workflowId) (\s@UpdateWorkflowStepGroupResponse' {} a -> s {workflowId = a} :: UpdateWorkflowStepGroupResponse)++-- | The response's http status code.+updateWorkflowStepGroupResponse_httpStatus :: Lens.Lens' UpdateWorkflowStepGroupResponse Prelude.Int+updateWorkflowStepGroupResponse_httpStatus = Lens.lens (\UpdateWorkflowStepGroupResponse' {httpStatus} -> httpStatus) (\s@UpdateWorkflowStepGroupResponse' {} a -> s {httpStatus = a} :: UpdateWorkflowStepGroupResponse)++instance+  Prelude.NFData+    UpdateWorkflowStepGroupResponse+  where+  rnf UpdateWorkflowStepGroupResponse' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lastModifiedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf next+      `Prelude.seq` Prelude.rnf previous+      `Prelude.seq` Prelude.rnf tools+      `Prelude.seq` Prelude.rnf workflowId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubOrchestrator/Waiters.hs view
@@ -0,0 +1,24 @@+{-# 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.MigrationHubOrchestrator.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.MigrationHubOrchestrator.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubOrchestrator.Lens+import Amazonka.MigrationHubOrchestrator.Types+import qualified Amazonka.Prelude as Prelude
+ 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.MigrationHubOrchestrator+import Test.Amazonka.MigrationHubOrchestrator.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "MigrationHubOrchestrator"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/MigrationHubOrchestrator.hs view
@@ -0,0 +1,598 @@+{-# 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.MigrationHubOrchestrator+-- 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.MigrationHubOrchestrator where++import Amazonka.MigrationHubOrchestrator+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.MigrationHubOrchestrator.Internal+import Test.Amazonka.Prelude+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"+--         [ requestCreateWorkflow $+--             newCreateWorkflow+--+--         , requestCreateWorkflowStep $+--             newCreateWorkflowStep+--+--         , requestCreateWorkflowStepGroup $+--             newCreateWorkflowStepGroup+--+--         , requestDeleteWorkflow $+--             newDeleteWorkflow+--+--         , requestDeleteWorkflowStep $+--             newDeleteWorkflowStep+--+--         , requestDeleteWorkflowStepGroup $+--             newDeleteWorkflowStepGroup+--+--         , requestGetTemplate $+--             newGetTemplate+--+--         , requestGetTemplateStep $+--             newGetTemplateStep+--+--         , requestGetTemplateStepGroup $+--             newGetTemplateStepGroup+--+--         , requestGetWorkflow $+--             newGetWorkflow+--+--         , requestGetWorkflowStep $+--             newGetWorkflowStep+--+--         , requestGetWorkflowStepGroup $+--             newGetWorkflowStepGroup+--+--         , requestListPlugins $+--             newListPlugins+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestListTemplateStepGroups $+--             newListTemplateStepGroups+--+--         , requestListTemplateSteps $+--             newListTemplateSteps+--+--         , requestListTemplates $+--             newListTemplates+--+--         , requestListWorkflowStepGroups $+--             newListWorkflowStepGroups+--+--         , requestListWorkflowSteps $+--             newListWorkflowSteps+--+--         , requestListWorkflows $+--             newListWorkflows+--+--         , requestRetryWorkflowStep $+--             newRetryWorkflowStep+--+--         , requestStartWorkflow $+--             newStartWorkflow+--+--         , requestStopWorkflow $+--             newStopWorkflow+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateWorkflow $+--             newUpdateWorkflow+--+--         , requestUpdateWorkflowStep $+--             newUpdateWorkflowStep+--+--         , requestUpdateWorkflowStepGroup $+--             newUpdateWorkflowStepGroup+--+--           ]++--     , testGroup "response"+--         [ responseCreateWorkflow $+--             newCreateWorkflowResponse+--+--         , responseCreateWorkflowStep $+--             newCreateWorkflowStepResponse+--+--         , responseCreateWorkflowStepGroup $+--             newCreateWorkflowStepGroupResponse+--+--         , responseDeleteWorkflow $+--             newDeleteWorkflowResponse+--+--         , responseDeleteWorkflowStep $+--             newDeleteWorkflowStepResponse+--+--         , responseDeleteWorkflowStepGroup $+--             newDeleteWorkflowStepGroupResponse+--+--         , responseGetTemplate $+--             newGetTemplateResponse+--+--         , responseGetTemplateStep $+--             newGetTemplateStepResponse+--+--         , responseGetTemplateStepGroup $+--             newGetTemplateStepGroupResponse+--+--         , responseGetWorkflow $+--             newGetWorkflowResponse+--+--         , responseGetWorkflowStep $+--             newGetWorkflowStepResponse+--+--         , responseGetWorkflowStepGroup $+--             newGetWorkflowStepGroupResponse+--+--         , responseListPlugins $+--             newListPluginsResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseListTemplateStepGroups $+--             newListTemplateStepGroupsResponse+--+--         , responseListTemplateSteps $+--             newListTemplateStepsResponse+--+--         , responseListTemplates $+--             newListTemplatesResponse+--+--         , responseListWorkflowStepGroups $+--             newListWorkflowStepGroupsResponse+--+--         , responseListWorkflowSteps $+--             newListWorkflowStepsResponse+--+--         , responseListWorkflows $+--             newListWorkflowsResponse+--+--         , responseRetryWorkflowStep $+--             newRetryWorkflowStepResponse+--+--         , responseStartWorkflow $+--             newStartWorkflowResponse+--+--         , responseStopWorkflow $+--             newStopWorkflowResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateWorkflow $+--             newUpdateWorkflowResponse+--+--         , responseUpdateWorkflowStep $+--             newUpdateWorkflowStepResponse+--+--         , responseUpdateWorkflowStepGroup $+--             newUpdateWorkflowStepGroupResponse+--+--           ]+--     ]++-- Requests++requestCreateWorkflow :: CreateWorkflow -> TestTree+requestCreateWorkflow =+  req+    "CreateWorkflow"+    "fixture/CreateWorkflow.yaml"++requestCreateWorkflowStep :: CreateWorkflowStep -> TestTree+requestCreateWorkflowStep =+  req+    "CreateWorkflowStep"+    "fixture/CreateWorkflowStep.yaml"++requestCreateWorkflowStepGroup :: CreateWorkflowStepGroup -> TestTree+requestCreateWorkflowStepGroup =+  req+    "CreateWorkflowStepGroup"+    "fixture/CreateWorkflowStepGroup.yaml"++requestDeleteWorkflow :: DeleteWorkflow -> TestTree+requestDeleteWorkflow =+  req+    "DeleteWorkflow"+    "fixture/DeleteWorkflow.yaml"++requestDeleteWorkflowStep :: DeleteWorkflowStep -> TestTree+requestDeleteWorkflowStep =+  req+    "DeleteWorkflowStep"+    "fixture/DeleteWorkflowStep.yaml"++requestDeleteWorkflowStepGroup :: DeleteWorkflowStepGroup -> TestTree+requestDeleteWorkflowStepGroup =+  req+    "DeleteWorkflowStepGroup"+    "fixture/DeleteWorkflowStepGroup.yaml"++requestGetTemplate :: GetTemplate -> TestTree+requestGetTemplate =+  req+    "GetTemplate"+    "fixture/GetTemplate.yaml"++requestGetTemplateStep :: GetTemplateStep -> TestTree+requestGetTemplateStep =+  req+    "GetTemplateStep"+    "fixture/GetTemplateStep.yaml"++requestGetTemplateStepGroup :: GetTemplateStepGroup -> TestTree+requestGetTemplateStepGroup =+  req+    "GetTemplateStepGroup"+    "fixture/GetTemplateStepGroup.yaml"++requestGetWorkflow :: GetWorkflow -> TestTree+requestGetWorkflow =+  req+    "GetWorkflow"+    "fixture/GetWorkflow.yaml"++requestGetWorkflowStep :: GetWorkflowStep -> TestTree+requestGetWorkflowStep =+  req+    "GetWorkflowStep"+    "fixture/GetWorkflowStep.yaml"++requestGetWorkflowStepGroup :: GetWorkflowStepGroup -> TestTree+requestGetWorkflowStepGroup =+  req+    "GetWorkflowStepGroup"+    "fixture/GetWorkflowStepGroup.yaml"++requestListPlugins :: ListPlugins -> TestTree+requestListPlugins =+  req+    "ListPlugins"+    "fixture/ListPlugins.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestListTemplateStepGroups :: ListTemplateStepGroups -> TestTree+requestListTemplateStepGroups =+  req+    "ListTemplateStepGroups"+    "fixture/ListTemplateStepGroups.yaml"++requestListTemplateSteps :: ListTemplateSteps -> TestTree+requestListTemplateSteps =+  req+    "ListTemplateSteps"+    "fixture/ListTemplateSteps.yaml"++requestListTemplates :: ListTemplates -> TestTree+requestListTemplates =+  req+    "ListTemplates"+    "fixture/ListTemplates.yaml"++requestListWorkflowStepGroups :: ListWorkflowStepGroups -> TestTree+requestListWorkflowStepGroups =+  req+    "ListWorkflowStepGroups"+    "fixture/ListWorkflowStepGroups.yaml"++requestListWorkflowSteps :: ListWorkflowSteps -> TestTree+requestListWorkflowSteps =+  req+    "ListWorkflowSteps"+    "fixture/ListWorkflowSteps.yaml"++requestListWorkflows :: ListWorkflows -> TestTree+requestListWorkflows =+  req+    "ListWorkflows"+    "fixture/ListWorkflows.yaml"++requestRetryWorkflowStep :: RetryWorkflowStep -> TestTree+requestRetryWorkflowStep =+  req+    "RetryWorkflowStep"+    "fixture/RetryWorkflowStep.yaml"++requestStartWorkflow :: StartWorkflow -> TestTree+requestStartWorkflow =+  req+    "StartWorkflow"+    "fixture/StartWorkflow.yaml"++requestStopWorkflow :: StopWorkflow -> TestTree+requestStopWorkflow =+  req+    "StopWorkflow"+    "fixture/StopWorkflow.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateWorkflow :: UpdateWorkflow -> TestTree+requestUpdateWorkflow =+  req+    "UpdateWorkflow"+    "fixture/UpdateWorkflow.yaml"++requestUpdateWorkflowStep :: UpdateWorkflowStep -> TestTree+requestUpdateWorkflowStep =+  req+    "UpdateWorkflowStep"+    "fixture/UpdateWorkflowStep.yaml"++requestUpdateWorkflowStepGroup :: UpdateWorkflowStepGroup -> TestTree+requestUpdateWorkflowStepGroup =+  req+    "UpdateWorkflowStepGroup"+    "fixture/UpdateWorkflowStepGroup.yaml"++-- Responses++responseCreateWorkflow :: CreateWorkflowResponse -> TestTree+responseCreateWorkflow =+  res+    "CreateWorkflowResponse"+    "fixture/CreateWorkflowResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWorkflow)++responseCreateWorkflowStep :: CreateWorkflowStepResponse -> TestTree+responseCreateWorkflowStep =+  res+    "CreateWorkflowStepResponse"+    "fixture/CreateWorkflowStepResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWorkflowStep)++responseCreateWorkflowStepGroup :: CreateWorkflowStepGroupResponse -> TestTree+responseCreateWorkflowStepGroup =+  res+    "CreateWorkflowStepGroupResponse"+    "fixture/CreateWorkflowStepGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateWorkflowStepGroup)++responseDeleteWorkflow :: DeleteWorkflowResponse -> TestTree+responseDeleteWorkflow =+  res+    "DeleteWorkflowResponse"+    "fixture/DeleteWorkflowResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteWorkflow)++responseDeleteWorkflowStep :: DeleteWorkflowStepResponse -> TestTree+responseDeleteWorkflowStep =+  res+    "DeleteWorkflowStepResponse"+    "fixture/DeleteWorkflowStepResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteWorkflowStep)++responseDeleteWorkflowStepGroup :: DeleteWorkflowStepGroupResponse -> TestTree+responseDeleteWorkflowStepGroup =+  res+    "DeleteWorkflowStepGroupResponse"+    "fixture/DeleteWorkflowStepGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteWorkflowStepGroup)++responseGetTemplate :: GetTemplateResponse -> TestTree+responseGetTemplate =+  res+    "GetTemplateResponse"+    "fixture/GetTemplateResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetTemplate)++responseGetTemplateStep :: GetTemplateStepResponse -> TestTree+responseGetTemplateStep =+  res+    "GetTemplateStepResponse"+    "fixture/GetTemplateStepResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetTemplateStep)++responseGetTemplateStepGroup :: GetTemplateStepGroupResponse -> TestTree+responseGetTemplateStepGroup =+  res+    "GetTemplateStepGroupResponse"+    "fixture/GetTemplateStepGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetTemplateStepGroup)++responseGetWorkflow :: GetWorkflowResponse -> TestTree+responseGetWorkflow =+  res+    "GetWorkflowResponse"+    "fixture/GetWorkflowResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetWorkflow)++responseGetWorkflowStep :: GetWorkflowStepResponse -> TestTree+responseGetWorkflowStep =+  res+    "GetWorkflowStepResponse"+    "fixture/GetWorkflowStepResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetWorkflowStep)++responseGetWorkflowStepGroup :: GetWorkflowStepGroupResponse -> TestTree+responseGetWorkflowStepGroup =+  res+    "GetWorkflowStepGroupResponse"+    "fixture/GetWorkflowStepGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetWorkflowStepGroup)++responseListPlugins :: ListPluginsResponse -> TestTree+responseListPlugins =+  res+    "ListPluginsResponse"+    "fixture/ListPluginsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPlugins)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListTemplateStepGroups :: ListTemplateStepGroupsResponse -> TestTree+responseListTemplateStepGroups =+  res+    "ListTemplateStepGroupsResponse"+    "fixture/ListTemplateStepGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTemplateStepGroups)++responseListTemplateSteps :: ListTemplateStepsResponse -> TestTree+responseListTemplateSteps =+  res+    "ListTemplateStepsResponse"+    "fixture/ListTemplateStepsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTemplateSteps)++responseListTemplates :: ListTemplatesResponse -> TestTree+responseListTemplates =+  res+    "ListTemplatesResponse"+    "fixture/ListTemplatesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTemplates)++responseListWorkflowStepGroups :: ListWorkflowStepGroupsResponse -> TestTree+responseListWorkflowStepGroups =+  res+    "ListWorkflowStepGroupsResponse"+    "fixture/ListWorkflowStepGroupsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListWorkflowStepGroups)++responseListWorkflowSteps :: ListWorkflowStepsResponse -> TestTree+responseListWorkflowSteps =+  res+    "ListWorkflowStepsResponse"+    "fixture/ListWorkflowStepsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListWorkflowSteps)++responseListWorkflows :: ListWorkflowsResponse -> TestTree+responseListWorkflows =+  res+    "ListWorkflowsResponse"+    "fixture/ListWorkflowsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListWorkflows)++responseRetryWorkflowStep :: RetryWorkflowStepResponse -> TestTree+responseRetryWorkflowStep =+  res+    "RetryWorkflowStepResponse"+    "fixture/RetryWorkflowStepResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RetryWorkflowStep)++responseStartWorkflow :: StartWorkflowResponse -> TestTree+responseStartWorkflow =+  res+    "StartWorkflowResponse"+    "fixture/StartWorkflowResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartWorkflow)++responseStopWorkflow :: StopWorkflowResponse -> TestTree+responseStopWorkflow =+  res+    "StopWorkflowResponse"+    "fixture/StopWorkflowResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopWorkflow)++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)++responseUpdateWorkflow :: UpdateWorkflowResponse -> TestTree+responseUpdateWorkflow =+  res+    "UpdateWorkflowResponse"+    "fixture/UpdateWorkflowResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateWorkflow)++responseUpdateWorkflowStep :: UpdateWorkflowStepResponse -> TestTree+responseUpdateWorkflowStep =+  res+    "UpdateWorkflowStepResponse"+    "fixture/UpdateWorkflowStepResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateWorkflowStep)++responseUpdateWorkflowStepGroup :: UpdateWorkflowStepGroupResponse -> TestTree+responseUpdateWorkflowStepGroup =+  res+    "UpdateWorkflowStepGroupResponse"+    "fixture/UpdateWorkflowStepGroupResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateWorkflowStepGroup)
+ test/Test/Amazonka/MigrationHubOrchestrator.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.MigrationHubOrchestrator+-- 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.MigrationHubOrchestrator+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/MigrationHubOrchestrator/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.MigrationHubOrchestrator.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.MigrationHubOrchestrator.Internal where