packages feed

amazonka-migration-hub-refactor-spaces (empty) → 2.0

raw patch · 114 files changed

+13091/−0 lines, 114 filesdep +amazonka-coredep +amazonka-migration-hub-refactor-spacesdep +amazonka-test

Dependencies added: amazonka-core, amazonka-migration-hub-refactor-spaces, 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 Refactor Spaces SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2021-10-26@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-migration-hub-refactor-spaces)+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.MigrationHubReFactorSpaces](http://hackage.haskell.org/package/amazonka-migration-hub-refactor-spaces/docs/Amazonka-MigrationHubReFactorSpaces.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-migration-hub-refactor-spaces` 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-migration-hub-refactor-spaces.cabal view
@@ -0,0 +1,137 @@+cabal-version:      2.2+name:               amazonka-migration-hub-refactor-spaces+version:            2.0+synopsis:           Amazon Migration Hub Refactor Spaces 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-10-26@ 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.MigrationHubReFactorSpaces.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.MigrationHubReFactorSpaces" 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-migration-hub-refactor-spaces++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.MigrationHubReFactorSpaces+    Amazonka.MigrationHubReFactorSpaces.CreateApplication+    Amazonka.MigrationHubReFactorSpaces.CreateEnvironment+    Amazonka.MigrationHubReFactorSpaces.CreateRoute+    Amazonka.MigrationHubReFactorSpaces.CreateService+    Amazonka.MigrationHubReFactorSpaces.DeleteApplication+    Amazonka.MigrationHubReFactorSpaces.DeleteEnvironment+    Amazonka.MigrationHubReFactorSpaces.DeleteResourcePolicy+    Amazonka.MigrationHubReFactorSpaces.DeleteRoute+    Amazonka.MigrationHubReFactorSpaces.DeleteService+    Amazonka.MigrationHubReFactorSpaces.GetApplication+    Amazonka.MigrationHubReFactorSpaces.GetEnvironment+    Amazonka.MigrationHubReFactorSpaces.GetResourcePolicy+    Amazonka.MigrationHubReFactorSpaces.GetRoute+    Amazonka.MigrationHubReFactorSpaces.GetService+    Amazonka.MigrationHubReFactorSpaces.Lens+    Amazonka.MigrationHubReFactorSpaces.ListApplications+    Amazonka.MigrationHubReFactorSpaces.ListEnvironments+    Amazonka.MigrationHubReFactorSpaces.ListEnvironmentVpcs+    Amazonka.MigrationHubReFactorSpaces.ListRoutes+    Amazonka.MigrationHubReFactorSpaces.ListServices+    Amazonka.MigrationHubReFactorSpaces.ListTagsForResource+    Amazonka.MigrationHubReFactorSpaces.PutResourcePolicy+    Amazonka.MigrationHubReFactorSpaces.TagResource+    Amazonka.MigrationHubReFactorSpaces.Types+    Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayEndpointType+    Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayProxyConfig+    Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayProxyInput+    Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayProxySummary+    Amazonka.MigrationHubReFactorSpaces.Types.ApplicationState+    Amazonka.MigrationHubReFactorSpaces.Types.ApplicationSummary+    Amazonka.MigrationHubReFactorSpaces.Types.DefaultRouteInput+    Amazonka.MigrationHubReFactorSpaces.Types.EnvironmentState+    Amazonka.MigrationHubReFactorSpaces.Types.EnvironmentSummary+    Amazonka.MigrationHubReFactorSpaces.Types.EnvironmentVpc+    Amazonka.MigrationHubReFactorSpaces.Types.ErrorCode+    Amazonka.MigrationHubReFactorSpaces.Types.ErrorResourceType+    Amazonka.MigrationHubReFactorSpaces.Types.ErrorResponse+    Amazonka.MigrationHubReFactorSpaces.Types.HttpMethod+    Amazonka.MigrationHubReFactorSpaces.Types.LambdaEndpointConfig+    Amazonka.MigrationHubReFactorSpaces.Types.LambdaEndpointInput+    Amazonka.MigrationHubReFactorSpaces.Types.LambdaEndpointSummary+    Amazonka.MigrationHubReFactorSpaces.Types.NetworkFabricType+    Amazonka.MigrationHubReFactorSpaces.Types.ProxyType+    Amazonka.MigrationHubReFactorSpaces.Types.RouteActivationState+    Amazonka.MigrationHubReFactorSpaces.Types.RouteState+    Amazonka.MigrationHubReFactorSpaces.Types.RouteSummary+    Amazonka.MigrationHubReFactorSpaces.Types.RouteType+    Amazonka.MigrationHubReFactorSpaces.Types.ServiceEndpointType+    Amazonka.MigrationHubReFactorSpaces.Types.ServiceState+    Amazonka.MigrationHubReFactorSpaces.Types.ServiceSummary+    Amazonka.MigrationHubReFactorSpaces.Types.UriPathRouteInput+    Amazonka.MigrationHubReFactorSpaces.Types.UrlEndpointConfig+    Amazonka.MigrationHubReFactorSpaces.Types.UrlEndpointInput+    Amazonka.MigrationHubReFactorSpaces.Types.UrlEndpointSummary+    Amazonka.MigrationHubReFactorSpaces.UntagResource+    Amazonka.MigrationHubReFactorSpaces.UpdateRoute+    Amazonka.MigrationHubReFactorSpaces.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-migration-hub-refactor-spaces-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.MigrationHubReFactorSpaces+    Test.Amazonka.MigrationHubReFactorSpaces+    Test.Amazonka.MigrationHubReFactorSpaces.Internal++  build-depends:+    , amazonka-core                           >=2.0 && <2.1+    , amazonka-migration-hub-refactor-spaces+    , amazonka-test                           >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateApplication.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/CreateApplicationResponse.proto view
+ fixture/CreateEnvironment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/CreateEnvironmentResponse.proto view
+ fixture/CreateRoute.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/CreateRouteResponse.proto view
+ fixture/CreateService.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/CreateServiceResponse.proto view
+ fixture/DeleteApplication.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/DeleteApplicationResponse.proto view
+ fixture/DeleteEnvironment.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/DeleteEnvironmentResponse.proto view
+ fixture/DeleteResourcePolicy.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteResourcePolicyResponse.proto view
+ fixture/DeleteRoute.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/DeleteRouteResponse.proto view
+ fixture/DeleteService.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/DeleteServiceResponse.proto view
+ fixture/GetApplication.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/GetApplicationResponse.proto view
+ fixture/GetEnvironment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/GetEnvironmentResponse.proto view
+ fixture/GetResourcePolicy.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/GetResourcePolicyResponse.proto view
+ fixture/GetRoute.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/GetRouteResponse.proto view
+ fixture/GetService.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/GetServiceResponse.proto view
+ fixture/ListApplications.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/ListApplicationsResponse.proto view
+ fixture/ListEnvironmentVpcs.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/ListEnvironmentVpcsResponse.proto view
+ fixture/ListEnvironments.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/ListEnvironmentsResponse.proto view
+ fixture/ListRoutes.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/ListRoutesResponse.proto view
+ fixture/ListServices.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/ListServicesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/PutResourcePolicy.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutResourcePolicyResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/UpdateRoute.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/refactor-spaces/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  refactor-spaces.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/UpdateRouteResponse.proto view
+ gen/Amazonka/MigrationHubReFactorSpaces.hs view
@@ -0,0 +1,375 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.MigrationHubReFactorSpaces+-- 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-10-26@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Web Services Migration Hub Refactor Spaces+--+-- This API reference provides descriptions, syntax, and other details+-- about each of the actions and data types for Amazon Web Services+-- Migration Hub Refactor Spaces (Refactor Spaces). The topic for each+-- action shows the API request parameters and the response. Alternatively,+-- you can use one of the Amazon Web Services SDKs to access an API that is+-- tailored to the programming language or platform that you\'re using. For+-- more information, see+-- <https://aws.amazon.com/tools/#SDKs Amazon Web Services SDKs>.+--+-- To share Refactor Spaces environments with other Amazon Web Services+-- accounts or with Organizations and their OUs, use Resource Access+-- Manager\'s @CreateResourceShare@ API. See+-- <https://docs.aws.amazon.com/ram/latest/APIReference/API_CreateResourceShare.html CreateResourceShare>+-- in the /Amazon Web Services RAM API Reference/.+module Amazonka.MigrationHubReFactorSpaces+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** InvalidResourcePolicyException+    _InvalidResourcePolicyException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateApplication+    CreateApplication (CreateApplication'),+    newCreateApplication,+    CreateApplicationResponse (CreateApplicationResponse'),+    newCreateApplicationResponse,++    -- ** CreateEnvironment+    CreateEnvironment (CreateEnvironment'),+    newCreateEnvironment,+    CreateEnvironmentResponse (CreateEnvironmentResponse'),+    newCreateEnvironmentResponse,++    -- ** CreateRoute+    CreateRoute (CreateRoute'),+    newCreateRoute,+    CreateRouteResponse (CreateRouteResponse'),+    newCreateRouteResponse,++    -- ** CreateService+    CreateService (CreateService'),+    newCreateService,+    CreateServiceResponse (CreateServiceResponse'),+    newCreateServiceResponse,++    -- ** DeleteApplication+    DeleteApplication (DeleteApplication'),+    newDeleteApplication,+    DeleteApplicationResponse (DeleteApplicationResponse'),+    newDeleteApplicationResponse,++    -- ** DeleteEnvironment+    DeleteEnvironment (DeleteEnvironment'),+    newDeleteEnvironment,+    DeleteEnvironmentResponse (DeleteEnvironmentResponse'),+    newDeleteEnvironmentResponse,++    -- ** DeleteResourcePolicy+    DeleteResourcePolicy (DeleteResourcePolicy'),+    newDeleteResourcePolicy,+    DeleteResourcePolicyResponse (DeleteResourcePolicyResponse'),+    newDeleteResourcePolicyResponse,++    -- ** DeleteRoute+    DeleteRoute (DeleteRoute'),+    newDeleteRoute,+    DeleteRouteResponse (DeleteRouteResponse'),+    newDeleteRouteResponse,++    -- ** DeleteService+    DeleteService (DeleteService'),+    newDeleteService,+    DeleteServiceResponse (DeleteServiceResponse'),+    newDeleteServiceResponse,++    -- ** GetApplication+    GetApplication (GetApplication'),+    newGetApplication,+    GetApplicationResponse (GetApplicationResponse'),+    newGetApplicationResponse,++    -- ** GetEnvironment+    GetEnvironment (GetEnvironment'),+    newGetEnvironment,+    GetEnvironmentResponse (GetEnvironmentResponse'),+    newGetEnvironmentResponse,++    -- ** GetResourcePolicy+    GetResourcePolicy (GetResourcePolicy'),+    newGetResourcePolicy,+    GetResourcePolicyResponse (GetResourcePolicyResponse'),+    newGetResourcePolicyResponse,++    -- ** GetRoute+    GetRoute (GetRoute'),+    newGetRoute,+    GetRouteResponse (GetRouteResponse'),+    newGetRouteResponse,++    -- ** GetService+    GetService (GetService'),+    newGetService,+    GetServiceResponse (GetServiceResponse'),+    newGetServiceResponse,++    -- ** ListApplications (Paginated)+    ListApplications (ListApplications'),+    newListApplications,+    ListApplicationsResponse (ListApplicationsResponse'),+    newListApplicationsResponse,++    -- ** ListEnvironmentVpcs (Paginated)+    ListEnvironmentVpcs (ListEnvironmentVpcs'),+    newListEnvironmentVpcs,+    ListEnvironmentVpcsResponse (ListEnvironmentVpcsResponse'),+    newListEnvironmentVpcsResponse,++    -- ** ListEnvironments (Paginated)+    ListEnvironments (ListEnvironments'),+    newListEnvironments,+    ListEnvironmentsResponse (ListEnvironmentsResponse'),+    newListEnvironmentsResponse,++    -- ** ListRoutes (Paginated)+    ListRoutes (ListRoutes'),+    newListRoutes,+    ListRoutesResponse (ListRoutesResponse'),+    newListRoutesResponse,++    -- ** ListServices (Paginated)+    ListServices (ListServices'),+    newListServices,+    ListServicesResponse (ListServicesResponse'),+    newListServicesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** PutResourcePolicy+    PutResourcePolicy (PutResourcePolicy'),+    newPutResourcePolicy,+    PutResourcePolicyResponse (PutResourcePolicyResponse'),+    newPutResourcePolicyResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateRoute+    UpdateRoute (UpdateRoute'),+    newUpdateRoute,+    UpdateRouteResponse (UpdateRouteResponse'),+    newUpdateRouteResponse,++    -- * Types++    -- ** ApiGatewayEndpointType+    ApiGatewayEndpointType (..),++    -- ** ApplicationState+    ApplicationState (..),++    -- ** EnvironmentState+    EnvironmentState (..),++    -- ** ErrorCode+    ErrorCode (..),++    -- ** ErrorResourceType+    ErrorResourceType (..),++    -- ** HttpMethod+    HttpMethod (..),++    -- ** NetworkFabricType+    NetworkFabricType (..),++    -- ** ProxyType+    ProxyType (..),++    -- ** RouteActivationState+    RouteActivationState (..),++    -- ** RouteState+    RouteState (..),++    -- ** RouteType+    RouteType (..),++    -- ** ServiceEndpointType+    ServiceEndpointType (..),++    -- ** ServiceState+    ServiceState (..),++    -- ** ApiGatewayProxyConfig+    ApiGatewayProxyConfig (ApiGatewayProxyConfig'),+    newApiGatewayProxyConfig,++    -- ** ApiGatewayProxyInput+    ApiGatewayProxyInput (ApiGatewayProxyInput'),+    newApiGatewayProxyInput,++    -- ** ApiGatewayProxySummary+    ApiGatewayProxySummary (ApiGatewayProxySummary'),+    newApiGatewayProxySummary,++    -- ** ApplicationSummary+    ApplicationSummary (ApplicationSummary'),+    newApplicationSummary,++    -- ** DefaultRouteInput+    DefaultRouteInput (DefaultRouteInput'),+    newDefaultRouteInput,++    -- ** EnvironmentSummary+    EnvironmentSummary (EnvironmentSummary'),+    newEnvironmentSummary,++    -- ** EnvironmentVpc+    EnvironmentVpc (EnvironmentVpc'),+    newEnvironmentVpc,++    -- ** ErrorResponse+    ErrorResponse (ErrorResponse'),+    newErrorResponse,++    -- ** LambdaEndpointConfig+    LambdaEndpointConfig (LambdaEndpointConfig'),+    newLambdaEndpointConfig,++    -- ** LambdaEndpointInput+    LambdaEndpointInput (LambdaEndpointInput'),+    newLambdaEndpointInput,++    -- ** LambdaEndpointSummary+    LambdaEndpointSummary (LambdaEndpointSummary'),+    newLambdaEndpointSummary,++    -- ** RouteSummary+    RouteSummary (RouteSummary'),+    newRouteSummary,++    -- ** ServiceSummary+    ServiceSummary (ServiceSummary'),+    newServiceSummary,++    -- ** UriPathRouteInput+    UriPathRouteInput (UriPathRouteInput'),+    newUriPathRouteInput,++    -- ** UrlEndpointConfig+    UrlEndpointConfig (UrlEndpointConfig'),+    newUrlEndpointConfig,++    -- ** UrlEndpointInput+    UrlEndpointInput (UrlEndpointInput'),+    newUrlEndpointInput,++    -- ** UrlEndpointSummary+    UrlEndpointSummary (UrlEndpointSummary'),+    newUrlEndpointSummary,+  )+where++import Amazonka.MigrationHubReFactorSpaces.CreateApplication+import Amazonka.MigrationHubReFactorSpaces.CreateEnvironment+import Amazonka.MigrationHubReFactorSpaces.CreateRoute+import Amazonka.MigrationHubReFactorSpaces.CreateService+import Amazonka.MigrationHubReFactorSpaces.DeleteApplication+import Amazonka.MigrationHubReFactorSpaces.DeleteEnvironment+import Amazonka.MigrationHubReFactorSpaces.DeleteResourcePolicy+import Amazonka.MigrationHubReFactorSpaces.DeleteRoute+import Amazonka.MigrationHubReFactorSpaces.DeleteService+import Amazonka.MigrationHubReFactorSpaces.GetApplication+import Amazonka.MigrationHubReFactorSpaces.GetEnvironment+import Amazonka.MigrationHubReFactorSpaces.GetResourcePolicy+import Amazonka.MigrationHubReFactorSpaces.GetRoute+import Amazonka.MigrationHubReFactorSpaces.GetService+import Amazonka.MigrationHubReFactorSpaces.Lens+import Amazonka.MigrationHubReFactorSpaces.ListApplications+import Amazonka.MigrationHubReFactorSpaces.ListEnvironmentVpcs+import Amazonka.MigrationHubReFactorSpaces.ListEnvironments+import Amazonka.MigrationHubReFactorSpaces.ListRoutes+import Amazonka.MigrationHubReFactorSpaces.ListServices+import Amazonka.MigrationHubReFactorSpaces.ListTagsForResource+import Amazonka.MigrationHubReFactorSpaces.PutResourcePolicy+import Amazonka.MigrationHubReFactorSpaces.TagResource+import Amazonka.MigrationHubReFactorSpaces.Types+import Amazonka.MigrationHubReFactorSpaces.UntagResource+import Amazonka.MigrationHubReFactorSpaces.UpdateRoute+import Amazonka.MigrationHubReFactorSpaces.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 'MigrationHubReFactorSpaces'.++-- $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/MigrationHubReFactorSpaces/CreateApplication.hs view
@@ -0,0 +1,451 @@+{-# 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.MigrationHubReFactorSpaces.CreateApplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an Amazon Web Services Migration Hub Refactor Spaces+-- application. The account that owns the environment also owns the+-- applications created inside the environment, regardless of the account+-- that creates the application. Refactor Spaces provisions an Amazon API+-- Gateway, API Gateway VPC link, and Network Load Balancer for the+-- application proxy inside your account.+module Amazonka.MigrationHubReFactorSpaces.CreateApplication+  ( -- * Creating a Request+    CreateApplication (..),+    newCreateApplication,++    -- * Request Lenses+    createApplication_apiGatewayProxy,+    createApplication_clientToken,+    createApplication_tags,+    createApplication_environmentIdentifier,+    createApplication_name,+    createApplication_proxyType,+    createApplication_vpcId,++    -- * Destructuring the Response+    CreateApplicationResponse (..),+    newCreateApplicationResponse,++    -- * Response Lenses+    createApplicationResponse_apiGatewayProxy,+    createApplicationResponse_applicationId,+    createApplicationResponse_arn,+    createApplicationResponse_createdByAccountId,+    createApplicationResponse_createdTime,+    createApplicationResponse_environmentId,+    createApplicationResponse_lastUpdatedTime,+    createApplicationResponse_name,+    createApplicationResponse_ownerAccountId,+    createApplicationResponse_proxyType,+    createApplicationResponse_state,+    createApplicationResponse_tags,+    createApplicationResponse_vpcId,+    createApplicationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateApplication' smart constructor.+data CreateApplication = CreateApplication'+  { -- | A wrapper object holding the API Gateway endpoint type and stage name+    -- for the proxy.+    apiGatewayProxy :: Prelude.Maybe ApiGatewayProxyInput,+    -- | A unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The tags to assign to the application. A tag is a label that you assign+    -- to an Amazon Web Services resource. Each tag consists of a key-value+    -- pair.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The unique identifier of the environment.+    environmentIdentifier :: Prelude.Text,+    -- | The name to use for the application.+    name :: Prelude.Text,+    -- | The proxy type of the proxy created within the application.+    proxyType :: ProxyType,+    -- | The ID of the virtual private cloud (VPC).+    vpcId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateApplication' with all optional fields 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:+--+-- 'apiGatewayProxy', 'createApplication_apiGatewayProxy' - A wrapper object holding the API Gateway endpoint type and stage name+-- for the proxy.+--+-- 'clientToken', 'createApplication_clientToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'tags', 'createApplication_tags' - The tags to assign to the application. A tag is a label that you assign+-- to an Amazon Web Services resource. Each tag consists of a key-value+-- pair.+--+-- 'environmentIdentifier', 'createApplication_environmentIdentifier' - The unique identifier of the environment.+--+-- 'name', 'createApplication_name' - The name to use for the application.+--+-- 'proxyType', 'createApplication_proxyType' - The proxy type of the proxy created within the application.+--+-- 'vpcId', 'createApplication_vpcId' - The ID of the virtual private cloud (VPC).+newCreateApplication ::+  -- | 'environmentIdentifier'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'proxyType'+  ProxyType ->+  -- | 'vpcId'+  Prelude.Text ->+  CreateApplication+newCreateApplication+  pEnvironmentIdentifier_+  pName_+  pProxyType_+  pVpcId_ =+    CreateApplication'+      { apiGatewayProxy =+          Prelude.Nothing,+        clientToken = Prelude.Nothing,+        tags = Prelude.Nothing,+        environmentIdentifier = pEnvironmentIdentifier_,+        name = pName_,+        proxyType = pProxyType_,+        vpcId = pVpcId_+      }++-- | A wrapper object holding the API Gateway endpoint type and stage name+-- for the proxy.+createApplication_apiGatewayProxy :: Lens.Lens' CreateApplication (Prelude.Maybe ApiGatewayProxyInput)+createApplication_apiGatewayProxy = Lens.lens (\CreateApplication' {apiGatewayProxy} -> apiGatewayProxy) (\s@CreateApplication' {} a -> s {apiGatewayProxy = a} :: CreateApplication)++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createApplication_clientToken :: Lens.Lens' CreateApplication (Prelude.Maybe Prelude.Text)+createApplication_clientToken = Lens.lens (\CreateApplication' {clientToken} -> clientToken) (\s@CreateApplication' {} a -> s {clientToken = a} :: CreateApplication)++-- | The tags to assign to the application. A tag is a label that you assign+-- to an Amazon Web Services resource. Each tag consists of a key-value+-- pair.+createApplication_tags :: Lens.Lens' CreateApplication (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createApplication_tags = Lens.lens (\CreateApplication' {tags} -> tags) (\s@CreateApplication' {} a -> s {tags = a} :: CreateApplication) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The unique identifier of the environment.+createApplication_environmentIdentifier :: Lens.Lens' CreateApplication Prelude.Text+createApplication_environmentIdentifier = Lens.lens (\CreateApplication' {environmentIdentifier} -> environmentIdentifier) (\s@CreateApplication' {} a -> s {environmentIdentifier = a} :: CreateApplication)++-- | The name to use for the application.+createApplication_name :: Lens.Lens' CreateApplication Prelude.Text+createApplication_name = Lens.lens (\CreateApplication' {name} -> name) (\s@CreateApplication' {} a -> s {name = a} :: CreateApplication)++-- | The proxy type of the proxy created within the application.+createApplication_proxyType :: Lens.Lens' CreateApplication ProxyType+createApplication_proxyType = Lens.lens (\CreateApplication' {proxyType} -> proxyType) (\s@CreateApplication' {} a -> s {proxyType = a} :: CreateApplication)++-- | The ID of the virtual private cloud (VPC).+createApplication_vpcId :: Lens.Lens' CreateApplication Prelude.Text+createApplication_vpcId = Lens.lens (\CreateApplication' {vpcId} -> vpcId) (\s@CreateApplication' {} a -> s {vpcId = a} :: CreateApplication)++instance Core.AWSRequest CreateApplication where+  type+    AWSResponse CreateApplication =+      CreateApplicationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateApplicationResponse'+            Prelude.<$> (x Data..?> "ApiGatewayProxy")+            Prelude.<*> (x Data..?> "ApplicationId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreatedByAccountId")+            Prelude.<*> (x Data..?> "CreatedTime")+            Prelude.<*> (x Data..?> "EnvironmentId")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "OwnerAccountId")+            Prelude.<*> (x Data..?> "ProxyType")+            Prelude.<*> (x Data..?> "State")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "VpcId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateApplication where+  hashWithSalt _salt CreateApplication' {..} =+    _salt+      `Prelude.hashWithSalt` apiGatewayProxy+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` environmentIdentifier+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` proxyType+      `Prelude.hashWithSalt` vpcId++instance Prelude.NFData CreateApplication where+  rnf CreateApplication' {..} =+    Prelude.rnf apiGatewayProxy+      `Prelude.seq` Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf environmentIdentifier+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf proxyType+      `Prelude.seq` Prelude.rnf vpcId++instance Data.ToHeaders CreateApplication where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateApplication where+  toJSON CreateApplication' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ApiGatewayProxy" Data..=)+              Prelude.<$> apiGatewayProxy,+            ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("ProxyType" Data..= proxyType),+            Prelude.Just ("VpcId" Data..= vpcId)+          ]+      )++instance Data.ToPath CreateApplication where+  toPath CreateApplication' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/applications"+      ]++instance Data.ToQuery CreateApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateApplicationResponse' smart constructor.+data CreateApplicationResponse = CreateApplicationResponse'+  { -- | A wrapper object holding the API Gateway endpoint type and stage name+    -- for the proxy.+    apiGatewayProxy :: Prelude.Maybe ApiGatewayProxyInput,+    -- | The unique identifier of the application.+    applicationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the application. The format for this+    -- ARN is+    -- @arn:aws:refactor-spaces:@/@region@/@:@/@account-id@/@:@/@resource-type\/resource-id@/@ @.+    -- For more information about ARNs, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+    -- in the /Amazon Web Services General Reference/.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of application creator.+    createdByAccountId :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the application is created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the environment in which the application is created.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the application was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the application.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the application owner (which is+    -- always the same as the environment owner account ID).+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The proxy type of the proxy created within the application.+    proxyType :: Prelude.Maybe ProxyType,+    -- | The current state of the application.+    state :: Prelude.Maybe ApplicationState,+    -- | The tags assigned to the application. A tag is a label that you assign+    -- to an Amazon Web Services resource. Each tag consists of a key-value+    -- pair.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The ID of the Amazon VPC.+    vpcId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateApplicationResponse' with all optional fields 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:+--+-- 'apiGatewayProxy', 'createApplicationResponse_apiGatewayProxy' - A wrapper object holding the API Gateway endpoint type and stage name+-- for the proxy.+--+-- 'applicationId', 'createApplicationResponse_applicationId' - The unique identifier of the application.+--+-- 'arn', 'createApplicationResponse_arn' - The Amazon Resource Name (ARN) of the application. The format for this+-- ARN is+-- @arn:aws:refactor-spaces:@/@region@/@:@/@account-id@/@:@/@resource-type\/resource-id@/@ @.+-- For more information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'createdByAccountId', 'createApplicationResponse_createdByAccountId' - The Amazon Web Services account ID of application creator.+--+-- 'createdTime', 'createApplicationResponse_createdTime' - A timestamp that indicates when the application is created.+--+-- 'environmentId', 'createApplicationResponse_environmentId' - The ID of the environment in which the application is created.+--+-- 'lastUpdatedTime', 'createApplicationResponse_lastUpdatedTime' - A timestamp that indicates when the application was last updated.+--+-- 'name', 'createApplicationResponse_name' - The name of the application.+--+-- 'ownerAccountId', 'createApplicationResponse_ownerAccountId' - The Amazon Web Services account ID of the application owner (which is+-- always the same as the environment owner account ID).+--+-- 'proxyType', 'createApplicationResponse_proxyType' - The proxy type of the proxy created within the application.+--+-- 'state', 'createApplicationResponse_state' - The current state of the application.+--+-- 'tags', 'createApplicationResponse_tags' - The tags assigned to the application. A tag is a label that you assign+-- to an Amazon Web Services resource. Each tag consists of a key-value+-- pair.+--+-- 'vpcId', 'createApplicationResponse_vpcId' - The ID of the Amazon VPC.+--+-- 'httpStatus', 'createApplicationResponse_httpStatus' - The response's http status code.+newCreateApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateApplicationResponse+newCreateApplicationResponse pHttpStatus_ =+  CreateApplicationResponse'+    { apiGatewayProxy =+        Prelude.Nothing,+      applicationId = Prelude.Nothing,+      arn = Prelude.Nothing,+      createdByAccountId = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      proxyType = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      vpcId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A wrapper object holding the API Gateway endpoint type and stage name+-- for the proxy.+createApplicationResponse_apiGatewayProxy :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe ApiGatewayProxyInput)+createApplicationResponse_apiGatewayProxy = Lens.lens (\CreateApplicationResponse' {apiGatewayProxy} -> apiGatewayProxy) (\s@CreateApplicationResponse' {} a -> s {apiGatewayProxy = a} :: CreateApplicationResponse)++-- | The unique identifier of the application.+createApplicationResponse_applicationId :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe Prelude.Text)+createApplicationResponse_applicationId = Lens.lens (\CreateApplicationResponse' {applicationId} -> applicationId) (\s@CreateApplicationResponse' {} a -> s {applicationId = a} :: CreateApplicationResponse)++-- | The Amazon Resource Name (ARN) of the application. The format for this+-- ARN is+-- @arn:aws:refactor-spaces:@/@region@/@:@/@account-id@/@:@/@resource-type\/resource-id@/@ @.+-- For more information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+createApplicationResponse_arn :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe Prelude.Text)+createApplicationResponse_arn = Lens.lens (\CreateApplicationResponse' {arn} -> arn) (\s@CreateApplicationResponse' {} a -> s {arn = a} :: CreateApplicationResponse)++-- | The Amazon Web Services account ID of application creator.+createApplicationResponse_createdByAccountId :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe Prelude.Text)+createApplicationResponse_createdByAccountId = Lens.lens (\CreateApplicationResponse' {createdByAccountId} -> createdByAccountId) (\s@CreateApplicationResponse' {} a -> s {createdByAccountId = a} :: CreateApplicationResponse)++-- | A timestamp that indicates when the application is created.+createApplicationResponse_createdTime :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe Prelude.UTCTime)+createApplicationResponse_createdTime = Lens.lens (\CreateApplicationResponse' {createdTime} -> createdTime) (\s@CreateApplicationResponse' {} a -> s {createdTime = a} :: CreateApplicationResponse) Prelude.. Lens.mapping Data._Time++-- | The ID of the environment in which the application is created.+createApplicationResponse_environmentId :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe Prelude.Text)+createApplicationResponse_environmentId = Lens.lens (\CreateApplicationResponse' {environmentId} -> environmentId) (\s@CreateApplicationResponse' {} a -> s {environmentId = a} :: CreateApplicationResponse)++-- | A timestamp that indicates when the application was last updated.+createApplicationResponse_lastUpdatedTime :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe Prelude.UTCTime)+createApplicationResponse_lastUpdatedTime = Lens.lens (\CreateApplicationResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@CreateApplicationResponse' {} a -> s {lastUpdatedTime = a} :: CreateApplicationResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the application.+createApplicationResponse_name :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe Prelude.Text)+createApplicationResponse_name = Lens.lens (\CreateApplicationResponse' {name} -> name) (\s@CreateApplicationResponse' {} a -> s {name = a} :: CreateApplicationResponse)++-- | The Amazon Web Services account ID of the application owner (which is+-- always the same as the environment owner account ID).+createApplicationResponse_ownerAccountId :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe Prelude.Text)+createApplicationResponse_ownerAccountId = Lens.lens (\CreateApplicationResponse' {ownerAccountId} -> ownerAccountId) (\s@CreateApplicationResponse' {} a -> s {ownerAccountId = a} :: CreateApplicationResponse)++-- | The proxy type of the proxy created within the application.+createApplicationResponse_proxyType :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe ProxyType)+createApplicationResponse_proxyType = Lens.lens (\CreateApplicationResponse' {proxyType} -> proxyType) (\s@CreateApplicationResponse' {} a -> s {proxyType = a} :: CreateApplicationResponse)++-- | The current state of the application.+createApplicationResponse_state :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe ApplicationState)+createApplicationResponse_state = Lens.lens (\CreateApplicationResponse' {state} -> state) (\s@CreateApplicationResponse' {} a -> s {state = a} :: CreateApplicationResponse)++-- | The tags assigned to the application. A tag is a label that you assign+-- to an Amazon Web Services resource. Each tag consists of a key-value+-- pair.+createApplicationResponse_tags :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createApplicationResponse_tags = Lens.lens (\CreateApplicationResponse' {tags} -> tags) (\s@CreateApplicationResponse' {} a -> s {tags = a} :: CreateApplicationResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The ID of the Amazon VPC.+createApplicationResponse_vpcId :: Lens.Lens' CreateApplicationResponse (Prelude.Maybe Prelude.Text)+createApplicationResponse_vpcId = Lens.lens (\CreateApplicationResponse' {vpcId} -> vpcId) (\s@CreateApplicationResponse' {} a -> s {vpcId = a} :: CreateApplicationResponse)++-- | The response's http status code.+createApplicationResponse_httpStatus :: Lens.Lens' CreateApplicationResponse Prelude.Int+createApplicationResponse_httpStatus = Lens.lens (\CreateApplicationResponse' {httpStatus} -> httpStatus) (\s@CreateApplicationResponse' {} a -> s {httpStatus = a} :: CreateApplicationResponse)++instance Prelude.NFData CreateApplicationResponse where+  rnf CreateApplicationResponse' {..} =+    Prelude.rnf apiGatewayProxy+      `Prelude.seq` Prelude.rnf applicationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdByAccountId+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf proxyType+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf vpcId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/CreateEnvironment.hs view
@@ -0,0 +1,353 @@+{-# 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.MigrationHubReFactorSpaces.CreateEnvironment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an Amazon Web Services Migration Hub Refactor Spaces+-- environment. The caller owns the environment resource, and all Refactor+-- Spaces applications, services, and routes created within the+-- environment. They are referred to as the /environment owner/. The+-- environment owner has cross-account visibility and control of Refactor+-- Spaces resources that are added to the environment by other accounts+-- that the environment is shared with. When creating an environment,+-- Refactor Spaces provisions a transit gateway in your account.+module Amazonka.MigrationHubReFactorSpaces.CreateEnvironment+  ( -- * Creating a Request+    CreateEnvironment (..),+    newCreateEnvironment,++    -- * Request Lenses+    createEnvironment_clientToken,+    createEnvironment_description,+    createEnvironment_tags,+    createEnvironment_name,+    createEnvironment_networkFabricType,++    -- * Destructuring the Response+    CreateEnvironmentResponse (..),+    newCreateEnvironmentResponse,++    -- * Response Lenses+    createEnvironmentResponse_arn,+    createEnvironmentResponse_createdTime,+    createEnvironmentResponse_description,+    createEnvironmentResponse_environmentId,+    createEnvironmentResponse_lastUpdatedTime,+    createEnvironmentResponse_name,+    createEnvironmentResponse_networkFabricType,+    createEnvironmentResponse_ownerAccountId,+    createEnvironmentResponse_state,+    createEnvironmentResponse_tags,+    createEnvironmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateEnvironment' smart constructor.+data CreateEnvironment = CreateEnvironment'+  { -- | A unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The description of the environment.+    description :: Prelude.Maybe Prelude.Text,+    -- | The tags to assign to the environment. A tag is a label that you assign+    -- to an Amazon Web Services resource. Each tag consists of a key-value+    -- pair.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The name of the environment.+    name :: Prelude.Text,+    -- | The network fabric type of the environment.+    networkFabricType :: NetworkFabricType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateEnvironment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createEnvironment_clientToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'description', 'createEnvironment_description' - The description of the environment.+--+-- 'tags', 'createEnvironment_tags' - The tags to assign to the environment. A tag is a label that you assign+-- to an Amazon Web Services resource. Each tag consists of a key-value+-- pair.+--+-- 'name', 'createEnvironment_name' - The name of the environment.+--+-- 'networkFabricType', 'createEnvironment_networkFabricType' - The network fabric type of the environment.+newCreateEnvironment ::+  -- | 'name'+  Prelude.Text ->+  -- | 'networkFabricType'+  NetworkFabricType ->+  CreateEnvironment+newCreateEnvironment pName_ pNetworkFabricType_ =+  CreateEnvironment'+    { clientToken = Prelude.Nothing,+      description = Prelude.Nothing,+      tags = Prelude.Nothing,+      name = pName_,+      networkFabricType = pNetworkFabricType_+    }++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createEnvironment_clientToken :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Text)+createEnvironment_clientToken = Lens.lens (\CreateEnvironment' {clientToken} -> clientToken) (\s@CreateEnvironment' {} a -> s {clientToken = a} :: CreateEnvironment)++-- | The description of the environment.+createEnvironment_description :: Lens.Lens' CreateEnvironment (Prelude.Maybe Prelude.Text)+createEnvironment_description = Lens.lens (\CreateEnvironment' {description} -> description) (\s@CreateEnvironment' {} a -> s {description = a} :: CreateEnvironment)++-- | The tags to assign to the environment. A tag is a label that you assign+-- to an Amazon Web Services resource. Each tag consists of a key-value+-- pair.+createEnvironment_tags :: Lens.Lens' CreateEnvironment (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createEnvironment_tags = Lens.lens (\CreateEnvironment' {tags} -> tags) (\s@CreateEnvironment' {} a -> s {tags = a} :: CreateEnvironment) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The name of the environment.+createEnvironment_name :: Lens.Lens' CreateEnvironment Prelude.Text+createEnvironment_name = Lens.lens (\CreateEnvironment' {name} -> name) (\s@CreateEnvironment' {} a -> s {name = a} :: CreateEnvironment)++-- | The network fabric type of the environment.+createEnvironment_networkFabricType :: Lens.Lens' CreateEnvironment NetworkFabricType+createEnvironment_networkFabricType = Lens.lens (\CreateEnvironment' {networkFabricType} -> networkFabricType) (\s@CreateEnvironment' {} a -> s {networkFabricType = a} :: CreateEnvironment)++instance Core.AWSRequest CreateEnvironment where+  type+    AWSResponse CreateEnvironment =+      CreateEnvironmentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateEnvironmentResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreatedTime")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "EnvironmentId")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "NetworkFabricType")+            Prelude.<*> (x Data..?> "OwnerAccountId")+            Prelude.<*> (x Data..?> "State")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateEnvironment where+  hashWithSalt _salt CreateEnvironment' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` networkFabricType++instance Prelude.NFData CreateEnvironment where+  rnf CreateEnvironment' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf networkFabricType++instance Data.ToHeaders CreateEnvironment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateEnvironment where+  toJSON CreateEnvironment' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Description" Data..=) Prelude.<$> description,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just+              ("NetworkFabricType" Data..= networkFabricType)+          ]+      )++instance Data.ToPath CreateEnvironment where+  toPath = Prelude.const "/environments"++instance Data.ToQuery CreateEnvironment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateEnvironmentResponse' smart constructor.+data CreateEnvironmentResponse = CreateEnvironmentResponse'+  { -- | The Amazon Resource Name (ARN) of the environment.+    arn :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the environment is created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | A description of the environment.+    description :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier of the environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the environment was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the environment.+    name :: Prelude.Maybe Prelude.Text,+    -- | The network fabric type of the environment.+    networkFabricType :: Prelude.Maybe NetworkFabricType,+    -- | The Amazon Web Services account ID of environment owner.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The current state of the environment.+    state :: Prelude.Maybe EnvironmentState,+    -- | The tags assigned to the created environment. A tag is a label that you+    -- assign to an Amazon Web Services resource. Each tag consists of a+    -- key-value pair..+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateEnvironmentResponse' with all optional fields 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', 'createEnvironmentResponse_arn' - The Amazon Resource Name (ARN) of the environment.+--+-- 'createdTime', 'createEnvironmentResponse_createdTime' - A timestamp that indicates when the environment is created.+--+-- 'description', 'createEnvironmentResponse_description' - A description of the environment.+--+-- 'environmentId', 'createEnvironmentResponse_environmentId' - The unique identifier of the environment.+--+-- 'lastUpdatedTime', 'createEnvironmentResponse_lastUpdatedTime' - A timestamp that indicates when the environment was last updated.+--+-- 'name', 'createEnvironmentResponse_name' - The name of the environment.+--+-- 'networkFabricType', 'createEnvironmentResponse_networkFabricType' - The network fabric type of the environment.+--+-- 'ownerAccountId', 'createEnvironmentResponse_ownerAccountId' - The Amazon Web Services account ID of environment owner.+--+-- 'state', 'createEnvironmentResponse_state' - The current state of the environment.+--+-- 'tags', 'createEnvironmentResponse_tags' - The tags assigned to the created environment. A tag is a label that you+-- assign to an Amazon Web Services resource. Each tag consists of a+-- key-value pair..+--+-- 'httpStatus', 'createEnvironmentResponse_httpStatus' - The response's http status code.+newCreateEnvironmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateEnvironmentResponse+newCreateEnvironmentResponse pHttpStatus_ =+  CreateEnvironmentResponse'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      description = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      networkFabricType = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the environment.+createEnvironmentResponse_arn :: Lens.Lens' CreateEnvironmentResponse (Prelude.Maybe Prelude.Text)+createEnvironmentResponse_arn = Lens.lens (\CreateEnvironmentResponse' {arn} -> arn) (\s@CreateEnvironmentResponse' {} a -> s {arn = a} :: CreateEnvironmentResponse)++-- | A timestamp that indicates when the environment is created.+createEnvironmentResponse_createdTime :: Lens.Lens' CreateEnvironmentResponse (Prelude.Maybe Prelude.UTCTime)+createEnvironmentResponse_createdTime = Lens.lens (\CreateEnvironmentResponse' {createdTime} -> createdTime) (\s@CreateEnvironmentResponse' {} a -> s {createdTime = a} :: CreateEnvironmentResponse) Prelude.. Lens.mapping Data._Time++-- | A description of the environment.+createEnvironmentResponse_description :: Lens.Lens' CreateEnvironmentResponse (Prelude.Maybe Prelude.Text)+createEnvironmentResponse_description = Lens.lens (\CreateEnvironmentResponse' {description} -> description) (\s@CreateEnvironmentResponse' {} a -> s {description = a} :: CreateEnvironmentResponse)++-- | The unique identifier of the environment.+createEnvironmentResponse_environmentId :: Lens.Lens' CreateEnvironmentResponse (Prelude.Maybe Prelude.Text)+createEnvironmentResponse_environmentId = Lens.lens (\CreateEnvironmentResponse' {environmentId} -> environmentId) (\s@CreateEnvironmentResponse' {} a -> s {environmentId = a} :: CreateEnvironmentResponse)++-- | A timestamp that indicates when the environment was last updated.+createEnvironmentResponse_lastUpdatedTime :: Lens.Lens' CreateEnvironmentResponse (Prelude.Maybe Prelude.UTCTime)+createEnvironmentResponse_lastUpdatedTime = Lens.lens (\CreateEnvironmentResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@CreateEnvironmentResponse' {} a -> s {lastUpdatedTime = a} :: CreateEnvironmentResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the environment.+createEnvironmentResponse_name :: Lens.Lens' CreateEnvironmentResponse (Prelude.Maybe Prelude.Text)+createEnvironmentResponse_name = Lens.lens (\CreateEnvironmentResponse' {name} -> name) (\s@CreateEnvironmentResponse' {} a -> s {name = a} :: CreateEnvironmentResponse)++-- | The network fabric type of the environment.+createEnvironmentResponse_networkFabricType :: Lens.Lens' CreateEnvironmentResponse (Prelude.Maybe NetworkFabricType)+createEnvironmentResponse_networkFabricType = Lens.lens (\CreateEnvironmentResponse' {networkFabricType} -> networkFabricType) (\s@CreateEnvironmentResponse' {} a -> s {networkFabricType = a} :: CreateEnvironmentResponse)++-- | The Amazon Web Services account ID of environment owner.+createEnvironmentResponse_ownerAccountId :: Lens.Lens' CreateEnvironmentResponse (Prelude.Maybe Prelude.Text)+createEnvironmentResponse_ownerAccountId = Lens.lens (\CreateEnvironmentResponse' {ownerAccountId} -> ownerAccountId) (\s@CreateEnvironmentResponse' {} a -> s {ownerAccountId = a} :: CreateEnvironmentResponse)++-- | The current state of the environment.+createEnvironmentResponse_state :: Lens.Lens' CreateEnvironmentResponse (Prelude.Maybe EnvironmentState)+createEnvironmentResponse_state = Lens.lens (\CreateEnvironmentResponse' {state} -> state) (\s@CreateEnvironmentResponse' {} a -> s {state = a} :: CreateEnvironmentResponse)++-- | The tags assigned to the created environment. A tag is a label that you+-- assign to an Amazon Web Services resource. Each tag consists of a+-- key-value pair..+createEnvironmentResponse_tags :: Lens.Lens' CreateEnvironmentResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createEnvironmentResponse_tags = Lens.lens (\CreateEnvironmentResponse' {tags} -> tags) (\s@CreateEnvironmentResponse' {} a -> s {tags = a} :: CreateEnvironmentResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+createEnvironmentResponse_httpStatus :: Lens.Lens' CreateEnvironmentResponse Prelude.Int+createEnvironmentResponse_httpStatus = Lens.lens (\CreateEnvironmentResponse' {httpStatus} -> httpStatus) (\s@CreateEnvironmentResponse' {} a -> s {httpStatus = a} :: CreateEnvironmentResponse)++instance Prelude.NFData CreateEnvironmentResponse where+  rnf CreateEnvironmentResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf networkFabricType+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/CreateRoute.hs view
@@ -0,0 +1,516 @@+{-# 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.MigrationHubReFactorSpaces.CreateRoute+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an Amazon Web Services Migration Hub Refactor Spaces route. The+-- account owner of the service resource is always the environment owner,+-- regardless of which account creates the route. Routes target a service+-- in the application. If an application does not have any routes, then the+-- first route must be created as a @DEFAULT@ @RouteType@.+--+-- When created, the default route defaults to an active state so state is+-- not a required input. However, like all other state values the state of+-- the default route can be updated after creation, but only when all other+-- routes are also inactive. Conversely, no route can be active without the+-- default route also being active.+--+-- When you create a route, Refactor Spaces configures the Amazon API+-- Gateway to send traffic to the target service as follows:+--+-- -   If the service has a URL endpoint, and the endpoint resolves to a+--     private IP address, Refactor Spaces routes traffic using the API+--     Gateway VPC link.+--+-- -   If the service has a URL endpoint, and the endpoint resolves to a+--     public IP address, Refactor Spaces routes traffic over the public+--     internet.+--+-- -   If the service has an Lambda function endpoint, then Refactor Spaces+--     configures the Lambda function\'s resource policy to allow the+--     application\'s API Gateway to invoke the function.+--+-- A one-time health check is performed on the service when either the+-- route is updated from inactive to active, or when it is created with an+-- active state. If the health check fails, the route transitions the route+-- state to @FAILED@, an error code of+-- @SERVICE_ENDPOINT_HEALTH_CHECK_FAILURE@ is provided, and no traffic is+-- sent to the service.+--+-- For Lambda functions, the Lambda function state is checked. If the+-- function is not active, the function configuration is updated so that+-- Lambda resources are provisioned. If the Lambda state is @Failed@, then+-- the route creation fails. For more information, see the+-- <https://docs.aws.amazon.com/lambda/latest/dg/API_GetFunctionConfiguration.html#SSS-GetFunctionConfiguration-response-State GetFunctionConfiguration\'s State response parameter>+-- in the /Lambda Developer Guide/.+--+-- For Lambda endpoints, a check is performed to determine that a Lambda+-- function with the specified ARN exists. If it does not exist, the health+-- check fails. For public URLs, a connection is opened to the public+-- endpoint. If the URL is not reachable, the health check fails.+--+-- Refactor Spaces automatically resolves the public Domain Name System+-- (DNS) names that are set in CreateServiceRequest$UrlEndpoint when you+-- create a service. The DNS names resolve when the DNS time-to-live (TTL)+-- expires, or every 60 seconds for TTLs less than 60 seconds. This+-- periodic DNS resolution ensures that the route configuration remains+-- up-to-date.+--+-- For private URLS, a target group is created on the Elastic Load+-- Balancing and the target group health check is run. The+-- @HealthCheckProtocol@, @HealthCheckPort@, and @HealthCheckPath@ are the+-- same protocol, port, and path specified in the URL or health URL, if+-- used. All other settings use the default values, as described in+-- <https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html Health checks for your target groups>.+-- The health check is considered successful if at least one target within+-- the target group transitions to a healthy state.+--+-- Services can have HTTP or HTTPS URL endpoints. For HTTPS URLs,+-- publicly-signed certificates are supported. Private Certificate+-- Authorities (CAs) are permitted only if the CA\'s domain is also+-- publicly resolvable.+module Amazonka.MigrationHubReFactorSpaces.CreateRoute+  ( -- * Creating a Request+    CreateRoute (..),+    newCreateRoute,++    -- * Request Lenses+    createRoute_clientToken,+    createRoute_defaultRoute,+    createRoute_tags,+    createRoute_uriPathRoute,+    createRoute_applicationIdentifier,+    createRoute_environmentIdentifier,+    createRoute_routeType,+    createRoute_serviceIdentifier,++    -- * Destructuring the Response+    CreateRouteResponse (..),+    newCreateRouteResponse,++    -- * Response Lenses+    createRouteResponse_applicationId,+    createRouteResponse_arn,+    createRouteResponse_createdByAccountId,+    createRouteResponse_createdTime,+    createRouteResponse_lastUpdatedTime,+    createRouteResponse_ownerAccountId,+    createRouteResponse_routeId,+    createRouteResponse_routeType,+    createRouteResponse_serviceId,+    createRouteResponse_state,+    createRouteResponse_tags,+    createRouteResponse_uriPathRoute,+    createRouteResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateRoute' smart constructor.+data CreateRoute = CreateRoute'+  { -- | A unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | Configuration for the default route type.+    defaultRoute :: Prelude.Maybe DefaultRouteInput,+    -- | The tags to assign to the route. A tag is a label that you assign to an+    -- Amazon Web Services resource. Each tag consists of a key-value pair..+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The configuration for the URI path route type.+    uriPathRoute :: Prelude.Maybe UriPathRouteInput,+    -- | The ID of the application within which the route is being created.+    applicationIdentifier :: Prelude.Text,+    -- | The ID of the environment in which the route is created.+    environmentIdentifier :: Prelude.Text,+    -- | The route type of the route. @DEFAULT@ indicates that all traffic that+    -- does not match another route is forwarded to the default route.+    -- Applications must have a default route before any other routes can be+    -- created. @URI_PATH@ indicates a route that is based on a URI path.+    routeType :: RouteType,+    -- | The ID of the service in which the route is created. Traffic that+    -- matches this route is forwarded to this service.+    serviceIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRoute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createRoute_clientToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'defaultRoute', 'createRoute_defaultRoute' - Configuration for the default route type.+--+-- 'tags', 'createRoute_tags' - The tags to assign to the route. A tag is a label that you assign to an+-- Amazon Web Services resource. Each tag consists of a key-value pair..+--+-- 'uriPathRoute', 'createRoute_uriPathRoute' - The configuration for the URI path route type.+--+-- 'applicationIdentifier', 'createRoute_applicationIdentifier' - The ID of the application within which the route is being created.+--+-- 'environmentIdentifier', 'createRoute_environmentIdentifier' - The ID of the environment in which the route is created.+--+-- 'routeType', 'createRoute_routeType' - The route type of the route. @DEFAULT@ indicates that all traffic that+-- does not match another route is forwarded to the default route.+-- Applications must have a default route before any other routes can be+-- created. @URI_PATH@ indicates a route that is based on a URI path.+--+-- 'serviceIdentifier', 'createRoute_serviceIdentifier' - The ID of the service in which the route is created. Traffic that+-- matches this route is forwarded to this service.+newCreateRoute ::+  -- | 'applicationIdentifier'+  Prelude.Text ->+  -- | 'environmentIdentifier'+  Prelude.Text ->+  -- | 'routeType'+  RouteType ->+  -- | 'serviceIdentifier'+  Prelude.Text ->+  CreateRoute+newCreateRoute+  pApplicationIdentifier_+  pEnvironmentIdentifier_+  pRouteType_+  pServiceIdentifier_ =+    CreateRoute'+      { clientToken = Prelude.Nothing,+        defaultRoute = Prelude.Nothing,+        tags = Prelude.Nothing,+        uriPathRoute = Prelude.Nothing,+        applicationIdentifier = pApplicationIdentifier_,+        environmentIdentifier = pEnvironmentIdentifier_,+        routeType = pRouteType_,+        serviceIdentifier = pServiceIdentifier_+      }++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createRoute_clientToken :: Lens.Lens' CreateRoute (Prelude.Maybe Prelude.Text)+createRoute_clientToken = Lens.lens (\CreateRoute' {clientToken} -> clientToken) (\s@CreateRoute' {} a -> s {clientToken = a} :: CreateRoute)++-- | Configuration for the default route type.+createRoute_defaultRoute :: Lens.Lens' CreateRoute (Prelude.Maybe DefaultRouteInput)+createRoute_defaultRoute = Lens.lens (\CreateRoute' {defaultRoute} -> defaultRoute) (\s@CreateRoute' {} a -> s {defaultRoute = a} :: CreateRoute)++-- | The tags to assign to the route. A tag is a label that you assign to an+-- Amazon Web Services resource. Each tag consists of a key-value pair..+createRoute_tags :: Lens.Lens' CreateRoute (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createRoute_tags = Lens.lens (\CreateRoute' {tags} -> tags) (\s@CreateRoute' {} a -> s {tags = a} :: CreateRoute) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The configuration for the URI path route type.+createRoute_uriPathRoute :: Lens.Lens' CreateRoute (Prelude.Maybe UriPathRouteInput)+createRoute_uriPathRoute = Lens.lens (\CreateRoute' {uriPathRoute} -> uriPathRoute) (\s@CreateRoute' {} a -> s {uriPathRoute = a} :: CreateRoute)++-- | The ID of the application within which the route is being created.+createRoute_applicationIdentifier :: Lens.Lens' CreateRoute Prelude.Text+createRoute_applicationIdentifier = Lens.lens (\CreateRoute' {applicationIdentifier} -> applicationIdentifier) (\s@CreateRoute' {} a -> s {applicationIdentifier = a} :: CreateRoute)++-- | The ID of the environment in which the route is created.+createRoute_environmentIdentifier :: Lens.Lens' CreateRoute Prelude.Text+createRoute_environmentIdentifier = Lens.lens (\CreateRoute' {environmentIdentifier} -> environmentIdentifier) (\s@CreateRoute' {} a -> s {environmentIdentifier = a} :: CreateRoute)++-- | The route type of the route. @DEFAULT@ indicates that all traffic that+-- does not match another route is forwarded to the default route.+-- Applications must have a default route before any other routes can be+-- created. @URI_PATH@ indicates a route that is based on a URI path.+createRoute_routeType :: Lens.Lens' CreateRoute RouteType+createRoute_routeType = Lens.lens (\CreateRoute' {routeType} -> routeType) (\s@CreateRoute' {} a -> s {routeType = a} :: CreateRoute)++-- | The ID of the service in which the route is created. Traffic that+-- matches this route is forwarded to this service.+createRoute_serviceIdentifier :: Lens.Lens' CreateRoute Prelude.Text+createRoute_serviceIdentifier = Lens.lens (\CreateRoute' {serviceIdentifier} -> serviceIdentifier) (\s@CreateRoute' {} a -> s {serviceIdentifier = a} :: CreateRoute)++instance Core.AWSRequest CreateRoute where+  type AWSResponse CreateRoute = CreateRouteResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateRouteResponse'+            Prelude.<$> (x Data..?> "ApplicationId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreatedByAccountId")+            Prelude.<*> (x Data..?> "CreatedTime")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "OwnerAccountId")+            Prelude.<*> (x Data..?> "RouteId")+            Prelude.<*> (x Data..?> "RouteType")+            Prelude.<*> (x Data..?> "ServiceId")+            Prelude.<*> (x Data..?> "State")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "UriPathRoute")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateRoute where+  hashWithSalt _salt CreateRoute' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` defaultRoute+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` uriPathRoute+      `Prelude.hashWithSalt` applicationIdentifier+      `Prelude.hashWithSalt` environmentIdentifier+      `Prelude.hashWithSalt` routeType+      `Prelude.hashWithSalt` serviceIdentifier++instance Prelude.NFData CreateRoute where+  rnf CreateRoute' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf defaultRoute+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf uriPathRoute+      `Prelude.seq` Prelude.rnf applicationIdentifier+      `Prelude.seq` Prelude.rnf environmentIdentifier+      `Prelude.seq` Prelude.rnf routeType+      `Prelude.seq` Prelude.rnf serviceIdentifier++instance Data.ToHeaders CreateRoute where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateRoute where+  toJSON CreateRoute' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("DefaultRoute" Data..=) Prelude.<$> defaultRoute,+            ("Tags" Data..=) Prelude.<$> tags,+            ("UriPathRoute" Data..=) Prelude.<$> uriPathRoute,+            Prelude.Just ("RouteType" Data..= routeType),+            Prelude.Just+              ("ServiceIdentifier" Data..= serviceIdentifier)+          ]+      )++instance Data.ToPath CreateRoute where+  toPath CreateRoute' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/applications/",+        Data.toBS applicationIdentifier,+        "/routes"+      ]++instance Data.ToQuery CreateRoute where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateRouteResponse' smart constructor.+data CreateRouteResponse = CreateRouteResponse'+  { -- | The ID of the application in which the route is created.+    applicationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the route. The format for this ARN is+    -- @arn:aws:refactor-spaces:@/@region@/@:@/@account-id@/@:@/@resource-type\/resource-id@/@ @.+    -- For more information about ARNs, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+    -- in the /Amazon Web Services General Reference/.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the route creator.+    createdByAccountId :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the route is created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | A timestamp that indicates when the route was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The Amazon Web Services account ID of the route owner.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier of the route.+    routeId :: Prelude.Maybe Prelude.Text,+    -- | The route type of the route.+    routeType :: Prelude.Maybe RouteType,+    -- | The ID of service in which the route is created. Traffic that matches+    -- this route is forwarded to this service.+    serviceId :: Prelude.Maybe Prelude.Text,+    -- | The current state of the route. Activation state only allows @ACTIVE@ or+    -- @INACTIVE@ as user inputs. @FAILED@ is a route state that is system+    -- generated.+    state :: Prelude.Maybe RouteState,+    -- | The tags assigned to the created route. A tag is a label that you assign+    -- to an Amazon Web Services resource. Each tag consists of a key-value+    -- pair.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | Configuration for the URI path route type.+    uriPathRoute :: Prelude.Maybe UriPathRouteInput,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateRouteResponse' with all optional fields 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:+--+-- 'applicationId', 'createRouteResponse_applicationId' - The ID of the application in which the route is created.+--+-- 'arn', 'createRouteResponse_arn' - The Amazon Resource Name (ARN) of the route. The format for this ARN is+-- @arn:aws:refactor-spaces:@/@region@/@:@/@account-id@/@:@/@resource-type\/resource-id@/@ @.+-- For more information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'createdByAccountId', 'createRouteResponse_createdByAccountId' - The Amazon Web Services account ID of the route creator.+--+-- 'createdTime', 'createRouteResponse_createdTime' - A timestamp that indicates when the route is created.+--+-- 'lastUpdatedTime', 'createRouteResponse_lastUpdatedTime' - A timestamp that indicates when the route was last updated.+--+-- 'ownerAccountId', 'createRouteResponse_ownerAccountId' - The Amazon Web Services account ID of the route owner.+--+-- 'routeId', 'createRouteResponse_routeId' - The unique identifier of the route.+--+-- 'routeType', 'createRouteResponse_routeType' - The route type of the route.+--+-- 'serviceId', 'createRouteResponse_serviceId' - The ID of service in which the route is created. Traffic that matches+-- this route is forwarded to this service.+--+-- 'state', 'createRouteResponse_state' - The current state of the route. Activation state only allows @ACTIVE@ or+-- @INACTIVE@ as user inputs. @FAILED@ is a route state that is system+-- generated.+--+-- 'tags', 'createRouteResponse_tags' - The tags assigned to the created route. A tag is a label that you assign+-- to an Amazon Web Services resource. Each tag consists of a key-value+-- pair.+--+-- 'uriPathRoute', 'createRouteResponse_uriPathRoute' - Configuration for the URI path route type.+--+-- 'httpStatus', 'createRouteResponse_httpStatus' - The response's http status code.+newCreateRouteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateRouteResponse+newCreateRouteResponse pHttpStatus_ =+  CreateRouteResponse'+    { applicationId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      createdByAccountId = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      routeId = Prelude.Nothing,+      routeType = Prelude.Nothing,+      serviceId = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      uriPathRoute = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the application in which the route is created.+createRouteResponse_applicationId :: Lens.Lens' CreateRouteResponse (Prelude.Maybe Prelude.Text)+createRouteResponse_applicationId = Lens.lens (\CreateRouteResponse' {applicationId} -> applicationId) (\s@CreateRouteResponse' {} a -> s {applicationId = a} :: CreateRouteResponse)++-- | The Amazon Resource Name (ARN) of the route. The format for this ARN is+-- @arn:aws:refactor-spaces:@/@region@/@:@/@account-id@/@:@/@resource-type\/resource-id@/@ @.+-- For more information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+createRouteResponse_arn :: Lens.Lens' CreateRouteResponse (Prelude.Maybe Prelude.Text)+createRouteResponse_arn = Lens.lens (\CreateRouteResponse' {arn} -> arn) (\s@CreateRouteResponse' {} a -> s {arn = a} :: CreateRouteResponse)++-- | The Amazon Web Services account ID of the route creator.+createRouteResponse_createdByAccountId :: Lens.Lens' CreateRouteResponse (Prelude.Maybe Prelude.Text)+createRouteResponse_createdByAccountId = Lens.lens (\CreateRouteResponse' {createdByAccountId} -> createdByAccountId) (\s@CreateRouteResponse' {} a -> s {createdByAccountId = a} :: CreateRouteResponse)++-- | A timestamp that indicates when the route is created.+createRouteResponse_createdTime :: Lens.Lens' CreateRouteResponse (Prelude.Maybe Prelude.UTCTime)+createRouteResponse_createdTime = Lens.lens (\CreateRouteResponse' {createdTime} -> createdTime) (\s@CreateRouteResponse' {} a -> s {createdTime = a} :: CreateRouteResponse) Prelude.. Lens.mapping Data._Time++-- | A timestamp that indicates when the route was last updated.+createRouteResponse_lastUpdatedTime :: Lens.Lens' CreateRouteResponse (Prelude.Maybe Prelude.UTCTime)+createRouteResponse_lastUpdatedTime = Lens.lens (\CreateRouteResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@CreateRouteResponse' {} a -> s {lastUpdatedTime = a} :: CreateRouteResponse) Prelude.. Lens.mapping Data._Time++-- | The Amazon Web Services account ID of the route owner.+createRouteResponse_ownerAccountId :: Lens.Lens' CreateRouteResponse (Prelude.Maybe Prelude.Text)+createRouteResponse_ownerAccountId = Lens.lens (\CreateRouteResponse' {ownerAccountId} -> ownerAccountId) (\s@CreateRouteResponse' {} a -> s {ownerAccountId = a} :: CreateRouteResponse)++-- | The unique identifier of the route.+createRouteResponse_routeId :: Lens.Lens' CreateRouteResponse (Prelude.Maybe Prelude.Text)+createRouteResponse_routeId = Lens.lens (\CreateRouteResponse' {routeId} -> routeId) (\s@CreateRouteResponse' {} a -> s {routeId = a} :: CreateRouteResponse)++-- | The route type of the route.+createRouteResponse_routeType :: Lens.Lens' CreateRouteResponse (Prelude.Maybe RouteType)+createRouteResponse_routeType = Lens.lens (\CreateRouteResponse' {routeType} -> routeType) (\s@CreateRouteResponse' {} a -> s {routeType = a} :: CreateRouteResponse)++-- | The ID of service in which the route is created. Traffic that matches+-- this route is forwarded to this service.+createRouteResponse_serviceId :: Lens.Lens' CreateRouteResponse (Prelude.Maybe Prelude.Text)+createRouteResponse_serviceId = Lens.lens (\CreateRouteResponse' {serviceId} -> serviceId) (\s@CreateRouteResponse' {} a -> s {serviceId = a} :: CreateRouteResponse)++-- | The current state of the route. Activation state only allows @ACTIVE@ or+-- @INACTIVE@ as user inputs. @FAILED@ is a route state that is system+-- generated.+createRouteResponse_state :: Lens.Lens' CreateRouteResponse (Prelude.Maybe RouteState)+createRouteResponse_state = Lens.lens (\CreateRouteResponse' {state} -> state) (\s@CreateRouteResponse' {} a -> s {state = a} :: CreateRouteResponse)++-- | The tags assigned to the created route. A tag is a label that you assign+-- to an Amazon Web Services resource. Each tag consists of a key-value+-- pair.+createRouteResponse_tags :: Lens.Lens' CreateRouteResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createRouteResponse_tags = Lens.lens (\CreateRouteResponse' {tags} -> tags) (\s@CreateRouteResponse' {} a -> s {tags = a} :: CreateRouteResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | Configuration for the URI path route type.+createRouteResponse_uriPathRoute :: Lens.Lens' CreateRouteResponse (Prelude.Maybe UriPathRouteInput)+createRouteResponse_uriPathRoute = Lens.lens (\CreateRouteResponse' {uriPathRoute} -> uriPathRoute) (\s@CreateRouteResponse' {} a -> s {uriPathRoute = a} :: CreateRouteResponse)++-- | The response's http status code.+createRouteResponse_httpStatus :: Lens.Lens' CreateRouteResponse Prelude.Int+createRouteResponse_httpStatus = Lens.lens (\CreateRouteResponse' {httpStatus} -> httpStatus) (\s@CreateRouteResponse' {} a -> s {httpStatus = a} :: CreateRouteResponse)++instance Prelude.NFData CreateRouteResponse where+  rnf CreateRouteResponse' {..} =+    Prelude.rnf applicationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdByAccountId+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf routeId+      `Prelude.seq` Prelude.rnf routeType+      `Prelude.seq` Prelude.rnf serviceId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf uriPathRoute+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/CreateService.hs view
@@ -0,0 +1,519 @@+{-# 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.MigrationHubReFactorSpaces.CreateService+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an Amazon Web Services Migration Hub Refactor Spaces service.+-- The account owner of the service is always the environment owner,+-- regardless of which account in the environment creates the service.+-- Services have either a URL endpoint in a virtual private cloud (VPC), or+-- a Lambda function endpoint.+--+-- If an Amazon Web Services resource is launched in a service VPC, and you+-- want it to be accessible to all of an environment’s services with VPCs+-- and routes, apply the @RefactorSpacesSecurityGroup@ to the resource.+-- Alternatively, to add more cross-account constraints, apply your own+-- security group.+module Amazonka.MigrationHubReFactorSpaces.CreateService+  ( -- * Creating a Request+    CreateService (..),+    newCreateService,++    -- * Request Lenses+    createService_clientToken,+    createService_description,+    createService_lambdaEndpoint,+    createService_tags,+    createService_urlEndpoint,+    createService_vpcId,+    createService_applicationIdentifier,+    createService_endpointType,+    createService_environmentIdentifier,+    createService_name,++    -- * Destructuring the Response+    CreateServiceResponse (..),+    newCreateServiceResponse,++    -- * Response Lenses+    createServiceResponse_applicationId,+    createServiceResponse_arn,+    createServiceResponse_createdByAccountId,+    createServiceResponse_createdTime,+    createServiceResponse_description,+    createServiceResponse_endpointType,+    createServiceResponse_environmentId,+    createServiceResponse_lambdaEndpoint,+    createServiceResponse_lastUpdatedTime,+    createServiceResponse_name,+    createServiceResponse_ownerAccountId,+    createServiceResponse_serviceId,+    createServiceResponse_state,+    createServiceResponse_tags,+    createServiceResponse_urlEndpoint,+    createServiceResponse_vpcId,+    createServiceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateService' smart constructor.+data CreateService = CreateService'+  { -- | A unique, case-sensitive identifier that you provide to ensure the+    -- idempotency of the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The description of the service.+    description :: Prelude.Maybe Prelude.Text,+    -- | The configuration for the Lambda endpoint type.+    lambdaEndpoint :: Prelude.Maybe LambdaEndpointInput,+    -- | The tags to assign to the service. A tag is a label that you assign to+    -- an Amazon Web Services resource. Each tag consists of a key-value pair..+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The configuration for the URL endpoint type. When creating a route to a+    -- service, Refactor Spaces automatically resolves the address in the+    -- @UrlEndpointInput@ object URL when the Domain Name System (DNS)+    -- time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60+    -- seconds.+    urlEndpoint :: Prelude.Maybe UrlEndpointInput,+    -- | The ID of the VPC.+    vpcId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the application which the service is created.+    applicationIdentifier :: Prelude.Text,+    -- | The type of endpoint to use for the service. The type can be a URL in a+    -- VPC or an Lambda function.+    endpointType :: ServiceEndpointType,+    -- | The ID of the environment in which the service is created.+    environmentIdentifier :: Prelude.Text,+    -- | The name of the service.+    name :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateService' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientToken', 'createService_clientToken' - A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+--+-- 'description', 'createService_description' - The description of the service.+--+-- 'lambdaEndpoint', 'createService_lambdaEndpoint' - The configuration for the Lambda endpoint type.+--+-- 'tags', 'createService_tags' - The tags to assign to the service. A tag is a label that you assign to+-- an Amazon Web Services resource. Each tag consists of a key-value pair..+--+-- 'urlEndpoint', 'createService_urlEndpoint' - The configuration for the URL endpoint type. When creating a route to a+-- service, Refactor Spaces automatically resolves the address in the+-- @UrlEndpointInput@ object URL when the Domain Name System (DNS)+-- time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60+-- seconds.+--+-- 'vpcId', 'createService_vpcId' - The ID of the VPC.+--+-- 'applicationIdentifier', 'createService_applicationIdentifier' - The ID of the application which the service is created.+--+-- 'endpointType', 'createService_endpointType' - The type of endpoint to use for the service. The type can be a URL in a+-- VPC or an Lambda function.+--+-- 'environmentIdentifier', 'createService_environmentIdentifier' - The ID of the environment in which the service is created.+--+-- 'name', 'createService_name' - The name of the service.+newCreateService ::+  -- | 'applicationIdentifier'+  Prelude.Text ->+  -- | 'endpointType'+  ServiceEndpointType ->+  -- | 'environmentIdentifier'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  CreateService+newCreateService+  pApplicationIdentifier_+  pEndpointType_+  pEnvironmentIdentifier_+  pName_ =+    CreateService'+      { clientToken = Prelude.Nothing,+        description = Prelude.Nothing,+        lambdaEndpoint = Prelude.Nothing,+        tags = Prelude.Nothing,+        urlEndpoint = Prelude.Nothing,+        vpcId = Prelude.Nothing,+        applicationIdentifier = pApplicationIdentifier_,+        endpointType = pEndpointType_,+        environmentIdentifier = pEnvironmentIdentifier_,+        name = pName_+      }++-- | A unique, case-sensitive identifier that you provide to ensure the+-- idempotency of the request.+createService_clientToken :: Lens.Lens' CreateService (Prelude.Maybe Prelude.Text)+createService_clientToken = Lens.lens (\CreateService' {clientToken} -> clientToken) (\s@CreateService' {} a -> s {clientToken = a} :: CreateService)++-- | The description of the service.+createService_description :: Lens.Lens' CreateService (Prelude.Maybe Prelude.Text)+createService_description = Lens.lens (\CreateService' {description} -> description) (\s@CreateService' {} a -> s {description = a} :: CreateService)++-- | The configuration for the Lambda endpoint type.+createService_lambdaEndpoint :: Lens.Lens' CreateService (Prelude.Maybe LambdaEndpointInput)+createService_lambdaEndpoint = Lens.lens (\CreateService' {lambdaEndpoint} -> lambdaEndpoint) (\s@CreateService' {} a -> s {lambdaEndpoint = a} :: CreateService)++-- | The tags to assign to the service. A tag is a label that you assign to+-- an Amazon Web Services resource. Each tag consists of a key-value pair..+createService_tags :: Lens.Lens' CreateService (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createService_tags = Lens.lens (\CreateService' {tags} -> tags) (\s@CreateService' {} a -> s {tags = a} :: CreateService) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The configuration for the URL endpoint type. When creating a route to a+-- service, Refactor Spaces automatically resolves the address in the+-- @UrlEndpointInput@ object URL when the Domain Name System (DNS)+-- time-to-live (TTL) expires, or every 60 seconds for TTLs less than 60+-- seconds.+createService_urlEndpoint :: Lens.Lens' CreateService (Prelude.Maybe UrlEndpointInput)+createService_urlEndpoint = Lens.lens (\CreateService' {urlEndpoint} -> urlEndpoint) (\s@CreateService' {} a -> s {urlEndpoint = a} :: CreateService)++-- | The ID of the VPC.+createService_vpcId :: Lens.Lens' CreateService (Prelude.Maybe Prelude.Text)+createService_vpcId = Lens.lens (\CreateService' {vpcId} -> vpcId) (\s@CreateService' {} a -> s {vpcId = a} :: CreateService)++-- | The ID of the application which the service is created.+createService_applicationIdentifier :: Lens.Lens' CreateService Prelude.Text+createService_applicationIdentifier = Lens.lens (\CreateService' {applicationIdentifier} -> applicationIdentifier) (\s@CreateService' {} a -> s {applicationIdentifier = a} :: CreateService)++-- | The type of endpoint to use for the service. The type can be a URL in a+-- VPC or an Lambda function.+createService_endpointType :: Lens.Lens' CreateService ServiceEndpointType+createService_endpointType = Lens.lens (\CreateService' {endpointType} -> endpointType) (\s@CreateService' {} a -> s {endpointType = a} :: CreateService)++-- | The ID of the environment in which the service is created.+createService_environmentIdentifier :: Lens.Lens' CreateService Prelude.Text+createService_environmentIdentifier = Lens.lens (\CreateService' {environmentIdentifier} -> environmentIdentifier) (\s@CreateService' {} a -> s {environmentIdentifier = a} :: CreateService)++-- | The name of the service.+createService_name :: Lens.Lens' CreateService Prelude.Text+createService_name = Lens.lens (\CreateService' {name} -> name) (\s@CreateService' {} a -> s {name = a} :: CreateService)++instance Core.AWSRequest CreateService where+  type+    AWSResponse CreateService =+      CreateServiceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateServiceResponse'+            Prelude.<$> (x Data..?> "ApplicationId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreatedByAccountId")+            Prelude.<*> (x Data..?> "CreatedTime")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "EndpointType")+            Prelude.<*> (x Data..?> "EnvironmentId")+            Prelude.<*> (x Data..?> "LambdaEndpoint")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "OwnerAccountId")+            Prelude.<*> (x Data..?> "ServiceId")+            Prelude.<*> (x Data..?> "State")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "UrlEndpoint")+            Prelude.<*> (x Data..?> "VpcId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateService where+  hashWithSalt _salt CreateService' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` lambdaEndpoint+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` urlEndpoint+      `Prelude.hashWithSalt` vpcId+      `Prelude.hashWithSalt` applicationIdentifier+      `Prelude.hashWithSalt` endpointType+      `Prelude.hashWithSalt` environmentIdentifier+      `Prelude.hashWithSalt` name++instance Prelude.NFData CreateService where+  rnf CreateService' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf lambdaEndpoint+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf urlEndpoint+      `Prelude.seq` Prelude.rnf vpcId+      `Prelude.seq` Prelude.rnf applicationIdentifier+      `Prelude.seq` Prelude.rnf endpointType+      `Prelude.seq` Prelude.rnf environmentIdentifier+      `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateService where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateService where+  toJSON CreateService' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Description" Data..=) Prelude.<$> description,+            ("LambdaEndpoint" Data..=)+              Prelude.<$> lambdaEndpoint,+            ("Tags" Data..=) Prelude.<$> tags,+            ("UrlEndpoint" Data..=) Prelude.<$> urlEndpoint,+            ("VpcId" Data..=) Prelude.<$> vpcId,+            Prelude.Just ("EndpointType" Data..= endpointType),+            Prelude.Just ("Name" Data..= name)+          ]+      )++instance Data.ToPath CreateService where+  toPath CreateService' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/applications/",+        Data.toBS applicationIdentifier,+        "/services"+      ]++instance Data.ToQuery CreateService where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateServiceResponse' smart constructor.+data CreateServiceResponse = CreateServiceResponse'+  { -- | The ID of the application that the created service belongs to.+    applicationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the service.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the service creator.+    createdByAccountId :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the service is created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the created service.+    description :: Prelude.Maybe Prelude.Text,+    -- | The endpoint type of the service.+    endpointType :: Prelude.Maybe ServiceEndpointType,+    -- | The unique identifier of the environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | The configuration for the Lambda endpoint type.+    lambdaEndpoint :: Prelude.Maybe LambdaEndpointInput,+    -- | A timestamp that indicates when the service was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the service.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the service owner.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier of the service.+    serviceId :: Prelude.Maybe Prelude.Text,+    -- | The current state of the service.+    state :: Prelude.Maybe ServiceState,+    -- | The tags assigned to the created service. A tag is a label that you+    -- assign to an Amazon Web Services resource. Each tag consists of a+    -- key-value pair..+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The configuration for the URL endpoint type.+    urlEndpoint :: Prelude.Maybe UrlEndpointInput,+    -- | The ID of the VPC.+    vpcId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateServiceResponse' with all optional fields 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:+--+-- 'applicationId', 'createServiceResponse_applicationId' - The ID of the application that the created service belongs to.+--+-- 'arn', 'createServiceResponse_arn' - The Amazon Resource Name (ARN) of the service.+--+-- 'createdByAccountId', 'createServiceResponse_createdByAccountId' - The Amazon Web Services account ID of the service creator.+--+-- 'createdTime', 'createServiceResponse_createdTime' - A timestamp that indicates when the service is created.+--+-- 'description', 'createServiceResponse_description' - The description of the created service.+--+-- 'endpointType', 'createServiceResponse_endpointType' - The endpoint type of the service.+--+-- 'environmentId', 'createServiceResponse_environmentId' - The unique identifier of the environment.+--+-- 'lambdaEndpoint', 'createServiceResponse_lambdaEndpoint' - The configuration for the Lambda endpoint type.+--+-- 'lastUpdatedTime', 'createServiceResponse_lastUpdatedTime' - A timestamp that indicates when the service was last updated.+--+-- 'name', 'createServiceResponse_name' - The name of the service.+--+-- 'ownerAccountId', 'createServiceResponse_ownerAccountId' - The Amazon Web Services account ID of the service owner.+--+-- 'serviceId', 'createServiceResponse_serviceId' - The unique identifier of the service.+--+-- 'state', 'createServiceResponse_state' - The current state of the service.+--+-- 'tags', 'createServiceResponse_tags' - The tags assigned to the created service. A tag is a label that you+-- assign to an Amazon Web Services resource. Each tag consists of a+-- key-value pair..+--+-- 'urlEndpoint', 'createServiceResponse_urlEndpoint' - The configuration for the URL endpoint type.+--+-- 'vpcId', 'createServiceResponse_vpcId' - The ID of the VPC.+--+-- 'httpStatus', 'createServiceResponse_httpStatus' - The response's http status code.+newCreateServiceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateServiceResponse+newCreateServiceResponse pHttpStatus_ =+  CreateServiceResponse'+    { applicationId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      createdByAccountId = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      description = Prelude.Nothing,+      endpointType = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      lambdaEndpoint = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      serviceId = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      urlEndpoint = Prelude.Nothing,+      vpcId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the application that the created service belongs to.+createServiceResponse_applicationId :: Lens.Lens' CreateServiceResponse (Prelude.Maybe Prelude.Text)+createServiceResponse_applicationId = Lens.lens (\CreateServiceResponse' {applicationId} -> applicationId) (\s@CreateServiceResponse' {} a -> s {applicationId = a} :: CreateServiceResponse)++-- | The Amazon Resource Name (ARN) of the service.+createServiceResponse_arn :: Lens.Lens' CreateServiceResponse (Prelude.Maybe Prelude.Text)+createServiceResponse_arn = Lens.lens (\CreateServiceResponse' {arn} -> arn) (\s@CreateServiceResponse' {} a -> s {arn = a} :: CreateServiceResponse)++-- | The Amazon Web Services account ID of the service creator.+createServiceResponse_createdByAccountId :: Lens.Lens' CreateServiceResponse (Prelude.Maybe Prelude.Text)+createServiceResponse_createdByAccountId = Lens.lens (\CreateServiceResponse' {createdByAccountId} -> createdByAccountId) (\s@CreateServiceResponse' {} a -> s {createdByAccountId = a} :: CreateServiceResponse)++-- | A timestamp that indicates when the service is created.+createServiceResponse_createdTime :: Lens.Lens' CreateServiceResponse (Prelude.Maybe Prelude.UTCTime)+createServiceResponse_createdTime = Lens.lens (\CreateServiceResponse' {createdTime} -> createdTime) (\s@CreateServiceResponse' {} a -> s {createdTime = a} :: CreateServiceResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the created service.+createServiceResponse_description :: Lens.Lens' CreateServiceResponse (Prelude.Maybe Prelude.Text)+createServiceResponse_description = Lens.lens (\CreateServiceResponse' {description} -> description) (\s@CreateServiceResponse' {} a -> s {description = a} :: CreateServiceResponse)++-- | The endpoint type of the service.+createServiceResponse_endpointType :: Lens.Lens' CreateServiceResponse (Prelude.Maybe ServiceEndpointType)+createServiceResponse_endpointType = Lens.lens (\CreateServiceResponse' {endpointType} -> endpointType) (\s@CreateServiceResponse' {} a -> s {endpointType = a} :: CreateServiceResponse)++-- | The unique identifier of the environment.+createServiceResponse_environmentId :: Lens.Lens' CreateServiceResponse (Prelude.Maybe Prelude.Text)+createServiceResponse_environmentId = Lens.lens (\CreateServiceResponse' {environmentId} -> environmentId) (\s@CreateServiceResponse' {} a -> s {environmentId = a} :: CreateServiceResponse)++-- | The configuration for the Lambda endpoint type.+createServiceResponse_lambdaEndpoint :: Lens.Lens' CreateServiceResponse (Prelude.Maybe LambdaEndpointInput)+createServiceResponse_lambdaEndpoint = Lens.lens (\CreateServiceResponse' {lambdaEndpoint} -> lambdaEndpoint) (\s@CreateServiceResponse' {} a -> s {lambdaEndpoint = a} :: CreateServiceResponse)++-- | A timestamp that indicates when the service was last updated.+createServiceResponse_lastUpdatedTime :: Lens.Lens' CreateServiceResponse (Prelude.Maybe Prelude.UTCTime)+createServiceResponse_lastUpdatedTime = Lens.lens (\CreateServiceResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@CreateServiceResponse' {} a -> s {lastUpdatedTime = a} :: CreateServiceResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the service.+createServiceResponse_name :: Lens.Lens' CreateServiceResponse (Prelude.Maybe Prelude.Text)+createServiceResponse_name = Lens.lens (\CreateServiceResponse' {name} -> name) (\s@CreateServiceResponse' {} a -> s {name = a} :: CreateServiceResponse)++-- | The Amazon Web Services account ID of the service owner.+createServiceResponse_ownerAccountId :: Lens.Lens' CreateServiceResponse (Prelude.Maybe Prelude.Text)+createServiceResponse_ownerAccountId = Lens.lens (\CreateServiceResponse' {ownerAccountId} -> ownerAccountId) (\s@CreateServiceResponse' {} a -> s {ownerAccountId = a} :: CreateServiceResponse)++-- | The unique identifier of the service.+createServiceResponse_serviceId :: Lens.Lens' CreateServiceResponse (Prelude.Maybe Prelude.Text)+createServiceResponse_serviceId = Lens.lens (\CreateServiceResponse' {serviceId} -> serviceId) (\s@CreateServiceResponse' {} a -> s {serviceId = a} :: CreateServiceResponse)++-- | The current state of the service.+createServiceResponse_state :: Lens.Lens' CreateServiceResponse (Prelude.Maybe ServiceState)+createServiceResponse_state = Lens.lens (\CreateServiceResponse' {state} -> state) (\s@CreateServiceResponse' {} a -> s {state = a} :: CreateServiceResponse)++-- | The tags assigned to the created service. A tag is a label that you+-- assign to an Amazon Web Services resource. Each tag consists of a+-- key-value pair..+createServiceResponse_tags :: Lens.Lens' CreateServiceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createServiceResponse_tags = Lens.lens (\CreateServiceResponse' {tags} -> tags) (\s@CreateServiceResponse' {} a -> s {tags = a} :: CreateServiceResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The configuration for the URL endpoint type.+createServiceResponse_urlEndpoint :: Lens.Lens' CreateServiceResponse (Prelude.Maybe UrlEndpointInput)+createServiceResponse_urlEndpoint = Lens.lens (\CreateServiceResponse' {urlEndpoint} -> urlEndpoint) (\s@CreateServiceResponse' {} a -> s {urlEndpoint = a} :: CreateServiceResponse)++-- | The ID of the VPC.+createServiceResponse_vpcId :: Lens.Lens' CreateServiceResponse (Prelude.Maybe Prelude.Text)+createServiceResponse_vpcId = Lens.lens (\CreateServiceResponse' {vpcId} -> vpcId) (\s@CreateServiceResponse' {} a -> s {vpcId = a} :: CreateServiceResponse)++-- | The response's http status code.+createServiceResponse_httpStatus :: Lens.Lens' CreateServiceResponse Prelude.Int+createServiceResponse_httpStatus = Lens.lens (\CreateServiceResponse' {httpStatus} -> httpStatus) (\s@CreateServiceResponse' {} a -> s {httpStatus = a} :: CreateServiceResponse)++instance Prelude.NFData CreateServiceResponse where+  rnf CreateServiceResponse' {..} =+    Prelude.rnf applicationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdByAccountId+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf endpointType+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf lambdaEndpoint+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf serviceId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf urlEndpoint+      `Prelude.seq` Prelude.rnf vpcId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/DeleteApplication.hs view
@@ -0,0 +1,246 @@+{-# 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.MigrationHubReFactorSpaces.DeleteApplication+-- 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 an Amazon Web Services Migration Hub Refactor Spaces+-- application. Before you can delete an application, you must first delete+-- any services or routes within the application.+module Amazonka.MigrationHubReFactorSpaces.DeleteApplication+  ( -- * Creating a Request+    DeleteApplication (..),+    newDeleteApplication,++    -- * Request Lenses+    deleteApplication_applicationIdentifier,+    deleteApplication_environmentIdentifier,++    -- * Destructuring the Response+    DeleteApplicationResponse (..),+    newDeleteApplicationResponse,++    -- * Response Lenses+    deleteApplicationResponse_applicationId,+    deleteApplicationResponse_arn,+    deleteApplicationResponse_environmentId,+    deleteApplicationResponse_lastUpdatedTime,+    deleteApplicationResponse_name,+    deleteApplicationResponse_state,+    deleteApplicationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteApplication' smart constructor.+data DeleteApplication = DeleteApplication'+  { -- | The ID of the application.+    applicationIdentifier :: Prelude.Text,+    -- | The ID of the environment.+    environmentIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteApplication' with all optional fields 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:+--+-- 'applicationIdentifier', 'deleteApplication_applicationIdentifier' - The ID of the application.+--+-- 'environmentIdentifier', 'deleteApplication_environmentIdentifier' - The ID of the environment.+newDeleteApplication ::+  -- | 'applicationIdentifier'+  Prelude.Text ->+  -- | 'environmentIdentifier'+  Prelude.Text ->+  DeleteApplication+newDeleteApplication+  pApplicationIdentifier_+  pEnvironmentIdentifier_ =+    DeleteApplication'+      { applicationIdentifier =+          pApplicationIdentifier_,+        environmentIdentifier = pEnvironmentIdentifier_+      }++-- | The ID of the application.+deleteApplication_applicationIdentifier :: Lens.Lens' DeleteApplication Prelude.Text+deleteApplication_applicationIdentifier = Lens.lens (\DeleteApplication' {applicationIdentifier} -> applicationIdentifier) (\s@DeleteApplication' {} a -> s {applicationIdentifier = a} :: DeleteApplication)++-- | The ID of the environment.+deleteApplication_environmentIdentifier :: Lens.Lens' DeleteApplication Prelude.Text+deleteApplication_environmentIdentifier = Lens.lens (\DeleteApplication' {environmentIdentifier} -> environmentIdentifier) (\s@DeleteApplication' {} a -> s {environmentIdentifier = a} :: DeleteApplication)++instance Core.AWSRequest DeleteApplication where+  type+    AWSResponse DeleteApplication =+      DeleteApplicationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteApplicationResponse'+            Prelude.<$> (x Data..?> "ApplicationId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "EnvironmentId")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "State")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteApplication where+  hashWithSalt _salt DeleteApplication' {..} =+    _salt+      `Prelude.hashWithSalt` applicationIdentifier+      `Prelude.hashWithSalt` environmentIdentifier++instance Prelude.NFData DeleteApplication where+  rnf DeleteApplication' {..} =+    Prelude.rnf applicationIdentifier+      `Prelude.seq` Prelude.rnf environmentIdentifier++instance Data.ToHeaders DeleteApplication where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteApplication where+  toPath DeleteApplication' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/applications/",+        Data.toBS applicationIdentifier+      ]++instance Data.ToQuery DeleteApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteApplicationResponse' smart constructor.+data DeleteApplicationResponse = DeleteApplicationResponse'+  { -- | The ID of the application.+    applicationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the application.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier of the application’s environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the environment was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the application.+    name :: Prelude.Maybe Prelude.Text,+    -- | The current state of the application.+    state :: Prelude.Maybe ApplicationState,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteApplicationResponse' with all optional fields 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:+--+-- 'applicationId', 'deleteApplicationResponse_applicationId' - The ID of the application.+--+-- 'arn', 'deleteApplicationResponse_arn' - The Amazon Resource Name (ARN) of the application.+--+-- 'environmentId', 'deleteApplicationResponse_environmentId' - The unique identifier of the application’s environment.+--+-- 'lastUpdatedTime', 'deleteApplicationResponse_lastUpdatedTime' - A timestamp that indicates when the environment was last updated.+--+-- 'name', 'deleteApplicationResponse_name' - The name of the application.+--+-- 'state', 'deleteApplicationResponse_state' - The current state of the application.+--+-- 'httpStatus', 'deleteApplicationResponse_httpStatus' - The response's http status code.+newDeleteApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteApplicationResponse+newDeleteApplicationResponse pHttpStatus_ =+  DeleteApplicationResponse'+    { applicationId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      state = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the application.+deleteApplicationResponse_applicationId :: Lens.Lens' DeleteApplicationResponse (Prelude.Maybe Prelude.Text)+deleteApplicationResponse_applicationId = Lens.lens (\DeleteApplicationResponse' {applicationId} -> applicationId) (\s@DeleteApplicationResponse' {} a -> s {applicationId = a} :: DeleteApplicationResponse)++-- | The Amazon Resource Name (ARN) of the application.+deleteApplicationResponse_arn :: Lens.Lens' DeleteApplicationResponse (Prelude.Maybe Prelude.Text)+deleteApplicationResponse_arn = Lens.lens (\DeleteApplicationResponse' {arn} -> arn) (\s@DeleteApplicationResponse' {} a -> s {arn = a} :: DeleteApplicationResponse)++-- | The unique identifier of the application’s environment.+deleteApplicationResponse_environmentId :: Lens.Lens' DeleteApplicationResponse (Prelude.Maybe Prelude.Text)+deleteApplicationResponse_environmentId = Lens.lens (\DeleteApplicationResponse' {environmentId} -> environmentId) (\s@DeleteApplicationResponse' {} a -> s {environmentId = a} :: DeleteApplicationResponse)++-- | A timestamp that indicates when the environment was last updated.+deleteApplicationResponse_lastUpdatedTime :: Lens.Lens' DeleteApplicationResponse (Prelude.Maybe Prelude.UTCTime)+deleteApplicationResponse_lastUpdatedTime = Lens.lens (\DeleteApplicationResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@DeleteApplicationResponse' {} a -> s {lastUpdatedTime = a} :: DeleteApplicationResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the application.+deleteApplicationResponse_name :: Lens.Lens' DeleteApplicationResponse (Prelude.Maybe Prelude.Text)+deleteApplicationResponse_name = Lens.lens (\DeleteApplicationResponse' {name} -> name) (\s@DeleteApplicationResponse' {} a -> s {name = a} :: DeleteApplicationResponse)++-- | The current state of the application.+deleteApplicationResponse_state :: Lens.Lens' DeleteApplicationResponse (Prelude.Maybe ApplicationState)+deleteApplicationResponse_state = Lens.lens (\DeleteApplicationResponse' {state} -> state) (\s@DeleteApplicationResponse' {} a -> s {state = a} :: DeleteApplicationResponse)++-- | The response's http status code.+deleteApplicationResponse_httpStatus :: Lens.Lens' DeleteApplicationResponse Prelude.Int+deleteApplicationResponse_httpStatus = Lens.lens (\DeleteApplicationResponse' {httpStatus} -> httpStatus) (\s@DeleteApplicationResponse' {} a -> s {httpStatus = a} :: DeleteApplicationResponse)++instance Prelude.NFData DeleteApplicationResponse where+  rnf DeleteApplicationResponse' {..} =+    Prelude.rnf applicationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/DeleteEnvironment.hs view
@@ -0,0 +1,212 @@+{-# 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.MigrationHubReFactorSpaces.DeleteEnvironment+-- 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 an Amazon Web Services Migration Hub Refactor Spaces+-- environment. Before you can delete an environment, you must first delete+-- any applications and services within the environment.+module Amazonka.MigrationHubReFactorSpaces.DeleteEnvironment+  ( -- * Creating a Request+    DeleteEnvironment (..),+    newDeleteEnvironment,++    -- * Request Lenses+    deleteEnvironment_environmentIdentifier,++    -- * Destructuring the Response+    DeleteEnvironmentResponse (..),+    newDeleteEnvironmentResponse,++    -- * Response Lenses+    deleteEnvironmentResponse_arn,+    deleteEnvironmentResponse_environmentId,+    deleteEnvironmentResponse_lastUpdatedTime,+    deleteEnvironmentResponse_name,+    deleteEnvironmentResponse_state,+    deleteEnvironmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteEnvironment' smart constructor.+data DeleteEnvironment = DeleteEnvironment'+  { -- | The ID of the environment.+    environmentIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEnvironment' with all optional fields 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:+--+-- 'environmentIdentifier', 'deleteEnvironment_environmentIdentifier' - The ID of the environment.+newDeleteEnvironment ::+  -- | 'environmentIdentifier'+  Prelude.Text ->+  DeleteEnvironment+newDeleteEnvironment pEnvironmentIdentifier_ =+  DeleteEnvironment'+    { environmentIdentifier =+        pEnvironmentIdentifier_+    }++-- | The ID of the environment.+deleteEnvironment_environmentIdentifier :: Lens.Lens' DeleteEnvironment Prelude.Text+deleteEnvironment_environmentIdentifier = Lens.lens (\DeleteEnvironment' {environmentIdentifier} -> environmentIdentifier) (\s@DeleteEnvironment' {} a -> s {environmentIdentifier = a} :: DeleteEnvironment)++instance Core.AWSRequest DeleteEnvironment where+  type+    AWSResponse DeleteEnvironment =+      DeleteEnvironmentResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteEnvironmentResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "EnvironmentId")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "State")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteEnvironment where+  hashWithSalt _salt DeleteEnvironment' {..} =+    _salt `Prelude.hashWithSalt` environmentIdentifier++instance Prelude.NFData DeleteEnvironment where+  rnf DeleteEnvironment' {..} =+    Prelude.rnf environmentIdentifier++instance Data.ToHeaders DeleteEnvironment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteEnvironment where+  toPath DeleteEnvironment' {..} =+    Prelude.mconcat+      ["/environments/", Data.toBS environmentIdentifier]++instance Data.ToQuery DeleteEnvironment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteEnvironmentResponse' smart constructor.+data DeleteEnvironmentResponse = DeleteEnvironmentResponse'+  { -- | The Amazon Resource Name (ARN) of the environment.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier of the environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the environment was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the environment.+    name :: Prelude.Maybe Prelude.Text,+    -- | The current state of the environment.+    state :: Prelude.Maybe EnvironmentState,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteEnvironmentResponse' with all optional fields 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', 'deleteEnvironmentResponse_arn' - The Amazon Resource Name (ARN) of the environment.+--+-- 'environmentId', 'deleteEnvironmentResponse_environmentId' - The unique identifier of the environment.+--+-- 'lastUpdatedTime', 'deleteEnvironmentResponse_lastUpdatedTime' - A timestamp that indicates when the environment was last updated.+--+-- 'name', 'deleteEnvironmentResponse_name' - The name of the environment.+--+-- 'state', 'deleteEnvironmentResponse_state' - The current state of the environment.+--+-- 'httpStatus', 'deleteEnvironmentResponse_httpStatus' - The response's http status code.+newDeleteEnvironmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteEnvironmentResponse+newDeleteEnvironmentResponse pHttpStatus_ =+  DeleteEnvironmentResponse'+    { arn = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      state = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the environment.+deleteEnvironmentResponse_arn :: Lens.Lens' DeleteEnvironmentResponse (Prelude.Maybe Prelude.Text)+deleteEnvironmentResponse_arn = Lens.lens (\DeleteEnvironmentResponse' {arn} -> arn) (\s@DeleteEnvironmentResponse' {} a -> s {arn = a} :: DeleteEnvironmentResponse)++-- | The unique identifier of the environment.+deleteEnvironmentResponse_environmentId :: Lens.Lens' DeleteEnvironmentResponse (Prelude.Maybe Prelude.Text)+deleteEnvironmentResponse_environmentId = Lens.lens (\DeleteEnvironmentResponse' {environmentId} -> environmentId) (\s@DeleteEnvironmentResponse' {} a -> s {environmentId = a} :: DeleteEnvironmentResponse)++-- | A timestamp that indicates when the environment was last updated.+deleteEnvironmentResponse_lastUpdatedTime :: Lens.Lens' DeleteEnvironmentResponse (Prelude.Maybe Prelude.UTCTime)+deleteEnvironmentResponse_lastUpdatedTime = Lens.lens (\DeleteEnvironmentResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@DeleteEnvironmentResponse' {} a -> s {lastUpdatedTime = a} :: DeleteEnvironmentResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the environment.+deleteEnvironmentResponse_name :: Lens.Lens' DeleteEnvironmentResponse (Prelude.Maybe Prelude.Text)+deleteEnvironmentResponse_name = Lens.lens (\DeleteEnvironmentResponse' {name} -> name) (\s@DeleteEnvironmentResponse' {} a -> s {name = a} :: DeleteEnvironmentResponse)++-- | The current state of the environment.+deleteEnvironmentResponse_state :: Lens.Lens' DeleteEnvironmentResponse (Prelude.Maybe EnvironmentState)+deleteEnvironmentResponse_state = Lens.lens (\DeleteEnvironmentResponse' {state} -> state) (\s@DeleteEnvironmentResponse' {} a -> s {state = a} :: DeleteEnvironmentResponse)++-- | The response's http status code.+deleteEnvironmentResponse_httpStatus :: Lens.Lens' DeleteEnvironmentResponse Prelude.Int+deleteEnvironmentResponse_httpStatus = Lens.lens (\DeleteEnvironmentResponse' {httpStatus} -> httpStatus) (\s@DeleteEnvironmentResponse' {} a -> s {httpStatus = a} :: DeleteEnvironmentResponse)++instance Prelude.NFData DeleteEnvironmentResponse where+  rnf DeleteEnvironmentResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/DeleteResourcePolicy.hs view
@@ -0,0 +1,148 @@+{-# 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.MigrationHubReFactorSpaces.DeleteResourcePolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the resource policy set for the environment.+module Amazonka.MigrationHubReFactorSpaces.DeleteResourcePolicy+  ( -- * Creating a Request+    DeleteResourcePolicy (..),+    newDeleteResourcePolicy,++    -- * Request Lenses+    deleteResourcePolicy_identifier,++    -- * Destructuring the Response+    DeleteResourcePolicyResponse (..),+    newDeleteResourcePolicyResponse,++    -- * Response Lenses+    deleteResourcePolicyResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteResourcePolicy' smart constructor.+data DeleteResourcePolicy = DeleteResourcePolicy'+  { -- | Amazon Resource Name (ARN) of the resource associated with the policy.+    identifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResourcePolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'identifier', 'deleteResourcePolicy_identifier' - Amazon Resource Name (ARN) of the resource associated with the policy.+newDeleteResourcePolicy ::+  -- | 'identifier'+  Prelude.Text ->+  DeleteResourcePolicy+newDeleteResourcePolicy pIdentifier_ =+  DeleteResourcePolicy' {identifier = pIdentifier_}++-- | Amazon Resource Name (ARN) of the resource associated with the policy.+deleteResourcePolicy_identifier :: Lens.Lens' DeleteResourcePolicy Prelude.Text+deleteResourcePolicy_identifier = Lens.lens (\DeleteResourcePolicy' {identifier} -> identifier) (\s@DeleteResourcePolicy' {} a -> s {identifier = a} :: DeleteResourcePolicy)++instance Core.AWSRequest DeleteResourcePolicy where+  type+    AWSResponse DeleteResourcePolicy =+      DeleteResourcePolicyResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteResourcePolicyResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteResourcePolicy where+  hashWithSalt _salt DeleteResourcePolicy' {..} =+    _salt `Prelude.hashWithSalt` identifier++instance Prelude.NFData DeleteResourcePolicy where+  rnf DeleteResourcePolicy' {..} =+    Prelude.rnf identifier++instance Data.ToHeaders DeleteResourcePolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteResourcePolicy where+  toPath DeleteResourcePolicy' {..} =+    Prelude.mconcat+      ["/resourcepolicy/", Data.toBS identifier]++instance Data.ToQuery DeleteResourcePolicy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteResourcePolicyResponse' smart constructor.+data DeleteResourcePolicyResponse = DeleteResourcePolicyResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResourcePolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteResourcePolicyResponse_httpStatus' - The response's http status code.+newDeleteResourcePolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteResourcePolicyResponse+newDeleteResourcePolicyResponse pHttpStatus_ =+  DeleteResourcePolicyResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteResourcePolicyResponse_httpStatus :: Lens.Lens' DeleteResourcePolicyResponse Prelude.Int+deleteResourcePolicyResponse_httpStatus = Lens.lens (\DeleteResourcePolicyResponse' {httpStatus} -> httpStatus) (\s@DeleteResourcePolicyResponse' {} a -> s {httpStatus = a} :: DeleteResourcePolicyResponse)++instance Prelude.NFData DeleteResourcePolicyResponse where+  rnf DeleteResourcePolicyResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/DeleteRoute.hs view
@@ -0,0 +1,259 @@+{-# 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.MigrationHubReFactorSpaces.DeleteRoute+-- 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 an Amazon Web Services Migration Hub Refactor Spaces route.+module Amazonka.MigrationHubReFactorSpaces.DeleteRoute+  ( -- * Creating a Request+    DeleteRoute (..),+    newDeleteRoute,++    -- * Request Lenses+    deleteRoute_applicationIdentifier,+    deleteRoute_environmentIdentifier,+    deleteRoute_routeIdentifier,++    -- * Destructuring the Response+    DeleteRouteResponse (..),+    newDeleteRouteResponse,++    -- * Response Lenses+    deleteRouteResponse_applicationId,+    deleteRouteResponse_arn,+    deleteRouteResponse_lastUpdatedTime,+    deleteRouteResponse_routeId,+    deleteRouteResponse_serviceId,+    deleteRouteResponse_state,+    deleteRouteResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteRoute' smart constructor.+data DeleteRoute = DeleteRoute'+  { -- | The ID of the application to delete the route from.+    applicationIdentifier :: Prelude.Text,+    -- | The ID of the environment to delete the route from.+    environmentIdentifier :: Prelude.Text,+    -- | The ID of the route to delete.+    routeIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRoute' with all optional fields 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:+--+-- 'applicationIdentifier', 'deleteRoute_applicationIdentifier' - The ID of the application to delete the route from.+--+-- 'environmentIdentifier', 'deleteRoute_environmentIdentifier' - The ID of the environment to delete the route from.+--+-- 'routeIdentifier', 'deleteRoute_routeIdentifier' - The ID of the route to delete.+newDeleteRoute ::+  -- | 'applicationIdentifier'+  Prelude.Text ->+  -- | 'environmentIdentifier'+  Prelude.Text ->+  -- | 'routeIdentifier'+  Prelude.Text ->+  DeleteRoute+newDeleteRoute+  pApplicationIdentifier_+  pEnvironmentIdentifier_+  pRouteIdentifier_ =+    DeleteRoute'+      { applicationIdentifier =+          pApplicationIdentifier_,+        environmentIdentifier = pEnvironmentIdentifier_,+        routeIdentifier = pRouteIdentifier_+      }++-- | The ID of the application to delete the route from.+deleteRoute_applicationIdentifier :: Lens.Lens' DeleteRoute Prelude.Text+deleteRoute_applicationIdentifier = Lens.lens (\DeleteRoute' {applicationIdentifier} -> applicationIdentifier) (\s@DeleteRoute' {} a -> s {applicationIdentifier = a} :: DeleteRoute)++-- | The ID of the environment to delete the route from.+deleteRoute_environmentIdentifier :: Lens.Lens' DeleteRoute Prelude.Text+deleteRoute_environmentIdentifier = Lens.lens (\DeleteRoute' {environmentIdentifier} -> environmentIdentifier) (\s@DeleteRoute' {} a -> s {environmentIdentifier = a} :: DeleteRoute)++-- | The ID of the route to delete.+deleteRoute_routeIdentifier :: Lens.Lens' DeleteRoute Prelude.Text+deleteRoute_routeIdentifier = Lens.lens (\DeleteRoute' {routeIdentifier} -> routeIdentifier) (\s@DeleteRoute' {} a -> s {routeIdentifier = a} :: DeleteRoute)++instance Core.AWSRequest DeleteRoute where+  type AWSResponse DeleteRoute = DeleteRouteResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteRouteResponse'+            Prelude.<$> (x Data..?> "ApplicationId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "RouteId")+            Prelude.<*> (x Data..?> "ServiceId")+            Prelude.<*> (x Data..?> "State")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteRoute where+  hashWithSalt _salt DeleteRoute' {..} =+    _salt+      `Prelude.hashWithSalt` applicationIdentifier+      `Prelude.hashWithSalt` environmentIdentifier+      `Prelude.hashWithSalt` routeIdentifier++instance Prelude.NFData DeleteRoute where+  rnf DeleteRoute' {..} =+    Prelude.rnf applicationIdentifier+      `Prelude.seq` Prelude.rnf environmentIdentifier+      `Prelude.seq` Prelude.rnf routeIdentifier++instance Data.ToHeaders DeleteRoute where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteRoute where+  toPath DeleteRoute' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/applications/",+        Data.toBS applicationIdentifier,+        "/routes/",+        Data.toBS routeIdentifier+      ]++instance Data.ToQuery DeleteRoute where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteRouteResponse' smart constructor.+data DeleteRouteResponse = DeleteRouteResponse'+  { -- | The ID of the application that the route belongs to.+    applicationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the route.+    arn :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the route was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the route to delete.+    routeId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the service that the route belongs to.+    serviceId :: Prelude.Maybe Prelude.Text,+    -- | The current state of the route.+    state :: Prelude.Maybe RouteState,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteRouteResponse' with all optional fields 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:+--+-- 'applicationId', 'deleteRouteResponse_applicationId' - The ID of the application that the route belongs to.+--+-- 'arn', 'deleteRouteResponse_arn' - The Amazon Resource Name (ARN) of the route.+--+-- 'lastUpdatedTime', 'deleteRouteResponse_lastUpdatedTime' - A timestamp that indicates when the route was last updated.+--+-- 'routeId', 'deleteRouteResponse_routeId' - The ID of the route to delete.+--+-- 'serviceId', 'deleteRouteResponse_serviceId' - The ID of the service that the route belongs to.+--+-- 'state', 'deleteRouteResponse_state' - The current state of the route.+--+-- 'httpStatus', 'deleteRouteResponse_httpStatus' - The response's http status code.+newDeleteRouteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteRouteResponse+newDeleteRouteResponse pHttpStatus_ =+  DeleteRouteResponse'+    { applicationId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      routeId = Prelude.Nothing,+      serviceId = Prelude.Nothing,+      state = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the application that the route belongs to.+deleteRouteResponse_applicationId :: Lens.Lens' DeleteRouteResponse (Prelude.Maybe Prelude.Text)+deleteRouteResponse_applicationId = Lens.lens (\DeleteRouteResponse' {applicationId} -> applicationId) (\s@DeleteRouteResponse' {} a -> s {applicationId = a} :: DeleteRouteResponse)++-- | The Amazon Resource Name (ARN) of the route.+deleteRouteResponse_arn :: Lens.Lens' DeleteRouteResponse (Prelude.Maybe Prelude.Text)+deleteRouteResponse_arn = Lens.lens (\DeleteRouteResponse' {arn} -> arn) (\s@DeleteRouteResponse' {} a -> s {arn = a} :: DeleteRouteResponse)++-- | A timestamp that indicates when the route was last updated.+deleteRouteResponse_lastUpdatedTime :: Lens.Lens' DeleteRouteResponse (Prelude.Maybe Prelude.UTCTime)+deleteRouteResponse_lastUpdatedTime = Lens.lens (\DeleteRouteResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@DeleteRouteResponse' {} a -> s {lastUpdatedTime = a} :: DeleteRouteResponse) Prelude.. Lens.mapping Data._Time++-- | The ID of the route to delete.+deleteRouteResponse_routeId :: Lens.Lens' DeleteRouteResponse (Prelude.Maybe Prelude.Text)+deleteRouteResponse_routeId = Lens.lens (\DeleteRouteResponse' {routeId} -> routeId) (\s@DeleteRouteResponse' {} a -> s {routeId = a} :: DeleteRouteResponse)++-- | The ID of the service that the route belongs to.+deleteRouteResponse_serviceId :: Lens.Lens' DeleteRouteResponse (Prelude.Maybe Prelude.Text)+deleteRouteResponse_serviceId = Lens.lens (\DeleteRouteResponse' {serviceId} -> serviceId) (\s@DeleteRouteResponse' {} a -> s {serviceId = a} :: DeleteRouteResponse)++-- | The current state of the route.+deleteRouteResponse_state :: Lens.Lens' DeleteRouteResponse (Prelude.Maybe RouteState)+deleteRouteResponse_state = Lens.lens (\DeleteRouteResponse' {state} -> state) (\s@DeleteRouteResponse' {} a -> s {state = a} :: DeleteRouteResponse)++-- | The response's http status code.+deleteRouteResponse_httpStatus :: Lens.Lens' DeleteRouteResponse Prelude.Int+deleteRouteResponse_httpStatus = Lens.lens (\DeleteRouteResponse' {httpStatus} -> httpStatus) (\s@DeleteRouteResponse' {} a -> s {httpStatus = a} :: DeleteRouteResponse)++instance Prelude.NFData DeleteRouteResponse where+  rnf DeleteRouteResponse' {..} =+    Prelude.rnf applicationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf routeId+      `Prelude.seq` Prelude.rnf serviceId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/DeleteService.hs view
@@ -0,0 +1,285 @@+{-# 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.MigrationHubReFactorSpaces.DeleteService+-- 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 an Amazon Web Services Migration Hub Refactor Spaces service.+module Amazonka.MigrationHubReFactorSpaces.DeleteService+  ( -- * Creating a Request+    DeleteService (..),+    newDeleteService,++    -- * Request Lenses+    deleteService_applicationIdentifier,+    deleteService_environmentIdentifier,+    deleteService_serviceIdentifier,++    -- * Destructuring the Response+    DeleteServiceResponse (..),+    newDeleteServiceResponse,++    -- * Response Lenses+    deleteServiceResponse_applicationId,+    deleteServiceResponse_arn,+    deleteServiceResponse_environmentId,+    deleteServiceResponse_lastUpdatedTime,+    deleteServiceResponse_name,+    deleteServiceResponse_serviceId,+    deleteServiceResponse_state,+    deleteServiceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteService' smart constructor.+data DeleteService = DeleteService'+  { -- | Deletes a Refactor Spaces service.+    --+    -- The @RefactorSpacesSecurityGroup@ security group must be removed from+    -- all Amazon Web Services resources in the virtual private cloud (VPC)+    -- prior to deleting a service with a URL endpoint in a VPC.+    applicationIdentifier :: Prelude.Text,+    -- | The ID of the environment that the service is in.+    environmentIdentifier :: Prelude.Text,+    -- | The ID of the service to delete.+    serviceIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteService' with all optional fields 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:+--+-- 'applicationIdentifier', 'deleteService_applicationIdentifier' - Deletes a Refactor Spaces service.+--+-- The @RefactorSpacesSecurityGroup@ security group must be removed from+-- all Amazon Web Services resources in the virtual private cloud (VPC)+-- prior to deleting a service with a URL endpoint in a VPC.+--+-- 'environmentIdentifier', 'deleteService_environmentIdentifier' - The ID of the environment that the service is in.+--+-- 'serviceIdentifier', 'deleteService_serviceIdentifier' - The ID of the service to delete.+newDeleteService ::+  -- | 'applicationIdentifier'+  Prelude.Text ->+  -- | 'environmentIdentifier'+  Prelude.Text ->+  -- | 'serviceIdentifier'+  Prelude.Text ->+  DeleteService+newDeleteService+  pApplicationIdentifier_+  pEnvironmentIdentifier_+  pServiceIdentifier_ =+    DeleteService'+      { applicationIdentifier =+          pApplicationIdentifier_,+        environmentIdentifier = pEnvironmentIdentifier_,+        serviceIdentifier = pServiceIdentifier_+      }++-- | Deletes a Refactor Spaces service.+--+-- The @RefactorSpacesSecurityGroup@ security group must be removed from+-- all Amazon Web Services resources in the virtual private cloud (VPC)+-- prior to deleting a service with a URL endpoint in a VPC.+deleteService_applicationIdentifier :: Lens.Lens' DeleteService Prelude.Text+deleteService_applicationIdentifier = Lens.lens (\DeleteService' {applicationIdentifier} -> applicationIdentifier) (\s@DeleteService' {} a -> s {applicationIdentifier = a} :: DeleteService)++-- | The ID of the environment that the service is in.+deleteService_environmentIdentifier :: Lens.Lens' DeleteService Prelude.Text+deleteService_environmentIdentifier = Lens.lens (\DeleteService' {environmentIdentifier} -> environmentIdentifier) (\s@DeleteService' {} a -> s {environmentIdentifier = a} :: DeleteService)++-- | The ID of the service to delete.+deleteService_serviceIdentifier :: Lens.Lens' DeleteService Prelude.Text+deleteService_serviceIdentifier = Lens.lens (\DeleteService' {serviceIdentifier} -> serviceIdentifier) (\s@DeleteService' {} a -> s {serviceIdentifier = a} :: DeleteService)++instance Core.AWSRequest DeleteService where+  type+    AWSResponse DeleteService =+      DeleteServiceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteServiceResponse'+            Prelude.<$> (x Data..?> "ApplicationId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "EnvironmentId")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "ServiceId")+            Prelude.<*> (x Data..?> "State")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteService where+  hashWithSalt _salt DeleteService' {..} =+    _salt+      `Prelude.hashWithSalt` applicationIdentifier+      `Prelude.hashWithSalt` environmentIdentifier+      `Prelude.hashWithSalt` serviceIdentifier++instance Prelude.NFData DeleteService where+  rnf DeleteService' {..} =+    Prelude.rnf applicationIdentifier+      `Prelude.seq` Prelude.rnf environmentIdentifier+      `Prelude.seq` Prelude.rnf serviceIdentifier++instance Data.ToHeaders DeleteService where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteService where+  toPath DeleteService' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/applications/",+        Data.toBS applicationIdentifier,+        "/services/",+        Data.toBS serviceIdentifier+      ]++instance Data.ToQuery DeleteService where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteServiceResponse' smart constructor.+data DeleteServiceResponse = DeleteServiceResponse'+  { -- | The ID of the application that the service is in.+    applicationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the service.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier of the environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the service was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the service.+    name :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier of the service.+    serviceId :: Prelude.Maybe Prelude.Text,+    -- | The current state of the service.+    state :: Prelude.Maybe ServiceState,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteServiceResponse' with all optional fields 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:+--+-- 'applicationId', 'deleteServiceResponse_applicationId' - The ID of the application that the service is in.+--+-- 'arn', 'deleteServiceResponse_arn' - The Amazon Resource Name (ARN) of the service.+--+-- 'environmentId', 'deleteServiceResponse_environmentId' - The unique identifier of the environment.+--+-- 'lastUpdatedTime', 'deleteServiceResponse_lastUpdatedTime' - A timestamp that indicates when the service was last updated.+--+-- 'name', 'deleteServiceResponse_name' - The name of the service.+--+-- 'serviceId', 'deleteServiceResponse_serviceId' - The unique identifier of the service.+--+-- 'state', 'deleteServiceResponse_state' - The current state of the service.+--+-- 'httpStatus', 'deleteServiceResponse_httpStatus' - The response's http status code.+newDeleteServiceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteServiceResponse+newDeleteServiceResponse pHttpStatus_ =+  DeleteServiceResponse'+    { applicationId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      serviceId = Prelude.Nothing,+      state = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the application that the service is in.+deleteServiceResponse_applicationId :: Lens.Lens' DeleteServiceResponse (Prelude.Maybe Prelude.Text)+deleteServiceResponse_applicationId = Lens.lens (\DeleteServiceResponse' {applicationId} -> applicationId) (\s@DeleteServiceResponse' {} a -> s {applicationId = a} :: DeleteServiceResponse)++-- | The Amazon Resource Name (ARN) of the service.+deleteServiceResponse_arn :: Lens.Lens' DeleteServiceResponse (Prelude.Maybe Prelude.Text)+deleteServiceResponse_arn = Lens.lens (\DeleteServiceResponse' {arn} -> arn) (\s@DeleteServiceResponse' {} a -> s {arn = a} :: DeleteServiceResponse)++-- | The unique identifier of the environment.+deleteServiceResponse_environmentId :: Lens.Lens' DeleteServiceResponse (Prelude.Maybe Prelude.Text)+deleteServiceResponse_environmentId = Lens.lens (\DeleteServiceResponse' {environmentId} -> environmentId) (\s@DeleteServiceResponse' {} a -> s {environmentId = a} :: DeleteServiceResponse)++-- | A timestamp that indicates when the service was last updated.+deleteServiceResponse_lastUpdatedTime :: Lens.Lens' DeleteServiceResponse (Prelude.Maybe Prelude.UTCTime)+deleteServiceResponse_lastUpdatedTime = Lens.lens (\DeleteServiceResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@DeleteServiceResponse' {} a -> s {lastUpdatedTime = a} :: DeleteServiceResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the service.+deleteServiceResponse_name :: Lens.Lens' DeleteServiceResponse (Prelude.Maybe Prelude.Text)+deleteServiceResponse_name = Lens.lens (\DeleteServiceResponse' {name} -> name) (\s@DeleteServiceResponse' {} a -> s {name = a} :: DeleteServiceResponse)++-- | The unique identifier of the service.+deleteServiceResponse_serviceId :: Lens.Lens' DeleteServiceResponse (Prelude.Maybe Prelude.Text)+deleteServiceResponse_serviceId = Lens.lens (\DeleteServiceResponse' {serviceId} -> serviceId) (\s@DeleteServiceResponse' {} a -> s {serviceId = a} :: DeleteServiceResponse)++-- | The current state of the service.+deleteServiceResponse_state :: Lens.Lens' DeleteServiceResponse (Prelude.Maybe ServiceState)+deleteServiceResponse_state = Lens.lens (\DeleteServiceResponse' {state} -> state) (\s@DeleteServiceResponse' {} a -> s {state = a} :: DeleteServiceResponse)++-- | The response's http status code.+deleteServiceResponse_httpStatus :: Lens.Lens' DeleteServiceResponse Prelude.Int+deleteServiceResponse_httpStatus = Lens.lens (\DeleteServiceResponse' {httpStatus} -> httpStatus) (\s@DeleteServiceResponse' {} a -> s {httpStatus = a} :: DeleteServiceResponse)++instance Prelude.NFData DeleteServiceResponse where+  rnf DeleteServiceResponse' {..} =+    Prelude.rnf applicationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf serviceId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/GetApplication.hs view
@@ -0,0 +1,349 @@+{-# 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.MigrationHubReFactorSpaces.GetApplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets an Amazon Web Services Migration Hub Refactor Spaces application.+module Amazonka.MigrationHubReFactorSpaces.GetApplication+  ( -- * Creating a Request+    GetApplication (..),+    newGetApplication,++    -- * Request Lenses+    getApplication_applicationIdentifier,+    getApplication_environmentIdentifier,++    -- * Destructuring the Response+    GetApplicationResponse (..),+    newGetApplicationResponse,++    -- * Response Lenses+    getApplicationResponse_apiGatewayProxy,+    getApplicationResponse_applicationId,+    getApplicationResponse_arn,+    getApplicationResponse_createdByAccountId,+    getApplicationResponse_createdTime,+    getApplicationResponse_environmentId,+    getApplicationResponse_error,+    getApplicationResponse_lastUpdatedTime,+    getApplicationResponse_name,+    getApplicationResponse_ownerAccountId,+    getApplicationResponse_proxyType,+    getApplicationResponse_state,+    getApplicationResponse_tags,+    getApplicationResponse_vpcId,+    getApplicationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetApplication' smart constructor.+data GetApplication = GetApplication'+  { -- | The ID of the application.+    applicationIdentifier :: Prelude.Text,+    -- | The ID of the environment.+    environmentIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetApplication' with all optional fields 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:+--+-- 'applicationIdentifier', 'getApplication_applicationIdentifier' - The ID of the application.+--+-- 'environmentIdentifier', 'getApplication_environmentIdentifier' - The ID of the environment.+newGetApplication ::+  -- | 'applicationIdentifier'+  Prelude.Text ->+  -- | 'environmentIdentifier'+  Prelude.Text ->+  GetApplication+newGetApplication+  pApplicationIdentifier_+  pEnvironmentIdentifier_ =+    GetApplication'+      { applicationIdentifier =+          pApplicationIdentifier_,+        environmentIdentifier = pEnvironmentIdentifier_+      }++-- | The ID of the application.+getApplication_applicationIdentifier :: Lens.Lens' GetApplication Prelude.Text+getApplication_applicationIdentifier = Lens.lens (\GetApplication' {applicationIdentifier} -> applicationIdentifier) (\s@GetApplication' {} a -> s {applicationIdentifier = a} :: GetApplication)++-- | The ID of the environment.+getApplication_environmentIdentifier :: Lens.Lens' GetApplication Prelude.Text+getApplication_environmentIdentifier = Lens.lens (\GetApplication' {environmentIdentifier} -> environmentIdentifier) (\s@GetApplication' {} a -> s {environmentIdentifier = a} :: GetApplication)++instance Core.AWSRequest GetApplication where+  type+    AWSResponse GetApplication =+      GetApplicationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetApplicationResponse'+            Prelude.<$> (x Data..?> "ApiGatewayProxy")+            Prelude.<*> (x Data..?> "ApplicationId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreatedByAccountId")+            Prelude.<*> (x Data..?> "CreatedTime")+            Prelude.<*> (x Data..?> "EnvironmentId")+            Prelude.<*> (x Data..?> "Error")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "OwnerAccountId")+            Prelude.<*> (x Data..?> "ProxyType")+            Prelude.<*> (x Data..?> "State")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "VpcId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetApplication where+  hashWithSalt _salt GetApplication' {..} =+    _salt+      `Prelude.hashWithSalt` applicationIdentifier+      `Prelude.hashWithSalt` environmentIdentifier++instance Prelude.NFData GetApplication where+  rnf GetApplication' {..} =+    Prelude.rnf applicationIdentifier+      `Prelude.seq` Prelude.rnf environmentIdentifier++instance Data.ToHeaders GetApplication where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetApplication where+  toPath GetApplication' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/applications/",+        Data.toBS applicationIdentifier+      ]++instance Data.ToQuery GetApplication where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetApplicationResponse' smart constructor.+data GetApplicationResponse = GetApplicationResponse'+  { -- | The endpoint URL of the API Gateway proxy.+    apiGatewayProxy :: Prelude.Maybe ApiGatewayProxyConfig,+    -- | The unique identifier of the application.+    applicationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the application.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the application creator.+    createdByAccountId :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the application is created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The unique identifier of the environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | Any error associated with the application resource.+    error :: Prelude.Maybe ErrorResponse,+    -- | A timestamp that indicates when the application was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the application.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the application owner (which is+    -- always the same as the environment owner account ID).+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The proxy type of the proxy created within the application.+    proxyType :: Prelude.Maybe ProxyType,+    -- | The current state of the application.+    state :: Prelude.Maybe ApplicationState,+    -- | The tags assigned to the application. A tag is a label that you assign+    -- to an Amazon Web Services resource. Each tag consists of a key-value+    -- pair.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The ID of the virtual private cloud (VPC).+    vpcId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetApplicationResponse' with all optional fields 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:+--+-- 'apiGatewayProxy', 'getApplicationResponse_apiGatewayProxy' - The endpoint URL of the API Gateway proxy.+--+-- 'applicationId', 'getApplicationResponse_applicationId' - The unique identifier of the application.+--+-- 'arn', 'getApplicationResponse_arn' - The Amazon Resource Name (ARN) of the application.+--+-- 'createdByAccountId', 'getApplicationResponse_createdByAccountId' - The Amazon Web Services account ID of the application creator.+--+-- 'createdTime', 'getApplicationResponse_createdTime' - A timestamp that indicates when the application is created.+--+-- 'environmentId', 'getApplicationResponse_environmentId' - The unique identifier of the environment.+--+-- 'error', 'getApplicationResponse_error' - Any error associated with the application resource.+--+-- 'lastUpdatedTime', 'getApplicationResponse_lastUpdatedTime' - A timestamp that indicates when the application was last updated.+--+-- 'name', 'getApplicationResponse_name' - The name of the application.+--+-- 'ownerAccountId', 'getApplicationResponse_ownerAccountId' - The Amazon Web Services account ID of the application owner (which is+-- always the same as the environment owner account ID).+--+-- 'proxyType', 'getApplicationResponse_proxyType' - The proxy type of the proxy created within the application.+--+-- 'state', 'getApplicationResponse_state' - The current state of the application.+--+-- 'tags', 'getApplicationResponse_tags' - The tags assigned to the application. A tag is a label that you assign+-- to an Amazon Web Services resource. Each tag consists of a key-value+-- pair.+--+-- 'vpcId', 'getApplicationResponse_vpcId' - The ID of the virtual private cloud (VPC).+--+-- 'httpStatus', 'getApplicationResponse_httpStatus' - The response's http status code.+newGetApplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetApplicationResponse+newGetApplicationResponse pHttpStatus_ =+  GetApplicationResponse'+    { apiGatewayProxy =+        Prelude.Nothing,+      applicationId = Prelude.Nothing,+      arn = Prelude.Nothing,+      createdByAccountId = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      error = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      proxyType = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      vpcId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The endpoint URL of the API Gateway proxy.+getApplicationResponse_apiGatewayProxy :: Lens.Lens' GetApplicationResponse (Prelude.Maybe ApiGatewayProxyConfig)+getApplicationResponse_apiGatewayProxy = Lens.lens (\GetApplicationResponse' {apiGatewayProxy} -> apiGatewayProxy) (\s@GetApplicationResponse' {} a -> s {apiGatewayProxy = a} :: GetApplicationResponse)++-- | The unique identifier of the application.+getApplicationResponse_applicationId :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.Text)+getApplicationResponse_applicationId = Lens.lens (\GetApplicationResponse' {applicationId} -> applicationId) (\s@GetApplicationResponse' {} a -> s {applicationId = a} :: GetApplicationResponse)++-- | The Amazon Resource Name (ARN) of the application.+getApplicationResponse_arn :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.Text)+getApplicationResponse_arn = Lens.lens (\GetApplicationResponse' {arn} -> arn) (\s@GetApplicationResponse' {} a -> s {arn = a} :: GetApplicationResponse)++-- | The Amazon Web Services account ID of the application creator.+getApplicationResponse_createdByAccountId :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.Text)+getApplicationResponse_createdByAccountId = Lens.lens (\GetApplicationResponse' {createdByAccountId} -> createdByAccountId) (\s@GetApplicationResponse' {} a -> s {createdByAccountId = a} :: GetApplicationResponse)++-- | A timestamp that indicates when the application is created.+getApplicationResponse_createdTime :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.UTCTime)+getApplicationResponse_createdTime = Lens.lens (\GetApplicationResponse' {createdTime} -> createdTime) (\s@GetApplicationResponse' {} a -> s {createdTime = a} :: GetApplicationResponse) Prelude.. Lens.mapping Data._Time++-- | The unique identifier of the environment.+getApplicationResponse_environmentId :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.Text)+getApplicationResponse_environmentId = Lens.lens (\GetApplicationResponse' {environmentId} -> environmentId) (\s@GetApplicationResponse' {} a -> s {environmentId = a} :: GetApplicationResponse)++-- | Any error associated with the application resource.+getApplicationResponse_error :: Lens.Lens' GetApplicationResponse (Prelude.Maybe ErrorResponse)+getApplicationResponse_error = Lens.lens (\GetApplicationResponse' {error} -> error) (\s@GetApplicationResponse' {} a -> s {error = a} :: GetApplicationResponse)++-- | A timestamp that indicates when the application was last updated.+getApplicationResponse_lastUpdatedTime :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.UTCTime)+getApplicationResponse_lastUpdatedTime = Lens.lens (\GetApplicationResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@GetApplicationResponse' {} a -> s {lastUpdatedTime = a} :: GetApplicationResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the application.+getApplicationResponse_name :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.Text)+getApplicationResponse_name = Lens.lens (\GetApplicationResponse' {name} -> name) (\s@GetApplicationResponse' {} a -> s {name = a} :: GetApplicationResponse)++-- | The Amazon Web Services account ID of the application owner (which is+-- always the same as the environment owner account ID).+getApplicationResponse_ownerAccountId :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.Text)+getApplicationResponse_ownerAccountId = Lens.lens (\GetApplicationResponse' {ownerAccountId} -> ownerAccountId) (\s@GetApplicationResponse' {} a -> s {ownerAccountId = a} :: GetApplicationResponse)++-- | The proxy type of the proxy created within the application.+getApplicationResponse_proxyType :: Lens.Lens' GetApplicationResponse (Prelude.Maybe ProxyType)+getApplicationResponse_proxyType = Lens.lens (\GetApplicationResponse' {proxyType} -> proxyType) (\s@GetApplicationResponse' {} a -> s {proxyType = a} :: GetApplicationResponse)++-- | The current state of the application.+getApplicationResponse_state :: Lens.Lens' GetApplicationResponse (Prelude.Maybe ApplicationState)+getApplicationResponse_state = Lens.lens (\GetApplicationResponse' {state} -> state) (\s@GetApplicationResponse' {} a -> s {state = a} :: GetApplicationResponse)++-- | The tags assigned to the application. A tag is a label that you assign+-- to an Amazon Web Services resource. Each tag consists of a key-value+-- pair.+getApplicationResponse_tags :: Lens.Lens' GetApplicationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getApplicationResponse_tags = Lens.lens (\GetApplicationResponse' {tags} -> tags) (\s@GetApplicationResponse' {} a -> s {tags = a} :: GetApplicationResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The ID of the virtual private cloud (VPC).+getApplicationResponse_vpcId :: Lens.Lens' GetApplicationResponse (Prelude.Maybe Prelude.Text)+getApplicationResponse_vpcId = Lens.lens (\GetApplicationResponse' {vpcId} -> vpcId) (\s@GetApplicationResponse' {} a -> s {vpcId = a} :: GetApplicationResponse)++-- | The response's http status code.+getApplicationResponse_httpStatus :: Lens.Lens' GetApplicationResponse Prelude.Int+getApplicationResponse_httpStatus = Lens.lens (\GetApplicationResponse' {httpStatus} -> httpStatus) (\s@GetApplicationResponse' {} a -> s {httpStatus = a} :: GetApplicationResponse)++instance Prelude.NFData GetApplicationResponse where+  rnf GetApplicationResponse' {..} =+    Prelude.rnf apiGatewayProxy+      `Prelude.seq` Prelude.rnf applicationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdByAccountId+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf proxyType+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf vpcId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/GetEnvironment.hs view
@@ -0,0 +1,300 @@+{-# 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.MigrationHubReFactorSpaces.GetEnvironment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets an Amazon Web Services Migration Hub Refactor Spaces environment.+module Amazonka.MigrationHubReFactorSpaces.GetEnvironment+  ( -- * Creating a Request+    GetEnvironment (..),+    newGetEnvironment,++    -- * Request Lenses+    getEnvironment_environmentIdentifier,++    -- * Destructuring the Response+    GetEnvironmentResponse (..),+    newGetEnvironmentResponse,++    -- * Response Lenses+    getEnvironmentResponse_arn,+    getEnvironmentResponse_createdTime,+    getEnvironmentResponse_description,+    getEnvironmentResponse_environmentId,+    getEnvironmentResponse_error,+    getEnvironmentResponse_lastUpdatedTime,+    getEnvironmentResponse_name,+    getEnvironmentResponse_networkFabricType,+    getEnvironmentResponse_ownerAccountId,+    getEnvironmentResponse_state,+    getEnvironmentResponse_tags,+    getEnvironmentResponse_transitGatewayId,+    getEnvironmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetEnvironment' smart constructor.+data GetEnvironment = GetEnvironment'+  { -- | The ID of the environment.+    environmentIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEnvironment' with all optional fields 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:+--+-- 'environmentIdentifier', 'getEnvironment_environmentIdentifier' - The ID of the environment.+newGetEnvironment ::+  -- | 'environmentIdentifier'+  Prelude.Text ->+  GetEnvironment+newGetEnvironment pEnvironmentIdentifier_ =+  GetEnvironment'+    { environmentIdentifier =+        pEnvironmentIdentifier_+    }++-- | The ID of the environment.+getEnvironment_environmentIdentifier :: Lens.Lens' GetEnvironment Prelude.Text+getEnvironment_environmentIdentifier = Lens.lens (\GetEnvironment' {environmentIdentifier} -> environmentIdentifier) (\s@GetEnvironment' {} a -> s {environmentIdentifier = a} :: GetEnvironment)++instance Core.AWSRequest GetEnvironment where+  type+    AWSResponse GetEnvironment =+      GetEnvironmentResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetEnvironmentResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreatedTime")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "EnvironmentId")+            Prelude.<*> (x Data..?> "Error")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "NetworkFabricType")+            Prelude.<*> (x Data..?> "OwnerAccountId")+            Prelude.<*> (x Data..?> "State")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "TransitGatewayId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetEnvironment where+  hashWithSalt _salt GetEnvironment' {..} =+    _salt `Prelude.hashWithSalt` environmentIdentifier++instance Prelude.NFData GetEnvironment where+  rnf GetEnvironment' {..} =+    Prelude.rnf environmentIdentifier++instance Data.ToHeaders GetEnvironment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetEnvironment where+  toPath GetEnvironment' {..} =+    Prelude.mconcat+      ["/environments/", Data.toBS environmentIdentifier]++instance Data.ToQuery GetEnvironment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetEnvironmentResponse' smart constructor.+data GetEnvironmentResponse = GetEnvironmentResponse'+  { -- | The Amazon Resource Name (ARN) of the environment.+    arn :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the environment is created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the environment.+    description :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier of the environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | Any error associated with the environment resource.+    error :: Prelude.Maybe ErrorResponse,+    -- | A timestamp that indicates when the environment was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the environment.+    name :: Prelude.Maybe Prelude.Text,+    -- | The network fabric type of the environment.+    networkFabricType :: Prelude.Maybe NetworkFabricType,+    -- | The Amazon Web Services account ID of the environment owner.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The current state of the environment.+    state :: Prelude.Maybe EnvironmentState,+    -- | The tags to assign to the environment. A tag is a label that you assign+    -- to an Amazon Web Services resource. Each tag consists of a key-value+    -- pair.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The ID of the transit gateway set up by the environment.+    transitGatewayId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetEnvironmentResponse' with all optional fields 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', 'getEnvironmentResponse_arn' - The Amazon Resource Name (ARN) of the environment.+--+-- 'createdTime', 'getEnvironmentResponse_createdTime' - A timestamp that indicates when the environment is created.+--+-- 'description', 'getEnvironmentResponse_description' - The description of the environment.+--+-- 'environmentId', 'getEnvironmentResponse_environmentId' - The unique identifier of the environment.+--+-- 'error', 'getEnvironmentResponse_error' - Any error associated with the environment resource.+--+-- 'lastUpdatedTime', 'getEnvironmentResponse_lastUpdatedTime' - A timestamp that indicates when the environment was last updated.+--+-- 'name', 'getEnvironmentResponse_name' - The name of the environment.+--+-- 'networkFabricType', 'getEnvironmentResponse_networkFabricType' - The network fabric type of the environment.+--+-- 'ownerAccountId', 'getEnvironmentResponse_ownerAccountId' - The Amazon Web Services account ID of the environment owner.+--+-- 'state', 'getEnvironmentResponse_state' - The current state of the environment.+--+-- 'tags', 'getEnvironmentResponse_tags' - The tags to assign to the environment. A tag is a label that you assign+-- to an Amazon Web Services resource. Each tag consists of a key-value+-- pair.+--+-- 'transitGatewayId', 'getEnvironmentResponse_transitGatewayId' - The ID of the transit gateway set up by the environment.+--+-- 'httpStatus', 'getEnvironmentResponse_httpStatus' - The response's http status code.+newGetEnvironmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetEnvironmentResponse+newGetEnvironmentResponse pHttpStatus_ =+  GetEnvironmentResponse'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      description = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      error = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      networkFabricType = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      transitGatewayId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the environment.+getEnvironmentResponse_arn :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.Text)+getEnvironmentResponse_arn = Lens.lens (\GetEnvironmentResponse' {arn} -> arn) (\s@GetEnvironmentResponse' {} a -> s {arn = a} :: GetEnvironmentResponse)++-- | A timestamp that indicates when the environment is created.+getEnvironmentResponse_createdTime :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.UTCTime)+getEnvironmentResponse_createdTime = Lens.lens (\GetEnvironmentResponse' {createdTime} -> createdTime) (\s@GetEnvironmentResponse' {} a -> s {createdTime = a} :: GetEnvironmentResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the environment.+getEnvironmentResponse_description :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.Text)+getEnvironmentResponse_description = Lens.lens (\GetEnvironmentResponse' {description} -> description) (\s@GetEnvironmentResponse' {} a -> s {description = a} :: GetEnvironmentResponse)++-- | The unique identifier of the environment.+getEnvironmentResponse_environmentId :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.Text)+getEnvironmentResponse_environmentId = Lens.lens (\GetEnvironmentResponse' {environmentId} -> environmentId) (\s@GetEnvironmentResponse' {} a -> s {environmentId = a} :: GetEnvironmentResponse)++-- | Any error associated with the environment resource.+getEnvironmentResponse_error :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe ErrorResponse)+getEnvironmentResponse_error = Lens.lens (\GetEnvironmentResponse' {error} -> error) (\s@GetEnvironmentResponse' {} a -> s {error = a} :: GetEnvironmentResponse)++-- | A timestamp that indicates when the environment was last updated.+getEnvironmentResponse_lastUpdatedTime :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.UTCTime)+getEnvironmentResponse_lastUpdatedTime = Lens.lens (\GetEnvironmentResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@GetEnvironmentResponse' {} a -> s {lastUpdatedTime = a} :: GetEnvironmentResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the environment.+getEnvironmentResponse_name :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.Text)+getEnvironmentResponse_name = Lens.lens (\GetEnvironmentResponse' {name} -> name) (\s@GetEnvironmentResponse' {} a -> s {name = a} :: GetEnvironmentResponse)++-- | The network fabric type of the environment.+getEnvironmentResponse_networkFabricType :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe NetworkFabricType)+getEnvironmentResponse_networkFabricType = Lens.lens (\GetEnvironmentResponse' {networkFabricType} -> networkFabricType) (\s@GetEnvironmentResponse' {} a -> s {networkFabricType = a} :: GetEnvironmentResponse)++-- | The Amazon Web Services account ID of the environment owner.+getEnvironmentResponse_ownerAccountId :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.Text)+getEnvironmentResponse_ownerAccountId = Lens.lens (\GetEnvironmentResponse' {ownerAccountId} -> ownerAccountId) (\s@GetEnvironmentResponse' {} a -> s {ownerAccountId = a} :: GetEnvironmentResponse)++-- | The current state of the environment.+getEnvironmentResponse_state :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe EnvironmentState)+getEnvironmentResponse_state = Lens.lens (\GetEnvironmentResponse' {state} -> state) (\s@GetEnvironmentResponse' {} a -> s {state = a} :: GetEnvironmentResponse)++-- | The tags to assign to the environment. A tag is a label that you assign+-- to an Amazon Web Services resource. Each tag consists of a key-value+-- pair.+getEnvironmentResponse_tags :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getEnvironmentResponse_tags = Lens.lens (\GetEnvironmentResponse' {tags} -> tags) (\s@GetEnvironmentResponse' {} a -> s {tags = a} :: GetEnvironmentResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The ID of the transit gateway set up by the environment.+getEnvironmentResponse_transitGatewayId :: Lens.Lens' GetEnvironmentResponse (Prelude.Maybe Prelude.Text)+getEnvironmentResponse_transitGatewayId = Lens.lens (\GetEnvironmentResponse' {transitGatewayId} -> transitGatewayId) (\s@GetEnvironmentResponse' {} a -> s {transitGatewayId = a} :: GetEnvironmentResponse)++-- | The response's http status code.+getEnvironmentResponse_httpStatus :: Lens.Lens' GetEnvironmentResponse Prelude.Int+getEnvironmentResponse_httpStatus = Lens.lens (\GetEnvironmentResponse' {httpStatus} -> httpStatus) (\s@GetEnvironmentResponse' {} a -> s {httpStatus = a} :: GetEnvironmentResponse)++instance Prelude.NFData GetEnvironmentResponse where+  rnf GetEnvironmentResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf networkFabricType+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf transitGatewayId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/GetResourcePolicy.hs view
@@ -0,0 +1,166 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.MigrationHubReFactorSpaces.GetResourcePolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the resource-based permission policy that is set for the given+-- environment.+module Amazonka.MigrationHubReFactorSpaces.GetResourcePolicy+  ( -- * Creating a Request+    GetResourcePolicy (..),+    newGetResourcePolicy,++    -- * Request Lenses+    getResourcePolicy_identifier,++    -- * Destructuring the Response+    GetResourcePolicyResponse (..),+    newGetResourcePolicyResponse,++    -- * Response Lenses+    getResourcePolicyResponse_policy,+    getResourcePolicyResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetResourcePolicy' smart constructor.+data GetResourcePolicy = GetResourcePolicy'+  { -- | The Amazon Resource Name (ARN) of the resource associated with the+    -- policy.+    identifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetResourcePolicy' with all optional fields 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:+--+-- 'identifier', 'getResourcePolicy_identifier' - The Amazon Resource Name (ARN) of the resource associated with the+-- policy.+newGetResourcePolicy ::+  -- | 'identifier'+  Prelude.Text ->+  GetResourcePolicy+newGetResourcePolicy pIdentifier_ =+  GetResourcePolicy' {identifier = pIdentifier_}++-- | The Amazon Resource Name (ARN) of the resource associated with the+-- policy.+getResourcePolicy_identifier :: Lens.Lens' GetResourcePolicy Prelude.Text+getResourcePolicy_identifier = Lens.lens (\GetResourcePolicy' {identifier} -> identifier) (\s@GetResourcePolicy' {} a -> s {identifier = a} :: GetResourcePolicy)++instance Core.AWSRequest GetResourcePolicy where+  type+    AWSResponse GetResourcePolicy =+      GetResourcePolicyResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetResourcePolicyResponse'+            Prelude.<$> (x Data..?> "Policy")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetResourcePolicy where+  hashWithSalt _salt GetResourcePolicy' {..} =+    _salt `Prelude.hashWithSalt` identifier++instance Prelude.NFData GetResourcePolicy where+  rnf GetResourcePolicy' {..} = Prelude.rnf identifier++instance Data.ToHeaders GetResourcePolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetResourcePolicy where+  toPath GetResourcePolicy' {..} =+    Prelude.mconcat+      ["/resourcepolicy/", Data.toBS identifier]++instance Data.ToQuery GetResourcePolicy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResourcePolicyResponse' smart constructor.+data GetResourcePolicyResponse = GetResourcePolicyResponse'+  { -- | A JSON-formatted string for an Amazon Web Services resource-based+    -- policy.+    policy :: 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 'GetResourcePolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'getResourcePolicyResponse_policy' - A JSON-formatted string for an Amazon Web Services resource-based+-- policy.+--+-- 'httpStatus', 'getResourcePolicyResponse_httpStatus' - The response's http status code.+newGetResourcePolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetResourcePolicyResponse+newGetResourcePolicyResponse pHttpStatus_ =+  GetResourcePolicyResponse'+    { policy =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A JSON-formatted string for an Amazon Web Services resource-based+-- policy.+getResourcePolicyResponse_policy :: Lens.Lens' GetResourcePolicyResponse (Prelude.Maybe Prelude.Text)+getResourcePolicyResponse_policy = Lens.lens (\GetResourcePolicyResponse' {policy} -> policy) (\s@GetResourcePolicyResponse' {} a -> s {policy = a} :: GetResourcePolicyResponse)++-- | The response's http status code.+getResourcePolicyResponse_httpStatus :: Lens.Lens' GetResourcePolicyResponse Prelude.Int+getResourcePolicyResponse_httpStatus = Lens.lens (\GetResourcePolicyResponse' {httpStatus} -> httpStatus) (\s@GetResourcePolicyResponse' {} a -> s {httpStatus = a} :: GetResourcePolicyResponse)++instance Prelude.NFData GetResourcePolicyResponse where+  rnf GetResourcePolicyResponse' {..} =+    Prelude.rnf policy+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/GetRoute.hs view
@@ -0,0 +1,429 @@+{-# 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.MigrationHubReFactorSpaces.GetRoute+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets an Amazon Web Services Migration Hub Refactor Spaces route.+module Amazonka.MigrationHubReFactorSpaces.GetRoute+  ( -- * Creating a Request+    GetRoute (..),+    newGetRoute,++    -- * Request Lenses+    getRoute_applicationIdentifier,+    getRoute_environmentIdentifier,+    getRoute_routeIdentifier,++    -- * Destructuring the Response+    GetRouteResponse (..),+    newGetRouteResponse,++    -- * Response Lenses+    getRouteResponse_applicationId,+    getRouteResponse_arn,+    getRouteResponse_createdByAccountId,+    getRouteResponse_createdTime,+    getRouteResponse_environmentId,+    getRouteResponse_error,+    getRouteResponse_includeChildPaths,+    getRouteResponse_lastUpdatedTime,+    getRouteResponse_methods,+    getRouteResponse_ownerAccountId,+    getRouteResponse_pathResourceToId,+    getRouteResponse_routeId,+    getRouteResponse_routeType,+    getRouteResponse_serviceId,+    getRouteResponse_sourcePath,+    getRouteResponse_state,+    getRouteResponse_tags,+    getRouteResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetRoute' smart constructor.+data GetRoute = GetRoute'+  { -- | The ID of the application.+    applicationIdentifier :: Prelude.Text,+    -- | The ID of the environment.+    environmentIdentifier :: Prelude.Text,+    -- | The ID of the route.+    routeIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRoute' with all optional fields 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:+--+-- 'applicationIdentifier', 'getRoute_applicationIdentifier' - The ID of the application.+--+-- 'environmentIdentifier', 'getRoute_environmentIdentifier' - The ID of the environment.+--+-- 'routeIdentifier', 'getRoute_routeIdentifier' - The ID of the route.+newGetRoute ::+  -- | 'applicationIdentifier'+  Prelude.Text ->+  -- | 'environmentIdentifier'+  Prelude.Text ->+  -- | 'routeIdentifier'+  Prelude.Text ->+  GetRoute+newGetRoute+  pApplicationIdentifier_+  pEnvironmentIdentifier_+  pRouteIdentifier_ =+    GetRoute'+      { applicationIdentifier =+          pApplicationIdentifier_,+        environmentIdentifier = pEnvironmentIdentifier_,+        routeIdentifier = pRouteIdentifier_+      }++-- | The ID of the application.+getRoute_applicationIdentifier :: Lens.Lens' GetRoute Prelude.Text+getRoute_applicationIdentifier = Lens.lens (\GetRoute' {applicationIdentifier} -> applicationIdentifier) (\s@GetRoute' {} a -> s {applicationIdentifier = a} :: GetRoute)++-- | The ID of the environment.+getRoute_environmentIdentifier :: Lens.Lens' GetRoute Prelude.Text+getRoute_environmentIdentifier = Lens.lens (\GetRoute' {environmentIdentifier} -> environmentIdentifier) (\s@GetRoute' {} a -> s {environmentIdentifier = a} :: GetRoute)++-- | The ID of the route.+getRoute_routeIdentifier :: Lens.Lens' GetRoute Prelude.Text+getRoute_routeIdentifier = Lens.lens (\GetRoute' {routeIdentifier} -> routeIdentifier) (\s@GetRoute' {} a -> s {routeIdentifier = a} :: GetRoute)++instance Core.AWSRequest GetRoute where+  type AWSResponse GetRoute = GetRouteResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetRouteResponse'+            Prelude.<$> (x Data..?> "ApplicationId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreatedByAccountId")+            Prelude.<*> (x Data..?> "CreatedTime")+            Prelude.<*> (x Data..?> "EnvironmentId")+            Prelude.<*> (x Data..?> "Error")+            Prelude.<*> (x Data..?> "IncludeChildPaths")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "Methods" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "OwnerAccountId")+            Prelude.<*> ( x+                            Data..?> "PathResourceToId"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "RouteId")+            Prelude.<*> (x Data..?> "RouteType")+            Prelude.<*> (x Data..?> "ServiceId")+            Prelude.<*> (x Data..?> "SourcePath")+            Prelude.<*> (x Data..?> "State")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetRoute where+  hashWithSalt _salt GetRoute' {..} =+    _salt+      `Prelude.hashWithSalt` applicationIdentifier+      `Prelude.hashWithSalt` environmentIdentifier+      `Prelude.hashWithSalt` routeIdentifier++instance Prelude.NFData GetRoute where+  rnf GetRoute' {..} =+    Prelude.rnf applicationIdentifier+      `Prelude.seq` Prelude.rnf environmentIdentifier+      `Prelude.seq` Prelude.rnf routeIdentifier++instance Data.ToHeaders GetRoute where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetRoute where+  toPath GetRoute' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/applications/",+        Data.toBS applicationIdentifier,+        "/routes/",+        Data.toBS routeIdentifier+      ]++instance Data.ToQuery GetRoute where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRouteResponse' smart constructor.+data GetRouteResponse = GetRouteResponse'+  { -- | The ID of the application that the route belongs to.+    applicationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the route.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the route creator.+    createdByAccountId :: Prelude.Maybe Prelude.Text,+    -- | The timestamp of when the route is created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | Unique identifier of the environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | Any error associated with the route resource.+    error :: Prelude.Maybe ErrorResponse,+    -- | Indicates whether to match all subpaths of the given source path. If+    -- this value is @false@, requests must match the source path exactly+    -- before they are forwarded to this route\'s service.+    includeChildPaths :: Prelude.Maybe Prelude.Bool,+    -- | A timestamp that indicates when the route was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | A list of HTTP methods to match. An empty list matches all values. If a+    -- method is present, only HTTP requests using that method are forwarded to+    -- this route’s service.+    methods :: Prelude.Maybe [HttpMethod],+    -- | The Amazon Web Services account ID of the route owner.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | A mapping of Amazon API Gateway path resources to resource IDs.+    pathResourceToId :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The unique identifier of the route.+    --+    -- __DEFAULT__: All traffic that does not match another route is forwarded+    -- to the default route. Applications must have a default route before any+    -- other routes can be created.+    --+    -- __URI_PATH__: A route that is based on a URI path.+    routeId :: Prelude.Maybe Prelude.Text,+    -- | The type of route.+    routeType :: Prelude.Maybe RouteType,+    -- | The unique identifier of the service.+    serviceId :: Prelude.Maybe Prelude.Text,+    -- | The path to use to match traffic. Paths must start with @\/@ and are+    -- relative to the base of the application.+    sourcePath :: Prelude.Maybe Prelude.Text,+    -- | The current state of the route.+    state :: Prelude.Maybe RouteState,+    -- | The tags assigned to the route. A tag is a label that you assign to an+    -- Amazon Web Services resource. Each tag consists of a key-value pair.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRouteResponse' with all optional fields 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:+--+-- 'applicationId', 'getRouteResponse_applicationId' - The ID of the application that the route belongs to.+--+-- 'arn', 'getRouteResponse_arn' - The Amazon Resource Name (ARN) of the route.+--+-- 'createdByAccountId', 'getRouteResponse_createdByAccountId' - The Amazon Web Services account ID of the route creator.+--+-- 'createdTime', 'getRouteResponse_createdTime' - The timestamp of when the route is created.+--+-- 'environmentId', 'getRouteResponse_environmentId' - Unique identifier of the environment.+--+-- 'error', 'getRouteResponse_error' - Any error associated with the route resource.+--+-- 'includeChildPaths', 'getRouteResponse_includeChildPaths' - Indicates whether to match all subpaths of the given source path. If+-- this value is @false@, requests must match the source path exactly+-- before they are forwarded to this route\'s service.+--+-- 'lastUpdatedTime', 'getRouteResponse_lastUpdatedTime' - A timestamp that indicates when the route was last updated.+--+-- 'methods', 'getRouteResponse_methods' - A list of HTTP methods to match. An empty list matches all values. If a+-- method is present, only HTTP requests using that method are forwarded to+-- this route’s service.+--+-- 'ownerAccountId', 'getRouteResponse_ownerAccountId' - The Amazon Web Services account ID of the route owner.+--+-- 'pathResourceToId', 'getRouteResponse_pathResourceToId' - A mapping of Amazon API Gateway path resources to resource IDs.+--+-- 'routeId', 'getRouteResponse_routeId' - The unique identifier of the route.+--+-- __DEFAULT__: All traffic that does not match another route is forwarded+-- to the default route. Applications must have a default route before any+-- other routes can be created.+--+-- __URI_PATH__: A route that is based on a URI path.+--+-- 'routeType', 'getRouteResponse_routeType' - The type of route.+--+-- 'serviceId', 'getRouteResponse_serviceId' - The unique identifier of the service.+--+-- 'sourcePath', 'getRouteResponse_sourcePath' - The path to use to match traffic. Paths must start with @\/@ and are+-- relative to the base of the application.+--+-- 'state', 'getRouteResponse_state' - The current state of the route.+--+-- 'tags', 'getRouteResponse_tags' - The tags assigned to the route. A tag is a label that you assign to an+-- Amazon Web Services resource. Each tag consists of a key-value pair.+--+-- 'httpStatus', 'getRouteResponse_httpStatus' - The response's http status code.+newGetRouteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetRouteResponse+newGetRouteResponse pHttpStatus_ =+  GetRouteResponse'+    { applicationId = Prelude.Nothing,+      arn = Prelude.Nothing,+      createdByAccountId = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      error = Prelude.Nothing,+      includeChildPaths = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      methods = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      pathResourceToId = Prelude.Nothing,+      routeId = Prelude.Nothing,+      routeType = Prelude.Nothing,+      serviceId = Prelude.Nothing,+      sourcePath = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the application that the route belongs to.+getRouteResponse_applicationId :: Lens.Lens' GetRouteResponse (Prelude.Maybe Prelude.Text)+getRouteResponse_applicationId = Lens.lens (\GetRouteResponse' {applicationId} -> applicationId) (\s@GetRouteResponse' {} a -> s {applicationId = a} :: GetRouteResponse)++-- | The Amazon Resource Name (ARN) of the route.+getRouteResponse_arn :: Lens.Lens' GetRouteResponse (Prelude.Maybe Prelude.Text)+getRouteResponse_arn = Lens.lens (\GetRouteResponse' {arn} -> arn) (\s@GetRouteResponse' {} a -> s {arn = a} :: GetRouteResponse)++-- | The Amazon Web Services account ID of the route creator.+getRouteResponse_createdByAccountId :: Lens.Lens' GetRouteResponse (Prelude.Maybe Prelude.Text)+getRouteResponse_createdByAccountId = Lens.lens (\GetRouteResponse' {createdByAccountId} -> createdByAccountId) (\s@GetRouteResponse' {} a -> s {createdByAccountId = a} :: GetRouteResponse)++-- | The timestamp of when the route is created.+getRouteResponse_createdTime :: Lens.Lens' GetRouteResponse (Prelude.Maybe Prelude.UTCTime)+getRouteResponse_createdTime = Lens.lens (\GetRouteResponse' {createdTime} -> createdTime) (\s@GetRouteResponse' {} a -> s {createdTime = a} :: GetRouteResponse) Prelude.. Lens.mapping Data._Time++-- | Unique identifier of the environment.+getRouteResponse_environmentId :: Lens.Lens' GetRouteResponse (Prelude.Maybe Prelude.Text)+getRouteResponse_environmentId = Lens.lens (\GetRouteResponse' {environmentId} -> environmentId) (\s@GetRouteResponse' {} a -> s {environmentId = a} :: GetRouteResponse)++-- | Any error associated with the route resource.+getRouteResponse_error :: Lens.Lens' GetRouteResponse (Prelude.Maybe ErrorResponse)+getRouteResponse_error = Lens.lens (\GetRouteResponse' {error} -> error) (\s@GetRouteResponse' {} a -> s {error = a} :: GetRouteResponse)++-- | Indicates whether to match all subpaths of the given source path. If+-- this value is @false@, requests must match the source path exactly+-- before they are forwarded to this route\'s service.+getRouteResponse_includeChildPaths :: Lens.Lens' GetRouteResponse (Prelude.Maybe Prelude.Bool)+getRouteResponse_includeChildPaths = Lens.lens (\GetRouteResponse' {includeChildPaths} -> includeChildPaths) (\s@GetRouteResponse' {} a -> s {includeChildPaths = a} :: GetRouteResponse)++-- | A timestamp that indicates when the route was last updated.+getRouteResponse_lastUpdatedTime :: Lens.Lens' GetRouteResponse (Prelude.Maybe Prelude.UTCTime)+getRouteResponse_lastUpdatedTime = Lens.lens (\GetRouteResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@GetRouteResponse' {} a -> s {lastUpdatedTime = a} :: GetRouteResponse) Prelude.. Lens.mapping Data._Time++-- | A list of HTTP methods to match. An empty list matches all values. If a+-- method is present, only HTTP requests using that method are forwarded to+-- this route’s service.+getRouteResponse_methods :: Lens.Lens' GetRouteResponse (Prelude.Maybe [HttpMethod])+getRouteResponse_methods = Lens.lens (\GetRouteResponse' {methods} -> methods) (\s@GetRouteResponse' {} a -> s {methods = a} :: GetRouteResponse) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services account ID of the route owner.+getRouteResponse_ownerAccountId :: Lens.Lens' GetRouteResponse (Prelude.Maybe Prelude.Text)+getRouteResponse_ownerAccountId = Lens.lens (\GetRouteResponse' {ownerAccountId} -> ownerAccountId) (\s@GetRouteResponse' {} a -> s {ownerAccountId = a} :: GetRouteResponse)++-- | A mapping of Amazon API Gateway path resources to resource IDs.+getRouteResponse_pathResourceToId :: Lens.Lens' GetRouteResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getRouteResponse_pathResourceToId = Lens.lens (\GetRouteResponse' {pathResourceToId} -> pathResourceToId) (\s@GetRouteResponse' {} a -> s {pathResourceToId = a} :: GetRouteResponse) Prelude.. Lens.mapping Lens.coerced++-- | The unique identifier of the route.+--+-- __DEFAULT__: All traffic that does not match another route is forwarded+-- to the default route. Applications must have a default route before any+-- other routes can be created.+--+-- __URI_PATH__: A route that is based on a URI path.+getRouteResponse_routeId :: Lens.Lens' GetRouteResponse (Prelude.Maybe Prelude.Text)+getRouteResponse_routeId = Lens.lens (\GetRouteResponse' {routeId} -> routeId) (\s@GetRouteResponse' {} a -> s {routeId = a} :: GetRouteResponse)++-- | The type of route.+getRouteResponse_routeType :: Lens.Lens' GetRouteResponse (Prelude.Maybe RouteType)+getRouteResponse_routeType = Lens.lens (\GetRouteResponse' {routeType} -> routeType) (\s@GetRouteResponse' {} a -> s {routeType = a} :: GetRouteResponse)++-- | The unique identifier of the service.+getRouteResponse_serviceId :: Lens.Lens' GetRouteResponse (Prelude.Maybe Prelude.Text)+getRouteResponse_serviceId = Lens.lens (\GetRouteResponse' {serviceId} -> serviceId) (\s@GetRouteResponse' {} a -> s {serviceId = a} :: GetRouteResponse)++-- | The path to use to match traffic. Paths must start with @\/@ and are+-- relative to the base of the application.+getRouteResponse_sourcePath :: Lens.Lens' GetRouteResponse (Prelude.Maybe Prelude.Text)+getRouteResponse_sourcePath = Lens.lens (\GetRouteResponse' {sourcePath} -> sourcePath) (\s@GetRouteResponse' {} a -> s {sourcePath = a} :: GetRouteResponse)++-- | The current state of the route.+getRouteResponse_state :: Lens.Lens' GetRouteResponse (Prelude.Maybe RouteState)+getRouteResponse_state = Lens.lens (\GetRouteResponse' {state} -> state) (\s@GetRouteResponse' {} a -> s {state = a} :: GetRouteResponse)++-- | The tags assigned to the route. A tag is a label that you assign to an+-- Amazon Web Services resource. Each tag consists of a key-value pair.+getRouteResponse_tags :: Lens.Lens' GetRouteResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getRouteResponse_tags = Lens.lens (\GetRouteResponse' {tags} -> tags) (\s@GetRouteResponse' {} a -> s {tags = a} :: GetRouteResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The response's http status code.+getRouteResponse_httpStatus :: Lens.Lens' GetRouteResponse Prelude.Int+getRouteResponse_httpStatus = Lens.lens (\GetRouteResponse' {httpStatus} -> httpStatus) (\s@GetRouteResponse' {} a -> s {httpStatus = a} :: GetRouteResponse)++instance Prelude.NFData GetRouteResponse where+  rnf GetRouteResponse' {..} =+    Prelude.rnf applicationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdByAccountId+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf includeChildPaths+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf methods+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf pathResourceToId+      `Prelude.seq` Prelude.rnf routeId+      `Prelude.seq` Prelude.rnf routeType+      `Prelude.seq` Prelude.rnf serviceId+      `Prelude.seq` Prelude.rnf sourcePath+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/GetService.hs view
@@ -0,0 +1,415 @@+{-# 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.MigrationHubReFactorSpaces.GetService+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets an Amazon Web Services Migration Hub Refactor Spaces service.+module Amazonka.MigrationHubReFactorSpaces.GetService+  ( -- * Creating a Request+    GetService (..),+    newGetService,++    -- * Request Lenses+    getService_applicationIdentifier,+    getService_environmentIdentifier,+    getService_serviceIdentifier,++    -- * Destructuring the Response+    GetServiceResponse (..),+    newGetServiceResponse,++    -- * Response Lenses+    getServiceResponse_applicationId,+    getServiceResponse_arn,+    getServiceResponse_createdByAccountId,+    getServiceResponse_createdTime,+    getServiceResponse_description,+    getServiceResponse_endpointType,+    getServiceResponse_environmentId,+    getServiceResponse_error,+    getServiceResponse_lambdaEndpoint,+    getServiceResponse_lastUpdatedTime,+    getServiceResponse_name,+    getServiceResponse_ownerAccountId,+    getServiceResponse_serviceId,+    getServiceResponse_state,+    getServiceResponse_tags,+    getServiceResponse_urlEndpoint,+    getServiceResponse_vpcId,+    getServiceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetService' smart constructor.+data GetService = GetService'+  { -- | The ID of the application.+    applicationIdentifier :: Prelude.Text,+    -- | The ID of the environment.+    environmentIdentifier :: Prelude.Text,+    -- | The ID of the service.+    serviceIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetService' with all optional fields 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:+--+-- 'applicationIdentifier', 'getService_applicationIdentifier' - The ID of the application.+--+-- 'environmentIdentifier', 'getService_environmentIdentifier' - The ID of the environment.+--+-- 'serviceIdentifier', 'getService_serviceIdentifier' - The ID of the service.+newGetService ::+  -- | 'applicationIdentifier'+  Prelude.Text ->+  -- | 'environmentIdentifier'+  Prelude.Text ->+  -- | 'serviceIdentifier'+  Prelude.Text ->+  GetService+newGetService+  pApplicationIdentifier_+  pEnvironmentIdentifier_+  pServiceIdentifier_ =+    GetService'+      { applicationIdentifier =+          pApplicationIdentifier_,+        environmentIdentifier = pEnvironmentIdentifier_,+        serviceIdentifier = pServiceIdentifier_+      }++-- | The ID of the application.+getService_applicationIdentifier :: Lens.Lens' GetService Prelude.Text+getService_applicationIdentifier = Lens.lens (\GetService' {applicationIdentifier} -> applicationIdentifier) (\s@GetService' {} a -> s {applicationIdentifier = a} :: GetService)++-- | The ID of the environment.+getService_environmentIdentifier :: Lens.Lens' GetService Prelude.Text+getService_environmentIdentifier = Lens.lens (\GetService' {environmentIdentifier} -> environmentIdentifier) (\s@GetService' {} a -> s {environmentIdentifier = a} :: GetService)++-- | The ID of the service.+getService_serviceIdentifier :: Lens.Lens' GetService Prelude.Text+getService_serviceIdentifier = Lens.lens (\GetService' {serviceIdentifier} -> serviceIdentifier) (\s@GetService' {} a -> s {serviceIdentifier = a} :: GetService)++instance Core.AWSRequest GetService where+  type AWSResponse GetService = GetServiceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetServiceResponse'+            Prelude.<$> (x Data..?> "ApplicationId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreatedByAccountId")+            Prelude.<*> (x Data..?> "CreatedTime")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "EndpointType")+            Prelude.<*> (x Data..?> "EnvironmentId")+            Prelude.<*> (x Data..?> "Error")+            Prelude.<*> (x Data..?> "LambdaEndpoint")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "OwnerAccountId")+            Prelude.<*> (x Data..?> "ServiceId")+            Prelude.<*> (x Data..?> "State")+            Prelude.<*> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "UrlEndpoint")+            Prelude.<*> (x Data..?> "VpcId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetService where+  hashWithSalt _salt GetService' {..} =+    _salt+      `Prelude.hashWithSalt` applicationIdentifier+      `Prelude.hashWithSalt` environmentIdentifier+      `Prelude.hashWithSalt` serviceIdentifier++instance Prelude.NFData GetService where+  rnf GetService' {..} =+    Prelude.rnf applicationIdentifier+      `Prelude.seq` Prelude.rnf environmentIdentifier+      `Prelude.seq` Prelude.rnf serviceIdentifier++instance Data.ToHeaders GetService where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetService where+  toPath GetService' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/applications/",+        Data.toBS applicationIdentifier,+        "/services/",+        Data.toBS serviceIdentifier+      ]++instance Data.ToQuery GetService where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetServiceResponse' smart constructor.+data GetServiceResponse = GetServiceResponse'+  { -- | The ID of the application.+    applicationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the service.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the service creator.+    createdByAccountId :: Prelude.Maybe Prelude.Text,+    -- | The timestamp of when the service is created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the service.+    description :: Prelude.Maybe Prelude.Text,+    -- | The endpoint type of the service.+    endpointType :: Prelude.Maybe ServiceEndpointType,+    -- | The unique identifier of the environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | Any error associated with the service resource.+    error :: Prelude.Maybe ErrorResponse,+    -- | The configuration for the Lambda endpoint type.+    --+    -- The __Arn__ is the Amazon Resource Name (ARN) of the Lambda function+    -- associated with this service.+    lambdaEndpoint :: Prelude.Maybe LambdaEndpointConfig,+    -- | A timestamp that indicates when the service was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the service.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the service owner.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier of the service.+    serviceId :: Prelude.Maybe Prelude.Text,+    -- | The current state of the service.+    state :: Prelude.Maybe ServiceState,+    -- | The tags assigned to the service. A tag is a label that you assign to an+    -- Amazon Web Services resource. Each tag consists of a key-value pair.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The configuration for the URL endpoint type.+    --+    -- The __Url__ isthe URL of the endpoint type.+    --+    -- The __HealthUrl__ is the health check URL of the endpoint type.+    urlEndpoint :: Prelude.Maybe UrlEndpointConfig,+    -- | The ID of the virtual private cloud (VPC).+    vpcId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetServiceResponse' with all optional fields 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:+--+-- 'applicationId', 'getServiceResponse_applicationId' - The ID of the application.+--+-- 'arn', 'getServiceResponse_arn' - The Amazon Resource Name (ARN) of the service.+--+-- 'createdByAccountId', 'getServiceResponse_createdByAccountId' - The Amazon Web Services account ID of the service creator.+--+-- 'createdTime', 'getServiceResponse_createdTime' - The timestamp of when the service is created.+--+-- 'description', 'getServiceResponse_description' - The description of the service.+--+-- 'endpointType', 'getServiceResponse_endpointType' - The endpoint type of the service.+--+-- 'environmentId', 'getServiceResponse_environmentId' - The unique identifier of the environment.+--+-- 'error', 'getServiceResponse_error' - Any error associated with the service resource.+--+-- 'lambdaEndpoint', 'getServiceResponse_lambdaEndpoint' - The configuration for the Lambda endpoint type.+--+-- The __Arn__ is the Amazon Resource Name (ARN) of the Lambda function+-- associated with this service.+--+-- 'lastUpdatedTime', 'getServiceResponse_lastUpdatedTime' - A timestamp that indicates when the service was last updated.+--+-- 'name', 'getServiceResponse_name' - The name of the service.+--+-- 'ownerAccountId', 'getServiceResponse_ownerAccountId' - The Amazon Web Services account ID of the service owner.+--+-- 'serviceId', 'getServiceResponse_serviceId' - The unique identifier of the service.+--+-- 'state', 'getServiceResponse_state' - The current state of the service.+--+-- 'tags', 'getServiceResponse_tags' - The tags assigned to the service. A tag is a label that you assign to an+-- Amazon Web Services resource. Each tag consists of a key-value pair.+--+-- 'urlEndpoint', 'getServiceResponse_urlEndpoint' - The configuration for the URL endpoint type.+--+-- The __Url__ isthe URL of the endpoint type.+--+-- The __HealthUrl__ is the health check URL of the endpoint type.+--+-- 'vpcId', 'getServiceResponse_vpcId' - The ID of the virtual private cloud (VPC).+--+-- 'httpStatus', 'getServiceResponse_httpStatus' - The response's http status code.+newGetServiceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetServiceResponse+newGetServiceResponse pHttpStatus_ =+  GetServiceResponse'+    { applicationId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      createdByAccountId = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      description = Prelude.Nothing,+      endpointType = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      error = Prelude.Nothing,+      lambdaEndpoint = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      serviceId = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      urlEndpoint = Prelude.Nothing,+      vpcId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the application.+getServiceResponse_applicationId :: Lens.Lens' GetServiceResponse (Prelude.Maybe Prelude.Text)+getServiceResponse_applicationId = Lens.lens (\GetServiceResponse' {applicationId} -> applicationId) (\s@GetServiceResponse' {} a -> s {applicationId = a} :: GetServiceResponse)++-- | The Amazon Resource Name (ARN) of the service.+getServiceResponse_arn :: Lens.Lens' GetServiceResponse (Prelude.Maybe Prelude.Text)+getServiceResponse_arn = Lens.lens (\GetServiceResponse' {arn} -> arn) (\s@GetServiceResponse' {} a -> s {arn = a} :: GetServiceResponse)++-- | The Amazon Web Services account ID of the service creator.+getServiceResponse_createdByAccountId :: Lens.Lens' GetServiceResponse (Prelude.Maybe Prelude.Text)+getServiceResponse_createdByAccountId = Lens.lens (\GetServiceResponse' {createdByAccountId} -> createdByAccountId) (\s@GetServiceResponse' {} a -> s {createdByAccountId = a} :: GetServiceResponse)++-- | The timestamp of when the service is created.+getServiceResponse_createdTime :: Lens.Lens' GetServiceResponse (Prelude.Maybe Prelude.UTCTime)+getServiceResponse_createdTime = Lens.lens (\GetServiceResponse' {createdTime} -> createdTime) (\s@GetServiceResponse' {} a -> s {createdTime = a} :: GetServiceResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the service.+getServiceResponse_description :: Lens.Lens' GetServiceResponse (Prelude.Maybe Prelude.Text)+getServiceResponse_description = Lens.lens (\GetServiceResponse' {description} -> description) (\s@GetServiceResponse' {} a -> s {description = a} :: GetServiceResponse)++-- | The endpoint type of the service.+getServiceResponse_endpointType :: Lens.Lens' GetServiceResponse (Prelude.Maybe ServiceEndpointType)+getServiceResponse_endpointType = Lens.lens (\GetServiceResponse' {endpointType} -> endpointType) (\s@GetServiceResponse' {} a -> s {endpointType = a} :: GetServiceResponse)++-- | The unique identifier of the environment.+getServiceResponse_environmentId :: Lens.Lens' GetServiceResponse (Prelude.Maybe Prelude.Text)+getServiceResponse_environmentId = Lens.lens (\GetServiceResponse' {environmentId} -> environmentId) (\s@GetServiceResponse' {} a -> s {environmentId = a} :: GetServiceResponse)++-- | Any error associated with the service resource.+getServiceResponse_error :: Lens.Lens' GetServiceResponse (Prelude.Maybe ErrorResponse)+getServiceResponse_error = Lens.lens (\GetServiceResponse' {error} -> error) (\s@GetServiceResponse' {} a -> s {error = a} :: GetServiceResponse)++-- | The configuration for the Lambda endpoint type.+--+-- The __Arn__ is the Amazon Resource Name (ARN) of the Lambda function+-- associated with this service.+getServiceResponse_lambdaEndpoint :: Lens.Lens' GetServiceResponse (Prelude.Maybe LambdaEndpointConfig)+getServiceResponse_lambdaEndpoint = Lens.lens (\GetServiceResponse' {lambdaEndpoint} -> lambdaEndpoint) (\s@GetServiceResponse' {} a -> s {lambdaEndpoint = a} :: GetServiceResponse)++-- | A timestamp that indicates when the service was last updated.+getServiceResponse_lastUpdatedTime :: Lens.Lens' GetServiceResponse (Prelude.Maybe Prelude.UTCTime)+getServiceResponse_lastUpdatedTime = Lens.lens (\GetServiceResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@GetServiceResponse' {} a -> s {lastUpdatedTime = a} :: GetServiceResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the service.+getServiceResponse_name :: Lens.Lens' GetServiceResponse (Prelude.Maybe Prelude.Text)+getServiceResponse_name = Lens.lens (\GetServiceResponse' {name} -> name) (\s@GetServiceResponse' {} a -> s {name = a} :: GetServiceResponse)++-- | The Amazon Web Services account ID of the service owner.+getServiceResponse_ownerAccountId :: Lens.Lens' GetServiceResponse (Prelude.Maybe Prelude.Text)+getServiceResponse_ownerAccountId = Lens.lens (\GetServiceResponse' {ownerAccountId} -> ownerAccountId) (\s@GetServiceResponse' {} a -> s {ownerAccountId = a} :: GetServiceResponse)++-- | The unique identifier of the service.+getServiceResponse_serviceId :: Lens.Lens' GetServiceResponse (Prelude.Maybe Prelude.Text)+getServiceResponse_serviceId = Lens.lens (\GetServiceResponse' {serviceId} -> serviceId) (\s@GetServiceResponse' {} a -> s {serviceId = a} :: GetServiceResponse)++-- | The current state of the service.+getServiceResponse_state :: Lens.Lens' GetServiceResponse (Prelude.Maybe ServiceState)+getServiceResponse_state = Lens.lens (\GetServiceResponse' {state} -> state) (\s@GetServiceResponse' {} a -> s {state = a} :: GetServiceResponse)++-- | The tags assigned to the service. A tag is a label that you assign to an+-- Amazon Web Services resource. Each tag consists of a key-value pair.+getServiceResponse_tags :: Lens.Lens' GetServiceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getServiceResponse_tags = Lens.lens (\GetServiceResponse' {tags} -> tags) (\s@GetServiceResponse' {} a -> s {tags = a} :: GetServiceResponse) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The configuration for the URL endpoint type.+--+-- The __Url__ isthe URL of the endpoint type.+--+-- The __HealthUrl__ is the health check URL of the endpoint type.+getServiceResponse_urlEndpoint :: Lens.Lens' GetServiceResponse (Prelude.Maybe UrlEndpointConfig)+getServiceResponse_urlEndpoint = Lens.lens (\GetServiceResponse' {urlEndpoint} -> urlEndpoint) (\s@GetServiceResponse' {} a -> s {urlEndpoint = a} :: GetServiceResponse)++-- | The ID of the virtual private cloud (VPC).+getServiceResponse_vpcId :: Lens.Lens' GetServiceResponse (Prelude.Maybe Prelude.Text)+getServiceResponse_vpcId = Lens.lens (\GetServiceResponse' {vpcId} -> vpcId) (\s@GetServiceResponse' {} a -> s {vpcId = a} :: GetServiceResponse)++-- | The response's http status code.+getServiceResponse_httpStatus :: Lens.Lens' GetServiceResponse Prelude.Int+getServiceResponse_httpStatus = Lens.lens (\GetServiceResponse' {httpStatus} -> httpStatus) (\s@GetServiceResponse' {} a -> s {httpStatus = a} :: GetServiceResponse)++instance Prelude.NFData GetServiceResponse where+  rnf GetServiceResponse' {..} =+    Prelude.rnf applicationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdByAccountId+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf endpointType+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf lambdaEndpoint+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf serviceId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf urlEndpoint+      `Prelude.seq` Prelude.rnf vpcId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/Lens.hs view
@@ -0,0 +1,500 @@+{-# 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.MigrationHubReFactorSpaces.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.MigrationHubReFactorSpaces.Lens+  ( -- * Operations++    -- ** CreateApplication+    createApplication_apiGatewayProxy,+    createApplication_clientToken,+    createApplication_tags,+    createApplication_environmentIdentifier,+    createApplication_name,+    createApplication_proxyType,+    createApplication_vpcId,+    createApplicationResponse_apiGatewayProxy,+    createApplicationResponse_applicationId,+    createApplicationResponse_arn,+    createApplicationResponse_createdByAccountId,+    createApplicationResponse_createdTime,+    createApplicationResponse_environmentId,+    createApplicationResponse_lastUpdatedTime,+    createApplicationResponse_name,+    createApplicationResponse_ownerAccountId,+    createApplicationResponse_proxyType,+    createApplicationResponse_state,+    createApplicationResponse_tags,+    createApplicationResponse_vpcId,+    createApplicationResponse_httpStatus,++    -- ** CreateEnvironment+    createEnvironment_clientToken,+    createEnvironment_description,+    createEnvironment_tags,+    createEnvironment_name,+    createEnvironment_networkFabricType,+    createEnvironmentResponse_arn,+    createEnvironmentResponse_createdTime,+    createEnvironmentResponse_description,+    createEnvironmentResponse_environmentId,+    createEnvironmentResponse_lastUpdatedTime,+    createEnvironmentResponse_name,+    createEnvironmentResponse_networkFabricType,+    createEnvironmentResponse_ownerAccountId,+    createEnvironmentResponse_state,+    createEnvironmentResponse_tags,+    createEnvironmentResponse_httpStatus,++    -- ** CreateRoute+    createRoute_clientToken,+    createRoute_defaultRoute,+    createRoute_tags,+    createRoute_uriPathRoute,+    createRoute_applicationIdentifier,+    createRoute_environmentIdentifier,+    createRoute_routeType,+    createRoute_serviceIdentifier,+    createRouteResponse_applicationId,+    createRouteResponse_arn,+    createRouteResponse_createdByAccountId,+    createRouteResponse_createdTime,+    createRouteResponse_lastUpdatedTime,+    createRouteResponse_ownerAccountId,+    createRouteResponse_routeId,+    createRouteResponse_routeType,+    createRouteResponse_serviceId,+    createRouteResponse_state,+    createRouteResponse_tags,+    createRouteResponse_uriPathRoute,+    createRouteResponse_httpStatus,++    -- ** CreateService+    createService_clientToken,+    createService_description,+    createService_lambdaEndpoint,+    createService_tags,+    createService_urlEndpoint,+    createService_vpcId,+    createService_applicationIdentifier,+    createService_endpointType,+    createService_environmentIdentifier,+    createService_name,+    createServiceResponse_applicationId,+    createServiceResponse_arn,+    createServiceResponse_createdByAccountId,+    createServiceResponse_createdTime,+    createServiceResponse_description,+    createServiceResponse_endpointType,+    createServiceResponse_environmentId,+    createServiceResponse_lambdaEndpoint,+    createServiceResponse_lastUpdatedTime,+    createServiceResponse_name,+    createServiceResponse_ownerAccountId,+    createServiceResponse_serviceId,+    createServiceResponse_state,+    createServiceResponse_tags,+    createServiceResponse_urlEndpoint,+    createServiceResponse_vpcId,+    createServiceResponse_httpStatus,++    -- ** DeleteApplication+    deleteApplication_applicationIdentifier,+    deleteApplication_environmentIdentifier,+    deleteApplicationResponse_applicationId,+    deleteApplicationResponse_arn,+    deleteApplicationResponse_environmentId,+    deleteApplicationResponse_lastUpdatedTime,+    deleteApplicationResponse_name,+    deleteApplicationResponse_state,+    deleteApplicationResponse_httpStatus,++    -- ** DeleteEnvironment+    deleteEnvironment_environmentIdentifier,+    deleteEnvironmentResponse_arn,+    deleteEnvironmentResponse_environmentId,+    deleteEnvironmentResponse_lastUpdatedTime,+    deleteEnvironmentResponse_name,+    deleteEnvironmentResponse_state,+    deleteEnvironmentResponse_httpStatus,++    -- ** DeleteResourcePolicy+    deleteResourcePolicy_identifier,+    deleteResourcePolicyResponse_httpStatus,++    -- ** DeleteRoute+    deleteRoute_applicationIdentifier,+    deleteRoute_environmentIdentifier,+    deleteRoute_routeIdentifier,+    deleteRouteResponse_applicationId,+    deleteRouteResponse_arn,+    deleteRouteResponse_lastUpdatedTime,+    deleteRouteResponse_routeId,+    deleteRouteResponse_serviceId,+    deleteRouteResponse_state,+    deleteRouteResponse_httpStatus,++    -- ** DeleteService+    deleteService_applicationIdentifier,+    deleteService_environmentIdentifier,+    deleteService_serviceIdentifier,+    deleteServiceResponse_applicationId,+    deleteServiceResponse_arn,+    deleteServiceResponse_environmentId,+    deleteServiceResponse_lastUpdatedTime,+    deleteServiceResponse_name,+    deleteServiceResponse_serviceId,+    deleteServiceResponse_state,+    deleteServiceResponse_httpStatus,++    -- ** GetApplication+    getApplication_applicationIdentifier,+    getApplication_environmentIdentifier,+    getApplicationResponse_apiGatewayProxy,+    getApplicationResponse_applicationId,+    getApplicationResponse_arn,+    getApplicationResponse_createdByAccountId,+    getApplicationResponse_createdTime,+    getApplicationResponse_environmentId,+    getApplicationResponse_error,+    getApplicationResponse_lastUpdatedTime,+    getApplicationResponse_name,+    getApplicationResponse_ownerAccountId,+    getApplicationResponse_proxyType,+    getApplicationResponse_state,+    getApplicationResponse_tags,+    getApplicationResponse_vpcId,+    getApplicationResponse_httpStatus,++    -- ** GetEnvironment+    getEnvironment_environmentIdentifier,+    getEnvironmentResponse_arn,+    getEnvironmentResponse_createdTime,+    getEnvironmentResponse_description,+    getEnvironmentResponse_environmentId,+    getEnvironmentResponse_error,+    getEnvironmentResponse_lastUpdatedTime,+    getEnvironmentResponse_name,+    getEnvironmentResponse_networkFabricType,+    getEnvironmentResponse_ownerAccountId,+    getEnvironmentResponse_state,+    getEnvironmentResponse_tags,+    getEnvironmentResponse_transitGatewayId,+    getEnvironmentResponse_httpStatus,++    -- ** GetResourcePolicy+    getResourcePolicy_identifier,+    getResourcePolicyResponse_policy,+    getResourcePolicyResponse_httpStatus,++    -- ** GetRoute+    getRoute_applicationIdentifier,+    getRoute_environmentIdentifier,+    getRoute_routeIdentifier,+    getRouteResponse_applicationId,+    getRouteResponse_arn,+    getRouteResponse_createdByAccountId,+    getRouteResponse_createdTime,+    getRouteResponse_environmentId,+    getRouteResponse_error,+    getRouteResponse_includeChildPaths,+    getRouteResponse_lastUpdatedTime,+    getRouteResponse_methods,+    getRouteResponse_ownerAccountId,+    getRouteResponse_pathResourceToId,+    getRouteResponse_routeId,+    getRouteResponse_routeType,+    getRouteResponse_serviceId,+    getRouteResponse_sourcePath,+    getRouteResponse_state,+    getRouteResponse_tags,+    getRouteResponse_httpStatus,++    -- ** GetService+    getService_applicationIdentifier,+    getService_environmentIdentifier,+    getService_serviceIdentifier,+    getServiceResponse_applicationId,+    getServiceResponse_arn,+    getServiceResponse_createdByAccountId,+    getServiceResponse_createdTime,+    getServiceResponse_description,+    getServiceResponse_endpointType,+    getServiceResponse_environmentId,+    getServiceResponse_error,+    getServiceResponse_lambdaEndpoint,+    getServiceResponse_lastUpdatedTime,+    getServiceResponse_name,+    getServiceResponse_ownerAccountId,+    getServiceResponse_serviceId,+    getServiceResponse_state,+    getServiceResponse_tags,+    getServiceResponse_urlEndpoint,+    getServiceResponse_vpcId,+    getServiceResponse_httpStatus,++    -- ** ListApplications+    listApplications_maxResults,+    listApplications_nextToken,+    listApplications_environmentIdentifier,+    listApplicationsResponse_applicationSummaryList,+    listApplicationsResponse_nextToken,+    listApplicationsResponse_httpStatus,++    -- ** ListEnvironmentVpcs+    listEnvironmentVpcs_maxResults,+    listEnvironmentVpcs_nextToken,+    listEnvironmentVpcs_environmentIdentifier,+    listEnvironmentVpcsResponse_environmentVpcList,+    listEnvironmentVpcsResponse_nextToken,+    listEnvironmentVpcsResponse_httpStatus,++    -- ** ListEnvironments+    listEnvironments_maxResults,+    listEnvironments_nextToken,+    listEnvironmentsResponse_environmentSummaryList,+    listEnvironmentsResponse_nextToken,+    listEnvironmentsResponse_httpStatus,++    -- ** ListRoutes+    listRoutes_maxResults,+    listRoutes_nextToken,+    listRoutes_applicationIdentifier,+    listRoutes_environmentIdentifier,+    listRoutesResponse_nextToken,+    listRoutesResponse_routeSummaryList,+    listRoutesResponse_httpStatus,++    -- ** ListServices+    listServices_maxResults,+    listServices_nextToken,+    listServices_applicationIdentifier,+    listServices_environmentIdentifier,+    listServicesResponse_nextToken,+    listServicesResponse_serviceSummaryList,+    listServicesResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** PutResourcePolicy+    putResourcePolicy_policy,+    putResourcePolicy_resourceArn,+    putResourcePolicyResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateRoute+    updateRoute_activationState,+    updateRoute_applicationIdentifier,+    updateRoute_environmentIdentifier,+    updateRoute_routeIdentifier,+    updateRouteResponse_applicationId,+    updateRouteResponse_arn,+    updateRouteResponse_lastUpdatedTime,+    updateRouteResponse_routeId,+    updateRouteResponse_serviceId,+    updateRouteResponse_state,+    updateRouteResponse_httpStatus,++    -- * Types++    -- ** ApiGatewayProxyConfig+    apiGatewayProxyConfig_apiGatewayId,+    apiGatewayProxyConfig_endpointType,+    apiGatewayProxyConfig_nlbArn,+    apiGatewayProxyConfig_nlbName,+    apiGatewayProxyConfig_proxyUrl,+    apiGatewayProxyConfig_stageName,+    apiGatewayProxyConfig_vpcLinkId,++    -- ** ApiGatewayProxyInput+    apiGatewayProxyInput_endpointType,+    apiGatewayProxyInput_stageName,++    -- ** ApiGatewayProxySummary+    apiGatewayProxySummary_apiGatewayId,+    apiGatewayProxySummary_endpointType,+    apiGatewayProxySummary_nlbArn,+    apiGatewayProxySummary_nlbName,+    apiGatewayProxySummary_proxyUrl,+    apiGatewayProxySummary_stageName,+    apiGatewayProxySummary_vpcLinkId,++    -- ** ApplicationSummary+    applicationSummary_apiGatewayProxy,+    applicationSummary_applicationId,+    applicationSummary_arn,+    applicationSummary_createdByAccountId,+    applicationSummary_createdTime,+    applicationSummary_environmentId,+    applicationSummary_error,+    applicationSummary_lastUpdatedTime,+    applicationSummary_name,+    applicationSummary_ownerAccountId,+    applicationSummary_proxyType,+    applicationSummary_state,+    applicationSummary_tags,+    applicationSummary_vpcId,++    -- ** DefaultRouteInput+    defaultRouteInput_activationState,++    -- ** EnvironmentSummary+    environmentSummary_arn,+    environmentSummary_createdTime,+    environmentSummary_description,+    environmentSummary_environmentId,+    environmentSummary_error,+    environmentSummary_lastUpdatedTime,+    environmentSummary_name,+    environmentSummary_networkFabricType,+    environmentSummary_ownerAccountId,+    environmentSummary_state,+    environmentSummary_tags,+    environmentSummary_transitGatewayId,++    -- ** EnvironmentVpc+    environmentVpc_accountId,+    environmentVpc_cidrBlocks,+    environmentVpc_createdTime,+    environmentVpc_environmentId,+    environmentVpc_lastUpdatedTime,+    environmentVpc_vpcId,+    environmentVpc_vpcName,++    -- ** ErrorResponse+    errorResponse_accountId,+    errorResponse_additionalDetails,+    errorResponse_code,+    errorResponse_message,+    errorResponse_resourceIdentifier,+    errorResponse_resourceType,++    -- ** LambdaEndpointConfig+    lambdaEndpointConfig_arn,++    -- ** LambdaEndpointInput+    lambdaEndpointInput_arn,++    -- ** LambdaEndpointSummary+    lambdaEndpointSummary_arn,++    -- ** RouteSummary+    routeSummary_applicationId,+    routeSummary_arn,+    routeSummary_createdByAccountId,+    routeSummary_createdTime,+    routeSummary_environmentId,+    routeSummary_error,+    routeSummary_includeChildPaths,+    routeSummary_lastUpdatedTime,+    routeSummary_methods,+    routeSummary_ownerAccountId,+    routeSummary_pathResourceToId,+    routeSummary_routeId,+    routeSummary_routeType,+    routeSummary_serviceId,+    routeSummary_sourcePath,+    routeSummary_state,+    routeSummary_tags,++    -- ** ServiceSummary+    serviceSummary_applicationId,+    serviceSummary_arn,+    serviceSummary_createdByAccountId,+    serviceSummary_createdTime,+    serviceSummary_description,+    serviceSummary_endpointType,+    serviceSummary_environmentId,+    serviceSummary_error,+    serviceSummary_lambdaEndpoint,+    serviceSummary_lastUpdatedTime,+    serviceSummary_name,+    serviceSummary_ownerAccountId,+    serviceSummary_serviceId,+    serviceSummary_state,+    serviceSummary_tags,+    serviceSummary_urlEndpoint,+    serviceSummary_vpcId,++    -- ** UriPathRouteInput+    uriPathRouteInput_includeChildPaths,+    uriPathRouteInput_methods,+    uriPathRouteInput_activationState,+    uriPathRouteInput_sourcePath,++    -- ** UrlEndpointConfig+    urlEndpointConfig_healthUrl,+    urlEndpointConfig_url,++    -- ** UrlEndpointInput+    urlEndpointInput_healthUrl,+    urlEndpointInput_url,++    -- ** UrlEndpointSummary+    urlEndpointSummary_healthUrl,+    urlEndpointSummary_url,+  )+where++import Amazonka.MigrationHubReFactorSpaces.CreateApplication+import Amazonka.MigrationHubReFactorSpaces.CreateEnvironment+import Amazonka.MigrationHubReFactorSpaces.CreateRoute+import Amazonka.MigrationHubReFactorSpaces.CreateService+import Amazonka.MigrationHubReFactorSpaces.DeleteApplication+import Amazonka.MigrationHubReFactorSpaces.DeleteEnvironment+import Amazonka.MigrationHubReFactorSpaces.DeleteResourcePolicy+import Amazonka.MigrationHubReFactorSpaces.DeleteRoute+import Amazonka.MigrationHubReFactorSpaces.DeleteService+import Amazonka.MigrationHubReFactorSpaces.GetApplication+import Amazonka.MigrationHubReFactorSpaces.GetEnvironment+import Amazonka.MigrationHubReFactorSpaces.GetResourcePolicy+import Amazonka.MigrationHubReFactorSpaces.GetRoute+import Amazonka.MigrationHubReFactorSpaces.GetService+import Amazonka.MigrationHubReFactorSpaces.ListApplications+import Amazonka.MigrationHubReFactorSpaces.ListEnvironmentVpcs+import Amazonka.MigrationHubReFactorSpaces.ListEnvironments+import Amazonka.MigrationHubReFactorSpaces.ListRoutes+import Amazonka.MigrationHubReFactorSpaces.ListServices+import Amazonka.MigrationHubReFactorSpaces.ListTagsForResource+import Amazonka.MigrationHubReFactorSpaces.PutResourcePolicy+import Amazonka.MigrationHubReFactorSpaces.TagResource+import Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayProxyConfig+import Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayProxyInput+import Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayProxySummary+import Amazonka.MigrationHubReFactorSpaces.Types.ApplicationSummary+import Amazonka.MigrationHubReFactorSpaces.Types.DefaultRouteInput+import Amazonka.MigrationHubReFactorSpaces.Types.EnvironmentSummary+import Amazonka.MigrationHubReFactorSpaces.Types.EnvironmentVpc+import Amazonka.MigrationHubReFactorSpaces.Types.ErrorResponse+import Amazonka.MigrationHubReFactorSpaces.Types.LambdaEndpointConfig+import Amazonka.MigrationHubReFactorSpaces.Types.LambdaEndpointInput+import Amazonka.MigrationHubReFactorSpaces.Types.LambdaEndpointSummary+import Amazonka.MigrationHubReFactorSpaces.Types.RouteSummary+import Amazonka.MigrationHubReFactorSpaces.Types.ServiceSummary+import Amazonka.MigrationHubReFactorSpaces.Types.UriPathRouteInput+import Amazonka.MigrationHubReFactorSpaces.Types.UrlEndpointConfig+import Amazonka.MigrationHubReFactorSpaces.Types.UrlEndpointInput+import Amazonka.MigrationHubReFactorSpaces.Types.UrlEndpointSummary+import Amazonka.MigrationHubReFactorSpaces.UntagResource+import Amazonka.MigrationHubReFactorSpaces.UpdateRoute
+ gen/Amazonka/MigrationHubReFactorSpaces/ListApplications.hs view
@@ -0,0 +1,240 @@+{-# 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.MigrationHubReFactorSpaces.ListApplications+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the Amazon Web Services Migration Hub Refactor Spaces+-- applications within an environment.+--+-- This operation returns paginated results.+module Amazonka.MigrationHubReFactorSpaces.ListApplications+  ( -- * Creating a Request+    ListApplications (..),+    newListApplications,++    -- * Request Lenses+    listApplications_maxResults,+    listApplications_nextToken,+    listApplications_environmentIdentifier,++    -- * Destructuring the Response+    ListApplicationsResponse (..),+    newListApplicationsResponse,++    -- * Response Lenses+    listApplicationsResponse_applicationSummaryList,+    listApplicationsResponse_nextToken,+    listApplicationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListApplications' smart constructor.+data ListApplications = ListApplications'+  { -- | The maximum number of results to return with a single call. To retrieve+    -- the remaining results, make another call with the returned @nextToken@+    -- value.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the environment.+    environmentIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplications' with all optional fields 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', 'listApplications_maxResults' - The maximum number of results to return with a single call. To retrieve+-- the remaining results, make another call with the returned @nextToken@+-- value.+--+-- 'nextToken', 'listApplications_nextToken' - The token for the next page of results.+--+-- 'environmentIdentifier', 'listApplications_environmentIdentifier' - The ID of the environment.+newListApplications ::+  -- | 'environmentIdentifier'+  Prelude.Text ->+  ListApplications+newListApplications pEnvironmentIdentifier_ =+  ListApplications'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      environmentIdentifier = pEnvironmentIdentifier_+    }++-- | The maximum number of results to return with a single call. To retrieve+-- the remaining results, make another call with the returned @nextToken@+-- value.+listApplications_maxResults :: Lens.Lens' ListApplications (Prelude.Maybe Prelude.Natural)+listApplications_maxResults = Lens.lens (\ListApplications' {maxResults} -> maxResults) (\s@ListApplications' {} a -> s {maxResults = a} :: ListApplications)++-- | The token for the next page of results.+listApplications_nextToken :: Lens.Lens' ListApplications (Prelude.Maybe Prelude.Text)+listApplications_nextToken = Lens.lens (\ListApplications' {nextToken} -> nextToken) (\s@ListApplications' {} a -> s {nextToken = a} :: ListApplications)++-- | The ID of the environment.+listApplications_environmentIdentifier :: Lens.Lens' ListApplications Prelude.Text+listApplications_environmentIdentifier = Lens.lens (\ListApplications' {environmentIdentifier} -> environmentIdentifier) (\s@ListApplications' {} a -> s {environmentIdentifier = a} :: ListApplications)++instance Core.AWSPager ListApplications where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listApplicationsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listApplicationsResponse_applicationSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listApplications_nextToken+          Lens..~ rs+          Lens.^? listApplicationsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListApplications where+  type+    AWSResponse ListApplications =+      ListApplicationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListApplicationsResponse'+            Prelude.<$> ( x+                            Data..?> "ApplicationSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListApplications where+  hashWithSalt _salt ListApplications' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` environmentIdentifier++instance Prelude.NFData ListApplications where+  rnf ListApplications' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf environmentIdentifier++instance Data.ToHeaders ListApplications where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListApplications where+  toPath ListApplications' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/applications"+      ]++instance Data.ToQuery ListApplications where+  toQuery ListApplications' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListApplicationsResponse' smart constructor.+data ListApplicationsResponse = ListApplicationsResponse'+  { -- | The list of @ApplicationSummary@ objects.+    applicationSummaryList :: Prelude.Maybe [ApplicationSummary],+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApplicationsResponse' with all optional fields 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:+--+-- 'applicationSummaryList', 'listApplicationsResponse_applicationSummaryList' - The list of @ApplicationSummary@ objects.+--+-- 'nextToken', 'listApplicationsResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'listApplicationsResponse_httpStatus' - The response's http status code.+newListApplicationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListApplicationsResponse+newListApplicationsResponse pHttpStatus_ =+  ListApplicationsResponse'+    { applicationSummaryList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of @ApplicationSummary@ objects.+listApplicationsResponse_applicationSummaryList :: Lens.Lens' ListApplicationsResponse (Prelude.Maybe [ApplicationSummary])+listApplicationsResponse_applicationSummaryList = Lens.lens (\ListApplicationsResponse' {applicationSummaryList} -> applicationSummaryList) (\s@ListApplicationsResponse' {} a -> s {applicationSummaryList = a} :: ListApplicationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+listApplicationsResponse_nextToken :: Lens.Lens' ListApplicationsResponse (Prelude.Maybe Prelude.Text)+listApplicationsResponse_nextToken = Lens.lens (\ListApplicationsResponse' {nextToken} -> nextToken) (\s@ListApplicationsResponse' {} a -> s {nextToken = a} :: ListApplicationsResponse)++-- | The response's http status code.+listApplicationsResponse_httpStatus :: Lens.Lens' ListApplicationsResponse Prelude.Int+listApplicationsResponse_httpStatus = Lens.lens (\ListApplicationsResponse' {httpStatus} -> httpStatus) (\s@ListApplicationsResponse' {} a -> s {httpStatus = a} :: ListApplicationsResponse)++instance Prelude.NFData ListApplicationsResponse where+  rnf ListApplicationsResponse' {..} =+    Prelude.rnf applicationSummaryList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/ListEnvironmentVpcs.hs view
@@ -0,0 +1,240 @@+{-# 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.MigrationHubReFactorSpaces.ListEnvironmentVpcs+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all Amazon Web Services Migration Hub Refactor Spaces service+-- virtual private clouds (VPCs) that are part of the environment.+--+-- This operation returns paginated results.+module Amazonka.MigrationHubReFactorSpaces.ListEnvironmentVpcs+  ( -- * Creating a Request+    ListEnvironmentVpcs (..),+    newListEnvironmentVpcs,++    -- * Request Lenses+    listEnvironmentVpcs_maxResults,+    listEnvironmentVpcs_nextToken,+    listEnvironmentVpcs_environmentIdentifier,++    -- * Destructuring the Response+    ListEnvironmentVpcsResponse (..),+    newListEnvironmentVpcsResponse,++    -- * Response Lenses+    listEnvironmentVpcsResponse_environmentVpcList,+    listEnvironmentVpcsResponse_nextToken,+    listEnvironmentVpcsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListEnvironmentVpcs' smart constructor.+data ListEnvironmentVpcs = ListEnvironmentVpcs'+  { -- | The maximum number of results to return with a single call. To retrieve+    -- the remaining results, make another call with the returned @nextToken@+    -- value.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the environment.+    environmentIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEnvironmentVpcs' with all optional fields 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', 'listEnvironmentVpcs_maxResults' - The maximum number of results to return with a single call. To retrieve+-- the remaining results, make another call with the returned @nextToken@+-- value.+--+-- 'nextToken', 'listEnvironmentVpcs_nextToken' - The token for the next page of results.+--+-- 'environmentIdentifier', 'listEnvironmentVpcs_environmentIdentifier' - The ID of the environment.+newListEnvironmentVpcs ::+  -- | 'environmentIdentifier'+  Prelude.Text ->+  ListEnvironmentVpcs+newListEnvironmentVpcs pEnvironmentIdentifier_ =+  ListEnvironmentVpcs'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      environmentIdentifier = pEnvironmentIdentifier_+    }++-- | The maximum number of results to return with a single call. To retrieve+-- the remaining results, make another call with the returned @nextToken@+-- value.+listEnvironmentVpcs_maxResults :: Lens.Lens' ListEnvironmentVpcs (Prelude.Maybe Prelude.Natural)+listEnvironmentVpcs_maxResults = Lens.lens (\ListEnvironmentVpcs' {maxResults} -> maxResults) (\s@ListEnvironmentVpcs' {} a -> s {maxResults = a} :: ListEnvironmentVpcs)++-- | The token for the next page of results.+listEnvironmentVpcs_nextToken :: Lens.Lens' ListEnvironmentVpcs (Prelude.Maybe Prelude.Text)+listEnvironmentVpcs_nextToken = Lens.lens (\ListEnvironmentVpcs' {nextToken} -> nextToken) (\s@ListEnvironmentVpcs' {} a -> s {nextToken = a} :: ListEnvironmentVpcs)++-- | The ID of the environment.+listEnvironmentVpcs_environmentIdentifier :: Lens.Lens' ListEnvironmentVpcs Prelude.Text+listEnvironmentVpcs_environmentIdentifier = Lens.lens (\ListEnvironmentVpcs' {environmentIdentifier} -> environmentIdentifier) (\s@ListEnvironmentVpcs' {} a -> s {environmentIdentifier = a} :: ListEnvironmentVpcs)++instance Core.AWSPager ListEnvironmentVpcs where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listEnvironmentVpcsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listEnvironmentVpcsResponse_environmentVpcList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listEnvironmentVpcs_nextToken+          Lens..~ rs+          Lens.^? listEnvironmentVpcsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListEnvironmentVpcs where+  type+    AWSResponse ListEnvironmentVpcs =+      ListEnvironmentVpcsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListEnvironmentVpcsResponse'+            Prelude.<$> ( x+                            Data..?> "EnvironmentVpcList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListEnvironmentVpcs where+  hashWithSalt _salt ListEnvironmentVpcs' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` environmentIdentifier++instance Prelude.NFData ListEnvironmentVpcs where+  rnf ListEnvironmentVpcs' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf environmentIdentifier++instance Data.ToHeaders ListEnvironmentVpcs where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListEnvironmentVpcs where+  toPath ListEnvironmentVpcs' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/vpcs"+      ]++instance Data.ToQuery ListEnvironmentVpcs where+  toQuery ListEnvironmentVpcs' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListEnvironmentVpcsResponse' smart constructor.+data ListEnvironmentVpcsResponse = ListEnvironmentVpcsResponse'+  { -- | The list of @EnvironmentVpc@ objects.+    environmentVpcList :: Prelude.Maybe [EnvironmentVpc],+    -- | The token for the next page of results.+    nextToken :: 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 'ListEnvironmentVpcsResponse' with all optional fields 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:+--+-- 'environmentVpcList', 'listEnvironmentVpcsResponse_environmentVpcList' - The list of @EnvironmentVpc@ objects.+--+-- 'nextToken', 'listEnvironmentVpcsResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'listEnvironmentVpcsResponse_httpStatus' - The response's http status code.+newListEnvironmentVpcsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListEnvironmentVpcsResponse+newListEnvironmentVpcsResponse pHttpStatus_ =+  ListEnvironmentVpcsResponse'+    { environmentVpcList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of @EnvironmentVpc@ objects.+listEnvironmentVpcsResponse_environmentVpcList :: Lens.Lens' ListEnvironmentVpcsResponse (Prelude.Maybe [EnvironmentVpc])+listEnvironmentVpcsResponse_environmentVpcList = Lens.lens (\ListEnvironmentVpcsResponse' {environmentVpcList} -> environmentVpcList) (\s@ListEnvironmentVpcsResponse' {} a -> s {environmentVpcList = a} :: ListEnvironmentVpcsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+listEnvironmentVpcsResponse_nextToken :: Lens.Lens' ListEnvironmentVpcsResponse (Prelude.Maybe Prelude.Text)+listEnvironmentVpcsResponse_nextToken = Lens.lens (\ListEnvironmentVpcsResponse' {nextToken} -> nextToken) (\s@ListEnvironmentVpcsResponse' {} a -> s {nextToken = a} :: ListEnvironmentVpcsResponse)++-- | The response's http status code.+listEnvironmentVpcsResponse_httpStatus :: Lens.Lens' ListEnvironmentVpcsResponse Prelude.Int+listEnvironmentVpcsResponse_httpStatus = Lens.lens (\ListEnvironmentVpcsResponse' {httpStatus} -> httpStatus) (\s@ListEnvironmentVpcsResponse' {} a -> s {httpStatus = a} :: ListEnvironmentVpcsResponse)++instance Prelude.NFData ListEnvironmentVpcsResponse where+  rnf ListEnvironmentVpcsResponse' {..} =+    Prelude.rnf environmentVpcList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/ListEnvironments.hs view
@@ -0,0 +1,221 @@+{-# 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.MigrationHubReFactorSpaces.ListEnvironments+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists Amazon Web Services Migration Hub Refactor Spaces environments+-- owned by a caller account or shared with the caller account.+--+-- This operation returns paginated results.+module Amazonka.MigrationHubReFactorSpaces.ListEnvironments+  ( -- * Creating a Request+    ListEnvironments (..),+    newListEnvironments,++    -- * Request Lenses+    listEnvironments_maxResults,+    listEnvironments_nextToken,++    -- * Destructuring the Response+    ListEnvironmentsResponse (..),+    newListEnvironmentsResponse,++    -- * Response Lenses+    listEnvironmentsResponse_environmentSummaryList,+    listEnvironmentsResponse_nextToken,+    listEnvironmentsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListEnvironments' smart constructor.+data ListEnvironments = ListEnvironments'+  { -- | The maximum number of results to return with a single call. To retrieve+    -- the remaining results, make another call with the returned @nextToken@+    -- value.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEnvironments' with all optional fields 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', 'listEnvironments_maxResults' - The maximum number of results to return with a single call. To retrieve+-- the remaining results, make another call with the returned @nextToken@+-- value.+--+-- 'nextToken', 'listEnvironments_nextToken' - The token for the next page of results.+newListEnvironments ::+  ListEnvironments+newListEnvironments =+  ListEnvironments'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return with a single call. To retrieve+-- the remaining results, make another call with the returned @nextToken@+-- value.+listEnvironments_maxResults :: Lens.Lens' ListEnvironments (Prelude.Maybe Prelude.Natural)+listEnvironments_maxResults = Lens.lens (\ListEnvironments' {maxResults} -> maxResults) (\s@ListEnvironments' {} a -> s {maxResults = a} :: ListEnvironments)++-- | The token for the next page of results.+listEnvironments_nextToken :: Lens.Lens' ListEnvironments (Prelude.Maybe Prelude.Text)+listEnvironments_nextToken = Lens.lens (\ListEnvironments' {nextToken} -> nextToken) (\s@ListEnvironments' {} a -> s {nextToken = a} :: ListEnvironments)++instance Core.AWSPager ListEnvironments where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listEnvironmentsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listEnvironmentsResponse_environmentSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listEnvironments_nextToken+          Lens..~ rs+          Lens.^? listEnvironmentsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListEnvironments where+  type+    AWSResponse ListEnvironments =+      ListEnvironmentsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListEnvironmentsResponse'+            Prelude.<$> ( x+                            Data..?> "EnvironmentSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListEnvironments where+  hashWithSalt _salt ListEnvironments' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListEnvironments where+  rnf ListEnvironments' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListEnvironments where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListEnvironments where+  toPath = Prelude.const "/environments"++instance Data.ToQuery ListEnvironments where+  toQuery ListEnvironments' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListEnvironmentsResponse' smart constructor.+data ListEnvironmentsResponse = ListEnvironmentsResponse'+  { -- | The list of @EnvironmentSummary@ objects.+    environmentSummaryList :: Prelude.Maybe [EnvironmentSummary],+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEnvironmentsResponse' with all optional fields 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:+--+-- 'environmentSummaryList', 'listEnvironmentsResponse_environmentSummaryList' - The list of @EnvironmentSummary@ objects.+--+-- 'nextToken', 'listEnvironmentsResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'listEnvironmentsResponse_httpStatus' - The response's http status code.+newListEnvironmentsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListEnvironmentsResponse+newListEnvironmentsResponse pHttpStatus_ =+  ListEnvironmentsResponse'+    { environmentSummaryList =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of @EnvironmentSummary@ objects.+listEnvironmentsResponse_environmentSummaryList :: Lens.Lens' ListEnvironmentsResponse (Prelude.Maybe [EnvironmentSummary])+listEnvironmentsResponse_environmentSummaryList = Lens.lens (\ListEnvironmentsResponse' {environmentSummaryList} -> environmentSummaryList) (\s@ListEnvironmentsResponse' {} a -> s {environmentSummaryList = a} :: ListEnvironmentsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+listEnvironmentsResponse_nextToken :: Lens.Lens' ListEnvironmentsResponse (Prelude.Maybe Prelude.Text)+listEnvironmentsResponse_nextToken = Lens.lens (\ListEnvironmentsResponse' {nextToken} -> nextToken) (\s@ListEnvironmentsResponse' {} a -> s {nextToken = a} :: ListEnvironmentsResponse)++-- | The response's http status code.+listEnvironmentsResponse_httpStatus :: Lens.Lens' ListEnvironmentsResponse Prelude.Int+listEnvironmentsResponse_httpStatus = Lens.lens (\ListEnvironmentsResponse' {httpStatus} -> httpStatus) (\s@ListEnvironmentsResponse' {} a -> s {httpStatus = a} :: ListEnvironmentsResponse)++instance Prelude.NFData ListEnvironmentsResponse where+  rnf ListEnvironmentsResponse' {..} =+    Prelude.rnf environmentSummaryList+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/ListRoutes.hs view
@@ -0,0 +1,255 @@+{-# 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.MigrationHubReFactorSpaces.ListRoutes+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the Amazon Web Services Migration Hub Refactor Spaces routes+-- within an application.+--+-- This operation returns paginated results.+module Amazonka.MigrationHubReFactorSpaces.ListRoutes+  ( -- * Creating a Request+    ListRoutes (..),+    newListRoutes,++    -- * Request Lenses+    listRoutes_maxResults,+    listRoutes_nextToken,+    listRoutes_applicationIdentifier,+    listRoutes_environmentIdentifier,++    -- * Destructuring the Response+    ListRoutesResponse (..),+    newListRoutesResponse,++    -- * Response Lenses+    listRoutesResponse_nextToken,+    listRoutesResponse_routeSummaryList,+    listRoutesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListRoutes' smart constructor.+data ListRoutes = ListRoutes'+  { -- | The maximum number of results to return with a single call. To retrieve+    -- the remaining results, make another call with the returned @nextToken@+    -- value.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the application.+    applicationIdentifier :: Prelude.Text,+    -- | The ID of the environment.+    environmentIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRoutes' with all optional fields 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', 'listRoutes_maxResults' - The maximum number of results to return with a single call. To retrieve+-- the remaining results, make another call with the returned @nextToken@+-- value.+--+-- 'nextToken', 'listRoutes_nextToken' - The token for the next page of results.+--+-- 'applicationIdentifier', 'listRoutes_applicationIdentifier' - The ID of the application.+--+-- 'environmentIdentifier', 'listRoutes_environmentIdentifier' - The ID of the environment.+newListRoutes ::+  -- | 'applicationIdentifier'+  Prelude.Text ->+  -- | 'environmentIdentifier'+  Prelude.Text ->+  ListRoutes+newListRoutes+  pApplicationIdentifier_+  pEnvironmentIdentifier_ =+    ListRoutes'+      { maxResults = Prelude.Nothing,+        nextToken = Prelude.Nothing,+        applicationIdentifier = pApplicationIdentifier_,+        environmentIdentifier = pEnvironmentIdentifier_+      }++-- | The maximum number of results to return with a single call. To retrieve+-- the remaining results, make another call with the returned @nextToken@+-- value.+listRoutes_maxResults :: Lens.Lens' ListRoutes (Prelude.Maybe Prelude.Natural)+listRoutes_maxResults = Lens.lens (\ListRoutes' {maxResults} -> maxResults) (\s@ListRoutes' {} a -> s {maxResults = a} :: ListRoutes)++-- | The token for the next page of results.+listRoutes_nextToken :: Lens.Lens' ListRoutes (Prelude.Maybe Prelude.Text)+listRoutes_nextToken = Lens.lens (\ListRoutes' {nextToken} -> nextToken) (\s@ListRoutes' {} a -> s {nextToken = a} :: ListRoutes)++-- | The ID of the application.+listRoutes_applicationIdentifier :: Lens.Lens' ListRoutes Prelude.Text+listRoutes_applicationIdentifier = Lens.lens (\ListRoutes' {applicationIdentifier} -> applicationIdentifier) (\s@ListRoutes' {} a -> s {applicationIdentifier = a} :: ListRoutes)++-- | The ID of the environment.+listRoutes_environmentIdentifier :: Lens.Lens' ListRoutes Prelude.Text+listRoutes_environmentIdentifier = Lens.lens (\ListRoutes' {environmentIdentifier} -> environmentIdentifier) (\s@ListRoutes' {} a -> s {environmentIdentifier = a} :: ListRoutes)++instance Core.AWSPager ListRoutes where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listRoutesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listRoutesResponse_routeSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listRoutes_nextToken+          Lens..~ rs+          Lens.^? listRoutesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListRoutes where+  type AWSResponse ListRoutes = ListRoutesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListRoutesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "RouteSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListRoutes where+  hashWithSalt _salt ListRoutes' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` applicationIdentifier+      `Prelude.hashWithSalt` environmentIdentifier++instance Prelude.NFData ListRoutes where+  rnf ListRoutes' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf applicationIdentifier+      `Prelude.seq` Prelude.rnf environmentIdentifier++instance Data.ToHeaders ListRoutes where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListRoutes where+  toPath ListRoutes' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/applications/",+        Data.toBS applicationIdentifier,+        "/routes"+      ]++instance Data.ToQuery ListRoutes where+  toQuery ListRoutes' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListRoutesResponse' smart constructor.+data ListRoutesResponse = ListRoutesResponse'+  { -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The list of @RouteSummary@ objects.+    routeSummaryList :: Prelude.Maybe [RouteSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListRoutesResponse' with all optional fields 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', 'listRoutesResponse_nextToken' - The token for the next page of results.+--+-- 'routeSummaryList', 'listRoutesResponse_routeSummaryList' - The list of @RouteSummary@ objects.+--+-- 'httpStatus', 'listRoutesResponse_httpStatus' - The response's http status code.+newListRoutesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListRoutesResponse+newListRoutesResponse pHttpStatus_ =+  ListRoutesResponse'+    { nextToken = Prelude.Nothing,+      routeSummaryList = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token for the next page of results.+listRoutesResponse_nextToken :: Lens.Lens' ListRoutesResponse (Prelude.Maybe Prelude.Text)+listRoutesResponse_nextToken = Lens.lens (\ListRoutesResponse' {nextToken} -> nextToken) (\s@ListRoutesResponse' {} a -> s {nextToken = a} :: ListRoutesResponse)++-- | The list of @RouteSummary@ objects.+listRoutesResponse_routeSummaryList :: Lens.Lens' ListRoutesResponse (Prelude.Maybe [RouteSummary])+listRoutesResponse_routeSummaryList = Lens.lens (\ListRoutesResponse' {routeSummaryList} -> routeSummaryList) (\s@ListRoutesResponse' {} a -> s {routeSummaryList = a} :: ListRoutesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listRoutesResponse_httpStatus :: Lens.Lens' ListRoutesResponse Prelude.Int+listRoutesResponse_httpStatus = Lens.lens (\ListRoutesResponse' {httpStatus} -> httpStatus) (\s@ListRoutesResponse' {} a -> s {httpStatus = a} :: ListRoutesResponse)++instance Prelude.NFData ListRoutesResponse where+  rnf ListRoutesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf routeSummaryList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/ListServices.hs view
@@ -0,0 +1,255 @@+{-# 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.MigrationHubReFactorSpaces.ListServices+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all the Amazon Web Services Migration Hub Refactor Spaces services+-- within an application.+--+-- This operation returns paginated results.+module Amazonka.MigrationHubReFactorSpaces.ListServices+  ( -- * Creating a Request+    ListServices (..),+    newListServices,++    -- * Request Lenses+    listServices_maxResults,+    listServices_nextToken,+    listServices_applicationIdentifier,+    listServices_environmentIdentifier,++    -- * Destructuring the Response+    ListServicesResponse (..),+    newListServicesResponse,++    -- * Response Lenses+    listServicesResponse_nextToken,+    listServicesResponse_serviceSummaryList,+    listServicesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListServices' smart constructor.+data ListServices = ListServices'+  { -- | The maximum number of results to return with a single call. To retrieve+    -- the remaining results, make another call with the returned @nextToken@+    -- value.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the application.+    applicationIdentifier :: Prelude.Text,+    -- | The ID of the environment.+    environmentIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListServices' with all optional fields 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', 'listServices_maxResults' - The maximum number of results to return with a single call. To retrieve+-- the remaining results, make another call with the returned @nextToken@+-- value.+--+-- 'nextToken', 'listServices_nextToken' - The token for the next page of results.+--+-- 'applicationIdentifier', 'listServices_applicationIdentifier' - The ID of the application.+--+-- 'environmentIdentifier', 'listServices_environmentIdentifier' - The ID of the environment.+newListServices ::+  -- | 'applicationIdentifier'+  Prelude.Text ->+  -- | 'environmentIdentifier'+  Prelude.Text ->+  ListServices+newListServices+  pApplicationIdentifier_+  pEnvironmentIdentifier_ =+    ListServices'+      { maxResults = Prelude.Nothing,+        nextToken = Prelude.Nothing,+        applicationIdentifier = pApplicationIdentifier_,+        environmentIdentifier = pEnvironmentIdentifier_+      }++-- | The maximum number of results to return with a single call. To retrieve+-- the remaining results, make another call with the returned @nextToken@+-- value.+listServices_maxResults :: Lens.Lens' ListServices (Prelude.Maybe Prelude.Natural)+listServices_maxResults = Lens.lens (\ListServices' {maxResults} -> maxResults) (\s@ListServices' {} a -> s {maxResults = a} :: ListServices)++-- | The token for the next page of results.+listServices_nextToken :: Lens.Lens' ListServices (Prelude.Maybe Prelude.Text)+listServices_nextToken = Lens.lens (\ListServices' {nextToken} -> nextToken) (\s@ListServices' {} a -> s {nextToken = a} :: ListServices)++-- | The ID of the application.+listServices_applicationIdentifier :: Lens.Lens' ListServices Prelude.Text+listServices_applicationIdentifier = Lens.lens (\ListServices' {applicationIdentifier} -> applicationIdentifier) (\s@ListServices' {} a -> s {applicationIdentifier = a} :: ListServices)++-- | The ID of the environment.+listServices_environmentIdentifier :: Lens.Lens' ListServices Prelude.Text+listServices_environmentIdentifier = Lens.lens (\ListServices' {environmentIdentifier} -> environmentIdentifier) (\s@ListServices' {} a -> s {environmentIdentifier = a} :: ListServices)++instance Core.AWSPager ListServices where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listServicesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listServicesResponse_serviceSummaryList+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listServices_nextToken+          Lens..~ rs+          Lens.^? listServicesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListServices where+  type AWSResponse ListServices = ListServicesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListServicesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "ServiceSummaryList"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListServices where+  hashWithSalt _salt ListServices' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` applicationIdentifier+      `Prelude.hashWithSalt` environmentIdentifier++instance Prelude.NFData ListServices where+  rnf ListServices' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf applicationIdentifier+      `Prelude.seq` Prelude.rnf environmentIdentifier++instance Data.ToHeaders ListServices where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListServices where+  toPath ListServices' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/applications/",+        Data.toBS applicationIdentifier,+        "/services"+      ]++instance Data.ToQuery ListServices where+  toQuery ListServices' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListServicesResponse' smart constructor.+data ListServicesResponse = ListServicesResponse'+  { -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The list of @ServiceSummary@ objects.+    serviceSummaryList :: Prelude.Maybe [ServiceSummary],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListServicesResponse' with all optional fields 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', 'listServicesResponse_nextToken' - The token for the next page of results.+--+-- 'serviceSummaryList', 'listServicesResponse_serviceSummaryList' - The list of @ServiceSummary@ objects.+--+-- 'httpStatus', 'listServicesResponse_httpStatus' - The response's http status code.+newListServicesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListServicesResponse+newListServicesResponse pHttpStatus_ =+  ListServicesResponse'+    { nextToken = Prelude.Nothing,+      serviceSummaryList = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token for the next page of results.+listServicesResponse_nextToken :: Lens.Lens' ListServicesResponse (Prelude.Maybe Prelude.Text)+listServicesResponse_nextToken = Lens.lens (\ListServicesResponse' {nextToken} -> nextToken) (\s@ListServicesResponse' {} a -> s {nextToken = a} :: ListServicesResponse)++-- | The list of @ServiceSummary@ objects.+listServicesResponse_serviceSummaryList :: Lens.Lens' ListServicesResponse (Prelude.Maybe [ServiceSummary])+listServicesResponse_serviceSummaryList = Lens.lens (\ListServicesResponse' {serviceSummaryList} -> serviceSummaryList) (\s@ListServicesResponse' {} a -> s {serviceSummaryList = a} :: ListServicesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listServicesResponse_httpStatus :: Lens.Lens' ListServicesResponse Prelude.Int+listServicesResponse_httpStatus = Lens.lens (\ListServicesResponse' {httpStatus} -> httpStatus) (\s@ListServicesResponse' {} a -> s {httpStatus = a} :: ListServicesResponse)++instance Prelude.NFData ListServicesResponse where+  rnf ListServicesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf serviceSummaryList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/ListTagsForResource.hs view
@@ -0,0 +1,161 @@+{-# 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.MigrationHubReFactorSpaces.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the tags of a resource. The caller account must be the same as the+-- resource’s @OwnerAccountId@. Listing tags in other accounts is not+-- supported.+module Amazonka.MigrationHubReFactorSpaces.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.MigrationHubReFactorSpaces.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 list of tags assigned to the resource.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, 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 list of tags assigned to the resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of tags assigned to the 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 (Data._Sensitive Prelude.. 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/MigrationHubReFactorSpaces/PutResourcePolicy.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.MigrationHubReFactorSpaces.PutResourcePolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Attaches a resource-based permission policy to the Amazon Web Services+-- Migration Hub Refactor Spaces environment. The policy must contain the+-- same actions and condition statements as the+-- @arn:aws:ram::aws:permission\/AWSRAMDefaultPermissionRefactorSpacesEnvironment@+-- permission in Resource Access Manager. The policy must not contain new+-- lines or blank lines.+module Amazonka.MigrationHubReFactorSpaces.PutResourcePolicy+  ( -- * Creating a Request+    PutResourcePolicy (..),+    newPutResourcePolicy,++    -- * Request Lenses+    putResourcePolicy_policy,+    putResourcePolicy_resourceArn,++    -- * Destructuring the Response+    PutResourcePolicyResponse (..),+    newPutResourcePolicyResponse,++    -- * Response Lenses+    putResourcePolicyResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutResourcePolicy' smart constructor.+data PutResourcePolicy = PutResourcePolicy'+  { -- | A JSON-formatted string for an Amazon Web Services resource-based+    -- policy.+    policy :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the resource to which the policy is+    -- being attached.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutResourcePolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'putResourcePolicy_policy' - A JSON-formatted string for an Amazon Web Services resource-based+-- policy.+--+-- 'resourceArn', 'putResourcePolicy_resourceArn' - The Amazon Resource Name (ARN) of the resource to which the policy is+-- being attached.+newPutResourcePolicy ::+  -- | 'policy'+  Prelude.Text ->+  -- | 'resourceArn'+  Prelude.Text ->+  PutResourcePolicy+newPutResourcePolicy pPolicy_ pResourceArn_ =+  PutResourcePolicy'+    { policy = pPolicy_,+      resourceArn = pResourceArn_+    }++-- | A JSON-formatted string for an Amazon Web Services resource-based+-- policy.+putResourcePolicy_policy :: Lens.Lens' PutResourcePolicy Prelude.Text+putResourcePolicy_policy = Lens.lens (\PutResourcePolicy' {policy} -> policy) (\s@PutResourcePolicy' {} a -> s {policy = a} :: PutResourcePolicy)++-- | The Amazon Resource Name (ARN) of the resource to which the policy is+-- being attached.+putResourcePolicy_resourceArn :: Lens.Lens' PutResourcePolicy Prelude.Text+putResourcePolicy_resourceArn = Lens.lens (\PutResourcePolicy' {resourceArn} -> resourceArn) (\s@PutResourcePolicy' {} a -> s {resourceArn = a} :: PutResourcePolicy)++instance Core.AWSRequest PutResourcePolicy where+  type+    AWSResponse PutResourcePolicy =+      PutResourcePolicyResponse+  request overrides =+    Request.putJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          PutResourcePolicyResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutResourcePolicy where+  hashWithSalt _salt PutResourcePolicy' {..} =+    _salt+      `Prelude.hashWithSalt` policy+      `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData PutResourcePolicy where+  rnf PutResourcePolicy' {..} =+    Prelude.rnf policy+      `Prelude.seq` Prelude.rnf resourceArn++instance Data.ToHeaders PutResourcePolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutResourcePolicy where+  toJSON PutResourcePolicy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Policy" Data..= policy),+            Prelude.Just ("ResourceArn" Data..= resourceArn)+          ]+      )++instance Data.ToPath PutResourcePolicy where+  toPath = Prelude.const "/resourcepolicy"++instance Data.ToQuery PutResourcePolicy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutResourcePolicyResponse' smart constructor.+data PutResourcePolicyResponse = PutResourcePolicyResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutResourcePolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'putResourcePolicyResponse_httpStatus' - The response's http status code.+newPutResourcePolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutResourcePolicyResponse+newPutResourcePolicyResponse pHttpStatus_ =+  PutResourcePolicyResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+putResourcePolicyResponse_httpStatus :: Lens.Lens' PutResourcePolicyResponse Prelude.Int+putResourcePolicyResponse_httpStatus = Lens.lens (\PutResourcePolicyResponse' {httpStatus} -> httpStatus) (\s@PutResourcePolicyResponse' {} a -> s {httpStatus = a} :: PutResourcePolicyResponse)++instance Prelude.NFData PutResourcePolicyResponse where+  rnf PutResourcePolicyResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/TagResource.hs view
@@ -0,0 +1,170 @@+{-# 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.MigrationHubReFactorSpaces.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)+--+-- Removes the tags of a given resource. Tags are metadata which can be+-- used to manage a resource. To tag a resource, the caller account must be+-- the same as the resource’s @OwnerAccountId@. Tagging resources in other+-- accounts is not supported.+--+-- Amazon Web Services Migration Hub Refactor Spaces does not propagate+-- tags to orchestrated resources, such as an environment’s transit+-- gateway.+module Amazonka.MigrationHubReFactorSpaces.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.MigrationHubReFactorSpaces.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.+    resourceArn :: Prelude.Text,+    -- | The new or modified tags for the resource.+    tags :: Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)+  }+  deriving (Prelude.Eq, 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.+--+-- 'tags', 'tagResource_tags' - The new or modified tags for the resource.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the resource.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The new or modified tags for the 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.. Data._Sensitive 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/MigrationHubReFactorSpaces/Types.hs view
@@ -0,0 +1,412 @@+{-# 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.MigrationHubReFactorSpaces.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.MigrationHubReFactorSpaces.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _InternalServerException,+    _InvalidResourcePolicyException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,+    _ThrottlingException,+    _ValidationException,++    -- * ApiGatewayEndpointType+    ApiGatewayEndpointType (..),++    -- * ApplicationState+    ApplicationState (..),++    -- * EnvironmentState+    EnvironmentState (..),++    -- * ErrorCode+    ErrorCode (..),++    -- * ErrorResourceType+    ErrorResourceType (..),++    -- * HttpMethod+    HttpMethod (..),++    -- * NetworkFabricType+    NetworkFabricType (..),++    -- * ProxyType+    ProxyType (..),++    -- * RouteActivationState+    RouteActivationState (..),++    -- * RouteState+    RouteState (..),++    -- * RouteType+    RouteType (..),++    -- * ServiceEndpointType+    ServiceEndpointType (..),++    -- * ServiceState+    ServiceState (..),++    -- * ApiGatewayProxyConfig+    ApiGatewayProxyConfig (..),+    newApiGatewayProxyConfig,+    apiGatewayProxyConfig_apiGatewayId,+    apiGatewayProxyConfig_endpointType,+    apiGatewayProxyConfig_nlbArn,+    apiGatewayProxyConfig_nlbName,+    apiGatewayProxyConfig_proxyUrl,+    apiGatewayProxyConfig_stageName,+    apiGatewayProxyConfig_vpcLinkId,++    -- * ApiGatewayProxyInput+    ApiGatewayProxyInput (..),+    newApiGatewayProxyInput,+    apiGatewayProxyInput_endpointType,+    apiGatewayProxyInput_stageName,++    -- * ApiGatewayProxySummary+    ApiGatewayProxySummary (..),+    newApiGatewayProxySummary,+    apiGatewayProxySummary_apiGatewayId,+    apiGatewayProxySummary_endpointType,+    apiGatewayProxySummary_nlbArn,+    apiGatewayProxySummary_nlbName,+    apiGatewayProxySummary_proxyUrl,+    apiGatewayProxySummary_stageName,+    apiGatewayProxySummary_vpcLinkId,++    -- * ApplicationSummary+    ApplicationSummary (..),+    newApplicationSummary,+    applicationSummary_apiGatewayProxy,+    applicationSummary_applicationId,+    applicationSummary_arn,+    applicationSummary_createdByAccountId,+    applicationSummary_createdTime,+    applicationSummary_environmentId,+    applicationSummary_error,+    applicationSummary_lastUpdatedTime,+    applicationSummary_name,+    applicationSummary_ownerAccountId,+    applicationSummary_proxyType,+    applicationSummary_state,+    applicationSummary_tags,+    applicationSummary_vpcId,++    -- * DefaultRouteInput+    DefaultRouteInput (..),+    newDefaultRouteInput,+    defaultRouteInput_activationState,++    -- * EnvironmentSummary+    EnvironmentSummary (..),+    newEnvironmentSummary,+    environmentSummary_arn,+    environmentSummary_createdTime,+    environmentSummary_description,+    environmentSummary_environmentId,+    environmentSummary_error,+    environmentSummary_lastUpdatedTime,+    environmentSummary_name,+    environmentSummary_networkFabricType,+    environmentSummary_ownerAccountId,+    environmentSummary_state,+    environmentSummary_tags,+    environmentSummary_transitGatewayId,++    -- * EnvironmentVpc+    EnvironmentVpc (..),+    newEnvironmentVpc,+    environmentVpc_accountId,+    environmentVpc_cidrBlocks,+    environmentVpc_createdTime,+    environmentVpc_environmentId,+    environmentVpc_lastUpdatedTime,+    environmentVpc_vpcId,+    environmentVpc_vpcName,++    -- * ErrorResponse+    ErrorResponse (..),+    newErrorResponse,+    errorResponse_accountId,+    errorResponse_additionalDetails,+    errorResponse_code,+    errorResponse_message,+    errorResponse_resourceIdentifier,+    errorResponse_resourceType,++    -- * LambdaEndpointConfig+    LambdaEndpointConfig (..),+    newLambdaEndpointConfig,+    lambdaEndpointConfig_arn,++    -- * LambdaEndpointInput+    LambdaEndpointInput (..),+    newLambdaEndpointInput,+    lambdaEndpointInput_arn,++    -- * LambdaEndpointSummary+    LambdaEndpointSummary (..),+    newLambdaEndpointSummary,+    lambdaEndpointSummary_arn,++    -- * RouteSummary+    RouteSummary (..),+    newRouteSummary,+    routeSummary_applicationId,+    routeSummary_arn,+    routeSummary_createdByAccountId,+    routeSummary_createdTime,+    routeSummary_environmentId,+    routeSummary_error,+    routeSummary_includeChildPaths,+    routeSummary_lastUpdatedTime,+    routeSummary_methods,+    routeSummary_ownerAccountId,+    routeSummary_pathResourceToId,+    routeSummary_routeId,+    routeSummary_routeType,+    routeSummary_serviceId,+    routeSummary_sourcePath,+    routeSummary_state,+    routeSummary_tags,++    -- * ServiceSummary+    ServiceSummary (..),+    newServiceSummary,+    serviceSummary_applicationId,+    serviceSummary_arn,+    serviceSummary_createdByAccountId,+    serviceSummary_createdTime,+    serviceSummary_description,+    serviceSummary_endpointType,+    serviceSummary_environmentId,+    serviceSummary_error,+    serviceSummary_lambdaEndpoint,+    serviceSummary_lastUpdatedTime,+    serviceSummary_name,+    serviceSummary_ownerAccountId,+    serviceSummary_serviceId,+    serviceSummary_state,+    serviceSummary_tags,+    serviceSummary_urlEndpoint,+    serviceSummary_vpcId,++    -- * UriPathRouteInput+    UriPathRouteInput (..),+    newUriPathRouteInput,+    uriPathRouteInput_includeChildPaths,+    uriPathRouteInput_methods,+    uriPathRouteInput_activationState,+    uriPathRouteInput_sourcePath,++    -- * UrlEndpointConfig+    UrlEndpointConfig (..),+    newUrlEndpointConfig,+    urlEndpointConfig_healthUrl,+    urlEndpointConfig_url,++    -- * UrlEndpointInput+    UrlEndpointInput (..),+    newUrlEndpointInput,+    urlEndpointInput_healthUrl,+    urlEndpointInput_url,++    -- * UrlEndpointSummary+    UrlEndpointSummary (..),+    newUrlEndpointSummary,+    urlEndpointSummary_healthUrl,+    urlEndpointSummary_url,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayEndpointType+import Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayProxyConfig+import Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayProxyInput+import Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayProxySummary+import Amazonka.MigrationHubReFactorSpaces.Types.ApplicationState+import Amazonka.MigrationHubReFactorSpaces.Types.ApplicationSummary+import Amazonka.MigrationHubReFactorSpaces.Types.DefaultRouteInput+import Amazonka.MigrationHubReFactorSpaces.Types.EnvironmentState+import Amazonka.MigrationHubReFactorSpaces.Types.EnvironmentSummary+import Amazonka.MigrationHubReFactorSpaces.Types.EnvironmentVpc+import Amazonka.MigrationHubReFactorSpaces.Types.ErrorCode+import Amazonka.MigrationHubReFactorSpaces.Types.ErrorResourceType+import Amazonka.MigrationHubReFactorSpaces.Types.ErrorResponse+import Amazonka.MigrationHubReFactorSpaces.Types.HttpMethod+import Amazonka.MigrationHubReFactorSpaces.Types.LambdaEndpointConfig+import Amazonka.MigrationHubReFactorSpaces.Types.LambdaEndpointInput+import Amazonka.MigrationHubReFactorSpaces.Types.LambdaEndpointSummary+import Amazonka.MigrationHubReFactorSpaces.Types.NetworkFabricType+import Amazonka.MigrationHubReFactorSpaces.Types.ProxyType+import Amazonka.MigrationHubReFactorSpaces.Types.RouteActivationState+import Amazonka.MigrationHubReFactorSpaces.Types.RouteState+import Amazonka.MigrationHubReFactorSpaces.Types.RouteSummary+import Amazonka.MigrationHubReFactorSpaces.Types.RouteType+import Amazonka.MigrationHubReFactorSpaces.Types.ServiceEndpointType+import Amazonka.MigrationHubReFactorSpaces.Types.ServiceState+import Amazonka.MigrationHubReFactorSpaces.Types.ServiceSummary+import Amazonka.MigrationHubReFactorSpaces.Types.UriPathRouteInput+import Amazonka.MigrationHubReFactorSpaces.Types.UrlEndpointConfig+import Amazonka.MigrationHubReFactorSpaces.Types.UrlEndpointInput+import Amazonka.MigrationHubReFactorSpaces.Types.UrlEndpointSummary+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2021-10-26@ of the Amazon Migration Hub Refactor Spaces SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev =+        "MigrationHubReFactorSpaces",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "refactor-spaces",+      Core.signingName = "refactor-spaces",+      Core.version = "2021-10-26",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error =+        Core.parseJSONError "MigrationHubReFactorSpaces",+      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++-- | The user does 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++-- | Updating or deleting a resource can cause an inconsistent state.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | An unexpected error occurred while processing the request.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | The resource policy is not valid.+_InvalidResourcePolicyException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidResourcePolicyException =+  Core._MatchServiceError+    defaultService+    "InvalidResourcePolicyException"+    Prelude.. Core.hasStatus 400++-- | The request references a resource that does not exist.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | The request would cause a service quota to be exceeded.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | Request was denied because the request was throttled.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | The input does not satisfy the constraints specified by an Amazon Web+-- Service.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/ApiGatewayEndpointType.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.MigrationHubReFactorSpaces.Types.ApiGatewayEndpointType+-- 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.MigrationHubReFactorSpaces.Types.ApiGatewayEndpointType+  ( ApiGatewayEndpointType+      ( ..,+        ApiGatewayEndpointType_PRIVATE,+        ApiGatewayEndpointType_REGIONAL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ApiGatewayEndpointType = ApiGatewayEndpointType'+  { fromApiGatewayEndpointType ::+      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 ApiGatewayEndpointType_PRIVATE :: ApiGatewayEndpointType+pattern ApiGatewayEndpointType_PRIVATE = ApiGatewayEndpointType' "PRIVATE"++pattern ApiGatewayEndpointType_REGIONAL :: ApiGatewayEndpointType+pattern ApiGatewayEndpointType_REGIONAL = ApiGatewayEndpointType' "REGIONAL"++{-# COMPLETE+  ApiGatewayEndpointType_PRIVATE,+  ApiGatewayEndpointType_REGIONAL,+  ApiGatewayEndpointType'+  #-}
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/ApiGatewayProxyConfig.hs view
@@ -0,0 +1,152 @@+{-# 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.MigrationHubReFactorSpaces.Types.ApiGatewayProxyConfig+-- 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.MigrationHubReFactorSpaces.Types.ApiGatewayProxyConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayEndpointType+import qualified Amazonka.Prelude as Prelude++-- | A wrapper object holding the Amazon API Gateway proxy configuration.+--+-- /See:/ 'newApiGatewayProxyConfig' smart constructor.+data ApiGatewayProxyConfig = ApiGatewayProxyConfig'+  { -- | The resource ID of the API Gateway for the proxy.+    apiGatewayId :: Prelude.Maybe Prelude.Text,+    -- | The type of API Gateway endpoint created.+    endpointType :: Prelude.Maybe ApiGatewayEndpointType,+    -- | The Amazon Resource Name (ARN) of the Network Load Balancer configured+    -- by the API Gateway proxy.+    nlbArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the Network Load Balancer that is configured by the API+    -- Gateway proxy.+    nlbName :: Prelude.Maybe Prelude.Text,+    -- | The endpoint URL of the API Gateway proxy.+    proxyUrl :: Prelude.Maybe Prelude.Text,+    -- | The name of the API Gateway stage. The name defaults to @prod@.+    stageName :: Prelude.Maybe Prelude.Text,+    -- | The @VpcLink@ ID of the API Gateway proxy.+    vpcLinkId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApiGatewayProxyConfig' with all optional fields 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:+--+-- 'apiGatewayId', 'apiGatewayProxyConfig_apiGatewayId' - The resource ID of the API Gateway for the proxy.+--+-- 'endpointType', 'apiGatewayProxyConfig_endpointType' - The type of API Gateway endpoint created.+--+-- 'nlbArn', 'apiGatewayProxyConfig_nlbArn' - The Amazon Resource Name (ARN) of the Network Load Balancer configured+-- by the API Gateway proxy.+--+-- 'nlbName', 'apiGatewayProxyConfig_nlbName' - The name of the Network Load Balancer that is configured by the API+-- Gateway proxy.+--+-- 'proxyUrl', 'apiGatewayProxyConfig_proxyUrl' - The endpoint URL of the API Gateway proxy.+--+-- 'stageName', 'apiGatewayProxyConfig_stageName' - The name of the API Gateway stage. The name defaults to @prod@.+--+-- 'vpcLinkId', 'apiGatewayProxyConfig_vpcLinkId' - The @VpcLink@ ID of the API Gateway proxy.+newApiGatewayProxyConfig ::+  ApiGatewayProxyConfig+newApiGatewayProxyConfig =+  ApiGatewayProxyConfig'+    { apiGatewayId =+        Prelude.Nothing,+      endpointType = Prelude.Nothing,+      nlbArn = Prelude.Nothing,+      nlbName = Prelude.Nothing,+      proxyUrl = Prelude.Nothing,+      stageName = Prelude.Nothing,+      vpcLinkId = Prelude.Nothing+    }++-- | The resource ID of the API Gateway for the proxy.+apiGatewayProxyConfig_apiGatewayId :: Lens.Lens' ApiGatewayProxyConfig (Prelude.Maybe Prelude.Text)+apiGatewayProxyConfig_apiGatewayId = Lens.lens (\ApiGatewayProxyConfig' {apiGatewayId} -> apiGatewayId) (\s@ApiGatewayProxyConfig' {} a -> s {apiGatewayId = a} :: ApiGatewayProxyConfig)++-- | The type of API Gateway endpoint created.+apiGatewayProxyConfig_endpointType :: Lens.Lens' ApiGatewayProxyConfig (Prelude.Maybe ApiGatewayEndpointType)+apiGatewayProxyConfig_endpointType = Lens.lens (\ApiGatewayProxyConfig' {endpointType} -> endpointType) (\s@ApiGatewayProxyConfig' {} a -> s {endpointType = a} :: ApiGatewayProxyConfig)++-- | The Amazon Resource Name (ARN) of the Network Load Balancer configured+-- by the API Gateway proxy.+apiGatewayProxyConfig_nlbArn :: Lens.Lens' ApiGatewayProxyConfig (Prelude.Maybe Prelude.Text)+apiGatewayProxyConfig_nlbArn = Lens.lens (\ApiGatewayProxyConfig' {nlbArn} -> nlbArn) (\s@ApiGatewayProxyConfig' {} a -> s {nlbArn = a} :: ApiGatewayProxyConfig)++-- | The name of the Network Load Balancer that is configured by the API+-- Gateway proxy.+apiGatewayProxyConfig_nlbName :: Lens.Lens' ApiGatewayProxyConfig (Prelude.Maybe Prelude.Text)+apiGatewayProxyConfig_nlbName = Lens.lens (\ApiGatewayProxyConfig' {nlbName} -> nlbName) (\s@ApiGatewayProxyConfig' {} a -> s {nlbName = a} :: ApiGatewayProxyConfig)++-- | The endpoint URL of the API Gateway proxy.+apiGatewayProxyConfig_proxyUrl :: Lens.Lens' ApiGatewayProxyConfig (Prelude.Maybe Prelude.Text)+apiGatewayProxyConfig_proxyUrl = Lens.lens (\ApiGatewayProxyConfig' {proxyUrl} -> proxyUrl) (\s@ApiGatewayProxyConfig' {} a -> s {proxyUrl = a} :: ApiGatewayProxyConfig)++-- | The name of the API Gateway stage. The name defaults to @prod@.+apiGatewayProxyConfig_stageName :: Lens.Lens' ApiGatewayProxyConfig (Prelude.Maybe Prelude.Text)+apiGatewayProxyConfig_stageName = Lens.lens (\ApiGatewayProxyConfig' {stageName} -> stageName) (\s@ApiGatewayProxyConfig' {} a -> s {stageName = a} :: ApiGatewayProxyConfig)++-- | The @VpcLink@ ID of the API Gateway proxy.+apiGatewayProxyConfig_vpcLinkId :: Lens.Lens' ApiGatewayProxyConfig (Prelude.Maybe Prelude.Text)+apiGatewayProxyConfig_vpcLinkId = Lens.lens (\ApiGatewayProxyConfig' {vpcLinkId} -> vpcLinkId) (\s@ApiGatewayProxyConfig' {} a -> s {vpcLinkId = a} :: ApiGatewayProxyConfig)++instance Data.FromJSON ApiGatewayProxyConfig where+  parseJSON =+    Data.withObject+      "ApiGatewayProxyConfig"+      ( \x ->+          ApiGatewayProxyConfig'+            Prelude.<$> (x Data..:? "ApiGatewayId")+            Prelude.<*> (x Data..:? "EndpointType")+            Prelude.<*> (x Data..:? "NlbArn")+            Prelude.<*> (x Data..:? "NlbName")+            Prelude.<*> (x Data..:? "ProxyUrl")+            Prelude.<*> (x Data..:? "StageName")+            Prelude.<*> (x Data..:? "VpcLinkId")+      )++instance Prelude.Hashable ApiGatewayProxyConfig where+  hashWithSalt _salt ApiGatewayProxyConfig' {..} =+    _salt+      `Prelude.hashWithSalt` apiGatewayId+      `Prelude.hashWithSalt` endpointType+      `Prelude.hashWithSalt` nlbArn+      `Prelude.hashWithSalt` nlbName+      `Prelude.hashWithSalt` proxyUrl+      `Prelude.hashWithSalt` stageName+      `Prelude.hashWithSalt` vpcLinkId++instance Prelude.NFData ApiGatewayProxyConfig where+  rnf ApiGatewayProxyConfig' {..} =+    Prelude.rnf apiGatewayId+      `Prelude.seq` Prelude.rnf endpointType+      `Prelude.seq` Prelude.rnf nlbArn+      `Prelude.seq` Prelude.rnf nlbName+      `Prelude.seq` Prelude.rnf proxyUrl+      `Prelude.seq` Prelude.rnf stageName+      `Prelude.seq` Prelude.rnf vpcLinkId
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/ApiGatewayProxyInput.hs view
@@ -0,0 +1,116 @@+{-# 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.MigrationHubReFactorSpaces.Types.ApiGatewayProxyInput+-- 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.MigrationHubReFactorSpaces.Types.ApiGatewayProxyInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayEndpointType+import qualified Amazonka.Prelude as Prelude++-- | A wrapper object holding the Amazon API Gateway endpoint input.+--+-- /See:/ 'newApiGatewayProxyInput' smart constructor.+data ApiGatewayProxyInput = ApiGatewayProxyInput'+  { -- | The type of endpoint to use for the API Gateway proxy. If no value is+    -- specified in the request, the value is set to @REGIONAL@ by default.+    --+    -- If the value is set to @PRIVATE@ in the request, this creates a private+    -- API endpoint that is isolated from the public internet. The private+    -- endpoint can only be accessed by using Amazon Virtual Private Cloud+    -- (Amazon VPC) endpoints for Amazon API Gateway that have been granted+    -- access.+    endpointType :: Prelude.Maybe ApiGatewayEndpointType,+    -- | The name of the API Gateway stage. The name defaults to @prod@.+    stageName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApiGatewayProxyInput' with all optional fields 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:+--+-- 'endpointType', 'apiGatewayProxyInput_endpointType' - The type of endpoint to use for the API Gateway proxy. If no value is+-- specified in the request, the value is set to @REGIONAL@ by default.+--+-- If the value is set to @PRIVATE@ in the request, this creates a private+-- API endpoint that is isolated from the public internet. The private+-- endpoint can only be accessed by using Amazon Virtual Private Cloud+-- (Amazon VPC) endpoints for Amazon API Gateway that have been granted+-- access.+--+-- 'stageName', 'apiGatewayProxyInput_stageName' - The name of the API Gateway stage. The name defaults to @prod@.+newApiGatewayProxyInput ::+  ApiGatewayProxyInput+newApiGatewayProxyInput =+  ApiGatewayProxyInput'+    { endpointType =+        Prelude.Nothing,+      stageName = Prelude.Nothing+    }++-- | The type of endpoint to use for the API Gateway proxy. If no value is+-- specified in the request, the value is set to @REGIONAL@ by default.+--+-- If the value is set to @PRIVATE@ in the request, this creates a private+-- API endpoint that is isolated from the public internet. The private+-- endpoint can only be accessed by using Amazon Virtual Private Cloud+-- (Amazon VPC) endpoints for Amazon API Gateway that have been granted+-- access.+apiGatewayProxyInput_endpointType :: Lens.Lens' ApiGatewayProxyInput (Prelude.Maybe ApiGatewayEndpointType)+apiGatewayProxyInput_endpointType = Lens.lens (\ApiGatewayProxyInput' {endpointType} -> endpointType) (\s@ApiGatewayProxyInput' {} a -> s {endpointType = a} :: ApiGatewayProxyInput)++-- | The name of the API Gateway stage. The name defaults to @prod@.+apiGatewayProxyInput_stageName :: Lens.Lens' ApiGatewayProxyInput (Prelude.Maybe Prelude.Text)+apiGatewayProxyInput_stageName = Lens.lens (\ApiGatewayProxyInput' {stageName} -> stageName) (\s@ApiGatewayProxyInput' {} a -> s {stageName = a} :: ApiGatewayProxyInput)++instance Data.FromJSON ApiGatewayProxyInput where+  parseJSON =+    Data.withObject+      "ApiGatewayProxyInput"+      ( \x ->+          ApiGatewayProxyInput'+            Prelude.<$> (x Data..:? "EndpointType")+            Prelude.<*> (x Data..:? "StageName")+      )++instance Prelude.Hashable ApiGatewayProxyInput where+  hashWithSalt _salt ApiGatewayProxyInput' {..} =+    _salt+      `Prelude.hashWithSalt` endpointType+      `Prelude.hashWithSalt` stageName++instance Prelude.NFData ApiGatewayProxyInput where+  rnf ApiGatewayProxyInput' {..} =+    Prelude.rnf endpointType+      `Prelude.seq` Prelude.rnf stageName++instance Data.ToJSON ApiGatewayProxyInput where+  toJSON ApiGatewayProxyInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("EndpointType" Data..=) Prelude.<$> endpointType,+            ("StageName" Data..=) Prelude.<$> stageName+          ]+      )
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/ApiGatewayProxySummary.hs view
@@ -0,0 +1,152 @@+{-# 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.MigrationHubReFactorSpaces.Types.ApiGatewayProxySummary+-- 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.MigrationHubReFactorSpaces.Types.ApiGatewayProxySummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayEndpointType+import qualified Amazonka.Prelude as Prelude++-- | A wrapper object holding the Amazon API Gateway proxy summary.+--+-- /See:/ 'newApiGatewayProxySummary' smart constructor.+data ApiGatewayProxySummary = ApiGatewayProxySummary'+  { -- | The resource ID of the API Gateway for the proxy.+    apiGatewayId :: Prelude.Maybe Prelude.Text,+    -- | The type of API Gateway endpoint created.+    endpointType :: Prelude.Maybe ApiGatewayEndpointType,+    -- | The Amazon Resource Name (ARN) of the Network Load Balancer configured+    -- by the API Gateway proxy.+    nlbArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the Network Load Balancer that is configured by the API+    -- Gateway proxy.+    nlbName :: Prelude.Maybe Prelude.Text,+    -- | The endpoint URL of the API Gateway proxy.+    proxyUrl :: Prelude.Maybe Prelude.Text,+    -- | The name of the API Gateway stage. The name defaults to @prod@.+    stageName :: Prelude.Maybe Prelude.Text,+    -- | The @VpcLink@ ID of the API Gateway proxy.+    vpcLinkId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApiGatewayProxySummary' with all optional fields 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:+--+-- 'apiGatewayId', 'apiGatewayProxySummary_apiGatewayId' - The resource ID of the API Gateway for the proxy.+--+-- 'endpointType', 'apiGatewayProxySummary_endpointType' - The type of API Gateway endpoint created.+--+-- 'nlbArn', 'apiGatewayProxySummary_nlbArn' - The Amazon Resource Name (ARN) of the Network Load Balancer configured+-- by the API Gateway proxy.+--+-- 'nlbName', 'apiGatewayProxySummary_nlbName' - The name of the Network Load Balancer that is configured by the API+-- Gateway proxy.+--+-- 'proxyUrl', 'apiGatewayProxySummary_proxyUrl' - The endpoint URL of the API Gateway proxy.+--+-- 'stageName', 'apiGatewayProxySummary_stageName' - The name of the API Gateway stage. The name defaults to @prod@.+--+-- 'vpcLinkId', 'apiGatewayProxySummary_vpcLinkId' - The @VpcLink@ ID of the API Gateway proxy.+newApiGatewayProxySummary ::+  ApiGatewayProxySummary+newApiGatewayProxySummary =+  ApiGatewayProxySummary'+    { apiGatewayId =+        Prelude.Nothing,+      endpointType = Prelude.Nothing,+      nlbArn = Prelude.Nothing,+      nlbName = Prelude.Nothing,+      proxyUrl = Prelude.Nothing,+      stageName = Prelude.Nothing,+      vpcLinkId = Prelude.Nothing+    }++-- | The resource ID of the API Gateway for the proxy.+apiGatewayProxySummary_apiGatewayId :: Lens.Lens' ApiGatewayProxySummary (Prelude.Maybe Prelude.Text)+apiGatewayProxySummary_apiGatewayId = Lens.lens (\ApiGatewayProxySummary' {apiGatewayId} -> apiGatewayId) (\s@ApiGatewayProxySummary' {} a -> s {apiGatewayId = a} :: ApiGatewayProxySummary)++-- | The type of API Gateway endpoint created.+apiGatewayProxySummary_endpointType :: Lens.Lens' ApiGatewayProxySummary (Prelude.Maybe ApiGatewayEndpointType)+apiGatewayProxySummary_endpointType = Lens.lens (\ApiGatewayProxySummary' {endpointType} -> endpointType) (\s@ApiGatewayProxySummary' {} a -> s {endpointType = a} :: ApiGatewayProxySummary)++-- | The Amazon Resource Name (ARN) of the Network Load Balancer configured+-- by the API Gateway proxy.+apiGatewayProxySummary_nlbArn :: Lens.Lens' ApiGatewayProxySummary (Prelude.Maybe Prelude.Text)+apiGatewayProxySummary_nlbArn = Lens.lens (\ApiGatewayProxySummary' {nlbArn} -> nlbArn) (\s@ApiGatewayProxySummary' {} a -> s {nlbArn = a} :: ApiGatewayProxySummary)++-- | The name of the Network Load Balancer that is configured by the API+-- Gateway proxy.+apiGatewayProxySummary_nlbName :: Lens.Lens' ApiGatewayProxySummary (Prelude.Maybe Prelude.Text)+apiGatewayProxySummary_nlbName = Lens.lens (\ApiGatewayProxySummary' {nlbName} -> nlbName) (\s@ApiGatewayProxySummary' {} a -> s {nlbName = a} :: ApiGatewayProxySummary)++-- | The endpoint URL of the API Gateway proxy.+apiGatewayProxySummary_proxyUrl :: Lens.Lens' ApiGatewayProxySummary (Prelude.Maybe Prelude.Text)+apiGatewayProxySummary_proxyUrl = Lens.lens (\ApiGatewayProxySummary' {proxyUrl} -> proxyUrl) (\s@ApiGatewayProxySummary' {} a -> s {proxyUrl = a} :: ApiGatewayProxySummary)++-- | The name of the API Gateway stage. The name defaults to @prod@.+apiGatewayProxySummary_stageName :: Lens.Lens' ApiGatewayProxySummary (Prelude.Maybe Prelude.Text)+apiGatewayProxySummary_stageName = Lens.lens (\ApiGatewayProxySummary' {stageName} -> stageName) (\s@ApiGatewayProxySummary' {} a -> s {stageName = a} :: ApiGatewayProxySummary)++-- | The @VpcLink@ ID of the API Gateway proxy.+apiGatewayProxySummary_vpcLinkId :: Lens.Lens' ApiGatewayProxySummary (Prelude.Maybe Prelude.Text)+apiGatewayProxySummary_vpcLinkId = Lens.lens (\ApiGatewayProxySummary' {vpcLinkId} -> vpcLinkId) (\s@ApiGatewayProxySummary' {} a -> s {vpcLinkId = a} :: ApiGatewayProxySummary)++instance Data.FromJSON ApiGatewayProxySummary where+  parseJSON =+    Data.withObject+      "ApiGatewayProxySummary"+      ( \x ->+          ApiGatewayProxySummary'+            Prelude.<$> (x Data..:? "ApiGatewayId")+            Prelude.<*> (x Data..:? "EndpointType")+            Prelude.<*> (x Data..:? "NlbArn")+            Prelude.<*> (x Data..:? "NlbName")+            Prelude.<*> (x Data..:? "ProxyUrl")+            Prelude.<*> (x Data..:? "StageName")+            Prelude.<*> (x Data..:? "VpcLinkId")+      )++instance Prelude.Hashable ApiGatewayProxySummary where+  hashWithSalt _salt ApiGatewayProxySummary' {..} =+    _salt+      `Prelude.hashWithSalt` apiGatewayId+      `Prelude.hashWithSalt` endpointType+      `Prelude.hashWithSalt` nlbArn+      `Prelude.hashWithSalt` nlbName+      `Prelude.hashWithSalt` proxyUrl+      `Prelude.hashWithSalt` stageName+      `Prelude.hashWithSalt` vpcLinkId++instance Prelude.NFData ApiGatewayProxySummary where+  rnf ApiGatewayProxySummary' {..} =+    Prelude.rnf apiGatewayId+      `Prelude.seq` Prelude.rnf endpointType+      `Prelude.seq` Prelude.rnf nlbArn+      `Prelude.seq` Prelude.rnf nlbName+      `Prelude.seq` Prelude.rnf proxyUrl+      `Prelude.seq` Prelude.rnf stageName+      `Prelude.seq` Prelude.rnf vpcLinkId
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/ApplicationState.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.MigrationHubReFactorSpaces.Types.ApplicationState+-- 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.MigrationHubReFactorSpaces.Types.ApplicationState+  ( ApplicationState+      ( ..,+        ApplicationState_ACTIVE,+        ApplicationState_CREATING,+        ApplicationState_DELETING,+        ApplicationState_FAILED,+        ApplicationState_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ApplicationState = ApplicationState'+  { fromApplicationState ::+      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 ApplicationState_ACTIVE :: ApplicationState+pattern ApplicationState_ACTIVE = ApplicationState' "ACTIVE"++pattern ApplicationState_CREATING :: ApplicationState+pattern ApplicationState_CREATING = ApplicationState' "CREATING"++pattern ApplicationState_DELETING :: ApplicationState+pattern ApplicationState_DELETING = ApplicationState' "DELETING"++pattern ApplicationState_FAILED :: ApplicationState+pattern ApplicationState_FAILED = ApplicationState' "FAILED"++pattern ApplicationState_UPDATING :: ApplicationState+pattern ApplicationState_UPDATING = ApplicationState' "UPDATING"++{-# COMPLETE+  ApplicationState_ACTIVE,+  ApplicationState_CREATING,+  ApplicationState_DELETING,+  ApplicationState_FAILED,+  ApplicationState_UPDATING,+  ApplicationState'+  #-}
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/ApplicationSummary.hs view
@@ -0,0 +1,236 @@+{-# 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.MigrationHubReFactorSpaces.Types.ApplicationSummary+-- 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.MigrationHubReFactorSpaces.Types.ApplicationSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types.ApiGatewayProxySummary+import Amazonka.MigrationHubReFactorSpaces.Types.ApplicationState+import Amazonka.MigrationHubReFactorSpaces.Types.ErrorResponse+import Amazonka.MigrationHubReFactorSpaces.Types.ProxyType+import qualified Amazonka.Prelude as Prelude++-- | The list of @ApplicationSummary@ objects.+--+-- /See:/ 'newApplicationSummary' smart constructor.+data ApplicationSummary = ApplicationSummary'+  { -- | The endpoint URL of the Amazon API Gateway proxy.+    apiGatewayProxy :: Prelude.Maybe ApiGatewayProxySummary,+    -- | The unique identifier of the application.+    applicationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the application.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the application creator.+    createdByAccountId :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the application is created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The unique identifier of the environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | Any error associated with the application resource.+    error :: Prelude.Maybe ErrorResponse,+    -- | A timestamp that indicates when the application was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the application.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the application owner (which is+    -- always the same as the environment owner account ID).+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The proxy type of the proxy created within the application.+    proxyType :: Prelude.Maybe ProxyType,+    -- | The current state of the application.+    state :: Prelude.Maybe ApplicationState,+    -- | The tags assigned to the application.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The ID of the virtual private cloud (VPC).+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ApplicationSummary' with all optional fields 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:+--+-- 'apiGatewayProxy', 'applicationSummary_apiGatewayProxy' - The endpoint URL of the Amazon API Gateway proxy.+--+-- 'applicationId', 'applicationSummary_applicationId' - The unique identifier of the application.+--+-- 'arn', 'applicationSummary_arn' - The Amazon Resource Name (ARN) of the application.+--+-- 'createdByAccountId', 'applicationSummary_createdByAccountId' - The Amazon Web Services account ID of the application creator.+--+-- 'createdTime', 'applicationSummary_createdTime' - A timestamp that indicates when the application is created.+--+-- 'environmentId', 'applicationSummary_environmentId' - The unique identifier of the environment.+--+-- 'error', 'applicationSummary_error' - Any error associated with the application resource.+--+-- 'lastUpdatedTime', 'applicationSummary_lastUpdatedTime' - A timestamp that indicates when the application was last updated.+--+-- 'name', 'applicationSummary_name' - The name of the application.+--+-- 'ownerAccountId', 'applicationSummary_ownerAccountId' - The Amazon Web Services account ID of the application owner (which is+-- always the same as the environment owner account ID).+--+-- 'proxyType', 'applicationSummary_proxyType' - The proxy type of the proxy created within the application.+--+-- 'state', 'applicationSummary_state' - The current state of the application.+--+-- 'tags', 'applicationSummary_tags' - The tags assigned to the application.+--+-- 'vpcId', 'applicationSummary_vpcId' - The ID of the virtual private cloud (VPC).+newApplicationSummary ::+  ApplicationSummary+newApplicationSummary =+  ApplicationSummary'+    { apiGatewayProxy =+        Prelude.Nothing,+      applicationId = Prelude.Nothing,+      arn = Prelude.Nothing,+      createdByAccountId = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      error = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      proxyType = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      vpcId = Prelude.Nothing+    }++-- | The endpoint URL of the Amazon API Gateway proxy.+applicationSummary_apiGatewayProxy :: Lens.Lens' ApplicationSummary (Prelude.Maybe ApiGatewayProxySummary)+applicationSummary_apiGatewayProxy = Lens.lens (\ApplicationSummary' {apiGatewayProxy} -> apiGatewayProxy) (\s@ApplicationSummary' {} a -> s {apiGatewayProxy = a} :: ApplicationSummary)++-- | The unique identifier of the application.+applicationSummary_applicationId :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)+applicationSummary_applicationId = Lens.lens (\ApplicationSummary' {applicationId} -> applicationId) (\s@ApplicationSummary' {} a -> s {applicationId = a} :: ApplicationSummary)++-- | The Amazon Resource Name (ARN) of the application.+applicationSummary_arn :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)+applicationSummary_arn = Lens.lens (\ApplicationSummary' {arn} -> arn) (\s@ApplicationSummary' {} a -> s {arn = a} :: ApplicationSummary)++-- | The Amazon Web Services account ID of the application creator.+applicationSummary_createdByAccountId :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)+applicationSummary_createdByAccountId = Lens.lens (\ApplicationSummary' {createdByAccountId} -> createdByAccountId) (\s@ApplicationSummary' {} a -> s {createdByAccountId = a} :: ApplicationSummary)++-- | A timestamp that indicates when the application is created.+applicationSummary_createdTime :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.UTCTime)+applicationSummary_createdTime = Lens.lens (\ApplicationSummary' {createdTime} -> createdTime) (\s@ApplicationSummary' {} a -> s {createdTime = a} :: ApplicationSummary) Prelude.. Lens.mapping Data._Time++-- | The unique identifier of the environment.+applicationSummary_environmentId :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)+applicationSummary_environmentId = Lens.lens (\ApplicationSummary' {environmentId} -> environmentId) (\s@ApplicationSummary' {} a -> s {environmentId = a} :: ApplicationSummary)++-- | Any error associated with the application resource.+applicationSummary_error :: Lens.Lens' ApplicationSummary (Prelude.Maybe ErrorResponse)+applicationSummary_error = Lens.lens (\ApplicationSummary' {error} -> error) (\s@ApplicationSummary' {} a -> s {error = a} :: ApplicationSummary)++-- | A timestamp that indicates when the application was last updated.+applicationSummary_lastUpdatedTime :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.UTCTime)+applicationSummary_lastUpdatedTime = Lens.lens (\ApplicationSummary' {lastUpdatedTime} -> lastUpdatedTime) (\s@ApplicationSummary' {} a -> s {lastUpdatedTime = a} :: ApplicationSummary) Prelude.. Lens.mapping Data._Time++-- | The name of the application.+applicationSummary_name :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)+applicationSummary_name = Lens.lens (\ApplicationSummary' {name} -> name) (\s@ApplicationSummary' {} a -> s {name = a} :: ApplicationSummary)++-- | The Amazon Web Services account ID of the application owner (which is+-- always the same as the environment owner account ID).+applicationSummary_ownerAccountId :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)+applicationSummary_ownerAccountId = Lens.lens (\ApplicationSummary' {ownerAccountId} -> ownerAccountId) (\s@ApplicationSummary' {} a -> s {ownerAccountId = a} :: ApplicationSummary)++-- | The proxy type of the proxy created within the application.+applicationSummary_proxyType :: Lens.Lens' ApplicationSummary (Prelude.Maybe ProxyType)+applicationSummary_proxyType = Lens.lens (\ApplicationSummary' {proxyType} -> proxyType) (\s@ApplicationSummary' {} a -> s {proxyType = a} :: ApplicationSummary)++-- | The current state of the application.+applicationSummary_state :: Lens.Lens' ApplicationSummary (Prelude.Maybe ApplicationState)+applicationSummary_state = Lens.lens (\ApplicationSummary' {state} -> state) (\s@ApplicationSummary' {} a -> s {state = a} :: ApplicationSummary)++-- | The tags assigned to the application.+applicationSummary_tags :: Lens.Lens' ApplicationSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+applicationSummary_tags = Lens.lens (\ApplicationSummary' {tags} -> tags) (\s@ApplicationSummary' {} a -> s {tags = a} :: ApplicationSummary) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The ID of the virtual private cloud (VPC).+applicationSummary_vpcId :: Lens.Lens' ApplicationSummary (Prelude.Maybe Prelude.Text)+applicationSummary_vpcId = Lens.lens (\ApplicationSummary' {vpcId} -> vpcId) (\s@ApplicationSummary' {} a -> s {vpcId = a} :: ApplicationSummary)++instance Data.FromJSON ApplicationSummary where+  parseJSON =+    Data.withObject+      "ApplicationSummary"+      ( \x ->+          ApplicationSummary'+            Prelude.<$> (x Data..:? "ApiGatewayProxy")+            Prelude.<*> (x Data..:? "ApplicationId")+            Prelude.<*> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedByAccountId")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "EnvironmentId")+            Prelude.<*> (x Data..:? "Error")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "OwnerAccountId")+            Prelude.<*> (x Data..:? "ProxyType")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "VpcId")+      )++instance Prelude.Hashable ApplicationSummary where+  hashWithSalt _salt ApplicationSummary' {..} =+    _salt+      `Prelude.hashWithSalt` apiGatewayProxy+      `Prelude.hashWithSalt` applicationId+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdByAccountId+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` environmentId+      `Prelude.hashWithSalt` error+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` ownerAccountId+      `Prelude.hashWithSalt` proxyType+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` vpcId++instance Prelude.NFData ApplicationSummary where+  rnf ApplicationSummary' {..} =+    Prelude.rnf apiGatewayProxy+      `Prelude.seq` Prelude.rnf applicationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdByAccountId+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf proxyType+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/DefaultRouteInput.hs view
@@ -0,0 +1,76 @@+{-# 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.MigrationHubReFactorSpaces.Types.DefaultRouteInput+-- 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.MigrationHubReFactorSpaces.Types.DefaultRouteInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types.RouteActivationState+import qualified Amazonka.Prelude as Prelude++-- | The configuration for the default route type.+--+-- /See:/ 'newDefaultRouteInput' smart constructor.+data DefaultRouteInput = DefaultRouteInput'+  { -- | If set to @ACTIVE@, traffic is forwarded to this route’s service after+    -- the route is created.+    activationState :: Prelude.Maybe RouteActivationState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DefaultRouteInput' with all optional fields 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:+--+-- 'activationState', 'defaultRouteInput_activationState' - If set to @ACTIVE@, traffic is forwarded to this route’s service after+-- the route is created.+newDefaultRouteInput ::+  DefaultRouteInput+newDefaultRouteInput =+  DefaultRouteInput'+    { activationState =+        Prelude.Nothing+    }++-- | If set to @ACTIVE@, traffic is forwarded to this route’s service after+-- the route is created.+defaultRouteInput_activationState :: Lens.Lens' DefaultRouteInput (Prelude.Maybe RouteActivationState)+defaultRouteInput_activationState = Lens.lens (\DefaultRouteInput' {activationState} -> activationState) (\s@DefaultRouteInput' {} a -> s {activationState = a} :: DefaultRouteInput)++instance Prelude.Hashable DefaultRouteInput where+  hashWithSalt _salt DefaultRouteInput' {..} =+    _salt `Prelude.hashWithSalt` activationState++instance Prelude.NFData DefaultRouteInput where+  rnf DefaultRouteInput' {..} =+    Prelude.rnf activationState++instance Data.ToJSON DefaultRouteInput where+  toJSON DefaultRouteInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ActivationState" Data..=)+              Prelude.<$> activationState+          ]+      )
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/EnvironmentState.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.MigrationHubReFactorSpaces.Types.EnvironmentState+-- 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.MigrationHubReFactorSpaces.Types.EnvironmentState+  ( EnvironmentState+      ( ..,+        EnvironmentState_ACTIVE,+        EnvironmentState_CREATING,+        EnvironmentState_DELETING,+        EnvironmentState_FAILED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EnvironmentState = EnvironmentState'+  { fromEnvironmentState ::+      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 EnvironmentState_ACTIVE :: EnvironmentState+pattern EnvironmentState_ACTIVE = EnvironmentState' "ACTIVE"++pattern EnvironmentState_CREATING :: EnvironmentState+pattern EnvironmentState_CREATING = EnvironmentState' "CREATING"++pattern EnvironmentState_DELETING :: EnvironmentState+pattern EnvironmentState_DELETING = EnvironmentState' "DELETING"++pattern EnvironmentState_FAILED :: EnvironmentState+pattern EnvironmentState_FAILED = EnvironmentState' "FAILED"++{-# COMPLETE+  EnvironmentState_ACTIVE,+  EnvironmentState_CREATING,+  EnvironmentState_DELETING,+  EnvironmentState_FAILED,+  EnvironmentState'+  #-}
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/EnvironmentSummary.hs view
@@ -0,0 +1,208 @@+{-# 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.MigrationHubReFactorSpaces.Types.EnvironmentSummary+-- 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.MigrationHubReFactorSpaces.Types.EnvironmentSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types.EnvironmentState+import Amazonka.MigrationHubReFactorSpaces.Types.ErrorResponse+import Amazonka.MigrationHubReFactorSpaces.Types.NetworkFabricType+import qualified Amazonka.Prelude as Prelude++-- | The summary information for environments as a response to+-- @ListEnvironments@.+--+-- /See:/ 'newEnvironmentSummary' smart constructor.+data EnvironmentSummary = EnvironmentSummary'+  { -- | The Amazon Resource Name (ARN) of the environment.+    arn :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the environment is created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | A description of the environment.+    description :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier of the environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | Any error associated with the environment resource.+    error :: Prelude.Maybe ErrorResponse,+    -- | A timestamp that indicates when the environment was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the environment.+    name :: Prelude.Maybe Prelude.Text,+    -- | The network fabric type of the environment.+    networkFabricType :: Prelude.Maybe NetworkFabricType,+    -- | The Amazon Web Services account ID of the environment owner.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The current state of the environment.+    state :: Prelude.Maybe EnvironmentState,+    -- | The tags assigned to the environment.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The ID of the transit gateway set up by the environment.+    transitGatewayId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EnvironmentSummary' with all optional fields 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', 'environmentSummary_arn' - The Amazon Resource Name (ARN) of the environment.+--+-- 'createdTime', 'environmentSummary_createdTime' - A timestamp that indicates when the environment is created.+--+-- 'description', 'environmentSummary_description' - A description of the environment.+--+-- 'environmentId', 'environmentSummary_environmentId' - The unique identifier of the environment.+--+-- 'error', 'environmentSummary_error' - Any error associated with the environment resource.+--+-- 'lastUpdatedTime', 'environmentSummary_lastUpdatedTime' - A timestamp that indicates when the environment was last updated.+--+-- 'name', 'environmentSummary_name' - The name of the environment.+--+-- 'networkFabricType', 'environmentSummary_networkFabricType' - The network fabric type of the environment.+--+-- 'ownerAccountId', 'environmentSummary_ownerAccountId' - The Amazon Web Services account ID of the environment owner.+--+-- 'state', 'environmentSummary_state' - The current state of the environment.+--+-- 'tags', 'environmentSummary_tags' - The tags assigned to the environment.+--+-- 'transitGatewayId', 'environmentSummary_transitGatewayId' - The ID of the transit gateway set up by the environment.+newEnvironmentSummary ::+  EnvironmentSummary+newEnvironmentSummary =+  EnvironmentSummary'+    { arn = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      description = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      error = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      networkFabricType = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      transitGatewayId = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the environment.+environmentSummary_arn :: Lens.Lens' EnvironmentSummary (Prelude.Maybe Prelude.Text)+environmentSummary_arn = Lens.lens (\EnvironmentSummary' {arn} -> arn) (\s@EnvironmentSummary' {} a -> s {arn = a} :: EnvironmentSummary)++-- | A timestamp that indicates when the environment is created.+environmentSummary_createdTime :: Lens.Lens' EnvironmentSummary (Prelude.Maybe Prelude.UTCTime)+environmentSummary_createdTime = Lens.lens (\EnvironmentSummary' {createdTime} -> createdTime) (\s@EnvironmentSummary' {} a -> s {createdTime = a} :: EnvironmentSummary) Prelude.. Lens.mapping Data._Time++-- | A description of the environment.+environmentSummary_description :: Lens.Lens' EnvironmentSummary (Prelude.Maybe Prelude.Text)+environmentSummary_description = Lens.lens (\EnvironmentSummary' {description} -> description) (\s@EnvironmentSummary' {} a -> s {description = a} :: EnvironmentSummary)++-- | The unique identifier of the environment.+environmentSummary_environmentId :: Lens.Lens' EnvironmentSummary (Prelude.Maybe Prelude.Text)+environmentSummary_environmentId = Lens.lens (\EnvironmentSummary' {environmentId} -> environmentId) (\s@EnvironmentSummary' {} a -> s {environmentId = a} :: EnvironmentSummary)++-- | Any error associated with the environment resource.+environmentSummary_error :: Lens.Lens' EnvironmentSummary (Prelude.Maybe ErrorResponse)+environmentSummary_error = Lens.lens (\EnvironmentSummary' {error} -> error) (\s@EnvironmentSummary' {} a -> s {error = a} :: EnvironmentSummary)++-- | A timestamp that indicates when the environment was last updated.+environmentSummary_lastUpdatedTime :: Lens.Lens' EnvironmentSummary (Prelude.Maybe Prelude.UTCTime)+environmentSummary_lastUpdatedTime = Lens.lens (\EnvironmentSummary' {lastUpdatedTime} -> lastUpdatedTime) (\s@EnvironmentSummary' {} a -> s {lastUpdatedTime = a} :: EnvironmentSummary) Prelude.. Lens.mapping Data._Time++-- | The name of the environment.+environmentSummary_name :: Lens.Lens' EnvironmentSummary (Prelude.Maybe Prelude.Text)+environmentSummary_name = Lens.lens (\EnvironmentSummary' {name} -> name) (\s@EnvironmentSummary' {} a -> s {name = a} :: EnvironmentSummary)++-- | The network fabric type of the environment.+environmentSummary_networkFabricType :: Lens.Lens' EnvironmentSummary (Prelude.Maybe NetworkFabricType)+environmentSummary_networkFabricType = Lens.lens (\EnvironmentSummary' {networkFabricType} -> networkFabricType) (\s@EnvironmentSummary' {} a -> s {networkFabricType = a} :: EnvironmentSummary)++-- | The Amazon Web Services account ID of the environment owner.+environmentSummary_ownerAccountId :: Lens.Lens' EnvironmentSummary (Prelude.Maybe Prelude.Text)+environmentSummary_ownerAccountId = Lens.lens (\EnvironmentSummary' {ownerAccountId} -> ownerAccountId) (\s@EnvironmentSummary' {} a -> s {ownerAccountId = a} :: EnvironmentSummary)++-- | The current state of the environment.+environmentSummary_state :: Lens.Lens' EnvironmentSummary (Prelude.Maybe EnvironmentState)+environmentSummary_state = Lens.lens (\EnvironmentSummary' {state} -> state) (\s@EnvironmentSummary' {} a -> s {state = a} :: EnvironmentSummary)++-- | The tags assigned to the environment.+environmentSummary_tags :: Lens.Lens' EnvironmentSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+environmentSummary_tags = Lens.lens (\EnvironmentSummary' {tags} -> tags) (\s@EnvironmentSummary' {} a -> s {tags = a} :: EnvironmentSummary) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The ID of the transit gateway set up by the environment.+environmentSummary_transitGatewayId :: Lens.Lens' EnvironmentSummary (Prelude.Maybe Prelude.Text)+environmentSummary_transitGatewayId = Lens.lens (\EnvironmentSummary' {transitGatewayId} -> transitGatewayId) (\s@EnvironmentSummary' {} a -> s {transitGatewayId = a} :: EnvironmentSummary)++instance Data.FromJSON EnvironmentSummary where+  parseJSON =+    Data.withObject+      "EnvironmentSummary"+      ( \x ->+          EnvironmentSummary'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "EnvironmentId")+            Prelude.<*> (x Data..:? "Error")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "NetworkFabricType")+            Prelude.<*> (x Data..:? "OwnerAccountId")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "TransitGatewayId")+      )++instance Prelude.Hashable EnvironmentSummary where+  hashWithSalt _salt EnvironmentSummary' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` environmentId+      `Prelude.hashWithSalt` error+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` networkFabricType+      `Prelude.hashWithSalt` ownerAccountId+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` transitGatewayId++instance Prelude.NFData EnvironmentSummary where+  rnf EnvironmentSummary' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf networkFabricType+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf transitGatewayId
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/EnvironmentVpc.hs view
@@ -0,0 +1,154 @@+{-# 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.MigrationHubReFactorSpaces.Types.EnvironmentVpc+-- 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.MigrationHubReFactorSpaces.Types.EnvironmentVpc 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++-- | Provides summary information for the @EnvironmentVpc@ resource as a+-- response to @ListEnvironmentVpc@.+--+-- /See:/ 'newEnvironmentVpc' smart constructor.+data EnvironmentVpc = EnvironmentVpc'+  { -- | The Amazon Web Services account ID of the virtual private cloud (VPC)+    -- owner.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | The list of Amazon Virtual Private Cloud (Amazon VPC) CIDR blocks.+    cidrBlocks :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | A timestamp that indicates when the VPC is first added to the+    -- environment.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The unique identifier of the environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the VPC was last updated by the+    -- environment.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The ID of the VPC.+    vpcId :: Prelude.Maybe Prelude.Text,+    -- | The name of the VPC at the time it is added to the environment.+    vpcName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EnvironmentVpc' with all optional fields 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:+--+-- 'accountId', 'environmentVpc_accountId' - The Amazon Web Services account ID of the virtual private cloud (VPC)+-- owner.+--+-- 'cidrBlocks', 'environmentVpc_cidrBlocks' - The list of Amazon Virtual Private Cloud (Amazon VPC) CIDR blocks.+--+-- 'createdTime', 'environmentVpc_createdTime' - A timestamp that indicates when the VPC is first added to the+-- environment.+--+-- 'environmentId', 'environmentVpc_environmentId' - The unique identifier of the environment.+--+-- 'lastUpdatedTime', 'environmentVpc_lastUpdatedTime' - A timestamp that indicates when the VPC was last updated by the+-- environment.+--+-- 'vpcId', 'environmentVpc_vpcId' - The ID of the VPC.+--+-- 'vpcName', 'environmentVpc_vpcName' - The name of the VPC at the time it is added to the environment.+newEnvironmentVpc ::+  EnvironmentVpc+newEnvironmentVpc =+  EnvironmentVpc'+    { accountId = Prelude.Nothing,+      cidrBlocks = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      vpcId = Prelude.Nothing,+      vpcName = Prelude.Nothing+    }++-- | The Amazon Web Services account ID of the virtual private cloud (VPC)+-- owner.+environmentVpc_accountId :: Lens.Lens' EnvironmentVpc (Prelude.Maybe Prelude.Text)+environmentVpc_accountId = Lens.lens (\EnvironmentVpc' {accountId} -> accountId) (\s@EnvironmentVpc' {} a -> s {accountId = a} :: EnvironmentVpc)++-- | The list of Amazon Virtual Private Cloud (Amazon VPC) CIDR blocks.+environmentVpc_cidrBlocks :: Lens.Lens' EnvironmentVpc (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+environmentVpc_cidrBlocks = Lens.lens (\EnvironmentVpc' {cidrBlocks} -> cidrBlocks) (\s@EnvironmentVpc' {} a -> s {cidrBlocks = a} :: EnvironmentVpc) Prelude.. Lens.mapping Lens.coerced++-- | A timestamp that indicates when the VPC is first added to the+-- environment.+environmentVpc_createdTime :: Lens.Lens' EnvironmentVpc (Prelude.Maybe Prelude.UTCTime)+environmentVpc_createdTime = Lens.lens (\EnvironmentVpc' {createdTime} -> createdTime) (\s@EnvironmentVpc' {} a -> s {createdTime = a} :: EnvironmentVpc) Prelude.. Lens.mapping Data._Time++-- | The unique identifier of the environment.+environmentVpc_environmentId :: Lens.Lens' EnvironmentVpc (Prelude.Maybe Prelude.Text)+environmentVpc_environmentId = Lens.lens (\EnvironmentVpc' {environmentId} -> environmentId) (\s@EnvironmentVpc' {} a -> s {environmentId = a} :: EnvironmentVpc)++-- | A timestamp that indicates when the VPC was last updated by the+-- environment.+environmentVpc_lastUpdatedTime :: Lens.Lens' EnvironmentVpc (Prelude.Maybe Prelude.UTCTime)+environmentVpc_lastUpdatedTime = Lens.lens (\EnvironmentVpc' {lastUpdatedTime} -> lastUpdatedTime) (\s@EnvironmentVpc' {} a -> s {lastUpdatedTime = a} :: EnvironmentVpc) Prelude.. Lens.mapping Data._Time++-- | The ID of the VPC.+environmentVpc_vpcId :: Lens.Lens' EnvironmentVpc (Prelude.Maybe Prelude.Text)+environmentVpc_vpcId = Lens.lens (\EnvironmentVpc' {vpcId} -> vpcId) (\s@EnvironmentVpc' {} a -> s {vpcId = a} :: EnvironmentVpc)++-- | The name of the VPC at the time it is added to the environment.+environmentVpc_vpcName :: Lens.Lens' EnvironmentVpc (Prelude.Maybe Prelude.Text)+environmentVpc_vpcName = Lens.lens (\EnvironmentVpc' {vpcName} -> vpcName) (\s@EnvironmentVpc' {} a -> s {vpcName = a} :: EnvironmentVpc)++instance Data.FromJSON EnvironmentVpc where+  parseJSON =+    Data.withObject+      "EnvironmentVpc"+      ( \x ->+          EnvironmentVpc'+            Prelude.<$> (x Data..:? "AccountId")+            Prelude.<*> (x Data..:? "CidrBlocks")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "EnvironmentId")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "VpcId")+            Prelude.<*> (x Data..:? "VpcName")+      )++instance Prelude.Hashable EnvironmentVpc where+  hashWithSalt _salt EnvironmentVpc' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` cidrBlocks+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` environmentId+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` vpcId+      `Prelude.hashWithSalt` vpcName++instance Prelude.NFData EnvironmentVpc where+  rnf EnvironmentVpc' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf cidrBlocks+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf vpcId+      `Prelude.seq` Prelude.rnf vpcName
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/ErrorCode.hs view
@@ -0,0 +1,121 @@+{-# 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.MigrationHubReFactorSpaces.Types.ErrorCode+-- 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.MigrationHubReFactorSpaces.Types.ErrorCode+  ( ErrorCode+      ( ..,+        ErrorCode_INVALID_RESOURCE_STATE,+        ErrorCode_NOT_AUTHORIZED,+        ErrorCode_REQUEST_LIMIT_EXCEEDED,+        ErrorCode_RESOURCE_CREATION_FAILURE,+        ErrorCode_RESOURCE_DELETION_FAILURE,+        ErrorCode_RESOURCE_IN_USE,+        ErrorCode_RESOURCE_LIMIT_EXCEEDED,+        ErrorCode_RESOURCE_NOT_FOUND,+        ErrorCode_RESOURCE_RETRIEVAL_FAILURE,+        ErrorCode_RESOURCE_UPDATE_FAILURE,+        ErrorCode_SERVICE_ENDPOINT_HEALTH_CHECK_FAILURE,+        ErrorCode_STATE_TRANSITION_FAILURE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ErrorCode = ErrorCode'+  { fromErrorCode ::+      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 ErrorCode_INVALID_RESOURCE_STATE :: ErrorCode+pattern ErrorCode_INVALID_RESOURCE_STATE = ErrorCode' "INVALID_RESOURCE_STATE"++pattern ErrorCode_NOT_AUTHORIZED :: ErrorCode+pattern ErrorCode_NOT_AUTHORIZED = ErrorCode' "NOT_AUTHORIZED"++pattern ErrorCode_REQUEST_LIMIT_EXCEEDED :: ErrorCode+pattern ErrorCode_REQUEST_LIMIT_EXCEEDED = ErrorCode' "REQUEST_LIMIT_EXCEEDED"++pattern ErrorCode_RESOURCE_CREATION_FAILURE :: ErrorCode+pattern ErrorCode_RESOURCE_CREATION_FAILURE = ErrorCode' "RESOURCE_CREATION_FAILURE"++pattern ErrorCode_RESOURCE_DELETION_FAILURE :: ErrorCode+pattern ErrorCode_RESOURCE_DELETION_FAILURE = ErrorCode' "RESOURCE_DELETION_FAILURE"++pattern ErrorCode_RESOURCE_IN_USE :: ErrorCode+pattern ErrorCode_RESOURCE_IN_USE = ErrorCode' "RESOURCE_IN_USE"++pattern ErrorCode_RESOURCE_LIMIT_EXCEEDED :: ErrorCode+pattern ErrorCode_RESOURCE_LIMIT_EXCEEDED = ErrorCode' "RESOURCE_LIMIT_EXCEEDED"++pattern ErrorCode_RESOURCE_NOT_FOUND :: ErrorCode+pattern ErrorCode_RESOURCE_NOT_FOUND = ErrorCode' "RESOURCE_NOT_FOUND"++pattern ErrorCode_RESOURCE_RETRIEVAL_FAILURE :: ErrorCode+pattern ErrorCode_RESOURCE_RETRIEVAL_FAILURE = ErrorCode' "RESOURCE_RETRIEVAL_FAILURE"++pattern ErrorCode_RESOURCE_UPDATE_FAILURE :: ErrorCode+pattern ErrorCode_RESOURCE_UPDATE_FAILURE = ErrorCode' "RESOURCE_UPDATE_FAILURE"++pattern ErrorCode_SERVICE_ENDPOINT_HEALTH_CHECK_FAILURE :: ErrorCode+pattern ErrorCode_SERVICE_ENDPOINT_HEALTH_CHECK_FAILURE = ErrorCode' "SERVICE_ENDPOINT_HEALTH_CHECK_FAILURE"++pattern ErrorCode_STATE_TRANSITION_FAILURE :: ErrorCode+pattern ErrorCode_STATE_TRANSITION_FAILURE = ErrorCode' "STATE_TRANSITION_FAILURE"++{-# COMPLETE+  ErrorCode_INVALID_RESOURCE_STATE,+  ErrorCode_NOT_AUTHORIZED,+  ErrorCode_REQUEST_LIMIT_EXCEEDED,+  ErrorCode_RESOURCE_CREATION_FAILURE,+  ErrorCode_RESOURCE_DELETION_FAILURE,+  ErrorCode_RESOURCE_IN_USE,+  ErrorCode_RESOURCE_LIMIT_EXCEEDED,+  ErrorCode_RESOURCE_NOT_FOUND,+  ErrorCode_RESOURCE_RETRIEVAL_FAILURE,+  ErrorCode_RESOURCE_UPDATE_FAILURE,+  ErrorCode_SERVICE_ENDPOINT_HEALTH_CHECK_FAILURE,+  ErrorCode_STATE_TRANSITION_FAILURE,+  ErrorCode'+  #-}
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/ErrorResourceType.hs view
@@ -0,0 +1,156 @@+{-# 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.MigrationHubReFactorSpaces.Types.ErrorResourceType+-- 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.MigrationHubReFactorSpaces.Types.ErrorResourceType+  ( ErrorResourceType+      ( ..,+        ErrorResourceType_API_GATEWAY,+        ErrorResourceType_APPLICATION,+        ErrorResourceType_ENVIRONMENT,+        ErrorResourceType_IAM_ROLE,+        ErrorResourceType_LAMBDA,+        ErrorResourceType_LOAD_BALANCER_LISTENER,+        ErrorResourceType_NLB,+        ErrorResourceType_RESOURCE_SHARE,+        ErrorResourceType_ROUTE,+        ErrorResourceType_ROUTE_TABLE,+        ErrorResourceType_SECURITY_GROUP,+        ErrorResourceType_SERVICE,+        ErrorResourceType_SUBNET,+        ErrorResourceType_TARGET_GROUP,+        ErrorResourceType_TRANSIT_GATEWAY,+        ErrorResourceType_TRANSIT_GATEWAY_ATTACHMENT,+        ErrorResourceType_VPC,+        ErrorResourceType_VPC_ENDPOINT_SERVICE_CONFIGURATION,+        ErrorResourceType_VPC_LINK+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ErrorResourceType = ErrorResourceType'+  { fromErrorResourceType ::+      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 ErrorResourceType_API_GATEWAY :: ErrorResourceType+pattern ErrorResourceType_API_GATEWAY = ErrorResourceType' "API_GATEWAY"++pattern ErrorResourceType_APPLICATION :: ErrorResourceType+pattern ErrorResourceType_APPLICATION = ErrorResourceType' "APPLICATION"++pattern ErrorResourceType_ENVIRONMENT :: ErrorResourceType+pattern ErrorResourceType_ENVIRONMENT = ErrorResourceType' "ENVIRONMENT"++pattern ErrorResourceType_IAM_ROLE :: ErrorResourceType+pattern ErrorResourceType_IAM_ROLE = ErrorResourceType' "IAM_ROLE"++pattern ErrorResourceType_LAMBDA :: ErrorResourceType+pattern ErrorResourceType_LAMBDA = ErrorResourceType' "LAMBDA"++pattern ErrorResourceType_LOAD_BALANCER_LISTENER :: ErrorResourceType+pattern ErrorResourceType_LOAD_BALANCER_LISTENER = ErrorResourceType' "LOAD_BALANCER_LISTENER"++pattern ErrorResourceType_NLB :: ErrorResourceType+pattern ErrorResourceType_NLB = ErrorResourceType' "NLB"++pattern ErrorResourceType_RESOURCE_SHARE :: ErrorResourceType+pattern ErrorResourceType_RESOURCE_SHARE = ErrorResourceType' "RESOURCE_SHARE"++pattern ErrorResourceType_ROUTE :: ErrorResourceType+pattern ErrorResourceType_ROUTE = ErrorResourceType' "ROUTE"++pattern ErrorResourceType_ROUTE_TABLE :: ErrorResourceType+pattern ErrorResourceType_ROUTE_TABLE = ErrorResourceType' "ROUTE_TABLE"++pattern ErrorResourceType_SECURITY_GROUP :: ErrorResourceType+pattern ErrorResourceType_SECURITY_GROUP = ErrorResourceType' "SECURITY_GROUP"++pattern ErrorResourceType_SERVICE :: ErrorResourceType+pattern ErrorResourceType_SERVICE = ErrorResourceType' "SERVICE"++pattern ErrorResourceType_SUBNET :: ErrorResourceType+pattern ErrorResourceType_SUBNET = ErrorResourceType' "SUBNET"++pattern ErrorResourceType_TARGET_GROUP :: ErrorResourceType+pattern ErrorResourceType_TARGET_GROUP = ErrorResourceType' "TARGET_GROUP"++pattern ErrorResourceType_TRANSIT_GATEWAY :: ErrorResourceType+pattern ErrorResourceType_TRANSIT_GATEWAY = ErrorResourceType' "TRANSIT_GATEWAY"++pattern ErrorResourceType_TRANSIT_GATEWAY_ATTACHMENT :: ErrorResourceType+pattern ErrorResourceType_TRANSIT_GATEWAY_ATTACHMENT = ErrorResourceType' "TRANSIT_GATEWAY_ATTACHMENT"++pattern ErrorResourceType_VPC :: ErrorResourceType+pattern ErrorResourceType_VPC = ErrorResourceType' "VPC"++pattern ErrorResourceType_VPC_ENDPOINT_SERVICE_CONFIGURATION :: ErrorResourceType+pattern ErrorResourceType_VPC_ENDPOINT_SERVICE_CONFIGURATION = ErrorResourceType' "VPC_ENDPOINT_SERVICE_CONFIGURATION"++pattern ErrorResourceType_VPC_LINK :: ErrorResourceType+pattern ErrorResourceType_VPC_LINK = ErrorResourceType' "VPC_LINK"++{-# COMPLETE+  ErrorResourceType_API_GATEWAY,+  ErrorResourceType_APPLICATION,+  ErrorResourceType_ENVIRONMENT,+  ErrorResourceType_IAM_ROLE,+  ErrorResourceType_LAMBDA,+  ErrorResourceType_LOAD_BALANCER_LISTENER,+  ErrorResourceType_NLB,+  ErrorResourceType_RESOURCE_SHARE,+  ErrorResourceType_ROUTE,+  ErrorResourceType_ROUTE_TABLE,+  ErrorResourceType_SECURITY_GROUP,+  ErrorResourceType_SERVICE,+  ErrorResourceType_SUBNET,+  ErrorResourceType_TARGET_GROUP,+  ErrorResourceType_TRANSIT_GATEWAY,+  ErrorResourceType_TRANSIT_GATEWAY_ATTACHMENT,+  ErrorResourceType_VPC,+  ErrorResourceType_VPC_ENDPOINT_SERVICE_CONFIGURATION,+  ErrorResourceType_VPC_LINK,+  ErrorResourceType'+  #-}
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/ErrorResponse.hs view
@@ -0,0 +1,138 @@+{-# 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.MigrationHubReFactorSpaces.Types.ErrorResponse+-- 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.MigrationHubReFactorSpaces.Types.ErrorResponse where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types.ErrorCode+import Amazonka.MigrationHubReFactorSpaces.Types.ErrorResourceType+import qualified Amazonka.Prelude as Prelude++-- | Error associated with a resource returned for a Get or List resource+-- response.+--+-- /See:/ 'newErrorResponse' smart constructor.+data ErrorResponse = ErrorResponse'+  { -- | The Amazon Web Services account ID of the resource owner.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | Additional details about the error.+    additionalDetails :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The error code associated with the error.+    code :: Prelude.Maybe ErrorCode,+    -- | The message associated with the error.+    message :: Prelude.Maybe Prelude.Text,+    -- | The ID of the resource.+    resourceIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The type of resource.+    resourceType :: Prelude.Maybe ErrorResourceType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ErrorResponse' with all optional fields 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:+--+-- 'accountId', 'errorResponse_accountId' - The Amazon Web Services account ID of the resource owner.+--+-- 'additionalDetails', 'errorResponse_additionalDetails' - Additional details about the error.+--+-- 'code', 'errorResponse_code' - The error code associated with the error.+--+-- 'message', 'errorResponse_message' - The message associated with the error.+--+-- 'resourceIdentifier', 'errorResponse_resourceIdentifier' - The ID of the resource.+--+-- 'resourceType', 'errorResponse_resourceType' - The type of resource.+newErrorResponse ::+  ErrorResponse+newErrorResponse =+  ErrorResponse'+    { accountId = Prelude.Nothing,+      additionalDetails = Prelude.Nothing,+      code = Prelude.Nothing,+      message = Prelude.Nothing,+      resourceIdentifier = Prelude.Nothing,+      resourceType = Prelude.Nothing+    }++-- | The Amazon Web Services account ID of the resource owner.+errorResponse_accountId :: Lens.Lens' ErrorResponse (Prelude.Maybe Prelude.Text)+errorResponse_accountId = Lens.lens (\ErrorResponse' {accountId} -> accountId) (\s@ErrorResponse' {} a -> s {accountId = a} :: ErrorResponse)++-- | Additional details about the error.+errorResponse_additionalDetails :: Lens.Lens' ErrorResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+errorResponse_additionalDetails = Lens.lens (\ErrorResponse' {additionalDetails} -> additionalDetails) (\s@ErrorResponse' {} a -> s {additionalDetails = a} :: ErrorResponse) Prelude.. Lens.mapping Lens.coerced++-- | The error code associated with the error.+errorResponse_code :: Lens.Lens' ErrorResponse (Prelude.Maybe ErrorCode)+errorResponse_code = Lens.lens (\ErrorResponse' {code} -> code) (\s@ErrorResponse' {} a -> s {code = a} :: ErrorResponse)++-- | The message associated with the error.+errorResponse_message :: Lens.Lens' ErrorResponse (Prelude.Maybe Prelude.Text)+errorResponse_message = Lens.lens (\ErrorResponse' {message} -> message) (\s@ErrorResponse' {} a -> s {message = a} :: ErrorResponse)++-- | The ID of the resource.+errorResponse_resourceIdentifier :: Lens.Lens' ErrorResponse (Prelude.Maybe Prelude.Text)+errorResponse_resourceIdentifier = Lens.lens (\ErrorResponse' {resourceIdentifier} -> resourceIdentifier) (\s@ErrorResponse' {} a -> s {resourceIdentifier = a} :: ErrorResponse)++-- | The type of resource.+errorResponse_resourceType :: Lens.Lens' ErrorResponse (Prelude.Maybe ErrorResourceType)+errorResponse_resourceType = Lens.lens (\ErrorResponse' {resourceType} -> resourceType) (\s@ErrorResponse' {} a -> s {resourceType = a} :: ErrorResponse)++instance Data.FromJSON ErrorResponse where+  parseJSON =+    Data.withObject+      "ErrorResponse"+      ( \x ->+          ErrorResponse'+            Prelude.<$> (x Data..:? "AccountId")+            Prelude.<*> ( x+                            Data..:? "AdditionalDetails"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "Code")+            Prelude.<*> (x Data..:? "Message")+            Prelude.<*> (x Data..:? "ResourceIdentifier")+            Prelude.<*> (x Data..:? "ResourceType")+      )++instance Prelude.Hashable ErrorResponse where+  hashWithSalt _salt ErrorResponse' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` additionalDetails+      `Prelude.hashWithSalt` code+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` resourceIdentifier+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData ErrorResponse where+  rnf ErrorResponse' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf additionalDetails+      `Prelude.seq` Prelude.rnf code+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf resourceIdentifier+      `Prelude.seq` Prelude.rnf resourceType
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/HttpMethod.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.MigrationHubReFactorSpaces.Types.HttpMethod+-- 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.MigrationHubReFactorSpaces.Types.HttpMethod+  ( HttpMethod+      ( ..,+        HttpMethod_DELETE,+        HttpMethod_GET,+        HttpMethod_HEAD,+        HttpMethod_OPTIONS,+        HttpMethod_PATCH,+        HttpMethod_POST,+        HttpMethod_PUT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype HttpMethod = HttpMethod'+  { fromHttpMethod ::+      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 HttpMethod_DELETE :: HttpMethod+pattern HttpMethod_DELETE = HttpMethod' "DELETE"++pattern HttpMethod_GET :: HttpMethod+pattern HttpMethod_GET = HttpMethod' "GET"++pattern HttpMethod_HEAD :: HttpMethod+pattern HttpMethod_HEAD = HttpMethod' "HEAD"++pattern HttpMethod_OPTIONS :: HttpMethod+pattern HttpMethod_OPTIONS = HttpMethod' "OPTIONS"++pattern HttpMethod_PATCH :: HttpMethod+pattern HttpMethod_PATCH = HttpMethod' "PATCH"++pattern HttpMethod_POST :: HttpMethod+pattern HttpMethod_POST = HttpMethod' "POST"++pattern HttpMethod_PUT :: HttpMethod+pattern HttpMethod_PUT = HttpMethod' "PUT"++{-# COMPLETE+  HttpMethod_DELETE,+  HttpMethod_GET,+  HttpMethod_HEAD,+  HttpMethod_OPTIONS,+  HttpMethod_PATCH,+  HttpMethod_POST,+  HttpMethod_PUT,+  HttpMethod'+  #-}
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/LambdaEndpointConfig.hs view
@@ -0,0 +1,67 @@+{-# 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.MigrationHubReFactorSpaces.Types.LambdaEndpointConfig+-- 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.MigrationHubReFactorSpaces.Types.LambdaEndpointConfig 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 configuration for the Lambda endpoint type.+--+-- /See:/ 'newLambdaEndpointConfig' smart constructor.+data LambdaEndpointConfig = LambdaEndpointConfig'+  { -- | The Amazon Resource Name (ARN) of the Lambda endpoint.+    arn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LambdaEndpointConfig' with all optional fields 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', 'lambdaEndpointConfig_arn' - The Amazon Resource Name (ARN) of the Lambda endpoint.+newLambdaEndpointConfig ::+  LambdaEndpointConfig+newLambdaEndpointConfig =+  LambdaEndpointConfig' {arn = Prelude.Nothing}++-- | The Amazon Resource Name (ARN) of the Lambda endpoint.+lambdaEndpointConfig_arn :: Lens.Lens' LambdaEndpointConfig (Prelude.Maybe Prelude.Text)+lambdaEndpointConfig_arn = Lens.lens (\LambdaEndpointConfig' {arn} -> arn) (\s@LambdaEndpointConfig' {} a -> s {arn = a} :: LambdaEndpointConfig)++instance Data.FromJSON LambdaEndpointConfig where+  parseJSON =+    Data.withObject+      "LambdaEndpointConfig"+      ( \x ->+          LambdaEndpointConfig' Prelude.<$> (x Data..:? "Arn")+      )++instance Prelude.Hashable LambdaEndpointConfig where+  hashWithSalt _salt LambdaEndpointConfig' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData LambdaEndpointConfig where+  rnf LambdaEndpointConfig' {..} = Prelude.rnf arn
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/LambdaEndpointInput.hs view
@@ -0,0 +1,76 @@+{-# 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.MigrationHubReFactorSpaces.Types.LambdaEndpointInput+-- 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.MigrationHubReFactorSpaces.Types.LambdaEndpointInput 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 input for the Lambda endpoint type.+--+-- /See:/ 'newLambdaEndpointInput' smart constructor.+data LambdaEndpointInput = LambdaEndpointInput'+  { -- | The Amazon Resource Name (ARN) of the Lambda function or alias.+    arn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LambdaEndpointInput' with all optional fields 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', 'lambdaEndpointInput_arn' - The Amazon Resource Name (ARN) of the Lambda function or alias.+newLambdaEndpointInput ::+  -- | 'arn'+  Prelude.Text ->+  LambdaEndpointInput+newLambdaEndpointInput pArn_ =+  LambdaEndpointInput' {arn = pArn_}++-- | The Amazon Resource Name (ARN) of the Lambda function or alias.+lambdaEndpointInput_arn :: Lens.Lens' LambdaEndpointInput Prelude.Text+lambdaEndpointInput_arn = Lens.lens (\LambdaEndpointInput' {arn} -> arn) (\s@LambdaEndpointInput' {} a -> s {arn = a} :: LambdaEndpointInput)++instance Data.FromJSON LambdaEndpointInput where+  parseJSON =+    Data.withObject+      "LambdaEndpointInput"+      ( \x ->+          LambdaEndpointInput' Prelude.<$> (x Data..: "Arn")+      )++instance Prelude.Hashable LambdaEndpointInput where+  hashWithSalt _salt LambdaEndpointInput' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData LambdaEndpointInput where+  rnf LambdaEndpointInput' {..} = Prelude.rnf arn++instance Data.ToJSON LambdaEndpointInput where+  toJSON LambdaEndpointInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Arn" Data..= arn)]+      )
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/LambdaEndpointSummary.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.MigrationHubReFactorSpaces.Types.LambdaEndpointSummary+-- 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.MigrationHubReFactorSpaces.Types.LambdaEndpointSummary 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 for the Lambda endpoint type.+--+-- /See:/ 'newLambdaEndpointSummary' smart constructor.+data LambdaEndpointSummary = LambdaEndpointSummary'+  { -- | The Amazon Resource Name (ARN) of the Lambda endpoint.+    arn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LambdaEndpointSummary' with all optional fields 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', 'lambdaEndpointSummary_arn' - The Amazon Resource Name (ARN) of the Lambda endpoint.+newLambdaEndpointSummary ::+  LambdaEndpointSummary+newLambdaEndpointSummary =+  LambdaEndpointSummary' {arn = Prelude.Nothing}++-- | The Amazon Resource Name (ARN) of the Lambda endpoint.+lambdaEndpointSummary_arn :: Lens.Lens' LambdaEndpointSummary (Prelude.Maybe Prelude.Text)+lambdaEndpointSummary_arn = Lens.lens (\LambdaEndpointSummary' {arn} -> arn) (\s@LambdaEndpointSummary' {} a -> s {arn = a} :: LambdaEndpointSummary)++instance Data.FromJSON LambdaEndpointSummary where+  parseJSON =+    Data.withObject+      "LambdaEndpointSummary"+      ( \x ->+          LambdaEndpointSummary'+            Prelude.<$> (x Data..:? "Arn")+      )++instance Prelude.Hashable LambdaEndpointSummary where+  hashWithSalt _salt LambdaEndpointSummary' {..} =+    _salt `Prelude.hashWithSalt` arn++instance Prelude.NFData LambdaEndpointSummary where+  rnf LambdaEndpointSummary' {..} = Prelude.rnf arn
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/NetworkFabricType.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.MigrationHubReFactorSpaces.Types.NetworkFabricType+-- 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.MigrationHubReFactorSpaces.Types.NetworkFabricType+  ( NetworkFabricType+      ( ..,+        NetworkFabricType_TRANSIT_GATEWAY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkFabricType = NetworkFabricType'+  { fromNetworkFabricType ::+      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 NetworkFabricType_TRANSIT_GATEWAY :: NetworkFabricType+pattern NetworkFabricType_TRANSIT_GATEWAY = NetworkFabricType' "TRANSIT_GATEWAY"++{-# COMPLETE+  NetworkFabricType_TRANSIT_GATEWAY,+  NetworkFabricType'+  #-}
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/ProxyType.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.MigrationHubReFactorSpaces.Types.ProxyType+-- 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.MigrationHubReFactorSpaces.Types.ProxyType+  ( ProxyType+      ( ..,+        ProxyType_API_GATEWAY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ProxyType = ProxyType'+  { fromProxyType ::+      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 ProxyType_API_GATEWAY :: ProxyType+pattern ProxyType_API_GATEWAY = ProxyType' "API_GATEWAY"++{-# COMPLETE+  ProxyType_API_GATEWAY,+  ProxyType'+  #-}
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/RouteActivationState.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.MigrationHubReFactorSpaces.Types.RouteActivationState+-- 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.MigrationHubReFactorSpaces.Types.RouteActivationState+  ( RouteActivationState+      ( ..,+        RouteActivationState_ACTIVE,+        RouteActivationState_INACTIVE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RouteActivationState = RouteActivationState'+  { fromRouteActivationState ::+      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 RouteActivationState_ACTIVE :: RouteActivationState+pattern RouteActivationState_ACTIVE = RouteActivationState' "ACTIVE"++pattern RouteActivationState_INACTIVE :: RouteActivationState+pattern RouteActivationState_INACTIVE = RouteActivationState' "INACTIVE"++{-# COMPLETE+  RouteActivationState_ACTIVE,+  RouteActivationState_INACTIVE,+  RouteActivationState'+  #-}
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/RouteState.hs view
@@ -0,0 +1,91 @@+{-# 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.MigrationHubReFactorSpaces.Types.RouteState+-- 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.MigrationHubReFactorSpaces.Types.RouteState+  ( RouteState+      ( ..,+        RouteState_ACTIVE,+        RouteState_CREATING,+        RouteState_DELETING,+        RouteState_FAILED,+        RouteState_INACTIVE,+        RouteState_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RouteState = RouteState'+  { fromRouteState ::+      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 RouteState_ACTIVE :: RouteState+pattern RouteState_ACTIVE = RouteState' "ACTIVE"++pattern RouteState_CREATING :: RouteState+pattern RouteState_CREATING = RouteState' "CREATING"++pattern RouteState_DELETING :: RouteState+pattern RouteState_DELETING = RouteState' "DELETING"++pattern RouteState_FAILED :: RouteState+pattern RouteState_FAILED = RouteState' "FAILED"++pattern RouteState_INACTIVE :: RouteState+pattern RouteState_INACTIVE = RouteState' "INACTIVE"++pattern RouteState_UPDATING :: RouteState+pattern RouteState_UPDATING = RouteState' "UPDATING"++{-# COMPLETE+  RouteState_ACTIVE,+  RouteState_CREATING,+  RouteState_DELETING,+  RouteState_FAILED,+  RouteState_INACTIVE,+  RouteState_UPDATING,+  RouteState'+  #-}
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/RouteSummary.hs view
@@ -0,0 +1,286 @@+{-# 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.MigrationHubReFactorSpaces.Types.RouteSummary+-- 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.MigrationHubReFactorSpaces.Types.RouteSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types.ErrorResponse+import Amazonka.MigrationHubReFactorSpaces.Types.HttpMethod+import Amazonka.MigrationHubReFactorSpaces.Types.RouteState+import Amazonka.MigrationHubReFactorSpaces.Types.RouteType+import qualified Amazonka.Prelude as Prelude++-- | The summary information for the routes as a response to @ListRoutes@.+--+-- /See:/ 'newRouteSummary' smart constructor.+data RouteSummary = RouteSummary'+  { -- | The unique identifier of the application.+    applicationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the route.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the route creator.+    createdByAccountId :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the route is created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | The unique identifier of the environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | Any error associated with the route resource.+    error :: Prelude.Maybe ErrorResponse,+    -- | Indicates whether to match all subpaths of the given source path. If+    -- this value is @false@, requests must match the source path exactly+    -- before they are forwarded to this route\'s service.+    includeChildPaths :: Prelude.Maybe Prelude.Bool,+    -- | A timestamp that indicates when the route was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | A list of HTTP methods to match. An empty list matches all values. If a+    -- method is present, only HTTP requests using that method are forwarded to+    -- this route’s service.+    methods :: Prelude.Maybe [HttpMethod],+    -- | The Amazon Web Services account ID of the route owner.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | A mapping of Amazon API Gateway path resources to resource IDs.+    pathResourceToId :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The unique identifier of the route.+    routeId :: Prelude.Maybe Prelude.Text,+    -- | The route type of the route.+    routeType :: Prelude.Maybe RouteType,+    -- | The unique identifier of the service.+    serviceId :: Prelude.Maybe Prelude.Text,+    -- | The path to use to match traffic. Paths must start with @\/@ and are+    -- relative to the base of the application.+    sourcePath :: Prelude.Maybe Prelude.Text,+    -- | The current state of the route.+    state :: Prelude.Maybe RouteState,+    -- | The tags assigned to the route.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text))+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RouteSummary' with all optional fields 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:+--+-- 'applicationId', 'routeSummary_applicationId' - The unique identifier of the application.+--+-- 'arn', 'routeSummary_arn' - The Amazon Resource Name (ARN) of the route.+--+-- 'createdByAccountId', 'routeSummary_createdByAccountId' - The Amazon Web Services account ID of the route creator.+--+-- 'createdTime', 'routeSummary_createdTime' - A timestamp that indicates when the route is created.+--+-- 'environmentId', 'routeSummary_environmentId' - The unique identifier of the environment.+--+-- 'error', 'routeSummary_error' - Any error associated with the route resource.+--+-- 'includeChildPaths', 'routeSummary_includeChildPaths' - Indicates whether to match all subpaths of the given source path. If+-- this value is @false@, requests must match the source path exactly+-- before they are forwarded to this route\'s service.+--+-- 'lastUpdatedTime', 'routeSummary_lastUpdatedTime' - A timestamp that indicates when the route was last updated.+--+-- 'methods', 'routeSummary_methods' - A list of HTTP methods to match. An empty list matches all values. If a+-- method is present, only HTTP requests using that method are forwarded to+-- this route’s service.+--+-- 'ownerAccountId', 'routeSummary_ownerAccountId' - The Amazon Web Services account ID of the route owner.+--+-- 'pathResourceToId', 'routeSummary_pathResourceToId' - A mapping of Amazon API Gateway path resources to resource IDs.+--+-- 'routeId', 'routeSummary_routeId' - The unique identifier of the route.+--+-- 'routeType', 'routeSummary_routeType' - The route type of the route.+--+-- 'serviceId', 'routeSummary_serviceId' - The unique identifier of the service.+--+-- 'sourcePath', 'routeSummary_sourcePath' - The path to use to match traffic. Paths must start with @\/@ and are+-- relative to the base of the application.+--+-- 'state', 'routeSummary_state' - The current state of the route.+--+-- 'tags', 'routeSummary_tags' - The tags assigned to the route.+newRouteSummary ::+  RouteSummary+newRouteSummary =+  RouteSummary'+    { applicationId = Prelude.Nothing,+      arn = Prelude.Nothing,+      createdByAccountId = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      error = Prelude.Nothing,+      includeChildPaths = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      methods = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      pathResourceToId = Prelude.Nothing,+      routeId = Prelude.Nothing,+      routeType = Prelude.Nothing,+      serviceId = Prelude.Nothing,+      sourcePath = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The unique identifier of the application.+routeSummary_applicationId :: Lens.Lens' RouteSummary (Prelude.Maybe Prelude.Text)+routeSummary_applicationId = Lens.lens (\RouteSummary' {applicationId} -> applicationId) (\s@RouteSummary' {} a -> s {applicationId = a} :: RouteSummary)++-- | The Amazon Resource Name (ARN) of the route.+routeSummary_arn :: Lens.Lens' RouteSummary (Prelude.Maybe Prelude.Text)+routeSummary_arn = Lens.lens (\RouteSummary' {arn} -> arn) (\s@RouteSummary' {} a -> s {arn = a} :: RouteSummary)++-- | The Amazon Web Services account ID of the route creator.+routeSummary_createdByAccountId :: Lens.Lens' RouteSummary (Prelude.Maybe Prelude.Text)+routeSummary_createdByAccountId = Lens.lens (\RouteSummary' {createdByAccountId} -> createdByAccountId) (\s@RouteSummary' {} a -> s {createdByAccountId = a} :: RouteSummary)++-- | A timestamp that indicates when the route is created.+routeSummary_createdTime :: Lens.Lens' RouteSummary (Prelude.Maybe Prelude.UTCTime)+routeSummary_createdTime = Lens.lens (\RouteSummary' {createdTime} -> createdTime) (\s@RouteSummary' {} a -> s {createdTime = a} :: RouteSummary) Prelude.. Lens.mapping Data._Time++-- | The unique identifier of the environment.+routeSummary_environmentId :: Lens.Lens' RouteSummary (Prelude.Maybe Prelude.Text)+routeSummary_environmentId = Lens.lens (\RouteSummary' {environmentId} -> environmentId) (\s@RouteSummary' {} a -> s {environmentId = a} :: RouteSummary)++-- | Any error associated with the route resource.+routeSummary_error :: Lens.Lens' RouteSummary (Prelude.Maybe ErrorResponse)+routeSummary_error = Lens.lens (\RouteSummary' {error} -> error) (\s@RouteSummary' {} a -> s {error = a} :: RouteSummary)++-- | Indicates whether to match all subpaths of the given source path. If+-- this value is @false@, requests must match the source path exactly+-- before they are forwarded to this route\'s service.+routeSummary_includeChildPaths :: Lens.Lens' RouteSummary (Prelude.Maybe Prelude.Bool)+routeSummary_includeChildPaths = Lens.lens (\RouteSummary' {includeChildPaths} -> includeChildPaths) (\s@RouteSummary' {} a -> s {includeChildPaths = a} :: RouteSummary)++-- | A timestamp that indicates when the route was last updated.+routeSummary_lastUpdatedTime :: Lens.Lens' RouteSummary (Prelude.Maybe Prelude.UTCTime)+routeSummary_lastUpdatedTime = Lens.lens (\RouteSummary' {lastUpdatedTime} -> lastUpdatedTime) (\s@RouteSummary' {} a -> s {lastUpdatedTime = a} :: RouteSummary) Prelude.. Lens.mapping Data._Time++-- | A list of HTTP methods to match. An empty list matches all values. If a+-- method is present, only HTTP requests using that method are forwarded to+-- this route’s service.+routeSummary_methods :: Lens.Lens' RouteSummary (Prelude.Maybe [HttpMethod])+routeSummary_methods = Lens.lens (\RouteSummary' {methods} -> methods) (\s@RouteSummary' {} a -> s {methods = a} :: RouteSummary) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Web Services account ID of the route owner.+routeSummary_ownerAccountId :: Lens.Lens' RouteSummary (Prelude.Maybe Prelude.Text)+routeSummary_ownerAccountId = Lens.lens (\RouteSummary' {ownerAccountId} -> ownerAccountId) (\s@RouteSummary' {} a -> s {ownerAccountId = a} :: RouteSummary)++-- | A mapping of Amazon API Gateway path resources to resource IDs.+routeSummary_pathResourceToId :: Lens.Lens' RouteSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+routeSummary_pathResourceToId = Lens.lens (\RouteSummary' {pathResourceToId} -> pathResourceToId) (\s@RouteSummary' {} a -> s {pathResourceToId = a} :: RouteSummary) Prelude.. Lens.mapping Lens.coerced++-- | The unique identifier of the route.+routeSummary_routeId :: Lens.Lens' RouteSummary (Prelude.Maybe Prelude.Text)+routeSummary_routeId = Lens.lens (\RouteSummary' {routeId} -> routeId) (\s@RouteSummary' {} a -> s {routeId = a} :: RouteSummary)++-- | The route type of the route.+routeSummary_routeType :: Lens.Lens' RouteSummary (Prelude.Maybe RouteType)+routeSummary_routeType = Lens.lens (\RouteSummary' {routeType} -> routeType) (\s@RouteSummary' {} a -> s {routeType = a} :: RouteSummary)++-- | The unique identifier of the service.+routeSummary_serviceId :: Lens.Lens' RouteSummary (Prelude.Maybe Prelude.Text)+routeSummary_serviceId = Lens.lens (\RouteSummary' {serviceId} -> serviceId) (\s@RouteSummary' {} a -> s {serviceId = a} :: RouteSummary)++-- | The path to use to match traffic. Paths must start with @\/@ and are+-- relative to the base of the application.+routeSummary_sourcePath :: Lens.Lens' RouteSummary (Prelude.Maybe Prelude.Text)+routeSummary_sourcePath = Lens.lens (\RouteSummary' {sourcePath} -> sourcePath) (\s@RouteSummary' {} a -> s {sourcePath = a} :: RouteSummary)++-- | The current state of the route.+routeSummary_state :: Lens.Lens' RouteSummary (Prelude.Maybe RouteState)+routeSummary_state = Lens.lens (\RouteSummary' {state} -> state) (\s@RouteSummary' {} a -> s {state = a} :: RouteSummary)++-- | The tags assigned to the route.+routeSummary_tags :: Lens.Lens' RouteSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+routeSummary_tags = Lens.lens (\RouteSummary' {tags} -> tags) (\s@RouteSummary' {} a -> s {tags = a} :: RouteSummary) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++instance Data.FromJSON RouteSummary where+  parseJSON =+    Data.withObject+      "RouteSummary"+      ( \x ->+          RouteSummary'+            Prelude.<$> (x Data..:? "ApplicationId")+            Prelude.<*> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedByAccountId")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "EnvironmentId")+            Prelude.<*> (x Data..:? "Error")+            Prelude.<*> (x Data..:? "IncludeChildPaths")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Methods" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "OwnerAccountId")+            Prelude.<*> ( x+                            Data..:? "PathResourceToId"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "RouteId")+            Prelude.<*> (x Data..:? "RouteType")+            Prelude.<*> (x Data..:? "ServiceId")+            Prelude.<*> (x Data..:? "SourcePath")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable RouteSummary where+  hashWithSalt _salt RouteSummary' {..} =+    _salt+      `Prelude.hashWithSalt` applicationId+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdByAccountId+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` environmentId+      `Prelude.hashWithSalt` error+      `Prelude.hashWithSalt` includeChildPaths+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` methods+      `Prelude.hashWithSalt` ownerAccountId+      `Prelude.hashWithSalt` pathResourceToId+      `Prelude.hashWithSalt` routeId+      `Prelude.hashWithSalt` routeType+      `Prelude.hashWithSalt` serviceId+      `Prelude.hashWithSalt` sourcePath+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags++instance Prelude.NFData RouteSummary where+  rnf RouteSummary' {..} =+    Prelude.rnf applicationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdByAccountId+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf includeChildPaths+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf methods+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf pathResourceToId+      `Prelude.seq` Prelude.rnf routeId+      `Prelude.seq` Prelude.rnf routeType+      `Prelude.seq` Prelude.rnf serviceId+      `Prelude.seq` Prelude.rnf sourcePath+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/RouteType.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.MigrationHubReFactorSpaces.Types.RouteType+-- 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.MigrationHubReFactorSpaces.Types.RouteType+  ( RouteType+      ( ..,+        RouteType_DEFAULT,+        RouteType_URI_PATH+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RouteType = RouteType'+  { fromRouteType ::+      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 RouteType_DEFAULT :: RouteType+pattern RouteType_DEFAULT = RouteType' "DEFAULT"++pattern RouteType_URI_PATH :: RouteType+pattern RouteType_URI_PATH = RouteType' "URI_PATH"++{-# COMPLETE+  RouteType_DEFAULT,+  RouteType_URI_PATH,+  RouteType'+  #-}
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/ServiceEndpointType.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.MigrationHubReFactorSpaces.Types.ServiceEndpointType+-- 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.MigrationHubReFactorSpaces.Types.ServiceEndpointType+  ( ServiceEndpointType+      ( ..,+        ServiceEndpointType_LAMBDA,+        ServiceEndpointType_URL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ServiceEndpointType = ServiceEndpointType'+  { fromServiceEndpointType ::+      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 ServiceEndpointType_LAMBDA :: ServiceEndpointType+pattern ServiceEndpointType_LAMBDA = ServiceEndpointType' "LAMBDA"++pattern ServiceEndpointType_URL :: ServiceEndpointType+pattern ServiceEndpointType_URL = ServiceEndpointType' "URL"++{-# COMPLETE+  ServiceEndpointType_LAMBDA,+  ServiceEndpointType_URL,+  ServiceEndpointType'+  #-}
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/ServiceState.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.MigrationHubReFactorSpaces.Types.ServiceState+-- 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.MigrationHubReFactorSpaces.Types.ServiceState+  ( ServiceState+      ( ..,+        ServiceState_ACTIVE,+        ServiceState_CREATING,+        ServiceState_DELETING,+        ServiceState_FAILED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ServiceState = ServiceState'+  { fromServiceState ::+      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 ServiceState_ACTIVE :: ServiceState+pattern ServiceState_ACTIVE = ServiceState' "ACTIVE"++pattern ServiceState_CREATING :: ServiceState+pattern ServiceState_CREATING = ServiceState' "CREATING"++pattern ServiceState_DELETING :: ServiceState+pattern ServiceState_DELETING = ServiceState' "DELETING"++pattern ServiceState_FAILED :: ServiceState+pattern ServiceState_FAILED = ServiceState' "FAILED"++{-# COMPLETE+  ServiceState_ACTIVE,+  ServiceState_CREATING,+  ServiceState_DELETING,+  ServiceState_FAILED,+  ServiceState'+  #-}
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/ServiceSummary.hs view
@@ -0,0 +1,269 @@+{-# 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.MigrationHubReFactorSpaces.Types.ServiceSummary+-- 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.MigrationHubReFactorSpaces.Types.ServiceSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types.ErrorResponse+import Amazonka.MigrationHubReFactorSpaces.Types.LambdaEndpointSummary+import Amazonka.MigrationHubReFactorSpaces.Types.ServiceEndpointType+import Amazonka.MigrationHubReFactorSpaces.Types.ServiceState+import Amazonka.MigrationHubReFactorSpaces.Types.UrlEndpointSummary+import qualified Amazonka.Prelude as Prelude++-- | A summary for the service as a response to @ListServices@.+--+-- /See:/ 'newServiceSummary' smart constructor.+data ServiceSummary = ServiceSummary'+  { -- | The unique identifier of the application.+    applicationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the service.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the service creator.+    createdByAccountId :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the service is created.+    createdTime :: Prelude.Maybe Data.POSIX,+    -- | A description of the service.+    description :: Prelude.Maybe Prelude.Text,+    -- | The endpoint type of the service.+    endpointType :: Prelude.Maybe ServiceEndpointType,+    -- | The unique identifier of the environment.+    environmentId :: Prelude.Maybe Prelude.Text,+    -- | Any error associated with the service resource.+    error :: Prelude.Maybe ErrorResponse,+    -- | A summary of the configuration for the Lambda endpoint type.+    lambdaEndpoint :: Prelude.Maybe LambdaEndpointSummary,+    -- | A timestamp that indicates when the service was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the service.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services account ID of the service owner.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The unique identifier of the service.+    serviceId :: Prelude.Maybe Prelude.Text,+    -- | The current state of the service.+    state :: Prelude.Maybe ServiceState,+    -- | The tags assigned to the service.+    tags :: Prelude.Maybe (Data.Sensitive (Prelude.HashMap Prelude.Text Prelude.Text)),+    -- | The summary of the configuration for the URL endpoint type.+    urlEndpoint :: Prelude.Maybe UrlEndpointSummary,+    -- | The ID of the virtual private cloud (VPC).+    vpcId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServiceSummary' with all optional fields 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:+--+-- 'applicationId', 'serviceSummary_applicationId' - The unique identifier of the application.+--+-- 'arn', 'serviceSummary_arn' - The Amazon Resource Name (ARN) of the service.+--+-- 'createdByAccountId', 'serviceSummary_createdByAccountId' - The Amazon Web Services account ID of the service creator.+--+-- 'createdTime', 'serviceSummary_createdTime' - A timestamp that indicates when the service is created.+--+-- 'description', 'serviceSummary_description' - A description of the service.+--+-- 'endpointType', 'serviceSummary_endpointType' - The endpoint type of the service.+--+-- 'environmentId', 'serviceSummary_environmentId' - The unique identifier of the environment.+--+-- 'error', 'serviceSummary_error' - Any error associated with the service resource.+--+-- 'lambdaEndpoint', 'serviceSummary_lambdaEndpoint' - A summary of the configuration for the Lambda endpoint type.+--+-- 'lastUpdatedTime', 'serviceSummary_lastUpdatedTime' - A timestamp that indicates when the service was last updated.+--+-- 'name', 'serviceSummary_name' - The name of the service.+--+-- 'ownerAccountId', 'serviceSummary_ownerAccountId' - The Amazon Web Services account ID of the service owner.+--+-- 'serviceId', 'serviceSummary_serviceId' - The unique identifier of the service.+--+-- 'state', 'serviceSummary_state' - The current state of the service.+--+-- 'tags', 'serviceSummary_tags' - The tags assigned to the service.+--+-- 'urlEndpoint', 'serviceSummary_urlEndpoint' - The summary of the configuration for the URL endpoint type.+--+-- 'vpcId', 'serviceSummary_vpcId' - The ID of the virtual private cloud (VPC).+newServiceSummary ::+  ServiceSummary+newServiceSummary =+  ServiceSummary'+    { applicationId = Prelude.Nothing,+      arn = Prelude.Nothing,+      createdByAccountId = Prelude.Nothing,+      createdTime = Prelude.Nothing,+      description = Prelude.Nothing,+      endpointType = Prelude.Nothing,+      environmentId = Prelude.Nothing,+      error = Prelude.Nothing,+      lambdaEndpoint = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      name = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      serviceId = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      urlEndpoint = Prelude.Nothing,+      vpcId = Prelude.Nothing+    }++-- | The unique identifier of the application.+serviceSummary_applicationId :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.Text)+serviceSummary_applicationId = Lens.lens (\ServiceSummary' {applicationId} -> applicationId) (\s@ServiceSummary' {} a -> s {applicationId = a} :: ServiceSummary)++-- | The Amazon Resource Name (ARN) of the service.+serviceSummary_arn :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.Text)+serviceSummary_arn = Lens.lens (\ServiceSummary' {arn} -> arn) (\s@ServiceSummary' {} a -> s {arn = a} :: ServiceSummary)++-- | The Amazon Web Services account ID of the service creator.+serviceSummary_createdByAccountId :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.Text)+serviceSummary_createdByAccountId = Lens.lens (\ServiceSummary' {createdByAccountId} -> createdByAccountId) (\s@ServiceSummary' {} a -> s {createdByAccountId = a} :: ServiceSummary)++-- | A timestamp that indicates when the service is created.+serviceSummary_createdTime :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.UTCTime)+serviceSummary_createdTime = Lens.lens (\ServiceSummary' {createdTime} -> createdTime) (\s@ServiceSummary' {} a -> s {createdTime = a} :: ServiceSummary) Prelude.. Lens.mapping Data._Time++-- | A description of the service.+serviceSummary_description :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.Text)+serviceSummary_description = Lens.lens (\ServiceSummary' {description} -> description) (\s@ServiceSummary' {} a -> s {description = a} :: ServiceSummary)++-- | The endpoint type of the service.+serviceSummary_endpointType :: Lens.Lens' ServiceSummary (Prelude.Maybe ServiceEndpointType)+serviceSummary_endpointType = Lens.lens (\ServiceSummary' {endpointType} -> endpointType) (\s@ServiceSummary' {} a -> s {endpointType = a} :: ServiceSummary)++-- | The unique identifier of the environment.+serviceSummary_environmentId :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.Text)+serviceSummary_environmentId = Lens.lens (\ServiceSummary' {environmentId} -> environmentId) (\s@ServiceSummary' {} a -> s {environmentId = a} :: ServiceSummary)++-- | Any error associated with the service resource.+serviceSummary_error :: Lens.Lens' ServiceSummary (Prelude.Maybe ErrorResponse)+serviceSummary_error = Lens.lens (\ServiceSummary' {error} -> error) (\s@ServiceSummary' {} a -> s {error = a} :: ServiceSummary)++-- | A summary of the configuration for the Lambda endpoint type.+serviceSummary_lambdaEndpoint :: Lens.Lens' ServiceSummary (Prelude.Maybe LambdaEndpointSummary)+serviceSummary_lambdaEndpoint = Lens.lens (\ServiceSummary' {lambdaEndpoint} -> lambdaEndpoint) (\s@ServiceSummary' {} a -> s {lambdaEndpoint = a} :: ServiceSummary)++-- | A timestamp that indicates when the service was last updated.+serviceSummary_lastUpdatedTime :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.UTCTime)+serviceSummary_lastUpdatedTime = Lens.lens (\ServiceSummary' {lastUpdatedTime} -> lastUpdatedTime) (\s@ServiceSummary' {} a -> s {lastUpdatedTime = a} :: ServiceSummary) Prelude.. Lens.mapping Data._Time++-- | The name of the service.+serviceSummary_name :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.Text)+serviceSummary_name = Lens.lens (\ServiceSummary' {name} -> name) (\s@ServiceSummary' {} a -> s {name = a} :: ServiceSummary)++-- | The Amazon Web Services account ID of the service owner.+serviceSummary_ownerAccountId :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.Text)+serviceSummary_ownerAccountId = Lens.lens (\ServiceSummary' {ownerAccountId} -> ownerAccountId) (\s@ServiceSummary' {} a -> s {ownerAccountId = a} :: ServiceSummary)++-- | The unique identifier of the service.+serviceSummary_serviceId :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.Text)+serviceSummary_serviceId = Lens.lens (\ServiceSummary' {serviceId} -> serviceId) (\s@ServiceSummary' {} a -> s {serviceId = a} :: ServiceSummary)++-- | The current state of the service.+serviceSummary_state :: Lens.Lens' ServiceSummary (Prelude.Maybe ServiceState)+serviceSummary_state = Lens.lens (\ServiceSummary' {state} -> state) (\s@ServiceSummary' {} a -> s {state = a} :: ServiceSummary)++-- | The tags assigned to the service.+serviceSummary_tags :: Lens.Lens' ServiceSummary (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+serviceSummary_tags = Lens.lens (\ServiceSummary' {tags} -> tags) (\s@ServiceSummary' {} a -> s {tags = a} :: ServiceSummary) Prelude.. Lens.mapping (Data._Sensitive Prelude.. Lens.coerced)++-- | The summary of the configuration for the URL endpoint type.+serviceSummary_urlEndpoint :: Lens.Lens' ServiceSummary (Prelude.Maybe UrlEndpointSummary)+serviceSummary_urlEndpoint = Lens.lens (\ServiceSummary' {urlEndpoint} -> urlEndpoint) (\s@ServiceSummary' {} a -> s {urlEndpoint = a} :: ServiceSummary)++-- | The ID of the virtual private cloud (VPC).+serviceSummary_vpcId :: Lens.Lens' ServiceSummary (Prelude.Maybe Prelude.Text)+serviceSummary_vpcId = Lens.lens (\ServiceSummary' {vpcId} -> vpcId) (\s@ServiceSummary' {} a -> s {vpcId = a} :: ServiceSummary)++instance Data.FromJSON ServiceSummary where+  parseJSON =+    Data.withObject+      "ServiceSummary"+      ( \x ->+          ServiceSummary'+            Prelude.<$> (x Data..:? "ApplicationId")+            Prelude.<*> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreatedByAccountId")+            Prelude.<*> (x Data..:? "CreatedTime")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "EndpointType")+            Prelude.<*> (x Data..:? "EnvironmentId")+            Prelude.<*> (x Data..:? "Error")+            Prelude.<*> (x Data..:? "LambdaEndpoint")+            Prelude.<*> (x Data..:? "LastUpdatedTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "OwnerAccountId")+            Prelude.<*> (x Data..:? "ServiceId")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "UrlEndpoint")+            Prelude.<*> (x Data..:? "VpcId")+      )++instance Prelude.Hashable ServiceSummary where+  hashWithSalt _salt ServiceSummary' {..} =+    _salt+      `Prelude.hashWithSalt` applicationId+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` createdByAccountId+      `Prelude.hashWithSalt` createdTime+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` endpointType+      `Prelude.hashWithSalt` environmentId+      `Prelude.hashWithSalt` error+      `Prelude.hashWithSalt` lambdaEndpoint+      `Prelude.hashWithSalt` lastUpdatedTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` ownerAccountId+      `Prelude.hashWithSalt` serviceId+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` urlEndpoint+      `Prelude.hashWithSalt` vpcId++instance Prelude.NFData ServiceSummary where+  rnf ServiceSummary' {..} =+    Prelude.rnf applicationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf createdByAccountId+      `Prelude.seq` Prelude.rnf createdTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf endpointType+      `Prelude.seq` Prelude.rnf environmentId+      `Prelude.seq` Prelude.rnf error+      `Prelude.seq` Prelude.rnf lambdaEndpoint+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf serviceId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf urlEndpoint+      `Prelude.seq` Prelude.rnf vpcId
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/UriPathRouteInput.hs view
@@ -0,0 +1,146 @@+{-# 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.MigrationHubReFactorSpaces.Types.UriPathRouteInput+-- 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.MigrationHubReFactorSpaces.Types.UriPathRouteInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types.HttpMethod+import Amazonka.MigrationHubReFactorSpaces.Types.RouteActivationState+import qualified Amazonka.Prelude as Prelude++-- | The configuration for the URI path route type.+--+-- /See:/ 'newUriPathRouteInput' smart constructor.+data UriPathRouteInput = UriPathRouteInput'+  { -- | Indicates whether to match all subpaths of the given source path. If+    -- this value is @false@, requests must match the source path exactly+    -- before they are forwarded to this route\'s service.+    includeChildPaths :: Prelude.Maybe Prelude.Bool,+    -- | A list of HTTP methods to match. An empty list matches all values. If a+    -- method is present, only HTTP requests using that method are forwarded to+    -- this route’s service.+    methods :: Prelude.Maybe [HttpMethod],+    -- | If set to @ACTIVE@, traffic is forwarded to this route’s service after+    -- the route is created.+    activationState :: RouteActivationState,+    -- | The path to use to match traffic. Paths must start with @\/@ and are+    -- relative to the base of the application.+    sourcePath :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UriPathRouteInput' with all optional fields 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:+--+-- 'includeChildPaths', 'uriPathRouteInput_includeChildPaths' - Indicates whether to match all subpaths of the given source path. If+-- this value is @false@, requests must match the source path exactly+-- before they are forwarded to this route\'s service.+--+-- 'methods', 'uriPathRouteInput_methods' - A list of HTTP methods to match. An empty list matches all values. If a+-- method is present, only HTTP requests using that method are forwarded to+-- this route’s service.+--+-- 'activationState', 'uriPathRouteInput_activationState' - If set to @ACTIVE@, traffic is forwarded to this route’s service after+-- the route is created.+--+-- 'sourcePath', 'uriPathRouteInput_sourcePath' - The path to use to match traffic. Paths must start with @\/@ and are+-- relative to the base of the application.+newUriPathRouteInput ::+  -- | 'activationState'+  RouteActivationState ->+  -- | 'sourcePath'+  Prelude.Text ->+  UriPathRouteInput+newUriPathRouteInput pActivationState_ pSourcePath_ =+  UriPathRouteInput'+    { includeChildPaths =+        Prelude.Nothing,+      methods = Prelude.Nothing,+      activationState = pActivationState_,+      sourcePath = pSourcePath_+    }++-- | Indicates whether to match all subpaths of the given source path. If+-- this value is @false@, requests must match the source path exactly+-- before they are forwarded to this route\'s service.+uriPathRouteInput_includeChildPaths :: Lens.Lens' UriPathRouteInput (Prelude.Maybe Prelude.Bool)+uriPathRouteInput_includeChildPaths = Lens.lens (\UriPathRouteInput' {includeChildPaths} -> includeChildPaths) (\s@UriPathRouteInput' {} a -> s {includeChildPaths = a} :: UriPathRouteInput)++-- | A list of HTTP methods to match. An empty list matches all values. If a+-- method is present, only HTTP requests using that method are forwarded to+-- this route’s service.+uriPathRouteInput_methods :: Lens.Lens' UriPathRouteInput (Prelude.Maybe [HttpMethod])+uriPathRouteInput_methods = Lens.lens (\UriPathRouteInput' {methods} -> methods) (\s@UriPathRouteInput' {} a -> s {methods = a} :: UriPathRouteInput) Prelude.. Lens.mapping Lens.coerced++-- | If set to @ACTIVE@, traffic is forwarded to this route’s service after+-- the route is created.+uriPathRouteInput_activationState :: Lens.Lens' UriPathRouteInput RouteActivationState+uriPathRouteInput_activationState = Lens.lens (\UriPathRouteInput' {activationState} -> activationState) (\s@UriPathRouteInput' {} a -> s {activationState = a} :: UriPathRouteInput)++-- | The path to use to match traffic. Paths must start with @\/@ and are+-- relative to the base of the application.+uriPathRouteInput_sourcePath :: Lens.Lens' UriPathRouteInput Prelude.Text+uriPathRouteInput_sourcePath = Lens.lens (\UriPathRouteInput' {sourcePath} -> sourcePath) (\s@UriPathRouteInput' {} a -> s {sourcePath = a} :: UriPathRouteInput)++instance Data.FromJSON UriPathRouteInput where+  parseJSON =+    Data.withObject+      "UriPathRouteInput"+      ( \x ->+          UriPathRouteInput'+            Prelude.<$> (x Data..:? "IncludeChildPaths")+            Prelude.<*> (x Data..:? "Methods" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..: "ActivationState")+            Prelude.<*> (x Data..: "SourcePath")+      )++instance Prelude.Hashable UriPathRouteInput where+  hashWithSalt _salt UriPathRouteInput' {..} =+    _salt+      `Prelude.hashWithSalt` includeChildPaths+      `Prelude.hashWithSalt` methods+      `Prelude.hashWithSalt` activationState+      `Prelude.hashWithSalt` sourcePath++instance Prelude.NFData UriPathRouteInput where+  rnf UriPathRouteInput' {..} =+    Prelude.rnf includeChildPaths+      `Prelude.seq` Prelude.rnf methods+      `Prelude.seq` Prelude.rnf activationState+      `Prelude.seq` Prelude.rnf sourcePath++instance Data.ToJSON UriPathRouteInput where+  toJSON UriPathRouteInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("IncludeChildPaths" Data..=)+              Prelude.<$> includeChildPaths,+            ("Methods" Data..=) Prelude.<$> methods,+            Prelude.Just+              ("ActivationState" Data..= activationState),+            Prelude.Just ("SourcePath" Data..= sourcePath)+          ]+      )
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/UrlEndpointConfig.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.MigrationHubReFactorSpaces.Types.UrlEndpointConfig+-- 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.MigrationHubReFactorSpaces.Types.UrlEndpointConfig 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 configuration for the URL endpoint type.+--+-- /See:/ 'newUrlEndpointConfig' smart constructor.+data UrlEndpointConfig = UrlEndpointConfig'+  { -- | The health check URL of the URL endpoint type.+    healthUrl :: Prelude.Maybe Prelude.Text,+    -- | The HTTP URL endpoint.+    url :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UrlEndpointConfig' with all optional fields 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:+--+-- 'healthUrl', 'urlEndpointConfig_healthUrl' - The health check URL of the URL endpoint type.+--+-- 'url', 'urlEndpointConfig_url' - The HTTP URL endpoint.+newUrlEndpointConfig ::+  UrlEndpointConfig+newUrlEndpointConfig =+  UrlEndpointConfig'+    { healthUrl = Prelude.Nothing,+      url = Prelude.Nothing+    }++-- | The health check URL of the URL endpoint type.+urlEndpointConfig_healthUrl :: Lens.Lens' UrlEndpointConfig (Prelude.Maybe Prelude.Text)+urlEndpointConfig_healthUrl = Lens.lens (\UrlEndpointConfig' {healthUrl} -> healthUrl) (\s@UrlEndpointConfig' {} a -> s {healthUrl = a} :: UrlEndpointConfig)++-- | The HTTP URL endpoint.+urlEndpointConfig_url :: Lens.Lens' UrlEndpointConfig (Prelude.Maybe Prelude.Text)+urlEndpointConfig_url = Lens.lens (\UrlEndpointConfig' {url} -> url) (\s@UrlEndpointConfig' {} a -> s {url = a} :: UrlEndpointConfig)++instance Data.FromJSON UrlEndpointConfig where+  parseJSON =+    Data.withObject+      "UrlEndpointConfig"+      ( \x ->+          UrlEndpointConfig'+            Prelude.<$> (x Data..:? "HealthUrl")+            Prelude.<*> (x Data..:? "Url")+      )++instance Prelude.Hashable UrlEndpointConfig where+  hashWithSalt _salt UrlEndpointConfig' {..} =+    _salt+      `Prelude.hashWithSalt` healthUrl+      `Prelude.hashWithSalt` url++instance Prelude.NFData UrlEndpointConfig where+  rnf UrlEndpointConfig' {..} =+    Prelude.rnf healthUrl `Prelude.seq` Prelude.rnf url
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/UrlEndpointInput.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.MigrationHubReFactorSpaces.Types.UrlEndpointInput+-- 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.MigrationHubReFactorSpaces.Types.UrlEndpointInput 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 configuration for the URL endpoint type.+--+-- /See:/ 'newUrlEndpointInput' smart constructor.+data UrlEndpointInput = UrlEndpointInput'+  { -- | The health check URL of the URL endpoint type. If the URL is a public+    -- endpoint, the @HealthUrl@ must also be a public endpoint. If the URL is+    -- a private endpoint inside a virtual private cloud (VPC), the health URL+    -- must also be a private endpoint, and the host must be the same as the+    -- URL.+    healthUrl :: Prelude.Maybe Prelude.Text,+    -- | The URL to route traffic to. The URL must be an+    -- <https://datatracker.ietf.org/doc/html/rfc3986 rfc3986-formatted URL>.+    -- If the host is a domain name, the name must be resolvable over the+    -- public internet. If the scheme is @https@, the top level domain of the+    -- host must be listed in the+    -- <https://www.iana.org/domains/root/db IANA root zone database>.+    url :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UrlEndpointInput' with all optional fields 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:+--+-- 'healthUrl', 'urlEndpointInput_healthUrl' - The health check URL of the URL endpoint type. If the URL is a public+-- endpoint, the @HealthUrl@ must also be a public endpoint. If the URL is+-- a private endpoint inside a virtual private cloud (VPC), the health URL+-- must also be a private endpoint, and the host must be the same as the+-- URL.+--+-- 'url', 'urlEndpointInput_url' - The URL to route traffic to. The URL must be an+-- <https://datatracker.ietf.org/doc/html/rfc3986 rfc3986-formatted URL>.+-- If the host is a domain name, the name must be resolvable over the+-- public internet. If the scheme is @https@, the top level domain of the+-- host must be listed in the+-- <https://www.iana.org/domains/root/db IANA root zone database>.+newUrlEndpointInput ::+  -- | 'url'+  Prelude.Text ->+  UrlEndpointInput+newUrlEndpointInput pUrl_ =+  UrlEndpointInput'+    { healthUrl = Prelude.Nothing,+      url = pUrl_+    }++-- | The health check URL of the URL endpoint type. If the URL is a public+-- endpoint, the @HealthUrl@ must also be a public endpoint. If the URL is+-- a private endpoint inside a virtual private cloud (VPC), the health URL+-- must also be a private endpoint, and the host must be the same as the+-- URL.+urlEndpointInput_healthUrl :: Lens.Lens' UrlEndpointInput (Prelude.Maybe Prelude.Text)+urlEndpointInput_healthUrl = Lens.lens (\UrlEndpointInput' {healthUrl} -> healthUrl) (\s@UrlEndpointInput' {} a -> s {healthUrl = a} :: UrlEndpointInput)++-- | The URL to route traffic to. The URL must be an+-- <https://datatracker.ietf.org/doc/html/rfc3986 rfc3986-formatted URL>.+-- If the host is a domain name, the name must be resolvable over the+-- public internet. If the scheme is @https@, the top level domain of the+-- host must be listed in the+-- <https://www.iana.org/domains/root/db IANA root zone database>.+urlEndpointInput_url :: Lens.Lens' UrlEndpointInput Prelude.Text+urlEndpointInput_url = Lens.lens (\UrlEndpointInput' {url} -> url) (\s@UrlEndpointInput' {} a -> s {url = a} :: UrlEndpointInput)++instance Data.FromJSON UrlEndpointInput where+  parseJSON =+    Data.withObject+      "UrlEndpointInput"+      ( \x ->+          UrlEndpointInput'+            Prelude.<$> (x Data..:? "HealthUrl")+            Prelude.<*> (x Data..: "Url")+      )++instance Prelude.Hashable UrlEndpointInput where+  hashWithSalt _salt UrlEndpointInput' {..} =+    _salt+      `Prelude.hashWithSalt` healthUrl+      `Prelude.hashWithSalt` url++instance Prelude.NFData UrlEndpointInput where+  rnf UrlEndpointInput' {..} =+    Prelude.rnf healthUrl `Prelude.seq` Prelude.rnf url++instance Data.ToJSON UrlEndpointInput where+  toJSON UrlEndpointInput' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("HealthUrl" Data..=) Prelude.<$> healthUrl,+            Prelude.Just ("Url" Data..= url)+          ]+      )
+ gen/Amazonka/MigrationHubReFactorSpaces/Types/UrlEndpointSummary.hs view
@@ -0,0 +1,110 @@+{-# 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.MigrationHubReFactorSpaces.Types.UrlEndpointSummary+-- 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.MigrationHubReFactorSpaces.Types.UrlEndpointSummary 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 configuration for the URL endpoint type.+--+-- /See:/ 'newUrlEndpointSummary' smart constructor.+data UrlEndpointSummary = UrlEndpointSummary'+  { -- | The health check URL of the URL endpoint type. If the URL is a public+    -- endpoint, the @HealthUrl@ must also be a public endpoint. If the URL is+    -- a private endpoint inside a virtual private cloud (VPC), the health URL+    -- must also be a private endpoint, and the host must be the same as the+    -- URL.+    healthUrl :: Prelude.Maybe Prelude.Text,+    -- | The URL to route traffic to. The URL must be an+    -- <https://datatracker.ietf.org/doc/html/rfc3986 rfc3986-formatted URL>.+    -- If the host is a domain name, the name must be resolvable over the+    -- public internet. If the scheme is @https@, the top level domain of the+    -- host must be listed in the+    -- <https://www.iana.org/domains/root/db IANA root zone database>.+    url :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UrlEndpointSummary' with all optional fields 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:+--+-- 'healthUrl', 'urlEndpointSummary_healthUrl' - The health check URL of the URL endpoint type. If the URL is a public+-- endpoint, the @HealthUrl@ must also be a public endpoint. If the URL is+-- a private endpoint inside a virtual private cloud (VPC), the health URL+-- must also be a private endpoint, and the host must be the same as the+-- URL.+--+-- 'url', 'urlEndpointSummary_url' - The URL to route traffic to. The URL must be an+-- <https://datatracker.ietf.org/doc/html/rfc3986 rfc3986-formatted URL>.+-- If the host is a domain name, the name must be resolvable over the+-- public internet. If the scheme is @https@, the top level domain of the+-- host must be listed in the+-- <https://www.iana.org/domains/root/db IANA root zone database>.+newUrlEndpointSummary ::+  UrlEndpointSummary+newUrlEndpointSummary =+  UrlEndpointSummary'+    { healthUrl = Prelude.Nothing,+      url = Prelude.Nothing+    }++-- | The health check URL of the URL endpoint type. If the URL is a public+-- endpoint, the @HealthUrl@ must also be a public endpoint. If the URL is+-- a private endpoint inside a virtual private cloud (VPC), the health URL+-- must also be a private endpoint, and the host must be the same as the+-- URL.+urlEndpointSummary_healthUrl :: Lens.Lens' UrlEndpointSummary (Prelude.Maybe Prelude.Text)+urlEndpointSummary_healthUrl = Lens.lens (\UrlEndpointSummary' {healthUrl} -> healthUrl) (\s@UrlEndpointSummary' {} a -> s {healthUrl = a} :: UrlEndpointSummary)++-- | The URL to route traffic to. The URL must be an+-- <https://datatracker.ietf.org/doc/html/rfc3986 rfc3986-formatted URL>.+-- If the host is a domain name, the name must be resolvable over the+-- public internet. If the scheme is @https@, the top level domain of the+-- host must be listed in the+-- <https://www.iana.org/domains/root/db IANA root zone database>.+urlEndpointSummary_url :: Lens.Lens' UrlEndpointSummary (Prelude.Maybe Prelude.Text)+urlEndpointSummary_url = Lens.lens (\UrlEndpointSummary' {url} -> url) (\s@UrlEndpointSummary' {} a -> s {url = a} :: UrlEndpointSummary)++instance Data.FromJSON UrlEndpointSummary where+  parseJSON =+    Data.withObject+      "UrlEndpointSummary"+      ( \x ->+          UrlEndpointSummary'+            Prelude.<$> (x Data..:? "HealthUrl")+            Prelude.<*> (x Data..:? "Url")+      )++instance Prelude.Hashable UrlEndpointSummary where+  hashWithSalt _salt UrlEndpointSummary' {..} =+    _salt+      `Prelude.hashWithSalt` healthUrl+      `Prelude.hashWithSalt` url++instance Prelude.NFData UrlEndpointSummary where+  rnf UrlEndpointSummary' {..} =+    Prelude.rnf healthUrl `Prelude.seq` Prelude.rnf url
+ gen/Amazonka/MigrationHubReFactorSpaces/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.MigrationHubReFactorSpaces.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)+--+-- Adds to or modifies the tags of the given resource. Tags are metadata+-- which can be used to manage a resource. To untag a resource, the caller+-- account must be the same as the resource’s @OwnerAccountId@. Untagging+-- resources across accounts is not supported.+module Amazonka.MigrationHubReFactorSpaces.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.MigrationHubReFactorSpaces.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.+    resourceArn :: Prelude.Text,+    -- | The list of keys of the tags to be removed from the resource.+    tagKeys :: Data.Sensitive [Prelude.Text]+  }+  deriving (Prelude.Eq, 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.+--+-- 'tagKeys', 'untagResource_tagKeys' - The list of keys of the tags to be removed from the resource.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the resource.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The list of keys of the tags to be removed from the resource.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Data._Sensitive 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/MigrationHubReFactorSpaces/UpdateRoute.hs view
@@ -0,0 +1,300 @@+{-# 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.MigrationHubReFactorSpaces.UpdateRoute+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an Amazon Web Services Migration Hub Refactor Spaces route.+module Amazonka.MigrationHubReFactorSpaces.UpdateRoute+  ( -- * Creating a Request+    UpdateRoute (..),+    newUpdateRoute,++    -- * Request Lenses+    updateRoute_activationState,+    updateRoute_applicationIdentifier,+    updateRoute_environmentIdentifier,+    updateRoute_routeIdentifier,++    -- * Destructuring the Response+    UpdateRouteResponse (..),+    newUpdateRouteResponse,++    -- * Response Lenses+    updateRouteResponse_applicationId,+    updateRouteResponse_arn,+    updateRouteResponse_lastUpdatedTime,+    updateRouteResponse_routeId,+    updateRouteResponse_serviceId,+    updateRouteResponse_state,+    updateRouteResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateRoute' smart constructor.+data UpdateRoute = UpdateRoute'+  { -- | If set to @ACTIVE@, traffic is forwarded to this route’s service after+    -- the route is updated.+    activationState :: RouteActivationState,+    -- | The ID of the application within which the route is being updated.+    applicationIdentifier :: Prelude.Text,+    -- | The ID of the environment in which the route is being updated.+    environmentIdentifier :: Prelude.Text,+    -- | The unique identifier of the route to update.+    routeIdentifier :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRoute' with all optional fields 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:+--+-- 'activationState', 'updateRoute_activationState' - If set to @ACTIVE@, traffic is forwarded to this route’s service after+-- the route is updated.+--+-- 'applicationIdentifier', 'updateRoute_applicationIdentifier' - The ID of the application within which the route is being updated.+--+-- 'environmentIdentifier', 'updateRoute_environmentIdentifier' - The ID of the environment in which the route is being updated.+--+-- 'routeIdentifier', 'updateRoute_routeIdentifier' - The unique identifier of the route to update.+newUpdateRoute ::+  -- | 'activationState'+  RouteActivationState ->+  -- | 'applicationIdentifier'+  Prelude.Text ->+  -- | 'environmentIdentifier'+  Prelude.Text ->+  -- | 'routeIdentifier'+  Prelude.Text ->+  UpdateRoute+newUpdateRoute+  pActivationState_+  pApplicationIdentifier_+  pEnvironmentIdentifier_+  pRouteIdentifier_ =+    UpdateRoute'+      { activationState = pActivationState_,+        applicationIdentifier = pApplicationIdentifier_,+        environmentIdentifier = pEnvironmentIdentifier_,+        routeIdentifier = pRouteIdentifier_+      }++-- | If set to @ACTIVE@, traffic is forwarded to this route’s service after+-- the route is updated.+updateRoute_activationState :: Lens.Lens' UpdateRoute RouteActivationState+updateRoute_activationState = Lens.lens (\UpdateRoute' {activationState} -> activationState) (\s@UpdateRoute' {} a -> s {activationState = a} :: UpdateRoute)++-- | The ID of the application within which the route is being updated.+updateRoute_applicationIdentifier :: Lens.Lens' UpdateRoute Prelude.Text+updateRoute_applicationIdentifier = Lens.lens (\UpdateRoute' {applicationIdentifier} -> applicationIdentifier) (\s@UpdateRoute' {} a -> s {applicationIdentifier = a} :: UpdateRoute)++-- | The ID of the environment in which the route is being updated.+updateRoute_environmentIdentifier :: Lens.Lens' UpdateRoute Prelude.Text+updateRoute_environmentIdentifier = Lens.lens (\UpdateRoute' {environmentIdentifier} -> environmentIdentifier) (\s@UpdateRoute' {} a -> s {environmentIdentifier = a} :: UpdateRoute)++-- | The unique identifier of the route to update.+updateRoute_routeIdentifier :: Lens.Lens' UpdateRoute Prelude.Text+updateRoute_routeIdentifier = Lens.lens (\UpdateRoute' {routeIdentifier} -> routeIdentifier) (\s@UpdateRoute' {} a -> s {routeIdentifier = a} :: UpdateRoute)++instance Core.AWSRequest UpdateRoute where+  type AWSResponse UpdateRoute = UpdateRouteResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateRouteResponse'+            Prelude.<$> (x Data..?> "ApplicationId")+            Prelude.<*> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "LastUpdatedTime")+            Prelude.<*> (x Data..?> "RouteId")+            Prelude.<*> (x Data..?> "ServiceId")+            Prelude.<*> (x Data..?> "State")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateRoute where+  hashWithSalt _salt UpdateRoute' {..} =+    _salt+      `Prelude.hashWithSalt` activationState+      `Prelude.hashWithSalt` applicationIdentifier+      `Prelude.hashWithSalt` environmentIdentifier+      `Prelude.hashWithSalt` routeIdentifier++instance Prelude.NFData UpdateRoute where+  rnf UpdateRoute' {..} =+    Prelude.rnf activationState+      `Prelude.seq` Prelude.rnf applicationIdentifier+      `Prelude.seq` Prelude.rnf environmentIdentifier+      `Prelude.seq` Prelude.rnf routeIdentifier++instance Data.ToHeaders UpdateRoute where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateRoute where+  toJSON UpdateRoute' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("ActivationState" Data..= activationState)+          ]+      )++instance Data.ToPath UpdateRoute where+  toPath UpdateRoute' {..} =+    Prelude.mconcat+      [ "/environments/",+        Data.toBS environmentIdentifier,+        "/applications/",+        Data.toBS applicationIdentifier,+        "/routes/",+        Data.toBS routeIdentifier+      ]++instance Data.ToQuery UpdateRoute where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateRouteResponse' smart constructor.+data UpdateRouteResponse = UpdateRouteResponse'+  { -- | The ID of the application in which the route is being updated.+    applicationId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the route. The format for this ARN is+    -- @arn:aws:refactor-spaces:@/@region@/@:@/@account-id@/@:@/@resource-type\/resource-id@/@ @.+    -- For more information about ARNs, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+    -- in the /Amazon Web Services General Reference/.+    arn :: Prelude.Maybe Prelude.Text,+    -- | A timestamp that indicates when the route was last updated.+    lastUpdatedTime :: Prelude.Maybe Data.POSIX,+    -- | The unique identifier of the route.+    routeId :: Prelude.Maybe Prelude.Text,+    -- | The ID of service in which the route was created. Traffic that matches+    -- this route is forwarded to this service.+    serviceId :: Prelude.Maybe Prelude.Text,+    -- | The current state of the route.+    state :: Prelude.Maybe RouteState,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateRouteResponse' with all optional fields 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:+--+-- 'applicationId', 'updateRouteResponse_applicationId' - The ID of the application in which the route is being updated.+--+-- 'arn', 'updateRouteResponse_arn' - The Amazon Resource Name (ARN) of the route. The format for this ARN is+-- @arn:aws:refactor-spaces:@/@region@/@:@/@account-id@/@:@/@resource-type\/resource-id@/@ @.+-- For more information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'lastUpdatedTime', 'updateRouteResponse_lastUpdatedTime' - A timestamp that indicates when the route was last updated.+--+-- 'routeId', 'updateRouteResponse_routeId' - The unique identifier of the route.+--+-- 'serviceId', 'updateRouteResponse_serviceId' - The ID of service in which the route was created. Traffic that matches+-- this route is forwarded to this service.+--+-- 'state', 'updateRouteResponse_state' - The current state of the route.+--+-- 'httpStatus', 'updateRouteResponse_httpStatus' - The response's http status code.+newUpdateRouteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateRouteResponse+newUpdateRouteResponse pHttpStatus_ =+  UpdateRouteResponse'+    { applicationId =+        Prelude.Nothing,+      arn = Prelude.Nothing,+      lastUpdatedTime = Prelude.Nothing,+      routeId = Prelude.Nothing,+      serviceId = Prelude.Nothing,+      state = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The ID of the application in which the route is being updated.+updateRouteResponse_applicationId :: Lens.Lens' UpdateRouteResponse (Prelude.Maybe Prelude.Text)+updateRouteResponse_applicationId = Lens.lens (\UpdateRouteResponse' {applicationId} -> applicationId) (\s@UpdateRouteResponse' {} a -> s {applicationId = a} :: UpdateRouteResponse)++-- | The Amazon Resource Name (ARN) of the route. The format for this ARN is+-- @arn:aws:refactor-spaces:@/@region@/@:@/@account-id@/@:@/@resource-type\/resource-id@/@ @.+-- For more information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+updateRouteResponse_arn :: Lens.Lens' UpdateRouteResponse (Prelude.Maybe Prelude.Text)+updateRouteResponse_arn = Lens.lens (\UpdateRouteResponse' {arn} -> arn) (\s@UpdateRouteResponse' {} a -> s {arn = a} :: UpdateRouteResponse)++-- | A timestamp that indicates when the route was last updated.+updateRouteResponse_lastUpdatedTime :: Lens.Lens' UpdateRouteResponse (Prelude.Maybe Prelude.UTCTime)+updateRouteResponse_lastUpdatedTime = Lens.lens (\UpdateRouteResponse' {lastUpdatedTime} -> lastUpdatedTime) (\s@UpdateRouteResponse' {} a -> s {lastUpdatedTime = a} :: UpdateRouteResponse) Prelude.. Lens.mapping Data._Time++-- | The unique identifier of the route.+updateRouteResponse_routeId :: Lens.Lens' UpdateRouteResponse (Prelude.Maybe Prelude.Text)+updateRouteResponse_routeId = Lens.lens (\UpdateRouteResponse' {routeId} -> routeId) (\s@UpdateRouteResponse' {} a -> s {routeId = a} :: UpdateRouteResponse)++-- | The ID of service in which the route was created. Traffic that matches+-- this route is forwarded to this service.+updateRouteResponse_serviceId :: Lens.Lens' UpdateRouteResponse (Prelude.Maybe Prelude.Text)+updateRouteResponse_serviceId = Lens.lens (\UpdateRouteResponse' {serviceId} -> serviceId) (\s@UpdateRouteResponse' {} a -> s {serviceId = a} :: UpdateRouteResponse)++-- | The current state of the route.+updateRouteResponse_state :: Lens.Lens' UpdateRouteResponse (Prelude.Maybe RouteState)+updateRouteResponse_state = Lens.lens (\UpdateRouteResponse' {state} -> state) (\s@UpdateRouteResponse' {} a -> s {state = a} :: UpdateRouteResponse)++-- | The response's http status code.+updateRouteResponse_httpStatus :: Lens.Lens' UpdateRouteResponse Prelude.Int+updateRouteResponse_httpStatus = Lens.lens (\UpdateRouteResponse' {httpStatus} -> httpStatus) (\s@UpdateRouteResponse' {} a -> s {httpStatus = a} :: UpdateRouteResponse)++instance Prelude.NFData UpdateRouteResponse where+  rnf UpdateRouteResponse' {..} =+    Prelude.rnf applicationId+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf lastUpdatedTime+      `Prelude.seq` Prelude.rnf routeId+      `Prelude.seq` Prelude.rnf serviceId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MigrationHubReFactorSpaces/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.MigrationHubReFactorSpaces.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.MigrationHubReFactorSpaces.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MigrationHubReFactorSpaces.Lens+import Amazonka.MigrationHubReFactorSpaces.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.MigrationHubReFactorSpaces+import Test.Amazonka.MigrationHubReFactorSpaces.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "MigrationHubReFactorSpaces"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/MigrationHubReFactorSpaces.hs view
@@ -0,0 +1,518 @@+{-# 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.MigrationHubReFactorSpaces+-- 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.MigrationHubReFactorSpaces where++import Amazonka.MigrationHubReFactorSpaces+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.MigrationHubReFactorSpaces.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"+--         [ requestCreateApplication $+--             newCreateApplication+--+--         , requestCreateEnvironment $+--             newCreateEnvironment+--+--         , requestCreateRoute $+--             newCreateRoute+--+--         , requestCreateService $+--             newCreateService+--+--         , requestDeleteApplication $+--             newDeleteApplication+--+--         , requestDeleteEnvironment $+--             newDeleteEnvironment+--+--         , requestDeleteResourcePolicy $+--             newDeleteResourcePolicy+--+--         , requestDeleteRoute $+--             newDeleteRoute+--+--         , requestDeleteService $+--             newDeleteService+--+--         , requestGetApplication $+--             newGetApplication+--+--         , requestGetEnvironment $+--             newGetEnvironment+--+--         , requestGetResourcePolicy $+--             newGetResourcePolicy+--+--         , requestGetRoute $+--             newGetRoute+--+--         , requestGetService $+--             newGetService+--+--         , requestListApplications $+--             newListApplications+--+--         , requestListEnvironmentVpcs $+--             newListEnvironmentVpcs+--+--         , requestListEnvironments $+--             newListEnvironments+--+--         , requestListRoutes $+--             newListRoutes+--+--         , requestListServices $+--             newListServices+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestPutResourcePolicy $+--             newPutResourcePolicy+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateRoute $+--             newUpdateRoute+--+--           ]++--     , testGroup "response"+--         [ responseCreateApplication $+--             newCreateApplicationResponse+--+--         , responseCreateEnvironment $+--             newCreateEnvironmentResponse+--+--         , responseCreateRoute $+--             newCreateRouteResponse+--+--         , responseCreateService $+--             newCreateServiceResponse+--+--         , responseDeleteApplication $+--             newDeleteApplicationResponse+--+--         , responseDeleteEnvironment $+--             newDeleteEnvironmentResponse+--+--         , responseDeleteResourcePolicy $+--             newDeleteResourcePolicyResponse+--+--         , responseDeleteRoute $+--             newDeleteRouteResponse+--+--         , responseDeleteService $+--             newDeleteServiceResponse+--+--         , responseGetApplication $+--             newGetApplicationResponse+--+--         , responseGetEnvironment $+--             newGetEnvironmentResponse+--+--         , responseGetResourcePolicy $+--             newGetResourcePolicyResponse+--+--         , responseGetRoute $+--             newGetRouteResponse+--+--         , responseGetService $+--             newGetServiceResponse+--+--         , responseListApplications $+--             newListApplicationsResponse+--+--         , responseListEnvironmentVpcs $+--             newListEnvironmentVpcsResponse+--+--         , responseListEnvironments $+--             newListEnvironmentsResponse+--+--         , responseListRoutes $+--             newListRoutesResponse+--+--         , responseListServices $+--             newListServicesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responsePutResourcePolicy $+--             newPutResourcePolicyResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateRoute $+--             newUpdateRouteResponse+--+--           ]+--     ]++-- Requests++requestCreateApplication :: CreateApplication -> TestTree+requestCreateApplication =+  req+    "CreateApplication"+    "fixture/CreateApplication.yaml"++requestCreateEnvironment :: CreateEnvironment -> TestTree+requestCreateEnvironment =+  req+    "CreateEnvironment"+    "fixture/CreateEnvironment.yaml"++requestCreateRoute :: CreateRoute -> TestTree+requestCreateRoute =+  req+    "CreateRoute"+    "fixture/CreateRoute.yaml"++requestCreateService :: CreateService -> TestTree+requestCreateService =+  req+    "CreateService"+    "fixture/CreateService.yaml"++requestDeleteApplication :: DeleteApplication -> TestTree+requestDeleteApplication =+  req+    "DeleteApplication"+    "fixture/DeleteApplication.yaml"++requestDeleteEnvironment :: DeleteEnvironment -> TestTree+requestDeleteEnvironment =+  req+    "DeleteEnvironment"+    "fixture/DeleteEnvironment.yaml"++requestDeleteResourcePolicy :: DeleteResourcePolicy -> TestTree+requestDeleteResourcePolicy =+  req+    "DeleteResourcePolicy"+    "fixture/DeleteResourcePolicy.yaml"++requestDeleteRoute :: DeleteRoute -> TestTree+requestDeleteRoute =+  req+    "DeleteRoute"+    "fixture/DeleteRoute.yaml"++requestDeleteService :: DeleteService -> TestTree+requestDeleteService =+  req+    "DeleteService"+    "fixture/DeleteService.yaml"++requestGetApplication :: GetApplication -> TestTree+requestGetApplication =+  req+    "GetApplication"+    "fixture/GetApplication.yaml"++requestGetEnvironment :: GetEnvironment -> TestTree+requestGetEnvironment =+  req+    "GetEnvironment"+    "fixture/GetEnvironment.yaml"++requestGetResourcePolicy :: GetResourcePolicy -> TestTree+requestGetResourcePolicy =+  req+    "GetResourcePolicy"+    "fixture/GetResourcePolicy.yaml"++requestGetRoute :: GetRoute -> TestTree+requestGetRoute =+  req+    "GetRoute"+    "fixture/GetRoute.yaml"++requestGetService :: GetService -> TestTree+requestGetService =+  req+    "GetService"+    "fixture/GetService.yaml"++requestListApplications :: ListApplications -> TestTree+requestListApplications =+  req+    "ListApplications"+    "fixture/ListApplications.yaml"++requestListEnvironmentVpcs :: ListEnvironmentVpcs -> TestTree+requestListEnvironmentVpcs =+  req+    "ListEnvironmentVpcs"+    "fixture/ListEnvironmentVpcs.yaml"++requestListEnvironments :: ListEnvironments -> TestTree+requestListEnvironments =+  req+    "ListEnvironments"+    "fixture/ListEnvironments.yaml"++requestListRoutes :: ListRoutes -> TestTree+requestListRoutes =+  req+    "ListRoutes"+    "fixture/ListRoutes.yaml"++requestListServices :: ListServices -> TestTree+requestListServices =+  req+    "ListServices"+    "fixture/ListServices.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestPutResourcePolicy :: PutResourcePolicy -> TestTree+requestPutResourcePolicy =+  req+    "PutResourcePolicy"+    "fixture/PutResourcePolicy.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateRoute :: UpdateRoute -> TestTree+requestUpdateRoute =+  req+    "UpdateRoute"+    "fixture/UpdateRoute.yaml"++-- Responses++responseCreateApplication :: CreateApplicationResponse -> TestTree+responseCreateApplication =+  res+    "CreateApplicationResponse"+    "fixture/CreateApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateApplication)++responseCreateEnvironment :: CreateEnvironmentResponse -> TestTree+responseCreateEnvironment =+  res+    "CreateEnvironmentResponse"+    "fixture/CreateEnvironmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateEnvironment)++responseCreateRoute :: CreateRouteResponse -> TestTree+responseCreateRoute =+  res+    "CreateRouteResponse"+    "fixture/CreateRouteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateRoute)++responseCreateService :: CreateServiceResponse -> TestTree+responseCreateService =+  res+    "CreateServiceResponse"+    "fixture/CreateServiceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateService)++responseDeleteApplication :: DeleteApplicationResponse -> TestTree+responseDeleteApplication =+  res+    "DeleteApplicationResponse"+    "fixture/DeleteApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteApplication)++responseDeleteEnvironment :: DeleteEnvironmentResponse -> TestTree+responseDeleteEnvironment =+  res+    "DeleteEnvironmentResponse"+    "fixture/DeleteEnvironmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteEnvironment)++responseDeleteResourcePolicy :: DeleteResourcePolicyResponse -> TestTree+responseDeleteResourcePolicy =+  res+    "DeleteResourcePolicyResponse"+    "fixture/DeleteResourcePolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteResourcePolicy)++responseDeleteRoute :: DeleteRouteResponse -> TestTree+responseDeleteRoute =+  res+    "DeleteRouteResponse"+    "fixture/DeleteRouteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteRoute)++responseDeleteService :: DeleteServiceResponse -> TestTree+responseDeleteService =+  res+    "DeleteServiceResponse"+    "fixture/DeleteServiceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteService)++responseGetApplication :: GetApplicationResponse -> TestTree+responseGetApplication =+  res+    "GetApplicationResponse"+    "fixture/GetApplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetApplication)++responseGetEnvironment :: GetEnvironmentResponse -> TestTree+responseGetEnvironment =+  res+    "GetEnvironmentResponse"+    "fixture/GetEnvironmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetEnvironment)++responseGetResourcePolicy :: GetResourcePolicyResponse -> TestTree+responseGetResourcePolicy =+  res+    "GetResourcePolicyResponse"+    "fixture/GetResourcePolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetResourcePolicy)++responseGetRoute :: GetRouteResponse -> TestTree+responseGetRoute =+  res+    "GetRouteResponse"+    "fixture/GetRouteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetRoute)++responseGetService :: GetServiceResponse -> TestTree+responseGetService =+  res+    "GetServiceResponse"+    "fixture/GetServiceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetService)++responseListApplications :: ListApplicationsResponse -> TestTree+responseListApplications =+  res+    "ListApplicationsResponse"+    "fixture/ListApplicationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListApplications)++responseListEnvironmentVpcs :: ListEnvironmentVpcsResponse -> TestTree+responseListEnvironmentVpcs =+  res+    "ListEnvironmentVpcsResponse"+    "fixture/ListEnvironmentVpcsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListEnvironmentVpcs)++responseListEnvironments :: ListEnvironmentsResponse -> TestTree+responseListEnvironments =+  res+    "ListEnvironmentsResponse"+    "fixture/ListEnvironmentsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListEnvironments)++responseListRoutes :: ListRoutesResponse -> TestTree+responseListRoutes =+  res+    "ListRoutesResponse"+    "fixture/ListRoutesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListRoutes)++responseListServices :: ListServicesResponse -> TestTree+responseListServices =+  res+    "ListServicesResponse"+    "fixture/ListServicesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListServices)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePutResourcePolicy :: PutResourcePolicyResponse -> TestTree+responsePutResourcePolicy =+  res+    "PutResourcePolicyResponse"+    "fixture/PutResourcePolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutResourcePolicy)++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)++responseUpdateRoute :: UpdateRouteResponse -> TestTree+responseUpdateRoute =+  res+    "UpdateRouteResponse"+    "fixture/UpdateRouteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateRoute)
+ test/Test/Amazonka/MigrationHubReFactorSpaces.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.MigrationHubReFactorSpaces+-- 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.MigrationHubReFactorSpaces+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/MigrationHubReFactorSpaces/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.MigrationHubReFactorSpaces.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.MigrationHubReFactorSpaces.Internal where