packages feed

amazonka-networkmanager (empty) → 2.0

raw patch · 356 files changed

+35525/−0 lines, 356 filesdep +amazonka-coredep +amazonka-networkmanagerdep +amazonka-test

Dependencies added: amazonka-core, amazonka-networkmanager, 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 Network Manager SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2019-07-05@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-networkmanager)+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.NetworkManager](http://hackage.haskell.org/package/amazonka-networkmanager/docs/Amazonka-NetworkManager.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-networkmanager` 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-networkmanager.cabal view
@@ -0,0 +1,257 @@+cabal-version:      2.2+name:               amazonka-networkmanager+version:            2.0+synopsis:           Amazon Network Manager SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2019-07-05@ 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.NetworkManager.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.NetworkManager" 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-networkmanager++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.NetworkManager+    Amazonka.NetworkManager.AcceptAttachment+    Amazonka.NetworkManager.AssociateConnectPeer+    Amazonka.NetworkManager.AssociateCustomerGateway+    Amazonka.NetworkManager.AssociateLink+    Amazonka.NetworkManager.AssociateTransitGatewayConnectPeer+    Amazonka.NetworkManager.CreateConnectAttachment+    Amazonka.NetworkManager.CreateConnection+    Amazonka.NetworkManager.CreateConnectPeer+    Amazonka.NetworkManager.CreateCoreNetwork+    Amazonka.NetworkManager.CreateDevice+    Amazonka.NetworkManager.CreateGlobalNetwork+    Amazonka.NetworkManager.CreateLink+    Amazonka.NetworkManager.CreateSite+    Amazonka.NetworkManager.CreateSiteToSiteVpnAttachment+    Amazonka.NetworkManager.CreateTransitGatewayPeering+    Amazonka.NetworkManager.CreateTransitGatewayRouteTableAttachment+    Amazonka.NetworkManager.CreateVpcAttachment+    Amazonka.NetworkManager.DeleteAttachment+    Amazonka.NetworkManager.DeleteConnection+    Amazonka.NetworkManager.DeleteConnectPeer+    Amazonka.NetworkManager.DeleteCoreNetwork+    Amazonka.NetworkManager.DeleteCoreNetworkPolicyVersion+    Amazonka.NetworkManager.DeleteDevice+    Amazonka.NetworkManager.DeleteGlobalNetwork+    Amazonka.NetworkManager.DeleteLink+    Amazonka.NetworkManager.DeletePeering+    Amazonka.NetworkManager.DeleteResourcePolicy+    Amazonka.NetworkManager.DeleteSite+    Amazonka.NetworkManager.DeregisterTransitGateway+    Amazonka.NetworkManager.DescribeGlobalNetworks+    Amazonka.NetworkManager.DisassociateConnectPeer+    Amazonka.NetworkManager.DisassociateCustomerGateway+    Amazonka.NetworkManager.DisassociateLink+    Amazonka.NetworkManager.DisassociateTransitGatewayConnectPeer+    Amazonka.NetworkManager.ExecuteCoreNetworkChangeSet+    Amazonka.NetworkManager.GetConnectAttachment+    Amazonka.NetworkManager.GetConnections+    Amazonka.NetworkManager.GetConnectPeer+    Amazonka.NetworkManager.GetConnectPeerAssociations+    Amazonka.NetworkManager.GetCoreNetwork+    Amazonka.NetworkManager.GetCoreNetworkChangeEvents+    Amazonka.NetworkManager.GetCoreNetworkChangeSet+    Amazonka.NetworkManager.GetCoreNetworkPolicy+    Amazonka.NetworkManager.GetCustomerGatewayAssociations+    Amazonka.NetworkManager.GetDevices+    Amazonka.NetworkManager.GetLinkAssociations+    Amazonka.NetworkManager.GetLinks+    Amazonka.NetworkManager.GetNetworkResourceCounts+    Amazonka.NetworkManager.GetNetworkResourceRelationships+    Amazonka.NetworkManager.GetNetworkResources+    Amazonka.NetworkManager.GetNetworkRoutes+    Amazonka.NetworkManager.GetNetworkTelemetry+    Amazonka.NetworkManager.GetResourcePolicy+    Amazonka.NetworkManager.GetRouteAnalysis+    Amazonka.NetworkManager.GetSites+    Amazonka.NetworkManager.GetSiteToSiteVpnAttachment+    Amazonka.NetworkManager.GetTransitGatewayConnectPeerAssociations+    Amazonka.NetworkManager.GetTransitGatewayPeering+    Amazonka.NetworkManager.GetTransitGatewayRegistrations+    Amazonka.NetworkManager.GetTransitGatewayRouteTableAttachment+    Amazonka.NetworkManager.GetVpcAttachment+    Amazonka.NetworkManager.Lens+    Amazonka.NetworkManager.ListAttachments+    Amazonka.NetworkManager.ListConnectPeers+    Amazonka.NetworkManager.ListCoreNetworkPolicyVersions+    Amazonka.NetworkManager.ListCoreNetworks+    Amazonka.NetworkManager.ListOrganizationServiceAccessStatus+    Amazonka.NetworkManager.ListPeerings+    Amazonka.NetworkManager.ListTagsForResource+    Amazonka.NetworkManager.PutCoreNetworkPolicy+    Amazonka.NetworkManager.PutResourcePolicy+    Amazonka.NetworkManager.RegisterTransitGateway+    Amazonka.NetworkManager.RejectAttachment+    Amazonka.NetworkManager.RestoreCoreNetworkPolicyVersion+    Amazonka.NetworkManager.StartOrganizationServiceAccessUpdate+    Amazonka.NetworkManager.StartRouteAnalysis+    Amazonka.NetworkManager.TagResource+    Amazonka.NetworkManager.Types+    Amazonka.NetworkManager.Types.AccountStatus+    Amazonka.NetworkManager.Types.Attachment+    Amazonka.NetworkManager.Types.AttachmentState+    Amazonka.NetworkManager.Types.AttachmentType+    Amazonka.NetworkManager.Types.AWSLocation+    Amazonka.NetworkManager.Types.Bandwidth+    Amazonka.NetworkManager.Types.BgpOptions+    Amazonka.NetworkManager.Types.ChangeAction+    Amazonka.NetworkManager.Types.ChangeSetState+    Amazonka.NetworkManager.Types.ChangeStatus+    Amazonka.NetworkManager.Types.ChangeType+    Amazonka.NetworkManager.Types.ConnectAttachment+    Amazonka.NetworkManager.Types.ConnectAttachmentOptions+    Amazonka.NetworkManager.Types.Connection+    Amazonka.NetworkManager.Types.ConnectionHealth+    Amazonka.NetworkManager.Types.ConnectionState+    Amazonka.NetworkManager.Types.ConnectionStatus+    Amazonka.NetworkManager.Types.ConnectionType+    Amazonka.NetworkManager.Types.ConnectPeer+    Amazonka.NetworkManager.Types.ConnectPeerAssociation+    Amazonka.NetworkManager.Types.ConnectPeerAssociationState+    Amazonka.NetworkManager.Types.ConnectPeerBgpConfiguration+    Amazonka.NetworkManager.Types.ConnectPeerConfiguration+    Amazonka.NetworkManager.Types.ConnectPeerState+    Amazonka.NetworkManager.Types.ConnectPeerSummary+    Amazonka.NetworkManager.Types.CoreNetwork+    Amazonka.NetworkManager.Types.CoreNetworkChange+    Amazonka.NetworkManager.Types.CoreNetworkChangeEvent+    Amazonka.NetworkManager.Types.CoreNetworkChangeEventValues+    Amazonka.NetworkManager.Types.CoreNetworkChangeValues+    Amazonka.NetworkManager.Types.CoreNetworkEdge+    Amazonka.NetworkManager.Types.CoreNetworkPolicy+    Amazonka.NetworkManager.Types.CoreNetworkPolicyAlias+    Amazonka.NetworkManager.Types.CoreNetworkPolicyError+    Amazonka.NetworkManager.Types.CoreNetworkPolicyVersion+    Amazonka.NetworkManager.Types.CoreNetworkSegment+    Amazonka.NetworkManager.Types.CoreNetworkSegmentEdgeIdentifier+    Amazonka.NetworkManager.Types.CoreNetworkState+    Amazonka.NetworkManager.Types.CoreNetworkSummary+    Amazonka.NetworkManager.Types.CustomerGatewayAssociation+    Amazonka.NetworkManager.Types.CustomerGatewayAssociationState+    Amazonka.NetworkManager.Types.Device+    Amazonka.NetworkManager.Types.DeviceState+    Amazonka.NetworkManager.Types.GlobalNetwork+    Amazonka.NetworkManager.Types.GlobalNetworkState+    Amazonka.NetworkManager.Types.Link+    Amazonka.NetworkManager.Types.LinkAssociation+    Amazonka.NetworkManager.Types.LinkAssociationState+    Amazonka.NetworkManager.Types.LinkState+    Amazonka.NetworkManager.Types.Location+    Amazonka.NetworkManager.Types.NetworkResource+    Amazonka.NetworkManager.Types.NetworkResourceCount+    Amazonka.NetworkManager.Types.NetworkResourceSummary+    Amazonka.NetworkManager.Types.NetworkRoute+    Amazonka.NetworkManager.Types.NetworkRouteDestination+    Amazonka.NetworkManager.Types.NetworkTelemetry+    Amazonka.NetworkManager.Types.OrganizationStatus+    Amazonka.NetworkManager.Types.PathComponent+    Amazonka.NetworkManager.Types.Peering+    Amazonka.NetworkManager.Types.PeeringState+    Amazonka.NetworkManager.Types.PeeringType+    Amazonka.NetworkManager.Types.ProposedSegmentChange+    Amazonka.NetworkManager.Types.Relationship+    Amazonka.NetworkManager.Types.RouteAnalysis+    Amazonka.NetworkManager.Types.RouteAnalysisCompletion+    Amazonka.NetworkManager.Types.RouteAnalysisCompletionReasonCode+    Amazonka.NetworkManager.Types.RouteAnalysisCompletionResultCode+    Amazonka.NetworkManager.Types.RouteAnalysisEndpointOptions+    Amazonka.NetworkManager.Types.RouteAnalysisEndpointOptionsSpecification+    Amazonka.NetworkManager.Types.RouteAnalysisPath+    Amazonka.NetworkManager.Types.RouteAnalysisStatus+    Amazonka.NetworkManager.Types.RouteState+    Amazonka.NetworkManager.Types.RouteTableIdentifier+    Amazonka.NetworkManager.Types.RouteTableType+    Amazonka.NetworkManager.Types.RouteType+    Amazonka.NetworkManager.Types.Site+    Amazonka.NetworkManager.Types.SiteState+    Amazonka.NetworkManager.Types.SiteToSiteVpnAttachment+    Amazonka.NetworkManager.Types.Tag+    Amazonka.NetworkManager.Types.TransitGatewayConnectPeerAssociation+    Amazonka.NetworkManager.Types.TransitGatewayConnectPeerAssociationState+    Amazonka.NetworkManager.Types.TransitGatewayPeering+    Amazonka.NetworkManager.Types.TransitGatewayRegistration+    Amazonka.NetworkManager.Types.TransitGatewayRegistrationState+    Amazonka.NetworkManager.Types.TransitGatewayRegistrationStateReason+    Amazonka.NetworkManager.Types.TransitGatewayRouteTableAttachment+    Amazonka.NetworkManager.Types.TunnelProtocol+    Amazonka.NetworkManager.Types.VpcAttachment+    Amazonka.NetworkManager.Types.VpcOptions+    Amazonka.NetworkManager.UntagResource+    Amazonka.NetworkManager.UpdateConnection+    Amazonka.NetworkManager.UpdateCoreNetwork+    Amazonka.NetworkManager.UpdateDevice+    Amazonka.NetworkManager.UpdateGlobalNetwork+    Amazonka.NetworkManager.UpdateLink+    Amazonka.NetworkManager.UpdateNetworkResourceMetadata+    Amazonka.NetworkManager.UpdateSite+    Amazonka.NetworkManager.UpdateVpcAttachment+    Amazonka.NetworkManager.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-networkmanager-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.NetworkManager+    Test.Amazonka.NetworkManager+    Test.Amazonka.NetworkManager.Internal++  build-depends:+    , amazonka-core            >=2.0 && <2.1+    , amazonka-networkmanager+    , amazonka-test            >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/AcceptAttachment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/AcceptAttachmentResponse.proto view
+ fixture/AssociateConnectPeer.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/AssociateConnectPeerResponse.proto view
+ fixture/AssociateCustomerGateway.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/AssociateCustomerGatewayResponse.proto view
+ fixture/AssociateLink.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/AssociateLinkResponse.proto view
+ fixture/AssociateTransitGatewayConnectPeer.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/AssociateTransitGatewayConnectPeerResponse.proto view
+ fixture/CreateConnectAttachment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/CreateConnectAttachmentResponse.proto view
+ fixture/CreateConnectPeer.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/CreateConnectPeerResponse.proto view
+ fixture/CreateConnection.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/CreateConnectionResponse.proto view
+ fixture/CreateCoreNetwork.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/CreateCoreNetworkResponse.proto view
+ fixture/CreateDevice.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/CreateDeviceResponse.proto view
+ fixture/CreateGlobalNetwork.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/CreateGlobalNetworkResponse.proto view
+ fixture/CreateLink.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/CreateLinkResponse.proto view
+ fixture/CreateSite.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/CreateSiteResponse.proto view
+ fixture/CreateSiteToSiteVpnAttachment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/CreateSiteToSiteVpnAttachmentResponse.proto view
+ fixture/CreateTransitGatewayPeering.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/CreateTransitGatewayPeeringResponse.proto view
+ fixture/CreateTransitGatewayRouteTableAttachment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/CreateTransitGatewayRouteTableAttachmentResponse.proto view
+ fixture/CreateVpcAttachment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/CreateVpcAttachmentResponse.proto view
+ fixture/DeleteAttachment.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DeleteAttachmentResponse.proto view
+ fixture/DeleteConnectPeer.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DeleteConnectPeerResponse.proto view
+ fixture/DeleteConnection.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DeleteConnectionResponse.proto view
+ fixture/DeleteCoreNetwork.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DeleteCoreNetworkPolicyVersion.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DeleteCoreNetworkPolicyVersionResponse.proto view
+ fixture/DeleteCoreNetworkResponse.proto view
+ fixture/DeleteDevice.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DeleteDeviceResponse.proto view
+ fixture/DeleteGlobalNetwork.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DeleteGlobalNetworkResponse.proto view
+ fixture/DeleteLink.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DeleteLinkResponse.proto view
+ fixture/DeletePeering.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DeletePeeringResponse.proto view
+ fixture/DeleteResourcePolicy.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DeleteSite.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DeleteSiteResponse.proto view
+ fixture/DeregisterTransitGateway.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DeregisterTransitGatewayResponse.proto view
+ fixture/DescribeGlobalNetworks.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DescribeGlobalNetworksResponse.proto view
+ fixture/DisassociateConnectPeer.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DisassociateConnectPeerResponse.proto view
+ fixture/DisassociateCustomerGateway.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DisassociateCustomerGatewayResponse.proto view
+ fixture/DisassociateLink.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DisassociateLinkResponse.proto view
+ fixture/DisassociateTransitGatewayConnectPeer.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/DisassociateTransitGatewayConnectPeerResponse.proto view
+ fixture/ExecuteCoreNetworkChangeSet.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/ExecuteCoreNetworkChangeSetResponse.proto view
+ fixture/GetConnectAttachment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetConnectAttachmentResponse.proto view
+ fixture/GetConnectPeer.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetConnectPeerAssociations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetConnectPeerAssociationsResponse.proto view
+ fixture/GetConnectPeerResponse.proto view
+ fixture/GetConnections.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetConnectionsResponse.proto view
+ fixture/GetCoreNetwork.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetCoreNetworkChangeEvents.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetCoreNetworkChangeEventsResponse.proto view
+ fixture/GetCoreNetworkChangeSet.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetCoreNetworkChangeSetResponse.proto view
+ fixture/GetCoreNetworkPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetCoreNetworkPolicyResponse.proto view
+ fixture/GetCoreNetworkResponse.proto view
+ fixture/GetCustomerGatewayAssociations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetCustomerGatewayAssociationsResponse.proto view
+ fixture/GetDevices.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetDevicesResponse.proto view
+ fixture/GetLinkAssociations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetLinkAssociationsResponse.proto view
+ fixture/GetLinks.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetLinksResponse.proto view
+ fixture/GetNetworkResourceCounts.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetNetworkResourceCountsResponse.proto view
+ fixture/GetNetworkResourceRelationships.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetNetworkResourceRelationshipsResponse.proto view
+ fixture/GetNetworkResources.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetNetworkResourcesResponse.proto view
+ fixture/GetNetworkRoutes.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetNetworkRoutesResponse.proto view
+ fixture/GetNetworkTelemetry.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetNetworkTelemetryResponse.proto view
+ fixture/GetResourcePolicy.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetRouteAnalysis.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetRouteAnalysisResponse.proto view
+ fixture/GetSiteToSiteVpnAttachment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetSiteToSiteVpnAttachmentResponse.proto view
+ fixture/GetSites.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetSitesResponse.proto view
+ fixture/GetTransitGatewayConnectPeerAssociations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetTransitGatewayConnectPeerAssociationsResponse.proto view
+ fixture/GetTransitGatewayPeering.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetTransitGatewayPeeringResponse.proto view
+ fixture/GetTransitGatewayRegistrations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetTransitGatewayRegistrationsResponse.proto view
+ fixture/GetTransitGatewayRouteTableAttachment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetTransitGatewayRouteTableAttachmentResponse.proto view
+ fixture/GetVpcAttachment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/GetVpcAttachmentResponse.proto view
+ fixture/ListAttachments.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/ListAttachmentsResponse.proto view
+ fixture/ListConnectPeers.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/ListConnectPeersResponse.proto view
+ fixture/ListCoreNetworkPolicyVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/ListCoreNetworkPolicyVersionsResponse.proto view
+ fixture/ListCoreNetworks.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/ListCoreNetworksResponse.proto view
+ fixture/ListOrganizationServiceAccessStatus.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/ListOrganizationServiceAccessStatusResponse.proto view
+ fixture/ListPeerings.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/ListPeeringsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/PutCoreNetworkPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/PutCoreNetworkPolicyResponse.proto view
+ fixture/PutResourcePolicy.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/RegisterTransitGateway.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/RegisterTransitGatewayResponse.proto view
+ fixture/RejectAttachment.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/RejectAttachmentResponse.proto view
+ fixture/RestoreCoreNetworkPolicyVersion.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/RestoreCoreNetworkPolicyVersionResponse.proto view
+ fixture/StartOrganizationServiceAccessUpdate.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/StartOrganizationServiceAccessUpdateResponse.proto view
+ fixture/StartRouteAnalysis.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/StartRouteAnalysisResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/UpdateConnection.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/UpdateConnectionResponse.proto view
+ fixture/UpdateCoreNetwork.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/UpdateCoreNetworkResponse.proto view
+ fixture/UpdateDevice.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/UpdateDeviceResponse.proto view
+ fixture/UpdateGlobalNetwork.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/UpdateGlobalNetworkResponse.proto view
+ fixture/UpdateLink.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/UpdateLinkResponse.proto view
+ fixture/UpdateNetworkResourceMetadata.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/UpdateNetworkResourceMetadataResponse.proto view
+ fixture/UpdateSite.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/UpdateSiteResponse.proto view
+ fixture/UpdateVpcAttachment.yaml view
@@ -0,0 +1,10 @@+---+method: PATCH+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/networkmanager/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  networkmanager.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/UpdateVpcAttachmentResponse.proto view
+ gen/Amazonka/NetworkManager.hs view
@@ -0,0 +1,1008 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.NetworkManager+-- 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 @2019-07-05@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Web Services enables you to centrally manage your Amazon Web+-- Services Cloud WAN core network and your Transit Gateway network across+-- Amazon Web Services accounts, Regions, and on-premises locations.+module Amazonka.NetworkManager+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** CoreNetworkPolicyException+    _CoreNetworkPolicyException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** ThrottlingException+    _ThrottlingException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** AcceptAttachment+    AcceptAttachment (AcceptAttachment'),+    newAcceptAttachment,+    AcceptAttachmentResponse (AcceptAttachmentResponse'),+    newAcceptAttachmentResponse,++    -- ** AssociateConnectPeer+    AssociateConnectPeer (AssociateConnectPeer'),+    newAssociateConnectPeer,+    AssociateConnectPeerResponse (AssociateConnectPeerResponse'),+    newAssociateConnectPeerResponse,++    -- ** AssociateCustomerGateway+    AssociateCustomerGateway (AssociateCustomerGateway'),+    newAssociateCustomerGateway,+    AssociateCustomerGatewayResponse (AssociateCustomerGatewayResponse'),+    newAssociateCustomerGatewayResponse,++    -- ** AssociateLink+    AssociateLink (AssociateLink'),+    newAssociateLink,+    AssociateLinkResponse (AssociateLinkResponse'),+    newAssociateLinkResponse,++    -- ** AssociateTransitGatewayConnectPeer+    AssociateTransitGatewayConnectPeer (AssociateTransitGatewayConnectPeer'),+    newAssociateTransitGatewayConnectPeer,+    AssociateTransitGatewayConnectPeerResponse (AssociateTransitGatewayConnectPeerResponse'),+    newAssociateTransitGatewayConnectPeerResponse,++    -- ** CreateConnectAttachment+    CreateConnectAttachment (CreateConnectAttachment'),+    newCreateConnectAttachment,+    CreateConnectAttachmentResponse (CreateConnectAttachmentResponse'),+    newCreateConnectAttachmentResponse,++    -- ** CreateConnectPeer+    CreateConnectPeer (CreateConnectPeer'),+    newCreateConnectPeer,+    CreateConnectPeerResponse (CreateConnectPeerResponse'),+    newCreateConnectPeerResponse,++    -- ** CreateConnection+    CreateConnection (CreateConnection'),+    newCreateConnection,+    CreateConnectionResponse (CreateConnectionResponse'),+    newCreateConnectionResponse,++    -- ** CreateCoreNetwork+    CreateCoreNetwork (CreateCoreNetwork'),+    newCreateCoreNetwork,+    CreateCoreNetworkResponse (CreateCoreNetworkResponse'),+    newCreateCoreNetworkResponse,++    -- ** CreateDevice+    CreateDevice (CreateDevice'),+    newCreateDevice,+    CreateDeviceResponse (CreateDeviceResponse'),+    newCreateDeviceResponse,++    -- ** CreateGlobalNetwork+    CreateGlobalNetwork (CreateGlobalNetwork'),+    newCreateGlobalNetwork,+    CreateGlobalNetworkResponse (CreateGlobalNetworkResponse'),+    newCreateGlobalNetworkResponse,++    -- ** CreateLink+    CreateLink (CreateLink'),+    newCreateLink,+    CreateLinkResponse (CreateLinkResponse'),+    newCreateLinkResponse,++    -- ** CreateSite+    CreateSite (CreateSite'),+    newCreateSite,+    CreateSiteResponse (CreateSiteResponse'),+    newCreateSiteResponse,++    -- ** CreateSiteToSiteVpnAttachment+    CreateSiteToSiteVpnAttachment (CreateSiteToSiteVpnAttachment'),+    newCreateSiteToSiteVpnAttachment,+    CreateSiteToSiteVpnAttachmentResponse (CreateSiteToSiteVpnAttachmentResponse'),+    newCreateSiteToSiteVpnAttachmentResponse,++    -- ** CreateTransitGatewayPeering+    CreateTransitGatewayPeering (CreateTransitGatewayPeering'),+    newCreateTransitGatewayPeering,+    CreateTransitGatewayPeeringResponse (CreateTransitGatewayPeeringResponse'),+    newCreateTransitGatewayPeeringResponse,++    -- ** CreateTransitGatewayRouteTableAttachment+    CreateTransitGatewayRouteTableAttachment (CreateTransitGatewayRouteTableAttachment'),+    newCreateTransitGatewayRouteTableAttachment,+    CreateTransitGatewayRouteTableAttachmentResponse (CreateTransitGatewayRouteTableAttachmentResponse'),+    newCreateTransitGatewayRouteTableAttachmentResponse,++    -- ** CreateVpcAttachment+    CreateVpcAttachment (CreateVpcAttachment'),+    newCreateVpcAttachment,+    CreateVpcAttachmentResponse (CreateVpcAttachmentResponse'),+    newCreateVpcAttachmentResponse,++    -- ** DeleteAttachment+    DeleteAttachment (DeleteAttachment'),+    newDeleteAttachment,+    DeleteAttachmentResponse (DeleteAttachmentResponse'),+    newDeleteAttachmentResponse,++    -- ** DeleteConnectPeer+    DeleteConnectPeer (DeleteConnectPeer'),+    newDeleteConnectPeer,+    DeleteConnectPeerResponse (DeleteConnectPeerResponse'),+    newDeleteConnectPeerResponse,++    -- ** DeleteConnection+    DeleteConnection (DeleteConnection'),+    newDeleteConnection,+    DeleteConnectionResponse (DeleteConnectionResponse'),+    newDeleteConnectionResponse,++    -- ** DeleteCoreNetwork+    DeleteCoreNetwork (DeleteCoreNetwork'),+    newDeleteCoreNetwork,+    DeleteCoreNetworkResponse (DeleteCoreNetworkResponse'),+    newDeleteCoreNetworkResponse,++    -- ** DeleteCoreNetworkPolicyVersion+    DeleteCoreNetworkPolicyVersion (DeleteCoreNetworkPolicyVersion'),+    newDeleteCoreNetworkPolicyVersion,+    DeleteCoreNetworkPolicyVersionResponse (DeleteCoreNetworkPolicyVersionResponse'),+    newDeleteCoreNetworkPolicyVersionResponse,++    -- ** DeleteDevice+    DeleteDevice (DeleteDevice'),+    newDeleteDevice,+    DeleteDeviceResponse (DeleteDeviceResponse'),+    newDeleteDeviceResponse,++    -- ** DeleteGlobalNetwork+    DeleteGlobalNetwork (DeleteGlobalNetwork'),+    newDeleteGlobalNetwork,+    DeleteGlobalNetworkResponse (DeleteGlobalNetworkResponse'),+    newDeleteGlobalNetworkResponse,++    -- ** DeleteLink+    DeleteLink (DeleteLink'),+    newDeleteLink,+    DeleteLinkResponse (DeleteLinkResponse'),+    newDeleteLinkResponse,++    -- ** DeletePeering+    DeletePeering (DeletePeering'),+    newDeletePeering,+    DeletePeeringResponse (DeletePeeringResponse'),+    newDeletePeeringResponse,++    -- ** DeleteResourcePolicy+    DeleteResourcePolicy (DeleteResourcePolicy'),+    newDeleteResourcePolicy,+    DeleteResourcePolicyResponse (DeleteResourcePolicyResponse'),+    newDeleteResourcePolicyResponse,++    -- ** DeleteSite+    DeleteSite (DeleteSite'),+    newDeleteSite,+    DeleteSiteResponse (DeleteSiteResponse'),+    newDeleteSiteResponse,++    -- ** DeregisterTransitGateway+    DeregisterTransitGateway (DeregisterTransitGateway'),+    newDeregisterTransitGateway,+    DeregisterTransitGatewayResponse (DeregisterTransitGatewayResponse'),+    newDeregisterTransitGatewayResponse,++    -- ** DescribeGlobalNetworks (Paginated)+    DescribeGlobalNetworks (DescribeGlobalNetworks'),+    newDescribeGlobalNetworks,+    DescribeGlobalNetworksResponse (DescribeGlobalNetworksResponse'),+    newDescribeGlobalNetworksResponse,++    -- ** DisassociateConnectPeer+    DisassociateConnectPeer (DisassociateConnectPeer'),+    newDisassociateConnectPeer,+    DisassociateConnectPeerResponse (DisassociateConnectPeerResponse'),+    newDisassociateConnectPeerResponse,++    -- ** DisassociateCustomerGateway+    DisassociateCustomerGateway (DisassociateCustomerGateway'),+    newDisassociateCustomerGateway,+    DisassociateCustomerGatewayResponse (DisassociateCustomerGatewayResponse'),+    newDisassociateCustomerGatewayResponse,++    -- ** DisassociateLink+    DisassociateLink (DisassociateLink'),+    newDisassociateLink,+    DisassociateLinkResponse (DisassociateLinkResponse'),+    newDisassociateLinkResponse,++    -- ** DisassociateTransitGatewayConnectPeer+    DisassociateTransitGatewayConnectPeer (DisassociateTransitGatewayConnectPeer'),+    newDisassociateTransitGatewayConnectPeer,+    DisassociateTransitGatewayConnectPeerResponse (DisassociateTransitGatewayConnectPeerResponse'),+    newDisassociateTransitGatewayConnectPeerResponse,++    -- ** ExecuteCoreNetworkChangeSet+    ExecuteCoreNetworkChangeSet (ExecuteCoreNetworkChangeSet'),+    newExecuteCoreNetworkChangeSet,+    ExecuteCoreNetworkChangeSetResponse (ExecuteCoreNetworkChangeSetResponse'),+    newExecuteCoreNetworkChangeSetResponse,++    -- ** GetConnectAttachment+    GetConnectAttachment (GetConnectAttachment'),+    newGetConnectAttachment,+    GetConnectAttachmentResponse (GetConnectAttachmentResponse'),+    newGetConnectAttachmentResponse,++    -- ** GetConnectPeer+    GetConnectPeer (GetConnectPeer'),+    newGetConnectPeer,+    GetConnectPeerResponse (GetConnectPeerResponse'),+    newGetConnectPeerResponse,++    -- ** GetConnectPeerAssociations (Paginated)+    GetConnectPeerAssociations (GetConnectPeerAssociations'),+    newGetConnectPeerAssociations,+    GetConnectPeerAssociationsResponse (GetConnectPeerAssociationsResponse'),+    newGetConnectPeerAssociationsResponse,++    -- ** GetConnections (Paginated)+    GetConnections (GetConnections'),+    newGetConnections,+    GetConnectionsResponse (GetConnectionsResponse'),+    newGetConnectionsResponse,++    -- ** GetCoreNetwork+    GetCoreNetwork (GetCoreNetwork'),+    newGetCoreNetwork,+    GetCoreNetworkResponse (GetCoreNetworkResponse'),+    newGetCoreNetworkResponse,++    -- ** GetCoreNetworkChangeEvents (Paginated)+    GetCoreNetworkChangeEvents (GetCoreNetworkChangeEvents'),+    newGetCoreNetworkChangeEvents,+    GetCoreNetworkChangeEventsResponse (GetCoreNetworkChangeEventsResponse'),+    newGetCoreNetworkChangeEventsResponse,++    -- ** GetCoreNetworkChangeSet (Paginated)+    GetCoreNetworkChangeSet (GetCoreNetworkChangeSet'),+    newGetCoreNetworkChangeSet,+    GetCoreNetworkChangeSetResponse (GetCoreNetworkChangeSetResponse'),+    newGetCoreNetworkChangeSetResponse,++    -- ** GetCoreNetworkPolicy+    GetCoreNetworkPolicy (GetCoreNetworkPolicy'),+    newGetCoreNetworkPolicy,+    GetCoreNetworkPolicyResponse (GetCoreNetworkPolicyResponse'),+    newGetCoreNetworkPolicyResponse,++    -- ** GetCustomerGatewayAssociations (Paginated)+    GetCustomerGatewayAssociations (GetCustomerGatewayAssociations'),+    newGetCustomerGatewayAssociations,+    GetCustomerGatewayAssociationsResponse (GetCustomerGatewayAssociationsResponse'),+    newGetCustomerGatewayAssociationsResponse,++    -- ** GetDevices (Paginated)+    GetDevices (GetDevices'),+    newGetDevices,+    GetDevicesResponse (GetDevicesResponse'),+    newGetDevicesResponse,++    -- ** GetLinkAssociations (Paginated)+    GetLinkAssociations (GetLinkAssociations'),+    newGetLinkAssociations,+    GetLinkAssociationsResponse (GetLinkAssociationsResponse'),+    newGetLinkAssociationsResponse,++    -- ** GetLinks (Paginated)+    GetLinks (GetLinks'),+    newGetLinks,+    GetLinksResponse (GetLinksResponse'),+    newGetLinksResponse,++    -- ** GetNetworkResourceCounts (Paginated)+    GetNetworkResourceCounts (GetNetworkResourceCounts'),+    newGetNetworkResourceCounts,+    GetNetworkResourceCountsResponse (GetNetworkResourceCountsResponse'),+    newGetNetworkResourceCountsResponse,++    -- ** GetNetworkResourceRelationships (Paginated)+    GetNetworkResourceRelationships (GetNetworkResourceRelationships'),+    newGetNetworkResourceRelationships,+    GetNetworkResourceRelationshipsResponse (GetNetworkResourceRelationshipsResponse'),+    newGetNetworkResourceRelationshipsResponse,++    -- ** GetNetworkResources (Paginated)+    GetNetworkResources (GetNetworkResources'),+    newGetNetworkResources,+    GetNetworkResourcesResponse (GetNetworkResourcesResponse'),+    newGetNetworkResourcesResponse,++    -- ** GetNetworkRoutes+    GetNetworkRoutes (GetNetworkRoutes'),+    newGetNetworkRoutes,+    GetNetworkRoutesResponse (GetNetworkRoutesResponse'),+    newGetNetworkRoutesResponse,++    -- ** GetNetworkTelemetry (Paginated)+    GetNetworkTelemetry (GetNetworkTelemetry'),+    newGetNetworkTelemetry,+    GetNetworkTelemetryResponse (GetNetworkTelemetryResponse'),+    newGetNetworkTelemetryResponse,++    -- ** GetResourcePolicy+    GetResourcePolicy (GetResourcePolicy'),+    newGetResourcePolicy,+    GetResourcePolicyResponse (GetResourcePolicyResponse'),+    newGetResourcePolicyResponse,++    -- ** GetRouteAnalysis+    GetRouteAnalysis (GetRouteAnalysis'),+    newGetRouteAnalysis,+    GetRouteAnalysisResponse (GetRouteAnalysisResponse'),+    newGetRouteAnalysisResponse,++    -- ** GetSiteToSiteVpnAttachment+    GetSiteToSiteVpnAttachment (GetSiteToSiteVpnAttachment'),+    newGetSiteToSiteVpnAttachment,+    GetSiteToSiteVpnAttachmentResponse (GetSiteToSiteVpnAttachmentResponse'),+    newGetSiteToSiteVpnAttachmentResponse,++    -- ** GetSites (Paginated)+    GetSites (GetSites'),+    newGetSites,+    GetSitesResponse (GetSitesResponse'),+    newGetSitesResponse,++    -- ** GetTransitGatewayConnectPeerAssociations (Paginated)+    GetTransitGatewayConnectPeerAssociations (GetTransitGatewayConnectPeerAssociations'),+    newGetTransitGatewayConnectPeerAssociations,+    GetTransitGatewayConnectPeerAssociationsResponse (GetTransitGatewayConnectPeerAssociationsResponse'),+    newGetTransitGatewayConnectPeerAssociationsResponse,++    -- ** GetTransitGatewayPeering+    GetTransitGatewayPeering (GetTransitGatewayPeering'),+    newGetTransitGatewayPeering,+    GetTransitGatewayPeeringResponse (GetTransitGatewayPeeringResponse'),+    newGetTransitGatewayPeeringResponse,++    -- ** GetTransitGatewayRegistrations (Paginated)+    GetTransitGatewayRegistrations (GetTransitGatewayRegistrations'),+    newGetTransitGatewayRegistrations,+    GetTransitGatewayRegistrationsResponse (GetTransitGatewayRegistrationsResponse'),+    newGetTransitGatewayRegistrationsResponse,++    -- ** GetTransitGatewayRouteTableAttachment+    GetTransitGatewayRouteTableAttachment (GetTransitGatewayRouteTableAttachment'),+    newGetTransitGatewayRouteTableAttachment,+    GetTransitGatewayRouteTableAttachmentResponse (GetTransitGatewayRouteTableAttachmentResponse'),+    newGetTransitGatewayRouteTableAttachmentResponse,++    -- ** GetVpcAttachment+    GetVpcAttachment (GetVpcAttachment'),+    newGetVpcAttachment,+    GetVpcAttachmentResponse (GetVpcAttachmentResponse'),+    newGetVpcAttachmentResponse,++    -- ** ListAttachments (Paginated)+    ListAttachments (ListAttachments'),+    newListAttachments,+    ListAttachmentsResponse (ListAttachmentsResponse'),+    newListAttachmentsResponse,++    -- ** ListConnectPeers (Paginated)+    ListConnectPeers (ListConnectPeers'),+    newListConnectPeers,+    ListConnectPeersResponse (ListConnectPeersResponse'),+    newListConnectPeersResponse,++    -- ** ListCoreNetworkPolicyVersions (Paginated)+    ListCoreNetworkPolicyVersions (ListCoreNetworkPolicyVersions'),+    newListCoreNetworkPolicyVersions,+    ListCoreNetworkPolicyVersionsResponse (ListCoreNetworkPolicyVersionsResponse'),+    newListCoreNetworkPolicyVersionsResponse,++    -- ** ListCoreNetworks (Paginated)+    ListCoreNetworks (ListCoreNetworks'),+    newListCoreNetworks,+    ListCoreNetworksResponse (ListCoreNetworksResponse'),+    newListCoreNetworksResponse,++    -- ** ListOrganizationServiceAccessStatus+    ListOrganizationServiceAccessStatus (ListOrganizationServiceAccessStatus'),+    newListOrganizationServiceAccessStatus,+    ListOrganizationServiceAccessStatusResponse (ListOrganizationServiceAccessStatusResponse'),+    newListOrganizationServiceAccessStatusResponse,++    -- ** ListPeerings (Paginated)+    ListPeerings (ListPeerings'),+    newListPeerings,+    ListPeeringsResponse (ListPeeringsResponse'),+    newListPeeringsResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** PutCoreNetworkPolicy+    PutCoreNetworkPolicy (PutCoreNetworkPolicy'),+    newPutCoreNetworkPolicy,+    PutCoreNetworkPolicyResponse (PutCoreNetworkPolicyResponse'),+    newPutCoreNetworkPolicyResponse,++    -- ** PutResourcePolicy+    PutResourcePolicy (PutResourcePolicy'),+    newPutResourcePolicy,+    PutResourcePolicyResponse (PutResourcePolicyResponse'),+    newPutResourcePolicyResponse,++    -- ** RegisterTransitGateway+    RegisterTransitGateway (RegisterTransitGateway'),+    newRegisterTransitGateway,+    RegisterTransitGatewayResponse (RegisterTransitGatewayResponse'),+    newRegisterTransitGatewayResponse,++    -- ** RejectAttachment+    RejectAttachment (RejectAttachment'),+    newRejectAttachment,+    RejectAttachmentResponse (RejectAttachmentResponse'),+    newRejectAttachmentResponse,++    -- ** RestoreCoreNetworkPolicyVersion+    RestoreCoreNetworkPolicyVersion (RestoreCoreNetworkPolicyVersion'),+    newRestoreCoreNetworkPolicyVersion,+    RestoreCoreNetworkPolicyVersionResponse (RestoreCoreNetworkPolicyVersionResponse'),+    newRestoreCoreNetworkPolicyVersionResponse,++    -- ** StartOrganizationServiceAccessUpdate+    StartOrganizationServiceAccessUpdate (StartOrganizationServiceAccessUpdate'),+    newStartOrganizationServiceAccessUpdate,+    StartOrganizationServiceAccessUpdateResponse (StartOrganizationServiceAccessUpdateResponse'),+    newStartOrganizationServiceAccessUpdateResponse,++    -- ** StartRouteAnalysis+    StartRouteAnalysis (StartRouteAnalysis'),+    newStartRouteAnalysis,+    StartRouteAnalysisResponse (StartRouteAnalysisResponse'),+    newStartRouteAnalysisResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- ** UpdateConnection+    UpdateConnection (UpdateConnection'),+    newUpdateConnection,+    UpdateConnectionResponse (UpdateConnectionResponse'),+    newUpdateConnectionResponse,++    -- ** UpdateCoreNetwork+    UpdateCoreNetwork (UpdateCoreNetwork'),+    newUpdateCoreNetwork,+    UpdateCoreNetworkResponse (UpdateCoreNetworkResponse'),+    newUpdateCoreNetworkResponse,++    -- ** UpdateDevice+    UpdateDevice (UpdateDevice'),+    newUpdateDevice,+    UpdateDeviceResponse (UpdateDeviceResponse'),+    newUpdateDeviceResponse,++    -- ** UpdateGlobalNetwork+    UpdateGlobalNetwork (UpdateGlobalNetwork'),+    newUpdateGlobalNetwork,+    UpdateGlobalNetworkResponse (UpdateGlobalNetworkResponse'),+    newUpdateGlobalNetworkResponse,++    -- ** UpdateLink+    UpdateLink (UpdateLink'),+    newUpdateLink,+    UpdateLinkResponse (UpdateLinkResponse'),+    newUpdateLinkResponse,++    -- ** UpdateNetworkResourceMetadata+    UpdateNetworkResourceMetadata (UpdateNetworkResourceMetadata'),+    newUpdateNetworkResourceMetadata,+    UpdateNetworkResourceMetadataResponse (UpdateNetworkResourceMetadataResponse'),+    newUpdateNetworkResourceMetadataResponse,++    -- ** UpdateSite+    UpdateSite (UpdateSite'),+    newUpdateSite,+    UpdateSiteResponse (UpdateSiteResponse'),+    newUpdateSiteResponse,++    -- ** UpdateVpcAttachment+    UpdateVpcAttachment (UpdateVpcAttachment'),+    newUpdateVpcAttachment,+    UpdateVpcAttachmentResponse (UpdateVpcAttachmentResponse'),+    newUpdateVpcAttachmentResponse,++    -- * Types++    -- ** AttachmentState+    AttachmentState (..),++    -- ** AttachmentType+    AttachmentType (..),++    -- ** ChangeAction+    ChangeAction (..),++    -- ** ChangeSetState+    ChangeSetState (..),++    -- ** ChangeStatus+    ChangeStatus (..),++    -- ** ChangeType+    ChangeType (..),++    -- ** ConnectPeerAssociationState+    ConnectPeerAssociationState (..),++    -- ** ConnectPeerState+    ConnectPeerState (..),++    -- ** ConnectionState+    ConnectionState (..),++    -- ** ConnectionStatus+    ConnectionStatus (..),++    -- ** ConnectionType+    ConnectionType (..),++    -- ** CoreNetworkPolicyAlias+    CoreNetworkPolicyAlias (..),++    -- ** CoreNetworkState+    CoreNetworkState (..),++    -- ** CustomerGatewayAssociationState+    CustomerGatewayAssociationState (..),++    -- ** DeviceState+    DeviceState (..),++    -- ** GlobalNetworkState+    GlobalNetworkState (..),++    -- ** LinkAssociationState+    LinkAssociationState (..),++    -- ** LinkState+    LinkState (..),++    -- ** PeeringState+    PeeringState (..),++    -- ** PeeringType+    PeeringType (..),++    -- ** RouteAnalysisCompletionReasonCode+    RouteAnalysisCompletionReasonCode (..),++    -- ** RouteAnalysisCompletionResultCode+    RouteAnalysisCompletionResultCode (..),++    -- ** RouteAnalysisStatus+    RouteAnalysisStatus (..),++    -- ** RouteState+    RouteState (..),++    -- ** RouteTableType+    RouteTableType (..),++    -- ** RouteType+    RouteType (..),++    -- ** SiteState+    SiteState (..),++    -- ** TransitGatewayConnectPeerAssociationState+    TransitGatewayConnectPeerAssociationState (..),++    -- ** TransitGatewayRegistrationState+    TransitGatewayRegistrationState (..),++    -- ** TunnelProtocol+    TunnelProtocol (..),++    -- ** AWSLocation+    AWSLocation (AWSLocation'),+    newAWSLocation,++    -- ** AccountStatus+    AccountStatus (AccountStatus'),+    newAccountStatus,++    -- ** Attachment+    Attachment (Attachment'),+    newAttachment,++    -- ** Bandwidth+    Bandwidth (Bandwidth'),+    newBandwidth,++    -- ** BgpOptions+    BgpOptions (BgpOptions'),+    newBgpOptions,++    -- ** ConnectAttachment+    ConnectAttachment (ConnectAttachment'),+    newConnectAttachment,++    -- ** ConnectAttachmentOptions+    ConnectAttachmentOptions (ConnectAttachmentOptions'),+    newConnectAttachmentOptions,++    -- ** ConnectPeer+    ConnectPeer (ConnectPeer'),+    newConnectPeer,++    -- ** ConnectPeerAssociation+    ConnectPeerAssociation (ConnectPeerAssociation'),+    newConnectPeerAssociation,++    -- ** ConnectPeerBgpConfiguration+    ConnectPeerBgpConfiguration (ConnectPeerBgpConfiguration'),+    newConnectPeerBgpConfiguration,++    -- ** ConnectPeerConfiguration+    ConnectPeerConfiguration (ConnectPeerConfiguration'),+    newConnectPeerConfiguration,++    -- ** ConnectPeerSummary+    ConnectPeerSummary (ConnectPeerSummary'),+    newConnectPeerSummary,++    -- ** Connection+    Connection (Connection'),+    newConnection,++    -- ** ConnectionHealth+    ConnectionHealth (ConnectionHealth'),+    newConnectionHealth,++    -- ** CoreNetwork+    CoreNetwork (CoreNetwork'),+    newCoreNetwork,++    -- ** CoreNetworkChange+    CoreNetworkChange (CoreNetworkChange'),+    newCoreNetworkChange,++    -- ** CoreNetworkChangeEvent+    CoreNetworkChangeEvent (CoreNetworkChangeEvent'),+    newCoreNetworkChangeEvent,++    -- ** CoreNetworkChangeEventValues+    CoreNetworkChangeEventValues (CoreNetworkChangeEventValues'),+    newCoreNetworkChangeEventValues,++    -- ** CoreNetworkChangeValues+    CoreNetworkChangeValues (CoreNetworkChangeValues'),+    newCoreNetworkChangeValues,++    -- ** CoreNetworkEdge+    CoreNetworkEdge (CoreNetworkEdge'),+    newCoreNetworkEdge,++    -- ** CoreNetworkPolicy+    CoreNetworkPolicy (CoreNetworkPolicy'),+    newCoreNetworkPolicy,++    -- ** CoreNetworkPolicyError+    CoreNetworkPolicyError (CoreNetworkPolicyError'),+    newCoreNetworkPolicyError,++    -- ** CoreNetworkPolicyVersion+    CoreNetworkPolicyVersion (CoreNetworkPolicyVersion'),+    newCoreNetworkPolicyVersion,++    -- ** CoreNetworkSegment+    CoreNetworkSegment (CoreNetworkSegment'),+    newCoreNetworkSegment,++    -- ** CoreNetworkSegmentEdgeIdentifier+    CoreNetworkSegmentEdgeIdentifier (CoreNetworkSegmentEdgeIdentifier'),+    newCoreNetworkSegmentEdgeIdentifier,++    -- ** CoreNetworkSummary+    CoreNetworkSummary (CoreNetworkSummary'),+    newCoreNetworkSummary,++    -- ** CustomerGatewayAssociation+    CustomerGatewayAssociation (CustomerGatewayAssociation'),+    newCustomerGatewayAssociation,++    -- ** Device+    Device (Device'),+    newDevice,++    -- ** GlobalNetwork+    GlobalNetwork (GlobalNetwork'),+    newGlobalNetwork,++    -- ** Link+    Link (Link'),+    newLink,++    -- ** LinkAssociation+    LinkAssociation (LinkAssociation'),+    newLinkAssociation,++    -- ** Location+    Location (Location'),+    newLocation,++    -- ** NetworkResource+    NetworkResource (NetworkResource'),+    newNetworkResource,++    -- ** NetworkResourceCount+    NetworkResourceCount (NetworkResourceCount'),+    newNetworkResourceCount,++    -- ** NetworkResourceSummary+    NetworkResourceSummary (NetworkResourceSummary'),+    newNetworkResourceSummary,++    -- ** NetworkRoute+    NetworkRoute (NetworkRoute'),+    newNetworkRoute,++    -- ** NetworkRouteDestination+    NetworkRouteDestination (NetworkRouteDestination'),+    newNetworkRouteDestination,++    -- ** NetworkTelemetry+    NetworkTelemetry (NetworkTelemetry'),+    newNetworkTelemetry,++    -- ** OrganizationStatus+    OrganizationStatus (OrganizationStatus'),+    newOrganizationStatus,++    -- ** PathComponent+    PathComponent (PathComponent'),+    newPathComponent,++    -- ** Peering+    Peering (Peering'),+    newPeering,++    -- ** ProposedSegmentChange+    ProposedSegmentChange (ProposedSegmentChange'),+    newProposedSegmentChange,++    -- ** Relationship+    Relationship (Relationship'),+    newRelationship,++    -- ** RouteAnalysis+    RouteAnalysis (RouteAnalysis'),+    newRouteAnalysis,++    -- ** RouteAnalysisCompletion+    RouteAnalysisCompletion (RouteAnalysisCompletion'),+    newRouteAnalysisCompletion,++    -- ** RouteAnalysisEndpointOptions+    RouteAnalysisEndpointOptions (RouteAnalysisEndpointOptions'),+    newRouteAnalysisEndpointOptions,++    -- ** RouteAnalysisEndpointOptionsSpecification+    RouteAnalysisEndpointOptionsSpecification (RouteAnalysisEndpointOptionsSpecification'),+    newRouteAnalysisEndpointOptionsSpecification,++    -- ** RouteAnalysisPath+    RouteAnalysisPath (RouteAnalysisPath'),+    newRouteAnalysisPath,++    -- ** RouteTableIdentifier+    RouteTableIdentifier (RouteTableIdentifier'),+    newRouteTableIdentifier,++    -- ** Site+    Site (Site'),+    newSite,++    -- ** SiteToSiteVpnAttachment+    SiteToSiteVpnAttachment (SiteToSiteVpnAttachment'),+    newSiteToSiteVpnAttachment,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** TransitGatewayConnectPeerAssociation+    TransitGatewayConnectPeerAssociation (TransitGatewayConnectPeerAssociation'),+    newTransitGatewayConnectPeerAssociation,++    -- ** TransitGatewayPeering+    TransitGatewayPeering (TransitGatewayPeering'),+    newTransitGatewayPeering,++    -- ** TransitGatewayRegistration+    TransitGatewayRegistration (TransitGatewayRegistration'),+    newTransitGatewayRegistration,++    -- ** TransitGatewayRegistrationStateReason+    TransitGatewayRegistrationStateReason (TransitGatewayRegistrationStateReason'),+    newTransitGatewayRegistrationStateReason,++    -- ** TransitGatewayRouteTableAttachment+    TransitGatewayRouteTableAttachment (TransitGatewayRouteTableAttachment'),+    newTransitGatewayRouteTableAttachment,++    -- ** VpcAttachment+    VpcAttachment (VpcAttachment'),+    newVpcAttachment,++    -- ** VpcOptions+    VpcOptions (VpcOptions'),+    newVpcOptions,+  )+where++import Amazonka.NetworkManager.AcceptAttachment+import Amazonka.NetworkManager.AssociateConnectPeer+import Amazonka.NetworkManager.AssociateCustomerGateway+import Amazonka.NetworkManager.AssociateLink+import Amazonka.NetworkManager.AssociateTransitGatewayConnectPeer+import Amazonka.NetworkManager.CreateConnectAttachment+import Amazonka.NetworkManager.CreateConnectPeer+import Amazonka.NetworkManager.CreateConnection+import Amazonka.NetworkManager.CreateCoreNetwork+import Amazonka.NetworkManager.CreateDevice+import Amazonka.NetworkManager.CreateGlobalNetwork+import Amazonka.NetworkManager.CreateLink+import Amazonka.NetworkManager.CreateSite+import Amazonka.NetworkManager.CreateSiteToSiteVpnAttachment+import Amazonka.NetworkManager.CreateTransitGatewayPeering+import Amazonka.NetworkManager.CreateTransitGatewayRouteTableAttachment+import Amazonka.NetworkManager.CreateVpcAttachment+import Amazonka.NetworkManager.DeleteAttachment+import Amazonka.NetworkManager.DeleteConnectPeer+import Amazonka.NetworkManager.DeleteConnection+import Amazonka.NetworkManager.DeleteCoreNetwork+import Amazonka.NetworkManager.DeleteCoreNetworkPolicyVersion+import Amazonka.NetworkManager.DeleteDevice+import Amazonka.NetworkManager.DeleteGlobalNetwork+import Amazonka.NetworkManager.DeleteLink+import Amazonka.NetworkManager.DeletePeering+import Amazonka.NetworkManager.DeleteResourcePolicy+import Amazonka.NetworkManager.DeleteSite+import Amazonka.NetworkManager.DeregisterTransitGateway+import Amazonka.NetworkManager.DescribeGlobalNetworks+import Amazonka.NetworkManager.DisassociateConnectPeer+import Amazonka.NetworkManager.DisassociateCustomerGateway+import Amazonka.NetworkManager.DisassociateLink+import Amazonka.NetworkManager.DisassociateTransitGatewayConnectPeer+import Amazonka.NetworkManager.ExecuteCoreNetworkChangeSet+import Amazonka.NetworkManager.GetConnectAttachment+import Amazonka.NetworkManager.GetConnectPeer+import Amazonka.NetworkManager.GetConnectPeerAssociations+import Amazonka.NetworkManager.GetConnections+import Amazonka.NetworkManager.GetCoreNetwork+import Amazonka.NetworkManager.GetCoreNetworkChangeEvents+import Amazonka.NetworkManager.GetCoreNetworkChangeSet+import Amazonka.NetworkManager.GetCoreNetworkPolicy+import Amazonka.NetworkManager.GetCustomerGatewayAssociations+import Amazonka.NetworkManager.GetDevices+import Amazonka.NetworkManager.GetLinkAssociations+import Amazonka.NetworkManager.GetLinks+import Amazonka.NetworkManager.GetNetworkResourceCounts+import Amazonka.NetworkManager.GetNetworkResourceRelationships+import Amazonka.NetworkManager.GetNetworkResources+import Amazonka.NetworkManager.GetNetworkRoutes+import Amazonka.NetworkManager.GetNetworkTelemetry+import Amazonka.NetworkManager.GetResourcePolicy+import Amazonka.NetworkManager.GetRouteAnalysis+import Amazonka.NetworkManager.GetSiteToSiteVpnAttachment+import Amazonka.NetworkManager.GetSites+import Amazonka.NetworkManager.GetTransitGatewayConnectPeerAssociations+import Amazonka.NetworkManager.GetTransitGatewayPeering+import Amazonka.NetworkManager.GetTransitGatewayRegistrations+import Amazonka.NetworkManager.GetTransitGatewayRouteTableAttachment+import Amazonka.NetworkManager.GetVpcAttachment+import Amazonka.NetworkManager.Lens+import Amazonka.NetworkManager.ListAttachments+import Amazonka.NetworkManager.ListConnectPeers+import Amazonka.NetworkManager.ListCoreNetworkPolicyVersions+import Amazonka.NetworkManager.ListCoreNetworks+import Amazonka.NetworkManager.ListOrganizationServiceAccessStatus+import Amazonka.NetworkManager.ListPeerings+import Amazonka.NetworkManager.ListTagsForResource+import Amazonka.NetworkManager.PutCoreNetworkPolicy+import Amazonka.NetworkManager.PutResourcePolicy+import Amazonka.NetworkManager.RegisterTransitGateway+import Amazonka.NetworkManager.RejectAttachment+import Amazonka.NetworkManager.RestoreCoreNetworkPolicyVersion+import Amazonka.NetworkManager.StartOrganizationServiceAccessUpdate+import Amazonka.NetworkManager.StartRouteAnalysis+import Amazonka.NetworkManager.TagResource+import Amazonka.NetworkManager.Types+import Amazonka.NetworkManager.UntagResource+import Amazonka.NetworkManager.UpdateConnection+import Amazonka.NetworkManager.UpdateCoreNetwork+import Amazonka.NetworkManager.UpdateDevice+import Amazonka.NetworkManager.UpdateGlobalNetwork+import Amazonka.NetworkManager.UpdateLink+import Amazonka.NetworkManager.UpdateNetworkResourceMetadata+import Amazonka.NetworkManager.UpdateSite+import Amazonka.NetworkManager.UpdateVpcAttachment+import Amazonka.NetworkManager.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 'NetworkManager'.++-- $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/NetworkManager/AcceptAttachment.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.AcceptAttachment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Accepts a core network attachment request.+--+-- Once the attachment request is accepted by a core network owner, the+-- attachment is created and connected to a core network.+module Amazonka.NetworkManager.AcceptAttachment+  ( -- * Creating a Request+    AcceptAttachment (..),+    newAcceptAttachment,++    -- * Request Lenses+    acceptAttachment_attachmentId,++    -- * Destructuring the Response+    AcceptAttachmentResponse (..),+    newAcceptAttachmentResponse,++    -- * Response Lenses+    acceptAttachmentResponse_attachment,+    acceptAttachmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAcceptAttachment' smart constructor.+data AcceptAttachment = AcceptAttachment'+  { -- | The ID of the attachment.+    attachmentId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AcceptAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachmentId', 'acceptAttachment_attachmentId' - The ID of the attachment.+newAcceptAttachment ::+  -- | 'attachmentId'+  Prelude.Text ->+  AcceptAttachment+newAcceptAttachment pAttachmentId_ =+  AcceptAttachment' {attachmentId = pAttachmentId_}++-- | The ID of the attachment.+acceptAttachment_attachmentId :: Lens.Lens' AcceptAttachment Prelude.Text+acceptAttachment_attachmentId = Lens.lens (\AcceptAttachment' {attachmentId} -> attachmentId) (\s@AcceptAttachment' {} a -> s {attachmentId = a} :: AcceptAttachment)++instance Core.AWSRequest AcceptAttachment where+  type+    AWSResponse AcceptAttachment =+      AcceptAttachmentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AcceptAttachmentResponse'+            Prelude.<$> (x Data..?> "Attachment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable AcceptAttachment where+  hashWithSalt _salt AcceptAttachment' {..} =+    _salt `Prelude.hashWithSalt` attachmentId++instance Prelude.NFData AcceptAttachment where+  rnf AcceptAttachment' {..} = Prelude.rnf attachmentId++instance Data.ToHeaders AcceptAttachment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AcceptAttachment where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath AcceptAttachment where+  toPath AcceptAttachment' {..} =+    Prelude.mconcat+      ["/attachments/", Data.toBS attachmentId, "/accept"]++instance Data.ToQuery AcceptAttachment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAcceptAttachmentResponse' smart constructor.+data AcceptAttachmentResponse = AcceptAttachmentResponse'+  { -- | The response to the attachment request.+    attachment :: Prelude.Maybe Attachment,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AcceptAttachmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachment', 'acceptAttachmentResponse_attachment' - The response to the attachment request.+--+-- 'httpStatus', 'acceptAttachmentResponse_httpStatus' - The response's http status code.+newAcceptAttachmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AcceptAttachmentResponse+newAcceptAttachmentResponse pHttpStatus_ =+  AcceptAttachmentResponse'+    { attachment =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The response to the attachment request.+acceptAttachmentResponse_attachment :: Lens.Lens' AcceptAttachmentResponse (Prelude.Maybe Attachment)+acceptAttachmentResponse_attachment = Lens.lens (\AcceptAttachmentResponse' {attachment} -> attachment) (\s@AcceptAttachmentResponse' {} a -> s {attachment = a} :: AcceptAttachmentResponse)++-- | The response's http status code.+acceptAttachmentResponse_httpStatus :: Lens.Lens' AcceptAttachmentResponse Prelude.Int+acceptAttachmentResponse_httpStatus = Lens.lens (\AcceptAttachmentResponse' {httpStatus} -> httpStatus) (\s@AcceptAttachmentResponse' {} a -> s {httpStatus = a} :: AcceptAttachmentResponse)++instance Prelude.NFData AcceptAttachmentResponse where+  rnf AcceptAttachmentResponse' {..} =+    Prelude.rnf attachment+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/AssociateConnectPeer.hs view
@@ -0,0 +1,224 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.AssociateConnectPeer+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a core network Connect peer with a device and optionally,+-- with a link.+--+-- If you specify a link, it must be associated with the specified device.+-- You can only associate core network Connect peers that have been created+-- on a core network Connect attachment on a core network.+module Amazonka.NetworkManager.AssociateConnectPeer+  ( -- * Creating a Request+    AssociateConnectPeer (..),+    newAssociateConnectPeer,++    -- * Request Lenses+    associateConnectPeer_linkId,+    associateConnectPeer_globalNetworkId,+    associateConnectPeer_connectPeerId,+    associateConnectPeer_deviceId,++    -- * Destructuring the Response+    AssociateConnectPeerResponse (..),+    newAssociateConnectPeerResponse,++    -- * Response Lenses+    associateConnectPeerResponse_connectPeerAssociation,+    associateConnectPeerResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateConnectPeer' smart constructor.+data AssociateConnectPeer = AssociateConnectPeer'+  { -- | The ID of the link.+    linkId :: Prelude.Maybe Prelude.Text,+    -- | The ID of your global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the Connect peer.+    connectPeerId :: Prelude.Text,+    -- | The ID of the device.+    deviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateConnectPeer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'linkId', 'associateConnectPeer_linkId' - The ID of the link.+--+-- 'globalNetworkId', 'associateConnectPeer_globalNetworkId' - The ID of your global network.+--+-- 'connectPeerId', 'associateConnectPeer_connectPeerId' - The ID of the Connect peer.+--+-- 'deviceId', 'associateConnectPeer_deviceId' - The ID of the device.+newAssociateConnectPeer ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'connectPeerId'+  Prelude.Text ->+  -- | 'deviceId'+  Prelude.Text ->+  AssociateConnectPeer+newAssociateConnectPeer+  pGlobalNetworkId_+  pConnectPeerId_+  pDeviceId_ =+    AssociateConnectPeer'+      { linkId = Prelude.Nothing,+        globalNetworkId = pGlobalNetworkId_,+        connectPeerId = pConnectPeerId_,+        deviceId = pDeviceId_+      }++-- | The ID of the link.+associateConnectPeer_linkId :: Lens.Lens' AssociateConnectPeer (Prelude.Maybe Prelude.Text)+associateConnectPeer_linkId = Lens.lens (\AssociateConnectPeer' {linkId} -> linkId) (\s@AssociateConnectPeer' {} a -> s {linkId = a} :: AssociateConnectPeer)++-- | The ID of your global network.+associateConnectPeer_globalNetworkId :: Lens.Lens' AssociateConnectPeer Prelude.Text+associateConnectPeer_globalNetworkId = Lens.lens (\AssociateConnectPeer' {globalNetworkId} -> globalNetworkId) (\s@AssociateConnectPeer' {} a -> s {globalNetworkId = a} :: AssociateConnectPeer)++-- | The ID of the Connect peer.+associateConnectPeer_connectPeerId :: Lens.Lens' AssociateConnectPeer Prelude.Text+associateConnectPeer_connectPeerId = Lens.lens (\AssociateConnectPeer' {connectPeerId} -> connectPeerId) (\s@AssociateConnectPeer' {} a -> s {connectPeerId = a} :: AssociateConnectPeer)++-- | The ID of the device.+associateConnectPeer_deviceId :: Lens.Lens' AssociateConnectPeer Prelude.Text+associateConnectPeer_deviceId = Lens.lens (\AssociateConnectPeer' {deviceId} -> deviceId) (\s@AssociateConnectPeer' {} a -> s {deviceId = a} :: AssociateConnectPeer)++instance Core.AWSRequest AssociateConnectPeer where+  type+    AWSResponse AssociateConnectPeer =+      AssociateConnectPeerResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AssociateConnectPeerResponse'+            Prelude.<$> (x Data..?> "ConnectPeerAssociation")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable AssociateConnectPeer where+  hashWithSalt _salt AssociateConnectPeer' {..} =+    _salt+      `Prelude.hashWithSalt` linkId+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` connectPeerId+      `Prelude.hashWithSalt` deviceId++instance Prelude.NFData AssociateConnectPeer where+  rnf AssociateConnectPeer' {..} =+    Prelude.rnf linkId+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf connectPeerId+      `Prelude.seq` Prelude.rnf deviceId++instance Data.ToHeaders AssociateConnectPeer where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AssociateConnectPeer where+  toJSON AssociateConnectPeer' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LinkId" Data..=) Prelude.<$> linkId,+            Prelude.Just ("ConnectPeerId" Data..= connectPeerId),+            Prelude.Just ("DeviceId" Data..= deviceId)+          ]+      )++instance Data.ToPath AssociateConnectPeer where+  toPath AssociateConnectPeer' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/connect-peer-associations"+      ]++instance Data.ToQuery AssociateConnectPeer where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateConnectPeerResponse' smart constructor.+data AssociateConnectPeerResponse = AssociateConnectPeerResponse'+  { -- | The response to the Connect peer request.+    connectPeerAssociation :: Prelude.Maybe ConnectPeerAssociation,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateConnectPeerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectPeerAssociation', 'associateConnectPeerResponse_connectPeerAssociation' - The response to the Connect peer request.+--+-- 'httpStatus', 'associateConnectPeerResponse_httpStatus' - The response's http status code.+newAssociateConnectPeerResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateConnectPeerResponse+newAssociateConnectPeerResponse pHttpStatus_ =+  AssociateConnectPeerResponse'+    { connectPeerAssociation =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The response to the Connect peer request.+associateConnectPeerResponse_connectPeerAssociation :: Lens.Lens' AssociateConnectPeerResponse (Prelude.Maybe ConnectPeerAssociation)+associateConnectPeerResponse_connectPeerAssociation = Lens.lens (\AssociateConnectPeerResponse' {connectPeerAssociation} -> connectPeerAssociation) (\s@AssociateConnectPeerResponse' {} a -> s {connectPeerAssociation = a} :: AssociateConnectPeerResponse)++-- | The response's http status code.+associateConnectPeerResponse_httpStatus :: Lens.Lens' AssociateConnectPeerResponse Prelude.Int+associateConnectPeerResponse_httpStatus = Lens.lens (\AssociateConnectPeerResponse' {httpStatus} -> httpStatus) (\s@AssociateConnectPeerResponse' {} a -> s {httpStatus = a} :: AssociateConnectPeerResponse)++instance Prelude.NFData AssociateConnectPeerResponse where+  rnf AssociateConnectPeerResponse' {..} =+    Prelude.rnf connectPeerAssociation+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/AssociateCustomerGateway.hs view
@@ -0,0 +1,236 @@+{-# 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.NetworkManager.AssociateCustomerGateway+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a customer gateway with a device and optionally, with a link.+-- If you specify a link, it must be associated with the specified device.+--+-- You can only associate customer gateways that are connected to a VPN+-- attachment on a transit gateway or core network registered in your+-- global network. When you register a transit gateway or core network,+-- customer gateways that are connected to the transit gateway are+-- automatically included in the global network. To list customer gateways+-- that are connected to a transit gateway, use the+-- <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpnConnections.html DescribeVpnConnections>+-- EC2 API and filter by @transit-gateway-id@.+--+-- You cannot associate a customer gateway with more than one device and+-- link.+module Amazonka.NetworkManager.AssociateCustomerGateway+  ( -- * Creating a Request+    AssociateCustomerGateway (..),+    newAssociateCustomerGateway,++    -- * Request Lenses+    associateCustomerGateway_linkId,+    associateCustomerGateway_customerGatewayArn,+    associateCustomerGateway_globalNetworkId,+    associateCustomerGateway_deviceId,++    -- * Destructuring the Response+    AssociateCustomerGatewayResponse (..),+    newAssociateCustomerGatewayResponse,++    -- * Response Lenses+    associateCustomerGatewayResponse_customerGatewayAssociation,+    associateCustomerGatewayResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateCustomerGateway' smart constructor.+data AssociateCustomerGateway = AssociateCustomerGateway'+  { -- | The ID of the link.+    linkId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the customer gateway.+    customerGatewayArn :: Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the device.+    deviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateCustomerGateway' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'linkId', 'associateCustomerGateway_linkId' - The ID of the link.+--+-- 'customerGatewayArn', 'associateCustomerGateway_customerGatewayArn' - The Amazon Resource Name (ARN) of the customer gateway.+--+-- 'globalNetworkId', 'associateCustomerGateway_globalNetworkId' - The ID of the global network.+--+-- 'deviceId', 'associateCustomerGateway_deviceId' - The ID of the device.+newAssociateCustomerGateway ::+  -- | 'customerGatewayArn'+  Prelude.Text ->+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'deviceId'+  Prelude.Text ->+  AssociateCustomerGateway+newAssociateCustomerGateway+  pCustomerGatewayArn_+  pGlobalNetworkId_+  pDeviceId_ =+    AssociateCustomerGateway'+      { linkId = Prelude.Nothing,+        customerGatewayArn = pCustomerGatewayArn_,+        globalNetworkId = pGlobalNetworkId_,+        deviceId = pDeviceId_+      }++-- | The ID of the link.+associateCustomerGateway_linkId :: Lens.Lens' AssociateCustomerGateway (Prelude.Maybe Prelude.Text)+associateCustomerGateway_linkId = Lens.lens (\AssociateCustomerGateway' {linkId} -> linkId) (\s@AssociateCustomerGateway' {} a -> s {linkId = a} :: AssociateCustomerGateway)++-- | The Amazon Resource Name (ARN) of the customer gateway.+associateCustomerGateway_customerGatewayArn :: Lens.Lens' AssociateCustomerGateway Prelude.Text+associateCustomerGateway_customerGatewayArn = Lens.lens (\AssociateCustomerGateway' {customerGatewayArn} -> customerGatewayArn) (\s@AssociateCustomerGateway' {} a -> s {customerGatewayArn = a} :: AssociateCustomerGateway)++-- | The ID of the global network.+associateCustomerGateway_globalNetworkId :: Lens.Lens' AssociateCustomerGateway Prelude.Text+associateCustomerGateway_globalNetworkId = Lens.lens (\AssociateCustomerGateway' {globalNetworkId} -> globalNetworkId) (\s@AssociateCustomerGateway' {} a -> s {globalNetworkId = a} :: AssociateCustomerGateway)++-- | The ID of the device.+associateCustomerGateway_deviceId :: Lens.Lens' AssociateCustomerGateway Prelude.Text+associateCustomerGateway_deviceId = Lens.lens (\AssociateCustomerGateway' {deviceId} -> deviceId) (\s@AssociateCustomerGateway' {} a -> s {deviceId = a} :: AssociateCustomerGateway)++instance Core.AWSRequest AssociateCustomerGateway where+  type+    AWSResponse AssociateCustomerGateway =+      AssociateCustomerGatewayResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AssociateCustomerGatewayResponse'+            Prelude.<$> (x Data..?> "CustomerGatewayAssociation")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable AssociateCustomerGateway where+  hashWithSalt _salt AssociateCustomerGateway' {..} =+    _salt+      `Prelude.hashWithSalt` linkId+      `Prelude.hashWithSalt` customerGatewayArn+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` deviceId++instance Prelude.NFData AssociateCustomerGateway where+  rnf AssociateCustomerGateway' {..} =+    Prelude.rnf linkId+      `Prelude.seq` Prelude.rnf customerGatewayArn+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf deviceId++instance Data.ToHeaders AssociateCustomerGateway where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AssociateCustomerGateway where+  toJSON AssociateCustomerGateway' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LinkId" Data..=) Prelude.<$> linkId,+            Prelude.Just+              ("CustomerGatewayArn" Data..= customerGatewayArn),+            Prelude.Just ("DeviceId" Data..= deviceId)+          ]+      )++instance Data.ToPath AssociateCustomerGateway where+  toPath AssociateCustomerGateway' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/customer-gateway-associations"+      ]++instance Data.ToQuery AssociateCustomerGateway where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateCustomerGatewayResponse' smart constructor.+data AssociateCustomerGatewayResponse = AssociateCustomerGatewayResponse'+  { -- | The customer gateway association.+    customerGatewayAssociation :: Prelude.Maybe CustomerGatewayAssociation,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateCustomerGatewayResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customerGatewayAssociation', 'associateCustomerGatewayResponse_customerGatewayAssociation' - The customer gateway association.+--+-- 'httpStatus', 'associateCustomerGatewayResponse_httpStatus' - The response's http status code.+newAssociateCustomerGatewayResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateCustomerGatewayResponse+newAssociateCustomerGatewayResponse pHttpStatus_ =+  AssociateCustomerGatewayResponse'+    { customerGatewayAssociation =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The customer gateway association.+associateCustomerGatewayResponse_customerGatewayAssociation :: Lens.Lens' AssociateCustomerGatewayResponse (Prelude.Maybe CustomerGatewayAssociation)+associateCustomerGatewayResponse_customerGatewayAssociation = Lens.lens (\AssociateCustomerGatewayResponse' {customerGatewayAssociation} -> customerGatewayAssociation) (\s@AssociateCustomerGatewayResponse' {} a -> s {customerGatewayAssociation = a} :: AssociateCustomerGatewayResponse)++-- | The response's http status code.+associateCustomerGatewayResponse_httpStatus :: Lens.Lens' AssociateCustomerGatewayResponse Prelude.Int+associateCustomerGatewayResponse_httpStatus = Lens.lens (\AssociateCustomerGatewayResponse' {httpStatus} -> httpStatus) (\s@AssociateCustomerGatewayResponse' {} a -> s {httpStatus = a} :: AssociateCustomerGatewayResponse)++instance+  Prelude.NFData+    AssociateCustomerGatewayResponse+  where+  rnf AssociateCustomerGatewayResponse' {..} =+    Prelude.rnf customerGatewayAssociation+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/AssociateLink.hs view
@@ -0,0 +1,208 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.AssociateLink+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a link to a device. A device can be associated to multiple+-- links and a link can be associated to multiple devices. The device and+-- link must be in the same global network and the same site.+module Amazonka.NetworkManager.AssociateLink+  ( -- * Creating a Request+    AssociateLink (..),+    newAssociateLink,++    -- * Request Lenses+    associateLink_globalNetworkId,+    associateLink_deviceId,+    associateLink_linkId,++    -- * Destructuring the Response+    AssociateLinkResponse (..),+    newAssociateLinkResponse,++    -- * Response Lenses+    associateLinkResponse_linkAssociation,+    associateLinkResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateLink' smart constructor.+data AssociateLink = AssociateLink'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the device.+    deviceId :: Prelude.Text,+    -- | The ID of the link.+    linkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateLink' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'associateLink_globalNetworkId' - The ID of the global network.+--+-- 'deviceId', 'associateLink_deviceId' - The ID of the device.+--+-- 'linkId', 'associateLink_linkId' - The ID of the link.+newAssociateLink ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'deviceId'+  Prelude.Text ->+  -- | 'linkId'+  Prelude.Text ->+  AssociateLink+newAssociateLink+  pGlobalNetworkId_+  pDeviceId_+  pLinkId_ =+    AssociateLink'+      { globalNetworkId = pGlobalNetworkId_,+        deviceId = pDeviceId_,+        linkId = pLinkId_+      }++-- | The ID of the global network.+associateLink_globalNetworkId :: Lens.Lens' AssociateLink Prelude.Text+associateLink_globalNetworkId = Lens.lens (\AssociateLink' {globalNetworkId} -> globalNetworkId) (\s@AssociateLink' {} a -> s {globalNetworkId = a} :: AssociateLink)++-- | The ID of the device.+associateLink_deviceId :: Lens.Lens' AssociateLink Prelude.Text+associateLink_deviceId = Lens.lens (\AssociateLink' {deviceId} -> deviceId) (\s@AssociateLink' {} a -> s {deviceId = a} :: AssociateLink)++-- | The ID of the link.+associateLink_linkId :: Lens.Lens' AssociateLink Prelude.Text+associateLink_linkId = Lens.lens (\AssociateLink' {linkId} -> linkId) (\s@AssociateLink' {} a -> s {linkId = a} :: AssociateLink)++instance Core.AWSRequest AssociateLink where+  type+    AWSResponse AssociateLink =+      AssociateLinkResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AssociateLinkResponse'+            Prelude.<$> (x Data..?> "LinkAssociation")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable AssociateLink where+  hashWithSalt _salt AssociateLink' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` linkId++instance Prelude.NFData AssociateLink where+  rnf AssociateLink' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf linkId++instance Data.ToHeaders AssociateLink where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON AssociateLink where+  toJSON AssociateLink' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("DeviceId" Data..= deviceId),+            Prelude.Just ("LinkId" Data..= linkId)+          ]+      )++instance Data.ToPath AssociateLink where+  toPath AssociateLink' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/link-associations"+      ]++instance Data.ToQuery AssociateLink where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateLinkResponse' smart constructor.+data AssociateLinkResponse = AssociateLinkResponse'+  { -- | The link association.+    linkAssociation :: Prelude.Maybe LinkAssociation,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateLinkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'linkAssociation', 'associateLinkResponse_linkAssociation' - The link association.+--+-- 'httpStatus', 'associateLinkResponse_httpStatus' - The response's http status code.+newAssociateLinkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateLinkResponse+newAssociateLinkResponse pHttpStatus_ =+  AssociateLinkResponse'+    { linkAssociation =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The link association.+associateLinkResponse_linkAssociation :: Lens.Lens' AssociateLinkResponse (Prelude.Maybe LinkAssociation)+associateLinkResponse_linkAssociation = Lens.lens (\AssociateLinkResponse' {linkAssociation} -> linkAssociation) (\s@AssociateLinkResponse' {} a -> s {linkAssociation = a} :: AssociateLinkResponse)++-- | The response's http status code.+associateLinkResponse_httpStatus :: Lens.Lens' AssociateLinkResponse Prelude.Int+associateLinkResponse_httpStatus = Lens.lens (\AssociateLinkResponse' {httpStatus} -> httpStatus) (\s@AssociateLinkResponse' {} a -> s {httpStatus = a} :: AssociateLinkResponse)++instance Prelude.NFData AssociateLinkResponse where+  rnf AssociateLinkResponse' {..} =+    Prelude.rnf linkAssociation+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/AssociateTransitGatewayConnectPeer.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.NetworkManager.AssociateTransitGatewayConnectPeer+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Associates a transit gateway Connect peer with a device, and optionally,+-- with a link. If you specify a link, it must be associated with the+-- specified device.+--+-- You can only associate transit gateway Connect peers that have been+-- created on a transit gateway that\'s registered in your global network.+--+-- You cannot associate a transit gateway Connect peer with more than one+-- device and link.+module Amazonka.NetworkManager.AssociateTransitGatewayConnectPeer+  ( -- * Creating a Request+    AssociateTransitGatewayConnectPeer (..),+    newAssociateTransitGatewayConnectPeer,++    -- * Request Lenses+    associateTransitGatewayConnectPeer_linkId,+    associateTransitGatewayConnectPeer_globalNetworkId,+    associateTransitGatewayConnectPeer_transitGatewayConnectPeerArn,+    associateTransitGatewayConnectPeer_deviceId,++    -- * Destructuring the Response+    AssociateTransitGatewayConnectPeerResponse (..),+    newAssociateTransitGatewayConnectPeerResponse,++    -- * Response Lenses+    associateTransitGatewayConnectPeerResponse_transitGatewayConnectPeerAssociation,+    associateTransitGatewayConnectPeerResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newAssociateTransitGatewayConnectPeer' smart constructor.+data AssociateTransitGatewayConnectPeer = AssociateTransitGatewayConnectPeer'+  { -- | The ID of the link.+    linkId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Connect peer.+    transitGatewayConnectPeerArn :: Prelude.Text,+    -- | The ID of the device.+    deviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateTransitGatewayConnectPeer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'linkId', 'associateTransitGatewayConnectPeer_linkId' - The ID of the link.+--+-- 'globalNetworkId', 'associateTransitGatewayConnectPeer_globalNetworkId' - The ID of the global network.+--+-- 'transitGatewayConnectPeerArn', 'associateTransitGatewayConnectPeer_transitGatewayConnectPeerArn' - The Amazon Resource Name (ARN) of the Connect peer.+--+-- 'deviceId', 'associateTransitGatewayConnectPeer_deviceId' - The ID of the device.+newAssociateTransitGatewayConnectPeer ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'transitGatewayConnectPeerArn'+  Prelude.Text ->+  -- | 'deviceId'+  Prelude.Text ->+  AssociateTransitGatewayConnectPeer+newAssociateTransitGatewayConnectPeer+  pGlobalNetworkId_+  pTransitGatewayConnectPeerArn_+  pDeviceId_ =+    AssociateTransitGatewayConnectPeer'+      { linkId =+          Prelude.Nothing,+        globalNetworkId = pGlobalNetworkId_,+        transitGatewayConnectPeerArn =+          pTransitGatewayConnectPeerArn_,+        deviceId = pDeviceId_+      }++-- | The ID of the link.+associateTransitGatewayConnectPeer_linkId :: Lens.Lens' AssociateTransitGatewayConnectPeer (Prelude.Maybe Prelude.Text)+associateTransitGatewayConnectPeer_linkId = Lens.lens (\AssociateTransitGatewayConnectPeer' {linkId} -> linkId) (\s@AssociateTransitGatewayConnectPeer' {} a -> s {linkId = a} :: AssociateTransitGatewayConnectPeer)++-- | The ID of the global network.+associateTransitGatewayConnectPeer_globalNetworkId :: Lens.Lens' AssociateTransitGatewayConnectPeer Prelude.Text+associateTransitGatewayConnectPeer_globalNetworkId = Lens.lens (\AssociateTransitGatewayConnectPeer' {globalNetworkId} -> globalNetworkId) (\s@AssociateTransitGatewayConnectPeer' {} a -> s {globalNetworkId = a} :: AssociateTransitGatewayConnectPeer)++-- | The Amazon Resource Name (ARN) of the Connect peer.+associateTransitGatewayConnectPeer_transitGatewayConnectPeerArn :: Lens.Lens' AssociateTransitGatewayConnectPeer Prelude.Text+associateTransitGatewayConnectPeer_transitGatewayConnectPeerArn = Lens.lens (\AssociateTransitGatewayConnectPeer' {transitGatewayConnectPeerArn} -> transitGatewayConnectPeerArn) (\s@AssociateTransitGatewayConnectPeer' {} a -> s {transitGatewayConnectPeerArn = a} :: AssociateTransitGatewayConnectPeer)++-- | The ID of the device.+associateTransitGatewayConnectPeer_deviceId :: Lens.Lens' AssociateTransitGatewayConnectPeer Prelude.Text+associateTransitGatewayConnectPeer_deviceId = Lens.lens (\AssociateTransitGatewayConnectPeer' {deviceId} -> deviceId) (\s@AssociateTransitGatewayConnectPeer' {} a -> s {deviceId = a} :: AssociateTransitGatewayConnectPeer)++instance+  Core.AWSRequest+    AssociateTransitGatewayConnectPeer+  where+  type+    AWSResponse AssociateTransitGatewayConnectPeer =+      AssociateTransitGatewayConnectPeerResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          AssociateTransitGatewayConnectPeerResponse'+            Prelude.<$> (x Data..?> "TransitGatewayConnectPeerAssociation")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    AssociateTransitGatewayConnectPeer+  where+  hashWithSalt+    _salt+    AssociateTransitGatewayConnectPeer' {..} =+      _salt+        `Prelude.hashWithSalt` linkId+        `Prelude.hashWithSalt` globalNetworkId+        `Prelude.hashWithSalt` transitGatewayConnectPeerArn+        `Prelude.hashWithSalt` deviceId++instance+  Prelude.NFData+    AssociateTransitGatewayConnectPeer+  where+  rnf AssociateTransitGatewayConnectPeer' {..} =+    Prelude.rnf linkId+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf transitGatewayConnectPeerArn+      `Prelude.seq` Prelude.rnf deviceId++instance+  Data.ToHeaders+    AssociateTransitGatewayConnectPeer+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    AssociateTransitGatewayConnectPeer+  where+  toJSON AssociateTransitGatewayConnectPeer' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LinkId" Data..=) Prelude.<$> linkId,+            Prelude.Just+              ( "TransitGatewayConnectPeerArn"+                  Data..= transitGatewayConnectPeerArn+              ),+            Prelude.Just ("DeviceId" Data..= deviceId)+          ]+      )++instance+  Data.ToPath+    AssociateTransitGatewayConnectPeer+  where+  toPath AssociateTransitGatewayConnectPeer' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/transit-gateway-connect-peer-associations"+      ]++instance+  Data.ToQuery+    AssociateTransitGatewayConnectPeer+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAssociateTransitGatewayConnectPeerResponse' smart constructor.+data AssociateTransitGatewayConnectPeerResponse = AssociateTransitGatewayConnectPeerResponse'+  { -- | The transit gateway Connect peer association.+    transitGatewayConnectPeerAssociation :: Prelude.Maybe TransitGatewayConnectPeerAssociation,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AssociateTransitGatewayConnectPeerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'transitGatewayConnectPeerAssociation', 'associateTransitGatewayConnectPeerResponse_transitGatewayConnectPeerAssociation' - The transit gateway Connect peer association.+--+-- 'httpStatus', 'associateTransitGatewayConnectPeerResponse_httpStatus' - The response's http status code.+newAssociateTransitGatewayConnectPeerResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AssociateTransitGatewayConnectPeerResponse+newAssociateTransitGatewayConnectPeerResponse+  pHttpStatus_ =+    AssociateTransitGatewayConnectPeerResponse'+      { transitGatewayConnectPeerAssociation =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The transit gateway Connect peer association.+associateTransitGatewayConnectPeerResponse_transitGatewayConnectPeerAssociation :: Lens.Lens' AssociateTransitGatewayConnectPeerResponse (Prelude.Maybe TransitGatewayConnectPeerAssociation)+associateTransitGatewayConnectPeerResponse_transitGatewayConnectPeerAssociation = Lens.lens (\AssociateTransitGatewayConnectPeerResponse' {transitGatewayConnectPeerAssociation} -> transitGatewayConnectPeerAssociation) (\s@AssociateTransitGatewayConnectPeerResponse' {} a -> s {transitGatewayConnectPeerAssociation = a} :: AssociateTransitGatewayConnectPeerResponse)++-- | The response's http status code.+associateTransitGatewayConnectPeerResponse_httpStatus :: Lens.Lens' AssociateTransitGatewayConnectPeerResponse Prelude.Int+associateTransitGatewayConnectPeerResponse_httpStatus = Lens.lens (\AssociateTransitGatewayConnectPeerResponse' {httpStatus} -> httpStatus) (\s@AssociateTransitGatewayConnectPeerResponse' {} a -> s {httpStatus = a} :: AssociateTransitGatewayConnectPeerResponse)++instance+  Prelude.NFData+    AssociateTransitGatewayConnectPeerResponse+  where+  rnf AssociateTransitGatewayConnectPeerResponse' {..} =+    Prelude.rnf transitGatewayConnectPeerAssociation+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/CreateConnectAttachment.hs view
@@ -0,0 +1,257 @@+{-# 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.NetworkManager.CreateConnectAttachment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a core network Connect attachment from a specified core network+-- attachment.+--+-- A core network Connect attachment is a GRE-based tunnel attachment that+-- you can use to establish a connection between a core network and an+-- appliance. A core network Connect attachment uses an existing VPC+-- attachment as the underlying transport mechanism.+module Amazonka.NetworkManager.CreateConnectAttachment+  ( -- * Creating a Request+    CreateConnectAttachment (..),+    newCreateConnectAttachment,++    -- * Request Lenses+    createConnectAttachment_clientToken,+    createConnectAttachment_tags,+    createConnectAttachment_coreNetworkId,+    createConnectAttachment_edgeLocation,+    createConnectAttachment_transportAttachmentId,+    createConnectAttachment_options,++    -- * Destructuring the Response+    CreateConnectAttachmentResponse (..),+    newCreateConnectAttachmentResponse,++    -- * Response Lenses+    createConnectAttachmentResponse_connectAttachment,+    createConnectAttachmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateConnectAttachment' smart constructor.+data CreateConnectAttachment = CreateConnectAttachment'+  { -- | The client token associated with the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The list of key-value tags associated with the request.+    tags :: Prelude.Maybe [Tag],+    -- | The ID of a core network where you want to create the attachment.+    coreNetworkId :: Prelude.Text,+    -- | The Region where the edge is located.+    edgeLocation :: Prelude.Text,+    -- | The ID of the attachment between the two connections.+    transportAttachmentId :: Prelude.Text,+    -- | Options for creating an attachment.+    options :: ConnectAttachmentOptions+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConnectAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createConnectAttachment_clientToken' - The client token associated with the request.+--+-- 'tags', 'createConnectAttachment_tags' - The list of key-value tags associated with the request.+--+-- 'coreNetworkId', 'createConnectAttachment_coreNetworkId' - The ID of a core network where you want to create the attachment.+--+-- 'edgeLocation', 'createConnectAttachment_edgeLocation' - The Region where the edge is located.+--+-- 'transportAttachmentId', 'createConnectAttachment_transportAttachmentId' - The ID of the attachment between the two connections.+--+-- 'options', 'createConnectAttachment_options' - Options for creating an attachment.+newCreateConnectAttachment ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  -- | 'edgeLocation'+  Prelude.Text ->+  -- | 'transportAttachmentId'+  Prelude.Text ->+  -- | 'options'+  ConnectAttachmentOptions ->+  CreateConnectAttachment+newCreateConnectAttachment+  pCoreNetworkId_+  pEdgeLocation_+  pTransportAttachmentId_+  pOptions_ =+    CreateConnectAttachment'+      { clientToken =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        coreNetworkId = pCoreNetworkId_,+        edgeLocation = pEdgeLocation_,+        transportAttachmentId = pTransportAttachmentId_,+        options = pOptions_+      }++-- | The client token associated with the request.+createConnectAttachment_clientToken :: Lens.Lens' CreateConnectAttachment (Prelude.Maybe Prelude.Text)+createConnectAttachment_clientToken = Lens.lens (\CreateConnectAttachment' {clientToken} -> clientToken) (\s@CreateConnectAttachment' {} a -> s {clientToken = a} :: CreateConnectAttachment)++-- | The list of key-value tags associated with the request.+createConnectAttachment_tags :: Lens.Lens' CreateConnectAttachment (Prelude.Maybe [Tag])+createConnectAttachment_tags = Lens.lens (\CreateConnectAttachment' {tags} -> tags) (\s@CreateConnectAttachment' {} a -> s {tags = a} :: CreateConnectAttachment) Prelude.. Lens.mapping Lens.coerced++-- | The ID of a core network where you want to create the attachment.+createConnectAttachment_coreNetworkId :: Lens.Lens' CreateConnectAttachment Prelude.Text+createConnectAttachment_coreNetworkId = Lens.lens (\CreateConnectAttachment' {coreNetworkId} -> coreNetworkId) (\s@CreateConnectAttachment' {} a -> s {coreNetworkId = a} :: CreateConnectAttachment)++-- | The Region where the edge is located.+createConnectAttachment_edgeLocation :: Lens.Lens' CreateConnectAttachment Prelude.Text+createConnectAttachment_edgeLocation = Lens.lens (\CreateConnectAttachment' {edgeLocation} -> edgeLocation) (\s@CreateConnectAttachment' {} a -> s {edgeLocation = a} :: CreateConnectAttachment)++-- | The ID of the attachment between the two connections.+createConnectAttachment_transportAttachmentId :: Lens.Lens' CreateConnectAttachment Prelude.Text+createConnectAttachment_transportAttachmentId = Lens.lens (\CreateConnectAttachment' {transportAttachmentId} -> transportAttachmentId) (\s@CreateConnectAttachment' {} a -> s {transportAttachmentId = a} :: CreateConnectAttachment)++-- | Options for creating an attachment.+createConnectAttachment_options :: Lens.Lens' CreateConnectAttachment ConnectAttachmentOptions+createConnectAttachment_options = Lens.lens (\CreateConnectAttachment' {options} -> options) (\s@CreateConnectAttachment' {} a -> s {options = a} :: CreateConnectAttachment)++instance Core.AWSRequest CreateConnectAttachment where+  type+    AWSResponse CreateConnectAttachment =+      CreateConnectAttachmentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateConnectAttachmentResponse'+            Prelude.<$> (x Data..?> "ConnectAttachment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateConnectAttachment where+  hashWithSalt _salt CreateConnectAttachment' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` edgeLocation+      `Prelude.hashWithSalt` transportAttachmentId+      `Prelude.hashWithSalt` options++instance Prelude.NFData CreateConnectAttachment where+  rnf CreateConnectAttachment' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf edgeLocation+      `Prelude.seq` Prelude.rnf transportAttachmentId+      `Prelude.seq` Prelude.rnf options++instance Data.ToHeaders CreateConnectAttachment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateConnectAttachment where+  toJSON CreateConnectAttachment' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("CoreNetworkId" Data..= coreNetworkId),+            Prelude.Just ("EdgeLocation" Data..= edgeLocation),+            Prelude.Just+              ( "TransportAttachmentId"+                  Data..= transportAttachmentId+              ),+            Prelude.Just ("Options" Data..= options)+          ]+      )++instance Data.ToPath CreateConnectAttachment where+  toPath = Prelude.const "/connect-attachments"++instance Data.ToQuery CreateConnectAttachment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateConnectAttachmentResponse' smart constructor.+data CreateConnectAttachmentResponse = CreateConnectAttachmentResponse'+  { -- | The response to a Connect attachment request.+    connectAttachment :: Prelude.Maybe ConnectAttachment,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConnectAttachmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectAttachment', 'createConnectAttachmentResponse_connectAttachment' - The response to a Connect attachment request.+--+-- 'httpStatus', 'createConnectAttachmentResponse_httpStatus' - The response's http status code.+newCreateConnectAttachmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateConnectAttachmentResponse+newCreateConnectAttachmentResponse pHttpStatus_ =+  CreateConnectAttachmentResponse'+    { connectAttachment =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The response to a Connect attachment request.+createConnectAttachmentResponse_connectAttachment :: Lens.Lens' CreateConnectAttachmentResponse (Prelude.Maybe ConnectAttachment)+createConnectAttachmentResponse_connectAttachment = Lens.lens (\CreateConnectAttachmentResponse' {connectAttachment} -> connectAttachment) (\s@CreateConnectAttachmentResponse' {} a -> s {connectAttachment = a} :: CreateConnectAttachmentResponse)++-- | The response's http status code.+createConnectAttachmentResponse_httpStatus :: Lens.Lens' CreateConnectAttachmentResponse Prelude.Int+createConnectAttachmentResponse_httpStatus = Lens.lens (\CreateConnectAttachmentResponse' {httpStatus} -> httpStatus) (\s@CreateConnectAttachmentResponse' {} a -> s {httpStatus = a} :: CreateConnectAttachmentResponse)++instance+  Prelude.NFData+    CreateConnectAttachmentResponse+  where+  rnf CreateConnectAttachmentResponse' {..} =+    Prelude.rnf connectAttachment+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/CreateConnectPeer.hs view
@@ -0,0 +1,257 @@+{-# 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.NetworkManager.CreateConnectPeer+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a core network Connect peer for a specified core network connect+-- attachment between a core network and an appliance. The peer address and+-- transit gateway address must be the same IP address family (IPv4 or+-- IPv6).+module Amazonka.NetworkManager.CreateConnectPeer+  ( -- * Creating a Request+    CreateConnectPeer (..),+    newCreateConnectPeer,++    -- * Request Lenses+    createConnectPeer_bgpOptions,+    createConnectPeer_clientToken,+    createConnectPeer_coreNetworkAddress,+    createConnectPeer_tags,+    createConnectPeer_connectAttachmentId,+    createConnectPeer_peerAddress,+    createConnectPeer_insideCidrBlocks,++    -- * Destructuring the Response+    CreateConnectPeerResponse (..),+    newCreateConnectPeerResponse,++    -- * Response Lenses+    createConnectPeerResponse_connectPeer,+    createConnectPeerResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateConnectPeer' smart constructor.+data CreateConnectPeer = CreateConnectPeer'+  { -- | The Connect peer BGP options.+    bgpOptions :: Prelude.Maybe BgpOptions,+    -- | The client token associated with the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | A Connect peer core network address.+    coreNetworkAddress :: Prelude.Maybe Prelude.Text,+    -- | The tags associated with the peer request.+    tags :: Prelude.Maybe [Tag],+    -- | The ID of the connection attachment.+    connectAttachmentId :: Prelude.Text,+    -- | The Connect peer address.+    peerAddress :: Prelude.Text,+    -- | The inside IP addresses used for BGP peering.+    insideCidrBlocks :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConnectPeer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bgpOptions', 'createConnectPeer_bgpOptions' - The Connect peer BGP options.+--+-- 'clientToken', 'createConnectPeer_clientToken' - The client token associated with the request.+--+-- 'coreNetworkAddress', 'createConnectPeer_coreNetworkAddress' - A Connect peer core network address.+--+-- 'tags', 'createConnectPeer_tags' - The tags associated with the peer request.+--+-- 'connectAttachmentId', 'createConnectPeer_connectAttachmentId' - The ID of the connection attachment.+--+-- 'peerAddress', 'createConnectPeer_peerAddress' - The Connect peer address.+--+-- 'insideCidrBlocks', 'createConnectPeer_insideCidrBlocks' - The inside IP addresses used for BGP peering.+newCreateConnectPeer ::+  -- | 'connectAttachmentId'+  Prelude.Text ->+  -- | 'peerAddress'+  Prelude.Text ->+  CreateConnectPeer+newCreateConnectPeer+  pConnectAttachmentId_+  pPeerAddress_ =+    CreateConnectPeer'+      { bgpOptions = Prelude.Nothing,+        clientToken = Prelude.Nothing,+        coreNetworkAddress = Prelude.Nothing,+        tags = Prelude.Nothing,+        connectAttachmentId = pConnectAttachmentId_,+        peerAddress = pPeerAddress_,+        insideCidrBlocks = Prelude.mempty+      }++-- | The Connect peer BGP options.+createConnectPeer_bgpOptions :: Lens.Lens' CreateConnectPeer (Prelude.Maybe BgpOptions)+createConnectPeer_bgpOptions = Lens.lens (\CreateConnectPeer' {bgpOptions} -> bgpOptions) (\s@CreateConnectPeer' {} a -> s {bgpOptions = a} :: CreateConnectPeer)++-- | The client token associated with the request.+createConnectPeer_clientToken :: Lens.Lens' CreateConnectPeer (Prelude.Maybe Prelude.Text)+createConnectPeer_clientToken = Lens.lens (\CreateConnectPeer' {clientToken} -> clientToken) (\s@CreateConnectPeer' {} a -> s {clientToken = a} :: CreateConnectPeer)++-- | A Connect peer core network address.+createConnectPeer_coreNetworkAddress :: Lens.Lens' CreateConnectPeer (Prelude.Maybe Prelude.Text)+createConnectPeer_coreNetworkAddress = Lens.lens (\CreateConnectPeer' {coreNetworkAddress} -> coreNetworkAddress) (\s@CreateConnectPeer' {} a -> s {coreNetworkAddress = a} :: CreateConnectPeer)++-- | The tags associated with the peer request.+createConnectPeer_tags :: Lens.Lens' CreateConnectPeer (Prelude.Maybe [Tag])+createConnectPeer_tags = Lens.lens (\CreateConnectPeer' {tags} -> tags) (\s@CreateConnectPeer' {} a -> s {tags = a} :: CreateConnectPeer) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the connection attachment.+createConnectPeer_connectAttachmentId :: Lens.Lens' CreateConnectPeer Prelude.Text+createConnectPeer_connectAttachmentId = Lens.lens (\CreateConnectPeer' {connectAttachmentId} -> connectAttachmentId) (\s@CreateConnectPeer' {} a -> s {connectAttachmentId = a} :: CreateConnectPeer)++-- | The Connect peer address.+createConnectPeer_peerAddress :: Lens.Lens' CreateConnectPeer Prelude.Text+createConnectPeer_peerAddress = Lens.lens (\CreateConnectPeer' {peerAddress} -> peerAddress) (\s@CreateConnectPeer' {} a -> s {peerAddress = a} :: CreateConnectPeer)++-- | The inside IP addresses used for BGP peering.+createConnectPeer_insideCidrBlocks :: Lens.Lens' CreateConnectPeer [Prelude.Text]+createConnectPeer_insideCidrBlocks = Lens.lens (\CreateConnectPeer' {insideCidrBlocks} -> insideCidrBlocks) (\s@CreateConnectPeer' {} a -> s {insideCidrBlocks = a} :: CreateConnectPeer) Prelude.. Lens.coerced++instance Core.AWSRequest CreateConnectPeer where+  type+    AWSResponse CreateConnectPeer =+      CreateConnectPeerResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateConnectPeerResponse'+            Prelude.<$> (x Data..?> "ConnectPeer")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateConnectPeer where+  hashWithSalt _salt CreateConnectPeer' {..} =+    _salt+      `Prelude.hashWithSalt` bgpOptions+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` coreNetworkAddress+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` connectAttachmentId+      `Prelude.hashWithSalt` peerAddress+      `Prelude.hashWithSalt` insideCidrBlocks++instance Prelude.NFData CreateConnectPeer where+  rnf CreateConnectPeer' {..} =+    Prelude.rnf bgpOptions+      `Prelude.seq` Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf coreNetworkAddress+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf connectAttachmentId+      `Prelude.seq` Prelude.rnf peerAddress+      `Prelude.seq` Prelude.rnf insideCidrBlocks++instance Data.ToHeaders CreateConnectPeer where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateConnectPeer where+  toJSON CreateConnectPeer' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BgpOptions" Data..=) Prelude.<$> bgpOptions,+            ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("CoreNetworkAddress" Data..=)+              Prelude.<$> coreNetworkAddress,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("ConnectAttachmentId" Data..= connectAttachmentId),+            Prelude.Just ("PeerAddress" Data..= peerAddress),+            Prelude.Just+              ("InsideCidrBlocks" Data..= insideCidrBlocks)+          ]+      )++instance Data.ToPath CreateConnectPeer where+  toPath = Prelude.const "/connect-peers"++instance Data.ToQuery CreateConnectPeer where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateConnectPeerResponse' smart constructor.+data CreateConnectPeerResponse = CreateConnectPeerResponse'+  { -- | The response to the request.+    connectPeer :: Prelude.Maybe ConnectPeer,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConnectPeerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectPeer', 'createConnectPeerResponse_connectPeer' - The response to the request.+--+-- 'httpStatus', 'createConnectPeerResponse_httpStatus' - The response's http status code.+newCreateConnectPeerResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateConnectPeerResponse+newCreateConnectPeerResponse pHttpStatus_ =+  CreateConnectPeerResponse'+    { connectPeer =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The response to the request.+createConnectPeerResponse_connectPeer :: Lens.Lens' CreateConnectPeerResponse (Prelude.Maybe ConnectPeer)+createConnectPeerResponse_connectPeer = Lens.lens (\CreateConnectPeerResponse' {connectPeer} -> connectPeer) (\s@CreateConnectPeerResponse' {} a -> s {connectPeer = a} :: CreateConnectPeerResponse)++-- | The response's http status code.+createConnectPeerResponse_httpStatus :: Lens.Lens' CreateConnectPeerResponse Prelude.Int+createConnectPeerResponse_httpStatus = Lens.lens (\CreateConnectPeerResponse' {httpStatus} -> httpStatus) (\s@CreateConnectPeerResponse' {} a -> s {httpStatus = a} :: CreateConnectPeerResponse)++instance Prelude.NFData CreateConnectPeerResponse where+  rnf CreateConnectPeerResponse' {..} =+    Prelude.rnf connectPeer+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/CreateConnection.hs view
@@ -0,0 +1,270 @@+{-# 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.NetworkManager.CreateConnection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a connection between two devices. The devices can be a physical+-- or virtual appliance that connects to a third-party appliance in a VPC,+-- or a physical appliance that connects to another physical appliance in+-- an on-premises network.+module Amazonka.NetworkManager.CreateConnection+  ( -- * Creating a Request+    CreateConnection (..),+    newCreateConnection,++    -- * Request Lenses+    createConnection_connectedLinkId,+    createConnection_description,+    createConnection_linkId,+    createConnection_tags,+    createConnection_globalNetworkId,+    createConnection_deviceId,+    createConnection_connectedDeviceId,++    -- * Destructuring the Response+    CreateConnectionResponse (..),+    newCreateConnectionResponse,++    -- * Response Lenses+    createConnectionResponse_connection,+    createConnectionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateConnection' smart constructor.+data CreateConnection = CreateConnection'+  { -- | The ID of the link for the second device.+    connectedLinkId :: Prelude.Maybe Prelude.Text,+    -- | A description of the connection.+    --+    -- Length Constraints: Maximum length of 256 characters.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the link for the first device.+    linkId :: Prelude.Maybe Prelude.Text,+    -- | The tags to apply to the resource during creation.+    tags :: Prelude.Maybe [Tag],+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the first device in the connection.+    deviceId :: Prelude.Text,+    -- | The ID of the second device in the connection.+    connectedDeviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectedLinkId', 'createConnection_connectedLinkId' - The ID of the link for the second device.+--+-- 'description', 'createConnection_description' - A description of the connection.+--+-- Length Constraints: Maximum length of 256 characters.+--+-- 'linkId', 'createConnection_linkId' - The ID of the link for the first device.+--+-- 'tags', 'createConnection_tags' - The tags to apply to the resource during creation.+--+-- 'globalNetworkId', 'createConnection_globalNetworkId' - The ID of the global network.+--+-- 'deviceId', 'createConnection_deviceId' - The ID of the first device in the connection.+--+-- 'connectedDeviceId', 'createConnection_connectedDeviceId' - The ID of the second device in the connection.+newCreateConnection ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'deviceId'+  Prelude.Text ->+  -- | 'connectedDeviceId'+  Prelude.Text ->+  CreateConnection+newCreateConnection+  pGlobalNetworkId_+  pDeviceId_+  pConnectedDeviceId_ =+    CreateConnection'+      { connectedLinkId =+          Prelude.Nothing,+        description = Prelude.Nothing,+        linkId = Prelude.Nothing,+        tags = Prelude.Nothing,+        globalNetworkId = pGlobalNetworkId_,+        deviceId = pDeviceId_,+        connectedDeviceId = pConnectedDeviceId_+      }++-- | The ID of the link for the second device.+createConnection_connectedLinkId :: Lens.Lens' CreateConnection (Prelude.Maybe Prelude.Text)+createConnection_connectedLinkId = Lens.lens (\CreateConnection' {connectedLinkId} -> connectedLinkId) (\s@CreateConnection' {} a -> s {connectedLinkId = a} :: CreateConnection)++-- | A description of the connection.+--+-- Length Constraints: Maximum length of 256 characters.+createConnection_description :: Lens.Lens' CreateConnection (Prelude.Maybe Prelude.Text)+createConnection_description = Lens.lens (\CreateConnection' {description} -> description) (\s@CreateConnection' {} a -> s {description = a} :: CreateConnection)++-- | The ID of the link for the first device.+createConnection_linkId :: Lens.Lens' CreateConnection (Prelude.Maybe Prelude.Text)+createConnection_linkId = Lens.lens (\CreateConnection' {linkId} -> linkId) (\s@CreateConnection' {} a -> s {linkId = a} :: CreateConnection)++-- | The tags to apply to the resource during creation.+createConnection_tags :: Lens.Lens' CreateConnection (Prelude.Maybe [Tag])+createConnection_tags = Lens.lens (\CreateConnection' {tags} -> tags) (\s@CreateConnection' {} a -> s {tags = a} :: CreateConnection) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the global network.+createConnection_globalNetworkId :: Lens.Lens' CreateConnection Prelude.Text+createConnection_globalNetworkId = Lens.lens (\CreateConnection' {globalNetworkId} -> globalNetworkId) (\s@CreateConnection' {} a -> s {globalNetworkId = a} :: CreateConnection)++-- | The ID of the first device in the connection.+createConnection_deviceId :: Lens.Lens' CreateConnection Prelude.Text+createConnection_deviceId = Lens.lens (\CreateConnection' {deviceId} -> deviceId) (\s@CreateConnection' {} a -> s {deviceId = a} :: CreateConnection)++-- | The ID of the second device in the connection.+createConnection_connectedDeviceId :: Lens.Lens' CreateConnection Prelude.Text+createConnection_connectedDeviceId = Lens.lens (\CreateConnection' {connectedDeviceId} -> connectedDeviceId) (\s@CreateConnection' {} a -> s {connectedDeviceId = a} :: CreateConnection)++instance Core.AWSRequest CreateConnection where+  type+    AWSResponse CreateConnection =+      CreateConnectionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateConnectionResponse'+            Prelude.<$> (x Data..?> "Connection")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateConnection where+  hashWithSalt _salt CreateConnection' {..} =+    _salt+      `Prelude.hashWithSalt` connectedLinkId+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` linkId+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` connectedDeviceId++instance Prelude.NFData CreateConnection where+  rnf CreateConnection' {..} =+    Prelude.rnf connectedLinkId+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf linkId+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf connectedDeviceId++instance Data.ToHeaders CreateConnection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateConnection where+  toJSON CreateConnection' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ConnectedLinkId" Data..=)+              Prelude.<$> connectedLinkId,+            ("Description" Data..=) Prelude.<$> description,+            ("LinkId" Data..=) Prelude.<$> linkId,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("DeviceId" Data..= deviceId),+            Prelude.Just+              ("ConnectedDeviceId" Data..= connectedDeviceId)+          ]+      )++instance Data.ToPath CreateConnection where+  toPath CreateConnection' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/connections"+      ]++instance Data.ToQuery CreateConnection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateConnectionResponse' smart constructor.+data CreateConnectionResponse = CreateConnectionResponse'+  { -- | Information about the connection.+    connection :: Prelude.Maybe Connection,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateConnectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connection', 'createConnectionResponse_connection' - Information about the connection.+--+-- 'httpStatus', 'createConnectionResponse_httpStatus' - The response's http status code.+newCreateConnectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateConnectionResponse+newCreateConnectionResponse pHttpStatus_ =+  CreateConnectionResponse'+    { connection =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the connection.+createConnectionResponse_connection :: Lens.Lens' CreateConnectionResponse (Prelude.Maybe Connection)+createConnectionResponse_connection = Lens.lens (\CreateConnectionResponse' {connection} -> connection) (\s@CreateConnectionResponse' {} a -> s {connection = a} :: CreateConnectionResponse)++-- | The response's http status code.+createConnectionResponse_httpStatus :: Lens.Lens' CreateConnectionResponse Prelude.Int+createConnectionResponse_httpStatus = Lens.lens (\CreateConnectionResponse' {httpStatus} -> httpStatus) (\s@CreateConnectionResponse' {} a -> s {httpStatus = a} :: CreateConnectionResponse)++instance Prelude.NFData CreateConnectionResponse where+  rnf CreateConnectionResponse' {..} =+    Prelude.rnf connection+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/CreateCoreNetwork.hs view
@@ -0,0 +1,224 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.CreateCoreNetwork+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a core network as part of your global network, and optionally,+-- with a core network policy.+module Amazonka.NetworkManager.CreateCoreNetwork+  ( -- * Creating a Request+    CreateCoreNetwork (..),+    newCreateCoreNetwork,++    -- * Request Lenses+    createCoreNetwork_clientToken,+    createCoreNetwork_description,+    createCoreNetwork_policyDocument,+    createCoreNetwork_tags,+    createCoreNetwork_globalNetworkId,++    -- * Destructuring the Response+    CreateCoreNetworkResponse (..),+    newCreateCoreNetworkResponse,++    -- * Response Lenses+    createCoreNetworkResponse_coreNetwork,+    createCoreNetworkResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateCoreNetwork' smart constructor.+data CreateCoreNetwork = CreateCoreNetwork'+  { -- | The client token associated with a core network request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The description of a core network.+    description :: Prelude.Maybe Prelude.Text,+    -- | The policy document for creating a core network.+    policyDocument :: Prelude.Maybe Prelude.Text,+    -- | Key-value tags associated with a core network request.+    tags :: Prelude.Maybe [Tag],+    -- | The ID of the global network that a core network will be a part of.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCoreNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createCoreNetwork_clientToken' - The client token associated with a core network request.+--+-- 'description', 'createCoreNetwork_description' - The description of a core network.+--+-- 'policyDocument', 'createCoreNetwork_policyDocument' - The policy document for creating a core network.+--+-- 'tags', 'createCoreNetwork_tags' - Key-value tags associated with a core network request.+--+-- 'globalNetworkId', 'createCoreNetwork_globalNetworkId' - The ID of the global network that a core network will be a part of.+newCreateCoreNetwork ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  CreateCoreNetwork+newCreateCoreNetwork pGlobalNetworkId_ =+  CreateCoreNetwork'+    { clientToken = Prelude.Nothing,+      description = Prelude.Nothing,+      policyDocument = Prelude.Nothing,+      tags = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | The client token associated with a core network request.+createCoreNetwork_clientToken :: Lens.Lens' CreateCoreNetwork (Prelude.Maybe Prelude.Text)+createCoreNetwork_clientToken = Lens.lens (\CreateCoreNetwork' {clientToken} -> clientToken) (\s@CreateCoreNetwork' {} a -> s {clientToken = a} :: CreateCoreNetwork)++-- | The description of a core network.+createCoreNetwork_description :: Lens.Lens' CreateCoreNetwork (Prelude.Maybe Prelude.Text)+createCoreNetwork_description = Lens.lens (\CreateCoreNetwork' {description} -> description) (\s@CreateCoreNetwork' {} a -> s {description = a} :: CreateCoreNetwork)++-- | The policy document for creating a core network.+createCoreNetwork_policyDocument :: Lens.Lens' CreateCoreNetwork (Prelude.Maybe Prelude.Text)+createCoreNetwork_policyDocument = Lens.lens (\CreateCoreNetwork' {policyDocument} -> policyDocument) (\s@CreateCoreNetwork' {} a -> s {policyDocument = a} :: CreateCoreNetwork)++-- | Key-value tags associated with a core network request.+createCoreNetwork_tags :: Lens.Lens' CreateCoreNetwork (Prelude.Maybe [Tag])+createCoreNetwork_tags = Lens.lens (\CreateCoreNetwork' {tags} -> tags) (\s@CreateCoreNetwork' {} a -> s {tags = a} :: CreateCoreNetwork) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the global network that a core network will be a part of.+createCoreNetwork_globalNetworkId :: Lens.Lens' CreateCoreNetwork Prelude.Text+createCoreNetwork_globalNetworkId = Lens.lens (\CreateCoreNetwork' {globalNetworkId} -> globalNetworkId) (\s@CreateCoreNetwork' {} a -> s {globalNetworkId = a} :: CreateCoreNetwork)++instance Core.AWSRequest CreateCoreNetwork where+  type+    AWSResponse CreateCoreNetwork =+      CreateCoreNetworkResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateCoreNetworkResponse'+            Prelude.<$> (x Data..?> "CoreNetwork")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateCoreNetwork where+  hashWithSalt _salt CreateCoreNetwork' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` policyDocument+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData CreateCoreNetwork where+  rnf CreateCoreNetwork' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf policyDocument+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf globalNetworkId++instance Data.ToHeaders CreateCoreNetwork where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateCoreNetwork where+  toJSON CreateCoreNetwork' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Description" Data..=) Prelude.<$> description,+            ("PolicyDocument" Data..=)+              Prelude.<$> policyDocument,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just+              ("GlobalNetworkId" Data..= globalNetworkId)+          ]+      )++instance Data.ToPath CreateCoreNetwork where+  toPath = Prelude.const "/core-networks"++instance Data.ToQuery CreateCoreNetwork where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateCoreNetworkResponse' smart constructor.+data CreateCoreNetworkResponse = CreateCoreNetworkResponse'+  { -- | Returns details about a core network.+    coreNetwork :: Prelude.Maybe CoreNetwork,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateCoreNetworkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetwork', 'createCoreNetworkResponse_coreNetwork' - Returns details about a core network.+--+-- 'httpStatus', 'createCoreNetworkResponse_httpStatus' - The response's http status code.+newCreateCoreNetworkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateCoreNetworkResponse+newCreateCoreNetworkResponse pHttpStatus_ =+  CreateCoreNetworkResponse'+    { coreNetwork =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Returns details about a core network.+createCoreNetworkResponse_coreNetwork :: Lens.Lens' CreateCoreNetworkResponse (Prelude.Maybe CoreNetwork)+createCoreNetworkResponse_coreNetwork = Lens.lens (\CreateCoreNetworkResponse' {coreNetwork} -> coreNetwork) (\s@CreateCoreNetworkResponse' {} a -> s {coreNetwork = a} :: CreateCoreNetworkResponse)++-- | The response's http status code.+createCoreNetworkResponse_httpStatus :: Lens.Lens' CreateCoreNetworkResponse Prelude.Int+createCoreNetworkResponse_httpStatus = Lens.lens (\CreateCoreNetworkResponse' {httpStatus} -> httpStatus) (\s@CreateCoreNetworkResponse' {} a -> s {httpStatus = a} :: CreateCoreNetworkResponse)++instance Prelude.NFData CreateCoreNetworkResponse where+  rnf CreateCoreNetworkResponse' {..} =+    Prelude.rnf coreNetwork+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/CreateDevice.hs view
@@ -0,0 +1,316 @@+{-# 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.NetworkManager.CreateDevice+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new device in a global network. If you specify both a site ID+-- and a location, the location of the site is used for visualization in+-- the Network Manager console.+module Amazonka.NetworkManager.CreateDevice+  ( -- * Creating a Request+    CreateDevice (..),+    newCreateDevice,++    -- * Request Lenses+    createDevice_aWSLocation,+    createDevice_description,+    createDevice_location,+    createDevice_model,+    createDevice_serialNumber,+    createDevice_siteId,+    createDevice_tags,+    createDevice_type,+    createDevice_vendor,+    createDevice_globalNetworkId,++    -- * Destructuring the Response+    CreateDeviceResponse (..),+    newCreateDeviceResponse,++    -- * Response Lenses+    createDeviceResponse_device,+    createDeviceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateDevice' smart constructor.+data CreateDevice = CreateDevice'+  { -- | The Amazon Web Services location of the device, if applicable. For an+    -- on-premises device, you can omit this parameter.+    aWSLocation :: Prelude.Maybe AWSLocation,+    -- | A description of the device.+    --+    -- Constraints: Maximum length of 256 characters.+    description :: Prelude.Maybe Prelude.Text,+    -- | The location of the device.+    location :: Prelude.Maybe (Data.Sensitive Location),+    -- | The model of the device.+    --+    -- Constraints: Maximum length of 128 characters.+    model :: Prelude.Maybe Prelude.Text,+    -- | The serial number of the device.+    --+    -- Constraints: Maximum length of 128 characters.+    serialNumber :: Prelude.Maybe Prelude.Text,+    -- | The ID of the site.+    siteId :: Prelude.Maybe Prelude.Text,+    -- | The tags to apply to the resource during creation.+    tags :: Prelude.Maybe [Tag],+    -- | The type of the device.+    type' :: Prelude.Maybe Prelude.Text,+    -- | The vendor of the device.+    --+    -- Constraints: Maximum length of 128 characters.+    vendor :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aWSLocation', 'createDevice_aWSLocation' - The Amazon Web Services location of the device, if applicable. For an+-- on-premises device, you can omit this parameter.+--+-- 'description', 'createDevice_description' - A description of the device.+--+-- Constraints: Maximum length of 256 characters.+--+-- 'location', 'createDevice_location' - The location of the device.+--+-- 'model', 'createDevice_model' - The model of the device.+--+-- Constraints: Maximum length of 128 characters.+--+-- 'serialNumber', 'createDevice_serialNumber' - The serial number of the device.+--+-- Constraints: Maximum length of 128 characters.+--+-- 'siteId', 'createDevice_siteId' - The ID of the site.+--+-- 'tags', 'createDevice_tags' - The tags to apply to the resource during creation.+--+-- 'type'', 'createDevice_type' - The type of the device.+--+-- 'vendor', 'createDevice_vendor' - The vendor of the device.+--+-- Constraints: Maximum length of 128 characters.+--+-- 'globalNetworkId', 'createDevice_globalNetworkId' - The ID of the global network.+newCreateDevice ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  CreateDevice+newCreateDevice pGlobalNetworkId_ =+  CreateDevice'+    { aWSLocation = Prelude.Nothing,+      description = Prelude.Nothing,+      location = Prelude.Nothing,+      model = Prelude.Nothing,+      serialNumber = Prelude.Nothing,+      siteId = Prelude.Nothing,+      tags = Prelude.Nothing,+      type' = Prelude.Nothing,+      vendor = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | The Amazon Web Services location of the device, if applicable. For an+-- on-premises device, you can omit this parameter.+createDevice_aWSLocation :: Lens.Lens' CreateDevice (Prelude.Maybe AWSLocation)+createDevice_aWSLocation = Lens.lens (\CreateDevice' {aWSLocation} -> aWSLocation) (\s@CreateDevice' {} a -> s {aWSLocation = a} :: CreateDevice)++-- | A description of the device.+--+-- Constraints: Maximum length of 256 characters.+createDevice_description :: Lens.Lens' CreateDevice (Prelude.Maybe Prelude.Text)+createDevice_description = Lens.lens (\CreateDevice' {description} -> description) (\s@CreateDevice' {} a -> s {description = a} :: CreateDevice)++-- | The location of the device.+createDevice_location :: Lens.Lens' CreateDevice (Prelude.Maybe Location)+createDevice_location = Lens.lens (\CreateDevice' {location} -> location) (\s@CreateDevice' {} a -> s {location = a} :: CreateDevice) Prelude.. Lens.mapping Data._Sensitive++-- | The model of the device.+--+-- Constraints: Maximum length of 128 characters.+createDevice_model :: Lens.Lens' CreateDevice (Prelude.Maybe Prelude.Text)+createDevice_model = Lens.lens (\CreateDevice' {model} -> model) (\s@CreateDevice' {} a -> s {model = a} :: CreateDevice)++-- | The serial number of the device.+--+-- Constraints: Maximum length of 128 characters.+createDevice_serialNumber :: Lens.Lens' CreateDevice (Prelude.Maybe Prelude.Text)+createDevice_serialNumber = Lens.lens (\CreateDevice' {serialNumber} -> serialNumber) (\s@CreateDevice' {} a -> s {serialNumber = a} :: CreateDevice)++-- | The ID of the site.+createDevice_siteId :: Lens.Lens' CreateDevice (Prelude.Maybe Prelude.Text)+createDevice_siteId = Lens.lens (\CreateDevice' {siteId} -> siteId) (\s@CreateDevice' {} a -> s {siteId = a} :: CreateDevice)++-- | The tags to apply to the resource during creation.+createDevice_tags :: Lens.Lens' CreateDevice (Prelude.Maybe [Tag])+createDevice_tags = Lens.lens (\CreateDevice' {tags} -> tags) (\s@CreateDevice' {} a -> s {tags = a} :: CreateDevice) Prelude.. Lens.mapping Lens.coerced++-- | The type of the device.+createDevice_type :: Lens.Lens' CreateDevice (Prelude.Maybe Prelude.Text)+createDevice_type = Lens.lens (\CreateDevice' {type'} -> type') (\s@CreateDevice' {} a -> s {type' = a} :: CreateDevice)++-- | The vendor of the device.+--+-- Constraints: Maximum length of 128 characters.+createDevice_vendor :: Lens.Lens' CreateDevice (Prelude.Maybe Prelude.Text)+createDevice_vendor = Lens.lens (\CreateDevice' {vendor} -> vendor) (\s@CreateDevice' {} a -> s {vendor = a} :: CreateDevice)++-- | The ID of the global network.+createDevice_globalNetworkId :: Lens.Lens' CreateDevice Prelude.Text+createDevice_globalNetworkId = Lens.lens (\CreateDevice' {globalNetworkId} -> globalNetworkId) (\s@CreateDevice' {} a -> s {globalNetworkId = a} :: CreateDevice)++instance Core.AWSRequest CreateDevice where+  type AWSResponse CreateDevice = CreateDeviceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateDeviceResponse'+            Prelude.<$> (x Data..?> "Device")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateDevice where+  hashWithSalt _salt CreateDevice' {..} =+    _salt+      `Prelude.hashWithSalt` aWSLocation+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` location+      `Prelude.hashWithSalt` model+      `Prelude.hashWithSalt` serialNumber+      `Prelude.hashWithSalt` siteId+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` vendor+      `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData CreateDevice where+  rnf CreateDevice' {..} =+    Prelude.rnf aWSLocation+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf location+      `Prelude.seq` Prelude.rnf model+      `Prelude.seq` Prelude.rnf serialNumber+      `Prelude.seq` Prelude.rnf siteId+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf vendor+      `Prelude.seq` Prelude.rnf globalNetworkId++instance Data.ToHeaders CreateDevice where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateDevice where+  toJSON CreateDevice' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AWSLocation" Data..=) Prelude.<$> aWSLocation,+            ("Description" Data..=) Prelude.<$> description,+            ("Location" Data..=) Prelude.<$> location,+            ("Model" Data..=) Prelude.<$> model,+            ("SerialNumber" Data..=) Prelude.<$> serialNumber,+            ("SiteId" Data..=) Prelude.<$> siteId,+            ("Tags" Data..=) Prelude.<$> tags,+            ("Type" Data..=) Prelude.<$> type',+            ("Vendor" Data..=) Prelude.<$> vendor+          ]+      )++instance Data.ToPath CreateDevice where+  toPath CreateDevice' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/devices"+      ]++instance Data.ToQuery CreateDevice where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateDeviceResponse' smart constructor.+data CreateDeviceResponse = CreateDeviceResponse'+  { -- | Information about the device.+    device :: Prelude.Maybe Device,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateDeviceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'device', 'createDeviceResponse_device' - Information about the device.+--+-- 'httpStatus', 'createDeviceResponse_httpStatus' - The response's http status code.+newCreateDeviceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateDeviceResponse+newCreateDeviceResponse pHttpStatus_ =+  CreateDeviceResponse'+    { device = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the device.+createDeviceResponse_device :: Lens.Lens' CreateDeviceResponse (Prelude.Maybe Device)+createDeviceResponse_device = Lens.lens (\CreateDeviceResponse' {device} -> device) (\s@CreateDeviceResponse' {} a -> s {device = a} :: CreateDeviceResponse)++-- | The response's http status code.+createDeviceResponse_httpStatus :: Lens.Lens' CreateDeviceResponse Prelude.Int+createDeviceResponse_httpStatus = Lens.lens (\CreateDeviceResponse' {httpStatus} -> httpStatus) (\s@CreateDeviceResponse' {} a -> s {httpStatus = a} :: CreateDeviceResponse)++instance Prelude.NFData CreateDeviceResponse where+  rnf CreateDeviceResponse' {..} =+    Prelude.rnf device+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/CreateGlobalNetwork.hs view
@@ -0,0 +1,186 @@+{-# 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.NetworkManager.CreateGlobalNetwork+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new, empty global network.+module Amazonka.NetworkManager.CreateGlobalNetwork+  ( -- * Creating a Request+    CreateGlobalNetwork (..),+    newCreateGlobalNetwork,++    -- * Request Lenses+    createGlobalNetwork_description,+    createGlobalNetwork_tags,++    -- * Destructuring the Response+    CreateGlobalNetworkResponse (..),+    newCreateGlobalNetworkResponse,++    -- * Response Lenses+    createGlobalNetworkResponse_globalNetwork,+    createGlobalNetworkResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateGlobalNetwork' smart constructor.+data CreateGlobalNetwork = CreateGlobalNetwork'+  { -- | A description of the global network.+    --+    -- Constraints: Maximum length of 256 characters.+    description :: Prelude.Maybe Prelude.Text,+    -- | The tags to apply to the resource during creation.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGlobalNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createGlobalNetwork_description' - A description of the global network.+--+-- Constraints: Maximum length of 256 characters.+--+-- 'tags', 'createGlobalNetwork_tags' - The tags to apply to the resource during creation.+newCreateGlobalNetwork ::+  CreateGlobalNetwork+newCreateGlobalNetwork =+  CreateGlobalNetwork'+    { description = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | A description of the global network.+--+-- Constraints: Maximum length of 256 characters.+createGlobalNetwork_description :: Lens.Lens' CreateGlobalNetwork (Prelude.Maybe Prelude.Text)+createGlobalNetwork_description = Lens.lens (\CreateGlobalNetwork' {description} -> description) (\s@CreateGlobalNetwork' {} a -> s {description = a} :: CreateGlobalNetwork)++-- | The tags to apply to the resource during creation.+createGlobalNetwork_tags :: Lens.Lens' CreateGlobalNetwork (Prelude.Maybe [Tag])+createGlobalNetwork_tags = Lens.lens (\CreateGlobalNetwork' {tags} -> tags) (\s@CreateGlobalNetwork' {} a -> s {tags = a} :: CreateGlobalNetwork) Prelude.. Lens.mapping Lens.coerced++instance Core.AWSRequest CreateGlobalNetwork where+  type+    AWSResponse CreateGlobalNetwork =+      CreateGlobalNetworkResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateGlobalNetworkResponse'+            Prelude.<$> (x Data..?> "GlobalNetwork")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateGlobalNetwork where+  hashWithSalt _salt CreateGlobalNetwork' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` tags++instance Prelude.NFData CreateGlobalNetwork where+  rnf CreateGlobalNetwork' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders CreateGlobalNetwork where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateGlobalNetwork where+  toJSON CreateGlobalNetwork' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("Tags" Data..=) Prelude.<$> tags+          ]+      )++instance Data.ToPath CreateGlobalNetwork where+  toPath = Prelude.const "/global-networks"++instance Data.ToQuery CreateGlobalNetwork where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateGlobalNetworkResponse' smart constructor.+data CreateGlobalNetworkResponse = CreateGlobalNetworkResponse'+  { -- | Information about the global network object.+    globalNetwork :: Prelude.Maybe GlobalNetwork,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateGlobalNetworkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetwork', 'createGlobalNetworkResponse_globalNetwork' - Information about the global network object.+--+-- 'httpStatus', 'createGlobalNetworkResponse_httpStatus' - The response's http status code.+newCreateGlobalNetworkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateGlobalNetworkResponse+newCreateGlobalNetworkResponse pHttpStatus_ =+  CreateGlobalNetworkResponse'+    { globalNetwork =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the global network object.+createGlobalNetworkResponse_globalNetwork :: Lens.Lens' CreateGlobalNetworkResponse (Prelude.Maybe GlobalNetwork)+createGlobalNetworkResponse_globalNetwork = Lens.lens (\CreateGlobalNetworkResponse' {globalNetwork} -> globalNetwork) (\s@CreateGlobalNetworkResponse' {} a -> s {globalNetwork = a} :: CreateGlobalNetworkResponse)++-- | The response's http status code.+createGlobalNetworkResponse_httpStatus :: Lens.Lens' CreateGlobalNetworkResponse Prelude.Int+createGlobalNetworkResponse_httpStatus = Lens.lens (\CreateGlobalNetworkResponse' {httpStatus} -> httpStatus) (\s@CreateGlobalNetworkResponse' {} a -> s {httpStatus = a} :: CreateGlobalNetworkResponse)++instance Prelude.NFData CreateGlobalNetworkResponse where+  rnf CreateGlobalNetworkResponse' {..} =+    Prelude.rnf globalNetwork+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/CreateLink.hs view
@@ -0,0 +1,276 @@+{-# 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.NetworkManager.CreateLink+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new link for a specified site.+module Amazonka.NetworkManager.CreateLink+  ( -- * Creating a Request+    CreateLink (..),+    newCreateLink,++    -- * Request Lenses+    createLink_description,+    createLink_provider,+    createLink_tags,+    createLink_type,+    createLink_globalNetworkId,+    createLink_bandwidth,+    createLink_siteId,++    -- * Destructuring the Response+    CreateLinkResponse (..),+    newCreateLinkResponse,++    -- * Response Lenses+    createLinkResponse_link,+    createLinkResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateLink' smart constructor.+data CreateLink = CreateLink'+  { -- | A description of the link.+    --+    -- Constraints: Maximum length of 256 characters.+    description :: Prelude.Maybe Prelude.Text,+    -- | The provider of the link.+    --+    -- Constraints: Maximum length of 128 characters. Cannot include the+    -- following characters: | \\ ^+    provider :: Prelude.Maybe Prelude.Text,+    -- | The tags to apply to the resource during creation.+    tags :: Prelude.Maybe [Tag],+    -- | The type of the link.+    --+    -- Constraints: Maximum length of 128 characters. Cannot include the+    -- following characters: | \\ ^+    type' :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The upload speed and download speed in Mbps.+    bandwidth :: Bandwidth,+    -- | The ID of the site.+    siteId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLink' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createLink_description' - A description of the link.+--+-- Constraints: Maximum length of 256 characters.+--+-- 'provider', 'createLink_provider' - The provider of the link.+--+-- Constraints: Maximum length of 128 characters. Cannot include the+-- following characters: | \\ ^+--+-- 'tags', 'createLink_tags' - The tags to apply to the resource during creation.+--+-- 'type'', 'createLink_type' - The type of the link.+--+-- Constraints: Maximum length of 128 characters. Cannot include the+-- following characters: | \\ ^+--+-- 'globalNetworkId', 'createLink_globalNetworkId' - The ID of the global network.+--+-- 'bandwidth', 'createLink_bandwidth' - The upload speed and download speed in Mbps.+--+-- 'siteId', 'createLink_siteId' - The ID of the site.+newCreateLink ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'bandwidth'+  Bandwidth ->+  -- | 'siteId'+  Prelude.Text ->+  CreateLink+newCreateLink pGlobalNetworkId_ pBandwidth_ pSiteId_ =+  CreateLink'+    { description = Prelude.Nothing,+      provider = Prelude.Nothing,+      tags = Prelude.Nothing,+      type' = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_,+      bandwidth = pBandwidth_,+      siteId = pSiteId_+    }++-- | A description of the link.+--+-- Constraints: Maximum length of 256 characters.+createLink_description :: Lens.Lens' CreateLink (Prelude.Maybe Prelude.Text)+createLink_description = Lens.lens (\CreateLink' {description} -> description) (\s@CreateLink' {} a -> s {description = a} :: CreateLink)++-- | The provider of the link.+--+-- Constraints: Maximum length of 128 characters. Cannot include the+-- following characters: | \\ ^+createLink_provider :: Lens.Lens' CreateLink (Prelude.Maybe Prelude.Text)+createLink_provider = Lens.lens (\CreateLink' {provider} -> provider) (\s@CreateLink' {} a -> s {provider = a} :: CreateLink)++-- | The tags to apply to the resource during creation.+createLink_tags :: Lens.Lens' CreateLink (Prelude.Maybe [Tag])+createLink_tags = Lens.lens (\CreateLink' {tags} -> tags) (\s@CreateLink' {} a -> s {tags = a} :: CreateLink) Prelude.. Lens.mapping Lens.coerced++-- | The type of the link.+--+-- Constraints: Maximum length of 128 characters. Cannot include the+-- following characters: | \\ ^+createLink_type :: Lens.Lens' CreateLink (Prelude.Maybe Prelude.Text)+createLink_type = Lens.lens (\CreateLink' {type'} -> type') (\s@CreateLink' {} a -> s {type' = a} :: CreateLink)++-- | The ID of the global network.+createLink_globalNetworkId :: Lens.Lens' CreateLink Prelude.Text+createLink_globalNetworkId = Lens.lens (\CreateLink' {globalNetworkId} -> globalNetworkId) (\s@CreateLink' {} a -> s {globalNetworkId = a} :: CreateLink)++-- | The upload speed and download speed in Mbps.+createLink_bandwidth :: Lens.Lens' CreateLink Bandwidth+createLink_bandwidth = Lens.lens (\CreateLink' {bandwidth} -> bandwidth) (\s@CreateLink' {} a -> s {bandwidth = a} :: CreateLink)++-- | The ID of the site.+createLink_siteId :: Lens.Lens' CreateLink Prelude.Text+createLink_siteId = Lens.lens (\CreateLink' {siteId} -> siteId) (\s@CreateLink' {} a -> s {siteId = a} :: CreateLink)++instance Core.AWSRequest CreateLink where+  type AWSResponse CreateLink = CreateLinkResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateLinkResponse'+            Prelude.<$> (x Data..?> "Link")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateLink where+  hashWithSalt _salt CreateLink' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` provider+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` bandwidth+      `Prelude.hashWithSalt` siteId++instance Prelude.NFData CreateLink where+  rnf CreateLink' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf provider+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf bandwidth+      `Prelude.seq` Prelude.rnf siteId++instance Data.ToHeaders CreateLink where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateLink where+  toJSON CreateLink' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("Provider" Data..=) Prelude.<$> provider,+            ("Tags" Data..=) Prelude.<$> tags,+            ("Type" Data..=) Prelude.<$> type',+            Prelude.Just ("Bandwidth" Data..= bandwidth),+            Prelude.Just ("SiteId" Data..= siteId)+          ]+      )++instance Data.ToPath CreateLink where+  toPath CreateLink' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/links"+      ]++instance Data.ToQuery CreateLink where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLinkResponse' smart constructor.+data CreateLinkResponse = CreateLinkResponse'+  { -- | Information about the link.+    link :: Prelude.Maybe Link,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLinkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'link', 'createLinkResponse_link' - Information about the link.+--+-- 'httpStatus', 'createLinkResponse_httpStatus' - The response's http status code.+newCreateLinkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateLinkResponse+newCreateLinkResponse pHttpStatus_ =+  CreateLinkResponse'+    { link = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the link.+createLinkResponse_link :: Lens.Lens' CreateLinkResponse (Prelude.Maybe Link)+createLinkResponse_link = Lens.lens (\CreateLinkResponse' {link} -> link) (\s@CreateLinkResponse' {} a -> s {link = a} :: CreateLinkResponse)++-- | The response's http status code.+createLinkResponse_httpStatus :: Lens.Lens' CreateLinkResponse Prelude.Int+createLinkResponse_httpStatus = Lens.lens (\CreateLinkResponse' {httpStatus} -> httpStatus) (\s@CreateLinkResponse' {} a -> s {httpStatus = a} :: CreateLinkResponse)++instance Prelude.NFData CreateLinkResponse where+  rnf CreateLinkResponse' {..} =+    Prelude.rnf link+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/CreateSite.hs view
@@ -0,0 +1,239 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.CreateSite+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new site in a global network.+module Amazonka.NetworkManager.CreateSite+  ( -- * Creating a Request+    CreateSite (..),+    newCreateSite,++    -- * Request Lenses+    createSite_description,+    createSite_location,+    createSite_tags,+    createSite_globalNetworkId,++    -- * Destructuring the Response+    CreateSiteResponse (..),+    newCreateSiteResponse,++    -- * Response Lenses+    createSiteResponse_site,+    createSiteResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateSite' smart constructor.+data CreateSite = CreateSite'+  { -- | A description of your site.+    --+    -- Constraints: Maximum length of 256 characters.+    description :: Prelude.Maybe Prelude.Text,+    -- | The site location. This information is used for visualization in the+    -- Network Manager console. If you specify the address, the latitude and+    -- longitude are automatically calculated.+    --+    -- -   @Address@: The physical address of the site.+    --+    -- -   @Latitude@: The latitude of the site.+    --+    -- -   @Longitude@: The longitude of the site.+    location :: Prelude.Maybe (Data.Sensitive Location),+    -- | The tags to apply to the resource during creation.+    tags :: Prelude.Maybe [Tag],+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'createSite_description' - A description of your site.+--+-- Constraints: Maximum length of 256 characters.+--+-- 'location', 'createSite_location' - The site location. This information is used for visualization in the+-- Network Manager console. If you specify the address, the latitude and+-- longitude are automatically calculated.+--+-- -   @Address@: The physical address of the site.+--+-- -   @Latitude@: The latitude of the site.+--+-- -   @Longitude@: The longitude of the site.+--+-- 'tags', 'createSite_tags' - The tags to apply to the resource during creation.+--+-- 'globalNetworkId', 'createSite_globalNetworkId' - The ID of the global network.+newCreateSite ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  CreateSite+newCreateSite pGlobalNetworkId_ =+  CreateSite'+    { description = Prelude.Nothing,+      location = Prelude.Nothing,+      tags = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | A description of your site.+--+-- Constraints: Maximum length of 256 characters.+createSite_description :: Lens.Lens' CreateSite (Prelude.Maybe Prelude.Text)+createSite_description = Lens.lens (\CreateSite' {description} -> description) (\s@CreateSite' {} a -> s {description = a} :: CreateSite)++-- | The site location. This information is used for visualization in the+-- Network Manager console. If you specify the address, the latitude and+-- longitude are automatically calculated.+--+-- -   @Address@: The physical address of the site.+--+-- -   @Latitude@: The latitude of the site.+--+-- -   @Longitude@: The longitude of the site.+createSite_location :: Lens.Lens' CreateSite (Prelude.Maybe Location)+createSite_location = Lens.lens (\CreateSite' {location} -> location) (\s@CreateSite' {} a -> s {location = a} :: CreateSite) Prelude.. Lens.mapping Data._Sensitive++-- | The tags to apply to the resource during creation.+createSite_tags :: Lens.Lens' CreateSite (Prelude.Maybe [Tag])+createSite_tags = Lens.lens (\CreateSite' {tags} -> tags) (\s@CreateSite' {} a -> s {tags = a} :: CreateSite) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the global network.+createSite_globalNetworkId :: Lens.Lens' CreateSite Prelude.Text+createSite_globalNetworkId = Lens.lens (\CreateSite' {globalNetworkId} -> globalNetworkId) (\s@CreateSite' {} a -> s {globalNetworkId = a} :: CreateSite)++instance Core.AWSRequest CreateSite where+  type AWSResponse CreateSite = CreateSiteResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateSiteResponse'+            Prelude.<$> (x Data..?> "Site")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateSite where+  hashWithSalt _salt CreateSite' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` location+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData CreateSite where+  rnf CreateSite' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf location+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf globalNetworkId++instance Data.ToHeaders CreateSite where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateSite where+  toJSON CreateSite' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("Location" Data..=) Prelude.<$> location,+            ("Tags" Data..=) Prelude.<$> tags+          ]+      )++instance Data.ToPath CreateSite where+  toPath CreateSite' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/sites"+      ]++instance Data.ToQuery CreateSite where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSiteResponse' smart constructor.+data CreateSiteResponse = CreateSiteResponse'+  { -- | Information about the site.+    site :: Prelude.Maybe Site,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'site', 'createSiteResponse_site' - Information about the site.+--+-- 'httpStatus', 'createSiteResponse_httpStatus' - The response's http status code.+newCreateSiteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateSiteResponse+newCreateSiteResponse pHttpStatus_ =+  CreateSiteResponse'+    { site = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the site.+createSiteResponse_site :: Lens.Lens' CreateSiteResponse (Prelude.Maybe Site)+createSiteResponse_site = Lens.lens (\CreateSiteResponse' {site} -> site) (\s@CreateSiteResponse' {} a -> s {site = a} :: CreateSiteResponse)++-- | The response's http status code.+createSiteResponse_httpStatus :: Lens.Lens' CreateSiteResponse Prelude.Int+createSiteResponse_httpStatus = Lens.lens (\CreateSiteResponse' {httpStatus} -> httpStatus) (\s@CreateSiteResponse' {} a -> s {httpStatus = a} :: CreateSiteResponse)++instance Prelude.NFData CreateSiteResponse where+  rnf CreateSiteResponse' {..} =+    Prelude.rnf site+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/CreateSiteToSiteVpnAttachment.hs view
@@ -0,0 +1,228 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.CreateSiteToSiteVpnAttachment+-- 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 site-to-site VPN attachment on an edge+-- location of a core network.+module Amazonka.NetworkManager.CreateSiteToSiteVpnAttachment+  ( -- * Creating a Request+    CreateSiteToSiteVpnAttachment (..),+    newCreateSiteToSiteVpnAttachment,++    -- * Request Lenses+    createSiteToSiteVpnAttachment_clientToken,+    createSiteToSiteVpnAttachment_tags,+    createSiteToSiteVpnAttachment_coreNetworkId,+    createSiteToSiteVpnAttachment_vpnConnectionArn,++    -- * Destructuring the Response+    CreateSiteToSiteVpnAttachmentResponse (..),+    newCreateSiteToSiteVpnAttachmentResponse,++    -- * Response Lenses+    createSiteToSiteVpnAttachmentResponse_siteToSiteVpnAttachment,+    createSiteToSiteVpnAttachmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateSiteToSiteVpnAttachment' smart constructor.+data CreateSiteToSiteVpnAttachment = CreateSiteToSiteVpnAttachment'+  { -- | The client token associated with the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The tags associated with the request.+    tags :: Prelude.Maybe [Tag],+    -- | The ID of a core network where you\'re creating a site-to-site VPN+    -- attachment.+    coreNetworkId :: Prelude.Text,+    -- | The ARN identifying the VPN attachment.+    vpnConnectionArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSiteToSiteVpnAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createSiteToSiteVpnAttachment_clientToken' - The client token associated with the request.+--+-- 'tags', 'createSiteToSiteVpnAttachment_tags' - The tags associated with the request.+--+-- 'coreNetworkId', 'createSiteToSiteVpnAttachment_coreNetworkId' - The ID of a core network where you\'re creating a site-to-site VPN+-- attachment.+--+-- 'vpnConnectionArn', 'createSiteToSiteVpnAttachment_vpnConnectionArn' - The ARN identifying the VPN attachment.+newCreateSiteToSiteVpnAttachment ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  -- | 'vpnConnectionArn'+  Prelude.Text ->+  CreateSiteToSiteVpnAttachment+newCreateSiteToSiteVpnAttachment+  pCoreNetworkId_+  pVpnConnectionArn_ =+    CreateSiteToSiteVpnAttachment'+      { clientToken =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        coreNetworkId = pCoreNetworkId_,+        vpnConnectionArn = pVpnConnectionArn_+      }++-- | The client token associated with the request.+createSiteToSiteVpnAttachment_clientToken :: Lens.Lens' CreateSiteToSiteVpnAttachment (Prelude.Maybe Prelude.Text)+createSiteToSiteVpnAttachment_clientToken = Lens.lens (\CreateSiteToSiteVpnAttachment' {clientToken} -> clientToken) (\s@CreateSiteToSiteVpnAttachment' {} a -> s {clientToken = a} :: CreateSiteToSiteVpnAttachment)++-- | The tags associated with the request.+createSiteToSiteVpnAttachment_tags :: Lens.Lens' CreateSiteToSiteVpnAttachment (Prelude.Maybe [Tag])+createSiteToSiteVpnAttachment_tags = Lens.lens (\CreateSiteToSiteVpnAttachment' {tags} -> tags) (\s@CreateSiteToSiteVpnAttachment' {} a -> s {tags = a} :: CreateSiteToSiteVpnAttachment) Prelude.. Lens.mapping Lens.coerced++-- | The ID of a core network where you\'re creating a site-to-site VPN+-- attachment.+createSiteToSiteVpnAttachment_coreNetworkId :: Lens.Lens' CreateSiteToSiteVpnAttachment Prelude.Text+createSiteToSiteVpnAttachment_coreNetworkId = Lens.lens (\CreateSiteToSiteVpnAttachment' {coreNetworkId} -> coreNetworkId) (\s@CreateSiteToSiteVpnAttachment' {} a -> s {coreNetworkId = a} :: CreateSiteToSiteVpnAttachment)++-- | The ARN identifying the VPN attachment.+createSiteToSiteVpnAttachment_vpnConnectionArn :: Lens.Lens' CreateSiteToSiteVpnAttachment Prelude.Text+createSiteToSiteVpnAttachment_vpnConnectionArn = Lens.lens (\CreateSiteToSiteVpnAttachment' {vpnConnectionArn} -> vpnConnectionArn) (\s@CreateSiteToSiteVpnAttachment' {} a -> s {vpnConnectionArn = a} :: CreateSiteToSiteVpnAttachment)++instance+  Core.AWSRequest+    CreateSiteToSiteVpnAttachment+  where+  type+    AWSResponse CreateSiteToSiteVpnAttachment =+      CreateSiteToSiteVpnAttachmentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateSiteToSiteVpnAttachmentResponse'+            Prelude.<$> (x Data..?> "SiteToSiteVpnAttachment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    CreateSiteToSiteVpnAttachment+  where+  hashWithSalt _salt CreateSiteToSiteVpnAttachment' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` vpnConnectionArn++instance Prelude.NFData CreateSiteToSiteVpnAttachment where+  rnf CreateSiteToSiteVpnAttachment' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf vpnConnectionArn++instance Data.ToHeaders CreateSiteToSiteVpnAttachment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateSiteToSiteVpnAttachment where+  toJSON CreateSiteToSiteVpnAttachment' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("CoreNetworkId" Data..= coreNetworkId),+            Prelude.Just+              ("VpnConnectionArn" Data..= vpnConnectionArn)+          ]+      )++instance Data.ToPath CreateSiteToSiteVpnAttachment where+  toPath =+    Prelude.const "/site-to-site-vpn-attachments"++instance Data.ToQuery CreateSiteToSiteVpnAttachment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSiteToSiteVpnAttachmentResponse' smart constructor.+data CreateSiteToSiteVpnAttachmentResponse = CreateSiteToSiteVpnAttachmentResponse'+  { -- | Details about a site-to-site VPN attachment.+    siteToSiteVpnAttachment :: Prelude.Maybe SiteToSiteVpnAttachment,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSiteToSiteVpnAttachmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'siteToSiteVpnAttachment', 'createSiteToSiteVpnAttachmentResponse_siteToSiteVpnAttachment' - Details about a site-to-site VPN attachment.+--+-- 'httpStatus', 'createSiteToSiteVpnAttachmentResponse_httpStatus' - The response's http status code.+newCreateSiteToSiteVpnAttachmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateSiteToSiteVpnAttachmentResponse+newCreateSiteToSiteVpnAttachmentResponse pHttpStatus_ =+  CreateSiteToSiteVpnAttachmentResponse'+    { siteToSiteVpnAttachment =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Details about a site-to-site VPN attachment.+createSiteToSiteVpnAttachmentResponse_siteToSiteVpnAttachment :: Lens.Lens' CreateSiteToSiteVpnAttachmentResponse (Prelude.Maybe SiteToSiteVpnAttachment)+createSiteToSiteVpnAttachmentResponse_siteToSiteVpnAttachment = Lens.lens (\CreateSiteToSiteVpnAttachmentResponse' {siteToSiteVpnAttachment} -> siteToSiteVpnAttachment) (\s@CreateSiteToSiteVpnAttachmentResponse' {} a -> s {siteToSiteVpnAttachment = a} :: CreateSiteToSiteVpnAttachmentResponse)++-- | The response's http status code.+createSiteToSiteVpnAttachmentResponse_httpStatus :: Lens.Lens' CreateSiteToSiteVpnAttachmentResponse Prelude.Int+createSiteToSiteVpnAttachmentResponse_httpStatus = Lens.lens (\CreateSiteToSiteVpnAttachmentResponse' {httpStatus} -> httpStatus) (\s@CreateSiteToSiteVpnAttachmentResponse' {} a -> s {httpStatus = a} :: CreateSiteToSiteVpnAttachmentResponse)++instance+  Prelude.NFData+    CreateSiteToSiteVpnAttachmentResponse+  where+  rnf CreateSiteToSiteVpnAttachmentResponse' {..} =+    Prelude.rnf siteToSiteVpnAttachment+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/CreateTransitGatewayPeering.hs view
@@ -0,0 +1,220 @@+{-# 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.NetworkManager.CreateTransitGatewayPeering+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a transit gateway peering connection.+module Amazonka.NetworkManager.CreateTransitGatewayPeering+  ( -- * Creating a Request+    CreateTransitGatewayPeering (..),+    newCreateTransitGatewayPeering,++    -- * Request Lenses+    createTransitGatewayPeering_clientToken,+    createTransitGatewayPeering_tags,+    createTransitGatewayPeering_coreNetworkId,+    createTransitGatewayPeering_transitGatewayArn,++    -- * Destructuring the Response+    CreateTransitGatewayPeeringResponse (..),+    newCreateTransitGatewayPeeringResponse,++    -- * Response Lenses+    createTransitGatewayPeeringResponse_transitGatewayPeering,+    createTransitGatewayPeeringResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateTransitGatewayPeering' smart constructor.+data CreateTransitGatewayPeering = CreateTransitGatewayPeering'+  { -- | The client token associated with the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The list of key-value tags associated with the request.+    tags :: Prelude.Maybe [Tag],+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Text,+    -- | The ARN of the transit gateway for the peering request.+    transitGatewayArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTransitGatewayPeering' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createTransitGatewayPeering_clientToken' - The client token associated with the request.+--+-- 'tags', 'createTransitGatewayPeering_tags' - The list of key-value tags associated with the request.+--+-- 'coreNetworkId', 'createTransitGatewayPeering_coreNetworkId' - The ID of a core network.+--+-- 'transitGatewayArn', 'createTransitGatewayPeering_transitGatewayArn' - The ARN of the transit gateway for the peering request.+newCreateTransitGatewayPeering ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  -- | 'transitGatewayArn'+  Prelude.Text ->+  CreateTransitGatewayPeering+newCreateTransitGatewayPeering+  pCoreNetworkId_+  pTransitGatewayArn_ =+    CreateTransitGatewayPeering'+      { clientToken =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        coreNetworkId = pCoreNetworkId_,+        transitGatewayArn = pTransitGatewayArn_+      }++-- | The client token associated with the request.+createTransitGatewayPeering_clientToken :: Lens.Lens' CreateTransitGatewayPeering (Prelude.Maybe Prelude.Text)+createTransitGatewayPeering_clientToken = Lens.lens (\CreateTransitGatewayPeering' {clientToken} -> clientToken) (\s@CreateTransitGatewayPeering' {} a -> s {clientToken = a} :: CreateTransitGatewayPeering)++-- | The list of key-value tags associated with the request.+createTransitGatewayPeering_tags :: Lens.Lens' CreateTransitGatewayPeering (Prelude.Maybe [Tag])+createTransitGatewayPeering_tags = Lens.lens (\CreateTransitGatewayPeering' {tags} -> tags) (\s@CreateTransitGatewayPeering' {} a -> s {tags = a} :: CreateTransitGatewayPeering) Prelude.. Lens.mapping Lens.coerced++-- | The ID of a core network.+createTransitGatewayPeering_coreNetworkId :: Lens.Lens' CreateTransitGatewayPeering Prelude.Text+createTransitGatewayPeering_coreNetworkId = Lens.lens (\CreateTransitGatewayPeering' {coreNetworkId} -> coreNetworkId) (\s@CreateTransitGatewayPeering' {} a -> s {coreNetworkId = a} :: CreateTransitGatewayPeering)++-- | The ARN of the transit gateway for the peering request.+createTransitGatewayPeering_transitGatewayArn :: Lens.Lens' CreateTransitGatewayPeering Prelude.Text+createTransitGatewayPeering_transitGatewayArn = Lens.lens (\CreateTransitGatewayPeering' {transitGatewayArn} -> transitGatewayArn) (\s@CreateTransitGatewayPeering' {} a -> s {transitGatewayArn = a} :: CreateTransitGatewayPeering)++instance Core.AWSRequest CreateTransitGatewayPeering where+  type+    AWSResponse CreateTransitGatewayPeering =+      CreateTransitGatewayPeeringResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateTransitGatewayPeeringResponse'+            Prelude.<$> (x Data..?> "TransitGatewayPeering")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateTransitGatewayPeering where+  hashWithSalt _salt CreateTransitGatewayPeering' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` transitGatewayArn++instance Prelude.NFData CreateTransitGatewayPeering where+  rnf CreateTransitGatewayPeering' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf transitGatewayArn++instance Data.ToHeaders CreateTransitGatewayPeering where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateTransitGatewayPeering where+  toJSON CreateTransitGatewayPeering' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("CoreNetworkId" Data..= coreNetworkId),+            Prelude.Just+              ("TransitGatewayArn" Data..= transitGatewayArn)+          ]+      )++instance Data.ToPath CreateTransitGatewayPeering where+  toPath = Prelude.const "/transit-gateway-peerings"++instance Data.ToQuery CreateTransitGatewayPeering where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateTransitGatewayPeeringResponse' smart constructor.+data CreateTransitGatewayPeeringResponse = CreateTransitGatewayPeeringResponse'+  { -- | Returns information about the transit gateway peering connection+    -- request.+    transitGatewayPeering :: Prelude.Maybe TransitGatewayPeering,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTransitGatewayPeeringResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'transitGatewayPeering', 'createTransitGatewayPeeringResponse_transitGatewayPeering' - Returns information about the transit gateway peering connection+-- request.+--+-- 'httpStatus', 'createTransitGatewayPeeringResponse_httpStatus' - The response's http status code.+newCreateTransitGatewayPeeringResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateTransitGatewayPeeringResponse+newCreateTransitGatewayPeeringResponse pHttpStatus_ =+  CreateTransitGatewayPeeringResponse'+    { transitGatewayPeering =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Returns information about the transit gateway peering connection+-- request.+createTransitGatewayPeeringResponse_transitGatewayPeering :: Lens.Lens' CreateTransitGatewayPeeringResponse (Prelude.Maybe TransitGatewayPeering)+createTransitGatewayPeeringResponse_transitGatewayPeering = Lens.lens (\CreateTransitGatewayPeeringResponse' {transitGatewayPeering} -> transitGatewayPeering) (\s@CreateTransitGatewayPeeringResponse' {} a -> s {transitGatewayPeering = a} :: CreateTransitGatewayPeeringResponse)++-- | The response's http status code.+createTransitGatewayPeeringResponse_httpStatus :: Lens.Lens' CreateTransitGatewayPeeringResponse Prelude.Int+createTransitGatewayPeeringResponse_httpStatus = Lens.lens (\CreateTransitGatewayPeeringResponse' {httpStatus} -> httpStatus) (\s@CreateTransitGatewayPeeringResponse' {} a -> s {httpStatus = a} :: CreateTransitGatewayPeeringResponse)++instance+  Prelude.NFData+    CreateTransitGatewayPeeringResponse+  where+  rnf CreateTransitGatewayPeeringResponse' {..} =+    Prelude.rnf transitGatewayPeering+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/CreateTransitGatewayRouteTableAttachment.hs view
@@ -0,0 +1,251 @@+{-# 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.NetworkManager.CreateTransitGatewayRouteTableAttachment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a transit gateway route table attachment.+module Amazonka.NetworkManager.CreateTransitGatewayRouteTableAttachment+  ( -- * Creating a Request+    CreateTransitGatewayRouteTableAttachment (..),+    newCreateTransitGatewayRouteTableAttachment,++    -- * Request Lenses+    createTransitGatewayRouteTableAttachment_clientToken,+    createTransitGatewayRouteTableAttachment_tags,+    createTransitGatewayRouteTableAttachment_peeringId,+    createTransitGatewayRouteTableAttachment_transitGatewayRouteTableArn,++    -- * Destructuring the Response+    CreateTransitGatewayRouteTableAttachmentResponse (..),+    newCreateTransitGatewayRouteTableAttachmentResponse,++    -- * Response Lenses+    createTransitGatewayRouteTableAttachmentResponse_transitGatewayRouteTableAttachment,+    createTransitGatewayRouteTableAttachmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateTransitGatewayRouteTableAttachment' smart constructor.+data CreateTransitGatewayRouteTableAttachment = CreateTransitGatewayRouteTableAttachment'+  { -- | The client token associated with the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | The list of key-value tags associated with the request.+    tags :: Prelude.Maybe [Tag],+    -- | The ID of the peer for the+    peeringId :: Prelude.Text,+    -- | The ARN of the transit gateway route table for the attachment request.+    transitGatewayRouteTableArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTransitGatewayRouteTableAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createTransitGatewayRouteTableAttachment_clientToken' - The client token associated with the request.+--+-- 'tags', 'createTransitGatewayRouteTableAttachment_tags' - The list of key-value tags associated with the request.+--+-- 'peeringId', 'createTransitGatewayRouteTableAttachment_peeringId' - The ID of the peer for the+--+-- 'transitGatewayRouteTableArn', 'createTransitGatewayRouteTableAttachment_transitGatewayRouteTableArn' - The ARN of the transit gateway route table for the attachment request.+newCreateTransitGatewayRouteTableAttachment ::+  -- | 'peeringId'+  Prelude.Text ->+  -- | 'transitGatewayRouteTableArn'+  Prelude.Text ->+  CreateTransitGatewayRouteTableAttachment+newCreateTransitGatewayRouteTableAttachment+  pPeeringId_+  pTransitGatewayRouteTableArn_ =+    CreateTransitGatewayRouteTableAttachment'+      { clientToken =+          Prelude.Nothing,+        tags = Prelude.Nothing,+        peeringId = pPeeringId_,+        transitGatewayRouteTableArn =+          pTransitGatewayRouteTableArn_+      }++-- | The client token associated with the request.+createTransitGatewayRouteTableAttachment_clientToken :: Lens.Lens' CreateTransitGatewayRouteTableAttachment (Prelude.Maybe Prelude.Text)+createTransitGatewayRouteTableAttachment_clientToken = Lens.lens (\CreateTransitGatewayRouteTableAttachment' {clientToken} -> clientToken) (\s@CreateTransitGatewayRouteTableAttachment' {} a -> s {clientToken = a} :: CreateTransitGatewayRouteTableAttachment)++-- | The list of key-value tags associated with the request.+createTransitGatewayRouteTableAttachment_tags :: Lens.Lens' CreateTransitGatewayRouteTableAttachment (Prelude.Maybe [Tag])+createTransitGatewayRouteTableAttachment_tags = Lens.lens (\CreateTransitGatewayRouteTableAttachment' {tags} -> tags) (\s@CreateTransitGatewayRouteTableAttachment' {} a -> s {tags = a} :: CreateTransitGatewayRouteTableAttachment) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the peer for the+createTransitGatewayRouteTableAttachment_peeringId :: Lens.Lens' CreateTransitGatewayRouteTableAttachment Prelude.Text+createTransitGatewayRouteTableAttachment_peeringId = Lens.lens (\CreateTransitGatewayRouteTableAttachment' {peeringId} -> peeringId) (\s@CreateTransitGatewayRouteTableAttachment' {} a -> s {peeringId = a} :: CreateTransitGatewayRouteTableAttachment)++-- | The ARN of the transit gateway route table for the attachment request.+createTransitGatewayRouteTableAttachment_transitGatewayRouteTableArn :: Lens.Lens' CreateTransitGatewayRouteTableAttachment Prelude.Text+createTransitGatewayRouteTableAttachment_transitGatewayRouteTableArn = Lens.lens (\CreateTransitGatewayRouteTableAttachment' {transitGatewayRouteTableArn} -> transitGatewayRouteTableArn) (\s@CreateTransitGatewayRouteTableAttachment' {} a -> s {transitGatewayRouteTableArn = a} :: CreateTransitGatewayRouteTableAttachment)++instance+  Core.AWSRequest+    CreateTransitGatewayRouteTableAttachment+  where+  type+    AWSResponse+      CreateTransitGatewayRouteTableAttachment =+      CreateTransitGatewayRouteTableAttachmentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateTransitGatewayRouteTableAttachmentResponse'+            Prelude.<$> (x Data..?> "TransitGatewayRouteTableAttachment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    CreateTransitGatewayRouteTableAttachment+  where+  hashWithSalt+    _salt+    CreateTransitGatewayRouteTableAttachment' {..} =+      _salt+        `Prelude.hashWithSalt` clientToken+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` peeringId+        `Prelude.hashWithSalt` transitGatewayRouteTableArn++instance+  Prelude.NFData+    CreateTransitGatewayRouteTableAttachment+  where+  rnf CreateTransitGatewayRouteTableAttachment' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf peeringId+      `Prelude.seq` Prelude.rnf transitGatewayRouteTableArn++instance+  Data.ToHeaders+    CreateTransitGatewayRouteTableAttachment+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    CreateTransitGatewayRouteTableAttachment+  where+  toJSON CreateTransitGatewayRouteTableAttachment' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("PeeringId" Data..= peeringId),+            Prelude.Just+              ( "TransitGatewayRouteTableArn"+                  Data..= transitGatewayRouteTableArn+              )+          ]+      )++instance+  Data.ToPath+    CreateTransitGatewayRouteTableAttachment+  where+  toPath =+    Prelude.const+      "/transit-gateway-route-table-attachments"++instance+  Data.ToQuery+    CreateTransitGatewayRouteTableAttachment+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateTransitGatewayRouteTableAttachmentResponse' smart constructor.+data CreateTransitGatewayRouteTableAttachmentResponse = CreateTransitGatewayRouteTableAttachmentResponse'+  { -- | The route table associated with the create transit gateway route table+    -- attachment request.+    transitGatewayRouteTableAttachment :: Prelude.Maybe TransitGatewayRouteTableAttachment,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateTransitGatewayRouteTableAttachmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'transitGatewayRouteTableAttachment', 'createTransitGatewayRouteTableAttachmentResponse_transitGatewayRouteTableAttachment' - The route table associated with the create transit gateway route table+-- attachment request.+--+-- 'httpStatus', 'createTransitGatewayRouteTableAttachmentResponse_httpStatus' - The response's http status code.+newCreateTransitGatewayRouteTableAttachmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateTransitGatewayRouteTableAttachmentResponse+newCreateTransitGatewayRouteTableAttachmentResponse+  pHttpStatus_ =+    CreateTransitGatewayRouteTableAttachmentResponse'+      { transitGatewayRouteTableAttachment =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The route table associated with the create transit gateway route table+-- attachment request.+createTransitGatewayRouteTableAttachmentResponse_transitGatewayRouteTableAttachment :: Lens.Lens' CreateTransitGatewayRouteTableAttachmentResponse (Prelude.Maybe TransitGatewayRouteTableAttachment)+createTransitGatewayRouteTableAttachmentResponse_transitGatewayRouteTableAttachment = Lens.lens (\CreateTransitGatewayRouteTableAttachmentResponse' {transitGatewayRouteTableAttachment} -> transitGatewayRouteTableAttachment) (\s@CreateTransitGatewayRouteTableAttachmentResponse' {} a -> s {transitGatewayRouteTableAttachment = a} :: CreateTransitGatewayRouteTableAttachmentResponse)++-- | The response's http status code.+createTransitGatewayRouteTableAttachmentResponse_httpStatus :: Lens.Lens' CreateTransitGatewayRouteTableAttachmentResponse Prelude.Int+createTransitGatewayRouteTableAttachmentResponse_httpStatus = Lens.lens (\CreateTransitGatewayRouteTableAttachmentResponse' {httpStatus} -> httpStatus) (\s@CreateTransitGatewayRouteTableAttachmentResponse' {} a -> s {httpStatus = a} :: CreateTransitGatewayRouteTableAttachmentResponse)++instance+  Prelude.NFData+    CreateTransitGatewayRouteTableAttachmentResponse+  where+  rnf+    CreateTransitGatewayRouteTableAttachmentResponse' {..} =+      Prelude.rnf transitGatewayRouteTableAttachment+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/CreateVpcAttachment.hs view
@@ -0,0 +1,236 @@+{-# 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.NetworkManager.CreateVpcAttachment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a VPC attachment on an edge location of a core network.+module Amazonka.NetworkManager.CreateVpcAttachment+  ( -- * Creating a Request+    CreateVpcAttachment (..),+    newCreateVpcAttachment,++    -- * Request Lenses+    createVpcAttachment_clientToken,+    createVpcAttachment_options,+    createVpcAttachment_tags,+    createVpcAttachment_coreNetworkId,+    createVpcAttachment_vpcArn,+    createVpcAttachment_subnetArns,++    -- * Destructuring the Response+    CreateVpcAttachmentResponse (..),+    newCreateVpcAttachmentResponse,++    -- * Response Lenses+    createVpcAttachmentResponse_vpcAttachment,+    createVpcAttachmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateVpcAttachment' smart constructor.+data CreateVpcAttachment = CreateVpcAttachment'+  { -- | The client token associated with the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | Options for the VPC attachment.+    options :: Prelude.Maybe VpcOptions,+    -- | The key-value tags associated with the request.+    tags :: Prelude.Maybe [Tag],+    -- | The ID of a core network for the VPC attachment.+    coreNetworkId :: Prelude.Text,+    -- | The ARN of the VPC.+    vpcArn :: Prelude.Text,+    -- | The subnet ARN of the VPC attachment.+    subnetArns :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVpcAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createVpcAttachment_clientToken' - The client token associated with the request.+--+-- 'options', 'createVpcAttachment_options' - Options for the VPC attachment.+--+-- 'tags', 'createVpcAttachment_tags' - The key-value tags associated with the request.+--+-- 'coreNetworkId', 'createVpcAttachment_coreNetworkId' - The ID of a core network for the VPC attachment.+--+-- 'vpcArn', 'createVpcAttachment_vpcArn' - The ARN of the VPC.+--+-- 'subnetArns', 'createVpcAttachment_subnetArns' - The subnet ARN of the VPC attachment.+newCreateVpcAttachment ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  -- | 'vpcArn'+  Prelude.Text ->+  CreateVpcAttachment+newCreateVpcAttachment pCoreNetworkId_ pVpcArn_ =+  CreateVpcAttachment'+    { clientToken = Prelude.Nothing,+      options = Prelude.Nothing,+      tags = Prelude.Nothing,+      coreNetworkId = pCoreNetworkId_,+      vpcArn = pVpcArn_,+      subnetArns = Prelude.mempty+    }++-- | The client token associated with the request.+createVpcAttachment_clientToken :: Lens.Lens' CreateVpcAttachment (Prelude.Maybe Prelude.Text)+createVpcAttachment_clientToken = Lens.lens (\CreateVpcAttachment' {clientToken} -> clientToken) (\s@CreateVpcAttachment' {} a -> s {clientToken = a} :: CreateVpcAttachment)++-- | Options for the VPC attachment.+createVpcAttachment_options :: Lens.Lens' CreateVpcAttachment (Prelude.Maybe VpcOptions)+createVpcAttachment_options = Lens.lens (\CreateVpcAttachment' {options} -> options) (\s@CreateVpcAttachment' {} a -> s {options = a} :: CreateVpcAttachment)++-- | The key-value tags associated with the request.+createVpcAttachment_tags :: Lens.Lens' CreateVpcAttachment (Prelude.Maybe [Tag])+createVpcAttachment_tags = Lens.lens (\CreateVpcAttachment' {tags} -> tags) (\s@CreateVpcAttachment' {} a -> s {tags = a} :: CreateVpcAttachment) Prelude.. Lens.mapping Lens.coerced++-- | The ID of a core network for the VPC attachment.+createVpcAttachment_coreNetworkId :: Lens.Lens' CreateVpcAttachment Prelude.Text+createVpcAttachment_coreNetworkId = Lens.lens (\CreateVpcAttachment' {coreNetworkId} -> coreNetworkId) (\s@CreateVpcAttachment' {} a -> s {coreNetworkId = a} :: CreateVpcAttachment)++-- | The ARN of the VPC.+createVpcAttachment_vpcArn :: Lens.Lens' CreateVpcAttachment Prelude.Text+createVpcAttachment_vpcArn = Lens.lens (\CreateVpcAttachment' {vpcArn} -> vpcArn) (\s@CreateVpcAttachment' {} a -> s {vpcArn = a} :: CreateVpcAttachment)++-- | The subnet ARN of the VPC attachment.+createVpcAttachment_subnetArns :: Lens.Lens' CreateVpcAttachment [Prelude.Text]+createVpcAttachment_subnetArns = Lens.lens (\CreateVpcAttachment' {subnetArns} -> subnetArns) (\s@CreateVpcAttachment' {} a -> s {subnetArns = a} :: CreateVpcAttachment) Prelude.. Lens.coerced++instance Core.AWSRequest CreateVpcAttachment where+  type+    AWSResponse CreateVpcAttachment =+      CreateVpcAttachmentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateVpcAttachmentResponse'+            Prelude.<$> (x Data..?> "VpcAttachment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateVpcAttachment where+  hashWithSalt _salt CreateVpcAttachment' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` options+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` vpcArn+      `Prelude.hashWithSalt` subnetArns++instance Prelude.NFData CreateVpcAttachment where+  rnf CreateVpcAttachment' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf options+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf vpcArn+      `Prelude.seq` Prelude.rnf subnetArns++instance Data.ToHeaders CreateVpcAttachment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON CreateVpcAttachment where+  toJSON CreateVpcAttachment' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Options" Data..=) Prelude.<$> options,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("CoreNetworkId" Data..= coreNetworkId),+            Prelude.Just ("VpcArn" Data..= vpcArn),+            Prelude.Just ("SubnetArns" Data..= subnetArns)+          ]+      )++instance Data.ToPath CreateVpcAttachment where+  toPath = Prelude.const "/vpc-attachments"++instance Data.ToQuery CreateVpcAttachment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateVpcAttachmentResponse' smart constructor.+data CreateVpcAttachmentResponse = CreateVpcAttachmentResponse'+  { -- | Provides details about the VPC attachment.+    vpcAttachment :: Prelude.Maybe VpcAttachment,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVpcAttachmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vpcAttachment', 'createVpcAttachmentResponse_vpcAttachment' - Provides details about the VPC attachment.+--+-- 'httpStatus', 'createVpcAttachmentResponse_httpStatus' - The response's http status code.+newCreateVpcAttachmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateVpcAttachmentResponse+newCreateVpcAttachmentResponse pHttpStatus_ =+  CreateVpcAttachmentResponse'+    { vpcAttachment =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Provides details about the VPC attachment.+createVpcAttachmentResponse_vpcAttachment :: Lens.Lens' CreateVpcAttachmentResponse (Prelude.Maybe VpcAttachment)+createVpcAttachmentResponse_vpcAttachment = Lens.lens (\CreateVpcAttachmentResponse' {vpcAttachment} -> vpcAttachment) (\s@CreateVpcAttachmentResponse' {} a -> s {vpcAttachment = a} :: CreateVpcAttachmentResponse)++-- | The response's http status code.+createVpcAttachmentResponse_httpStatus :: Lens.Lens' CreateVpcAttachmentResponse Prelude.Int+createVpcAttachmentResponse_httpStatus = Lens.lens (\CreateVpcAttachmentResponse' {httpStatus} -> httpStatus) (\s@CreateVpcAttachmentResponse' {} a -> s {httpStatus = a} :: CreateVpcAttachmentResponse)++instance Prelude.NFData CreateVpcAttachmentResponse where+  rnf CreateVpcAttachmentResponse' {..} =+    Prelude.rnf vpcAttachment+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DeleteAttachment.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.DeleteAttachment+-- 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 attachment. Supports all attachment types.+module Amazonka.NetworkManager.DeleteAttachment+  ( -- * Creating a Request+    DeleteAttachment (..),+    newDeleteAttachment,++    -- * Request Lenses+    deleteAttachment_attachmentId,++    -- * Destructuring the Response+    DeleteAttachmentResponse (..),+    newDeleteAttachmentResponse,++    -- * Response Lenses+    deleteAttachmentResponse_attachment,+    deleteAttachmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteAttachment' smart constructor.+data DeleteAttachment = DeleteAttachment'+  { -- | The ID of the attachment to delete.+    attachmentId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachmentId', 'deleteAttachment_attachmentId' - The ID of the attachment to delete.+newDeleteAttachment ::+  -- | 'attachmentId'+  Prelude.Text ->+  DeleteAttachment+newDeleteAttachment pAttachmentId_ =+  DeleteAttachment' {attachmentId = pAttachmentId_}++-- | The ID of the attachment to delete.+deleteAttachment_attachmentId :: Lens.Lens' DeleteAttachment Prelude.Text+deleteAttachment_attachmentId = Lens.lens (\DeleteAttachment' {attachmentId} -> attachmentId) (\s@DeleteAttachment' {} a -> s {attachmentId = a} :: DeleteAttachment)++instance Core.AWSRequest DeleteAttachment where+  type+    AWSResponse DeleteAttachment =+      DeleteAttachmentResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteAttachmentResponse'+            Prelude.<$> (x Data..?> "Attachment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteAttachment where+  hashWithSalt _salt DeleteAttachment' {..} =+    _salt `Prelude.hashWithSalt` attachmentId++instance Prelude.NFData DeleteAttachment where+  rnf DeleteAttachment' {..} = Prelude.rnf attachmentId++instance Data.ToHeaders DeleteAttachment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteAttachment where+  toPath DeleteAttachment' {..} =+    Prelude.mconcat+      ["/attachments/", Data.toBS attachmentId]++instance Data.ToQuery DeleteAttachment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteAttachmentResponse' smart constructor.+data DeleteAttachmentResponse = DeleteAttachmentResponse'+  { -- | Information about the deleted attachment.+    attachment :: Prelude.Maybe Attachment,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAttachmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachment', 'deleteAttachmentResponse_attachment' - Information about the deleted attachment.+--+-- 'httpStatus', 'deleteAttachmentResponse_httpStatus' - The response's http status code.+newDeleteAttachmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteAttachmentResponse+newDeleteAttachmentResponse pHttpStatus_ =+  DeleteAttachmentResponse'+    { attachment =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the deleted attachment.+deleteAttachmentResponse_attachment :: Lens.Lens' DeleteAttachmentResponse (Prelude.Maybe Attachment)+deleteAttachmentResponse_attachment = Lens.lens (\DeleteAttachmentResponse' {attachment} -> attachment) (\s@DeleteAttachmentResponse' {} a -> s {attachment = a} :: DeleteAttachmentResponse)++-- | The response's http status code.+deleteAttachmentResponse_httpStatus :: Lens.Lens' DeleteAttachmentResponse Prelude.Int+deleteAttachmentResponse_httpStatus = Lens.lens (\DeleteAttachmentResponse' {httpStatus} -> httpStatus) (\s@DeleteAttachmentResponse' {} a -> s {httpStatus = a} :: DeleteAttachmentResponse)++instance Prelude.NFData DeleteAttachmentResponse where+  rnf DeleteAttachmentResponse' {..} =+    Prelude.rnf attachment+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DeleteConnectPeer.hs view
@@ -0,0 +1,160 @@+{-# 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.NetworkManager.DeleteConnectPeer+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a Connect peer.+module Amazonka.NetworkManager.DeleteConnectPeer+  ( -- * Creating a Request+    DeleteConnectPeer (..),+    newDeleteConnectPeer,++    -- * Request Lenses+    deleteConnectPeer_connectPeerId,++    -- * Destructuring the Response+    DeleteConnectPeerResponse (..),+    newDeleteConnectPeerResponse,++    -- * Response Lenses+    deleteConnectPeerResponse_connectPeer,+    deleteConnectPeerResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteConnectPeer' smart constructor.+data DeleteConnectPeer = DeleteConnectPeer'+  { -- | The ID of the deleted Connect peer.+    connectPeerId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConnectPeer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectPeerId', 'deleteConnectPeer_connectPeerId' - The ID of the deleted Connect peer.+newDeleteConnectPeer ::+  -- | 'connectPeerId'+  Prelude.Text ->+  DeleteConnectPeer+newDeleteConnectPeer pConnectPeerId_ =+  DeleteConnectPeer' {connectPeerId = pConnectPeerId_}++-- | The ID of the deleted Connect peer.+deleteConnectPeer_connectPeerId :: Lens.Lens' DeleteConnectPeer Prelude.Text+deleteConnectPeer_connectPeerId = Lens.lens (\DeleteConnectPeer' {connectPeerId} -> connectPeerId) (\s@DeleteConnectPeer' {} a -> s {connectPeerId = a} :: DeleteConnectPeer)++instance Core.AWSRequest DeleteConnectPeer where+  type+    AWSResponse DeleteConnectPeer =+      DeleteConnectPeerResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteConnectPeerResponse'+            Prelude.<$> (x Data..?> "ConnectPeer")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteConnectPeer where+  hashWithSalt _salt DeleteConnectPeer' {..} =+    _salt `Prelude.hashWithSalt` connectPeerId++instance Prelude.NFData DeleteConnectPeer where+  rnf DeleteConnectPeer' {..} =+    Prelude.rnf connectPeerId++instance Data.ToHeaders DeleteConnectPeer where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteConnectPeer where+  toPath DeleteConnectPeer' {..} =+    Prelude.mconcat+      ["/connect-peers/", Data.toBS connectPeerId]++instance Data.ToQuery DeleteConnectPeer where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteConnectPeerResponse' smart constructor.+data DeleteConnectPeerResponse = DeleteConnectPeerResponse'+  { -- | Information about the deleted Connect peer.+    connectPeer :: Prelude.Maybe ConnectPeer,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConnectPeerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectPeer', 'deleteConnectPeerResponse_connectPeer' - Information about the deleted Connect peer.+--+-- 'httpStatus', 'deleteConnectPeerResponse_httpStatus' - The response's http status code.+newDeleteConnectPeerResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteConnectPeerResponse+newDeleteConnectPeerResponse pHttpStatus_ =+  DeleteConnectPeerResponse'+    { connectPeer =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the deleted Connect peer.+deleteConnectPeerResponse_connectPeer :: Lens.Lens' DeleteConnectPeerResponse (Prelude.Maybe ConnectPeer)+deleteConnectPeerResponse_connectPeer = Lens.lens (\DeleteConnectPeerResponse' {connectPeer} -> connectPeer) (\s@DeleteConnectPeerResponse' {} a -> s {connectPeer = a} :: DeleteConnectPeerResponse)++-- | The response's http status code.+deleteConnectPeerResponse_httpStatus :: Lens.Lens' DeleteConnectPeerResponse Prelude.Int+deleteConnectPeerResponse_httpStatus = Lens.lens (\DeleteConnectPeerResponse' {httpStatus} -> httpStatus) (\s@DeleteConnectPeerResponse' {} a -> s {httpStatus = a} :: DeleteConnectPeerResponse)++instance Prelude.NFData DeleteConnectPeerResponse where+  rnf DeleteConnectPeerResponse' {..} =+    Prelude.rnf connectPeer+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DeleteConnection.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.DeleteConnection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the specified connection in your global network.+module Amazonka.NetworkManager.DeleteConnection+  ( -- * Creating a Request+    DeleteConnection (..),+    newDeleteConnection,++    -- * Request Lenses+    deleteConnection_globalNetworkId,+    deleteConnection_connectionId,++    -- * Destructuring the Response+    DeleteConnectionResponse (..),+    newDeleteConnectionResponse,++    -- * Response Lenses+    deleteConnectionResponse_connection,+    deleteConnectionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteConnection' smart constructor.+data DeleteConnection = DeleteConnection'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the connection.+    connectionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'deleteConnection_globalNetworkId' - The ID of the global network.+--+-- 'connectionId', 'deleteConnection_connectionId' - The ID of the connection.+newDeleteConnection ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'connectionId'+  Prelude.Text ->+  DeleteConnection+newDeleteConnection pGlobalNetworkId_ pConnectionId_ =+  DeleteConnection'+    { globalNetworkId =+        pGlobalNetworkId_,+      connectionId = pConnectionId_+    }++-- | The ID of the global network.+deleteConnection_globalNetworkId :: Lens.Lens' DeleteConnection Prelude.Text+deleteConnection_globalNetworkId = Lens.lens (\DeleteConnection' {globalNetworkId} -> globalNetworkId) (\s@DeleteConnection' {} a -> s {globalNetworkId = a} :: DeleteConnection)++-- | The ID of the connection.+deleteConnection_connectionId :: Lens.Lens' DeleteConnection Prelude.Text+deleteConnection_connectionId = Lens.lens (\DeleteConnection' {connectionId} -> connectionId) (\s@DeleteConnection' {} a -> s {connectionId = a} :: DeleteConnection)++instance Core.AWSRequest DeleteConnection where+  type+    AWSResponse DeleteConnection =+      DeleteConnectionResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteConnectionResponse'+            Prelude.<$> (x Data..?> "Connection")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteConnection where+  hashWithSalt _salt DeleteConnection' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` connectionId++instance Prelude.NFData DeleteConnection where+  rnf DeleteConnection' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf connectionId++instance Data.ToHeaders DeleteConnection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteConnection where+  toPath DeleteConnection' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/connections/",+        Data.toBS connectionId+      ]++instance Data.ToQuery DeleteConnection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteConnectionResponse' smart constructor.+data DeleteConnectionResponse = DeleteConnectionResponse'+  { -- | Information about the connection.+    connection :: Prelude.Maybe Connection,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteConnectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connection', 'deleteConnectionResponse_connection' - Information about the connection.+--+-- 'httpStatus', 'deleteConnectionResponse_httpStatus' - The response's http status code.+newDeleteConnectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteConnectionResponse+newDeleteConnectionResponse pHttpStatus_ =+  DeleteConnectionResponse'+    { connection =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the connection.+deleteConnectionResponse_connection :: Lens.Lens' DeleteConnectionResponse (Prelude.Maybe Connection)+deleteConnectionResponse_connection = Lens.lens (\DeleteConnectionResponse' {connection} -> connection) (\s@DeleteConnectionResponse' {} a -> s {connection = a} :: DeleteConnectionResponse)++-- | The response's http status code.+deleteConnectionResponse_httpStatus :: Lens.Lens' DeleteConnectionResponse Prelude.Int+deleteConnectionResponse_httpStatus = Lens.lens (\DeleteConnectionResponse' {httpStatus} -> httpStatus) (\s@DeleteConnectionResponse' {} a -> s {httpStatus = a} :: DeleteConnectionResponse)++instance Prelude.NFData DeleteConnectionResponse where+  rnf DeleteConnectionResponse' {..} =+    Prelude.rnf connection+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DeleteCoreNetwork.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.NetworkManager.DeleteCoreNetwork+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a core network along with all core network policies. This can+-- only be done if there are no attachments on a core network.+module Amazonka.NetworkManager.DeleteCoreNetwork+  ( -- * Creating a Request+    DeleteCoreNetwork (..),+    newDeleteCoreNetwork,++    -- * Request Lenses+    deleteCoreNetwork_coreNetworkId,++    -- * Destructuring the Response+    DeleteCoreNetworkResponse (..),+    newDeleteCoreNetworkResponse,++    -- * Response Lenses+    deleteCoreNetworkResponse_coreNetwork,+    deleteCoreNetworkResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteCoreNetwork' smart constructor.+data DeleteCoreNetwork = DeleteCoreNetwork'+  { -- | The network ID of the deleted core network.+    coreNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCoreNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkId', 'deleteCoreNetwork_coreNetworkId' - The network ID of the deleted core network.+newDeleteCoreNetwork ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  DeleteCoreNetwork+newDeleteCoreNetwork pCoreNetworkId_ =+  DeleteCoreNetwork' {coreNetworkId = pCoreNetworkId_}++-- | The network ID of the deleted core network.+deleteCoreNetwork_coreNetworkId :: Lens.Lens' DeleteCoreNetwork Prelude.Text+deleteCoreNetwork_coreNetworkId = Lens.lens (\DeleteCoreNetwork' {coreNetworkId} -> coreNetworkId) (\s@DeleteCoreNetwork' {} a -> s {coreNetworkId = a} :: DeleteCoreNetwork)++instance Core.AWSRequest DeleteCoreNetwork where+  type+    AWSResponse DeleteCoreNetwork =+      DeleteCoreNetworkResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteCoreNetworkResponse'+            Prelude.<$> (x Data..?> "CoreNetwork")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteCoreNetwork where+  hashWithSalt _salt DeleteCoreNetwork' {..} =+    _salt `Prelude.hashWithSalt` coreNetworkId++instance Prelude.NFData DeleteCoreNetwork where+  rnf DeleteCoreNetwork' {..} =+    Prelude.rnf coreNetworkId++instance Data.ToHeaders DeleteCoreNetwork where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteCoreNetwork where+  toPath DeleteCoreNetwork' {..} =+    Prelude.mconcat+      ["/core-networks/", Data.toBS coreNetworkId]++instance Data.ToQuery DeleteCoreNetwork where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteCoreNetworkResponse' smart constructor.+data DeleteCoreNetworkResponse = DeleteCoreNetworkResponse'+  { -- | Information about the deleted core network.+    coreNetwork :: Prelude.Maybe CoreNetwork,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCoreNetworkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetwork', 'deleteCoreNetworkResponse_coreNetwork' - Information about the deleted core network.+--+-- 'httpStatus', 'deleteCoreNetworkResponse_httpStatus' - The response's http status code.+newDeleteCoreNetworkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteCoreNetworkResponse+newDeleteCoreNetworkResponse pHttpStatus_ =+  DeleteCoreNetworkResponse'+    { coreNetwork =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the deleted core network.+deleteCoreNetworkResponse_coreNetwork :: Lens.Lens' DeleteCoreNetworkResponse (Prelude.Maybe CoreNetwork)+deleteCoreNetworkResponse_coreNetwork = Lens.lens (\DeleteCoreNetworkResponse' {coreNetwork} -> coreNetwork) (\s@DeleteCoreNetworkResponse' {} a -> s {coreNetwork = a} :: DeleteCoreNetworkResponse)++-- | The response's http status code.+deleteCoreNetworkResponse_httpStatus :: Lens.Lens' DeleteCoreNetworkResponse Prelude.Int+deleteCoreNetworkResponse_httpStatus = Lens.lens (\DeleteCoreNetworkResponse' {httpStatus} -> httpStatus) (\s@DeleteCoreNetworkResponse' {} a -> s {httpStatus = a} :: DeleteCoreNetworkResponse)++instance Prelude.NFData DeleteCoreNetworkResponse where+  rnf DeleteCoreNetworkResponse' {..} =+    Prelude.rnf coreNetwork+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DeleteCoreNetworkPolicyVersion.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.DeleteCoreNetworkPolicyVersion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a policy version from a core network. You can\'t delete the+-- current LIVE policy.+module Amazonka.NetworkManager.DeleteCoreNetworkPolicyVersion+  ( -- * Creating a Request+    DeleteCoreNetworkPolicyVersion (..),+    newDeleteCoreNetworkPolicyVersion,++    -- * Request Lenses+    deleteCoreNetworkPolicyVersion_coreNetworkId,+    deleteCoreNetworkPolicyVersion_policyVersionId,++    -- * Destructuring the Response+    DeleteCoreNetworkPolicyVersionResponse (..),+    newDeleteCoreNetworkPolicyVersionResponse,++    -- * Response Lenses+    deleteCoreNetworkPolicyVersionResponse_coreNetworkPolicy,+    deleteCoreNetworkPolicyVersionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteCoreNetworkPolicyVersion' smart constructor.+data DeleteCoreNetworkPolicyVersion = DeleteCoreNetworkPolicyVersion'+  { -- | The ID of a core network for the deleted policy.+    coreNetworkId :: Prelude.Text,+    -- | The version ID of the deleted policy.+    policyVersionId :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCoreNetworkPolicyVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkId', 'deleteCoreNetworkPolicyVersion_coreNetworkId' - The ID of a core network for the deleted policy.+--+-- 'policyVersionId', 'deleteCoreNetworkPolicyVersion_policyVersionId' - The version ID of the deleted policy.+newDeleteCoreNetworkPolicyVersion ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  -- | 'policyVersionId'+  Prelude.Int ->+  DeleteCoreNetworkPolicyVersion+newDeleteCoreNetworkPolicyVersion+  pCoreNetworkId_+  pPolicyVersionId_ =+    DeleteCoreNetworkPolicyVersion'+      { coreNetworkId =+          pCoreNetworkId_,+        policyVersionId = pPolicyVersionId_+      }++-- | The ID of a core network for the deleted policy.+deleteCoreNetworkPolicyVersion_coreNetworkId :: Lens.Lens' DeleteCoreNetworkPolicyVersion Prelude.Text+deleteCoreNetworkPolicyVersion_coreNetworkId = Lens.lens (\DeleteCoreNetworkPolicyVersion' {coreNetworkId} -> coreNetworkId) (\s@DeleteCoreNetworkPolicyVersion' {} a -> s {coreNetworkId = a} :: DeleteCoreNetworkPolicyVersion)++-- | The version ID of the deleted policy.+deleteCoreNetworkPolicyVersion_policyVersionId :: Lens.Lens' DeleteCoreNetworkPolicyVersion Prelude.Int+deleteCoreNetworkPolicyVersion_policyVersionId = Lens.lens (\DeleteCoreNetworkPolicyVersion' {policyVersionId} -> policyVersionId) (\s@DeleteCoreNetworkPolicyVersion' {} a -> s {policyVersionId = a} :: DeleteCoreNetworkPolicyVersion)++instance+  Core.AWSRequest+    DeleteCoreNetworkPolicyVersion+  where+  type+    AWSResponse DeleteCoreNetworkPolicyVersion =+      DeleteCoreNetworkPolicyVersionResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteCoreNetworkPolicyVersionResponse'+            Prelude.<$> (x Data..?> "CoreNetworkPolicy")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DeleteCoreNetworkPolicyVersion+  where+  hashWithSalt+    _salt+    DeleteCoreNetworkPolicyVersion' {..} =+      _salt+        `Prelude.hashWithSalt` coreNetworkId+        `Prelude.hashWithSalt` policyVersionId++instance+  Prelude.NFData+    DeleteCoreNetworkPolicyVersion+  where+  rnf DeleteCoreNetworkPolicyVersion' {..} =+    Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf policyVersionId++instance+  Data.ToHeaders+    DeleteCoreNetworkPolicyVersion+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteCoreNetworkPolicyVersion where+  toPath DeleteCoreNetworkPolicyVersion' {..} =+    Prelude.mconcat+      [ "/core-networks/",+        Data.toBS coreNetworkId,+        "/core-network-policy-versions/",+        Data.toBS policyVersionId+      ]++instance Data.ToQuery DeleteCoreNetworkPolicyVersion where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteCoreNetworkPolicyVersionResponse' smart constructor.+data DeleteCoreNetworkPolicyVersionResponse = DeleteCoreNetworkPolicyVersionResponse'+  { -- | Returns information about the deleted policy version.+    coreNetworkPolicy :: Prelude.Maybe CoreNetworkPolicy,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteCoreNetworkPolicyVersionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkPolicy', 'deleteCoreNetworkPolicyVersionResponse_coreNetworkPolicy' - Returns information about the deleted policy version.+--+-- 'httpStatus', 'deleteCoreNetworkPolicyVersionResponse_httpStatus' - The response's http status code.+newDeleteCoreNetworkPolicyVersionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteCoreNetworkPolicyVersionResponse+newDeleteCoreNetworkPolicyVersionResponse+  pHttpStatus_ =+    DeleteCoreNetworkPolicyVersionResponse'+      { coreNetworkPolicy =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Returns information about the deleted policy version.+deleteCoreNetworkPolicyVersionResponse_coreNetworkPolicy :: Lens.Lens' DeleteCoreNetworkPolicyVersionResponse (Prelude.Maybe CoreNetworkPolicy)+deleteCoreNetworkPolicyVersionResponse_coreNetworkPolicy = Lens.lens (\DeleteCoreNetworkPolicyVersionResponse' {coreNetworkPolicy} -> coreNetworkPolicy) (\s@DeleteCoreNetworkPolicyVersionResponse' {} a -> s {coreNetworkPolicy = a} :: DeleteCoreNetworkPolicyVersionResponse)++-- | The response's http status code.+deleteCoreNetworkPolicyVersionResponse_httpStatus :: Lens.Lens' DeleteCoreNetworkPolicyVersionResponse Prelude.Int+deleteCoreNetworkPolicyVersionResponse_httpStatus = Lens.lens (\DeleteCoreNetworkPolicyVersionResponse' {httpStatus} -> httpStatus) (\s@DeleteCoreNetworkPolicyVersionResponse' {} a -> s {httpStatus = a} :: DeleteCoreNetworkPolicyVersionResponse)++instance+  Prelude.NFData+    DeleteCoreNetworkPolicyVersionResponse+  where+  rnf DeleteCoreNetworkPolicyVersionResponse' {..} =+    Prelude.rnf coreNetworkPolicy+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DeleteDevice.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.DeleteDevice+-- 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 existing device. You must first disassociate the device from+-- any links and customer gateways.+module Amazonka.NetworkManager.DeleteDevice+  ( -- * Creating a Request+    DeleteDevice (..),+    newDeleteDevice,++    -- * Request Lenses+    deleteDevice_globalNetworkId,+    deleteDevice_deviceId,++    -- * Destructuring the Response+    DeleteDeviceResponse (..),+    newDeleteDeviceResponse,++    -- * Response Lenses+    deleteDeviceResponse_device,+    deleteDeviceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteDevice' smart constructor.+data DeleteDevice = DeleteDevice'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the device.+    deviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'deleteDevice_globalNetworkId' - The ID of the global network.+--+-- 'deviceId', 'deleteDevice_deviceId' - The ID of the device.+newDeleteDevice ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'deviceId'+  Prelude.Text ->+  DeleteDevice+newDeleteDevice pGlobalNetworkId_ pDeviceId_ =+  DeleteDevice'+    { globalNetworkId = pGlobalNetworkId_,+      deviceId = pDeviceId_+    }++-- | The ID of the global network.+deleteDevice_globalNetworkId :: Lens.Lens' DeleteDevice Prelude.Text+deleteDevice_globalNetworkId = Lens.lens (\DeleteDevice' {globalNetworkId} -> globalNetworkId) (\s@DeleteDevice' {} a -> s {globalNetworkId = a} :: DeleteDevice)++-- | The ID of the device.+deleteDevice_deviceId :: Lens.Lens' DeleteDevice Prelude.Text+deleteDevice_deviceId = Lens.lens (\DeleteDevice' {deviceId} -> deviceId) (\s@DeleteDevice' {} a -> s {deviceId = a} :: DeleteDevice)++instance Core.AWSRequest DeleteDevice where+  type AWSResponse DeleteDevice = DeleteDeviceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteDeviceResponse'+            Prelude.<$> (x Data..?> "Device")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteDevice where+  hashWithSalt _salt DeleteDevice' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` deviceId++instance Prelude.NFData DeleteDevice where+  rnf DeleteDevice' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf deviceId++instance Data.ToHeaders DeleteDevice where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteDevice where+  toPath DeleteDevice' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/devices/",+        Data.toBS deviceId+      ]++instance Data.ToQuery DeleteDevice where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteDeviceResponse' smart constructor.+data DeleteDeviceResponse = DeleteDeviceResponse'+  { -- | Information about the device.+    device :: Prelude.Maybe Device,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteDeviceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'device', 'deleteDeviceResponse_device' - Information about the device.+--+-- 'httpStatus', 'deleteDeviceResponse_httpStatus' - The response's http status code.+newDeleteDeviceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteDeviceResponse+newDeleteDeviceResponse pHttpStatus_ =+  DeleteDeviceResponse'+    { device = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the device.+deleteDeviceResponse_device :: Lens.Lens' DeleteDeviceResponse (Prelude.Maybe Device)+deleteDeviceResponse_device = Lens.lens (\DeleteDeviceResponse' {device} -> device) (\s@DeleteDeviceResponse' {} a -> s {device = a} :: DeleteDeviceResponse)++-- | The response's http status code.+deleteDeviceResponse_httpStatus :: Lens.Lens' DeleteDeviceResponse Prelude.Int+deleteDeviceResponse_httpStatus = Lens.lens (\DeleteDeviceResponse' {httpStatus} -> httpStatus) (\s@DeleteDeviceResponse' {} a -> s {httpStatus = a} :: DeleteDeviceResponse)++instance Prelude.NFData DeleteDeviceResponse where+  rnf DeleteDeviceResponse' {..} =+    Prelude.rnf device+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DeleteGlobalNetwork.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.DeleteGlobalNetwork+-- 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 existing global network. You must first delete all global+-- network objects (devices, links, and sites), deregister all transit+-- gateways, and delete any core networks.+module Amazonka.NetworkManager.DeleteGlobalNetwork+  ( -- * Creating a Request+    DeleteGlobalNetwork (..),+    newDeleteGlobalNetwork,++    -- * Request Lenses+    deleteGlobalNetwork_globalNetworkId,++    -- * Destructuring the Response+    DeleteGlobalNetworkResponse (..),+    newDeleteGlobalNetworkResponse,++    -- * Response Lenses+    deleteGlobalNetworkResponse_globalNetwork,+    deleteGlobalNetworkResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteGlobalNetwork' smart constructor.+data DeleteGlobalNetwork = DeleteGlobalNetwork'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGlobalNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'deleteGlobalNetwork_globalNetworkId' - The ID of the global network.+newDeleteGlobalNetwork ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  DeleteGlobalNetwork+newDeleteGlobalNetwork pGlobalNetworkId_ =+  DeleteGlobalNetwork'+    { globalNetworkId =+        pGlobalNetworkId_+    }++-- | The ID of the global network.+deleteGlobalNetwork_globalNetworkId :: Lens.Lens' DeleteGlobalNetwork Prelude.Text+deleteGlobalNetwork_globalNetworkId = Lens.lens (\DeleteGlobalNetwork' {globalNetworkId} -> globalNetworkId) (\s@DeleteGlobalNetwork' {} a -> s {globalNetworkId = a} :: DeleteGlobalNetwork)++instance Core.AWSRequest DeleteGlobalNetwork where+  type+    AWSResponse DeleteGlobalNetwork =+      DeleteGlobalNetworkResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteGlobalNetworkResponse'+            Prelude.<$> (x Data..?> "GlobalNetwork")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteGlobalNetwork where+  hashWithSalt _salt DeleteGlobalNetwork' {..} =+    _salt `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData DeleteGlobalNetwork where+  rnf DeleteGlobalNetwork' {..} =+    Prelude.rnf globalNetworkId++instance Data.ToHeaders DeleteGlobalNetwork where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteGlobalNetwork where+  toPath DeleteGlobalNetwork' {..} =+    Prelude.mconcat+      ["/global-networks/", Data.toBS globalNetworkId]++instance Data.ToQuery DeleteGlobalNetwork where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteGlobalNetworkResponse' smart constructor.+data DeleteGlobalNetworkResponse = DeleteGlobalNetworkResponse'+  { -- | Information about the global network.+    globalNetwork :: Prelude.Maybe GlobalNetwork,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteGlobalNetworkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetwork', 'deleteGlobalNetworkResponse_globalNetwork' - Information about the global network.+--+-- 'httpStatus', 'deleteGlobalNetworkResponse_httpStatus' - The response's http status code.+newDeleteGlobalNetworkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteGlobalNetworkResponse+newDeleteGlobalNetworkResponse pHttpStatus_ =+  DeleteGlobalNetworkResponse'+    { globalNetwork =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the global network.+deleteGlobalNetworkResponse_globalNetwork :: Lens.Lens' DeleteGlobalNetworkResponse (Prelude.Maybe GlobalNetwork)+deleteGlobalNetworkResponse_globalNetwork = Lens.lens (\DeleteGlobalNetworkResponse' {globalNetwork} -> globalNetwork) (\s@DeleteGlobalNetworkResponse' {} a -> s {globalNetwork = a} :: DeleteGlobalNetworkResponse)++-- | The response's http status code.+deleteGlobalNetworkResponse_httpStatus :: Lens.Lens' DeleteGlobalNetworkResponse Prelude.Int+deleteGlobalNetworkResponse_httpStatus = Lens.lens (\DeleteGlobalNetworkResponse' {httpStatus} -> httpStatus) (\s@DeleteGlobalNetworkResponse' {} a -> s {httpStatus = a} :: DeleteGlobalNetworkResponse)++instance Prelude.NFData DeleteGlobalNetworkResponse where+  rnf DeleteGlobalNetworkResponse' {..} =+    Prelude.rnf globalNetwork+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DeleteLink.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.DeleteLink+-- 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 existing link. You must first disassociate the link from any+-- devices and customer gateways.+module Amazonka.NetworkManager.DeleteLink+  ( -- * Creating a Request+    DeleteLink (..),+    newDeleteLink,++    -- * Request Lenses+    deleteLink_globalNetworkId,+    deleteLink_linkId,++    -- * Destructuring the Response+    DeleteLinkResponse (..),+    newDeleteLinkResponse,++    -- * Response Lenses+    deleteLinkResponse_link,+    deleteLinkResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteLink' smart constructor.+data DeleteLink = DeleteLink'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the link.+    linkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLink' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'deleteLink_globalNetworkId' - The ID of the global network.+--+-- 'linkId', 'deleteLink_linkId' - The ID of the link.+newDeleteLink ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'linkId'+  Prelude.Text ->+  DeleteLink+newDeleteLink pGlobalNetworkId_ pLinkId_ =+  DeleteLink'+    { globalNetworkId = pGlobalNetworkId_,+      linkId = pLinkId_+    }++-- | The ID of the global network.+deleteLink_globalNetworkId :: Lens.Lens' DeleteLink Prelude.Text+deleteLink_globalNetworkId = Lens.lens (\DeleteLink' {globalNetworkId} -> globalNetworkId) (\s@DeleteLink' {} a -> s {globalNetworkId = a} :: DeleteLink)++-- | The ID of the link.+deleteLink_linkId :: Lens.Lens' DeleteLink Prelude.Text+deleteLink_linkId = Lens.lens (\DeleteLink' {linkId} -> linkId) (\s@DeleteLink' {} a -> s {linkId = a} :: DeleteLink)++instance Core.AWSRequest DeleteLink where+  type AWSResponse DeleteLink = DeleteLinkResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteLinkResponse'+            Prelude.<$> (x Data..?> "Link")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteLink where+  hashWithSalt _salt DeleteLink' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` linkId++instance Prelude.NFData DeleteLink where+  rnf DeleteLink' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf linkId++instance Data.ToHeaders DeleteLink where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteLink where+  toPath DeleteLink' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/links/",+        Data.toBS linkId+      ]++instance Data.ToQuery DeleteLink where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteLinkResponse' smart constructor.+data DeleteLinkResponse = DeleteLinkResponse'+  { -- | Information about the link.+    link :: Prelude.Maybe Link,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLinkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'link', 'deleteLinkResponse_link' - Information about the link.+--+-- 'httpStatus', 'deleteLinkResponse_httpStatus' - The response's http status code.+newDeleteLinkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteLinkResponse+newDeleteLinkResponse pHttpStatus_ =+  DeleteLinkResponse'+    { link = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the link.+deleteLinkResponse_link :: Lens.Lens' DeleteLinkResponse (Prelude.Maybe Link)+deleteLinkResponse_link = Lens.lens (\DeleteLinkResponse' {link} -> link) (\s@DeleteLinkResponse' {} a -> s {link = a} :: DeleteLinkResponse)++-- | The response's http status code.+deleteLinkResponse_httpStatus :: Lens.Lens' DeleteLinkResponse Prelude.Int+deleteLinkResponse_httpStatus = Lens.lens (\DeleteLinkResponse' {httpStatus} -> httpStatus) (\s@DeleteLinkResponse' {} a -> s {httpStatus = a} :: DeleteLinkResponse)++instance Prelude.NFData DeleteLinkResponse where+  rnf DeleteLinkResponse' {..} =+    Prelude.rnf link+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DeletePeering.hs view
@@ -0,0 +1,157 @@+{-# 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.NetworkManager.DeletePeering+-- 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 existing peering connection.+module Amazonka.NetworkManager.DeletePeering+  ( -- * Creating a Request+    DeletePeering (..),+    newDeletePeering,++    -- * Request Lenses+    deletePeering_peeringId,++    -- * Destructuring the Response+    DeletePeeringResponse (..),+    newDeletePeeringResponse,++    -- * Response Lenses+    deletePeeringResponse_peering,+    deletePeeringResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePeering' smart constructor.+data DeletePeering = DeletePeering'+  { -- | The ID of the peering connection to delete.+    peeringId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePeering' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'peeringId', 'deletePeering_peeringId' - The ID of the peering connection to delete.+newDeletePeering ::+  -- | 'peeringId'+  Prelude.Text ->+  DeletePeering+newDeletePeering pPeeringId_ =+  DeletePeering' {peeringId = pPeeringId_}++-- | The ID of the peering connection to delete.+deletePeering_peeringId :: Lens.Lens' DeletePeering Prelude.Text+deletePeering_peeringId = Lens.lens (\DeletePeering' {peeringId} -> peeringId) (\s@DeletePeering' {} a -> s {peeringId = a} :: DeletePeering)++instance Core.AWSRequest DeletePeering where+  type+    AWSResponse DeletePeering =+      DeletePeeringResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeletePeeringResponse'+            Prelude.<$> (x Data..?> "Peering")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeletePeering where+  hashWithSalt _salt DeletePeering' {..} =+    _salt `Prelude.hashWithSalt` peeringId++instance Prelude.NFData DeletePeering where+  rnf DeletePeering' {..} = Prelude.rnf peeringId++instance Data.ToHeaders DeletePeering where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeletePeering where+  toPath DeletePeering' {..} =+    Prelude.mconcat ["/peerings/", Data.toBS peeringId]++instance Data.ToQuery DeletePeering where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePeeringResponse' smart constructor.+data DeletePeeringResponse = DeletePeeringResponse'+  { -- | Information about a deleted peering connection.+    peering :: Prelude.Maybe Peering,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePeeringResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'peering', 'deletePeeringResponse_peering' - Information about a deleted peering connection.+--+-- 'httpStatus', 'deletePeeringResponse_httpStatus' - The response's http status code.+newDeletePeeringResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeletePeeringResponse+newDeletePeeringResponse pHttpStatus_ =+  DeletePeeringResponse'+    { peering = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about a deleted peering connection.+deletePeeringResponse_peering :: Lens.Lens' DeletePeeringResponse (Prelude.Maybe Peering)+deletePeeringResponse_peering = Lens.lens (\DeletePeeringResponse' {peering} -> peering) (\s@DeletePeeringResponse' {} a -> s {peering = a} :: DeletePeeringResponse)++-- | The response's http status code.+deletePeeringResponse_httpStatus :: Lens.Lens' DeletePeeringResponse Prelude.Int+deletePeeringResponse_httpStatus = Lens.lens (\DeletePeeringResponse' {httpStatus} -> httpStatus) (\s@DeletePeeringResponse' {} a -> s {httpStatus = a} :: DeletePeeringResponse)++instance Prelude.NFData DeletePeeringResponse where+  rnf DeletePeeringResponse' {..} =+    Prelude.rnf peering+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DeleteResourcePolicy.hs view
@@ -0,0 +1,149 @@+{-# 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.NetworkManager.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 a resource policy for the specified resource. This revokes the+-- access of the principals specified in the resource policy.+module Amazonka.NetworkManager.DeleteResourcePolicy+  ( -- * Creating a Request+    DeleteResourcePolicy (..),+    newDeleteResourcePolicy,++    -- * Request Lenses+    deleteResourcePolicy_resourceArn,++    -- * Destructuring the Response+    DeleteResourcePolicyResponse (..),+    newDeleteResourcePolicyResponse,++    -- * Response Lenses+    deleteResourcePolicyResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.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'+  { -- | The ARN of the policy to delete.+    resourceArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteResourcePolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'deleteResourcePolicy_resourceArn' - The ARN of the policy to delete.+newDeleteResourcePolicy ::+  -- | 'resourceArn'+  Prelude.Text ->+  DeleteResourcePolicy+newDeleteResourcePolicy pResourceArn_ =+  DeleteResourcePolicy' {resourceArn = pResourceArn_}++-- | The ARN of the policy to delete.+deleteResourcePolicy_resourceArn :: Lens.Lens' DeleteResourcePolicy Prelude.Text+deleteResourcePolicy_resourceArn = Lens.lens (\DeleteResourcePolicy' {resourceArn} -> resourceArn) (\s@DeleteResourcePolicy' {} a -> s {resourceArn = a} :: DeleteResourcePolicy)++instance Core.AWSRequest DeleteResourcePolicy where+  type+    AWSResponse DeleteResourcePolicy =+      DeleteResourcePolicyResponse+  request overrides =+    Request.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` resourceArn++instance Prelude.NFData DeleteResourcePolicy where+  rnf DeleteResourcePolicy' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders DeleteResourcePolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteResourcePolicy where+  toPath DeleteResourcePolicy' {..} =+    Prelude.mconcat+      ["/resource-policy/", Data.toBS resourceArn]++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/NetworkManager/DeleteSite.hs view
@@ -0,0 +1,179 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.DeleteSite+-- 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 existing site. The site cannot be associated with any device+-- or link.+module Amazonka.NetworkManager.DeleteSite+  ( -- * Creating a Request+    DeleteSite (..),+    newDeleteSite,++    -- * Request Lenses+    deleteSite_globalNetworkId,+    deleteSite_siteId,++    -- * Destructuring the Response+    DeleteSiteResponse (..),+    newDeleteSiteResponse,++    -- * Response Lenses+    deleteSiteResponse_site,+    deleteSiteResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteSite' smart constructor.+data DeleteSite = DeleteSite'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the site.+    siteId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'deleteSite_globalNetworkId' - The ID of the global network.+--+-- 'siteId', 'deleteSite_siteId' - The ID of the site.+newDeleteSite ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'siteId'+  Prelude.Text ->+  DeleteSite+newDeleteSite pGlobalNetworkId_ pSiteId_ =+  DeleteSite'+    { globalNetworkId = pGlobalNetworkId_,+      siteId = pSiteId_+    }++-- | The ID of the global network.+deleteSite_globalNetworkId :: Lens.Lens' DeleteSite Prelude.Text+deleteSite_globalNetworkId = Lens.lens (\DeleteSite' {globalNetworkId} -> globalNetworkId) (\s@DeleteSite' {} a -> s {globalNetworkId = a} :: DeleteSite)++-- | The ID of the site.+deleteSite_siteId :: Lens.Lens' DeleteSite Prelude.Text+deleteSite_siteId = Lens.lens (\DeleteSite' {siteId} -> siteId) (\s@DeleteSite' {} a -> s {siteId = a} :: DeleteSite)++instance Core.AWSRequest DeleteSite where+  type AWSResponse DeleteSite = DeleteSiteResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeleteSiteResponse'+            Prelude.<$> (x Data..?> "Site")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteSite where+  hashWithSalt _salt DeleteSite' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` siteId++instance Prelude.NFData DeleteSite where+  rnf DeleteSite' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf siteId++instance Data.ToHeaders DeleteSite where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteSite where+  toPath DeleteSite' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/sites/",+        Data.toBS siteId+      ]++instance Data.ToQuery DeleteSite where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSiteResponse' smart constructor.+data DeleteSiteResponse = DeleteSiteResponse'+  { -- | Information about the site.+    site :: Prelude.Maybe Site,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'site', 'deleteSiteResponse_site' - Information about the site.+--+-- 'httpStatus', 'deleteSiteResponse_httpStatus' - The response's http status code.+newDeleteSiteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteSiteResponse+newDeleteSiteResponse pHttpStatus_ =+  DeleteSiteResponse'+    { site = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the site.+deleteSiteResponse_site :: Lens.Lens' DeleteSiteResponse (Prelude.Maybe Site)+deleteSiteResponse_site = Lens.lens (\DeleteSiteResponse' {site} -> site) (\s@DeleteSiteResponse' {} a -> s {site = a} :: DeleteSiteResponse)++-- | The response's http status code.+deleteSiteResponse_httpStatus :: Lens.Lens' DeleteSiteResponse Prelude.Int+deleteSiteResponse_httpStatus = Lens.lens (\DeleteSiteResponse' {httpStatus} -> httpStatus) (\s@DeleteSiteResponse' {} a -> s {httpStatus = a} :: DeleteSiteResponse)++instance Prelude.NFData DeleteSiteResponse where+  rnf DeleteSiteResponse' {..} =+    Prelude.rnf site+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DeregisterTransitGateway.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.DeregisterTransitGateway+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deregisters a transit gateway from your global network. This action does+-- not delete your transit gateway, or modify any of its attachments. This+-- action removes any customer gateway associations.+module Amazonka.NetworkManager.DeregisterTransitGateway+  ( -- * Creating a Request+    DeregisterTransitGateway (..),+    newDeregisterTransitGateway,++    -- * Request Lenses+    deregisterTransitGateway_globalNetworkId,+    deregisterTransitGateway_transitGatewayArn,++    -- * Destructuring the Response+    DeregisterTransitGatewayResponse (..),+    newDeregisterTransitGatewayResponse,++    -- * Response Lenses+    deregisterTransitGatewayResponse_transitGatewayRegistration,+    deregisterTransitGatewayResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeregisterTransitGateway' smart constructor.+data DeregisterTransitGateway = DeregisterTransitGateway'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the transit gateway.+    transitGatewayArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeregisterTransitGateway' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'deregisterTransitGateway_globalNetworkId' - The ID of the global network.+--+-- 'transitGatewayArn', 'deregisterTransitGateway_transitGatewayArn' - The Amazon Resource Name (ARN) of the transit gateway.+newDeregisterTransitGateway ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'transitGatewayArn'+  Prelude.Text ->+  DeregisterTransitGateway+newDeregisterTransitGateway+  pGlobalNetworkId_+  pTransitGatewayArn_ =+    DeregisterTransitGateway'+      { globalNetworkId =+          pGlobalNetworkId_,+        transitGatewayArn = pTransitGatewayArn_+      }++-- | The ID of the global network.+deregisterTransitGateway_globalNetworkId :: Lens.Lens' DeregisterTransitGateway Prelude.Text+deregisterTransitGateway_globalNetworkId = Lens.lens (\DeregisterTransitGateway' {globalNetworkId} -> globalNetworkId) (\s@DeregisterTransitGateway' {} a -> s {globalNetworkId = a} :: DeregisterTransitGateway)++-- | The Amazon Resource Name (ARN) of the transit gateway.+deregisterTransitGateway_transitGatewayArn :: Lens.Lens' DeregisterTransitGateway Prelude.Text+deregisterTransitGateway_transitGatewayArn = Lens.lens (\DeregisterTransitGateway' {transitGatewayArn} -> transitGatewayArn) (\s@DeregisterTransitGateway' {} a -> s {transitGatewayArn = a} :: DeregisterTransitGateway)++instance Core.AWSRequest DeregisterTransitGateway where+  type+    AWSResponse DeregisterTransitGateway =+      DeregisterTransitGatewayResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DeregisterTransitGatewayResponse'+            Prelude.<$> (x Data..?> "TransitGatewayRegistration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeregisterTransitGateway where+  hashWithSalt _salt DeregisterTransitGateway' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` transitGatewayArn++instance Prelude.NFData DeregisterTransitGateway where+  rnf DeregisterTransitGateway' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf transitGatewayArn++instance Data.ToHeaders DeregisterTransitGateway where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeregisterTransitGateway where+  toPath DeregisterTransitGateway' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/transit-gateway-registrations/",+        Data.toBS transitGatewayArn+      ]++instance Data.ToQuery DeregisterTransitGateway where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeregisterTransitGatewayResponse' smart constructor.+data DeregisterTransitGatewayResponse = DeregisterTransitGatewayResponse'+  { -- | The transit gateway registration information.+    transitGatewayRegistration :: Prelude.Maybe TransitGatewayRegistration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeregisterTransitGatewayResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'transitGatewayRegistration', 'deregisterTransitGatewayResponse_transitGatewayRegistration' - The transit gateway registration information.+--+-- 'httpStatus', 'deregisterTransitGatewayResponse_httpStatus' - The response's http status code.+newDeregisterTransitGatewayResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeregisterTransitGatewayResponse+newDeregisterTransitGatewayResponse pHttpStatus_ =+  DeregisterTransitGatewayResponse'+    { transitGatewayRegistration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The transit gateway registration information.+deregisterTransitGatewayResponse_transitGatewayRegistration :: Lens.Lens' DeregisterTransitGatewayResponse (Prelude.Maybe TransitGatewayRegistration)+deregisterTransitGatewayResponse_transitGatewayRegistration = Lens.lens (\DeregisterTransitGatewayResponse' {transitGatewayRegistration} -> transitGatewayRegistration) (\s@DeregisterTransitGatewayResponse' {} a -> s {transitGatewayRegistration = a} :: DeregisterTransitGatewayResponse)++-- | The response's http status code.+deregisterTransitGatewayResponse_httpStatus :: Lens.Lens' DeregisterTransitGatewayResponse Prelude.Int+deregisterTransitGatewayResponse_httpStatus = Lens.lens (\DeregisterTransitGatewayResponse' {httpStatus} -> httpStatus) (\s@DeregisterTransitGatewayResponse' {} a -> s {httpStatus = a} :: DeregisterTransitGatewayResponse)++instance+  Prelude.NFData+    DeregisterTransitGatewayResponse+  where+  rnf DeregisterTransitGatewayResponse' {..} =+    Prelude.rnf transitGatewayRegistration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DescribeGlobalNetworks.hs view
@@ -0,0 +1,235 @@+{-# 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.NetworkManager.DescribeGlobalNetworks+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes one or more global networks. By default, all global networks+-- are described. To describe the objects in your global network, you must+-- use the appropriate @Get*@ action. For example, to list the transit+-- gateways in your global network, use GetTransitGatewayRegistrations.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.DescribeGlobalNetworks+  ( -- * Creating a Request+    DescribeGlobalNetworks (..),+    newDescribeGlobalNetworks,++    -- * Request Lenses+    describeGlobalNetworks_globalNetworkIds,+    describeGlobalNetworks_maxResults,+    describeGlobalNetworks_nextToken,++    -- * Destructuring the Response+    DescribeGlobalNetworksResponse (..),+    newDescribeGlobalNetworksResponse,++    -- * Response Lenses+    describeGlobalNetworksResponse_globalNetworks,+    describeGlobalNetworksResponse_nextToken,+    describeGlobalNetworksResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeGlobalNetworks' smart constructor.+data DescribeGlobalNetworks = DescribeGlobalNetworks'+  { -- | The IDs of one or more global networks. The maximum is 10.+    globalNetworkIds :: Prelude.Maybe [Prelude.Text],+    -- | The maximum number of results to return.+    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 'DescribeGlobalNetworks' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkIds', 'describeGlobalNetworks_globalNetworkIds' - The IDs of one or more global networks. The maximum is 10.+--+-- 'maxResults', 'describeGlobalNetworks_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'describeGlobalNetworks_nextToken' - The token for the next page of results.+newDescribeGlobalNetworks ::+  DescribeGlobalNetworks+newDescribeGlobalNetworks =+  DescribeGlobalNetworks'+    { globalNetworkIds =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The IDs of one or more global networks. The maximum is 10.+describeGlobalNetworks_globalNetworkIds :: Lens.Lens' DescribeGlobalNetworks (Prelude.Maybe [Prelude.Text])+describeGlobalNetworks_globalNetworkIds = Lens.lens (\DescribeGlobalNetworks' {globalNetworkIds} -> globalNetworkIds) (\s@DescribeGlobalNetworks' {} a -> s {globalNetworkIds = a} :: DescribeGlobalNetworks) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results to return.+describeGlobalNetworks_maxResults :: Lens.Lens' DescribeGlobalNetworks (Prelude.Maybe Prelude.Natural)+describeGlobalNetworks_maxResults = Lens.lens (\DescribeGlobalNetworks' {maxResults} -> maxResults) (\s@DescribeGlobalNetworks' {} a -> s {maxResults = a} :: DescribeGlobalNetworks)++-- | The token for the next page of results.+describeGlobalNetworks_nextToken :: Lens.Lens' DescribeGlobalNetworks (Prelude.Maybe Prelude.Text)+describeGlobalNetworks_nextToken = Lens.lens (\DescribeGlobalNetworks' {nextToken} -> nextToken) (\s@DescribeGlobalNetworks' {} a -> s {nextToken = a} :: DescribeGlobalNetworks)++instance Core.AWSPager DescribeGlobalNetworks where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? describeGlobalNetworksResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? describeGlobalNetworksResponse_globalNetworks+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& describeGlobalNetworks_nextToken+          Lens..~ rs+          Lens.^? describeGlobalNetworksResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest DescribeGlobalNetworks where+  type+    AWSResponse DescribeGlobalNetworks =+      DescribeGlobalNetworksResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeGlobalNetworksResponse'+            Prelude.<$> (x Data..?> "GlobalNetworks" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeGlobalNetworks where+  hashWithSalt _salt DescribeGlobalNetworks' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkIds+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData DescribeGlobalNetworks where+  rnf DescribeGlobalNetworks' {..} =+    Prelude.rnf globalNetworkIds+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders DescribeGlobalNetworks where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeGlobalNetworks where+  toPath = Prelude.const "/global-networks"++instance Data.ToQuery DescribeGlobalNetworks where+  toQuery DescribeGlobalNetworks' {..} =+    Prelude.mconcat+      [ "globalNetworkIds"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> globalNetworkIds+            ),+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newDescribeGlobalNetworksResponse' smart constructor.+data DescribeGlobalNetworksResponse = DescribeGlobalNetworksResponse'+  { -- | Information about the global networks.+    globalNetworks :: Prelude.Maybe [GlobalNetwork],+    -- | 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 'DescribeGlobalNetworksResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworks', 'describeGlobalNetworksResponse_globalNetworks' - Information about the global networks.+--+-- 'nextToken', 'describeGlobalNetworksResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'describeGlobalNetworksResponse_httpStatus' - The response's http status code.+newDescribeGlobalNetworksResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeGlobalNetworksResponse+newDescribeGlobalNetworksResponse pHttpStatus_ =+  DescribeGlobalNetworksResponse'+    { globalNetworks =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the global networks.+describeGlobalNetworksResponse_globalNetworks :: Lens.Lens' DescribeGlobalNetworksResponse (Prelude.Maybe [GlobalNetwork])+describeGlobalNetworksResponse_globalNetworks = Lens.lens (\DescribeGlobalNetworksResponse' {globalNetworks} -> globalNetworks) (\s@DescribeGlobalNetworksResponse' {} a -> s {globalNetworks = a} :: DescribeGlobalNetworksResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+describeGlobalNetworksResponse_nextToken :: Lens.Lens' DescribeGlobalNetworksResponse (Prelude.Maybe Prelude.Text)+describeGlobalNetworksResponse_nextToken = Lens.lens (\DescribeGlobalNetworksResponse' {nextToken} -> nextToken) (\s@DescribeGlobalNetworksResponse' {} a -> s {nextToken = a} :: DescribeGlobalNetworksResponse)++-- | The response's http status code.+describeGlobalNetworksResponse_httpStatus :: Lens.Lens' DescribeGlobalNetworksResponse Prelude.Int+describeGlobalNetworksResponse_httpStatus = Lens.lens (\DescribeGlobalNetworksResponse' {httpStatus} -> httpStatus) (\s@DescribeGlobalNetworksResponse' {} a -> s {httpStatus = a} :: DescribeGlobalNetworksResponse)++instance+  Prelude.NFData+    DescribeGlobalNetworksResponse+  where+  rnf DescribeGlobalNetworksResponse' {..} =+    Prelude.rnf globalNetworks+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DisassociateConnectPeer.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.DisassociateConnectPeer+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a core network Connect peer from a device and a link.+module Amazonka.NetworkManager.DisassociateConnectPeer+  ( -- * Creating a Request+    DisassociateConnectPeer (..),+    newDisassociateConnectPeer,++    -- * Request Lenses+    disassociateConnectPeer_globalNetworkId,+    disassociateConnectPeer_connectPeerId,++    -- * Destructuring the Response+    DisassociateConnectPeerResponse (..),+    newDisassociateConnectPeerResponse,++    -- * Response Lenses+    disassociateConnectPeerResponse_connectPeerAssociation,+    disassociateConnectPeerResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateConnectPeer' smart constructor.+data DisassociateConnectPeer = DisassociateConnectPeer'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the Connect peer to disassociate from a device.+    connectPeerId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateConnectPeer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'disassociateConnectPeer_globalNetworkId' - The ID of the global network.+--+-- 'connectPeerId', 'disassociateConnectPeer_connectPeerId' - The ID of the Connect peer to disassociate from a device.+newDisassociateConnectPeer ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'connectPeerId'+  Prelude.Text ->+  DisassociateConnectPeer+newDisassociateConnectPeer+  pGlobalNetworkId_+  pConnectPeerId_ =+    DisassociateConnectPeer'+      { globalNetworkId =+          pGlobalNetworkId_,+        connectPeerId = pConnectPeerId_+      }++-- | The ID of the global network.+disassociateConnectPeer_globalNetworkId :: Lens.Lens' DisassociateConnectPeer Prelude.Text+disassociateConnectPeer_globalNetworkId = Lens.lens (\DisassociateConnectPeer' {globalNetworkId} -> globalNetworkId) (\s@DisassociateConnectPeer' {} a -> s {globalNetworkId = a} :: DisassociateConnectPeer)++-- | The ID of the Connect peer to disassociate from a device.+disassociateConnectPeer_connectPeerId :: Lens.Lens' DisassociateConnectPeer Prelude.Text+disassociateConnectPeer_connectPeerId = Lens.lens (\DisassociateConnectPeer' {connectPeerId} -> connectPeerId) (\s@DisassociateConnectPeer' {} a -> s {connectPeerId = a} :: DisassociateConnectPeer)++instance Core.AWSRequest DisassociateConnectPeer where+  type+    AWSResponse DisassociateConnectPeer =+      DisassociateConnectPeerResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DisassociateConnectPeerResponse'+            Prelude.<$> (x Data..?> "ConnectPeerAssociation")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DisassociateConnectPeer where+  hashWithSalt _salt DisassociateConnectPeer' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` connectPeerId++instance Prelude.NFData DisassociateConnectPeer where+  rnf DisassociateConnectPeer' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf connectPeerId++instance Data.ToHeaders DisassociateConnectPeer where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DisassociateConnectPeer where+  toPath DisassociateConnectPeer' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/connect-peer-associations/",+        Data.toBS connectPeerId+      ]++instance Data.ToQuery DisassociateConnectPeer where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateConnectPeerResponse' smart constructor.+data DisassociateConnectPeerResponse = DisassociateConnectPeerResponse'+  { -- | Describes the Connect peer association.+    connectPeerAssociation :: Prelude.Maybe ConnectPeerAssociation,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateConnectPeerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectPeerAssociation', 'disassociateConnectPeerResponse_connectPeerAssociation' - Describes the Connect peer association.+--+-- 'httpStatus', 'disassociateConnectPeerResponse_httpStatus' - The response's http status code.+newDisassociateConnectPeerResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateConnectPeerResponse+newDisassociateConnectPeerResponse pHttpStatus_ =+  DisassociateConnectPeerResponse'+    { connectPeerAssociation =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Describes the Connect peer association.+disassociateConnectPeerResponse_connectPeerAssociation :: Lens.Lens' DisassociateConnectPeerResponse (Prelude.Maybe ConnectPeerAssociation)+disassociateConnectPeerResponse_connectPeerAssociation = Lens.lens (\DisassociateConnectPeerResponse' {connectPeerAssociation} -> connectPeerAssociation) (\s@DisassociateConnectPeerResponse' {} a -> s {connectPeerAssociation = a} :: DisassociateConnectPeerResponse)++-- | The response's http status code.+disassociateConnectPeerResponse_httpStatus :: Lens.Lens' DisassociateConnectPeerResponse Prelude.Int+disassociateConnectPeerResponse_httpStatus = Lens.lens (\DisassociateConnectPeerResponse' {httpStatus} -> httpStatus) (\s@DisassociateConnectPeerResponse' {} a -> s {httpStatus = a} :: DisassociateConnectPeerResponse)++instance+  Prelude.NFData+    DisassociateConnectPeerResponse+  where+  rnf DisassociateConnectPeerResponse' {..} =+    Prelude.rnf connectPeerAssociation+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DisassociateCustomerGateway.hs view
@@ -0,0 +1,187 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.DisassociateCustomerGateway+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a customer gateway from a device and a link.+module Amazonka.NetworkManager.DisassociateCustomerGateway+  ( -- * Creating a Request+    DisassociateCustomerGateway (..),+    newDisassociateCustomerGateway,++    -- * Request Lenses+    disassociateCustomerGateway_globalNetworkId,+    disassociateCustomerGateway_customerGatewayArn,++    -- * Destructuring the Response+    DisassociateCustomerGatewayResponse (..),+    newDisassociateCustomerGatewayResponse,++    -- * Response Lenses+    disassociateCustomerGatewayResponse_customerGatewayAssociation,+    disassociateCustomerGatewayResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateCustomerGateway' smart constructor.+data DisassociateCustomerGateway = DisassociateCustomerGateway'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the customer gateway.+    customerGatewayArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateCustomerGateway' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'disassociateCustomerGateway_globalNetworkId' - The ID of the global network.+--+-- 'customerGatewayArn', 'disassociateCustomerGateway_customerGatewayArn' - The Amazon Resource Name (ARN) of the customer gateway.+newDisassociateCustomerGateway ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'customerGatewayArn'+  Prelude.Text ->+  DisassociateCustomerGateway+newDisassociateCustomerGateway+  pGlobalNetworkId_+  pCustomerGatewayArn_ =+    DisassociateCustomerGateway'+      { globalNetworkId =+          pGlobalNetworkId_,+        customerGatewayArn = pCustomerGatewayArn_+      }++-- | The ID of the global network.+disassociateCustomerGateway_globalNetworkId :: Lens.Lens' DisassociateCustomerGateway Prelude.Text+disassociateCustomerGateway_globalNetworkId = Lens.lens (\DisassociateCustomerGateway' {globalNetworkId} -> globalNetworkId) (\s@DisassociateCustomerGateway' {} a -> s {globalNetworkId = a} :: DisassociateCustomerGateway)++-- | The Amazon Resource Name (ARN) of the customer gateway.+disassociateCustomerGateway_customerGatewayArn :: Lens.Lens' DisassociateCustomerGateway Prelude.Text+disassociateCustomerGateway_customerGatewayArn = Lens.lens (\DisassociateCustomerGateway' {customerGatewayArn} -> customerGatewayArn) (\s@DisassociateCustomerGateway' {} a -> s {customerGatewayArn = a} :: DisassociateCustomerGateway)++instance Core.AWSRequest DisassociateCustomerGateway where+  type+    AWSResponse DisassociateCustomerGateway =+      DisassociateCustomerGatewayResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DisassociateCustomerGatewayResponse'+            Prelude.<$> (x Data..?> "CustomerGatewayAssociation")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DisassociateCustomerGateway where+  hashWithSalt _salt DisassociateCustomerGateway' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` customerGatewayArn++instance Prelude.NFData DisassociateCustomerGateway where+  rnf DisassociateCustomerGateway' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf customerGatewayArn++instance Data.ToHeaders DisassociateCustomerGateway where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DisassociateCustomerGateway where+  toPath DisassociateCustomerGateway' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/customer-gateway-associations/",+        Data.toBS customerGatewayArn+      ]++instance Data.ToQuery DisassociateCustomerGateway where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateCustomerGatewayResponse' smart constructor.+data DisassociateCustomerGatewayResponse = DisassociateCustomerGatewayResponse'+  { -- | Information about the customer gateway association.+    customerGatewayAssociation :: Prelude.Maybe CustomerGatewayAssociation,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateCustomerGatewayResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customerGatewayAssociation', 'disassociateCustomerGatewayResponse_customerGatewayAssociation' - Information about the customer gateway association.+--+-- 'httpStatus', 'disassociateCustomerGatewayResponse_httpStatus' - The response's http status code.+newDisassociateCustomerGatewayResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateCustomerGatewayResponse+newDisassociateCustomerGatewayResponse pHttpStatus_ =+  DisassociateCustomerGatewayResponse'+    { customerGatewayAssociation =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the customer gateway association.+disassociateCustomerGatewayResponse_customerGatewayAssociation :: Lens.Lens' DisassociateCustomerGatewayResponse (Prelude.Maybe CustomerGatewayAssociation)+disassociateCustomerGatewayResponse_customerGatewayAssociation = Lens.lens (\DisassociateCustomerGatewayResponse' {customerGatewayAssociation} -> customerGatewayAssociation) (\s@DisassociateCustomerGatewayResponse' {} a -> s {customerGatewayAssociation = a} :: DisassociateCustomerGatewayResponse)++-- | The response's http status code.+disassociateCustomerGatewayResponse_httpStatus :: Lens.Lens' DisassociateCustomerGatewayResponse Prelude.Int+disassociateCustomerGatewayResponse_httpStatus = Lens.lens (\DisassociateCustomerGatewayResponse' {httpStatus} -> httpStatus) (\s@DisassociateCustomerGatewayResponse' {} a -> s {httpStatus = a} :: DisassociateCustomerGatewayResponse)++instance+  Prelude.NFData+    DisassociateCustomerGatewayResponse+  where+  rnf DisassociateCustomerGatewayResponse' {..} =+    Prelude.rnf customerGatewayAssociation+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DisassociateLink.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.DisassociateLink+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates an existing device from a link. You must first+-- disassociate any customer gateways that are associated with the link.+module Amazonka.NetworkManager.DisassociateLink+  ( -- * Creating a Request+    DisassociateLink (..),+    newDisassociateLink,++    -- * Request Lenses+    disassociateLink_globalNetworkId,+    disassociateLink_deviceId,+    disassociateLink_linkId,++    -- * Destructuring the Response+    DisassociateLinkResponse (..),+    newDisassociateLinkResponse,++    -- * Response Lenses+    disassociateLinkResponse_linkAssociation,+    disassociateLinkResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateLink' smart constructor.+data DisassociateLink = DisassociateLink'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the device.+    deviceId :: Prelude.Text,+    -- | The ID of the link.+    linkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateLink' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'disassociateLink_globalNetworkId' - The ID of the global network.+--+-- 'deviceId', 'disassociateLink_deviceId' - The ID of the device.+--+-- 'linkId', 'disassociateLink_linkId' - The ID of the link.+newDisassociateLink ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'deviceId'+  Prelude.Text ->+  -- | 'linkId'+  Prelude.Text ->+  DisassociateLink+newDisassociateLink+  pGlobalNetworkId_+  pDeviceId_+  pLinkId_ =+    DisassociateLink'+      { globalNetworkId =+          pGlobalNetworkId_,+        deviceId = pDeviceId_,+        linkId = pLinkId_+      }++-- | The ID of the global network.+disassociateLink_globalNetworkId :: Lens.Lens' DisassociateLink Prelude.Text+disassociateLink_globalNetworkId = Lens.lens (\DisassociateLink' {globalNetworkId} -> globalNetworkId) (\s@DisassociateLink' {} a -> s {globalNetworkId = a} :: DisassociateLink)++-- | The ID of the device.+disassociateLink_deviceId :: Lens.Lens' DisassociateLink Prelude.Text+disassociateLink_deviceId = Lens.lens (\DisassociateLink' {deviceId} -> deviceId) (\s@DisassociateLink' {} a -> s {deviceId = a} :: DisassociateLink)++-- | The ID of the link.+disassociateLink_linkId :: Lens.Lens' DisassociateLink Prelude.Text+disassociateLink_linkId = Lens.lens (\DisassociateLink' {linkId} -> linkId) (\s@DisassociateLink' {} a -> s {linkId = a} :: DisassociateLink)++instance Core.AWSRequest DisassociateLink where+  type+    AWSResponse DisassociateLink =+      DisassociateLinkResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DisassociateLinkResponse'+            Prelude.<$> (x Data..?> "LinkAssociation")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DisassociateLink where+  hashWithSalt _salt DisassociateLink' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` linkId++instance Prelude.NFData DisassociateLink where+  rnf DisassociateLink' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf linkId++instance Data.ToHeaders DisassociateLink where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DisassociateLink where+  toPath DisassociateLink' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/link-associations"+      ]++instance Data.ToQuery DisassociateLink where+  toQuery DisassociateLink' {..} =+    Prelude.mconcat+      [ "deviceId" Data.=: deviceId,+        "linkId" Data.=: linkId+      ]++-- | /See:/ 'newDisassociateLinkResponse' smart constructor.+data DisassociateLinkResponse = DisassociateLinkResponse'+  { -- | Information about the link association.+    linkAssociation :: Prelude.Maybe LinkAssociation,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateLinkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'linkAssociation', 'disassociateLinkResponse_linkAssociation' - Information about the link association.+--+-- 'httpStatus', 'disassociateLinkResponse_httpStatus' - The response's http status code.+newDisassociateLinkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateLinkResponse+newDisassociateLinkResponse pHttpStatus_ =+  DisassociateLinkResponse'+    { linkAssociation =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the link association.+disassociateLinkResponse_linkAssociation :: Lens.Lens' DisassociateLinkResponse (Prelude.Maybe LinkAssociation)+disassociateLinkResponse_linkAssociation = Lens.lens (\DisassociateLinkResponse' {linkAssociation} -> linkAssociation) (\s@DisassociateLinkResponse' {} a -> s {linkAssociation = a} :: DisassociateLinkResponse)++-- | The response's http status code.+disassociateLinkResponse_httpStatus :: Lens.Lens' DisassociateLinkResponse Prelude.Int+disassociateLinkResponse_httpStatus = Lens.lens (\DisassociateLinkResponse' {httpStatus} -> httpStatus) (\s@DisassociateLinkResponse' {} a -> s {httpStatus = a} :: DisassociateLinkResponse)++instance Prelude.NFData DisassociateLinkResponse where+  rnf DisassociateLinkResponse' {..} =+    Prelude.rnf linkAssociation+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/DisassociateTransitGatewayConnectPeer.hs view
@@ -0,0 +1,211 @@+{-# 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.NetworkManager.DisassociateTransitGatewayConnectPeer+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Disassociates a transit gateway Connect peer from a device and link.+module Amazonka.NetworkManager.DisassociateTransitGatewayConnectPeer+  ( -- * Creating a Request+    DisassociateTransitGatewayConnectPeer (..),+    newDisassociateTransitGatewayConnectPeer,++    -- * Request Lenses+    disassociateTransitGatewayConnectPeer_globalNetworkId,+    disassociateTransitGatewayConnectPeer_transitGatewayConnectPeerArn,++    -- * Destructuring the Response+    DisassociateTransitGatewayConnectPeerResponse (..),+    newDisassociateTransitGatewayConnectPeerResponse,++    -- * Response Lenses+    disassociateTransitGatewayConnectPeerResponse_transitGatewayConnectPeerAssociation,+    disassociateTransitGatewayConnectPeerResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDisassociateTransitGatewayConnectPeer' smart constructor.+data DisassociateTransitGatewayConnectPeer = DisassociateTransitGatewayConnectPeer'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the transit gateway Connect peer.+    transitGatewayConnectPeerArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateTransitGatewayConnectPeer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'disassociateTransitGatewayConnectPeer_globalNetworkId' - The ID of the global network.+--+-- 'transitGatewayConnectPeerArn', 'disassociateTransitGatewayConnectPeer_transitGatewayConnectPeerArn' - The Amazon Resource Name (ARN) of the transit gateway Connect peer.+newDisassociateTransitGatewayConnectPeer ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'transitGatewayConnectPeerArn'+  Prelude.Text ->+  DisassociateTransitGatewayConnectPeer+newDisassociateTransitGatewayConnectPeer+  pGlobalNetworkId_+  pTransitGatewayConnectPeerArn_ =+    DisassociateTransitGatewayConnectPeer'+      { globalNetworkId =+          pGlobalNetworkId_,+        transitGatewayConnectPeerArn =+          pTransitGatewayConnectPeerArn_+      }++-- | The ID of the global network.+disassociateTransitGatewayConnectPeer_globalNetworkId :: Lens.Lens' DisassociateTransitGatewayConnectPeer Prelude.Text+disassociateTransitGatewayConnectPeer_globalNetworkId = Lens.lens (\DisassociateTransitGatewayConnectPeer' {globalNetworkId} -> globalNetworkId) (\s@DisassociateTransitGatewayConnectPeer' {} a -> s {globalNetworkId = a} :: DisassociateTransitGatewayConnectPeer)++-- | The Amazon Resource Name (ARN) of the transit gateway Connect peer.+disassociateTransitGatewayConnectPeer_transitGatewayConnectPeerArn :: Lens.Lens' DisassociateTransitGatewayConnectPeer Prelude.Text+disassociateTransitGatewayConnectPeer_transitGatewayConnectPeerArn = Lens.lens (\DisassociateTransitGatewayConnectPeer' {transitGatewayConnectPeerArn} -> transitGatewayConnectPeerArn) (\s@DisassociateTransitGatewayConnectPeer' {} a -> s {transitGatewayConnectPeerArn = a} :: DisassociateTransitGatewayConnectPeer)++instance+  Core.AWSRequest+    DisassociateTransitGatewayConnectPeer+  where+  type+    AWSResponse+      DisassociateTransitGatewayConnectPeer =+      DisassociateTransitGatewayConnectPeerResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DisassociateTransitGatewayConnectPeerResponse'+            Prelude.<$> (x Data..?> "TransitGatewayConnectPeerAssociation")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    DisassociateTransitGatewayConnectPeer+  where+  hashWithSalt+    _salt+    DisassociateTransitGatewayConnectPeer' {..} =+      _salt+        `Prelude.hashWithSalt` globalNetworkId+        `Prelude.hashWithSalt` transitGatewayConnectPeerArn++instance+  Prelude.NFData+    DisassociateTransitGatewayConnectPeer+  where+  rnf DisassociateTransitGatewayConnectPeer' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf transitGatewayConnectPeerArn++instance+  Data.ToHeaders+    DisassociateTransitGatewayConnectPeer+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToPath+    DisassociateTransitGatewayConnectPeer+  where+  toPath DisassociateTransitGatewayConnectPeer' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/transit-gateway-connect-peer-associations/",+        Data.toBS transitGatewayConnectPeerArn+      ]++instance+  Data.ToQuery+    DisassociateTransitGatewayConnectPeer+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDisassociateTransitGatewayConnectPeerResponse' smart constructor.+data DisassociateTransitGatewayConnectPeerResponse = DisassociateTransitGatewayConnectPeerResponse'+  { -- | The transit gateway Connect peer association.+    transitGatewayConnectPeerAssociation :: Prelude.Maybe TransitGatewayConnectPeerAssociation,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DisassociateTransitGatewayConnectPeerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'transitGatewayConnectPeerAssociation', 'disassociateTransitGatewayConnectPeerResponse_transitGatewayConnectPeerAssociation' - The transit gateway Connect peer association.+--+-- 'httpStatus', 'disassociateTransitGatewayConnectPeerResponse_httpStatus' - The response's http status code.+newDisassociateTransitGatewayConnectPeerResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DisassociateTransitGatewayConnectPeerResponse+newDisassociateTransitGatewayConnectPeerResponse+  pHttpStatus_ =+    DisassociateTransitGatewayConnectPeerResponse'+      { transitGatewayConnectPeerAssociation =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The transit gateway Connect peer association.+disassociateTransitGatewayConnectPeerResponse_transitGatewayConnectPeerAssociation :: Lens.Lens' DisassociateTransitGatewayConnectPeerResponse (Prelude.Maybe TransitGatewayConnectPeerAssociation)+disassociateTransitGatewayConnectPeerResponse_transitGatewayConnectPeerAssociation = Lens.lens (\DisassociateTransitGatewayConnectPeerResponse' {transitGatewayConnectPeerAssociation} -> transitGatewayConnectPeerAssociation) (\s@DisassociateTransitGatewayConnectPeerResponse' {} a -> s {transitGatewayConnectPeerAssociation = a} :: DisassociateTransitGatewayConnectPeerResponse)++-- | The response's http status code.+disassociateTransitGatewayConnectPeerResponse_httpStatus :: Lens.Lens' DisassociateTransitGatewayConnectPeerResponse Prelude.Int+disassociateTransitGatewayConnectPeerResponse_httpStatus = Lens.lens (\DisassociateTransitGatewayConnectPeerResponse' {httpStatus} -> httpStatus) (\s@DisassociateTransitGatewayConnectPeerResponse' {} a -> s {httpStatus = a} :: DisassociateTransitGatewayConnectPeerResponse)++instance+  Prelude.NFData+    DisassociateTransitGatewayConnectPeerResponse+  where+  rnf+    DisassociateTransitGatewayConnectPeerResponse' {..} =+      Prelude.rnf transitGatewayConnectPeerAssociation+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/ExecuteCoreNetworkChangeSet.hs view
@@ -0,0 +1,180 @@+{-# 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.NetworkManager.ExecuteCoreNetworkChangeSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Executes a change set on your core network. Deploys changes globally+-- based on the policy submitted..+module Amazonka.NetworkManager.ExecuteCoreNetworkChangeSet+  ( -- * Creating a Request+    ExecuteCoreNetworkChangeSet (..),+    newExecuteCoreNetworkChangeSet,++    -- * Request Lenses+    executeCoreNetworkChangeSet_coreNetworkId,+    executeCoreNetworkChangeSet_policyVersionId,++    -- * Destructuring the Response+    ExecuteCoreNetworkChangeSetResponse (..),+    newExecuteCoreNetworkChangeSetResponse,++    -- * Response Lenses+    executeCoreNetworkChangeSetResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newExecuteCoreNetworkChangeSet' smart constructor.+data ExecuteCoreNetworkChangeSet = ExecuteCoreNetworkChangeSet'+  { -- | The ID of a core network.+    coreNetworkId :: Prelude.Text,+    -- | The ID of the policy version.+    policyVersionId :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExecuteCoreNetworkChangeSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkId', 'executeCoreNetworkChangeSet_coreNetworkId' - The ID of a core network.+--+-- 'policyVersionId', 'executeCoreNetworkChangeSet_policyVersionId' - The ID of the policy version.+newExecuteCoreNetworkChangeSet ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  -- | 'policyVersionId'+  Prelude.Int ->+  ExecuteCoreNetworkChangeSet+newExecuteCoreNetworkChangeSet+  pCoreNetworkId_+  pPolicyVersionId_ =+    ExecuteCoreNetworkChangeSet'+      { coreNetworkId =+          pCoreNetworkId_,+        policyVersionId = pPolicyVersionId_+      }++-- | The ID of a core network.+executeCoreNetworkChangeSet_coreNetworkId :: Lens.Lens' ExecuteCoreNetworkChangeSet Prelude.Text+executeCoreNetworkChangeSet_coreNetworkId = Lens.lens (\ExecuteCoreNetworkChangeSet' {coreNetworkId} -> coreNetworkId) (\s@ExecuteCoreNetworkChangeSet' {} a -> s {coreNetworkId = a} :: ExecuteCoreNetworkChangeSet)++-- | The ID of the policy version.+executeCoreNetworkChangeSet_policyVersionId :: Lens.Lens' ExecuteCoreNetworkChangeSet Prelude.Int+executeCoreNetworkChangeSet_policyVersionId = Lens.lens (\ExecuteCoreNetworkChangeSet' {policyVersionId} -> policyVersionId) (\s@ExecuteCoreNetworkChangeSet' {} a -> s {policyVersionId = a} :: ExecuteCoreNetworkChangeSet)++instance Core.AWSRequest ExecuteCoreNetworkChangeSet where+  type+    AWSResponse ExecuteCoreNetworkChangeSet =+      ExecuteCoreNetworkChangeSetResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          ExecuteCoreNetworkChangeSetResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ExecuteCoreNetworkChangeSet where+  hashWithSalt _salt ExecuteCoreNetworkChangeSet' {..} =+    _salt+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` policyVersionId++instance Prelude.NFData ExecuteCoreNetworkChangeSet where+  rnf ExecuteCoreNetworkChangeSet' {..} =+    Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf policyVersionId++instance Data.ToHeaders ExecuteCoreNetworkChangeSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON ExecuteCoreNetworkChangeSet where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath ExecuteCoreNetworkChangeSet where+  toPath ExecuteCoreNetworkChangeSet' {..} =+    Prelude.mconcat+      [ "/core-networks/",+        Data.toBS coreNetworkId,+        "/core-network-change-sets/",+        Data.toBS policyVersionId,+        "/execute"+      ]++instance Data.ToQuery ExecuteCoreNetworkChangeSet where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newExecuteCoreNetworkChangeSetResponse' smart constructor.+data ExecuteCoreNetworkChangeSetResponse = ExecuteCoreNetworkChangeSetResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExecuteCoreNetworkChangeSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'executeCoreNetworkChangeSetResponse_httpStatus' - The response's http status code.+newExecuteCoreNetworkChangeSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ExecuteCoreNetworkChangeSetResponse+newExecuteCoreNetworkChangeSetResponse pHttpStatus_ =+  ExecuteCoreNetworkChangeSetResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+executeCoreNetworkChangeSetResponse_httpStatus :: Lens.Lens' ExecuteCoreNetworkChangeSetResponse Prelude.Int+executeCoreNetworkChangeSetResponse_httpStatus = Lens.lens (\ExecuteCoreNetworkChangeSetResponse' {httpStatus} -> httpStatus) (\s@ExecuteCoreNetworkChangeSetResponse' {} a -> s {httpStatus = a} :: ExecuteCoreNetworkChangeSetResponse)++instance+  Prelude.NFData+    ExecuteCoreNetworkChangeSetResponse+  where+  rnf ExecuteCoreNetworkChangeSetResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetConnectAttachment.hs view
@@ -0,0 +1,163 @@+{-# 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.NetworkManager.GetConnectAttachment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a core network Connect attachment.+module Amazonka.NetworkManager.GetConnectAttachment+  ( -- * Creating a Request+    GetConnectAttachment (..),+    newGetConnectAttachment,++    -- * Request Lenses+    getConnectAttachment_attachmentId,++    -- * Destructuring the Response+    GetConnectAttachmentResponse (..),+    newGetConnectAttachmentResponse,++    -- * Response Lenses+    getConnectAttachmentResponse_connectAttachment,+    getConnectAttachmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetConnectAttachment' smart constructor.+data GetConnectAttachment = GetConnectAttachment'+  { -- | The ID of the attachment.+    attachmentId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConnectAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachmentId', 'getConnectAttachment_attachmentId' - The ID of the attachment.+newGetConnectAttachment ::+  -- | 'attachmentId'+  Prelude.Text ->+  GetConnectAttachment+newGetConnectAttachment pAttachmentId_ =+  GetConnectAttachment'+    { attachmentId =+        pAttachmentId_+    }++-- | The ID of the attachment.+getConnectAttachment_attachmentId :: Lens.Lens' GetConnectAttachment Prelude.Text+getConnectAttachment_attachmentId = Lens.lens (\GetConnectAttachment' {attachmentId} -> attachmentId) (\s@GetConnectAttachment' {} a -> s {attachmentId = a} :: GetConnectAttachment)++instance Core.AWSRequest GetConnectAttachment where+  type+    AWSResponse GetConnectAttachment =+      GetConnectAttachmentResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetConnectAttachmentResponse'+            Prelude.<$> (x Data..?> "ConnectAttachment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetConnectAttachment where+  hashWithSalt _salt GetConnectAttachment' {..} =+    _salt `Prelude.hashWithSalt` attachmentId++instance Prelude.NFData GetConnectAttachment where+  rnf GetConnectAttachment' {..} =+    Prelude.rnf attachmentId++instance Data.ToHeaders GetConnectAttachment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetConnectAttachment where+  toPath GetConnectAttachment' {..} =+    Prelude.mconcat+      ["/connect-attachments/", Data.toBS attachmentId]++instance Data.ToQuery GetConnectAttachment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetConnectAttachmentResponse' smart constructor.+data GetConnectAttachmentResponse = GetConnectAttachmentResponse'+  { -- | Details about the Connect attachment.+    connectAttachment :: Prelude.Maybe ConnectAttachment,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConnectAttachmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectAttachment', 'getConnectAttachmentResponse_connectAttachment' - Details about the Connect attachment.+--+-- 'httpStatus', 'getConnectAttachmentResponse_httpStatus' - The response's http status code.+newGetConnectAttachmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetConnectAttachmentResponse+newGetConnectAttachmentResponse pHttpStatus_ =+  GetConnectAttachmentResponse'+    { connectAttachment =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Details about the Connect attachment.+getConnectAttachmentResponse_connectAttachment :: Lens.Lens' GetConnectAttachmentResponse (Prelude.Maybe ConnectAttachment)+getConnectAttachmentResponse_connectAttachment = Lens.lens (\GetConnectAttachmentResponse' {connectAttachment} -> connectAttachment) (\s@GetConnectAttachmentResponse' {} a -> s {connectAttachment = a} :: GetConnectAttachmentResponse)++-- | The response's http status code.+getConnectAttachmentResponse_httpStatus :: Lens.Lens' GetConnectAttachmentResponse Prelude.Int+getConnectAttachmentResponse_httpStatus = Lens.lens (\GetConnectAttachmentResponse' {httpStatus} -> httpStatus) (\s@GetConnectAttachmentResponse' {} a -> s {httpStatus = a} :: GetConnectAttachmentResponse)++instance Prelude.NFData GetConnectAttachmentResponse where+  rnf GetConnectAttachmentResponse' {..} =+    Prelude.rnf connectAttachment+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetConnectPeer.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.GetConnectPeer+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a core network Connect peer.+module Amazonka.NetworkManager.GetConnectPeer+  ( -- * Creating a Request+    GetConnectPeer (..),+    newGetConnectPeer,++    -- * Request Lenses+    getConnectPeer_connectPeerId,++    -- * Destructuring the Response+    GetConnectPeerResponse (..),+    newGetConnectPeerResponse,++    -- * Response Lenses+    getConnectPeerResponse_connectPeer,+    getConnectPeerResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetConnectPeer' smart constructor.+data GetConnectPeer = GetConnectPeer'+  { -- | The ID of the Connect peer.+    connectPeerId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConnectPeer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectPeerId', 'getConnectPeer_connectPeerId' - The ID of the Connect peer.+newGetConnectPeer ::+  -- | 'connectPeerId'+  Prelude.Text ->+  GetConnectPeer+newGetConnectPeer pConnectPeerId_ =+  GetConnectPeer' {connectPeerId = pConnectPeerId_}++-- | The ID of the Connect peer.+getConnectPeer_connectPeerId :: Lens.Lens' GetConnectPeer Prelude.Text+getConnectPeer_connectPeerId = Lens.lens (\GetConnectPeer' {connectPeerId} -> connectPeerId) (\s@GetConnectPeer' {} a -> s {connectPeerId = a} :: GetConnectPeer)++instance Core.AWSRequest GetConnectPeer where+  type+    AWSResponse GetConnectPeer =+      GetConnectPeerResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetConnectPeerResponse'+            Prelude.<$> (x Data..?> "ConnectPeer")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetConnectPeer where+  hashWithSalt _salt GetConnectPeer' {..} =+    _salt `Prelude.hashWithSalt` connectPeerId++instance Prelude.NFData GetConnectPeer where+  rnf GetConnectPeer' {..} = Prelude.rnf connectPeerId++instance Data.ToHeaders GetConnectPeer where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetConnectPeer where+  toPath GetConnectPeer' {..} =+    Prelude.mconcat+      ["/connect-peers/", Data.toBS connectPeerId]++instance Data.ToQuery GetConnectPeer where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetConnectPeerResponse' smart constructor.+data GetConnectPeerResponse = GetConnectPeerResponse'+  { -- | Returns information about a core network Connect peer.+    connectPeer :: Prelude.Maybe ConnectPeer,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConnectPeerResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectPeer', 'getConnectPeerResponse_connectPeer' - Returns information about a core network Connect peer.+--+-- 'httpStatus', 'getConnectPeerResponse_httpStatus' - The response's http status code.+newGetConnectPeerResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetConnectPeerResponse+newGetConnectPeerResponse pHttpStatus_ =+  GetConnectPeerResponse'+    { connectPeer =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Returns information about a core network Connect peer.+getConnectPeerResponse_connectPeer :: Lens.Lens' GetConnectPeerResponse (Prelude.Maybe ConnectPeer)+getConnectPeerResponse_connectPeer = Lens.lens (\GetConnectPeerResponse' {connectPeer} -> connectPeer) (\s@GetConnectPeerResponse' {} a -> s {connectPeer = a} :: GetConnectPeerResponse)++-- | The response's http status code.+getConnectPeerResponse_httpStatus :: Lens.Lens' GetConnectPeerResponse Prelude.Int+getConnectPeerResponse_httpStatus = Lens.lens (\GetConnectPeerResponse' {httpStatus} -> httpStatus) (\s@GetConnectPeerResponse' {} a -> s {httpStatus = a} :: GetConnectPeerResponse)++instance Prelude.NFData GetConnectPeerResponse where+  rnf GetConnectPeerResponse' {..} =+    Prelude.rnf connectPeer+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetConnectPeerAssociations.hs view
@@ -0,0 +1,254 @@+{-# 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.NetworkManager.GetConnectPeerAssociations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a core network Connect peer associations.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetConnectPeerAssociations+  ( -- * Creating a Request+    GetConnectPeerAssociations (..),+    newGetConnectPeerAssociations,++    -- * Request Lenses+    getConnectPeerAssociations_connectPeerIds,+    getConnectPeerAssociations_maxResults,+    getConnectPeerAssociations_nextToken,+    getConnectPeerAssociations_globalNetworkId,++    -- * Destructuring the Response+    GetConnectPeerAssociationsResponse (..),+    newGetConnectPeerAssociationsResponse,++    -- * Response Lenses+    getConnectPeerAssociationsResponse_connectPeerAssociations,+    getConnectPeerAssociationsResponse_nextToken,+    getConnectPeerAssociationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetConnectPeerAssociations' smart constructor.+data GetConnectPeerAssociations = GetConnectPeerAssociations'+  { -- | The IDs of the Connect peers.+    connectPeerIds :: Prelude.Maybe [Prelude.Text],+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConnectPeerAssociations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectPeerIds', 'getConnectPeerAssociations_connectPeerIds' - The IDs of the Connect peers.+--+-- 'maxResults', 'getConnectPeerAssociations_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getConnectPeerAssociations_nextToken' - The token for the next page of results.+--+-- 'globalNetworkId', 'getConnectPeerAssociations_globalNetworkId' - The ID of the global network.+newGetConnectPeerAssociations ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  GetConnectPeerAssociations+newGetConnectPeerAssociations pGlobalNetworkId_ =+  GetConnectPeerAssociations'+    { connectPeerIds =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | The IDs of the Connect peers.+getConnectPeerAssociations_connectPeerIds :: Lens.Lens' GetConnectPeerAssociations (Prelude.Maybe [Prelude.Text])+getConnectPeerAssociations_connectPeerIds = Lens.lens (\GetConnectPeerAssociations' {connectPeerIds} -> connectPeerIds) (\s@GetConnectPeerAssociations' {} a -> s {connectPeerIds = a} :: GetConnectPeerAssociations) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results to return.+getConnectPeerAssociations_maxResults :: Lens.Lens' GetConnectPeerAssociations (Prelude.Maybe Prelude.Natural)+getConnectPeerAssociations_maxResults = Lens.lens (\GetConnectPeerAssociations' {maxResults} -> maxResults) (\s@GetConnectPeerAssociations' {} a -> s {maxResults = a} :: GetConnectPeerAssociations)++-- | The token for the next page of results.+getConnectPeerAssociations_nextToken :: Lens.Lens' GetConnectPeerAssociations (Prelude.Maybe Prelude.Text)+getConnectPeerAssociations_nextToken = Lens.lens (\GetConnectPeerAssociations' {nextToken} -> nextToken) (\s@GetConnectPeerAssociations' {} a -> s {nextToken = a} :: GetConnectPeerAssociations)++-- | The ID of the global network.+getConnectPeerAssociations_globalNetworkId :: Lens.Lens' GetConnectPeerAssociations Prelude.Text+getConnectPeerAssociations_globalNetworkId = Lens.lens (\GetConnectPeerAssociations' {globalNetworkId} -> globalNetworkId) (\s@GetConnectPeerAssociations' {} a -> s {globalNetworkId = a} :: GetConnectPeerAssociations)++instance Core.AWSPager GetConnectPeerAssociations where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getConnectPeerAssociationsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getConnectPeerAssociationsResponse_connectPeerAssociations+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getConnectPeerAssociations_nextToken+          Lens..~ rs+          Lens.^? getConnectPeerAssociationsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetConnectPeerAssociations where+  type+    AWSResponse GetConnectPeerAssociations =+      GetConnectPeerAssociationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetConnectPeerAssociationsResponse'+            Prelude.<$> ( x+                            Data..?> "ConnectPeerAssociations"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetConnectPeerAssociations where+  hashWithSalt _salt GetConnectPeerAssociations' {..} =+    _salt+      `Prelude.hashWithSalt` connectPeerIds+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData GetConnectPeerAssociations where+  rnf GetConnectPeerAssociations' {..} =+    Prelude.rnf connectPeerIds+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf globalNetworkId++instance Data.ToHeaders GetConnectPeerAssociations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetConnectPeerAssociations where+  toPath GetConnectPeerAssociations' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/connect-peer-associations"+      ]++instance Data.ToQuery GetConnectPeerAssociations where+  toQuery GetConnectPeerAssociations' {..} =+    Prelude.mconcat+      [ "connectPeerIds"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> connectPeerIds+            ),+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newGetConnectPeerAssociationsResponse' smart constructor.+data GetConnectPeerAssociationsResponse = GetConnectPeerAssociationsResponse'+  { -- | Displays a list of Connect peer associations.+    connectPeerAssociations :: Prelude.Maybe [ConnectPeerAssociation],+    -- | 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 'GetConnectPeerAssociationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectPeerAssociations', 'getConnectPeerAssociationsResponse_connectPeerAssociations' - Displays a list of Connect peer associations.+--+-- 'nextToken', 'getConnectPeerAssociationsResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'getConnectPeerAssociationsResponse_httpStatus' - The response's http status code.+newGetConnectPeerAssociationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetConnectPeerAssociationsResponse+newGetConnectPeerAssociationsResponse pHttpStatus_ =+  GetConnectPeerAssociationsResponse'+    { connectPeerAssociations =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Displays a list of Connect peer associations.+getConnectPeerAssociationsResponse_connectPeerAssociations :: Lens.Lens' GetConnectPeerAssociationsResponse (Prelude.Maybe [ConnectPeerAssociation])+getConnectPeerAssociationsResponse_connectPeerAssociations = Lens.lens (\GetConnectPeerAssociationsResponse' {connectPeerAssociations} -> connectPeerAssociations) (\s@GetConnectPeerAssociationsResponse' {} a -> s {connectPeerAssociations = a} :: GetConnectPeerAssociationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+getConnectPeerAssociationsResponse_nextToken :: Lens.Lens' GetConnectPeerAssociationsResponse (Prelude.Maybe Prelude.Text)+getConnectPeerAssociationsResponse_nextToken = Lens.lens (\GetConnectPeerAssociationsResponse' {nextToken} -> nextToken) (\s@GetConnectPeerAssociationsResponse' {} a -> s {nextToken = a} :: GetConnectPeerAssociationsResponse)++-- | The response's http status code.+getConnectPeerAssociationsResponse_httpStatus :: Lens.Lens' GetConnectPeerAssociationsResponse Prelude.Int+getConnectPeerAssociationsResponse_httpStatus = Lens.lens (\GetConnectPeerAssociationsResponse' {httpStatus} -> httpStatus) (\s@GetConnectPeerAssociationsResponse' {} a -> s {httpStatus = a} :: GetConnectPeerAssociationsResponse)++instance+  Prelude.NFData+    GetConnectPeerAssociationsResponse+  where+  rnf GetConnectPeerAssociationsResponse' {..} =+    Prelude.rnf connectPeerAssociations+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetConnections.hs view
@@ -0,0 +1,261 @@+{-# 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.NetworkManager.GetConnections+-- 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 information about one or more of your connections in a global+-- network.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetConnections+  ( -- * Creating a Request+    GetConnections (..),+    newGetConnections,++    -- * Request Lenses+    getConnections_connectionIds,+    getConnections_deviceId,+    getConnections_maxResults,+    getConnections_nextToken,+    getConnections_globalNetworkId,++    -- * Destructuring the Response+    GetConnectionsResponse (..),+    newGetConnectionsResponse,++    -- * Response Lenses+    getConnectionsResponse_connections,+    getConnectionsResponse_nextToken,+    getConnectionsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetConnections' smart constructor.+data GetConnections = GetConnections'+  { -- | One or more connection IDs.+    connectionIds :: Prelude.Maybe [Prelude.Text],+    -- | The ID of the device.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetConnections' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectionIds', 'getConnections_connectionIds' - One or more connection IDs.+--+-- 'deviceId', 'getConnections_deviceId' - The ID of the device.+--+-- 'maxResults', 'getConnections_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getConnections_nextToken' - The token for the next page of results.+--+-- 'globalNetworkId', 'getConnections_globalNetworkId' - The ID of the global network.+newGetConnections ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  GetConnections+newGetConnections pGlobalNetworkId_ =+  GetConnections'+    { connectionIds = Prelude.Nothing,+      deviceId = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | One or more connection IDs.+getConnections_connectionIds :: Lens.Lens' GetConnections (Prelude.Maybe [Prelude.Text])+getConnections_connectionIds = Lens.lens (\GetConnections' {connectionIds} -> connectionIds) (\s@GetConnections' {} a -> s {connectionIds = a} :: GetConnections) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the device.+getConnections_deviceId :: Lens.Lens' GetConnections (Prelude.Maybe Prelude.Text)+getConnections_deviceId = Lens.lens (\GetConnections' {deviceId} -> deviceId) (\s@GetConnections' {} a -> s {deviceId = a} :: GetConnections)++-- | The maximum number of results to return.+getConnections_maxResults :: Lens.Lens' GetConnections (Prelude.Maybe Prelude.Natural)+getConnections_maxResults = Lens.lens (\GetConnections' {maxResults} -> maxResults) (\s@GetConnections' {} a -> s {maxResults = a} :: GetConnections)++-- | The token for the next page of results.+getConnections_nextToken :: Lens.Lens' GetConnections (Prelude.Maybe Prelude.Text)+getConnections_nextToken = Lens.lens (\GetConnections' {nextToken} -> nextToken) (\s@GetConnections' {} a -> s {nextToken = a} :: GetConnections)++-- | The ID of the global network.+getConnections_globalNetworkId :: Lens.Lens' GetConnections Prelude.Text+getConnections_globalNetworkId = Lens.lens (\GetConnections' {globalNetworkId} -> globalNetworkId) (\s@GetConnections' {} a -> s {globalNetworkId = a} :: GetConnections)++instance Core.AWSPager GetConnections where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getConnectionsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getConnectionsResponse_connections+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getConnections_nextToken+          Lens..~ rs+          Lens.^? getConnectionsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetConnections where+  type+    AWSResponse GetConnections =+      GetConnectionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetConnectionsResponse'+            Prelude.<$> (x Data..?> "Connections" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetConnections where+  hashWithSalt _salt GetConnections' {..} =+    _salt+      `Prelude.hashWithSalt` connectionIds+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData GetConnections where+  rnf GetConnections' {..} =+    Prelude.rnf connectionIds+      `Prelude.seq` Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf globalNetworkId++instance Data.ToHeaders GetConnections where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetConnections where+  toPath GetConnections' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/connections"+      ]++instance Data.ToQuery GetConnections where+  toQuery GetConnections' {..} =+    Prelude.mconcat+      [ "connectionIds"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> connectionIds+            ),+        "deviceId" Data.=: deviceId,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newGetConnectionsResponse' smart constructor.+data GetConnectionsResponse = GetConnectionsResponse'+  { -- | Information about the connections.+    connections :: Prelude.Maybe [Connection],+    -- | The token to use 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 'GetConnectionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connections', 'getConnectionsResponse_connections' - Information about the connections.+--+-- 'nextToken', 'getConnectionsResponse_nextToken' - The token to use for the next page of results.+--+-- 'httpStatus', 'getConnectionsResponse_httpStatus' - The response's http status code.+newGetConnectionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetConnectionsResponse+newGetConnectionsResponse pHttpStatus_ =+  GetConnectionsResponse'+    { connections =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the connections.+getConnectionsResponse_connections :: Lens.Lens' GetConnectionsResponse (Prelude.Maybe [Connection])+getConnectionsResponse_connections = Lens.lens (\GetConnectionsResponse' {connections} -> connections) (\s@GetConnectionsResponse' {} a -> s {connections = a} :: GetConnectionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token to use for the next page of results.+getConnectionsResponse_nextToken :: Lens.Lens' GetConnectionsResponse (Prelude.Maybe Prelude.Text)+getConnectionsResponse_nextToken = Lens.lens (\GetConnectionsResponse' {nextToken} -> nextToken) (\s@GetConnectionsResponse' {} a -> s {nextToken = a} :: GetConnectionsResponse)++-- | The response's http status code.+getConnectionsResponse_httpStatus :: Lens.Lens' GetConnectionsResponse Prelude.Int+getConnectionsResponse_httpStatus = Lens.lens (\GetConnectionsResponse' {httpStatus} -> httpStatus) (\s@GetConnectionsResponse' {} a -> s {httpStatus = a} :: GetConnectionsResponse)++instance Prelude.NFData GetConnectionsResponse where+  rnf GetConnectionsResponse' {..} =+    Prelude.rnf connections+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetCoreNetwork.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.GetCoreNetwork+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about the LIVE policy for a core network.+module Amazonka.NetworkManager.GetCoreNetwork+  ( -- * Creating a Request+    GetCoreNetwork (..),+    newGetCoreNetwork,++    -- * Request Lenses+    getCoreNetwork_coreNetworkId,++    -- * Destructuring the Response+    GetCoreNetworkResponse (..),+    newGetCoreNetworkResponse,++    -- * Response Lenses+    getCoreNetworkResponse_coreNetwork,+    getCoreNetworkResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetCoreNetwork' smart constructor.+data GetCoreNetwork = GetCoreNetwork'+  { -- | The ID of a core network.+    coreNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCoreNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkId', 'getCoreNetwork_coreNetworkId' - The ID of a core network.+newGetCoreNetwork ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  GetCoreNetwork+newGetCoreNetwork pCoreNetworkId_ =+  GetCoreNetwork' {coreNetworkId = pCoreNetworkId_}++-- | The ID of a core network.+getCoreNetwork_coreNetworkId :: Lens.Lens' GetCoreNetwork Prelude.Text+getCoreNetwork_coreNetworkId = Lens.lens (\GetCoreNetwork' {coreNetworkId} -> coreNetworkId) (\s@GetCoreNetwork' {} a -> s {coreNetworkId = a} :: GetCoreNetwork)++instance Core.AWSRequest GetCoreNetwork where+  type+    AWSResponse GetCoreNetwork =+      GetCoreNetworkResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetCoreNetworkResponse'+            Prelude.<$> (x Data..?> "CoreNetwork")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetCoreNetwork where+  hashWithSalt _salt GetCoreNetwork' {..} =+    _salt `Prelude.hashWithSalt` coreNetworkId++instance Prelude.NFData GetCoreNetwork where+  rnf GetCoreNetwork' {..} = Prelude.rnf coreNetworkId++instance Data.ToHeaders GetCoreNetwork where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetCoreNetwork where+  toPath GetCoreNetwork' {..} =+    Prelude.mconcat+      ["/core-networks/", Data.toBS coreNetworkId]++instance Data.ToQuery GetCoreNetwork where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetCoreNetworkResponse' smart constructor.+data GetCoreNetworkResponse = GetCoreNetworkResponse'+  { -- | Details about a core network.+    coreNetwork :: Prelude.Maybe CoreNetwork,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCoreNetworkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetwork', 'getCoreNetworkResponse_coreNetwork' - Details about a core network.+--+-- 'httpStatus', 'getCoreNetworkResponse_httpStatus' - The response's http status code.+newGetCoreNetworkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetCoreNetworkResponse+newGetCoreNetworkResponse pHttpStatus_ =+  GetCoreNetworkResponse'+    { coreNetwork =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Details about a core network.+getCoreNetworkResponse_coreNetwork :: Lens.Lens' GetCoreNetworkResponse (Prelude.Maybe CoreNetwork)+getCoreNetworkResponse_coreNetwork = Lens.lens (\GetCoreNetworkResponse' {coreNetwork} -> coreNetwork) (\s@GetCoreNetworkResponse' {} a -> s {coreNetwork = a} :: GetCoreNetworkResponse)++-- | The response's http status code.+getCoreNetworkResponse_httpStatus :: Lens.Lens' GetCoreNetworkResponse Prelude.Int+getCoreNetworkResponse_httpStatus = Lens.lens (\GetCoreNetworkResponse' {httpStatus} -> httpStatus) (\s@GetCoreNetworkResponse' {} a -> s {httpStatus = a} :: GetCoreNetworkResponse)++instance Prelude.NFData GetCoreNetworkResponse where+  rnf GetCoreNetworkResponse' {..} =+    Prelude.rnf coreNetwork+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetCoreNetworkChangeEvents.hs view
@@ -0,0 +1,254 @@+{-# 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.NetworkManager.GetCoreNetworkChangeEvents+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a core network change event.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetCoreNetworkChangeEvents+  ( -- * Creating a Request+    GetCoreNetworkChangeEvents (..),+    newGetCoreNetworkChangeEvents,++    -- * Request Lenses+    getCoreNetworkChangeEvents_maxResults,+    getCoreNetworkChangeEvents_nextToken,+    getCoreNetworkChangeEvents_coreNetworkId,+    getCoreNetworkChangeEvents_policyVersionId,++    -- * Destructuring the Response+    GetCoreNetworkChangeEventsResponse (..),+    newGetCoreNetworkChangeEventsResponse,++    -- * Response Lenses+    getCoreNetworkChangeEventsResponse_coreNetworkChangeEvents,+    getCoreNetworkChangeEventsResponse_nextToken,+    getCoreNetworkChangeEventsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetCoreNetworkChangeEvents' smart constructor.+data GetCoreNetworkChangeEvents = GetCoreNetworkChangeEvents'+  { -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Text,+    -- | The ID of the policy version.+    policyVersionId :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCoreNetworkChangeEvents' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getCoreNetworkChangeEvents_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getCoreNetworkChangeEvents_nextToken' - The token for the next page of results.+--+-- 'coreNetworkId', 'getCoreNetworkChangeEvents_coreNetworkId' - The ID of a core network.+--+-- 'policyVersionId', 'getCoreNetworkChangeEvents_policyVersionId' - The ID of the policy version.+newGetCoreNetworkChangeEvents ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  -- | 'policyVersionId'+  Prelude.Int ->+  GetCoreNetworkChangeEvents+newGetCoreNetworkChangeEvents+  pCoreNetworkId_+  pPolicyVersionId_ =+    GetCoreNetworkChangeEvents'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        coreNetworkId = pCoreNetworkId_,+        policyVersionId = pPolicyVersionId_+      }++-- | The maximum number of results to return.+getCoreNetworkChangeEvents_maxResults :: Lens.Lens' GetCoreNetworkChangeEvents (Prelude.Maybe Prelude.Natural)+getCoreNetworkChangeEvents_maxResults = Lens.lens (\GetCoreNetworkChangeEvents' {maxResults} -> maxResults) (\s@GetCoreNetworkChangeEvents' {} a -> s {maxResults = a} :: GetCoreNetworkChangeEvents)++-- | The token for the next page of results.+getCoreNetworkChangeEvents_nextToken :: Lens.Lens' GetCoreNetworkChangeEvents (Prelude.Maybe Prelude.Text)+getCoreNetworkChangeEvents_nextToken = Lens.lens (\GetCoreNetworkChangeEvents' {nextToken} -> nextToken) (\s@GetCoreNetworkChangeEvents' {} a -> s {nextToken = a} :: GetCoreNetworkChangeEvents)++-- | The ID of a core network.+getCoreNetworkChangeEvents_coreNetworkId :: Lens.Lens' GetCoreNetworkChangeEvents Prelude.Text+getCoreNetworkChangeEvents_coreNetworkId = Lens.lens (\GetCoreNetworkChangeEvents' {coreNetworkId} -> coreNetworkId) (\s@GetCoreNetworkChangeEvents' {} a -> s {coreNetworkId = a} :: GetCoreNetworkChangeEvents)++-- | The ID of the policy version.+getCoreNetworkChangeEvents_policyVersionId :: Lens.Lens' GetCoreNetworkChangeEvents Prelude.Int+getCoreNetworkChangeEvents_policyVersionId = Lens.lens (\GetCoreNetworkChangeEvents' {policyVersionId} -> policyVersionId) (\s@GetCoreNetworkChangeEvents' {} a -> s {policyVersionId = a} :: GetCoreNetworkChangeEvents)++instance Core.AWSPager GetCoreNetworkChangeEvents where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getCoreNetworkChangeEventsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getCoreNetworkChangeEventsResponse_coreNetworkChangeEvents+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getCoreNetworkChangeEvents_nextToken+          Lens..~ rs+          Lens.^? getCoreNetworkChangeEventsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetCoreNetworkChangeEvents where+  type+    AWSResponse GetCoreNetworkChangeEvents =+      GetCoreNetworkChangeEventsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetCoreNetworkChangeEventsResponse'+            Prelude.<$> ( x+                            Data..?> "CoreNetworkChangeEvents"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetCoreNetworkChangeEvents where+  hashWithSalt _salt GetCoreNetworkChangeEvents' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` policyVersionId++instance Prelude.NFData GetCoreNetworkChangeEvents where+  rnf GetCoreNetworkChangeEvents' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf policyVersionId++instance Data.ToHeaders GetCoreNetworkChangeEvents where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetCoreNetworkChangeEvents where+  toPath GetCoreNetworkChangeEvents' {..} =+    Prelude.mconcat+      [ "/core-networks/",+        Data.toBS coreNetworkId,+        "/core-network-change-events/",+        Data.toBS policyVersionId+      ]++instance Data.ToQuery GetCoreNetworkChangeEvents where+  toQuery GetCoreNetworkChangeEvents' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newGetCoreNetworkChangeEventsResponse' smart constructor.+data GetCoreNetworkChangeEventsResponse = GetCoreNetworkChangeEventsResponse'+  { -- | The response to @GetCoreNetworkChangeEventsRequest@.+    coreNetworkChangeEvents :: Prelude.Maybe [CoreNetworkChangeEvent],+    -- | 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 'GetCoreNetworkChangeEventsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkChangeEvents', 'getCoreNetworkChangeEventsResponse_coreNetworkChangeEvents' - The response to @GetCoreNetworkChangeEventsRequest@.+--+-- 'nextToken', 'getCoreNetworkChangeEventsResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'getCoreNetworkChangeEventsResponse_httpStatus' - The response's http status code.+newGetCoreNetworkChangeEventsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetCoreNetworkChangeEventsResponse+newGetCoreNetworkChangeEventsResponse pHttpStatus_ =+  GetCoreNetworkChangeEventsResponse'+    { coreNetworkChangeEvents =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The response to @GetCoreNetworkChangeEventsRequest@.+getCoreNetworkChangeEventsResponse_coreNetworkChangeEvents :: Lens.Lens' GetCoreNetworkChangeEventsResponse (Prelude.Maybe [CoreNetworkChangeEvent])+getCoreNetworkChangeEventsResponse_coreNetworkChangeEvents = Lens.lens (\GetCoreNetworkChangeEventsResponse' {coreNetworkChangeEvents} -> coreNetworkChangeEvents) (\s@GetCoreNetworkChangeEventsResponse' {} a -> s {coreNetworkChangeEvents = a} :: GetCoreNetworkChangeEventsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+getCoreNetworkChangeEventsResponse_nextToken :: Lens.Lens' GetCoreNetworkChangeEventsResponse (Prelude.Maybe Prelude.Text)+getCoreNetworkChangeEventsResponse_nextToken = Lens.lens (\GetCoreNetworkChangeEventsResponse' {nextToken} -> nextToken) (\s@GetCoreNetworkChangeEventsResponse' {} a -> s {nextToken = a} :: GetCoreNetworkChangeEventsResponse)++-- | The response's http status code.+getCoreNetworkChangeEventsResponse_httpStatus :: Lens.Lens' GetCoreNetworkChangeEventsResponse Prelude.Int+getCoreNetworkChangeEventsResponse_httpStatus = Lens.lens (\GetCoreNetworkChangeEventsResponse' {httpStatus} -> httpStatus) (\s@GetCoreNetworkChangeEventsResponse' {} a -> s {httpStatus = a} :: GetCoreNetworkChangeEventsResponse)++instance+  Prelude.NFData+    GetCoreNetworkChangeEventsResponse+  where+  rnf GetCoreNetworkChangeEventsResponse' {..} =+    Prelude.rnf coreNetworkChangeEvents+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetCoreNetworkChangeSet.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.NetworkManager.GetCoreNetworkChangeSet+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a change set between the LIVE core network policy and a+-- submitted policy.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetCoreNetworkChangeSet+  ( -- * Creating a Request+    GetCoreNetworkChangeSet (..),+    newGetCoreNetworkChangeSet,++    -- * Request Lenses+    getCoreNetworkChangeSet_maxResults,+    getCoreNetworkChangeSet_nextToken,+    getCoreNetworkChangeSet_coreNetworkId,+    getCoreNetworkChangeSet_policyVersionId,++    -- * Destructuring the Response+    GetCoreNetworkChangeSetResponse (..),+    newGetCoreNetworkChangeSetResponse,++    -- * Response Lenses+    getCoreNetworkChangeSetResponse_coreNetworkChanges,+    getCoreNetworkChangeSetResponse_nextToken,+    getCoreNetworkChangeSetResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetCoreNetworkChangeSet' smart constructor.+data GetCoreNetworkChangeSet = GetCoreNetworkChangeSet'+  { -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Text,+    -- | The ID of the policy version.+    policyVersionId :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCoreNetworkChangeSet' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getCoreNetworkChangeSet_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getCoreNetworkChangeSet_nextToken' - The token for the next page of results.+--+-- 'coreNetworkId', 'getCoreNetworkChangeSet_coreNetworkId' - The ID of a core network.+--+-- 'policyVersionId', 'getCoreNetworkChangeSet_policyVersionId' - The ID of the policy version.+newGetCoreNetworkChangeSet ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  -- | 'policyVersionId'+  Prelude.Int ->+  GetCoreNetworkChangeSet+newGetCoreNetworkChangeSet+  pCoreNetworkId_+  pPolicyVersionId_ =+    GetCoreNetworkChangeSet'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        coreNetworkId = pCoreNetworkId_,+        policyVersionId = pPolicyVersionId_+      }++-- | The maximum number of results to return.+getCoreNetworkChangeSet_maxResults :: Lens.Lens' GetCoreNetworkChangeSet (Prelude.Maybe Prelude.Natural)+getCoreNetworkChangeSet_maxResults = Lens.lens (\GetCoreNetworkChangeSet' {maxResults} -> maxResults) (\s@GetCoreNetworkChangeSet' {} a -> s {maxResults = a} :: GetCoreNetworkChangeSet)++-- | The token for the next page of results.+getCoreNetworkChangeSet_nextToken :: Lens.Lens' GetCoreNetworkChangeSet (Prelude.Maybe Prelude.Text)+getCoreNetworkChangeSet_nextToken = Lens.lens (\GetCoreNetworkChangeSet' {nextToken} -> nextToken) (\s@GetCoreNetworkChangeSet' {} a -> s {nextToken = a} :: GetCoreNetworkChangeSet)++-- | The ID of a core network.+getCoreNetworkChangeSet_coreNetworkId :: Lens.Lens' GetCoreNetworkChangeSet Prelude.Text+getCoreNetworkChangeSet_coreNetworkId = Lens.lens (\GetCoreNetworkChangeSet' {coreNetworkId} -> coreNetworkId) (\s@GetCoreNetworkChangeSet' {} a -> s {coreNetworkId = a} :: GetCoreNetworkChangeSet)++-- | The ID of the policy version.+getCoreNetworkChangeSet_policyVersionId :: Lens.Lens' GetCoreNetworkChangeSet Prelude.Int+getCoreNetworkChangeSet_policyVersionId = Lens.lens (\GetCoreNetworkChangeSet' {policyVersionId} -> policyVersionId) (\s@GetCoreNetworkChangeSet' {} a -> s {policyVersionId = a} :: GetCoreNetworkChangeSet)++instance Core.AWSPager GetCoreNetworkChangeSet where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getCoreNetworkChangeSetResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getCoreNetworkChangeSetResponse_coreNetworkChanges+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getCoreNetworkChangeSet_nextToken+          Lens..~ rs+          Lens.^? getCoreNetworkChangeSetResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetCoreNetworkChangeSet where+  type+    AWSResponse GetCoreNetworkChangeSet =+      GetCoreNetworkChangeSetResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetCoreNetworkChangeSetResponse'+            Prelude.<$> ( x+                            Data..?> "CoreNetworkChanges"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetCoreNetworkChangeSet where+  hashWithSalt _salt GetCoreNetworkChangeSet' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` policyVersionId++instance Prelude.NFData GetCoreNetworkChangeSet where+  rnf GetCoreNetworkChangeSet' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf policyVersionId++instance Data.ToHeaders GetCoreNetworkChangeSet where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetCoreNetworkChangeSet where+  toPath GetCoreNetworkChangeSet' {..} =+    Prelude.mconcat+      [ "/core-networks/",+        Data.toBS coreNetworkId,+        "/core-network-change-sets/",+        Data.toBS policyVersionId+      ]++instance Data.ToQuery GetCoreNetworkChangeSet where+  toQuery GetCoreNetworkChangeSet' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newGetCoreNetworkChangeSetResponse' smart constructor.+data GetCoreNetworkChangeSetResponse = GetCoreNetworkChangeSetResponse'+  { -- | Describes a core network changes.+    coreNetworkChanges :: Prelude.Maybe [CoreNetworkChange],+    -- | 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 'GetCoreNetworkChangeSetResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkChanges', 'getCoreNetworkChangeSetResponse_coreNetworkChanges' - Describes a core network changes.+--+-- 'nextToken', 'getCoreNetworkChangeSetResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'getCoreNetworkChangeSetResponse_httpStatus' - The response's http status code.+newGetCoreNetworkChangeSetResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetCoreNetworkChangeSetResponse+newGetCoreNetworkChangeSetResponse pHttpStatus_ =+  GetCoreNetworkChangeSetResponse'+    { coreNetworkChanges =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Describes a core network changes.+getCoreNetworkChangeSetResponse_coreNetworkChanges :: Lens.Lens' GetCoreNetworkChangeSetResponse (Prelude.Maybe [CoreNetworkChange])+getCoreNetworkChangeSetResponse_coreNetworkChanges = Lens.lens (\GetCoreNetworkChangeSetResponse' {coreNetworkChanges} -> coreNetworkChanges) (\s@GetCoreNetworkChangeSetResponse' {} a -> s {coreNetworkChanges = a} :: GetCoreNetworkChangeSetResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+getCoreNetworkChangeSetResponse_nextToken :: Lens.Lens' GetCoreNetworkChangeSetResponse (Prelude.Maybe Prelude.Text)+getCoreNetworkChangeSetResponse_nextToken = Lens.lens (\GetCoreNetworkChangeSetResponse' {nextToken} -> nextToken) (\s@GetCoreNetworkChangeSetResponse' {} a -> s {nextToken = a} :: GetCoreNetworkChangeSetResponse)++-- | The response's http status code.+getCoreNetworkChangeSetResponse_httpStatus :: Lens.Lens' GetCoreNetworkChangeSetResponse Prelude.Int+getCoreNetworkChangeSetResponse_httpStatus = Lens.lens (\GetCoreNetworkChangeSetResponse' {httpStatus} -> httpStatus) (\s@GetCoreNetworkChangeSetResponse' {} a -> s {httpStatus = a} :: GetCoreNetworkChangeSetResponse)++instance+  Prelude.NFData+    GetCoreNetworkChangeSetResponse+  where+  rnf GetCoreNetworkChangeSetResponse' {..} =+    Prelude.rnf coreNetworkChanges+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetCoreNetworkPolicy.hs view
@@ -0,0 +1,195 @@+{-# 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.NetworkManager.GetCoreNetworkPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns details about a core network policy. You can get details about+-- your current live policy or any previous policy version.+module Amazonka.NetworkManager.GetCoreNetworkPolicy+  ( -- * Creating a Request+    GetCoreNetworkPolicy (..),+    newGetCoreNetworkPolicy,++    -- * Request Lenses+    getCoreNetworkPolicy_alias,+    getCoreNetworkPolicy_policyVersionId,+    getCoreNetworkPolicy_coreNetworkId,++    -- * Destructuring the Response+    GetCoreNetworkPolicyResponse (..),+    newGetCoreNetworkPolicyResponse,++    -- * Response Lenses+    getCoreNetworkPolicyResponse_coreNetworkPolicy,+    getCoreNetworkPolicyResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetCoreNetworkPolicy' smart constructor.+data GetCoreNetworkPolicy = GetCoreNetworkPolicy'+  { -- | The alias of a core network policy+    alias :: Prelude.Maybe CoreNetworkPolicyAlias,+    -- | The ID of a core network policy version.+    policyVersionId :: Prelude.Maybe Prelude.Int,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCoreNetworkPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'getCoreNetworkPolicy_alias' - The alias of a core network policy+--+-- 'policyVersionId', 'getCoreNetworkPolicy_policyVersionId' - The ID of a core network policy version.+--+-- 'coreNetworkId', 'getCoreNetworkPolicy_coreNetworkId' - The ID of a core network.+newGetCoreNetworkPolicy ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  GetCoreNetworkPolicy+newGetCoreNetworkPolicy pCoreNetworkId_ =+  GetCoreNetworkPolicy'+    { alias = Prelude.Nothing,+      policyVersionId = Prelude.Nothing,+      coreNetworkId = pCoreNetworkId_+    }++-- | The alias of a core network policy+getCoreNetworkPolicy_alias :: Lens.Lens' GetCoreNetworkPolicy (Prelude.Maybe CoreNetworkPolicyAlias)+getCoreNetworkPolicy_alias = Lens.lens (\GetCoreNetworkPolicy' {alias} -> alias) (\s@GetCoreNetworkPolicy' {} a -> s {alias = a} :: GetCoreNetworkPolicy)++-- | The ID of a core network policy version.+getCoreNetworkPolicy_policyVersionId :: Lens.Lens' GetCoreNetworkPolicy (Prelude.Maybe Prelude.Int)+getCoreNetworkPolicy_policyVersionId = Lens.lens (\GetCoreNetworkPolicy' {policyVersionId} -> policyVersionId) (\s@GetCoreNetworkPolicy' {} a -> s {policyVersionId = a} :: GetCoreNetworkPolicy)++-- | The ID of a core network.+getCoreNetworkPolicy_coreNetworkId :: Lens.Lens' GetCoreNetworkPolicy Prelude.Text+getCoreNetworkPolicy_coreNetworkId = Lens.lens (\GetCoreNetworkPolicy' {coreNetworkId} -> coreNetworkId) (\s@GetCoreNetworkPolicy' {} a -> s {coreNetworkId = a} :: GetCoreNetworkPolicy)++instance Core.AWSRequest GetCoreNetworkPolicy where+  type+    AWSResponse GetCoreNetworkPolicy =+      GetCoreNetworkPolicyResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetCoreNetworkPolicyResponse'+            Prelude.<$> (x Data..?> "CoreNetworkPolicy")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetCoreNetworkPolicy where+  hashWithSalt _salt GetCoreNetworkPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` alias+      `Prelude.hashWithSalt` policyVersionId+      `Prelude.hashWithSalt` coreNetworkId++instance Prelude.NFData GetCoreNetworkPolicy where+  rnf GetCoreNetworkPolicy' {..} =+    Prelude.rnf alias+      `Prelude.seq` Prelude.rnf policyVersionId+      `Prelude.seq` Prelude.rnf coreNetworkId++instance Data.ToHeaders GetCoreNetworkPolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetCoreNetworkPolicy where+  toPath GetCoreNetworkPolicy' {..} =+    Prelude.mconcat+      [ "/core-networks/",+        Data.toBS coreNetworkId,+        "/core-network-policy"+      ]++instance Data.ToQuery GetCoreNetworkPolicy where+  toQuery GetCoreNetworkPolicy' {..} =+    Prelude.mconcat+      [ "alias" Data.=: alias,+        "policyVersionId" Data.=: policyVersionId+      ]++-- | /See:/ 'newGetCoreNetworkPolicyResponse' smart constructor.+data GetCoreNetworkPolicyResponse = GetCoreNetworkPolicyResponse'+  { -- | The details about a core network policy.+    coreNetworkPolicy :: Prelude.Maybe CoreNetworkPolicy,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCoreNetworkPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkPolicy', 'getCoreNetworkPolicyResponse_coreNetworkPolicy' - The details about a core network policy.+--+-- 'httpStatus', 'getCoreNetworkPolicyResponse_httpStatus' - The response's http status code.+newGetCoreNetworkPolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetCoreNetworkPolicyResponse+newGetCoreNetworkPolicyResponse pHttpStatus_ =+  GetCoreNetworkPolicyResponse'+    { coreNetworkPolicy =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The details about a core network policy.+getCoreNetworkPolicyResponse_coreNetworkPolicy :: Lens.Lens' GetCoreNetworkPolicyResponse (Prelude.Maybe CoreNetworkPolicy)+getCoreNetworkPolicyResponse_coreNetworkPolicy = Lens.lens (\GetCoreNetworkPolicyResponse' {coreNetworkPolicy} -> coreNetworkPolicy) (\s@GetCoreNetworkPolicyResponse' {} a -> s {coreNetworkPolicy = a} :: GetCoreNetworkPolicyResponse)++-- | The response's http status code.+getCoreNetworkPolicyResponse_httpStatus :: Lens.Lens' GetCoreNetworkPolicyResponse Prelude.Int+getCoreNetworkPolicyResponse_httpStatus = Lens.lens (\GetCoreNetworkPolicyResponse' {httpStatus} -> httpStatus) (\s@GetCoreNetworkPolicyResponse' {} a -> s {httpStatus = a} :: GetCoreNetworkPolicyResponse)++instance Prelude.NFData GetCoreNetworkPolicyResponse where+  rnf GetCoreNetworkPolicyResponse' {..} =+    Prelude.rnf coreNetworkPolicy+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetCustomerGatewayAssociations.hs view
@@ -0,0 +1,273 @@+{-# 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.NetworkManager.GetCustomerGatewayAssociations+-- 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 association information for customer gateways that are+-- associated with devices and links in your global network.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetCustomerGatewayAssociations+  ( -- * Creating a Request+    GetCustomerGatewayAssociations (..),+    newGetCustomerGatewayAssociations,++    -- * Request Lenses+    getCustomerGatewayAssociations_customerGatewayArns,+    getCustomerGatewayAssociations_maxResults,+    getCustomerGatewayAssociations_nextToken,+    getCustomerGatewayAssociations_globalNetworkId,++    -- * Destructuring the Response+    GetCustomerGatewayAssociationsResponse (..),+    newGetCustomerGatewayAssociationsResponse,++    -- * Response Lenses+    getCustomerGatewayAssociationsResponse_customerGatewayAssociations,+    getCustomerGatewayAssociationsResponse_nextToken,+    getCustomerGatewayAssociationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetCustomerGatewayAssociations' smart constructor.+data GetCustomerGatewayAssociations = GetCustomerGatewayAssociations'+  { -- | One or more customer gateway Amazon Resource Names (ARNs). The maximum+    -- is 10.+    customerGatewayArns :: Prelude.Maybe [Prelude.Text],+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetCustomerGatewayAssociations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customerGatewayArns', 'getCustomerGatewayAssociations_customerGatewayArns' - One or more customer gateway Amazon Resource Names (ARNs). The maximum+-- is 10.+--+-- 'maxResults', 'getCustomerGatewayAssociations_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getCustomerGatewayAssociations_nextToken' - The token for the next page of results.+--+-- 'globalNetworkId', 'getCustomerGatewayAssociations_globalNetworkId' - The ID of the global network.+newGetCustomerGatewayAssociations ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  GetCustomerGatewayAssociations+newGetCustomerGatewayAssociations pGlobalNetworkId_ =+  GetCustomerGatewayAssociations'+    { customerGatewayArns =+        Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | One or more customer gateway Amazon Resource Names (ARNs). The maximum+-- is 10.+getCustomerGatewayAssociations_customerGatewayArns :: Lens.Lens' GetCustomerGatewayAssociations (Prelude.Maybe [Prelude.Text])+getCustomerGatewayAssociations_customerGatewayArns = Lens.lens (\GetCustomerGatewayAssociations' {customerGatewayArns} -> customerGatewayArns) (\s@GetCustomerGatewayAssociations' {} a -> s {customerGatewayArns = a} :: GetCustomerGatewayAssociations) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results to return.+getCustomerGatewayAssociations_maxResults :: Lens.Lens' GetCustomerGatewayAssociations (Prelude.Maybe Prelude.Natural)+getCustomerGatewayAssociations_maxResults = Lens.lens (\GetCustomerGatewayAssociations' {maxResults} -> maxResults) (\s@GetCustomerGatewayAssociations' {} a -> s {maxResults = a} :: GetCustomerGatewayAssociations)++-- | The token for the next page of results.+getCustomerGatewayAssociations_nextToken :: Lens.Lens' GetCustomerGatewayAssociations (Prelude.Maybe Prelude.Text)+getCustomerGatewayAssociations_nextToken = Lens.lens (\GetCustomerGatewayAssociations' {nextToken} -> nextToken) (\s@GetCustomerGatewayAssociations' {} a -> s {nextToken = a} :: GetCustomerGatewayAssociations)++-- | The ID of the global network.+getCustomerGatewayAssociations_globalNetworkId :: Lens.Lens' GetCustomerGatewayAssociations Prelude.Text+getCustomerGatewayAssociations_globalNetworkId = Lens.lens (\GetCustomerGatewayAssociations' {globalNetworkId} -> globalNetworkId) (\s@GetCustomerGatewayAssociations' {} a -> s {globalNetworkId = a} :: GetCustomerGatewayAssociations)++instance Core.AWSPager GetCustomerGatewayAssociations where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getCustomerGatewayAssociationsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getCustomerGatewayAssociationsResponse_customerGatewayAssociations+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getCustomerGatewayAssociations_nextToken+          Lens..~ rs+          Lens.^? getCustomerGatewayAssociationsResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    GetCustomerGatewayAssociations+  where+  type+    AWSResponse GetCustomerGatewayAssociations =+      GetCustomerGatewayAssociationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetCustomerGatewayAssociationsResponse'+            Prelude.<$> ( x+                            Data..?> "CustomerGatewayAssociations"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetCustomerGatewayAssociations+  where+  hashWithSalt+    _salt+    GetCustomerGatewayAssociations' {..} =+      _salt+        `Prelude.hashWithSalt` customerGatewayArns+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` globalNetworkId++instance+  Prelude.NFData+    GetCustomerGatewayAssociations+  where+  rnf GetCustomerGatewayAssociations' {..} =+    Prelude.rnf customerGatewayArns+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf globalNetworkId++instance+  Data.ToHeaders+    GetCustomerGatewayAssociations+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetCustomerGatewayAssociations where+  toPath GetCustomerGatewayAssociations' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/customer-gateway-associations"+      ]++instance Data.ToQuery GetCustomerGatewayAssociations where+  toQuery GetCustomerGatewayAssociations' {..} =+    Prelude.mconcat+      [ "customerGatewayArns"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> customerGatewayArns+            ),+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newGetCustomerGatewayAssociationsResponse' smart constructor.+data GetCustomerGatewayAssociationsResponse = GetCustomerGatewayAssociationsResponse'+  { -- | The customer gateway associations.+    customerGatewayAssociations :: Prelude.Maybe [CustomerGatewayAssociation],+    -- | 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 'GetCustomerGatewayAssociationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customerGatewayAssociations', 'getCustomerGatewayAssociationsResponse_customerGatewayAssociations' - The customer gateway associations.+--+-- 'nextToken', 'getCustomerGatewayAssociationsResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'getCustomerGatewayAssociationsResponse_httpStatus' - The response's http status code.+newGetCustomerGatewayAssociationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetCustomerGatewayAssociationsResponse+newGetCustomerGatewayAssociationsResponse+  pHttpStatus_ =+    GetCustomerGatewayAssociationsResponse'+      { customerGatewayAssociations =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The customer gateway associations.+getCustomerGatewayAssociationsResponse_customerGatewayAssociations :: Lens.Lens' GetCustomerGatewayAssociationsResponse (Prelude.Maybe [CustomerGatewayAssociation])+getCustomerGatewayAssociationsResponse_customerGatewayAssociations = Lens.lens (\GetCustomerGatewayAssociationsResponse' {customerGatewayAssociations} -> customerGatewayAssociations) (\s@GetCustomerGatewayAssociationsResponse' {} a -> s {customerGatewayAssociations = a} :: GetCustomerGatewayAssociationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+getCustomerGatewayAssociationsResponse_nextToken :: Lens.Lens' GetCustomerGatewayAssociationsResponse (Prelude.Maybe Prelude.Text)+getCustomerGatewayAssociationsResponse_nextToken = Lens.lens (\GetCustomerGatewayAssociationsResponse' {nextToken} -> nextToken) (\s@GetCustomerGatewayAssociationsResponse' {} a -> s {nextToken = a} :: GetCustomerGatewayAssociationsResponse)++-- | The response's http status code.+getCustomerGatewayAssociationsResponse_httpStatus :: Lens.Lens' GetCustomerGatewayAssociationsResponse Prelude.Int+getCustomerGatewayAssociationsResponse_httpStatus = Lens.lens (\GetCustomerGatewayAssociationsResponse' {httpStatus} -> httpStatus) (\s@GetCustomerGatewayAssociationsResponse' {} a -> s {httpStatus = a} :: GetCustomerGatewayAssociationsResponse)++instance+  Prelude.NFData+    GetCustomerGatewayAssociationsResponse+  where+  rnf GetCustomerGatewayAssociationsResponse' {..} =+    Prelude.rnf customerGatewayAssociations+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetDevices.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.NetworkManager.GetDevices+-- 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 information about one or more of your devices in a global network.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetDevices+  ( -- * Creating a Request+    GetDevices (..),+    newGetDevices,++    -- * Request Lenses+    getDevices_deviceIds,+    getDevices_maxResults,+    getDevices_nextToken,+    getDevices_siteId,+    getDevices_globalNetworkId,++    -- * Destructuring the Response+    GetDevicesResponse (..),+    newGetDevicesResponse,++    -- * Response Lenses+    getDevicesResponse_devices,+    getDevicesResponse_nextToken,+    getDevicesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetDevices' smart constructor.+data GetDevices = GetDevices'+  { -- | One or more device IDs. The maximum is 10.+    deviceIds :: Prelude.Maybe [Prelude.Text],+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the site.+    siteId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetDevices' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceIds', 'getDevices_deviceIds' - One or more device IDs. The maximum is 10.+--+-- 'maxResults', 'getDevices_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getDevices_nextToken' - The token for the next page of results.+--+-- 'siteId', 'getDevices_siteId' - The ID of the site.+--+-- 'globalNetworkId', 'getDevices_globalNetworkId' - The ID of the global network.+newGetDevices ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  GetDevices+newGetDevices pGlobalNetworkId_ =+  GetDevices'+    { deviceIds = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      siteId = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | One or more device IDs. The maximum is 10.+getDevices_deviceIds :: Lens.Lens' GetDevices (Prelude.Maybe [Prelude.Text])+getDevices_deviceIds = Lens.lens (\GetDevices' {deviceIds} -> deviceIds) (\s@GetDevices' {} a -> s {deviceIds = a} :: GetDevices) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results to return.+getDevices_maxResults :: Lens.Lens' GetDevices (Prelude.Maybe Prelude.Natural)+getDevices_maxResults = Lens.lens (\GetDevices' {maxResults} -> maxResults) (\s@GetDevices' {} a -> s {maxResults = a} :: GetDevices)++-- | The token for the next page of results.+getDevices_nextToken :: Lens.Lens' GetDevices (Prelude.Maybe Prelude.Text)+getDevices_nextToken = Lens.lens (\GetDevices' {nextToken} -> nextToken) (\s@GetDevices' {} a -> s {nextToken = a} :: GetDevices)++-- | The ID of the site.+getDevices_siteId :: Lens.Lens' GetDevices (Prelude.Maybe Prelude.Text)+getDevices_siteId = Lens.lens (\GetDevices' {siteId} -> siteId) (\s@GetDevices' {} a -> s {siteId = a} :: GetDevices)++-- | The ID of the global network.+getDevices_globalNetworkId :: Lens.Lens' GetDevices Prelude.Text+getDevices_globalNetworkId = Lens.lens (\GetDevices' {globalNetworkId} -> globalNetworkId) (\s@GetDevices' {} a -> s {globalNetworkId = a} :: GetDevices)++instance Core.AWSPager GetDevices where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getDevicesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getDevicesResponse_devices+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getDevices_nextToken+          Lens..~ rs+          Lens.^? getDevicesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetDevices where+  type AWSResponse GetDevices = GetDevicesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetDevicesResponse'+            Prelude.<$> (x Data..?> "Devices" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetDevices where+  hashWithSalt _salt GetDevices' {..} =+    _salt+      `Prelude.hashWithSalt` deviceIds+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` siteId+      `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData GetDevices where+  rnf GetDevices' {..} =+    Prelude.rnf deviceIds+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf siteId+      `Prelude.seq` Prelude.rnf globalNetworkId++instance Data.ToHeaders GetDevices where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetDevices where+  toPath GetDevices' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/devices"+      ]++instance Data.ToQuery GetDevices where+  toQuery GetDevices' {..} =+    Prelude.mconcat+      [ "deviceIds"+          Data.=: Data.toQuery+            (Data.toQueryList "member" Prelude.<$> deviceIds),+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "siteId" Data.=: siteId+      ]++-- | /See:/ 'newGetDevicesResponse' smart constructor.+data GetDevicesResponse = GetDevicesResponse'+  { -- | The devices.+    devices :: Prelude.Maybe [Device],+    -- | 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 'GetDevicesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'devices', 'getDevicesResponse_devices' - The devices.+--+-- 'nextToken', 'getDevicesResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'getDevicesResponse_httpStatus' - The response's http status code.+newGetDevicesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetDevicesResponse+newGetDevicesResponse pHttpStatus_ =+  GetDevicesResponse'+    { devices = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The devices.+getDevicesResponse_devices :: Lens.Lens' GetDevicesResponse (Prelude.Maybe [Device])+getDevicesResponse_devices = Lens.lens (\GetDevicesResponse' {devices} -> devices) (\s@GetDevicesResponse' {} a -> s {devices = a} :: GetDevicesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+getDevicesResponse_nextToken :: Lens.Lens' GetDevicesResponse (Prelude.Maybe Prelude.Text)+getDevicesResponse_nextToken = Lens.lens (\GetDevicesResponse' {nextToken} -> nextToken) (\s@GetDevicesResponse' {} a -> s {nextToken = a} :: GetDevicesResponse)++-- | The response's http status code.+getDevicesResponse_httpStatus :: Lens.Lens' GetDevicesResponse Prelude.Int+getDevicesResponse_httpStatus = Lens.lens (\GetDevicesResponse' {httpStatus} -> httpStatus) (\s@GetDevicesResponse' {} a -> s {httpStatus = a} :: GetDevicesResponse)++instance Prelude.NFData GetDevicesResponse where+  rnf GetDevicesResponse' {..} =+    Prelude.rnf devices+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetLinkAssociations.hs view
@@ -0,0 +1,260 @@+{-# 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.NetworkManager.GetLinkAssociations+-- 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 link associations for a device or a link. Either the device ID+-- or the link ID must be specified.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetLinkAssociations+  ( -- * Creating a Request+    GetLinkAssociations (..),+    newGetLinkAssociations,++    -- * Request Lenses+    getLinkAssociations_deviceId,+    getLinkAssociations_linkId,+    getLinkAssociations_maxResults,+    getLinkAssociations_nextToken,+    getLinkAssociations_globalNetworkId,++    -- * Destructuring the Response+    GetLinkAssociationsResponse (..),+    newGetLinkAssociationsResponse,++    -- * Response Lenses+    getLinkAssociationsResponse_linkAssociations,+    getLinkAssociationsResponse_nextToken,+    getLinkAssociationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLinkAssociations' smart constructor.+data GetLinkAssociations = GetLinkAssociations'+  { -- | The ID of the device.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the link.+    linkId :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLinkAssociations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'getLinkAssociations_deviceId' - The ID of the device.+--+-- 'linkId', 'getLinkAssociations_linkId' - The ID of the link.+--+-- 'maxResults', 'getLinkAssociations_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getLinkAssociations_nextToken' - The token for the next page of results.+--+-- 'globalNetworkId', 'getLinkAssociations_globalNetworkId' - The ID of the global network.+newGetLinkAssociations ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  GetLinkAssociations+newGetLinkAssociations pGlobalNetworkId_ =+  GetLinkAssociations'+    { deviceId = Prelude.Nothing,+      linkId = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | The ID of the device.+getLinkAssociations_deviceId :: Lens.Lens' GetLinkAssociations (Prelude.Maybe Prelude.Text)+getLinkAssociations_deviceId = Lens.lens (\GetLinkAssociations' {deviceId} -> deviceId) (\s@GetLinkAssociations' {} a -> s {deviceId = a} :: GetLinkAssociations)++-- | The ID of the link.+getLinkAssociations_linkId :: Lens.Lens' GetLinkAssociations (Prelude.Maybe Prelude.Text)+getLinkAssociations_linkId = Lens.lens (\GetLinkAssociations' {linkId} -> linkId) (\s@GetLinkAssociations' {} a -> s {linkId = a} :: GetLinkAssociations)++-- | The maximum number of results to return.+getLinkAssociations_maxResults :: Lens.Lens' GetLinkAssociations (Prelude.Maybe Prelude.Natural)+getLinkAssociations_maxResults = Lens.lens (\GetLinkAssociations' {maxResults} -> maxResults) (\s@GetLinkAssociations' {} a -> s {maxResults = a} :: GetLinkAssociations)++-- | The token for the next page of results.+getLinkAssociations_nextToken :: Lens.Lens' GetLinkAssociations (Prelude.Maybe Prelude.Text)+getLinkAssociations_nextToken = Lens.lens (\GetLinkAssociations' {nextToken} -> nextToken) (\s@GetLinkAssociations' {} a -> s {nextToken = a} :: GetLinkAssociations)++-- | The ID of the global network.+getLinkAssociations_globalNetworkId :: Lens.Lens' GetLinkAssociations Prelude.Text+getLinkAssociations_globalNetworkId = Lens.lens (\GetLinkAssociations' {globalNetworkId} -> globalNetworkId) (\s@GetLinkAssociations' {} a -> s {globalNetworkId = a} :: GetLinkAssociations)++instance Core.AWSPager GetLinkAssociations where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getLinkAssociationsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getLinkAssociationsResponse_linkAssociations+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getLinkAssociations_nextToken+          Lens..~ rs+          Lens.^? getLinkAssociationsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetLinkAssociations where+  type+    AWSResponse GetLinkAssociations =+      GetLinkAssociationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetLinkAssociationsResponse'+            Prelude.<$> ( x+                            Data..?> "LinkAssociations"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetLinkAssociations where+  hashWithSalt _salt GetLinkAssociations' {..} =+    _salt+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` linkId+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData GetLinkAssociations where+  rnf GetLinkAssociations' {..} =+    Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf linkId+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf globalNetworkId++instance Data.ToHeaders GetLinkAssociations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetLinkAssociations where+  toPath GetLinkAssociations' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/link-associations"+      ]++instance Data.ToQuery GetLinkAssociations where+  toQuery GetLinkAssociations' {..} =+    Prelude.mconcat+      [ "deviceId" Data.=: deviceId,+        "linkId" Data.=: linkId,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newGetLinkAssociationsResponse' smart constructor.+data GetLinkAssociationsResponse = GetLinkAssociationsResponse'+  { -- | The link associations.+    linkAssociations :: Prelude.Maybe [LinkAssociation],+    -- | 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 'GetLinkAssociationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'linkAssociations', 'getLinkAssociationsResponse_linkAssociations' - The link associations.+--+-- 'nextToken', 'getLinkAssociationsResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'getLinkAssociationsResponse_httpStatus' - The response's http status code.+newGetLinkAssociationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetLinkAssociationsResponse+newGetLinkAssociationsResponse pHttpStatus_ =+  GetLinkAssociationsResponse'+    { linkAssociations =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The link associations.+getLinkAssociationsResponse_linkAssociations :: Lens.Lens' GetLinkAssociationsResponse (Prelude.Maybe [LinkAssociation])+getLinkAssociationsResponse_linkAssociations = Lens.lens (\GetLinkAssociationsResponse' {linkAssociations} -> linkAssociations) (\s@GetLinkAssociationsResponse' {} a -> s {linkAssociations = a} :: GetLinkAssociationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+getLinkAssociationsResponse_nextToken :: Lens.Lens' GetLinkAssociationsResponse (Prelude.Maybe Prelude.Text)+getLinkAssociationsResponse_nextToken = Lens.lens (\GetLinkAssociationsResponse' {nextToken} -> nextToken) (\s@GetLinkAssociationsResponse' {} a -> s {nextToken = a} :: GetLinkAssociationsResponse)++-- | The response's http status code.+getLinkAssociationsResponse_httpStatus :: Lens.Lens' GetLinkAssociationsResponse Prelude.Int+getLinkAssociationsResponse_httpStatus = Lens.lens (\GetLinkAssociationsResponse' {httpStatus} -> httpStatus) (\s@GetLinkAssociationsResponse' {} a -> s {httpStatus = a} :: GetLinkAssociationsResponse)++instance Prelude.NFData GetLinkAssociationsResponse where+  rnf GetLinkAssociationsResponse' {..} =+    Prelude.rnf linkAssociations+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetLinks.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.NetworkManager.GetLinks+-- 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 information about one or more links in a specified global network.+--+-- If you specify the site ID, you cannot specify the type or provider in+-- the same request. You can specify the type and provider in the same+-- request.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetLinks+  ( -- * Creating a Request+    GetLinks (..),+    newGetLinks,++    -- * Request Lenses+    getLinks_linkIds,+    getLinks_maxResults,+    getLinks_nextToken,+    getLinks_provider,+    getLinks_siteId,+    getLinks_type,+    getLinks_globalNetworkId,++    -- * Destructuring the Response+    GetLinksResponse (..),+    newGetLinksResponse,++    -- * Response Lenses+    getLinksResponse_links,+    getLinksResponse_nextToken,+    getLinksResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetLinks' smart constructor.+data GetLinks = GetLinks'+  { -- | One or more link IDs. The maximum is 10.+    linkIds :: Prelude.Maybe [Prelude.Text],+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The link provider.+    provider :: Prelude.Maybe Prelude.Text,+    -- | The ID of the site.+    siteId :: Prelude.Maybe Prelude.Text,+    -- | The link type.+    type' :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetLinks' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'linkIds', 'getLinks_linkIds' - One or more link IDs. The maximum is 10.+--+-- 'maxResults', 'getLinks_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getLinks_nextToken' - The token for the next page of results.+--+-- 'provider', 'getLinks_provider' - The link provider.+--+-- 'siteId', 'getLinks_siteId' - The ID of the site.+--+-- 'type'', 'getLinks_type' - The link type.+--+-- 'globalNetworkId', 'getLinks_globalNetworkId' - The ID of the global network.+newGetLinks ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  GetLinks+newGetLinks pGlobalNetworkId_ =+  GetLinks'+    { linkIds = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      provider = Prelude.Nothing,+      siteId = Prelude.Nothing,+      type' = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | One or more link IDs. The maximum is 10.+getLinks_linkIds :: Lens.Lens' GetLinks (Prelude.Maybe [Prelude.Text])+getLinks_linkIds = Lens.lens (\GetLinks' {linkIds} -> linkIds) (\s@GetLinks' {} a -> s {linkIds = a} :: GetLinks) Prelude.. Lens.mapping Lens.coerced++-- | The maximum number of results to return.+getLinks_maxResults :: Lens.Lens' GetLinks (Prelude.Maybe Prelude.Natural)+getLinks_maxResults = Lens.lens (\GetLinks' {maxResults} -> maxResults) (\s@GetLinks' {} a -> s {maxResults = a} :: GetLinks)++-- | The token for the next page of results.+getLinks_nextToken :: Lens.Lens' GetLinks (Prelude.Maybe Prelude.Text)+getLinks_nextToken = Lens.lens (\GetLinks' {nextToken} -> nextToken) (\s@GetLinks' {} a -> s {nextToken = a} :: GetLinks)++-- | The link provider.+getLinks_provider :: Lens.Lens' GetLinks (Prelude.Maybe Prelude.Text)+getLinks_provider = Lens.lens (\GetLinks' {provider} -> provider) (\s@GetLinks' {} a -> s {provider = a} :: GetLinks)++-- | The ID of the site.+getLinks_siteId :: Lens.Lens' GetLinks (Prelude.Maybe Prelude.Text)+getLinks_siteId = Lens.lens (\GetLinks' {siteId} -> siteId) (\s@GetLinks' {} a -> s {siteId = a} :: GetLinks)++-- | The link type.+getLinks_type :: Lens.Lens' GetLinks (Prelude.Maybe Prelude.Text)+getLinks_type = Lens.lens (\GetLinks' {type'} -> type') (\s@GetLinks' {} a -> s {type' = a} :: GetLinks)++-- | The ID of the global network.+getLinks_globalNetworkId :: Lens.Lens' GetLinks Prelude.Text+getLinks_globalNetworkId = Lens.lens (\GetLinks' {globalNetworkId} -> globalNetworkId) (\s@GetLinks' {} a -> s {globalNetworkId = a} :: GetLinks)++instance Core.AWSPager GetLinks where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getLinksResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getLinksResponse_links+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getLinks_nextToken+          Lens..~ rs+          Lens.^? getLinksResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetLinks where+  type AWSResponse GetLinks = GetLinksResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetLinksResponse'+            Prelude.<$> (x Data..?> "Links" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetLinks where+  hashWithSalt _salt GetLinks' {..} =+    _salt+      `Prelude.hashWithSalt` linkIds+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` provider+      `Prelude.hashWithSalt` siteId+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData GetLinks where+  rnf GetLinks' {..} =+    Prelude.rnf linkIds+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf provider+      `Prelude.seq` Prelude.rnf siteId+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf globalNetworkId++instance Data.ToHeaders GetLinks where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetLinks where+  toPath GetLinks' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/links"+      ]++instance Data.ToQuery GetLinks where+  toQuery GetLinks' {..} =+    Prelude.mconcat+      [ "linkIds"+          Data.=: Data.toQuery+            (Data.toQueryList "member" Prelude.<$> linkIds),+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "provider" Data.=: provider,+        "siteId" Data.=: siteId,+        "type" Data.=: type'+      ]++-- | /See:/ 'newGetLinksResponse' smart constructor.+data GetLinksResponse = GetLinksResponse'+  { -- | The links.+    links :: Prelude.Maybe [Link],+    -- | 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 'GetLinksResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'links', 'getLinksResponse_links' - The links.+--+-- 'nextToken', 'getLinksResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'getLinksResponse_httpStatus' - The response's http status code.+newGetLinksResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetLinksResponse+newGetLinksResponse pHttpStatus_ =+  GetLinksResponse'+    { links = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The links.+getLinksResponse_links :: Lens.Lens' GetLinksResponse (Prelude.Maybe [Link])+getLinksResponse_links = Lens.lens (\GetLinksResponse' {links} -> links) (\s@GetLinksResponse' {} a -> s {links = a} :: GetLinksResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+getLinksResponse_nextToken :: Lens.Lens' GetLinksResponse (Prelude.Maybe Prelude.Text)+getLinksResponse_nextToken = Lens.lens (\GetLinksResponse' {nextToken} -> nextToken) (\s@GetLinksResponse' {} a -> s {nextToken = a} :: GetLinksResponse)++-- | The response's http status code.+getLinksResponse_httpStatus :: Lens.Lens' GetLinksResponse Prelude.Int+getLinksResponse_httpStatus = Lens.lens (\GetLinksResponse' {httpStatus} -> httpStatus) (\s@GetLinksResponse' {} a -> s {httpStatus = a} :: GetLinksResponse)++instance Prelude.NFData GetLinksResponse where+  rnf GetLinksResponse' {..} =+    Prelude.rnf links+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetNetworkResourceCounts.hs view
@@ -0,0 +1,347 @@+{-# 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.NetworkManager.GetNetworkResourceCounts+-- 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 count of network resources, by resource type, for the specified+-- global network.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetNetworkResourceCounts+  ( -- * Creating a Request+    GetNetworkResourceCounts (..),+    newGetNetworkResourceCounts,++    -- * Request Lenses+    getNetworkResourceCounts_maxResults,+    getNetworkResourceCounts_nextToken,+    getNetworkResourceCounts_resourceType,+    getNetworkResourceCounts_globalNetworkId,++    -- * Destructuring the Response+    GetNetworkResourceCountsResponse (..),+    newGetNetworkResourceCountsResponse,++    -- * Response Lenses+    getNetworkResourceCountsResponse_networkResourceCounts,+    getNetworkResourceCountsResponse_nextToken,+    getNetworkResourceCountsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetNetworkResourceCounts' smart constructor.+data GetNetworkResourceCounts = GetNetworkResourceCounts'+  { -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The resource type.+    --+    -- The following are the supported resource types for Direct Connect:+    --+    -- -   @dxcon@+    --+    -- -   @dx-gateway@+    --+    -- -   @dx-vif@+    --+    -- The following are the supported resource types for Network Manager:+    --+    -- -   @connection@+    --+    -- -   @device@+    --+    -- -   @link@+    --+    -- -   @site@+    --+    -- The following are the supported resource types for Amazon VPC:+    --+    -- -   @customer-gateway@+    --+    -- -   @transit-gateway@+    --+    -- -   @transit-gateway-attachment@+    --+    -- -   @transit-gateway-connect-peer@+    --+    -- -   @transit-gateway-route-table@+    --+    -- -   @vpn-connection@+    resourceType :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkResourceCounts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getNetworkResourceCounts_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getNetworkResourceCounts_nextToken' - The token for the next page of results.+--+-- 'resourceType', 'getNetworkResourceCounts_resourceType' - The resource type.+--+-- The following are the supported resource types for Direct Connect:+--+-- -   @dxcon@+--+-- -   @dx-gateway@+--+-- -   @dx-vif@+--+-- The following are the supported resource types for Network Manager:+--+-- -   @connection@+--+-- -   @device@+--+-- -   @link@+--+-- -   @site@+--+-- The following are the supported resource types for Amazon VPC:+--+-- -   @customer-gateway@+--+-- -   @transit-gateway@+--+-- -   @transit-gateway-attachment@+--+-- -   @transit-gateway-connect-peer@+--+-- -   @transit-gateway-route-table@+--+-- -   @vpn-connection@+--+-- 'globalNetworkId', 'getNetworkResourceCounts_globalNetworkId' - The ID of the global network.+newGetNetworkResourceCounts ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  GetNetworkResourceCounts+newGetNetworkResourceCounts pGlobalNetworkId_ =+  GetNetworkResourceCounts'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      resourceType = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | The maximum number of results to return.+getNetworkResourceCounts_maxResults :: Lens.Lens' GetNetworkResourceCounts (Prelude.Maybe Prelude.Natural)+getNetworkResourceCounts_maxResults = Lens.lens (\GetNetworkResourceCounts' {maxResults} -> maxResults) (\s@GetNetworkResourceCounts' {} a -> s {maxResults = a} :: GetNetworkResourceCounts)++-- | The token for the next page of results.+getNetworkResourceCounts_nextToken :: Lens.Lens' GetNetworkResourceCounts (Prelude.Maybe Prelude.Text)+getNetworkResourceCounts_nextToken = Lens.lens (\GetNetworkResourceCounts' {nextToken} -> nextToken) (\s@GetNetworkResourceCounts' {} a -> s {nextToken = a} :: GetNetworkResourceCounts)++-- | The resource type.+--+-- The following are the supported resource types for Direct Connect:+--+-- -   @dxcon@+--+-- -   @dx-gateway@+--+-- -   @dx-vif@+--+-- The following are the supported resource types for Network Manager:+--+-- -   @connection@+--+-- -   @device@+--+-- -   @link@+--+-- -   @site@+--+-- The following are the supported resource types for Amazon VPC:+--+-- -   @customer-gateway@+--+-- -   @transit-gateway@+--+-- -   @transit-gateway-attachment@+--+-- -   @transit-gateway-connect-peer@+--+-- -   @transit-gateway-route-table@+--+-- -   @vpn-connection@+getNetworkResourceCounts_resourceType :: Lens.Lens' GetNetworkResourceCounts (Prelude.Maybe Prelude.Text)+getNetworkResourceCounts_resourceType = Lens.lens (\GetNetworkResourceCounts' {resourceType} -> resourceType) (\s@GetNetworkResourceCounts' {} a -> s {resourceType = a} :: GetNetworkResourceCounts)++-- | The ID of the global network.+getNetworkResourceCounts_globalNetworkId :: Lens.Lens' GetNetworkResourceCounts Prelude.Text+getNetworkResourceCounts_globalNetworkId = Lens.lens (\GetNetworkResourceCounts' {globalNetworkId} -> globalNetworkId) (\s@GetNetworkResourceCounts' {} a -> s {globalNetworkId = a} :: GetNetworkResourceCounts)++instance Core.AWSPager GetNetworkResourceCounts where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getNetworkResourceCountsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getNetworkResourceCountsResponse_networkResourceCounts+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getNetworkResourceCounts_nextToken+          Lens..~ rs+          Lens.^? getNetworkResourceCountsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetNetworkResourceCounts where+  type+    AWSResponse GetNetworkResourceCounts =+      GetNetworkResourceCountsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetNetworkResourceCountsResponse'+            Prelude.<$> ( x+                            Data..?> "NetworkResourceCounts"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetNetworkResourceCounts where+  hashWithSalt _salt GetNetworkResourceCounts' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData GetNetworkResourceCounts where+  rnf GetNetworkResourceCounts' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf globalNetworkId++instance Data.ToHeaders GetNetworkResourceCounts where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetNetworkResourceCounts where+  toPath GetNetworkResourceCounts' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/network-resource-count"+      ]++instance Data.ToQuery GetNetworkResourceCounts where+  toQuery GetNetworkResourceCounts' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "resourceType" Data.=: resourceType+      ]++-- | /See:/ 'newGetNetworkResourceCountsResponse' smart constructor.+data GetNetworkResourceCountsResponse = GetNetworkResourceCountsResponse'+  { -- | The count of resources.+    networkResourceCounts :: Prelude.Maybe [NetworkResourceCount],+    -- | 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 'GetNetworkResourceCountsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkResourceCounts', 'getNetworkResourceCountsResponse_networkResourceCounts' - The count of resources.+--+-- 'nextToken', 'getNetworkResourceCountsResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'getNetworkResourceCountsResponse_httpStatus' - The response's http status code.+newGetNetworkResourceCountsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetNetworkResourceCountsResponse+newGetNetworkResourceCountsResponse pHttpStatus_ =+  GetNetworkResourceCountsResponse'+    { networkResourceCounts =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The count of resources.+getNetworkResourceCountsResponse_networkResourceCounts :: Lens.Lens' GetNetworkResourceCountsResponse (Prelude.Maybe [NetworkResourceCount])+getNetworkResourceCountsResponse_networkResourceCounts = Lens.lens (\GetNetworkResourceCountsResponse' {networkResourceCounts} -> networkResourceCounts) (\s@GetNetworkResourceCountsResponse' {} a -> s {networkResourceCounts = a} :: GetNetworkResourceCountsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+getNetworkResourceCountsResponse_nextToken :: Lens.Lens' GetNetworkResourceCountsResponse (Prelude.Maybe Prelude.Text)+getNetworkResourceCountsResponse_nextToken = Lens.lens (\GetNetworkResourceCountsResponse' {nextToken} -> nextToken) (\s@GetNetworkResourceCountsResponse' {} a -> s {nextToken = a} :: GetNetworkResourceCountsResponse)++-- | The response's http status code.+getNetworkResourceCountsResponse_httpStatus :: Lens.Lens' GetNetworkResourceCountsResponse Prelude.Int+getNetworkResourceCountsResponse_httpStatus = Lens.lens (\GetNetworkResourceCountsResponse' {httpStatus} -> httpStatus) (\s@GetNetworkResourceCountsResponse' {} a -> s {httpStatus = a} :: GetNetworkResourceCountsResponse)++instance+  Prelude.NFData+    GetNetworkResourceCountsResponse+  where+  rnf GetNetworkResourceCountsResponse' {..} =+    Prelude.rnf networkResourceCounts+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetNetworkResourceRelationships.hs view
@@ -0,0 +1,427 @@+{-# 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.NetworkManager.GetNetworkResourceRelationships+-- 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 network resource relationships for the specified global+-- network.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetNetworkResourceRelationships+  ( -- * Creating a Request+    GetNetworkResourceRelationships (..),+    newGetNetworkResourceRelationships,++    -- * Request Lenses+    getNetworkResourceRelationships_accountId,+    getNetworkResourceRelationships_awsRegion,+    getNetworkResourceRelationships_coreNetworkId,+    getNetworkResourceRelationships_maxResults,+    getNetworkResourceRelationships_nextToken,+    getNetworkResourceRelationships_registeredGatewayArn,+    getNetworkResourceRelationships_resourceArn,+    getNetworkResourceRelationships_resourceType,+    getNetworkResourceRelationships_globalNetworkId,++    -- * Destructuring the Response+    GetNetworkResourceRelationshipsResponse (..),+    newGetNetworkResourceRelationshipsResponse,++    -- * Response Lenses+    getNetworkResourceRelationshipsResponse_nextToken,+    getNetworkResourceRelationshipsResponse_relationships,+    getNetworkResourceRelationshipsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetNetworkResourceRelationships' smart constructor.+data GetNetworkResourceRelationships = GetNetworkResourceRelationships'+  { -- | The Amazon Web Services account ID.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services Region.+    awsRegion :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the registered gateway.+    registeredGatewayArn :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the gateway.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The resource type.+    --+    -- The following are the supported resource types for Direct Connect:+    --+    -- -   @dxcon@+    --+    -- -   @dx-gateway@+    --+    -- -   @dx-vif@+    --+    -- The following are the supported resource types for Network Manager:+    --+    -- -   @connection@+    --+    -- -   @device@+    --+    -- -   @link@+    --+    -- -   @site@+    --+    -- The following are the supported resource types for Amazon VPC:+    --+    -- -   @customer-gateway@+    --+    -- -   @transit-gateway@+    --+    -- -   @transit-gateway-attachment@+    --+    -- -   @transit-gateway-connect-peer@+    --+    -- -   @transit-gateway-route-table@+    --+    -- -   @vpn-connection@+    resourceType :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkResourceRelationships' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getNetworkResourceRelationships_accountId' - The Amazon Web Services account ID.+--+-- 'awsRegion', 'getNetworkResourceRelationships_awsRegion' - The Amazon Web Services Region.+--+-- 'coreNetworkId', 'getNetworkResourceRelationships_coreNetworkId' - The ID of a core network.+--+-- 'maxResults', 'getNetworkResourceRelationships_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getNetworkResourceRelationships_nextToken' - The token for the next page of results.+--+-- 'registeredGatewayArn', 'getNetworkResourceRelationships_registeredGatewayArn' - The ARN of the registered gateway.+--+-- 'resourceArn', 'getNetworkResourceRelationships_resourceArn' - The ARN of the gateway.+--+-- 'resourceType', 'getNetworkResourceRelationships_resourceType' - The resource type.+--+-- The following are the supported resource types for Direct Connect:+--+-- -   @dxcon@+--+-- -   @dx-gateway@+--+-- -   @dx-vif@+--+-- The following are the supported resource types for Network Manager:+--+-- -   @connection@+--+-- -   @device@+--+-- -   @link@+--+-- -   @site@+--+-- The following are the supported resource types for Amazon VPC:+--+-- -   @customer-gateway@+--+-- -   @transit-gateway@+--+-- -   @transit-gateway-attachment@+--+-- -   @transit-gateway-connect-peer@+--+-- -   @transit-gateway-route-table@+--+-- -   @vpn-connection@+--+-- 'globalNetworkId', 'getNetworkResourceRelationships_globalNetworkId' - The ID of the global network.+newGetNetworkResourceRelationships ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  GetNetworkResourceRelationships+newGetNetworkResourceRelationships pGlobalNetworkId_ =+  GetNetworkResourceRelationships'+    { accountId =+        Prelude.Nothing,+      awsRegion = Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      registeredGatewayArn = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      resourceType = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | The Amazon Web Services account ID.+getNetworkResourceRelationships_accountId :: Lens.Lens' GetNetworkResourceRelationships (Prelude.Maybe Prelude.Text)+getNetworkResourceRelationships_accountId = Lens.lens (\GetNetworkResourceRelationships' {accountId} -> accountId) (\s@GetNetworkResourceRelationships' {} a -> s {accountId = a} :: GetNetworkResourceRelationships)++-- | The Amazon Web Services Region.+getNetworkResourceRelationships_awsRegion :: Lens.Lens' GetNetworkResourceRelationships (Prelude.Maybe Prelude.Text)+getNetworkResourceRelationships_awsRegion = Lens.lens (\GetNetworkResourceRelationships' {awsRegion} -> awsRegion) (\s@GetNetworkResourceRelationships' {} a -> s {awsRegion = a} :: GetNetworkResourceRelationships)++-- | The ID of a core network.+getNetworkResourceRelationships_coreNetworkId :: Lens.Lens' GetNetworkResourceRelationships (Prelude.Maybe Prelude.Text)+getNetworkResourceRelationships_coreNetworkId = Lens.lens (\GetNetworkResourceRelationships' {coreNetworkId} -> coreNetworkId) (\s@GetNetworkResourceRelationships' {} a -> s {coreNetworkId = a} :: GetNetworkResourceRelationships)++-- | The maximum number of results to return.+getNetworkResourceRelationships_maxResults :: Lens.Lens' GetNetworkResourceRelationships (Prelude.Maybe Prelude.Natural)+getNetworkResourceRelationships_maxResults = Lens.lens (\GetNetworkResourceRelationships' {maxResults} -> maxResults) (\s@GetNetworkResourceRelationships' {} a -> s {maxResults = a} :: GetNetworkResourceRelationships)++-- | The token for the next page of results.+getNetworkResourceRelationships_nextToken :: Lens.Lens' GetNetworkResourceRelationships (Prelude.Maybe Prelude.Text)+getNetworkResourceRelationships_nextToken = Lens.lens (\GetNetworkResourceRelationships' {nextToken} -> nextToken) (\s@GetNetworkResourceRelationships' {} a -> s {nextToken = a} :: GetNetworkResourceRelationships)++-- | The ARN of the registered gateway.+getNetworkResourceRelationships_registeredGatewayArn :: Lens.Lens' GetNetworkResourceRelationships (Prelude.Maybe Prelude.Text)+getNetworkResourceRelationships_registeredGatewayArn = Lens.lens (\GetNetworkResourceRelationships' {registeredGatewayArn} -> registeredGatewayArn) (\s@GetNetworkResourceRelationships' {} a -> s {registeredGatewayArn = a} :: GetNetworkResourceRelationships)++-- | The ARN of the gateway.+getNetworkResourceRelationships_resourceArn :: Lens.Lens' GetNetworkResourceRelationships (Prelude.Maybe Prelude.Text)+getNetworkResourceRelationships_resourceArn = Lens.lens (\GetNetworkResourceRelationships' {resourceArn} -> resourceArn) (\s@GetNetworkResourceRelationships' {} a -> s {resourceArn = a} :: GetNetworkResourceRelationships)++-- | The resource type.+--+-- The following are the supported resource types for Direct Connect:+--+-- -   @dxcon@+--+-- -   @dx-gateway@+--+-- -   @dx-vif@+--+-- The following are the supported resource types for Network Manager:+--+-- -   @connection@+--+-- -   @device@+--+-- -   @link@+--+-- -   @site@+--+-- The following are the supported resource types for Amazon VPC:+--+-- -   @customer-gateway@+--+-- -   @transit-gateway@+--+-- -   @transit-gateway-attachment@+--+-- -   @transit-gateway-connect-peer@+--+-- -   @transit-gateway-route-table@+--+-- -   @vpn-connection@+getNetworkResourceRelationships_resourceType :: Lens.Lens' GetNetworkResourceRelationships (Prelude.Maybe Prelude.Text)+getNetworkResourceRelationships_resourceType = Lens.lens (\GetNetworkResourceRelationships' {resourceType} -> resourceType) (\s@GetNetworkResourceRelationships' {} a -> s {resourceType = a} :: GetNetworkResourceRelationships)++-- | The ID of the global network.+getNetworkResourceRelationships_globalNetworkId :: Lens.Lens' GetNetworkResourceRelationships Prelude.Text+getNetworkResourceRelationships_globalNetworkId = Lens.lens (\GetNetworkResourceRelationships' {globalNetworkId} -> globalNetworkId) (\s@GetNetworkResourceRelationships' {} a -> s {globalNetworkId = a} :: GetNetworkResourceRelationships)++instance+  Core.AWSPager+    GetNetworkResourceRelationships+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getNetworkResourceRelationshipsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getNetworkResourceRelationshipsResponse_relationships+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getNetworkResourceRelationships_nextToken+          Lens..~ rs+          Lens.^? getNetworkResourceRelationshipsResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    GetNetworkResourceRelationships+  where+  type+    AWSResponse GetNetworkResourceRelationships =+      GetNetworkResourceRelationshipsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetNetworkResourceRelationshipsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Relationships" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetNetworkResourceRelationships+  where+  hashWithSalt+    _salt+    GetNetworkResourceRelationships' {..} =+      _salt+        `Prelude.hashWithSalt` accountId+        `Prelude.hashWithSalt` awsRegion+        `Prelude.hashWithSalt` coreNetworkId+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` registeredGatewayArn+        `Prelude.hashWithSalt` resourceArn+        `Prelude.hashWithSalt` resourceType+        `Prelude.hashWithSalt` globalNetworkId++instance+  Prelude.NFData+    GetNetworkResourceRelationships+  where+  rnf GetNetworkResourceRelationships' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf awsRegion+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf registeredGatewayArn+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf globalNetworkId++instance+  Data.ToHeaders+    GetNetworkResourceRelationships+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetNetworkResourceRelationships where+  toPath GetNetworkResourceRelationships' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/network-resource-relationships"+      ]++instance Data.ToQuery GetNetworkResourceRelationships where+  toQuery GetNetworkResourceRelationships' {..} =+    Prelude.mconcat+      [ "accountId" Data.=: accountId,+        "awsRegion" Data.=: awsRegion,+        "coreNetworkId" Data.=: coreNetworkId,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "registeredGatewayArn" Data.=: registeredGatewayArn,+        "resourceArn" Data.=: resourceArn,+        "resourceType" Data.=: resourceType+      ]++-- | /See:/ 'newGetNetworkResourceRelationshipsResponse' smart constructor.+data GetNetworkResourceRelationshipsResponse = GetNetworkResourceRelationshipsResponse'+  { -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The resource relationships.+    relationships :: Prelude.Maybe [Relationship],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkResourceRelationshipsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getNetworkResourceRelationshipsResponse_nextToken' - The token for the next page of results.+--+-- 'relationships', 'getNetworkResourceRelationshipsResponse_relationships' - The resource relationships.+--+-- 'httpStatus', 'getNetworkResourceRelationshipsResponse_httpStatus' - The response's http status code.+newGetNetworkResourceRelationshipsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetNetworkResourceRelationshipsResponse+newGetNetworkResourceRelationshipsResponse+  pHttpStatus_ =+    GetNetworkResourceRelationshipsResponse'+      { nextToken =+          Prelude.Nothing,+        relationships = Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The token for the next page of results.+getNetworkResourceRelationshipsResponse_nextToken :: Lens.Lens' GetNetworkResourceRelationshipsResponse (Prelude.Maybe Prelude.Text)+getNetworkResourceRelationshipsResponse_nextToken = Lens.lens (\GetNetworkResourceRelationshipsResponse' {nextToken} -> nextToken) (\s@GetNetworkResourceRelationshipsResponse' {} a -> s {nextToken = a} :: GetNetworkResourceRelationshipsResponse)++-- | The resource relationships.+getNetworkResourceRelationshipsResponse_relationships :: Lens.Lens' GetNetworkResourceRelationshipsResponse (Prelude.Maybe [Relationship])+getNetworkResourceRelationshipsResponse_relationships = Lens.lens (\GetNetworkResourceRelationshipsResponse' {relationships} -> relationships) (\s@GetNetworkResourceRelationshipsResponse' {} a -> s {relationships = a} :: GetNetworkResourceRelationshipsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getNetworkResourceRelationshipsResponse_httpStatus :: Lens.Lens' GetNetworkResourceRelationshipsResponse Prelude.Int+getNetworkResourceRelationshipsResponse_httpStatus = Lens.lens (\GetNetworkResourceRelationshipsResponse' {httpStatus} -> httpStatus) (\s@GetNetworkResourceRelationshipsResponse' {} a -> s {httpStatus = a} :: GetNetworkResourceRelationshipsResponse)++instance+  Prelude.NFData+    GetNetworkResourceRelationshipsResponse+  where+  rnf GetNetworkResourceRelationshipsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf relationships+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetNetworkResources.hs view
@@ -0,0 +1,449 @@+{-# 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.NetworkManager.GetNetworkResources+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes the network resources for the specified global network.+--+-- The results include information from the corresponding Describe call for+-- the resource, minus any sensitive information such as pre-shared keys.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetNetworkResources+  ( -- * Creating a Request+    GetNetworkResources (..),+    newGetNetworkResources,++    -- * Request Lenses+    getNetworkResources_accountId,+    getNetworkResources_awsRegion,+    getNetworkResources_coreNetworkId,+    getNetworkResources_maxResults,+    getNetworkResources_nextToken,+    getNetworkResources_registeredGatewayArn,+    getNetworkResources_resourceArn,+    getNetworkResources_resourceType,+    getNetworkResources_globalNetworkId,++    -- * Destructuring the Response+    GetNetworkResourcesResponse (..),+    newGetNetworkResourcesResponse,++    -- * Response Lenses+    getNetworkResourcesResponse_networkResources,+    getNetworkResourcesResponse_nextToken,+    getNetworkResourcesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetNetworkResources' smart constructor.+data GetNetworkResources = GetNetworkResources'+  { -- | The Amazon Web Services account ID.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services Region.+    awsRegion :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the gateway.+    registeredGatewayArn :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The resource type.+    --+    -- The following are the supported resource types for Direct Connect:+    --+    -- -   @dxcon@ - The definition model is+    --     <https://docs.aws.amazon.com/directconnect/latest/APIReference/API_Connection.html Connection>.+    --+    -- -   @dx-gateway@ - The definition model is+    --     <https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DirectConnectGateway.html DirectConnectGateway>.+    --+    -- -   @dx-vif@ - The definition model is+    --     <https://docs.aws.amazon.com/directconnect/latest/APIReference/API_VirtualInterface.html VirtualInterface>.+    --+    -- The following are the supported resource types for Network Manager:+    --+    -- -   @connection@ - The definition model is+    --     <https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Connection.html Connection>.+    --+    -- -   @device@ - The definition model is+    --     <https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Device.html Device>.+    --+    -- -   @link@ - The definition model is+    --     <https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Link.html Link>.+    --+    -- -   @site@ - The definition model is+    --     <https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Site.html Site>.+    --+    -- The following are the supported resource types for Amazon VPC:+    --+    -- -   @customer-gateway@ - The definition model is+    --     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CustomerGateway.html CustomerGateway>.+    --+    -- -   @transit-gateway@ - The definition model is+    --     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGateway.html TransitGateway>.+    --+    -- -   @transit-gateway-attachment@ - The definition model is+    --     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachment.html TransitGatewayAttachment>.+    --+    -- -   @transit-gateway-connect-peer@ - The definition model is+    --     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayConnectPeer.html TransitGatewayConnectPeer>.+    --+    -- -   @transit-gateway-route-table@ - The definition model is+    --     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayRouteTable.html TransitGatewayRouteTable>.+    --+    -- -   @vpn-connection@ - The definition model is+    --     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpnConnection.html VpnConnection>.+    resourceType :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkResources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getNetworkResources_accountId' - The Amazon Web Services account ID.+--+-- 'awsRegion', 'getNetworkResources_awsRegion' - The Amazon Web Services Region.+--+-- 'coreNetworkId', 'getNetworkResources_coreNetworkId' - The ID of a core network.+--+-- 'maxResults', 'getNetworkResources_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getNetworkResources_nextToken' - The token for the next page of results.+--+-- 'registeredGatewayArn', 'getNetworkResources_registeredGatewayArn' - The ARN of the gateway.+--+-- 'resourceArn', 'getNetworkResources_resourceArn' - The ARN of the resource.+--+-- 'resourceType', 'getNetworkResources_resourceType' - The resource type.+--+-- The following are the supported resource types for Direct Connect:+--+-- -   @dxcon@ - The definition model is+--     <https://docs.aws.amazon.com/directconnect/latest/APIReference/API_Connection.html Connection>.+--+-- -   @dx-gateway@ - The definition model is+--     <https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DirectConnectGateway.html DirectConnectGateway>.+--+-- -   @dx-vif@ - The definition model is+--     <https://docs.aws.amazon.com/directconnect/latest/APIReference/API_VirtualInterface.html VirtualInterface>.+--+-- The following are the supported resource types for Network Manager:+--+-- -   @connection@ - The definition model is+--     <https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Connection.html Connection>.+--+-- -   @device@ - The definition model is+--     <https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Device.html Device>.+--+-- -   @link@ - The definition model is+--     <https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Link.html Link>.+--+-- -   @site@ - The definition model is+--     <https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Site.html Site>.+--+-- The following are the supported resource types for Amazon VPC:+--+-- -   @customer-gateway@ - The definition model is+--     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CustomerGateway.html CustomerGateway>.+--+-- -   @transit-gateway@ - The definition model is+--     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGateway.html TransitGateway>.+--+-- -   @transit-gateway-attachment@ - The definition model is+--     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachment.html TransitGatewayAttachment>.+--+-- -   @transit-gateway-connect-peer@ - The definition model is+--     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayConnectPeer.html TransitGatewayConnectPeer>.+--+-- -   @transit-gateway-route-table@ - The definition model is+--     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayRouteTable.html TransitGatewayRouteTable>.+--+-- -   @vpn-connection@ - The definition model is+--     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpnConnection.html VpnConnection>.+--+-- 'globalNetworkId', 'getNetworkResources_globalNetworkId' - The ID of the global network.+newGetNetworkResources ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  GetNetworkResources+newGetNetworkResources pGlobalNetworkId_ =+  GetNetworkResources'+    { accountId = Prelude.Nothing,+      awsRegion = Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      registeredGatewayArn = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      resourceType = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | The Amazon Web Services account ID.+getNetworkResources_accountId :: Lens.Lens' GetNetworkResources (Prelude.Maybe Prelude.Text)+getNetworkResources_accountId = Lens.lens (\GetNetworkResources' {accountId} -> accountId) (\s@GetNetworkResources' {} a -> s {accountId = a} :: GetNetworkResources)++-- | The Amazon Web Services Region.+getNetworkResources_awsRegion :: Lens.Lens' GetNetworkResources (Prelude.Maybe Prelude.Text)+getNetworkResources_awsRegion = Lens.lens (\GetNetworkResources' {awsRegion} -> awsRegion) (\s@GetNetworkResources' {} a -> s {awsRegion = a} :: GetNetworkResources)++-- | The ID of a core network.+getNetworkResources_coreNetworkId :: Lens.Lens' GetNetworkResources (Prelude.Maybe Prelude.Text)+getNetworkResources_coreNetworkId = Lens.lens (\GetNetworkResources' {coreNetworkId} -> coreNetworkId) (\s@GetNetworkResources' {} a -> s {coreNetworkId = a} :: GetNetworkResources)++-- | The maximum number of results to return.+getNetworkResources_maxResults :: Lens.Lens' GetNetworkResources (Prelude.Maybe Prelude.Natural)+getNetworkResources_maxResults = Lens.lens (\GetNetworkResources' {maxResults} -> maxResults) (\s@GetNetworkResources' {} a -> s {maxResults = a} :: GetNetworkResources)++-- | The token for the next page of results.+getNetworkResources_nextToken :: Lens.Lens' GetNetworkResources (Prelude.Maybe Prelude.Text)+getNetworkResources_nextToken = Lens.lens (\GetNetworkResources' {nextToken} -> nextToken) (\s@GetNetworkResources' {} a -> s {nextToken = a} :: GetNetworkResources)++-- | The ARN of the gateway.+getNetworkResources_registeredGatewayArn :: Lens.Lens' GetNetworkResources (Prelude.Maybe Prelude.Text)+getNetworkResources_registeredGatewayArn = Lens.lens (\GetNetworkResources' {registeredGatewayArn} -> registeredGatewayArn) (\s@GetNetworkResources' {} a -> s {registeredGatewayArn = a} :: GetNetworkResources)++-- | The ARN of the resource.+getNetworkResources_resourceArn :: Lens.Lens' GetNetworkResources (Prelude.Maybe Prelude.Text)+getNetworkResources_resourceArn = Lens.lens (\GetNetworkResources' {resourceArn} -> resourceArn) (\s@GetNetworkResources' {} a -> s {resourceArn = a} :: GetNetworkResources)++-- | The resource type.+--+-- The following are the supported resource types for Direct Connect:+--+-- -   @dxcon@ - The definition model is+--     <https://docs.aws.amazon.com/directconnect/latest/APIReference/API_Connection.html Connection>.+--+-- -   @dx-gateway@ - The definition model is+--     <https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DirectConnectGateway.html DirectConnectGateway>.+--+-- -   @dx-vif@ - The definition model is+--     <https://docs.aws.amazon.com/directconnect/latest/APIReference/API_VirtualInterface.html VirtualInterface>.+--+-- The following are the supported resource types for Network Manager:+--+-- -   @connection@ - The definition model is+--     <https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Connection.html Connection>.+--+-- -   @device@ - The definition model is+--     <https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Device.html Device>.+--+-- -   @link@ - The definition model is+--     <https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Link.html Link>.+--+-- -   @site@ - The definition model is+--     <https://docs.aws.amazon.com/networkmanager/latest/APIReference/API_Site.html Site>.+--+-- The following are the supported resource types for Amazon VPC:+--+-- -   @customer-gateway@ - The definition model is+--     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CustomerGateway.html CustomerGateway>.+--+-- -   @transit-gateway@ - The definition model is+--     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGateway.html TransitGateway>.+--+-- -   @transit-gateway-attachment@ - The definition model is+--     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayAttachment.html TransitGatewayAttachment>.+--+-- -   @transit-gateway-connect-peer@ - The definition model is+--     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayConnectPeer.html TransitGatewayConnectPeer>.+--+-- -   @transit-gateway-route-table@ - The definition model is+--     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_TransitGatewayRouteTable.html TransitGatewayRouteTable>.+--+-- -   @vpn-connection@ - The definition model is+--     <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_VpnConnection.html VpnConnection>.+getNetworkResources_resourceType :: Lens.Lens' GetNetworkResources (Prelude.Maybe Prelude.Text)+getNetworkResources_resourceType = Lens.lens (\GetNetworkResources' {resourceType} -> resourceType) (\s@GetNetworkResources' {} a -> s {resourceType = a} :: GetNetworkResources)++-- | The ID of the global network.+getNetworkResources_globalNetworkId :: Lens.Lens' GetNetworkResources Prelude.Text+getNetworkResources_globalNetworkId = Lens.lens (\GetNetworkResources' {globalNetworkId} -> globalNetworkId) (\s@GetNetworkResources' {} a -> s {globalNetworkId = a} :: GetNetworkResources)++instance Core.AWSPager GetNetworkResources where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getNetworkResourcesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getNetworkResourcesResponse_networkResources+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getNetworkResources_nextToken+          Lens..~ rs+          Lens.^? getNetworkResourcesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetNetworkResources where+  type+    AWSResponse GetNetworkResources =+      GetNetworkResourcesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetNetworkResourcesResponse'+            Prelude.<$> ( x+                            Data..?> "NetworkResources"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetNetworkResources where+  hashWithSalt _salt GetNetworkResources' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` awsRegion+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` registeredGatewayArn+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData GetNetworkResources where+  rnf GetNetworkResources' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf awsRegion+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf registeredGatewayArn+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf globalNetworkId++instance Data.ToHeaders GetNetworkResources where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetNetworkResources where+  toPath GetNetworkResources' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/network-resources"+      ]++instance Data.ToQuery GetNetworkResources where+  toQuery GetNetworkResources' {..} =+    Prelude.mconcat+      [ "accountId" Data.=: accountId,+        "awsRegion" Data.=: awsRegion,+        "coreNetworkId" Data.=: coreNetworkId,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "registeredGatewayArn" Data.=: registeredGatewayArn,+        "resourceArn" Data.=: resourceArn,+        "resourceType" Data.=: resourceType+      ]++-- | /See:/ 'newGetNetworkResourcesResponse' smart constructor.+data GetNetworkResourcesResponse = GetNetworkResourcesResponse'+  { -- | The network resources.+    networkResources :: Prelude.Maybe [NetworkResource],+    -- | 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 'GetNetworkResourcesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkResources', 'getNetworkResourcesResponse_networkResources' - The network resources.+--+-- 'nextToken', 'getNetworkResourcesResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'getNetworkResourcesResponse_httpStatus' - The response's http status code.+newGetNetworkResourcesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetNetworkResourcesResponse+newGetNetworkResourcesResponse pHttpStatus_ =+  GetNetworkResourcesResponse'+    { networkResources =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The network resources.+getNetworkResourcesResponse_networkResources :: Lens.Lens' GetNetworkResourcesResponse (Prelude.Maybe [NetworkResource])+getNetworkResourcesResponse_networkResources = Lens.lens (\GetNetworkResourcesResponse' {networkResources} -> networkResources) (\s@GetNetworkResourcesResponse' {} a -> s {networkResources = a} :: GetNetworkResourcesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+getNetworkResourcesResponse_nextToken :: Lens.Lens' GetNetworkResourcesResponse (Prelude.Maybe Prelude.Text)+getNetworkResourcesResponse_nextToken = Lens.lens (\GetNetworkResourcesResponse' {nextToken} -> nextToken) (\s@GetNetworkResourcesResponse' {} a -> s {nextToken = a} :: GetNetworkResourcesResponse)++-- | The response's http status code.+getNetworkResourcesResponse_httpStatus :: Lens.Lens' GetNetworkResourcesResponse Prelude.Int+getNetworkResourcesResponse_httpStatus = Lens.lens (\GetNetworkResourcesResponse' {httpStatus} -> httpStatus) (\s@GetNetworkResourcesResponse' {} a -> s {httpStatus = a} :: GetNetworkResourcesResponse)++instance Prelude.NFData GetNetworkResourcesResponse where+  rnf GetNetworkResourcesResponse' {..} =+    Prelude.rnf networkResources+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetNetworkRoutes.hs view
@@ -0,0 +1,357 @@+{-# 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.NetworkManager.GetNetworkRoutes+-- 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 network routes of the specified global network.+module Amazonka.NetworkManager.GetNetworkRoutes+  ( -- * Creating a Request+    GetNetworkRoutes (..),+    newGetNetworkRoutes,++    -- * Request Lenses+    getNetworkRoutes_destinationFilters,+    getNetworkRoutes_exactCidrMatches,+    getNetworkRoutes_longestPrefixMatches,+    getNetworkRoutes_prefixListIds,+    getNetworkRoutes_states,+    getNetworkRoutes_subnetOfMatches,+    getNetworkRoutes_supernetOfMatches,+    getNetworkRoutes_types,+    getNetworkRoutes_globalNetworkId,+    getNetworkRoutes_routeTableIdentifier,++    -- * Destructuring the Response+    GetNetworkRoutesResponse (..),+    newGetNetworkRoutesResponse,++    -- * Response Lenses+    getNetworkRoutesResponse_coreNetworkSegmentEdge,+    getNetworkRoutesResponse_networkRoutes,+    getNetworkRoutesResponse_routeTableArn,+    getNetworkRoutesResponse_routeTableTimestamp,+    getNetworkRoutesResponse_routeTableType,+    getNetworkRoutesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetNetworkRoutes' smart constructor.+data GetNetworkRoutes = GetNetworkRoutes'+  { -- | Filter by route table destination. Possible Values:+    -- TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.+    destinationFilters :: Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]),+    -- | An exact CIDR block.+    exactCidrMatches :: Prelude.Maybe [Prelude.Text],+    -- | The most specific route that matches the traffic (longest prefix match).+    longestPrefixMatches :: Prelude.Maybe [Prelude.Text],+    -- | The IDs of the prefix lists.+    prefixListIds :: Prelude.Maybe [Prelude.Text],+    -- | The route states.+    states :: Prelude.Maybe [RouteState],+    -- | The routes with a subnet that match the specified CIDR filter.+    subnetOfMatches :: Prelude.Maybe [Prelude.Text],+    -- | The routes with a CIDR that encompasses the CIDR filter. Example: If you+    -- specify 10.0.1.0\/30, then the result returns 10.0.1.0\/29.+    supernetOfMatches :: Prelude.Maybe [Prelude.Text],+    -- | The route types.+    types :: Prelude.Maybe [RouteType],+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the route table.+    routeTableIdentifier :: RouteTableIdentifier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkRoutes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destinationFilters', 'getNetworkRoutes_destinationFilters' - Filter by route table destination. Possible Values:+-- TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.+--+-- 'exactCidrMatches', 'getNetworkRoutes_exactCidrMatches' - An exact CIDR block.+--+-- 'longestPrefixMatches', 'getNetworkRoutes_longestPrefixMatches' - The most specific route that matches the traffic (longest prefix match).+--+-- 'prefixListIds', 'getNetworkRoutes_prefixListIds' - The IDs of the prefix lists.+--+-- 'states', 'getNetworkRoutes_states' - The route states.+--+-- 'subnetOfMatches', 'getNetworkRoutes_subnetOfMatches' - The routes with a subnet that match the specified CIDR filter.+--+-- 'supernetOfMatches', 'getNetworkRoutes_supernetOfMatches' - The routes with a CIDR that encompasses the CIDR filter. Example: If you+-- specify 10.0.1.0\/30, then the result returns 10.0.1.0\/29.+--+-- 'types', 'getNetworkRoutes_types' - The route types.+--+-- 'globalNetworkId', 'getNetworkRoutes_globalNetworkId' - The ID of the global network.+--+-- 'routeTableIdentifier', 'getNetworkRoutes_routeTableIdentifier' - The ID of the route table.+newGetNetworkRoutes ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'routeTableIdentifier'+  RouteTableIdentifier ->+  GetNetworkRoutes+newGetNetworkRoutes+  pGlobalNetworkId_+  pRouteTableIdentifier_ =+    GetNetworkRoutes'+      { destinationFilters =+          Prelude.Nothing,+        exactCidrMatches = Prelude.Nothing,+        longestPrefixMatches = Prelude.Nothing,+        prefixListIds = Prelude.Nothing,+        states = Prelude.Nothing,+        subnetOfMatches = Prelude.Nothing,+        supernetOfMatches = Prelude.Nothing,+        types = Prelude.Nothing,+        globalNetworkId = pGlobalNetworkId_,+        routeTableIdentifier = pRouteTableIdentifier_+      }++-- | Filter by route table destination. Possible Values:+-- TRANSIT_GATEWAY_ATTACHMENT_ID, RESOURCE_ID, or RESOURCE_TYPE.+getNetworkRoutes_destinationFilters :: Lens.Lens' GetNetworkRoutes (Prelude.Maybe (Prelude.HashMap Prelude.Text [Prelude.Text]))+getNetworkRoutes_destinationFilters = Lens.lens (\GetNetworkRoutes' {destinationFilters} -> destinationFilters) (\s@GetNetworkRoutes' {} a -> s {destinationFilters = a} :: GetNetworkRoutes) Prelude.. Lens.mapping Lens.coerced++-- | An exact CIDR block.+getNetworkRoutes_exactCidrMatches :: Lens.Lens' GetNetworkRoutes (Prelude.Maybe [Prelude.Text])+getNetworkRoutes_exactCidrMatches = Lens.lens (\GetNetworkRoutes' {exactCidrMatches} -> exactCidrMatches) (\s@GetNetworkRoutes' {} a -> s {exactCidrMatches = a} :: GetNetworkRoutes) Prelude.. Lens.mapping Lens.coerced++-- | The most specific route that matches the traffic (longest prefix match).+getNetworkRoutes_longestPrefixMatches :: Lens.Lens' GetNetworkRoutes (Prelude.Maybe [Prelude.Text])+getNetworkRoutes_longestPrefixMatches = Lens.lens (\GetNetworkRoutes' {longestPrefixMatches} -> longestPrefixMatches) (\s@GetNetworkRoutes' {} a -> s {longestPrefixMatches = a} :: GetNetworkRoutes) Prelude.. Lens.mapping Lens.coerced++-- | The IDs of the prefix lists.+getNetworkRoutes_prefixListIds :: Lens.Lens' GetNetworkRoutes (Prelude.Maybe [Prelude.Text])+getNetworkRoutes_prefixListIds = Lens.lens (\GetNetworkRoutes' {prefixListIds} -> prefixListIds) (\s@GetNetworkRoutes' {} a -> s {prefixListIds = a} :: GetNetworkRoutes) Prelude.. Lens.mapping Lens.coerced++-- | The route states.+getNetworkRoutes_states :: Lens.Lens' GetNetworkRoutes (Prelude.Maybe [RouteState])+getNetworkRoutes_states = Lens.lens (\GetNetworkRoutes' {states} -> states) (\s@GetNetworkRoutes' {} a -> s {states = a} :: GetNetworkRoutes) Prelude.. Lens.mapping Lens.coerced++-- | The routes with a subnet that match the specified CIDR filter.+getNetworkRoutes_subnetOfMatches :: Lens.Lens' GetNetworkRoutes (Prelude.Maybe [Prelude.Text])+getNetworkRoutes_subnetOfMatches = Lens.lens (\GetNetworkRoutes' {subnetOfMatches} -> subnetOfMatches) (\s@GetNetworkRoutes' {} a -> s {subnetOfMatches = a} :: GetNetworkRoutes) Prelude.. Lens.mapping Lens.coerced++-- | The routes with a CIDR that encompasses the CIDR filter. Example: If you+-- specify 10.0.1.0\/30, then the result returns 10.0.1.0\/29.+getNetworkRoutes_supernetOfMatches :: Lens.Lens' GetNetworkRoutes (Prelude.Maybe [Prelude.Text])+getNetworkRoutes_supernetOfMatches = Lens.lens (\GetNetworkRoutes' {supernetOfMatches} -> supernetOfMatches) (\s@GetNetworkRoutes' {} a -> s {supernetOfMatches = a} :: GetNetworkRoutes) Prelude.. Lens.mapping Lens.coerced++-- | The route types.+getNetworkRoutes_types :: Lens.Lens' GetNetworkRoutes (Prelude.Maybe [RouteType])+getNetworkRoutes_types = Lens.lens (\GetNetworkRoutes' {types} -> types) (\s@GetNetworkRoutes' {} a -> s {types = a} :: GetNetworkRoutes) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the global network.+getNetworkRoutes_globalNetworkId :: Lens.Lens' GetNetworkRoutes Prelude.Text+getNetworkRoutes_globalNetworkId = Lens.lens (\GetNetworkRoutes' {globalNetworkId} -> globalNetworkId) (\s@GetNetworkRoutes' {} a -> s {globalNetworkId = a} :: GetNetworkRoutes)++-- | The ID of the route table.+getNetworkRoutes_routeTableIdentifier :: Lens.Lens' GetNetworkRoutes RouteTableIdentifier+getNetworkRoutes_routeTableIdentifier = Lens.lens (\GetNetworkRoutes' {routeTableIdentifier} -> routeTableIdentifier) (\s@GetNetworkRoutes' {} a -> s {routeTableIdentifier = a} :: GetNetworkRoutes)++instance Core.AWSRequest GetNetworkRoutes where+  type+    AWSResponse GetNetworkRoutes =+      GetNetworkRoutesResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetNetworkRoutesResponse'+            Prelude.<$> (x Data..?> "CoreNetworkSegmentEdge")+            Prelude.<*> (x Data..?> "NetworkRoutes" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "RouteTableArn")+            Prelude.<*> (x Data..?> "RouteTableTimestamp")+            Prelude.<*> (x Data..?> "RouteTableType")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetNetworkRoutes where+  hashWithSalt _salt GetNetworkRoutes' {..} =+    _salt+      `Prelude.hashWithSalt` destinationFilters+      `Prelude.hashWithSalt` exactCidrMatches+      `Prelude.hashWithSalt` longestPrefixMatches+      `Prelude.hashWithSalt` prefixListIds+      `Prelude.hashWithSalt` states+      `Prelude.hashWithSalt` subnetOfMatches+      `Prelude.hashWithSalt` supernetOfMatches+      `Prelude.hashWithSalt` types+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` routeTableIdentifier++instance Prelude.NFData GetNetworkRoutes where+  rnf GetNetworkRoutes' {..} =+    Prelude.rnf destinationFilters+      `Prelude.seq` Prelude.rnf exactCidrMatches+      `Prelude.seq` Prelude.rnf longestPrefixMatches+      `Prelude.seq` Prelude.rnf prefixListIds+      `Prelude.seq` Prelude.rnf states+      `Prelude.seq` Prelude.rnf subnetOfMatches+      `Prelude.seq` Prelude.rnf supernetOfMatches+      `Prelude.seq` Prelude.rnf types+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf routeTableIdentifier++instance Data.ToHeaders GetNetworkRoutes where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON GetNetworkRoutes where+  toJSON GetNetworkRoutes' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DestinationFilters" Data..=)+              Prelude.<$> destinationFilters,+            ("ExactCidrMatches" Data..=)+              Prelude.<$> exactCidrMatches,+            ("LongestPrefixMatches" Data..=)+              Prelude.<$> longestPrefixMatches,+            ("PrefixListIds" Data..=) Prelude.<$> prefixListIds,+            ("States" Data..=) Prelude.<$> states,+            ("SubnetOfMatches" Data..=)+              Prelude.<$> subnetOfMatches,+            ("SupernetOfMatches" Data..=)+              Prelude.<$> supernetOfMatches,+            ("Types" Data..=) Prelude.<$> types,+            Prelude.Just+              ( "RouteTableIdentifier"+                  Data..= routeTableIdentifier+              )+          ]+      )++instance Data.ToPath GetNetworkRoutes where+  toPath GetNetworkRoutes' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/network-routes"+      ]++instance Data.ToQuery GetNetworkRoutes where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetNetworkRoutesResponse' smart constructor.+data GetNetworkRoutesResponse = GetNetworkRoutesResponse'+  { -- | Describes a core network segment edge.+    coreNetworkSegmentEdge :: Prelude.Maybe CoreNetworkSegmentEdgeIdentifier,+    -- | The network routes.+    networkRoutes :: Prelude.Maybe [NetworkRoute],+    -- | The ARN of the route table.+    routeTableArn :: Prelude.Maybe Prelude.Text,+    -- | The route table creation time.+    routeTableTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The route table type.+    routeTableType :: Prelude.Maybe RouteTableType,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkRoutesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkSegmentEdge', 'getNetworkRoutesResponse_coreNetworkSegmentEdge' - Describes a core network segment edge.+--+-- 'networkRoutes', 'getNetworkRoutesResponse_networkRoutes' - The network routes.+--+-- 'routeTableArn', 'getNetworkRoutesResponse_routeTableArn' - The ARN of the route table.+--+-- 'routeTableTimestamp', 'getNetworkRoutesResponse_routeTableTimestamp' - The route table creation time.+--+-- 'routeTableType', 'getNetworkRoutesResponse_routeTableType' - The route table type.+--+-- 'httpStatus', 'getNetworkRoutesResponse_httpStatus' - The response's http status code.+newGetNetworkRoutesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetNetworkRoutesResponse+newGetNetworkRoutesResponse pHttpStatus_ =+  GetNetworkRoutesResponse'+    { coreNetworkSegmentEdge =+        Prelude.Nothing,+      networkRoutes = Prelude.Nothing,+      routeTableArn = Prelude.Nothing,+      routeTableTimestamp = Prelude.Nothing,+      routeTableType = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Describes a core network segment edge.+getNetworkRoutesResponse_coreNetworkSegmentEdge :: Lens.Lens' GetNetworkRoutesResponse (Prelude.Maybe CoreNetworkSegmentEdgeIdentifier)+getNetworkRoutesResponse_coreNetworkSegmentEdge = Lens.lens (\GetNetworkRoutesResponse' {coreNetworkSegmentEdge} -> coreNetworkSegmentEdge) (\s@GetNetworkRoutesResponse' {} a -> s {coreNetworkSegmentEdge = a} :: GetNetworkRoutesResponse)++-- | The network routes.+getNetworkRoutesResponse_networkRoutes :: Lens.Lens' GetNetworkRoutesResponse (Prelude.Maybe [NetworkRoute])+getNetworkRoutesResponse_networkRoutes = Lens.lens (\GetNetworkRoutesResponse' {networkRoutes} -> networkRoutes) (\s@GetNetworkRoutesResponse' {} a -> s {networkRoutes = a} :: GetNetworkRoutesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the route table.+getNetworkRoutesResponse_routeTableArn :: Lens.Lens' GetNetworkRoutesResponse (Prelude.Maybe Prelude.Text)+getNetworkRoutesResponse_routeTableArn = Lens.lens (\GetNetworkRoutesResponse' {routeTableArn} -> routeTableArn) (\s@GetNetworkRoutesResponse' {} a -> s {routeTableArn = a} :: GetNetworkRoutesResponse)++-- | The route table creation time.+getNetworkRoutesResponse_routeTableTimestamp :: Lens.Lens' GetNetworkRoutesResponse (Prelude.Maybe Prelude.UTCTime)+getNetworkRoutesResponse_routeTableTimestamp = Lens.lens (\GetNetworkRoutesResponse' {routeTableTimestamp} -> routeTableTimestamp) (\s@GetNetworkRoutesResponse' {} a -> s {routeTableTimestamp = a} :: GetNetworkRoutesResponse) Prelude.. Lens.mapping Data._Time++-- | The route table type.+getNetworkRoutesResponse_routeTableType :: Lens.Lens' GetNetworkRoutesResponse (Prelude.Maybe RouteTableType)+getNetworkRoutesResponse_routeTableType = Lens.lens (\GetNetworkRoutesResponse' {routeTableType} -> routeTableType) (\s@GetNetworkRoutesResponse' {} a -> s {routeTableType = a} :: GetNetworkRoutesResponse)++-- | The response's http status code.+getNetworkRoutesResponse_httpStatus :: Lens.Lens' GetNetworkRoutesResponse Prelude.Int+getNetworkRoutesResponse_httpStatus = Lens.lens (\GetNetworkRoutesResponse' {httpStatus} -> httpStatus) (\s@GetNetworkRoutesResponse' {} a -> s {httpStatus = a} :: GetNetworkRoutesResponse)++instance Prelude.NFData GetNetworkRoutesResponse where+  rnf GetNetworkRoutesResponse' {..} =+    Prelude.rnf coreNetworkSegmentEdge+      `Prelude.seq` Prelude.rnf networkRoutes+      `Prelude.seq` Prelude.rnf routeTableArn+      `Prelude.seq` Prelude.rnf routeTableTimestamp+      `Prelude.seq` Prelude.rnf routeTableType+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetNetworkTelemetry.hs view
@@ -0,0 +1,407 @@+{-# 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.NetworkManager.GetNetworkTelemetry+-- 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 network telemetry of the specified global network.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetNetworkTelemetry+  ( -- * Creating a Request+    GetNetworkTelemetry (..),+    newGetNetworkTelemetry,++    -- * Request Lenses+    getNetworkTelemetry_accountId,+    getNetworkTelemetry_awsRegion,+    getNetworkTelemetry_coreNetworkId,+    getNetworkTelemetry_maxResults,+    getNetworkTelemetry_nextToken,+    getNetworkTelemetry_registeredGatewayArn,+    getNetworkTelemetry_resourceArn,+    getNetworkTelemetry_resourceType,+    getNetworkTelemetry_globalNetworkId,++    -- * Destructuring the Response+    GetNetworkTelemetryResponse (..),+    newGetNetworkTelemetryResponse,++    -- * Response Lenses+    getNetworkTelemetryResponse_networkTelemetry,+    getNetworkTelemetryResponse_nextToken,+    getNetworkTelemetryResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetNetworkTelemetry' smart constructor.+data GetNetworkTelemetry = GetNetworkTelemetry'+  { -- | The Amazon Web Services account ID.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services Region.+    awsRegion :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the gateway.+    registeredGatewayArn :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The resource type.+    --+    -- The following are the supported resource types for Direct Connect:+    --+    -- -   @dxcon@+    --+    -- -   @dx-gateway@+    --+    -- -   @dx-vif@+    --+    -- The following are the supported resource types for Network Manager:+    --+    -- -   @connection@+    --+    -- -   @device@+    --+    -- -   @link@+    --+    -- -   @site@+    --+    -- The following are the supported resource types for Amazon VPC:+    --+    -- -   @customer-gateway@+    --+    -- -   @transit-gateway@+    --+    -- -   @transit-gateway-attachment@+    --+    -- -   @transit-gateway-connect-peer@+    --+    -- -   @transit-gateway-route-table@+    --+    -- -   @vpn-connection@+    resourceType :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetNetworkTelemetry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getNetworkTelemetry_accountId' - The Amazon Web Services account ID.+--+-- 'awsRegion', 'getNetworkTelemetry_awsRegion' - The Amazon Web Services Region.+--+-- 'coreNetworkId', 'getNetworkTelemetry_coreNetworkId' - The ID of a core network.+--+-- 'maxResults', 'getNetworkTelemetry_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getNetworkTelemetry_nextToken' - The token for the next page of results.+--+-- 'registeredGatewayArn', 'getNetworkTelemetry_registeredGatewayArn' - The ARN of the gateway.+--+-- 'resourceArn', 'getNetworkTelemetry_resourceArn' - The ARN of the resource.+--+-- 'resourceType', 'getNetworkTelemetry_resourceType' - The resource type.+--+-- The following are the supported resource types for Direct Connect:+--+-- -   @dxcon@+--+-- -   @dx-gateway@+--+-- -   @dx-vif@+--+-- The following are the supported resource types for Network Manager:+--+-- -   @connection@+--+-- -   @device@+--+-- -   @link@+--+-- -   @site@+--+-- The following are the supported resource types for Amazon VPC:+--+-- -   @customer-gateway@+--+-- -   @transit-gateway@+--+-- -   @transit-gateway-attachment@+--+-- -   @transit-gateway-connect-peer@+--+-- -   @transit-gateway-route-table@+--+-- -   @vpn-connection@+--+-- 'globalNetworkId', 'getNetworkTelemetry_globalNetworkId' - The ID of the global network.+newGetNetworkTelemetry ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  GetNetworkTelemetry+newGetNetworkTelemetry pGlobalNetworkId_ =+  GetNetworkTelemetry'+    { accountId = Prelude.Nothing,+      awsRegion = Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      registeredGatewayArn = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      resourceType = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | The Amazon Web Services account ID.+getNetworkTelemetry_accountId :: Lens.Lens' GetNetworkTelemetry (Prelude.Maybe Prelude.Text)+getNetworkTelemetry_accountId = Lens.lens (\GetNetworkTelemetry' {accountId} -> accountId) (\s@GetNetworkTelemetry' {} a -> s {accountId = a} :: GetNetworkTelemetry)++-- | The Amazon Web Services Region.+getNetworkTelemetry_awsRegion :: Lens.Lens' GetNetworkTelemetry (Prelude.Maybe Prelude.Text)+getNetworkTelemetry_awsRegion = Lens.lens (\GetNetworkTelemetry' {awsRegion} -> awsRegion) (\s@GetNetworkTelemetry' {} a -> s {awsRegion = a} :: GetNetworkTelemetry)++-- | The ID of a core network.+getNetworkTelemetry_coreNetworkId :: Lens.Lens' GetNetworkTelemetry (Prelude.Maybe Prelude.Text)+getNetworkTelemetry_coreNetworkId = Lens.lens (\GetNetworkTelemetry' {coreNetworkId} -> coreNetworkId) (\s@GetNetworkTelemetry' {} a -> s {coreNetworkId = a} :: GetNetworkTelemetry)++-- | The maximum number of results to return.+getNetworkTelemetry_maxResults :: Lens.Lens' GetNetworkTelemetry (Prelude.Maybe Prelude.Natural)+getNetworkTelemetry_maxResults = Lens.lens (\GetNetworkTelemetry' {maxResults} -> maxResults) (\s@GetNetworkTelemetry' {} a -> s {maxResults = a} :: GetNetworkTelemetry)++-- | The token for the next page of results.+getNetworkTelemetry_nextToken :: Lens.Lens' GetNetworkTelemetry (Prelude.Maybe Prelude.Text)+getNetworkTelemetry_nextToken = Lens.lens (\GetNetworkTelemetry' {nextToken} -> nextToken) (\s@GetNetworkTelemetry' {} a -> s {nextToken = a} :: GetNetworkTelemetry)++-- | The ARN of the gateway.+getNetworkTelemetry_registeredGatewayArn :: Lens.Lens' GetNetworkTelemetry (Prelude.Maybe Prelude.Text)+getNetworkTelemetry_registeredGatewayArn = Lens.lens (\GetNetworkTelemetry' {registeredGatewayArn} -> registeredGatewayArn) (\s@GetNetworkTelemetry' {} a -> s {registeredGatewayArn = a} :: GetNetworkTelemetry)++-- | The ARN of the resource.+getNetworkTelemetry_resourceArn :: Lens.Lens' GetNetworkTelemetry (Prelude.Maybe Prelude.Text)+getNetworkTelemetry_resourceArn = Lens.lens (\GetNetworkTelemetry' {resourceArn} -> resourceArn) (\s@GetNetworkTelemetry' {} a -> s {resourceArn = a} :: GetNetworkTelemetry)++-- | The resource type.+--+-- The following are the supported resource types for Direct Connect:+--+-- -   @dxcon@+--+-- -   @dx-gateway@+--+-- -   @dx-vif@+--+-- The following are the supported resource types for Network Manager:+--+-- -   @connection@+--+-- -   @device@+--+-- -   @link@+--+-- -   @site@+--+-- The following are the supported resource types for Amazon VPC:+--+-- -   @customer-gateway@+--+-- -   @transit-gateway@+--+-- -   @transit-gateway-attachment@+--+-- -   @transit-gateway-connect-peer@+--+-- -   @transit-gateway-route-table@+--+-- -   @vpn-connection@+getNetworkTelemetry_resourceType :: Lens.Lens' GetNetworkTelemetry (Prelude.Maybe Prelude.Text)+getNetworkTelemetry_resourceType = Lens.lens (\GetNetworkTelemetry' {resourceType} -> resourceType) (\s@GetNetworkTelemetry' {} a -> s {resourceType = a} :: GetNetworkTelemetry)++-- | The ID of the global network.+getNetworkTelemetry_globalNetworkId :: Lens.Lens' GetNetworkTelemetry Prelude.Text+getNetworkTelemetry_globalNetworkId = Lens.lens (\GetNetworkTelemetry' {globalNetworkId} -> globalNetworkId) (\s@GetNetworkTelemetry' {} a -> s {globalNetworkId = a} :: GetNetworkTelemetry)++instance Core.AWSPager GetNetworkTelemetry where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getNetworkTelemetryResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getNetworkTelemetryResponse_networkTelemetry+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getNetworkTelemetry_nextToken+          Lens..~ rs+          Lens.^? getNetworkTelemetryResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetNetworkTelemetry where+  type+    AWSResponse GetNetworkTelemetry =+      GetNetworkTelemetryResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetNetworkTelemetryResponse'+            Prelude.<$> ( x+                            Data..?> "NetworkTelemetry"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetNetworkTelemetry where+  hashWithSalt _salt GetNetworkTelemetry' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` awsRegion+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` registeredGatewayArn+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData GetNetworkTelemetry where+  rnf GetNetworkTelemetry' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf awsRegion+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf registeredGatewayArn+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf globalNetworkId++instance Data.ToHeaders GetNetworkTelemetry where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetNetworkTelemetry where+  toPath GetNetworkTelemetry' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/network-telemetry"+      ]++instance Data.ToQuery GetNetworkTelemetry where+  toQuery GetNetworkTelemetry' {..} =+    Prelude.mconcat+      [ "accountId" Data.=: accountId,+        "awsRegion" Data.=: awsRegion,+        "coreNetworkId" Data.=: coreNetworkId,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "registeredGatewayArn" Data.=: registeredGatewayArn,+        "resourceArn" Data.=: resourceArn,+        "resourceType" Data.=: resourceType+      ]++-- | /See:/ 'newGetNetworkTelemetryResponse' smart constructor.+data GetNetworkTelemetryResponse = GetNetworkTelemetryResponse'+  { -- | The network telemetry.+    networkTelemetry :: Prelude.Maybe [NetworkTelemetry],+    -- | 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 'GetNetworkTelemetryResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkTelemetry', 'getNetworkTelemetryResponse_networkTelemetry' - The network telemetry.+--+-- 'nextToken', 'getNetworkTelemetryResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'getNetworkTelemetryResponse_httpStatus' - The response's http status code.+newGetNetworkTelemetryResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetNetworkTelemetryResponse+newGetNetworkTelemetryResponse pHttpStatus_ =+  GetNetworkTelemetryResponse'+    { networkTelemetry =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The network telemetry.+getNetworkTelemetryResponse_networkTelemetry :: Lens.Lens' GetNetworkTelemetryResponse (Prelude.Maybe [NetworkTelemetry])+getNetworkTelemetryResponse_networkTelemetry = Lens.lens (\GetNetworkTelemetryResponse' {networkTelemetry} -> networkTelemetry) (\s@GetNetworkTelemetryResponse' {} a -> s {networkTelemetry = a} :: GetNetworkTelemetryResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+getNetworkTelemetryResponse_nextToken :: Lens.Lens' GetNetworkTelemetryResponse (Prelude.Maybe Prelude.Text)+getNetworkTelemetryResponse_nextToken = Lens.lens (\GetNetworkTelemetryResponse' {nextToken} -> nextToken) (\s@GetNetworkTelemetryResponse' {} a -> s {nextToken = a} :: GetNetworkTelemetryResponse)++-- | The response's http status code.+getNetworkTelemetryResponse_httpStatus :: Lens.Lens' GetNetworkTelemetryResponse Prelude.Int+getNetworkTelemetryResponse_httpStatus = Lens.lens (\GetNetworkTelemetryResponse' {httpStatus} -> httpStatus) (\s@GetNetworkTelemetryResponse' {} a -> s {httpStatus = a} :: GetNetworkTelemetryResponse)++instance Prelude.NFData GetNetworkTelemetryResponse where+  rnf GetNetworkTelemetryResponse' {..} =+    Prelude.rnf networkTelemetry+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetResourcePolicy.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.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)+--+-- Returns information about a resource policy.+module Amazonka.NetworkManager.GetResourcePolicy+  ( -- * Creating a Request+    GetResourcePolicy (..),+    newGetResourcePolicy,++    -- * Request Lenses+    getResourcePolicy_resourceArn,++    -- * Destructuring the Response+    GetResourcePolicyResponse (..),+    newGetResourcePolicyResponse,++    -- * Response Lenses+    getResourcePolicyResponse_policyDocument,+    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.NetworkManager.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 ARN of the resource.+    resourceArn :: 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:+--+-- 'resourceArn', 'getResourcePolicy_resourceArn' - The ARN of the resource.+newGetResourcePolicy ::+  -- | 'resourceArn'+  Prelude.Text ->+  GetResourcePolicy+newGetResourcePolicy pResourceArn_ =+  GetResourcePolicy' {resourceArn = pResourceArn_}++-- | The ARN of the resource.+getResourcePolicy_resourceArn :: Lens.Lens' GetResourcePolicy Prelude.Text+getResourcePolicy_resourceArn = Lens.lens (\GetResourcePolicy' {resourceArn} -> resourceArn) (\s@GetResourcePolicy' {} a -> s {resourceArn = 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..?> "PolicyDocument")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetResourcePolicy where+  hashWithSalt _salt GetResourcePolicy' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData GetResourcePolicy where+  rnf GetResourcePolicy' {..} = Prelude.rnf resourceArn++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+      ["/resource-policy/", Data.toBS resourceArn]++instance Data.ToQuery GetResourcePolicy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetResourcePolicyResponse' smart constructor.+data GetResourcePolicyResponse = GetResourcePolicyResponse'+  { -- | The resource policy document.+    policyDocument :: 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:+--+-- 'policyDocument', 'getResourcePolicyResponse_policyDocument' - The resource policy document.+--+-- 'httpStatus', 'getResourcePolicyResponse_httpStatus' - The response's http status code.+newGetResourcePolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetResourcePolicyResponse+newGetResourcePolicyResponse pHttpStatus_ =+  GetResourcePolicyResponse'+    { policyDocument =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The resource policy document.+getResourcePolicyResponse_policyDocument :: Lens.Lens' GetResourcePolicyResponse (Prelude.Maybe Prelude.Text)+getResourcePolicyResponse_policyDocument = Lens.lens (\GetResourcePolicyResponse' {policyDocument} -> policyDocument) (\s@GetResourcePolicyResponse' {} a -> s {policyDocument = 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 policyDocument+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetRouteAnalysis.hs view
@@ -0,0 +1,184 @@+{-# 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.NetworkManager.GetRouteAnalysis+-- 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 information about the specified route analysis.+module Amazonka.NetworkManager.GetRouteAnalysis+  ( -- * Creating a Request+    GetRouteAnalysis (..),+    newGetRouteAnalysis,++    -- * Request Lenses+    getRouteAnalysis_globalNetworkId,+    getRouteAnalysis_routeAnalysisId,++    -- * Destructuring the Response+    GetRouteAnalysisResponse (..),+    newGetRouteAnalysisResponse,++    -- * Response Lenses+    getRouteAnalysisResponse_routeAnalysis,+    getRouteAnalysisResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetRouteAnalysis' smart constructor.+data GetRouteAnalysis = GetRouteAnalysis'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the route analysis.+    routeAnalysisId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRouteAnalysis' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'getRouteAnalysis_globalNetworkId' - The ID of the global network.+--+-- 'routeAnalysisId', 'getRouteAnalysis_routeAnalysisId' - The ID of the route analysis.+newGetRouteAnalysis ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'routeAnalysisId'+  Prelude.Text ->+  GetRouteAnalysis+newGetRouteAnalysis+  pGlobalNetworkId_+  pRouteAnalysisId_ =+    GetRouteAnalysis'+      { globalNetworkId =+          pGlobalNetworkId_,+        routeAnalysisId = pRouteAnalysisId_+      }++-- | The ID of the global network.+getRouteAnalysis_globalNetworkId :: Lens.Lens' GetRouteAnalysis Prelude.Text+getRouteAnalysis_globalNetworkId = Lens.lens (\GetRouteAnalysis' {globalNetworkId} -> globalNetworkId) (\s@GetRouteAnalysis' {} a -> s {globalNetworkId = a} :: GetRouteAnalysis)++-- | The ID of the route analysis.+getRouteAnalysis_routeAnalysisId :: Lens.Lens' GetRouteAnalysis Prelude.Text+getRouteAnalysis_routeAnalysisId = Lens.lens (\GetRouteAnalysis' {routeAnalysisId} -> routeAnalysisId) (\s@GetRouteAnalysis' {} a -> s {routeAnalysisId = a} :: GetRouteAnalysis)++instance Core.AWSRequest GetRouteAnalysis where+  type+    AWSResponse GetRouteAnalysis =+      GetRouteAnalysisResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetRouteAnalysisResponse'+            Prelude.<$> (x Data..?> "RouteAnalysis")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetRouteAnalysis where+  hashWithSalt _salt GetRouteAnalysis' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` routeAnalysisId++instance Prelude.NFData GetRouteAnalysis where+  rnf GetRouteAnalysis' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf routeAnalysisId++instance Data.ToHeaders GetRouteAnalysis where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetRouteAnalysis where+  toPath GetRouteAnalysis' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/route-analyses/",+        Data.toBS routeAnalysisId+      ]++instance Data.ToQuery GetRouteAnalysis where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetRouteAnalysisResponse' smart constructor.+data GetRouteAnalysisResponse = GetRouteAnalysisResponse'+  { -- | The route analysis.+    routeAnalysis :: Prelude.Maybe RouteAnalysis,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetRouteAnalysisResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'routeAnalysis', 'getRouteAnalysisResponse_routeAnalysis' - The route analysis.+--+-- 'httpStatus', 'getRouteAnalysisResponse_httpStatus' - The response's http status code.+newGetRouteAnalysisResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetRouteAnalysisResponse+newGetRouteAnalysisResponse pHttpStatus_ =+  GetRouteAnalysisResponse'+    { routeAnalysis =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The route analysis.+getRouteAnalysisResponse_routeAnalysis :: Lens.Lens' GetRouteAnalysisResponse (Prelude.Maybe RouteAnalysis)+getRouteAnalysisResponse_routeAnalysis = Lens.lens (\GetRouteAnalysisResponse' {routeAnalysis} -> routeAnalysis) (\s@GetRouteAnalysisResponse' {} a -> s {routeAnalysis = a} :: GetRouteAnalysisResponse)++-- | The response's http status code.+getRouteAnalysisResponse_httpStatus :: Lens.Lens' GetRouteAnalysisResponse Prelude.Int+getRouteAnalysisResponse_httpStatus = Lens.lens (\GetRouteAnalysisResponse' {httpStatus} -> httpStatus) (\s@GetRouteAnalysisResponse' {} a -> s {httpStatus = a} :: GetRouteAnalysisResponse)++instance Prelude.NFData GetRouteAnalysisResponse where+  rnf GetRouteAnalysisResponse' {..} =+    Prelude.rnf routeAnalysis+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetSiteToSiteVpnAttachment.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.GetSiteToSiteVpnAttachment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a site-to-site VPN attachment.+module Amazonka.NetworkManager.GetSiteToSiteVpnAttachment+  ( -- * Creating a Request+    GetSiteToSiteVpnAttachment (..),+    newGetSiteToSiteVpnAttachment,++    -- * Request Lenses+    getSiteToSiteVpnAttachment_attachmentId,++    -- * Destructuring the Response+    GetSiteToSiteVpnAttachmentResponse (..),+    newGetSiteToSiteVpnAttachmentResponse,++    -- * Response Lenses+    getSiteToSiteVpnAttachmentResponse_siteToSiteVpnAttachment,+    getSiteToSiteVpnAttachmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSiteToSiteVpnAttachment' smart constructor.+data GetSiteToSiteVpnAttachment = GetSiteToSiteVpnAttachment'+  { -- | The ID of the attachment.+    attachmentId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSiteToSiteVpnAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachmentId', 'getSiteToSiteVpnAttachment_attachmentId' - The ID of the attachment.+newGetSiteToSiteVpnAttachment ::+  -- | 'attachmentId'+  Prelude.Text ->+  GetSiteToSiteVpnAttachment+newGetSiteToSiteVpnAttachment pAttachmentId_ =+  GetSiteToSiteVpnAttachment'+    { attachmentId =+        pAttachmentId_+    }++-- | The ID of the attachment.+getSiteToSiteVpnAttachment_attachmentId :: Lens.Lens' GetSiteToSiteVpnAttachment Prelude.Text+getSiteToSiteVpnAttachment_attachmentId = Lens.lens (\GetSiteToSiteVpnAttachment' {attachmentId} -> attachmentId) (\s@GetSiteToSiteVpnAttachment' {} a -> s {attachmentId = a} :: GetSiteToSiteVpnAttachment)++instance Core.AWSRequest GetSiteToSiteVpnAttachment where+  type+    AWSResponse GetSiteToSiteVpnAttachment =+      GetSiteToSiteVpnAttachmentResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetSiteToSiteVpnAttachmentResponse'+            Prelude.<$> (x Data..?> "SiteToSiteVpnAttachment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetSiteToSiteVpnAttachment where+  hashWithSalt _salt GetSiteToSiteVpnAttachment' {..} =+    _salt `Prelude.hashWithSalt` attachmentId++instance Prelude.NFData GetSiteToSiteVpnAttachment where+  rnf GetSiteToSiteVpnAttachment' {..} =+    Prelude.rnf attachmentId++instance Data.ToHeaders GetSiteToSiteVpnAttachment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetSiteToSiteVpnAttachment where+  toPath GetSiteToSiteVpnAttachment' {..} =+    Prelude.mconcat+      [ "/site-to-site-vpn-attachments/",+        Data.toBS attachmentId+      ]++instance Data.ToQuery GetSiteToSiteVpnAttachment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetSiteToSiteVpnAttachmentResponse' smart constructor.+data GetSiteToSiteVpnAttachmentResponse = GetSiteToSiteVpnAttachmentResponse'+  { -- | Describes the site-to-site attachment.+    siteToSiteVpnAttachment :: Prelude.Maybe SiteToSiteVpnAttachment,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSiteToSiteVpnAttachmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'siteToSiteVpnAttachment', 'getSiteToSiteVpnAttachmentResponse_siteToSiteVpnAttachment' - Describes the site-to-site attachment.+--+-- 'httpStatus', 'getSiteToSiteVpnAttachmentResponse_httpStatus' - The response's http status code.+newGetSiteToSiteVpnAttachmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetSiteToSiteVpnAttachmentResponse+newGetSiteToSiteVpnAttachmentResponse pHttpStatus_ =+  GetSiteToSiteVpnAttachmentResponse'+    { siteToSiteVpnAttachment =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Describes the site-to-site attachment.+getSiteToSiteVpnAttachmentResponse_siteToSiteVpnAttachment :: Lens.Lens' GetSiteToSiteVpnAttachmentResponse (Prelude.Maybe SiteToSiteVpnAttachment)+getSiteToSiteVpnAttachmentResponse_siteToSiteVpnAttachment = Lens.lens (\GetSiteToSiteVpnAttachmentResponse' {siteToSiteVpnAttachment} -> siteToSiteVpnAttachment) (\s@GetSiteToSiteVpnAttachmentResponse' {} a -> s {siteToSiteVpnAttachment = a} :: GetSiteToSiteVpnAttachmentResponse)++-- | The response's http status code.+getSiteToSiteVpnAttachmentResponse_httpStatus :: Lens.Lens' GetSiteToSiteVpnAttachmentResponse Prelude.Int+getSiteToSiteVpnAttachmentResponse_httpStatus = Lens.lens (\GetSiteToSiteVpnAttachmentResponse' {httpStatus} -> httpStatus) (\s@GetSiteToSiteVpnAttachmentResponse' {} a -> s {httpStatus = a} :: GetSiteToSiteVpnAttachmentResponse)++instance+  Prelude.NFData+    GetSiteToSiteVpnAttachmentResponse+  where+  rnf GetSiteToSiteVpnAttachmentResponse' {..} =+    Prelude.rnf siteToSiteVpnAttachment+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetSites.hs view
@@ -0,0 +1,242 @@+{-# 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.NetworkManager.GetSites+-- 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 information about one or more of your sites in a global network.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetSites+  ( -- * Creating a Request+    GetSites (..),+    newGetSites,++    -- * Request Lenses+    getSites_maxResults,+    getSites_nextToken,+    getSites_siteIds,+    getSites_globalNetworkId,++    -- * Destructuring the Response+    GetSitesResponse (..),+    newGetSitesResponse,++    -- * Response Lenses+    getSitesResponse_nextToken,+    getSitesResponse_sites,+    getSitesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetSites' smart constructor.+data GetSites = GetSites'+  { -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | One or more site IDs. The maximum is 10.+    siteIds :: Prelude.Maybe [Prelude.Text],+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSites' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getSites_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getSites_nextToken' - The token for the next page of results.+--+-- 'siteIds', 'getSites_siteIds' - One or more site IDs. The maximum is 10.+--+-- 'globalNetworkId', 'getSites_globalNetworkId' - The ID of the global network.+newGetSites ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  GetSites+newGetSites pGlobalNetworkId_ =+  GetSites'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      siteIds = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | The maximum number of results to return.+getSites_maxResults :: Lens.Lens' GetSites (Prelude.Maybe Prelude.Natural)+getSites_maxResults = Lens.lens (\GetSites' {maxResults} -> maxResults) (\s@GetSites' {} a -> s {maxResults = a} :: GetSites)++-- | The token for the next page of results.+getSites_nextToken :: Lens.Lens' GetSites (Prelude.Maybe Prelude.Text)+getSites_nextToken = Lens.lens (\GetSites' {nextToken} -> nextToken) (\s@GetSites' {} a -> s {nextToken = a} :: GetSites)++-- | One or more site IDs. The maximum is 10.+getSites_siteIds :: Lens.Lens' GetSites (Prelude.Maybe [Prelude.Text])+getSites_siteIds = Lens.lens (\GetSites' {siteIds} -> siteIds) (\s@GetSites' {} a -> s {siteIds = a} :: GetSites) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the global network.+getSites_globalNetworkId :: Lens.Lens' GetSites Prelude.Text+getSites_globalNetworkId = Lens.lens (\GetSites' {globalNetworkId} -> globalNetworkId) (\s@GetSites' {} a -> s {globalNetworkId = a} :: GetSites)++instance Core.AWSPager GetSites where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getSitesResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getSitesResponse_sites+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getSites_nextToken+          Lens..~ rs+          Lens.^? getSitesResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest GetSites where+  type AWSResponse GetSites = GetSitesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetSitesResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Sites" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetSites where+  hashWithSalt _salt GetSites' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` siteIds+      `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData GetSites where+  rnf GetSites' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf siteIds+      `Prelude.seq` Prelude.rnf globalNetworkId++instance Data.ToHeaders GetSites where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetSites where+  toPath GetSites' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/sites"+      ]++instance Data.ToQuery GetSites where+  toQuery GetSites' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "siteIds"+          Data.=: Data.toQuery+            (Data.toQueryList "member" Prelude.<$> siteIds)+      ]++-- | /See:/ 'newGetSitesResponse' smart constructor.+data GetSitesResponse = GetSitesResponse'+  { -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The sites.+    sites :: Prelude.Maybe [Site],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetSitesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getSitesResponse_nextToken' - The token for the next page of results.+--+-- 'sites', 'getSitesResponse_sites' - The sites.+--+-- 'httpStatus', 'getSitesResponse_httpStatus' - The response's http status code.+newGetSitesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetSitesResponse+newGetSitesResponse pHttpStatus_ =+  GetSitesResponse'+    { nextToken = Prelude.Nothing,+      sites = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token for the next page of results.+getSitesResponse_nextToken :: Lens.Lens' GetSitesResponse (Prelude.Maybe Prelude.Text)+getSitesResponse_nextToken = Lens.lens (\GetSitesResponse' {nextToken} -> nextToken) (\s@GetSitesResponse' {} a -> s {nextToken = a} :: GetSitesResponse)++-- | The sites.+getSitesResponse_sites :: Lens.Lens' GetSitesResponse (Prelude.Maybe [Site])+getSitesResponse_sites = Lens.lens (\GetSitesResponse' {sites} -> sites) (\s@GetSitesResponse' {} a -> s {sites = a} :: GetSitesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getSitesResponse_httpStatus :: Lens.Lens' GetSitesResponse Prelude.Int+getSitesResponse_httpStatus = Lens.lens (\GetSitesResponse' {httpStatus} -> httpStatus) (\s@GetSitesResponse' {} a -> s {httpStatus = a} :: GetSitesResponse)++instance Prelude.NFData GetSitesResponse where+  rnf GetSitesResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf sites+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetTransitGatewayConnectPeerAssociations.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.NetworkManager.GetTransitGatewayConnectPeerAssociations+-- 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 information about one or more of your transit gateway Connect peer+-- associations in a global network.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetTransitGatewayConnectPeerAssociations+  ( -- * Creating a Request+    GetTransitGatewayConnectPeerAssociations (..),+    newGetTransitGatewayConnectPeerAssociations,++    -- * Request Lenses+    getTransitGatewayConnectPeerAssociations_maxResults,+    getTransitGatewayConnectPeerAssociations_nextToken,+    getTransitGatewayConnectPeerAssociations_transitGatewayConnectPeerArns,+    getTransitGatewayConnectPeerAssociations_globalNetworkId,++    -- * Destructuring the Response+    GetTransitGatewayConnectPeerAssociationsResponse (..),+    newGetTransitGatewayConnectPeerAssociationsResponse,++    -- * Response Lenses+    getTransitGatewayConnectPeerAssociationsResponse_nextToken,+    getTransitGatewayConnectPeerAssociationsResponse_transitGatewayConnectPeerAssociations,+    getTransitGatewayConnectPeerAssociationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetTransitGatewayConnectPeerAssociations' smart constructor.+data GetTransitGatewayConnectPeerAssociations = GetTransitGatewayConnectPeerAssociations'+  { -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | One or more transit gateway Connect peer Amazon Resource Names (ARNs).+    transitGatewayConnectPeerArns :: Prelude.Maybe [Prelude.Text],+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTransitGatewayConnectPeerAssociations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getTransitGatewayConnectPeerAssociations_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getTransitGatewayConnectPeerAssociations_nextToken' - The token for the next page of results.+--+-- 'transitGatewayConnectPeerArns', 'getTransitGatewayConnectPeerAssociations_transitGatewayConnectPeerArns' - One or more transit gateway Connect peer Amazon Resource Names (ARNs).+--+-- 'globalNetworkId', 'getTransitGatewayConnectPeerAssociations_globalNetworkId' - The ID of the global network.+newGetTransitGatewayConnectPeerAssociations ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  GetTransitGatewayConnectPeerAssociations+newGetTransitGatewayConnectPeerAssociations+  pGlobalNetworkId_ =+    GetTransitGatewayConnectPeerAssociations'+      { maxResults =+          Prelude.Nothing,+        nextToken = Prelude.Nothing,+        transitGatewayConnectPeerArns =+          Prelude.Nothing,+        globalNetworkId =+          pGlobalNetworkId_+      }++-- | The maximum number of results to return.+getTransitGatewayConnectPeerAssociations_maxResults :: Lens.Lens' GetTransitGatewayConnectPeerAssociations (Prelude.Maybe Prelude.Natural)+getTransitGatewayConnectPeerAssociations_maxResults = Lens.lens (\GetTransitGatewayConnectPeerAssociations' {maxResults} -> maxResults) (\s@GetTransitGatewayConnectPeerAssociations' {} a -> s {maxResults = a} :: GetTransitGatewayConnectPeerAssociations)++-- | The token for the next page of results.+getTransitGatewayConnectPeerAssociations_nextToken :: Lens.Lens' GetTransitGatewayConnectPeerAssociations (Prelude.Maybe Prelude.Text)+getTransitGatewayConnectPeerAssociations_nextToken = Lens.lens (\GetTransitGatewayConnectPeerAssociations' {nextToken} -> nextToken) (\s@GetTransitGatewayConnectPeerAssociations' {} a -> s {nextToken = a} :: GetTransitGatewayConnectPeerAssociations)++-- | One or more transit gateway Connect peer Amazon Resource Names (ARNs).+getTransitGatewayConnectPeerAssociations_transitGatewayConnectPeerArns :: Lens.Lens' GetTransitGatewayConnectPeerAssociations (Prelude.Maybe [Prelude.Text])+getTransitGatewayConnectPeerAssociations_transitGatewayConnectPeerArns = Lens.lens (\GetTransitGatewayConnectPeerAssociations' {transitGatewayConnectPeerArns} -> transitGatewayConnectPeerArns) (\s@GetTransitGatewayConnectPeerAssociations' {} a -> s {transitGatewayConnectPeerArns = a} :: GetTransitGatewayConnectPeerAssociations) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the global network.+getTransitGatewayConnectPeerAssociations_globalNetworkId :: Lens.Lens' GetTransitGatewayConnectPeerAssociations Prelude.Text+getTransitGatewayConnectPeerAssociations_globalNetworkId = Lens.lens (\GetTransitGatewayConnectPeerAssociations' {globalNetworkId} -> globalNetworkId) (\s@GetTransitGatewayConnectPeerAssociations' {} a -> s {globalNetworkId = a} :: GetTransitGatewayConnectPeerAssociations)++instance+  Core.AWSPager+    GetTransitGatewayConnectPeerAssociations+  where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getTransitGatewayConnectPeerAssociationsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getTransitGatewayConnectPeerAssociationsResponse_transitGatewayConnectPeerAssociations+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getTransitGatewayConnectPeerAssociations_nextToken+          Lens..~ rs+          Lens.^? getTransitGatewayConnectPeerAssociationsResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    GetTransitGatewayConnectPeerAssociations+  where+  type+    AWSResponse+      GetTransitGatewayConnectPeerAssociations =+      GetTransitGatewayConnectPeerAssociationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetTransitGatewayConnectPeerAssociationsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "TransitGatewayConnectPeerAssociations"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetTransitGatewayConnectPeerAssociations+  where+  hashWithSalt+    _salt+    GetTransitGatewayConnectPeerAssociations' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` transitGatewayConnectPeerArns+        `Prelude.hashWithSalt` globalNetworkId++instance+  Prelude.NFData+    GetTransitGatewayConnectPeerAssociations+  where+  rnf GetTransitGatewayConnectPeerAssociations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf transitGatewayConnectPeerArns+      `Prelude.seq` Prelude.rnf globalNetworkId++instance+  Data.ToHeaders+    GetTransitGatewayConnectPeerAssociations+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToPath+    GetTransitGatewayConnectPeerAssociations+  where+  toPath GetTransitGatewayConnectPeerAssociations' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/transit-gateway-connect-peer-associations"+      ]++instance+  Data.ToQuery+    GetTransitGatewayConnectPeerAssociations+  where+  toQuery GetTransitGatewayConnectPeerAssociations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "transitGatewayConnectPeerArns"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> transitGatewayConnectPeerArns+            )+      ]++-- | /See:/ 'newGetTransitGatewayConnectPeerAssociationsResponse' smart constructor.+data GetTransitGatewayConnectPeerAssociationsResponse = GetTransitGatewayConnectPeerAssociationsResponse'+  { -- | The token to use for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Information about the transit gateway Connect peer associations.+    transitGatewayConnectPeerAssociations :: Prelude.Maybe [TransitGatewayConnectPeerAssociation],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTransitGatewayConnectPeerAssociationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getTransitGatewayConnectPeerAssociationsResponse_nextToken' - The token to use for the next page of results.+--+-- 'transitGatewayConnectPeerAssociations', 'getTransitGatewayConnectPeerAssociationsResponse_transitGatewayConnectPeerAssociations' - Information about the transit gateway Connect peer associations.+--+-- 'httpStatus', 'getTransitGatewayConnectPeerAssociationsResponse_httpStatus' - The response's http status code.+newGetTransitGatewayConnectPeerAssociationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetTransitGatewayConnectPeerAssociationsResponse+newGetTransitGatewayConnectPeerAssociationsResponse+  pHttpStatus_ =+    GetTransitGatewayConnectPeerAssociationsResponse'+      { nextToken =+          Prelude.Nothing,+        transitGatewayConnectPeerAssociations =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The token to use for the next page of results.+getTransitGatewayConnectPeerAssociationsResponse_nextToken :: Lens.Lens' GetTransitGatewayConnectPeerAssociationsResponse (Prelude.Maybe Prelude.Text)+getTransitGatewayConnectPeerAssociationsResponse_nextToken = Lens.lens (\GetTransitGatewayConnectPeerAssociationsResponse' {nextToken} -> nextToken) (\s@GetTransitGatewayConnectPeerAssociationsResponse' {} a -> s {nextToken = a} :: GetTransitGatewayConnectPeerAssociationsResponse)++-- | Information about the transit gateway Connect peer associations.+getTransitGatewayConnectPeerAssociationsResponse_transitGatewayConnectPeerAssociations :: Lens.Lens' GetTransitGatewayConnectPeerAssociationsResponse (Prelude.Maybe [TransitGatewayConnectPeerAssociation])+getTransitGatewayConnectPeerAssociationsResponse_transitGatewayConnectPeerAssociations = Lens.lens (\GetTransitGatewayConnectPeerAssociationsResponse' {transitGatewayConnectPeerAssociations} -> transitGatewayConnectPeerAssociations) (\s@GetTransitGatewayConnectPeerAssociationsResponse' {} a -> s {transitGatewayConnectPeerAssociations = a} :: GetTransitGatewayConnectPeerAssociationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getTransitGatewayConnectPeerAssociationsResponse_httpStatus :: Lens.Lens' GetTransitGatewayConnectPeerAssociationsResponse Prelude.Int+getTransitGatewayConnectPeerAssociationsResponse_httpStatus = Lens.lens (\GetTransitGatewayConnectPeerAssociationsResponse' {httpStatus} -> httpStatus) (\s@GetTransitGatewayConnectPeerAssociationsResponse' {} a -> s {httpStatus = a} :: GetTransitGatewayConnectPeerAssociationsResponse)++instance+  Prelude.NFData+    GetTransitGatewayConnectPeerAssociationsResponse+  where+  rnf+    GetTransitGatewayConnectPeerAssociationsResponse' {..} =+      Prelude.rnf nextToken+        `Prelude.seq` Prelude.rnf transitGatewayConnectPeerAssociations+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetTransitGatewayPeering.hs view
@@ -0,0 +1,163 @@+{-# 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.NetworkManager.GetTransitGatewayPeering+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a transit gateway peer.+module Amazonka.NetworkManager.GetTransitGatewayPeering+  ( -- * Creating a Request+    GetTransitGatewayPeering (..),+    newGetTransitGatewayPeering,++    -- * Request Lenses+    getTransitGatewayPeering_peeringId,++    -- * Destructuring the Response+    GetTransitGatewayPeeringResponse (..),+    newGetTransitGatewayPeeringResponse,++    -- * Response Lenses+    getTransitGatewayPeeringResponse_transitGatewayPeering,+    getTransitGatewayPeeringResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetTransitGatewayPeering' smart constructor.+data GetTransitGatewayPeering = GetTransitGatewayPeering'+  { -- | The ID of the peering request.+    peeringId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTransitGatewayPeering' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'peeringId', 'getTransitGatewayPeering_peeringId' - The ID of the peering request.+newGetTransitGatewayPeering ::+  -- | 'peeringId'+  Prelude.Text ->+  GetTransitGatewayPeering+newGetTransitGatewayPeering pPeeringId_ =+  GetTransitGatewayPeering' {peeringId = pPeeringId_}++-- | The ID of the peering request.+getTransitGatewayPeering_peeringId :: Lens.Lens' GetTransitGatewayPeering Prelude.Text+getTransitGatewayPeering_peeringId = Lens.lens (\GetTransitGatewayPeering' {peeringId} -> peeringId) (\s@GetTransitGatewayPeering' {} a -> s {peeringId = a} :: GetTransitGatewayPeering)++instance Core.AWSRequest GetTransitGatewayPeering where+  type+    AWSResponse GetTransitGatewayPeering =+      GetTransitGatewayPeeringResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetTransitGatewayPeeringResponse'+            Prelude.<$> (x Data..?> "TransitGatewayPeering")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetTransitGatewayPeering where+  hashWithSalt _salt GetTransitGatewayPeering' {..} =+    _salt `Prelude.hashWithSalt` peeringId++instance Prelude.NFData GetTransitGatewayPeering where+  rnf GetTransitGatewayPeering' {..} =+    Prelude.rnf peeringId++instance Data.ToHeaders GetTransitGatewayPeering where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetTransitGatewayPeering where+  toPath GetTransitGatewayPeering' {..} =+    Prelude.mconcat+      ["/transit-gateway-peerings/", Data.toBS peeringId]++instance Data.ToQuery GetTransitGatewayPeering where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetTransitGatewayPeeringResponse' smart constructor.+data GetTransitGatewayPeeringResponse = GetTransitGatewayPeeringResponse'+  { -- | Returns information about a transit gateway peering.+    transitGatewayPeering :: Prelude.Maybe TransitGatewayPeering,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTransitGatewayPeeringResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'transitGatewayPeering', 'getTransitGatewayPeeringResponse_transitGatewayPeering' - Returns information about a transit gateway peering.+--+-- 'httpStatus', 'getTransitGatewayPeeringResponse_httpStatus' - The response's http status code.+newGetTransitGatewayPeeringResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetTransitGatewayPeeringResponse+newGetTransitGatewayPeeringResponse pHttpStatus_ =+  GetTransitGatewayPeeringResponse'+    { transitGatewayPeering =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Returns information about a transit gateway peering.+getTransitGatewayPeeringResponse_transitGatewayPeering :: Lens.Lens' GetTransitGatewayPeeringResponse (Prelude.Maybe TransitGatewayPeering)+getTransitGatewayPeeringResponse_transitGatewayPeering = Lens.lens (\GetTransitGatewayPeeringResponse' {transitGatewayPeering} -> transitGatewayPeering) (\s@GetTransitGatewayPeeringResponse' {} a -> s {transitGatewayPeering = a} :: GetTransitGatewayPeeringResponse)++-- | The response's http status code.+getTransitGatewayPeeringResponse_httpStatus :: Lens.Lens' GetTransitGatewayPeeringResponse Prelude.Int+getTransitGatewayPeeringResponse_httpStatus = Lens.lens (\GetTransitGatewayPeeringResponse' {httpStatus} -> httpStatus) (\s@GetTransitGatewayPeeringResponse' {} a -> s {httpStatus = a} :: GetTransitGatewayPeeringResponse)++instance+  Prelude.NFData+    GetTransitGatewayPeeringResponse+  where+  rnf GetTransitGatewayPeeringResponse' {..} =+    Prelude.rnf transitGatewayPeering+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetTransitGatewayRegistrations.hs view
@@ -0,0 +1,274 @@+{-# 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.NetworkManager.GetTransitGatewayRegistrations+-- 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 information about the transit gateway registrations in a specified+-- global network.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.GetTransitGatewayRegistrations+  ( -- * Creating a Request+    GetTransitGatewayRegistrations (..),+    newGetTransitGatewayRegistrations,++    -- * Request Lenses+    getTransitGatewayRegistrations_maxResults,+    getTransitGatewayRegistrations_nextToken,+    getTransitGatewayRegistrations_transitGatewayArns,+    getTransitGatewayRegistrations_globalNetworkId,++    -- * Destructuring the Response+    GetTransitGatewayRegistrationsResponse (..),+    newGetTransitGatewayRegistrationsResponse,++    -- * Response Lenses+    getTransitGatewayRegistrationsResponse_nextToken,+    getTransitGatewayRegistrationsResponse_transitGatewayRegistrations,+    getTransitGatewayRegistrationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetTransitGatewayRegistrations' smart constructor.+data GetTransitGatewayRegistrations = GetTransitGatewayRegistrations'+  { -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Names (ARNs) of one or more transit gateways. The+    -- maximum is 10.+    transitGatewayArns :: Prelude.Maybe [Prelude.Text],+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTransitGatewayRegistrations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getTransitGatewayRegistrations_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'getTransitGatewayRegistrations_nextToken' - The token for the next page of results.+--+-- 'transitGatewayArns', 'getTransitGatewayRegistrations_transitGatewayArns' - The Amazon Resource Names (ARNs) of one or more transit gateways. The+-- maximum is 10.+--+-- 'globalNetworkId', 'getTransitGatewayRegistrations_globalNetworkId' - The ID of the global network.+newGetTransitGatewayRegistrations ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  GetTransitGatewayRegistrations+newGetTransitGatewayRegistrations pGlobalNetworkId_ =+  GetTransitGatewayRegistrations'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      transitGatewayArns = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | The maximum number of results to return.+getTransitGatewayRegistrations_maxResults :: Lens.Lens' GetTransitGatewayRegistrations (Prelude.Maybe Prelude.Natural)+getTransitGatewayRegistrations_maxResults = Lens.lens (\GetTransitGatewayRegistrations' {maxResults} -> maxResults) (\s@GetTransitGatewayRegistrations' {} a -> s {maxResults = a} :: GetTransitGatewayRegistrations)++-- | The token for the next page of results.+getTransitGatewayRegistrations_nextToken :: Lens.Lens' GetTransitGatewayRegistrations (Prelude.Maybe Prelude.Text)+getTransitGatewayRegistrations_nextToken = Lens.lens (\GetTransitGatewayRegistrations' {nextToken} -> nextToken) (\s@GetTransitGatewayRegistrations' {} a -> s {nextToken = a} :: GetTransitGatewayRegistrations)++-- | The Amazon Resource Names (ARNs) of one or more transit gateways. The+-- maximum is 10.+getTransitGatewayRegistrations_transitGatewayArns :: Lens.Lens' GetTransitGatewayRegistrations (Prelude.Maybe [Prelude.Text])+getTransitGatewayRegistrations_transitGatewayArns = Lens.lens (\GetTransitGatewayRegistrations' {transitGatewayArns} -> transitGatewayArns) (\s@GetTransitGatewayRegistrations' {} a -> s {transitGatewayArns = a} :: GetTransitGatewayRegistrations) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the global network.+getTransitGatewayRegistrations_globalNetworkId :: Lens.Lens' GetTransitGatewayRegistrations Prelude.Text+getTransitGatewayRegistrations_globalNetworkId = Lens.lens (\GetTransitGatewayRegistrations' {globalNetworkId} -> globalNetworkId) (\s@GetTransitGatewayRegistrations' {} a -> s {globalNetworkId = a} :: GetTransitGatewayRegistrations)++instance Core.AWSPager GetTransitGatewayRegistrations where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? getTransitGatewayRegistrationsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? getTransitGatewayRegistrationsResponse_transitGatewayRegistrations+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& getTransitGatewayRegistrations_nextToken+          Lens..~ rs+          Lens.^? getTransitGatewayRegistrationsResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    GetTransitGatewayRegistrations+  where+  type+    AWSResponse GetTransitGatewayRegistrations =+      GetTransitGatewayRegistrationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetTransitGatewayRegistrationsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> ( x+                            Data..?> "TransitGatewayRegistrations"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetTransitGatewayRegistrations+  where+  hashWithSalt+    _salt+    GetTransitGatewayRegistrations' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken+        `Prelude.hashWithSalt` transitGatewayArns+        `Prelude.hashWithSalt` globalNetworkId++instance+  Prelude.NFData+    GetTransitGatewayRegistrations+  where+  rnf GetTransitGatewayRegistrations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf transitGatewayArns+      `Prelude.seq` Prelude.rnf globalNetworkId++instance+  Data.ToHeaders+    GetTransitGatewayRegistrations+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetTransitGatewayRegistrations where+  toPath GetTransitGatewayRegistrations' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/transit-gateway-registrations"+      ]++instance Data.ToQuery GetTransitGatewayRegistrations where+  toQuery GetTransitGatewayRegistrations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "transitGatewayArns"+          Data.=: Data.toQuery+            ( Data.toQueryList "member"+                Prelude.<$> transitGatewayArns+            )+      ]++-- | /See:/ 'newGetTransitGatewayRegistrationsResponse' smart constructor.+data GetTransitGatewayRegistrationsResponse = GetTransitGatewayRegistrationsResponse'+  { -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The transit gateway registrations.+    transitGatewayRegistrations :: Prelude.Maybe [TransitGatewayRegistration],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTransitGatewayRegistrationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getTransitGatewayRegistrationsResponse_nextToken' - The token for the next page of results.+--+-- 'transitGatewayRegistrations', 'getTransitGatewayRegistrationsResponse_transitGatewayRegistrations' - The transit gateway registrations.+--+-- 'httpStatus', 'getTransitGatewayRegistrationsResponse_httpStatus' - The response's http status code.+newGetTransitGatewayRegistrationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetTransitGatewayRegistrationsResponse+newGetTransitGatewayRegistrationsResponse+  pHttpStatus_ =+    GetTransitGatewayRegistrationsResponse'+      { nextToken =+          Prelude.Nothing,+        transitGatewayRegistrations =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The token for the next page of results.+getTransitGatewayRegistrationsResponse_nextToken :: Lens.Lens' GetTransitGatewayRegistrationsResponse (Prelude.Maybe Prelude.Text)+getTransitGatewayRegistrationsResponse_nextToken = Lens.lens (\GetTransitGatewayRegistrationsResponse' {nextToken} -> nextToken) (\s@GetTransitGatewayRegistrationsResponse' {} a -> s {nextToken = a} :: GetTransitGatewayRegistrationsResponse)++-- | The transit gateway registrations.+getTransitGatewayRegistrationsResponse_transitGatewayRegistrations :: Lens.Lens' GetTransitGatewayRegistrationsResponse (Prelude.Maybe [TransitGatewayRegistration])+getTransitGatewayRegistrationsResponse_transitGatewayRegistrations = Lens.lens (\GetTransitGatewayRegistrationsResponse' {transitGatewayRegistrations} -> transitGatewayRegistrations) (\s@GetTransitGatewayRegistrationsResponse' {} a -> s {transitGatewayRegistrations = a} :: GetTransitGatewayRegistrationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getTransitGatewayRegistrationsResponse_httpStatus :: Lens.Lens' GetTransitGatewayRegistrationsResponse Prelude.Int+getTransitGatewayRegistrationsResponse_httpStatus = Lens.lens (\GetTransitGatewayRegistrationsResponse' {httpStatus} -> httpStatus) (\s@GetTransitGatewayRegistrationsResponse' {} a -> s {httpStatus = a} :: GetTransitGatewayRegistrationsResponse)++instance+  Prelude.NFData+    GetTransitGatewayRegistrationsResponse+  where+  rnf GetTransitGatewayRegistrationsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf transitGatewayRegistrations+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetTransitGatewayRouteTableAttachment.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.GetTransitGatewayRouteTableAttachment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a transit gateway route table attachment.+module Amazonka.NetworkManager.GetTransitGatewayRouteTableAttachment+  ( -- * Creating a Request+    GetTransitGatewayRouteTableAttachment (..),+    newGetTransitGatewayRouteTableAttachment,++    -- * Request Lenses+    getTransitGatewayRouteTableAttachment_attachmentId,++    -- * Destructuring the Response+    GetTransitGatewayRouteTableAttachmentResponse (..),+    newGetTransitGatewayRouteTableAttachmentResponse,++    -- * Response Lenses+    getTransitGatewayRouteTableAttachmentResponse_transitGatewayRouteTableAttachment,+    getTransitGatewayRouteTableAttachmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetTransitGatewayRouteTableAttachment' smart constructor.+data GetTransitGatewayRouteTableAttachment = GetTransitGatewayRouteTableAttachment'+  { -- | The ID of the transit gateway route table attachment.+    attachmentId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTransitGatewayRouteTableAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachmentId', 'getTransitGatewayRouteTableAttachment_attachmentId' - The ID of the transit gateway route table attachment.+newGetTransitGatewayRouteTableAttachment ::+  -- | 'attachmentId'+  Prelude.Text ->+  GetTransitGatewayRouteTableAttachment+newGetTransitGatewayRouteTableAttachment+  pAttachmentId_ =+    GetTransitGatewayRouteTableAttachment'+      { attachmentId =+          pAttachmentId_+      }++-- | The ID of the transit gateway route table attachment.+getTransitGatewayRouteTableAttachment_attachmentId :: Lens.Lens' GetTransitGatewayRouteTableAttachment Prelude.Text+getTransitGatewayRouteTableAttachment_attachmentId = Lens.lens (\GetTransitGatewayRouteTableAttachment' {attachmentId} -> attachmentId) (\s@GetTransitGatewayRouteTableAttachment' {} a -> s {attachmentId = a} :: GetTransitGatewayRouteTableAttachment)++instance+  Core.AWSRequest+    GetTransitGatewayRouteTableAttachment+  where+  type+    AWSResponse+      GetTransitGatewayRouteTableAttachment =+      GetTransitGatewayRouteTableAttachmentResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetTransitGatewayRouteTableAttachmentResponse'+            Prelude.<$> (x Data..?> "TransitGatewayRouteTableAttachment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetTransitGatewayRouteTableAttachment+  where+  hashWithSalt+    _salt+    GetTransitGatewayRouteTableAttachment' {..} =+      _salt `Prelude.hashWithSalt` attachmentId++instance+  Prelude.NFData+    GetTransitGatewayRouteTableAttachment+  where+  rnf GetTransitGatewayRouteTableAttachment' {..} =+    Prelude.rnf attachmentId++instance+  Data.ToHeaders+    GetTransitGatewayRouteTableAttachment+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToPath+    GetTransitGatewayRouteTableAttachment+  where+  toPath GetTransitGatewayRouteTableAttachment' {..} =+    Prelude.mconcat+      [ "/transit-gateway-route-table-attachments/",+        Data.toBS attachmentId+      ]++instance+  Data.ToQuery+    GetTransitGatewayRouteTableAttachment+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetTransitGatewayRouteTableAttachmentResponse' smart constructor.+data GetTransitGatewayRouteTableAttachmentResponse = GetTransitGatewayRouteTableAttachmentResponse'+  { -- | Returns information about the transit gateway route table attachment.+    transitGatewayRouteTableAttachment :: Prelude.Maybe TransitGatewayRouteTableAttachment,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetTransitGatewayRouteTableAttachmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'transitGatewayRouteTableAttachment', 'getTransitGatewayRouteTableAttachmentResponse_transitGatewayRouteTableAttachment' - Returns information about the transit gateway route table attachment.+--+-- 'httpStatus', 'getTransitGatewayRouteTableAttachmentResponse_httpStatus' - The response's http status code.+newGetTransitGatewayRouteTableAttachmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetTransitGatewayRouteTableAttachmentResponse+newGetTransitGatewayRouteTableAttachmentResponse+  pHttpStatus_ =+    GetTransitGatewayRouteTableAttachmentResponse'+      { transitGatewayRouteTableAttachment =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Returns information about the transit gateway route table attachment.+getTransitGatewayRouteTableAttachmentResponse_transitGatewayRouteTableAttachment :: Lens.Lens' GetTransitGatewayRouteTableAttachmentResponse (Prelude.Maybe TransitGatewayRouteTableAttachment)+getTransitGatewayRouteTableAttachmentResponse_transitGatewayRouteTableAttachment = Lens.lens (\GetTransitGatewayRouteTableAttachmentResponse' {transitGatewayRouteTableAttachment} -> transitGatewayRouteTableAttachment) (\s@GetTransitGatewayRouteTableAttachmentResponse' {} a -> s {transitGatewayRouteTableAttachment = a} :: GetTransitGatewayRouteTableAttachmentResponse)++-- | The response's http status code.+getTransitGatewayRouteTableAttachmentResponse_httpStatus :: Lens.Lens' GetTransitGatewayRouteTableAttachmentResponse Prelude.Int+getTransitGatewayRouteTableAttachmentResponse_httpStatus = Lens.lens (\GetTransitGatewayRouteTableAttachmentResponse' {httpStatus} -> httpStatus) (\s@GetTransitGatewayRouteTableAttachmentResponse' {} a -> s {httpStatus = a} :: GetTransitGatewayRouteTableAttachmentResponse)++instance+  Prelude.NFData+    GetTransitGatewayRouteTableAttachmentResponse+  where+  rnf+    GetTransitGatewayRouteTableAttachmentResponse' {..} =+      Prelude.rnf transitGatewayRouteTableAttachment+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/GetVpcAttachment.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.GetVpcAttachment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns information about a VPC attachment.+module Amazonka.NetworkManager.GetVpcAttachment+  ( -- * Creating a Request+    GetVpcAttachment (..),+    newGetVpcAttachment,++    -- * Request Lenses+    getVpcAttachment_attachmentId,++    -- * Destructuring the Response+    GetVpcAttachmentResponse (..),+    newGetVpcAttachmentResponse,++    -- * Response Lenses+    getVpcAttachmentResponse_vpcAttachment,+    getVpcAttachmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetVpcAttachment' smart constructor.+data GetVpcAttachment = GetVpcAttachment'+  { -- | The ID of the attachment.+    attachmentId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVpcAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachmentId', 'getVpcAttachment_attachmentId' - The ID of the attachment.+newGetVpcAttachment ::+  -- | 'attachmentId'+  Prelude.Text ->+  GetVpcAttachment+newGetVpcAttachment pAttachmentId_ =+  GetVpcAttachment' {attachmentId = pAttachmentId_}++-- | The ID of the attachment.+getVpcAttachment_attachmentId :: Lens.Lens' GetVpcAttachment Prelude.Text+getVpcAttachment_attachmentId = Lens.lens (\GetVpcAttachment' {attachmentId} -> attachmentId) (\s@GetVpcAttachment' {} a -> s {attachmentId = a} :: GetVpcAttachment)++instance Core.AWSRequest GetVpcAttachment where+  type+    AWSResponse GetVpcAttachment =+      GetVpcAttachmentResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetVpcAttachmentResponse'+            Prelude.<$> (x Data..?> "VpcAttachment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetVpcAttachment where+  hashWithSalt _salt GetVpcAttachment' {..} =+    _salt `Prelude.hashWithSalt` attachmentId++instance Prelude.NFData GetVpcAttachment where+  rnf GetVpcAttachment' {..} = Prelude.rnf attachmentId++instance Data.ToHeaders GetVpcAttachment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath GetVpcAttachment where+  toPath GetVpcAttachment' {..} =+    Prelude.mconcat+      ["/vpc-attachments/", Data.toBS attachmentId]++instance Data.ToQuery GetVpcAttachment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetVpcAttachmentResponse' smart constructor.+data GetVpcAttachmentResponse = GetVpcAttachmentResponse'+  { -- | Returns details about a VPC attachment.+    vpcAttachment :: Prelude.Maybe VpcAttachment,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetVpcAttachmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vpcAttachment', 'getVpcAttachmentResponse_vpcAttachment' - Returns details about a VPC attachment.+--+-- 'httpStatus', 'getVpcAttachmentResponse_httpStatus' - The response's http status code.+newGetVpcAttachmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetVpcAttachmentResponse+newGetVpcAttachmentResponse pHttpStatus_ =+  GetVpcAttachmentResponse'+    { vpcAttachment =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Returns details about a VPC attachment.+getVpcAttachmentResponse_vpcAttachment :: Lens.Lens' GetVpcAttachmentResponse (Prelude.Maybe VpcAttachment)+getVpcAttachmentResponse_vpcAttachment = Lens.lens (\GetVpcAttachmentResponse' {vpcAttachment} -> vpcAttachment) (\s@GetVpcAttachmentResponse' {} a -> s {vpcAttachment = a} :: GetVpcAttachmentResponse)++-- | The response's http status code.+getVpcAttachmentResponse_httpStatus :: Lens.Lens' GetVpcAttachmentResponse Prelude.Int+getVpcAttachmentResponse_httpStatus = Lens.lens (\GetVpcAttachmentResponse' {httpStatus} -> httpStatus) (\s@GetVpcAttachmentResponse' {} a -> s {httpStatus = a} :: GetVpcAttachmentResponse)++instance Prelude.NFData GetVpcAttachmentResponse where+  rnf GetVpcAttachmentResponse' {..} =+    Prelude.rnf vpcAttachment+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/Lens.hs view
@@ -0,0 +1,1237 @@+{-# 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.NetworkManager.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.NetworkManager.Lens+  ( -- * Operations++    -- ** AcceptAttachment+    acceptAttachment_attachmentId,+    acceptAttachmentResponse_attachment,+    acceptAttachmentResponse_httpStatus,++    -- ** AssociateConnectPeer+    associateConnectPeer_linkId,+    associateConnectPeer_globalNetworkId,+    associateConnectPeer_connectPeerId,+    associateConnectPeer_deviceId,+    associateConnectPeerResponse_connectPeerAssociation,+    associateConnectPeerResponse_httpStatus,++    -- ** AssociateCustomerGateway+    associateCustomerGateway_linkId,+    associateCustomerGateway_customerGatewayArn,+    associateCustomerGateway_globalNetworkId,+    associateCustomerGateway_deviceId,+    associateCustomerGatewayResponse_customerGatewayAssociation,+    associateCustomerGatewayResponse_httpStatus,++    -- ** AssociateLink+    associateLink_globalNetworkId,+    associateLink_deviceId,+    associateLink_linkId,+    associateLinkResponse_linkAssociation,+    associateLinkResponse_httpStatus,++    -- ** AssociateTransitGatewayConnectPeer+    associateTransitGatewayConnectPeer_linkId,+    associateTransitGatewayConnectPeer_globalNetworkId,+    associateTransitGatewayConnectPeer_transitGatewayConnectPeerArn,+    associateTransitGatewayConnectPeer_deviceId,+    associateTransitGatewayConnectPeerResponse_transitGatewayConnectPeerAssociation,+    associateTransitGatewayConnectPeerResponse_httpStatus,++    -- ** CreateConnectAttachment+    createConnectAttachment_clientToken,+    createConnectAttachment_tags,+    createConnectAttachment_coreNetworkId,+    createConnectAttachment_edgeLocation,+    createConnectAttachment_transportAttachmentId,+    createConnectAttachment_options,+    createConnectAttachmentResponse_connectAttachment,+    createConnectAttachmentResponse_httpStatus,++    -- ** CreateConnectPeer+    createConnectPeer_bgpOptions,+    createConnectPeer_clientToken,+    createConnectPeer_coreNetworkAddress,+    createConnectPeer_tags,+    createConnectPeer_connectAttachmentId,+    createConnectPeer_peerAddress,+    createConnectPeer_insideCidrBlocks,+    createConnectPeerResponse_connectPeer,+    createConnectPeerResponse_httpStatus,++    -- ** CreateConnection+    createConnection_connectedLinkId,+    createConnection_description,+    createConnection_linkId,+    createConnection_tags,+    createConnection_globalNetworkId,+    createConnection_deviceId,+    createConnection_connectedDeviceId,+    createConnectionResponse_connection,+    createConnectionResponse_httpStatus,++    -- ** CreateCoreNetwork+    createCoreNetwork_clientToken,+    createCoreNetwork_description,+    createCoreNetwork_policyDocument,+    createCoreNetwork_tags,+    createCoreNetwork_globalNetworkId,+    createCoreNetworkResponse_coreNetwork,+    createCoreNetworkResponse_httpStatus,++    -- ** CreateDevice+    createDevice_aWSLocation,+    createDevice_description,+    createDevice_location,+    createDevice_model,+    createDevice_serialNumber,+    createDevice_siteId,+    createDevice_tags,+    createDevice_type,+    createDevice_vendor,+    createDevice_globalNetworkId,+    createDeviceResponse_device,+    createDeviceResponse_httpStatus,++    -- ** CreateGlobalNetwork+    createGlobalNetwork_description,+    createGlobalNetwork_tags,+    createGlobalNetworkResponse_globalNetwork,+    createGlobalNetworkResponse_httpStatus,++    -- ** CreateLink+    createLink_description,+    createLink_provider,+    createLink_tags,+    createLink_type,+    createLink_globalNetworkId,+    createLink_bandwidth,+    createLink_siteId,+    createLinkResponse_link,+    createLinkResponse_httpStatus,++    -- ** CreateSite+    createSite_description,+    createSite_location,+    createSite_tags,+    createSite_globalNetworkId,+    createSiteResponse_site,+    createSiteResponse_httpStatus,++    -- ** CreateSiteToSiteVpnAttachment+    createSiteToSiteVpnAttachment_clientToken,+    createSiteToSiteVpnAttachment_tags,+    createSiteToSiteVpnAttachment_coreNetworkId,+    createSiteToSiteVpnAttachment_vpnConnectionArn,+    createSiteToSiteVpnAttachmentResponse_siteToSiteVpnAttachment,+    createSiteToSiteVpnAttachmentResponse_httpStatus,++    -- ** CreateTransitGatewayPeering+    createTransitGatewayPeering_clientToken,+    createTransitGatewayPeering_tags,+    createTransitGatewayPeering_coreNetworkId,+    createTransitGatewayPeering_transitGatewayArn,+    createTransitGatewayPeeringResponse_transitGatewayPeering,+    createTransitGatewayPeeringResponse_httpStatus,++    -- ** CreateTransitGatewayRouteTableAttachment+    createTransitGatewayRouteTableAttachment_clientToken,+    createTransitGatewayRouteTableAttachment_tags,+    createTransitGatewayRouteTableAttachment_peeringId,+    createTransitGatewayRouteTableAttachment_transitGatewayRouteTableArn,+    createTransitGatewayRouteTableAttachmentResponse_transitGatewayRouteTableAttachment,+    createTransitGatewayRouteTableAttachmentResponse_httpStatus,++    -- ** CreateVpcAttachment+    createVpcAttachment_clientToken,+    createVpcAttachment_options,+    createVpcAttachment_tags,+    createVpcAttachment_coreNetworkId,+    createVpcAttachment_vpcArn,+    createVpcAttachment_subnetArns,+    createVpcAttachmentResponse_vpcAttachment,+    createVpcAttachmentResponse_httpStatus,++    -- ** DeleteAttachment+    deleteAttachment_attachmentId,+    deleteAttachmentResponse_attachment,+    deleteAttachmentResponse_httpStatus,++    -- ** DeleteConnectPeer+    deleteConnectPeer_connectPeerId,+    deleteConnectPeerResponse_connectPeer,+    deleteConnectPeerResponse_httpStatus,++    -- ** DeleteConnection+    deleteConnection_globalNetworkId,+    deleteConnection_connectionId,+    deleteConnectionResponse_connection,+    deleteConnectionResponse_httpStatus,++    -- ** DeleteCoreNetwork+    deleteCoreNetwork_coreNetworkId,+    deleteCoreNetworkResponse_coreNetwork,+    deleteCoreNetworkResponse_httpStatus,++    -- ** DeleteCoreNetworkPolicyVersion+    deleteCoreNetworkPolicyVersion_coreNetworkId,+    deleteCoreNetworkPolicyVersion_policyVersionId,+    deleteCoreNetworkPolicyVersionResponse_coreNetworkPolicy,+    deleteCoreNetworkPolicyVersionResponse_httpStatus,++    -- ** DeleteDevice+    deleteDevice_globalNetworkId,+    deleteDevice_deviceId,+    deleteDeviceResponse_device,+    deleteDeviceResponse_httpStatus,++    -- ** DeleteGlobalNetwork+    deleteGlobalNetwork_globalNetworkId,+    deleteGlobalNetworkResponse_globalNetwork,+    deleteGlobalNetworkResponse_httpStatus,++    -- ** DeleteLink+    deleteLink_globalNetworkId,+    deleteLink_linkId,+    deleteLinkResponse_link,+    deleteLinkResponse_httpStatus,++    -- ** DeletePeering+    deletePeering_peeringId,+    deletePeeringResponse_peering,+    deletePeeringResponse_httpStatus,++    -- ** DeleteResourcePolicy+    deleteResourcePolicy_resourceArn,+    deleteResourcePolicyResponse_httpStatus,++    -- ** DeleteSite+    deleteSite_globalNetworkId,+    deleteSite_siteId,+    deleteSiteResponse_site,+    deleteSiteResponse_httpStatus,++    -- ** DeregisterTransitGateway+    deregisterTransitGateway_globalNetworkId,+    deregisterTransitGateway_transitGatewayArn,+    deregisterTransitGatewayResponse_transitGatewayRegistration,+    deregisterTransitGatewayResponse_httpStatus,++    -- ** DescribeGlobalNetworks+    describeGlobalNetworks_globalNetworkIds,+    describeGlobalNetworks_maxResults,+    describeGlobalNetworks_nextToken,+    describeGlobalNetworksResponse_globalNetworks,+    describeGlobalNetworksResponse_nextToken,+    describeGlobalNetworksResponse_httpStatus,++    -- ** DisassociateConnectPeer+    disassociateConnectPeer_globalNetworkId,+    disassociateConnectPeer_connectPeerId,+    disassociateConnectPeerResponse_connectPeerAssociation,+    disassociateConnectPeerResponse_httpStatus,++    -- ** DisassociateCustomerGateway+    disassociateCustomerGateway_globalNetworkId,+    disassociateCustomerGateway_customerGatewayArn,+    disassociateCustomerGatewayResponse_customerGatewayAssociation,+    disassociateCustomerGatewayResponse_httpStatus,++    -- ** DisassociateLink+    disassociateLink_globalNetworkId,+    disassociateLink_deviceId,+    disassociateLink_linkId,+    disassociateLinkResponse_linkAssociation,+    disassociateLinkResponse_httpStatus,++    -- ** DisassociateTransitGatewayConnectPeer+    disassociateTransitGatewayConnectPeer_globalNetworkId,+    disassociateTransitGatewayConnectPeer_transitGatewayConnectPeerArn,+    disassociateTransitGatewayConnectPeerResponse_transitGatewayConnectPeerAssociation,+    disassociateTransitGatewayConnectPeerResponse_httpStatus,++    -- ** ExecuteCoreNetworkChangeSet+    executeCoreNetworkChangeSet_coreNetworkId,+    executeCoreNetworkChangeSet_policyVersionId,+    executeCoreNetworkChangeSetResponse_httpStatus,++    -- ** GetConnectAttachment+    getConnectAttachment_attachmentId,+    getConnectAttachmentResponse_connectAttachment,+    getConnectAttachmentResponse_httpStatus,++    -- ** GetConnectPeer+    getConnectPeer_connectPeerId,+    getConnectPeerResponse_connectPeer,+    getConnectPeerResponse_httpStatus,++    -- ** GetConnectPeerAssociations+    getConnectPeerAssociations_connectPeerIds,+    getConnectPeerAssociations_maxResults,+    getConnectPeerAssociations_nextToken,+    getConnectPeerAssociations_globalNetworkId,+    getConnectPeerAssociationsResponse_connectPeerAssociations,+    getConnectPeerAssociationsResponse_nextToken,+    getConnectPeerAssociationsResponse_httpStatus,++    -- ** GetConnections+    getConnections_connectionIds,+    getConnections_deviceId,+    getConnections_maxResults,+    getConnections_nextToken,+    getConnections_globalNetworkId,+    getConnectionsResponse_connections,+    getConnectionsResponse_nextToken,+    getConnectionsResponse_httpStatus,++    -- ** GetCoreNetwork+    getCoreNetwork_coreNetworkId,+    getCoreNetworkResponse_coreNetwork,+    getCoreNetworkResponse_httpStatus,++    -- ** GetCoreNetworkChangeEvents+    getCoreNetworkChangeEvents_maxResults,+    getCoreNetworkChangeEvents_nextToken,+    getCoreNetworkChangeEvents_coreNetworkId,+    getCoreNetworkChangeEvents_policyVersionId,+    getCoreNetworkChangeEventsResponse_coreNetworkChangeEvents,+    getCoreNetworkChangeEventsResponse_nextToken,+    getCoreNetworkChangeEventsResponse_httpStatus,++    -- ** GetCoreNetworkChangeSet+    getCoreNetworkChangeSet_maxResults,+    getCoreNetworkChangeSet_nextToken,+    getCoreNetworkChangeSet_coreNetworkId,+    getCoreNetworkChangeSet_policyVersionId,+    getCoreNetworkChangeSetResponse_coreNetworkChanges,+    getCoreNetworkChangeSetResponse_nextToken,+    getCoreNetworkChangeSetResponse_httpStatus,++    -- ** GetCoreNetworkPolicy+    getCoreNetworkPolicy_alias,+    getCoreNetworkPolicy_policyVersionId,+    getCoreNetworkPolicy_coreNetworkId,+    getCoreNetworkPolicyResponse_coreNetworkPolicy,+    getCoreNetworkPolicyResponse_httpStatus,++    -- ** GetCustomerGatewayAssociations+    getCustomerGatewayAssociations_customerGatewayArns,+    getCustomerGatewayAssociations_maxResults,+    getCustomerGatewayAssociations_nextToken,+    getCustomerGatewayAssociations_globalNetworkId,+    getCustomerGatewayAssociationsResponse_customerGatewayAssociations,+    getCustomerGatewayAssociationsResponse_nextToken,+    getCustomerGatewayAssociationsResponse_httpStatus,++    -- ** GetDevices+    getDevices_deviceIds,+    getDevices_maxResults,+    getDevices_nextToken,+    getDevices_siteId,+    getDevices_globalNetworkId,+    getDevicesResponse_devices,+    getDevicesResponse_nextToken,+    getDevicesResponse_httpStatus,++    -- ** GetLinkAssociations+    getLinkAssociations_deviceId,+    getLinkAssociations_linkId,+    getLinkAssociations_maxResults,+    getLinkAssociations_nextToken,+    getLinkAssociations_globalNetworkId,+    getLinkAssociationsResponse_linkAssociations,+    getLinkAssociationsResponse_nextToken,+    getLinkAssociationsResponse_httpStatus,++    -- ** GetLinks+    getLinks_linkIds,+    getLinks_maxResults,+    getLinks_nextToken,+    getLinks_provider,+    getLinks_siteId,+    getLinks_type,+    getLinks_globalNetworkId,+    getLinksResponse_links,+    getLinksResponse_nextToken,+    getLinksResponse_httpStatus,++    -- ** GetNetworkResourceCounts+    getNetworkResourceCounts_maxResults,+    getNetworkResourceCounts_nextToken,+    getNetworkResourceCounts_resourceType,+    getNetworkResourceCounts_globalNetworkId,+    getNetworkResourceCountsResponse_networkResourceCounts,+    getNetworkResourceCountsResponse_nextToken,+    getNetworkResourceCountsResponse_httpStatus,++    -- ** GetNetworkResourceRelationships+    getNetworkResourceRelationships_accountId,+    getNetworkResourceRelationships_awsRegion,+    getNetworkResourceRelationships_coreNetworkId,+    getNetworkResourceRelationships_maxResults,+    getNetworkResourceRelationships_nextToken,+    getNetworkResourceRelationships_registeredGatewayArn,+    getNetworkResourceRelationships_resourceArn,+    getNetworkResourceRelationships_resourceType,+    getNetworkResourceRelationships_globalNetworkId,+    getNetworkResourceRelationshipsResponse_nextToken,+    getNetworkResourceRelationshipsResponse_relationships,+    getNetworkResourceRelationshipsResponse_httpStatus,++    -- ** GetNetworkResources+    getNetworkResources_accountId,+    getNetworkResources_awsRegion,+    getNetworkResources_coreNetworkId,+    getNetworkResources_maxResults,+    getNetworkResources_nextToken,+    getNetworkResources_registeredGatewayArn,+    getNetworkResources_resourceArn,+    getNetworkResources_resourceType,+    getNetworkResources_globalNetworkId,+    getNetworkResourcesResponse_networkResources,+    getNetworkResourcesResponse_nextToken,+    getNetworkResourcesResponse_httpStatus,++    -- ** GetNetworkRoutes+    getNetworkRoutes_destinationFilters,+    getNetworkRoutes_exactCidrMatches,+    getNetworkRoutes_longestPrefixMatches,+    getNetworkRoutes_prefixListIds,+    getNetworkRoutes_states,+    getNetworkRoutes_subnetOfMatches,+    getNetworkRoutes_supernetOfMatches,+    getNetworkRoutes_types,+    getNetworkRoutes_globalNetworkId,+    getNetworkRoutes_routeTableIdentifier,+    getNetworkRoutesResponse_coreNetworkSegmentEdge,+    getNetworkRoutesResponse_networkRoutes,+    getNetworkRoutesResponse_routeTableArn,+    getNetworkRoutesResponse_routeTableTimestamp,+    getNetworkRoutesResponse_routeTableType,+    getNetworkRoutesResponse_httpStatus,++    -- ** GetNetworkTelemetry+    getNetworkTelemetry_accountId,+    getNetworkTelemetry_awsRegion,+    getNetworkTelemetry_coreNetworkId,+    getNetworkTelemetry_maxResults,+    getNetworkTelemetry_nextToken,+    getNetworkTelemetry_registeredGatewayArn,+    getNetworkTelemetry_resourceArn,+    getNetworkTelemetry_resourceType,+    getNetworkTelemetry_globalNetworkId,+    getNetworkTelemetryResponse_networkTelemetry,+    getNetworkTelemetryResponse_nextToken,+    getNetworkTelemetryResponse_httpStatus,++    -- ** GetResourcePolicy+    getResourcePolicy_resourceArn,+    getResourcePolicyResponse_policyDocument,+    getResourcePolicyResponse_httpStatus,++    -- ** GetRouteAnalysis+    getRouteAnalysis_globalNetworkId,+    getRouteAnalysis_routeAnalysisId,+    getRouteAnalysisResponse_routeAnalysis,+    getRouteAnalysisResponse_httpStatus,++    -- ** GetSiteToSiteVpnAttachment+    getSiteToSiteVpnAttachment_attachmentId,+    getSiteToSiteVpnAttachmentResponse_siteToSiteVpnAttachment,+    getSiteToSiteVpnAttachmentResponse_httpStatus,++    -- ** GetSites+    getSites_maxResults,+    getSites_nextToken,+    getSites_siteIds,+    getSites_globalNetworkId,+    getSitesResponse_nextToken,+    getSitesResponse_sites,+    getSitesResponse_httpStatus,++    -- ** GetTransitGatewayConnectPeerAssociations+    getTransitGatewayConnectPeerAssociations_maxResults,+    getTransitGatewayConnectPeerAssociations_nextToken,+    getTransitGatewayConnectPeerAssociations_transitGatewayConnectPeerArns,+    getTransitGatewayConnectPeerAssociations_globalNetworkId,+    getTransitGatewayConnectPeerAssociationsResponse_nextToken,+    getTransitGatewayConnectPeerAssociationsResponse_transitGatewayConnectPeerAssociations,+    getTransitGatewayConnectPeerAssociationsResponse_httpStatus,++    -- ** GetTransitGatewayPeering+    getTransitGatewayPeering_peeringId,+    getTransitGatewayPeeringResponse_transitGatewayPeering,+    getTransitGatewayPeeringResponse_httpStatus,++    -- ** GetTransitGatewayRegistrations+    getTransitGatewayRegistrations_maxResults,+    getTransitGatewayRegistrations_nextToken,+    getTransitGatewayRegistrations_transitGatewayArns,+    getTransitGatewayRegistrations_globalNetworkId,+    getTransitGatewayRegistrationsResponse_nextToken,+    getTransitGatewayRegistrationsResponse_transitGatewayRegistrations,+    getTransitGatewayRegistrationsResponse_httpStatus,++    -- ** GetTransitGatewayRouteTableAttachment+    getTransitGatewayRouteTableAttachment_attachmentId,+    getTransitGatewayRouteTableAttachmentResponse_transitGatewayRouteTableAttachment,+    getTransitGatewayRouteTableAttachmentResponse_httpStatus,++    -- ** GetVpcAttachment+    getVpcAttachment_attachmentId,+    getVpcAttachmentResponse_vpcAttachment,+    getVpcAttachmentResponse_httpStatus,++    -- ** ListAttachments+    listAttachments_attachmentType,+    listAttachments_coreNetworkId,+    listAttachments_edgeLocation,+    listAttachments_maxResults,+    listAttachments_nextToken,+    listAttachments_state,+    listAttachmentsResponse_attachments,+    listAttachmentsResponse_nextToken,+    listAttachmentsResponse_httpStatus,++    -- ** ListConnectPeers+    listConnectPeers_connectAttachmentId,+    listConnectPeers_coreNetworkId,+    listConnectPeers_maxResults,+    listConnectPeers_nextToken,+    listConnectPeersResponse_connectPeers,+    listConnectPeersResponse_nextToken,+    listConnectPeersResponse_httpStatus,++    -- ** ListCoreNetworkPolicyVersions+    listCoreNetworkPolicyVersions_maxResults,+    listCoreNetworkPolicyVersions_nextToken,+    listCoreNetworkPolicyVersions_coreNetworkId,+    listCoreNetworkPolicyVersionsResponse_coreNetworkPolicyVersions,+    listCoreNetworkPolicyVersionsResponse_nextToken,+    listCoreNetworkPolicyVersionsResponse_httpStatus,++    -- ** ListCoreNetworks+    listCoreNetworks_maxResults,+    listCoreNetworks_nextToken,+    listCoreNetworksResponse_coreNetworks,+    listCoreNetworksResponse_nextToken,+    listCoreNetworksResponse_httpStatus,++    -- ** ListOrganizationServiceAccessStatus+    listOrganizationServiceAccessStatus_maxResults,+    listOrganizationServiceAccessStatus_nextToken,+    listOrganizationServiceAccessStatusResponse_nextToken,+    listOrganizationServiceAccessStatusResponse_organizationStatus,+    listOrganizationServiceAccessStatusResponse_httpStatus,++    -- ** ListPeerings+    listPeerings_coreNetworkId,+    listPeerings_edgeLocation,+    listPeerings_maxResults,+    listPeerings_nextToken,+    listPeerings_peeringType,+    listPeerings_state,+    listPeeringsResponse_nextToken,+    listPeeringsResponse_peerings,+    listPeeringsResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tagList,+    listTagsForResourceResponse_httpStatus,++    -- ** PutCoreNetworkPolicy+    putCoreNetworkPolicy_clientToken,+    putCoreNetworkPolicy_description,+    putCoreNetworkPolicy_latestVersionId,+    putCoreNetworkPolicy_coreNetworkId,+    putCoreNetworkPolicy_policyDocument,+    putCoreNetworkPolicyResponse_coreNetworkPolicy,+    putCoreNetworkPolicyResponse_httpStatus,++    -- ** PutResourcePolicy+    putResourcePolicy_policyDocument,+    putResourcePolicy_resourceArn,+    putResourcePolicyResponse_httpStatus,++    -- ** RegisterTransitGateway+    registerTransitGateway_globalNetworkId,+    registerTransitGateway_transitGatewayArn,+    registerTransitGatewayResponse_transitGatewayRegistration,+    registerTransitGatewayResponse_httpStatus,++    -- ** RejectAttachment+    rejectAttachment_attachmentId,+    rejectAttachmentResponse_attachment,+    rejectAttachmentResponse_httpStatus,++    -- ** RestoreCoreNetworkPolicyVersion+    restoreCoreNetworkPolicyVersion_coreNetworkId,+    restoreCoreNetworkPolicyVersion_policyVersionId,+    restoreCoreNetworkPolicyVersionResponse_coreNetworkPolicy,+    restoreCoreNetworkPolicyVersionResponse_httpStatus,++    -- ** StartOrganizationServiceAccessUpdate+    startOrganizationServiceAccessUpdate_action,+    startOrganizationServiceAccessUpdateResponse_organizationStatus,+    startOrganizationServiceAccessUpdateResponse_httpStatus,++    -- ** StartRouteAnalysis+    startRouteAnalysis_includeReturnPath,+    startRouteAnalysis_useMiddleboxes,+    startRouteAnalysis_globalNetworkId,+    startRouteAnalysis_source,+    startRouteAnalysis_destination,+    startRouteAnalysisResponse_routeAnalysis,+    startRouteAnalysisResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- ** UpdateConnection+    updateConnection_connectedLinkId,+    updateConnection_description,+    updateConnection_linkId,+    updateConnection_globalNetworkId,+    updateConnection_connectionId,+    updateConnectionResponse_connection,+    updateConnectionResponse_httpStatus,++    -- ** UpdateCoreNetwork+    updateCoreNetwork_description,+    updateCoreNetwork_coreNetworkId,+    updateCoreNetworkResponse_coreNetwork,+    updateCoreNetworkResponse_httpStatus,++    -- ** UpdateDevice+    updateDevice_aWSLocation,+    updateDevice_description,+    updateDevice_location,+    updateDevice_model,+    updateDevice_serialNumber,+    updateDevice_siteId,+    updateDevice_type,+    updateDevice_vendor,+    updateDevice_globalNetworkId,+    updateDevice_deviceId,+    updateDeviceResponse_device,+    updateDeviceResponse_httpStatus,++    -- ** UpdateGlobalNetwork+    updateGlobalNetwork_description,+    updateGlobalNetwork_globalNetworkId,+    updateGlobalNetworkResponse_globalNetwork,+    updateGlobalNetworkResponse_httpStatus,++    -- ** UpdateLink+    updateLink_bandwidth,+    updateLink_description,+    updateLink_provider,+    updateLink_type,+    updateLink_globalNetworkId,+    updateLink_linkId,+    updateLinkResponse_link,+    updateLinkResponse_httpStatus,++    -- ** UpdateNetworkResourceMetadata+    updateNetworkResourceMetadata_globalNetworkId,+    updateNetworkResourceMetadata_resourceArn,+    updateNetworkResourceMetadata_metadata,+    updateNetworkResourceMetadataResponse_metadata,+    updateNetworkResourceMetadataResponse_resourceArn,+    updateNetworkResourceMetadataResponse_httpStatus,++    -- ** UpdateSite+    updateSite_description,+    updateSite_location,+    updateSite_globalNetworkId,+    updateSite_siteId,+    updateSiteResponse_site,+    updateSiteResponse_httpStatus,++    -- ** UpdateVpcAttachment+    updateVpcAttachment_addSubnetArns,+    updateVpcAttachment_options,+    updateVpcAttachment_removeSubnetArns,+    updateVpcAttachment_attachmentId,+    updateVpcAttachmentResponse_vpcAttachment,+    updateVpcAttachmentResponse_httpStatus,++    -- * Types++    -- ** AWSLocation+    aWSLocation_subnetArn,+    aWSLocation_zone,++    -- ** AccountStatus+    accountStatus_accountId,+    accountStatus_sLRDeploymentStatus,++    -- ** Attachment+    attachment_attachmentId,+    attachment_attachmentPolicyRuleNumber,+    attachment_attachmentType,+    attachment_coreNetworkArn,+    attachment_coreNetworkId,+    attachment_createdAt,+    attachment_edgeLocation,+    attachment_ownerAccountId,+    attachment_proposedSegmentChange,+    attachment_resourceArn,+    attachment_segmentName,+    attachment_state,+    attachment_tags,+    attachment_updatedAt,++    -- ** Bandwidth+    bandwidth_downloadSpeed,+    bandwidth_uploadSpeed,++    -- ** BgpOptions+    bgpOptions_peerAsn,++    -- ** ConnectAttachment+    connectAttachment_attachment,+    connectAttachment_options,+    connectAttachment_transportAttachmentId,++    -- ** ConnectAttachmentOptions+    connectAttachmentOptions_protocol,++    -- ** ConnectPeer+    connectPeer_configuration,+    connectPeer_connectAttachmentId,+    connectPeer_connectPeerId,+    connectPeer_coreNetworkId,+    connectPeer_createdAt,+    connectPeer_edgeLocation,+    connectPeer_state,+    connectPeer_tags,++    -- ** ConnectPeerAssociation+    connectPeerAssociation_connectPeerId,+    connectPeerAssociation_deviceId,+    connectPeerAssociation_globalNetworkId,+    connectPeerAssociation_linkId,+    connectPeerAssociation_state,++    -- ** ConnectPeerBgpConfiguration+    connectPeerBgpConfiguration_coreNetworkAddress,+    connectPeerBgpConfiguration_coreNetworkAsn,+    connectPeerBgpConfiguration_peerAddress,+    connectPeerBgpConfiguration_peerAsn,++    -- ** ConnectPeerConfiguration+    connectPeerConfiguration_bgpConfigurations,+    connectPeerConfiguration_coreNetworkAddress,+    connectPeerConfiguration_insideCidrBlocks,+    connectPeerConfiguration_peerAddress,+    connectPeerConfiguration_protocol,++    -- ** ConnectPeerSummary+    connectPeerSummary_connectAttachmentId,+    connectPeerSummary_connectPeerId,+    connectPeerSummary_connectPeerState,+    connectPeerSummary_coreNetworkId,+    connectPeerSummary_createdAt,+    connectPeerSummary_edgeLocation,+    connectPeerSummary_tags,++    -- ** Connection+    connection_connectedDeviceId,+    connection_connectedLinkId,+    connection_connectionArn,+    connection_connectionId,+    connection_createdAt,+    connection_description,+    connection_deviceId,+    connection_globalNetworkId,+    connection_linkId,+    connection_state,+    connection_tags,++    -- ** ConnectionHealth+    connectionHealth_status,+    connectionHealth_timestamp,+    connectionHealth_type,++    -- ** CoreNetwork+    coreNetwork_coreNetworkArn,+    coreNetwork_coreNetworkId,+    coreNetwork_createdAt,+    coreNetwork_description,+    coreNetwork_edges,+    coreNetwork_globalNetworkId,+    coreNetwork_segments,+    coreNetwork_state,+    coreNetwork_tags,++    -- ** CoreNetworkChange+    coreNetworkChange_action,+    coreNetworkChange_identifier,+    coreNetworkChange_identifierPath,+    coreNetworkChange_newValues,+    coreNetworkChange_previousValues,+    coreNetworkChange_type,++    -- ** CoreNetworkChangeEvent+    coreNetworkChangeEvent_action,+    coreNetworkChangeEvent_eventTime,+    coreNetworkChangeEvent_identifierPath,+    coreNetworkChangeEvent_status,+    coreNetworkChangeEvent_type,+    coreNetworkChangeEvent_values,++    -- ** CoreNetworkChangeEventValues+    coreNetworkChangeEventValues_attachmentId,+    coreNetworkChangeEventValues_cidr,+    coreNetworkChangeEventValues_edgeLocation,+    coreNetworkChangeEventValues_segmentName,++    -- ** CoreNetworkChangeValues+    coreNetworkChangeValues_asn,+    coreNetworkChangeValues_cidr,+    coreNetworkChangeValues_destinationIdentifier,+    coreNetworkChangeValues_edgeLocations,+    coreNetworkChangeValues_insideCidrBlocks,+    coreNetworkChangeValues_segmentName,+    coreNetworkChangeValues_sharedSegments,++    -- ** CoreNetworkEdge+    coreNetworkEdge_asn,+    coreNetworkEdge_edgeLocation,+    coreNetworkEdge_insideCidrBlocks,++    -- ** CoreNetworkPolicy+    coreNetworkPolicy_alias,+    coreNetworkPolicy_changeSetState,+    coreNetworkPolicy_coreNetworkId,+    coreNetworkPolicy_createdAt,+    coreNetworkPolicy_description,+    coreNetworkPolicy_policyDocument,+    coreNetworkPolicy_policyErrors,+    coreNetworkPolicy_policyVersionId,++    -- ** CoreNetworkPolicyError+    coreNetworkPolicyError_path,+    coreNetworkPolicyError_errorCode,+    coreNetworkPolicyError_message,++    -- ** CoreNetworkPolicyVersion+    coreNetworkPolicyVersion_alias,+    coreNetworkPolicyVersion_changeSetState,+    coreNetworkPolicyVersion_coreNetworkId,+    coreNetworkPolicyVersion_createdAt,+    coreNetworkPolicyVersion_description,+    coreNetworkPolicyVersion_policyVersionId,++    -- ** CoreNetworkSegment+    coreNetworkSegment_edgeLocations,+    coreNetworkSegment_name,+    coreNetworkSegment_sharedSegments,++    -- ** CoreNetworkSegmentEdgeIdentifier+    coreNetworkSegmentEdgeIdentifier_coreNetworkId,+    coreNetworkSegmentEdgeIdentifier_edgeLocation,+    coreNetworkSegmentEdgeIdentifier_segmentName,++    -- ** CoreNetworkSummary+    coreNetworkSummary_coreNetworkArn,+    coreNetworkSummary_coreNetworkId,+    coreNetworkSummary_description,+    coreNetworkSummary_globalNetworkId,+    coreNetworkSummary_ownerAccountId,+    coreNetworkSummary_state,+    coreNetworkSummary_tags,++    -- ** CustomerGatewayAssociation+    customerGatewayAssociation_customerGatewayArn,+    customerGatewayAssociation_deviceId,+    customerGatewayAssociation_globalNetworkId,+    customerGatewayAssociation_linkId,+    customerGatewayAssociation_state,++    -- ** Device+    device_aWSLocation,+    device_createdAt,+    device_description,+    device_deviceArn,+    device_deviceId,+    device_globalNetworkId,+    device_location,+    device_model,+    device_serialNumber,+    device_siteId,+    device_state,+    device_tags,+    device_type,+    device_vendor,++    -- ** GlobalNetwork+    globalNetwork_createdAt,+    globalNetwork_description,+    globalNetwork_globalNetworkArn,+    globalNetwork_globalNetworkId,+    globalNetwork_state,+    globalNetwork_tags,++    -- ** Link+    link_bandwidth,+    link_createdAt,+    link_description,+    link_globalNetworkId,+    link_linkArn,+    link_linkId,+    link_provider,+    link_siteId,+    link_state,+    link_tags,+    link_type,++    -- ** LinkAssociation+    linkAssociation_deviceId,+    linkAssociation_globalNetworkId,+    linkAssociation_linkAssociationState,+    linkAssociation_linkId,++    -- ** Location+    location_address,+    location_latitude,+    location_longitude,++    -- ** NetworkResource+    networkResource_accountId,+    networkResource_awsRegion,+    networkResource_coreNetworkId,+    networkResource_definition,+    networkResource_definitionTimestamp,+    networkResource_metadata,+    networkResource_registeredGatewayArn,+    networkResource_resourceArn,+    networkResource_resourceId,+    networkResource_resourceType,+    networkResource_tags,++    -- ** NetworkResourceCount+    networkResourceCount_count,+    networkResourceCount_resourceType,++    -- ** NetworkResourceSummary+    networkResourceSummary_definition,+    networkResourceSummary_isMiddlebox,+    networkResourceSummary_nameTag,+    networkResourceSummary_registeredGatewayArn,+    networkResourceSummary_resourceArn,+    networkResourceSummary_resourceType,++    -- ** NetworkRoute+    networkRoute_destinationCidrBlock,+    networkRoute_destinations,+    networkRoute_prefixListId,+    networkRoute_state,+    networkRoute_type,++    -- ** NetworkRouteDestination+    networkRouteDestination_coreNetworkAttachmentId,+    networkRouteDestination_edgeLocation,+    networkRouteDestination_resourceId,+    networkRouteDestination_resourceType,+    networkRouteDestination_segmentName,+    networkRouteDestination_transitGatewayAttachmentId,++    -- ** NetworkTelemetry+    networkTelemetry_accountId,+    networkTelemetry_address,+    networkTelemetry_awsRegion,+    networkTelemetry_coreNetworkId,+    networkTelemetry_health,+    networkTelemetry_registeredGatewayArn,+    networkTelemetry_resourceArn,+    networkTelemetry_resourceId,+    networkTelemetry_resourceType,++    -- ** OrganizationStatus+    organizationStatus_accountStatusList,+    organizationStatus_organizationAwsServiceAccessStatus,+    organizationStatus_organizationId,+    organizationStatus_sLRDeploymentStatus,++    -- ** PathComponent+    pathComponent_destinationCidrBlock,+    pathComponent_resource,+    pathComponent_sequence,++    -- ** Peering+    peering_coreNetworkArn,+    peering_coreNetworkId,+    peering_createdAt,+    peering_edgeLocation,+    peering_ownerAccountId,+    peering_peeringId,+    peering_peeringType,+    peering_resourceArn,+    peering_state,+    peering_tags,++    -- ** ProposedSegmentChange+    proposedSegmentChange_attachmentPolicyRuleNumber,+    proposedSegmentChange_segmentName,+    proposedSegmentChange_tags,++    -- ** Relationship+    relationship_from,+    relationship_to,++    -- ** RouteAnalysis+    routeAnalysis_destination,+    routeAnalysis_forwardPath,+    routeAnalysis_globalNetworkId,+    routeAnalysis_includeReturnPath,+    routeAnalysis_ownerAccountId,+    routeAnalysis_returnPath,+    routeAnalysis_routeAnalysisId,+    routeAnalysis_source,+    routeAnalysis_startTimestamp,+    routeAnalysis_status,+    routeAnalysis_useMiddleboxes,++    -- ** RouteAnalysisCompletion+    routeAnalysisCompletion_reasonCode,+    routeAnalysisCompletion_reasonContext,+    routeAnalysisCompletion_resultCode,++    -- ** RouteAnalysisEndpointOptions+    routeAnalysisEndpointOptions_ipAddress,+    routeAnalysisEndpointOptions_transitGatewayArn,+    routeAnalysisEndpointOptions_transitGatewayAttachmentArn,++    -- ** RouteAnalysisEndpointOptionsSpecification+    routeAnalysisEndpointOptionsSpecification_ipAddress,+    routeAnalysisEndpointOptionsSpecification_transitGatewayAttachmentArn,++    -- ** RouteAnalysisPath+    routeAnalysisPath_completionStatus,+    routeAnalysisPath_path,++    -- ** RouteTableIdentifier+    routeTableIdentifier_coreNetworkSegmentEdge,+    routeTableIdentifier_transitGatewayRouteTableArn,++    -- ** Site+    site_createdAt,+    site_description,+    site_globalNetworkId,+    site_location,+    site_siteArn,+    site_siteId,+    site_state,+    site_tags,++    -- ** SiteToSiteVpnAttachment+    siteToSiteVpnAttachment_attachment,+    siteToSiteVpnAttachment_vpnConnectionArn,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** TransitGatewayConnectPeerAssociation+    transitGatewayConnectPeerAssociation_deviceId,+    transitGatewayConnectPeerAssociation_globalNetworkId,+    transitGatewayConnectPeerAssociation_linkId,+    transitGatewayConnectPeerAssociation_state,+    transitGatewayConnectPeerAssociation_transitGatewayConnectPeerArn,++    -- ** TransitGatewayPeering+    transitGatewayPeering_peering,+    transitGatewayPeering_transitGatewayArn,+    transitGatewayPeering_transitGatewayPeeringAttachmentId,++    -- ** TransitGatewayRegistration+    transitGatewayRegistration_globalNetworkId,+    transitGatewayRegistration_state,+    transitGatewayRegistration_transitGatewayArn,++    -- ** TransitGatewayRegistrationStateReason+    transitGatewayRegistrationStateReason_code,+    transitGatewayRegistrationStateReason_message,++    -- ** TransitGatewayRouteTableAttachment+    transitGatewayRouteTableAttachment_attachment,+    transitGatewayRouteTableAttachment_peeringId,+    transitGatewayRouteTableAttachment_transitGatewayRouteTableArn,++    -- ** VpcAttachment+    vpcAttachment_attachment,+    vpcAttachment_options,+    vpcAttachment_subnetArns,++    -- ** VpcOptions+    vpcOptions_applianceModeSupport,+    vpcOptions_ipv6Support,+  )+where++import Amazonka.NetworkManager.AcceptAttachment+import Amazonka.NetworkManager.AssociateConnectPeer+import Amazonka.NetworkManager.AssociateCustomerGateway+import Amazonka.NetworkManager.AssociateLink+import Amazonka.NetworkManager.AssociateTransitGatewayConnectPeer+import Amazonka.NetworkManager.CreateConnectAttachment+import Amazonka.NetworkManager.CreateConnectPeer+import Amazonka.NetworkManager.CreateConnection+import Amazonka.NetworkManager.CreateCoreNetwork+import Amazonka.NetworkManager.CreateDevice+import Amazonka.NetworkManager.CreateGlobalNetwork+import Amazonka.NetworkManager.CreateLink+import Amazonka.NetworkManager.CreateSite+import Amazonka.NetworkManager.CreateSiteToSiteVpnAttachment+import Amazonka.NetworkManager.CreateTransitGatewayPeering+import Amazonka.NetworkManager.CreateTransitGatewayRouteTableAttachment+import Amazonka.NetworkManager.CreateVpcAttachment+import Amazonka.NetworkManager.DeleteAttachment+import Amazonka.NetworkManager.DeleteConnectPeer+import Amazonka.NetworkManager.DeleteConnection+import Amazonka.NetworkManager.DeleteCoreNetwork+import Amazonka.NetworkManager.DeleteCoreNetworkPolicyVersion+import Amazonka.NetworkManager.DeleteDevice+import Amazonka.NetworkManager.DeleteGlobalNetwork+import Amazonka.NetworkManager.DeleteLink+import Amazonka.NetworkManager.DeletePeering+import Amazonka.NetworkManager.DeleteResourcePolicy+import Amazonka.NetworkManager.DeleteSite+import Amazonka.NetworkManager.DeregisterTransitGateway+import Amazonka.NetworkManager.DescribeGlobalNetworks+import Amazonka.NetworkManager.DisassociateConnectPeer+import Amazonka.NetworkManager.DisassociateCustomerGateway+import Amazonka.NetworkManager.DisassociateLink+import Amazonka.NetworkManager.DisassociateTransitGatewayConnectPeer+import Amazonka.NetworkManager.ExecuteCoreNetworkChangeSet+import Amazonka.NetworkManager.GetConnectAttachment+import Amazonka.NetworkManager.GetConnectPeer+import Amazonka.NetworkManager.GetConnectPeerAssociations+import Amazonka.NetworkManager.GetConnections+import Amazonka.NetworkManager.GetCoreNetwork+import Amazonka.NetworkManager.GetCoreNetworkChangeEvents+import Amazonka.NetworkManager.GetCoreNetworkChangeSet+import Amazonka.NetworkManager.GetCoreNetworkPolicy+import Amazonka.NetworkManager.GetCustomerGatewayAssociations+import Amazonka.NetworkManager.GetDevices+import Amazonka.NetworkManager.GetLinkAssociations+import Amazonka.NetworkManager.GetLinks+import Amazonka.NetworkManager.GetNetworkResourceCounts+import Amazonka.NetworkManager.GetNetworkResourceRelationships+import Amazonka.NetworkManager.GetNetworkResources+import Amazonka.NetworkManager.GetNetworkRoutes+import Amazonka.NetworkManager.GetNetworkTelemetry+import Amazonka.NetworkManager.GetResourcePolicy+import Amazonka.NetworkManager.GetRouteAnalysis+import Amazonka.NetworkManager.GetSiteToSiteVpnAttachment+import Amazonka.NetworkManager.GetSites+import Amazonka.NetworkManager.GetTransitGatewayConnectPeerAssociations+import Amazonka.NetworkManager.GetTransitGatewayPeering+import Amazonka.NetworkManager.GetTransitGatewayRegistrations+import Amazonka.NetworkManager.GetTransitGatewayRouteTableAttachment+import Amazonka.NetworkManager.GetVpcAttachment+import Amazonka.NetworkManager.ListAttachments+import Amazonka.NetworkManager.ListConnectPeers+import Amazonka.NetworkManager.ListCoreNetworkPolicyVersions+import Amazonka.NetworkManager.ListCoreNetworks+import Amazonka.NetworkManager.ListOrganizationServiceAccessStatus+import Amazonka.NetworkManager.ListPeerings+import Amazonka.NetworkManager.ListTagsForResource+import Amazonka.NetworkManager.PutCoreNetworkPolicy+import Amazonka.NetworkManager.PutResourcePolicy+import Amazonka.NetworkManager.RegisterTransitGateway+import Amazonka.NetworkManager.RejectAttachment+import Amazonka.NetworkManager.RestoreCoreNetworkPolicyVersion+import Amazonka.NetworkManager.StartOrganizationServiceAccessUpdate+import Amazonka.NetworkManager.StartRouteAnalysis+import Amazonka.NetworkManager.TagResource+import Amazonka.NetworkManager.Types.AWSLocation+import Amazonka.NetworkManager.Types.AccountStatus+import Amazonka.NetworkManager.Types.Attachment+import Amazonka.NetworkManager.Types.Bandwidth+import Amazonka.NetworkManager.Types.BgpOptions+import Amazonka.NetworkManager.Types.ConnectAttachment+import Amazonka.NetworkManager.Types.ConnectAttachmentOptions+import Amazonka.NetworkManager.Types.ConnectPeer+import Amazonka.NetworkManager.Types.ConnectPeerAssociation+import Amazonka.NetworkManager.Types.ConnectPeerBgpConfiguration+import Amazonka.NetworkManager.Types.ConnectPeerConfiguration+import Amazonka.NetworkManager.Types.ConnectPeerSummary+import Amazonka.NetworkManager.Types.Connection+import Amazonka.NetworkManager.Types.ConnectionHealth+import Amazonka.NetworkManager.Types.CoreNetwork+import Amazonka.NetworkManager.Types.CoreNetworkChange+import Amazonka.NetworkManager.Types.CoreNetworkChangeEvent+import Amazonka.NetworkManager.Types.CoreNetworkChangeEventValues+import Amazonka.NetworkManager.Types.CoreNetworkChangeValues+import Amazonka.NetworkManager.Types.CoreNetworkEdge+import Amazonka.NetworkManager.Types.CoreNetworkPolicy+import Amazonka.NetworkManager.Types.CoreNetworkPolicyError+import Amazonka.NetworkManager.Types.CoreNetworkPolicyVersion+import Amazonka.NetworkManager.Types.CoreNetworkSegment+import Amazonka.NetworkManager.Types.CoreNetworkSegmentEdgeIdentifier+import Amazonka.NetworkManager.Types.CoreNetworkSummary+import Amazonka.NetworkManager.Types.CustomerGatewayAssociation+import Amazonka.NetworkManager.Types.Device+import Amazonka.NetworkManager.Types.GlobalNetwork+import Amazonka.NetworkManager.Types.Link+import Amazonka.NetworkManager.Types.LinkAssociation+import Amazonka.NetworkManager.Types.Location+import Amazonka.NetworkManager.Types.NetworkResource+import Amazonka.NetworkManager.Types.NetworkResourceCount+import Amazonka.NetworkManager.Types.NetworkResourceSummary+import Amazonka.NetworkManager.Types.NetworkRoute+import Amazonka.NetworkManager.Types.NetworkRouteDestination+import Amazonka.NetworkManager.Types.NetworkTelemetry+import Amazonka.NetworkManager.Types.OrganizationStatus+import Amazonka.NetworkManager.Types.PathComponent+import Amazonka.NetworkManager.Types.Peering+import Amazonka.NetworkManager.Types.ProposedSegmentChange+import Amazonka.NetworkManager.Types.Relationship+import Amazonka.NetworkManager.Types.RouteAnalysis+import Amazonka.NetworkManager.Types.RouteAnalysisCompletion+import Amazonka.NetworkManager.Types.RouteAnalysisEndpointOptions+import Amazonka.NetworkManager.Types.RouteAnalysisEndpointOptionsSpecification+import Amazonka.NetworkManager.Types.RouteAnalysisPath+import Amazonka.NetworkManager.Types.RouteTableIdentifier+import Amazonka.NetworkManager.Types.Site+import Amazonka.NetworkManager.Types.SiteToSiteVpnAttachment+import Amazonka.NetworkManager.Types.Tag+import Amazonka.NetworkManager.Types.TransitGatewayConnectPeerAssociation+import Amazonka.NetworkManager.Types.TransitGatewayPeering+import Amazonka.NetworkManager.Types.TransitGatewayRegistration+import Amazonka.NetworkManager.Types.TransitGatewayRegistrationStateReason+import Amazonka.NetworkManager.Types.TransitGatewayRouteTableAttachment+import Amazonka.NetworkManager.Types.VpcAttachment+import Amazonka.NetworkManager.Types.VpcOptions+import Amazonka.NetworkManager.UntagResource+import Amazonka.NetworkManager.UpdateConnection+import Amazonka.NetworkManager.UpdateCoreNetwork+import Amazonka.NetworkManager.UpdateDevice+import Amazonka.NetworkManager.UpdateGlobalNetwork+import Amazonka.NetworkManager.UpdateLink+import Amazonka.NetworkManager.UpdateNetworkResourceMetadata+import Amazonka.NetworkManager.UpdateSite+import Amazonka.NetworkManager.UpdateVpcAttachment
+ gen/Amazonka/NetworkManager/ListAttachments.hs view
@@ -0,0 +1,263 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.ListAttachments+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of core network attachments.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.ListAttachments+  ( -- * Creating a Request+    ListAttachments (..),+    newListAttachments,++    -- * Request Lenses+    listAttachments_attachmentType,+    listAttachments_coreNetworkId,+    listAttachments_edgeLocation,+    listAttachments_maxResults,+    listAttachments_nextToken,+    listAttachments_state,++    -- * Destructuring the Response+    ListAttachmentsResponse (..),+    newListAttachmentsResponse,++    -- * Response Lenses+    listAttachmentsResponse_attachments,+    listAttachmentsResponse_nextToken,+    listAttachmentsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAttachments' smart constructor.+data ListAttachments = ListAttachments'+  { -- | The type of attachment.+    attachmentType :: Prelude.Maybe AttachmentType,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The Region where the edge is located.+    edgeLocation :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The state of the attachment.+    state :: Prelude.Maybe AttachmentState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAttachments' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachmentType', 'listAttachments_attachmentType' - The type of attachment.+--+-- 'coreNetworkId', 'listAttachments_coreNetworkId' - The ID of a core network.+--+-- 'edgeLocation', 'listAttachments_edgeLocation' - The Region where the edge is located.+--+-- 'maxResults', 'listAttachments_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listAttachments_nextToken' - The token for the next page of results.+--+-- 'state', 'listAttachments_state' - The state of the attachment.+newListAttachments ::+  ListAttachments+newListAttachments =+  ListAttachments'+    { attachmentType = Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      edgeLocation = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      state = Prelude.Nothing+    }++-- | The type of attachment.+listAttachments_attachmentType :: Lens.Lens' ListAttachments (Prelude.Maybe AttachmentType)+listAttachments_attachmentType = Lens.lens (\ListAttachments' {attachmentType} -> attachmentType) (\s@ListAttachments' {} a -> s {attachmentType = a} :: ListAttachments)++-- | The ID of a core network.+listAttachments_coreNetworkId :: Lens.Lens' ListAttachments (Prelude.Maybe Prelude.Text)+listAttachments_coreNetworkId = Lens.lens (\ListAttachments' {coreNetworkId} -> coreNetworkId) (\s@ListAttachments' {} a -> s {coreNetworkId = a} :: ListAttachments)++-- | The Region where the edge is located.+listAttachments_edgeLocation :: Lens.Lens' ListAttachments (Prelude.Maybe Prelude.Text)+listAttachments_edgeLocation = Lens.lens (\ListAttachments' {edgeLocation} -> edgeLocation) (\s@ListAttachments' {} a -> s {edgeLocation = a} :: ListAttachments)++-- | The maximum number of results to return.+listAttachments_maxResults :: Lens.Lens' ListAttachments (Prelude.Maybe Prelude.Natural)+listAttachments_maxResults = Lens.lens (\ListAttachments' {maxResults} -> maxResults) (\s@ListAttachments' {} a -> s {maxResults = a} :: ListAttachments)++-- | The token for the next page of results.+listAttachments_nextToken :: Lens.Lens' ListAttachments (Prelude.Maybe Prelude.Text)+listAttachments_nextToken = Lens.lens (\ListAttachments' {nextToken} -> nextToken) (\s@ListAttachments' {} a -> s {nextToken = a} :: ListAttachments)++-- | The state of the attachment.+listAttachments_state :: Lens.Lens' ListAttachments (Prelude.Maybe AttachmentState)+listAttachments_state = Lens.lens (\ListAttachments' {state} -> state) (\s@ListAttachments' {} a -> s {state = a} :: ListAttachments)++instance Core.AWSPager ListAttachments where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listAttachmentsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listAttachmentsResponse_attachments+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listAttachments_nextToken+          Lens..~ rs+          Lens.^? listAttachmentsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListAttachments where+  type+    AWSResponse ListAttachments =+      ListAttachmentsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAttachmentsResponse'+            Prelude.<$> (x Data..?> "Attachments" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListAttachments where+  hashWithSalt _salt ListAttachments' {..} =+    _salt+      `Prelude.hashWithSalt` attachmentType+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` edgeLocation+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` state++instance Prelude.NFData ListAttachments where+  rnf ListAttachments' {..} =+    Prelude.rnf attachmentType+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf edgeLocation+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf state++instance Data.ToHeaders ListAttachments where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListAttachments where+  toPath = Prelude.const "/attachments"++instance Data.ToQuery ListAttachments where+  toQuery ListAttachments' {..} =+    Prelude.mconcat+      [ "attachmentType" Data.=: attachmentType,+        "coreNetworkId" Data.=: coreNetworkId,+        "edgeLocation" Data.=: edgeLocation,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "state" Data.=: state+      ]++-- | /See:/ 'newListAttachmentsResponse' smart constructor.+data ListAttachmentsResponse = ListAttachmentsResponse'+  { -- | Describes the list of attachments.+    attachments :: Prelude.Maybe [Attachment],+    -- | 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 'ListAttachmentsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachments', 'listAttachmentsResponse_attachments' - Describes the list of attachments.+--+-- 'nextToken', 'listAttachmentsResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'listAttachmentsResponse_httpStatus' - The response's http status code.+newListAttachmentsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAttachmentsResponse+newListAttachmentsResponse pHttpStatus_ =+  ListAttachmentsResponse'+    { attachments =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Describes the list of attachments.+listAttachmentsResponse_attachments :: Lens.Lens' ListAttachmentsResponse (Prelude.Maybe [Attachment])+listAttachmentsResponse_attachments = Lens.lens (\ListAttachmentsResponse' {attachments} -> attachments) (\s@ListAttachmentsResponse' {} a -> s {attachments = a} :: ListAttachmentsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+listAttachmentsResponse_nextToken :: Lens.Lens' ListAttachmentsResponse (Prelude.Maybe Prelude.Text)+listAttachmentsResponse_nextToken = Lens.lens (\ListAttachmentsResponse' {nextToken} -> nextToken) (\s@ListAttachmentsResponse' {} a -> s {nextToken = a} :: ListAttachmentsResponse)++-- | The response's http status code.+listAttachmentsResponse_httpStatus :: Lens.Lens' ListAttachmentsResponse Prelude.Int+listAttachmentsResponse_httpStatus = Lens.lens (\ListAttachmentsResponse' {httpStatus} -> httpStatus) (\s@ListAttachmentsResponse' {} a -> s {httpStatus = a} :: ListAttachmentsResponse)++instance Prelude.NFData ListAttachmentsResponse where+  rnf ListAttachmentsResponse' {..} =+    Prelude.rnf attachments+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/ListConnectPeers.hs view
@@ -0,0 +1,238 @@+{-# 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.NetworkManager.ListConnectPeers+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of core network Connect peers.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.ListConnectPeers+  ( -- * Creating a Request+    ListConnectPeers (..),+    newListConnectPeers,++    -- * Request Lenses+    listConnectPeers_connectAttachmentId,+    listConnectPeers_coreNetworkId,+    listConnectPeers_maxResults,+    listConnectPeers_nextToken,++    -- * Destructuring the Response+    ListConnectPeersResponse (..),+    newListConnectPeersResponse,++    -- * Response Lenses+    listConnectPeersResponse_connectPeers,+    listConnectPeersResponse_nextToken,+    listConnectPeersResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListConnectPeers' smart constructor.+data ListConnectPeers = ListConnectPeers'+  { -- | The ID of the attachment.+    connectAttachmentId :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return.+    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 'ListConnectPeers' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectAttachmentId', 'listConnectPeers_connectAttachmentId' - The ID of the attachment.+--+-- 'coreNetworkId', 'listConnectPeers_coreNetworkId' - The ID of a core network.+--+-- 'maxResults', 'listConnectPeers_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listConnectPeers_nextToken' - The token for the next page of results.+newListConnectPeers ::+  ListConnectPeers+newListConnectPeers =+  ListConnectPeers'+    { connectAttachmentId =+        Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The ID of the attachment.+listConnectPeers_connectAttachmentId :: Lens.Lens' ListConnectPeers (Prelude.Maybe Prelude.Text)+listConnectPeers_connectAttachmentId = Lens.lens (\ListConnectPeers' {connectAttachmentId} -> connectAttachmentId) (\s@ListConnectPeers' {} a -> s {connectAttachmentId = a} :: ListConnectPeers)++-- | The ID of a core network.+listConnectPeers_coreNetworkId :: Lens.Lens' ListConnectPeers (Prelude.Maybe Prelude.Text)+listConnectPeers_coreNetworkId = Lens.lens (\ListConnectPeers' {coreNetworkId} -> coreNetworkId) (\s@ListConnectPeers' {} a -> s {coreNetworkId = a} :: ListConnectPeers)++-- | The maximum number of results to return.+listConnectPeers_maxResults :: Lens.Lens' ListConnectPeers (Prelude.Maybe Prelude.Natural)+listConnectPeers_maxResults = Lens.lens (\ListConnectPeers' {maxResults} -> maxResults) (\s@ListConnectPeers' {} a -> s {maxResults = a} :: ListConnectPeers)++-- | The token for the next page of results.+listConnectPeers_nextToken :: Lens.Lens' ListConnectPeers (Prelude.Maybe Prelude.Text)+listConnectPeers_nextToken = Lens.lens (\ListConnectPeers' {nextToken} -> nextToken) (\s@ListConnectPeers' {} a -> s {nextToken = a} :: ListConnectPeers)++instance Core.AWSPager ListConnectPeers where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listConnectPeersResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listConnectPeersResponse_connectPeers+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listConnectPeers_nextToken+          Lens..~ rs+          Lens.^? listConnectPeersResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListConnectPeers where+  type+    AWSResponse ListConnectPeers =+      ListConnectPeersResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListConnectPeersResponse'+            Prelude.<$> (x Data..?> "ConnectPeers" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListConnectPeers where+  hashWithSalt _salt ListConnectPeers' {..} =+    _salt+      `Prelude.hashWithSalt` connectAttachmentId+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListConnectPeers where+  rnf ListConnectPeers' {..} =+    Prelude.rnf connectAttachmentId+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListConnectPeers where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListConnectPeers where+  toPath = Prelude.const "/connect-peers"++instance Data.ToQuery ListConnectPeers where+  toQuery ListConnectPeers' {..} =+    Prelude.mconcat+      [ "connectAttachmentId" Data.=: connectAttachmentId,+        "coreNetworkId" Data.=: coreNetworkId,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListConnectPeersResponse' smart constructor.+data ListConnectPeersResponse = ListConnectPeersResponse'+  { -- | Describes the Connect peers.+    connectPeers :: Prelude.Maybe [ConnectPeerSummary],+    -- | 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 'ListConnectPeersResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectPeers', 'listConnectPeersResponse_connectPeers' - Describes the Connect peers.+--+-- 'nextToken', 'listConnectPeersResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'listConnectPeersResponse_httpStatus' - The response's http status code.+newListConnectPeersResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListConnectPeersResponse+newListConnectPeersResponse pHttpStatus_ =+  ListConnectPeersResponse'+    { connectPeers =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Describes the Connect peers.+listConnectPeersResponse_connectPeers :: Lens.Lens' ListConnectPeersResponse (Prelude.Maybe [ConnectPeerSummary])+listConnectPeersResponse_connectPeers = Lens.lens (\ListConnectPeersResponse' {connectPeers} -> connectPeers) (\s@ListConnectPeersResponse' {} a -> s {connectPeers = a} :: ListConnectPeersResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+listConnectPeersResponse_nextToken :: Lens.Lens' ListConnectPeersResponse (Prelude.Maybe Prelude.Text)+listConnectPeersResponse_nextToken = Lens.lens (\ListConnectPeersResponse' {nextToken} -> nextToken) (\s@ListConnectPeersResponse' {} a -> s {nextToken = a} :: ListConnectPeersResponse)++-- | The response's http status code.+listConnectPeersResponse_httpStatus :: Lens.Lens' ListConnectPeersResponse Prelude.Int+listConnectPeersResponse_httpStatus = Lens.lens (\ListConnectPeersResponse' {httpStatus} -> httpStatus) (\s@ListConnectPeersResponse' {} a -> s {httpStatus = a} :: ListConnectPeersResponse)++instance Prelude.NFData ListConnectPeersResponse where+  rnf ListConnectPeersResponse' {..} =+    Prelude.rnf connectPeers+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/ListCoreNetworkPolicyVersions.hs view
@@ -0,0 +1,243 @@+{-# 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.NetworkManager.ListCoreNetworkPolicyVersions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of core network policy versions.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.ListCoreNetworkPolicyVersions+  ( -- * Creating a Request+    ListCoreNetworkPolicyVersions (..),+    newListCoreNetworkPolicyVersions,++    -- * Request Lenses+    listCoreNetworkPolicyVersions_maxResults,+    listCoreNetworkPolicyVersions_nextToken,+    listCoreNetworkPolicyVersions_coreNetworkId,++    -- * Destructuring the Response+    ListCoreNetworkPolicyVersionsResponse (..),+    newListCoreNetworkPolicyVersionsResponse,++    -- * Response Lenses+    listCoreNetworkPolicyVersionsResponse_coreNetworkPolicyVersions,+    listCoreNetworkPolicyVersionsResponse_nextToken,+    listCoreNetworkPolicyVersionsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListCoreNetworkPolicyVersions' smart constructor.+data ListCoreNetworkPolicyVersions = ListCoreNetworkPolicyVersions'+  { -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListCoreNetworkPolicyVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listCoreNetworkPolicyVersions_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listCoreNetworkPolicyVersions_nextToken' - The token for the next page of results.+--+-- 'coreNetworkId', 'listCoreNetworkPolicyVersions_coreNetworkId' - The ID of a core network.+newListCoreNetworkPolicyVersions ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  ListCoreNetworkPolicyVersions+newListCoreNetworkPolicyVersions pCoreNetworkId_ =+  ListCoreNetworkPolicyVersions'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      coreNetworkId = pCoreNetworkId_+    }++-- | The maximum number of results to return.+listCoreNetworkPolicyVersions_maxResults :: Lens.Lens' ListCoreNetworkPolicyVersions (Prelude.Maybe Prelude.Natural)+listCoreNetworkPolicyVersions_maxResults = Lens.lens (\ListCoreNetworkPolicyVersions' {maxResults} -> maxResults) (\s@ListCoreNetworkPolicyVersions' {} a -> s {maxResults = a} :: ListCoreNetworkPolicyVersions)++-- | The token for the next page of results.+listCoreNetworkPolicyVersions_nextToken :: Lens.Lens' ListCoreNetworkPolicyVersions (Prelude.Maybe Prelude.Text)+listCoreNetworkPolicyVersions_nextToken = Lens.lens (\ListCoreNetworkPolicyVersions' {nextToken} -> nextToken) (\s@ListCoreNetworkPolicyVersions' {} a -> s {nextToken = a} :: ListCoreNetworkPolicyVersions)++-- | The ID of a core network.+listCoreNetworkPolicyVersions_coreNetworkId :: Lens.Lens' ListCoreNetworkPolicyVersions Prelude.Text+listCoreNetworkPolicyVersions_coreNetworkId = Lens.lens (\ListCoreNetworkPolicyVersions' {coreNetworkId} -> coreNetworkId) (\s@ListCoreNetworkPolicyVersions' {} a -> s {coreNetworkId = a} :: ListCoreNetworkPolicyVersions)++instance Core.AWSPager ListCoreNetworkPolicyVersions where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listCoreNetworkPolicyVersionsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listCoreNetworkPolicyVersionsResponse_coreNetworkPolicyVersions+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listCoreNetworkPolicyVersions_nextToken+          Lens..~ rs+          Lens.^? listCoreNetworkPolicyVersionsResponse_nextToken+          Prelude.. Lens._Just++instance+  Core.AWSRequest+    ListCoreNetworkPolicyVersions+  where+  type+    AWSResponse ListCoreNetworkPolicyVersions =+      ListCoreNetworkPolicyVersionsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListCoreNetworkPolicyVersionsResponse'+            Prelude.<$> ( x+                            Data..?> "CoreNetworkPolicyVersions"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListCoreNetworkPolicyVersions+  where+  hashWithSalt _salt ListCoreNetworkPolicyVersions' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` coreNetworkId++instance Prelude.NFData ListCoreNetworkPolicyVersions where+  rnf ListCoreNetworkPolicyVersions' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf coreNetworkId++instance Data.ToHeaders ListCoreNetworkPolicyVersions where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListCoreNetworkPolicyVersions where+  toPath ListCoreNetworkPolicyVersions' {..} =+    Prelude.mconcat+      [ "/core-networks/",+        Data.toBS coreNetworkId,+        "/core-network-policy-versions"+      ]++instance Data.ToQuery ListCoreNetworkPolicyVersions where+  toQuery ListCoreNetworkPolicyVersions' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListCoreNetworkPolicyVersionsResponse' smart constructor.+data ListCoreNetworkPolicyVersionsResponse = ListCoreNetworkPolicyVersionsResponse'+  { -- | Describes core network policy versions.+    coreNetworkPolicyVersions :: Prelude.Maybe [CoreNetworkPolicyVersion],+    -- | 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 'ListCoreNetworkPolicyVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkPolicyVersions', 'listCoreNetworkPolicyVersionsResponse_coreNetworkPolicyVersions' - Describes core network policy versions.+--+-- 'nextToken', 'listCoreNetworkPolicyVersionsResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'listCoreNetworkPolicyVersionsResponse_httpStatus' - The response's http status code.+newListCoreNetworkPolicyVersionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListCoreNetworkPolicyVersionsResponse+newListCoreNetworkPolicyVersionsResponse pHttpStatus_ =+  ListCoreNetworkPolicyVersionsResponse'+    { coreNetworkPolicyVersions =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Describes core network policy versions.+listCoreNetworkPolicyVersionsResponse_coreNetworkPolicyVersions :: Lens.Lens' ListCoreNetworkPolicyVersionsResponse (Prelude.Maybe [CoreNetworkPolicyVersion])+listCoreNetworkPolicyVersionsResponse_coreNetworkPolicyVersions = Lens.lens (\ListCoreNetworkPolicyVersionsResponse' {coreNetworkPolicyVersions} -> coreNetworkPolicyVersions) (\s@ListCoreNetworkPolicyVersionsResponse' {} a -> s {coreNetworkPolicyVersions = a} :: ListCoreNetworkPolicyVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+listCoreNetworkPolicyVersionsResponse_nextToken :: Lens.Lens' ListCoreNetworkPolicyVersionsResponse (Prelude.Maybe Prelude.Text)+listCoreNetworkPolicyVersionsResponse_nextToken = Lens.lens (\ListCoreNetworkPolicyVersionsResponse' {nextToken} -> nextToken) (\s@ListCoreNetworkPolicyVersionsResponse' {} a -> s {nextToken = a} :: ListCoreNetworkPolicyVersionsResponse)++-- | The response's http status code.+listCoreNetworkPolicyVersionsResponse_httpStatus :: Lens.Lens' ListCoreNetworkPolicyVersionsResponse Prelude.Int+listCoreNetworkPolicyVersionsResponse_httpStatus = Lens.lens (\ListCoreNetworkPolicyVersionsResponse' {httpStatus} -> httpStatus) (\s@ListCoreNetworkPolicyVersionsResponse' {} a -> s {httpStatus = a} :: ListCoreNetworkPolicyVersionsResponse)++instance+  Prelude.NFData+    ListCoreNetworkPolicyVersionsResponse+  where+  rnf ListCoreNetworkPolicyVersionsResponse' {..} =+    Prelude.rnf coreNetworkPolicyVersions+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/ListCoreNetworks.hs view
@@ -0,0 +1,211 @@+{-# 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.NetworkManager.ListCoreNetworks+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of owned and shared core networks.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.ListCoreNetworks+  ( -- * Creating a Request+    ListCoreNetworks (..),+    newListCoreNetworks,++    -- * Request Lenses+    listCoreNetworks_maxResults,+    listCoreNetworks_nextToken,++    -- * Destructuring the Response+    ListCoreNetworksResponse (..),+    newListCoreNetworksResponse,++    -- * Response Lenses+    listCoreNetworksResponse_coreNetworks,+    listCoreNetworksResponse_nextToken,+    listCoreNetworksResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListCoreNetworks' smart constructor.+data ListCoreNetworks = ListCoreNetworks'+  { -- | The maximum number of results to return.+    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 'ListCoreNetworks' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listCoreNetworks_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listCoreNetworks_nextToken' - The token for the next page of results.+newListCoreNetworks ::+  ListCoreNetworks+newListCoreNetworks =+  ListCoreNetworks'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return.+listCoreNetworks_maxResults :: Lens.Lens' ListCoreNetworks (Prelude.Maybe Prelude.Natural)+listCoreNetworks_maxResults = Lens.lens (\ListCoreNetworks' {maxResults} -> maxResults) (\s@ListCoreNetworks' {} a -> s {maxResults = a} :: ListCoreNetworks)++-- | The token for the next page of results.+listCoreNetworks_nextToken :: Lens.Lens' ListCoreNetworks (Prelude.Maybe Prelude.Text)+listCoreNetworks_nextToken = Lens.lens (\ListCoreNetworks' {nextToken} -> nextToken) (\s@ListCoreNetworks' {} a -> s {nextToken = a} :: ListCoreNetworks)++instance Core.AWSPager ListCoreNetworks where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listCoreNetworksResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listCoreNetworksResponse_coreNetworks+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listCoreNetworks_nextToken+          Lens..~ rs+          Lens.^? listCoreNetworksResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListCoreNetworks where+  type+    AWSResponse ListCoreNetworks =+      ListCoreNetworksResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListCoreNetworksResponse'+            Prelude.<$> (x Data..?> "CoreNetworks" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListCoreNetworks where+  hashWithSalt _salt ListCoreNetworks' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListCoreNetworks where+  rnf ListCoreNetworks' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListCoreNetworks where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListCoreNetworks where+  toPath = Prelude.const "/core-networks"++instance Data.ToQuery ListCoreNetworks where+  toQuery ListCoreNetworks' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListCoreNetworksResponse' smart constructor.+data ListCoreNetworksResponse = ListCoreNetworksResponse'+  { -- | Describes the list of core networks.+    coreNetworks :: Prelude.Maybe [CoreNetworkSummary],+    -- | 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 'ListCoreNetworksResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworks', 'listCoreNetworksResponse_coreNetworks' - Describes the list of core networks.+--+-- 'nextToken', 'listCoreNetworksResponse_nextToken' - The token for the next page of results.+--+-- 'httpStatus', 'listCoreNetworksResponse_httpStatus' - The response's http status code.+newListCoreNetworksResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListCoreNetworksResponse+newListCoreNetworksResponse pHttpStatus_ =+  ListCoreNetworksResponse'+    { coreNetworks =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Describes the list of core networks.+listCoreNetworksResponse_coreNetworks :: Lens.Lens' ListCoreNetworksResponse (Prelude.Maybe [CoreNetworkSummary])+listCoreNetworksResponse_coreNetworks = Lens.lens (\ListCoreNetworksResponse' {coreNetworks} -> coreNetworks) (\s@ListCoreNetworksResponse' {} a -> s {coreNetworks = a} :: ListCoreNetworksResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token for the next page of results.+listCoreNetworksResponse_nextToken :: Lens.Lens' ListCoreNetworksResponse (Prelude.Maybe Prelude.Text)+listCoreNetworksResponse_nextToken = Lens.lens (\ListCoreNetworksResponse' {nextToken} -> nextToken) (\s@ListCoreNetworksResponse' {} a -> s {nextToken = a} :: ListCoreNetworksResponse)++-- | The response's http status code.+listCoreNetworksResponse_httpStatus :: Lens.Lens' ListCoreNetworksResponse Prelude.Int+listCoreNetworksResponse_httpStatus = Lens.lens (\ListCoreNetworksResponse' {httpStatus} -> httpStatus) (\s@ListCoreNetworksResponse' {} a -> s {httpStatus = a} :: ListCoreNetworksResponse)++instance Prelude.NFData ListCoreNetworksResponse where+  rnf ListCoreNetworksResponse' {..} =+    Prelude.rnf coreNetworks+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/ListOrganizationServiceAccessStatus.hs view
@@ -0,0 +1,215 @@+{-# 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.NetworkManager.ListOrganizationServiceAccessStatus+-- 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 status of the Service Linked Role (SLR) deployment for the+-- accounts in a given Amazon Web Services Organization.+module Amazonka.NetworkManager.ListOrganizationServiceAccessStatus+  ( -- * Creating a Request+    ListOrganizationServiceAccessStatus (..),+    newListOrganizationServiceAccessStatus,++    -- * Request Lenses+    listOrganizationServiceAccessStatus_maxResults,+    listOrganizationServiceAccessStatus_nextToken,++    -- * Destructuring the Response+    ListOrganizationServiceAccessStatusResponse (..),+    newListOrganizationServiceAccessStatusResponse,++    -- * Response Lenses+    listOrganizationServiceAccessStatusResponse_nextToken,+    listOrganizationServiceAccessStatusResponse_organizationStatus,+    listOrganizationServiceAccessStatusResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListOrganizationServiceAccessStatus' smart constructor.+data ListOrganizationServiceAccessStatus = ListOrganizationServiceAccessStatus'+  { -- | The maximum number of results to return.+    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 'ListOrganizationServiceAccessStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listOrganizationServiceAccessStatus_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listOrganizationServiceAccessStatus_nextToken' - The token for the next page of results.+newListOrganizationServiceAccessStatus ::+  ListOrganizationServiceAccessStatus+newListOrganizationServiceAccessStatus =+  ListOrganizationServiceAccessStatus'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return.+listOrganizationServiceAccessStatus_maxResults :: Lens.Lens' ListOrganizationServiceAccessStatus (Prelude.Maybe Prelude.Natural)+listOrganizationServiceAccessStatus_maxResults = Lens.lens (\ListOrganizationServiceAccessStatus' {maxResults} -> maxResults) (\s@ListOrganizationServiceAccessStatus' {} a -> s {maxResults = a} :: ListOrganizationServiceAccessStatus)++-- | The token for the next page of results.+listOrganizationServiceAccessStatus_nextToken :: Lens.Lens' ListOrganizationServiceAccessStatus (Prelude.Maybe Prelude.Text)+listOrganizationServiceAccessStatus_nextToken = Lens.lens (\ListOrganizationServiceAccessStatus' {nextToken} -> nextToken) (\s@ListOrganizationServiceAccessStatus' {} a -> s {nextToken = a} :: ListOrganizationServiceAccessStatus)++instance+  Core.AWSRequest+    ListOrganizationServiceAccessStatus+  where+  type+    AWSResponse ListOrganizationServiceAccessStatus =+      ListOrganizationServiceAccessStatusResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListOrganizationServiceAccessStatusResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "OrganizationStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListOrganizationServiceAccessStatus+  where+  hashWithSalt+    _salt+    ListOrganizationServiceAccessStatus' {..} =+      _salt+        `Prelude.hashWithSalt` maxResults+        `Prelude.hashWithSalt` nextToken++instance+  Prelude.NFData+    ListOrganizationServiceAccessStatus+  where+  rnf ListOrganizationServiceAccessStatus' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance+  Data.ToHeaders+    ListOrganizationServiceAccessStatus+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToPath+    ListOrganizationServiceAccessStatus+  where+  toPath =+    Prelude.const "/organizations/service-access"++instance+  Data.ToQuery+    ListOrganizationServiceAccessStatus+  where+  toQuery ListOrganizationServiceAccessStatus' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListOrganizationServiceAccessStatusResponse' smart constructor.+data ListOrganizationServiceAccessStatusResponse = ListOrganizationServiceAccessStatusResponse'+  { -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Displays the status of an Amazon Web Services Organization.+    organizationStatus :: Prelude.Maybe OrganizationStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListOrganizationServiceAccessStatusResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listOrganizationServiceAccessStatusResponse_nextToken' - The token for the next page of results.+--+-- 'organizationStatus', 'listOrganizationServiceAccessStatusResponse_organizationStatus' - Displays the status of an Amazon Web Services Organization.+--+-- 'httpStatus', 'listOrganizationServiceAccessStatusResponse_httpStatus' - The response's http status code.+newListOrganizationServiceAccessStatusResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListOrganizationServiceAccessStatusResponse+newListOrganizationServiceAccessStatusResponse+  pHttpStatus_ =+    ListOrganizationServiceAccessStatusResponse'+      { nextToken =+          Prelude.Nothing,+        organizationStatus =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The token for the next page of results.+listOrganizationServiceAccessStatusResponse_nextToken :: Lens.Lens' ListOrganizationServiceAccessStatusResponse (Prelude.Maybe Prelude.Text)+listOrganizationServiceAccessStatusResponse_nextToken = Lens.lens (\ListOrganizationServiceAccessStatusResponse' {nextToken} -> nextToken) (\s@ListOrganizationServiceAccessStatusResponse' {} a -> s {nextToken = a} :: ListOrganizationServiceAccessStatusResponse)++-- | Displays the status of an Amazon Web Services Organization.+listOrganizationServiceAccessStatusResponse_organizationStatus :: Lens.Lens' ListOrganizationServiceAccessStatusResponse (Prelude.Maybe OrganizationStatus)+listOrganizationServiceAccessStatusResponse_organizationStatus = Lens.lens (\ListOrganizationServiceAccessStatusResponse' {organizationStatus} -> organizationStatus) (\s@ListOrganizationServiceAccessStatusResponse' {} a -> s {organizationStatus = a} :: ListOrganizationServiceAccessStatusResponse)++-- | The response's http status code.+listOrganizationServiceAccessStatusResponse_httpStatus :: Lens.Lens' ListOrganizationServiceAccessStatusResponse Prelude.Int+listOrganizationServiceAccessStatusResponse_httpStatus = Lens.lens (\ListOrganizationServiceAccessStatusResponse' {httpStatus} -> httpStatus) (\s@ListOrganizationServiceAccessStatusResponse' {} a -> s {httpStatus = a} :: ListOrganizationServiceAccessStatusResponse)++instance+  Prelude.NFData+    ListOrganizationServiceAccessStatusResponse+  where+  rnf ListOrganizationServiceAccessStatusResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf organizationStatus+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/ListPeerings.hs view
@@ -0,0 +1,260 @@+{-# 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.NetworkManager.ListPeerings+-- 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 peerings for a core network.+--+-- This operation returns paginated results.+module Amazonka.NetworkManager.ListPeerings+  ( -- * Creating a Request+    ListPeerings (..),+    newListPeerings,++    -- * Request Lenses+    listPeerings_coreNetworkId,+    listPeerings_edgeLocation,+    listPeerings_maxResults,+    listPeerings_nextToken,+    listPeerings_peeringType,+    listPeerings_state,++    -- * Destructuring the Response+    ListPeeringsResponse (..),+    newListPeeringsResponse,++    -- * Response Lenses+    listPeeringsResponse_nextToken,+    listPeeringsResponse_peerings,+    listPeeringsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPeerings' smart constructor.+data ListPeerings = ListPeerings'+  { -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | Returns a list edge locations for the+    edgeLocation :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of results to return.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Returns a list of a peering requests.+    peeringType :: Prelude.Maybe PeeringType,+    -- | Returns a list of the peering request states.+    state :: Prelude.Maybe PeeringState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPeerings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkId', 'listPeerings_coreNetworkId' - The ID of a core network.+--+-- 'edgeLocation', 'listPeerings_edgeLocation' - Returns a list edge locations for the+--+-- 'maxResults', 'listPeerings_maxResults' - The maximum number of results to return.+--+-- 'nextToken', 'listPeerings_nextToken' - The token for the next page of results.+--+-- 'peeringType', 'listPeerings_peeringType' - Returns a list of a peering requests.+--+-- 'state', 'listPeerings_state' - Returns a list of the peering request states.+newListPeerings ::+  ListPeerings+newListPeerings =+  ListPeerings'+    { coreNetworkId = Prelude.Nothing,+      edgeLocation = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      peeringType = Prelude.Nothing,+      state = Prelude.Nothing+    }++-- | The ID of a core network.+listPeerings_coreNetworkId :: Lens.Lens' ListPeerings (Prelude.Maybe Prelude.Text)+listPeerings_coreNetworkId = Lens.lens (\ListPeerings' {coreNetworkId} -> coreNetworkId) (\s@ListPeerings' {} a -> s {coreNetworkId = a} :: ListPeerings)++-- | Returns a list edge locations for the+listPeerings_edgeLocation :: Lens.Lens' ListPeerings (Prelude.Maybe Prelude.Text)+listPeerings_edgeLocation = Lens.lens (\ListPeerings' {edgeLocation} -> edgeLocation) (\s@ListPeerings' {} a -> s {edgeLocation = a} :: ListPeerings)++-- | The maximum number of results to return.+listPeerings_maxResults :: Lens.Lens' ListPeerings (Prelude.Maybe Prelude.Natural)+listPeerings_maxResults = Lens.lens (\ListPeerings' {maxResults} -> maxResults) (\s@ListPeerings' {} a -> s {maxResults = a} :: ListPeerings)++-- | The token for the next page of results.+listPeerings_nextToken :: Lens.Lens' ListPeerings (Prelude.Maybe Prelude.Text)+listPeerings_nextToken = Lens.lens (\ListPeerings' {nextToken} -> nextToken) (\s@ListPeerings' {} a -> s {nextToken = a} :: ListPeerings)++-- | Returns a list of a peering requests.+listPeerings_peeringType :: Lens.Lens' ListPeerings (Prelude.Maybe PeeringType)+listPeerings_peeringType = Lens.lens (\ListPeerings' {peeringType} -> peeringType) (\s@ListPeerings' {} a -> s {peeringType = a} :: ListPeerings)++-- | Returns a list of the peering request states.+listPeerings_state :: Lens.Lens' ListPeerings (Prelude.Maybe PeeringState)+listPeerings_state = Lens.lens (\ListPeerings' {state} -> state) (\s@ListPeerings' {} a -> s {state = a} :: ListPeerings)++instance Core.AWSPager ListPeerings where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listPeeringsResponse_nextToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Core.stop+        ( rs+            Lens.^? listPeeringsResponse_peerings+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listPeerings_nextToken+          Lens..~ rs+          Lens.^? listPeeringsResponse_nextToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListPeerings where+  type AWSResponse ListPeerings = ListPeeringsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListPeeringsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Peerings" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListPeerings where+  hashWithSalt _salt ListPeerings' {..} =+    _salt+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` edgeLocation+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` peeringType+      `Prelude.hashWithSalt` state++instance Prelude.NFData ListPeerings where+  rnf ListPeerings' {..} =+    Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf edgeLocation+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf peeringType+      `Prelude.seq` Prelude.rnf state++instance Data.ToHeaders ListPeerings where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListPeerings where+  toPath = Prelude.const "/peerings"++instance Data.ToQuery ListPeerings where+  toQuery ListPeerings' {..} =+    Prelude.mconcat+      [ "coreNetworkId" Data.=: coreNetworkId,+        "edgeLocation" Data.=: edgeLocation,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "peeringType" Data.=: peeringType,+        "state" Data.=: state+      ]++-- | /See:/ 'newListPeeringsResponse' smart constructor.+data ListPeeringsResponse = ListPeeringsResponse'+  { -- | The token for the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | Lists the transit gateway peerings for the @ListPeerings@ request.+    peerings :: Prelude.Maybe [Peering],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPeeringsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPeeringsResponse_nextToken' - The token for the next page of results.+--+-- 'peerings', 'listPeeringsResponse_peerings' - Lists the transit gateway peerings for the @ListPeerings@ request.+--+-- 'httpStatus', 'listPeeringsResponse_httpStatus' - The response's http status code.+newListPeeringsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPeeringsResponse+newListPeeringsResponse pHttpStatus_ =+  ListPeeringsResponse'+    { nextToken = Prelude.Nothing,+      peerings = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The token for the next page of results.+listPeeringsResponse_nextToken :: Lens.Lens' ListPeeringsResponse (Prelude.Maybe Prelude.Text)+listPeeringsResponse_nextToken = Lens.lens (\ListPeeringsResponse' {nextToken} -> nextToken) (\s@ListPeeringsResponse' {} a -> s {nextToken = a} :: ListPeeringsResponse)++-- | Lists the transit gateway peerings for the @ListPeerings@ request.+listPeeringsResponse_peerings :: Lens.Lens' ListPeeringsResponse (Prelude.Maybe [Peering])+listPeeringsResponse_peerings = Lens.lens (\ListPeeringsResponse' {peerings} -> peerings) (\s@ListPeeringsResponse' {} a -> s {peerings = a} :: ListPeeringsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listPeeringsResponse_httpStatus :: Lens.Lens' ListPeeringsResponse Prelude.Int+listPeeringsResponse_httpStatus = Lens.lens (\ListPeeringsResponse' {httpStatus} -> httpStatus) (\s@ListPeeringsResponse' {} a -> s {httpStatus = a} :: ListPeeringsResponse)++instance Prelude.NFData ListPeeringsResponse where+  rnf ListPeeringsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf peerings+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/ListTagsForResource.hs view
@@ -0,0 +1,159 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.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 for a specified resource.+module Amazonka.NetworkManager.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tagList,+    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.NetworkManager.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..?> "TagList" 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.+    tagList :: Prelude.Maybe [Tag],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tagList', 'listTagsForResourceResponse_tagList' - The list of tags.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tagList =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of tags.+listTagsForResourceResponse_tagList :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe [Tag])+listTagsForResourceResponse_tagList = Lens.lens (\ListTagsForResourceResponse' {tagList} -> tagList) (\s@ListTagsForResourceResponse' {} a -> s {tagList = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tagList+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/PutCoreNetworkPolicy.hs view
@@ -0,0 +1,234 @@+{-# 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.NetworkManager.PutCoreNetworkPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new, immutable version of a core network policy. A subsequent+-- change set is created showing the differences between the LIVE policy+-- and the submitted policy.+module Amazonka.NetworkManager.PutCoreNetworkPolicy+  ( -- * Creating a Request+    PutCoreNetworkPolicy (..),+    newPutCoreNetworkPolicy,++    -- * Request Lenses+    putCoreNetworkPolicy_clientToken,+    putCoreNetworkPolicy_description,+    putCoreNetworkPolicy_latestVersionId,+    putCoreNetworkPolicy_coreNetworkId,+    putCoreNetworkPolicy_policyDocument,++    -- * Destructuring the Response+    PutCoreNetworkPolicyResponse (..),+    newPutCoreNetworkPolicyResponse,++    -- * Response Lenses+    putCoreNetworkPolicyResponse_coreNetworkPolicy,+    putCoreNetworkPolicyResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutCoreNetworkPolicy' smart constructor.+data PutCoreNetworkPolicy = PutCoreNetworkPolicy'+  { -- | The client token associated with the request.+    clientToken :: Prelude.Maybe Prelude.Text,+    -- | a core network policy description.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network policy.+    latestVersionId :: Prelude.Maybe Prelude.Int,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Text,+    -- | The policy document.+    policyDocument :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutCoreNetworkPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'putCoreNetworkPolicy_clientToken' - The client token associated with the request.+--+-- 'description', 'putCoreNetworkPolicy_description' - a core network policy description.+--+-- 'latestVersionId', 'putCoreNetworkPolicy_latestVersionId' - The ID of a core network policy.+--+-- 'coreNetworkId', 'putCoreNetworkPolicy_coreNetworkId' - The ID of a core network.+--+-- 'policyDocument', 'putCoreNetworkPolicy_policyDocument' - The policy document.+newPutCoreNetworkPolicy ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  -- | 'policyDocument'+  Prelude.Text ->+  PutCoreNetworkPolicy+newPutCoreNetworkPolicy+  pCoreNetworkId_+  pPolicyDocument_ =+    PutCoreNetworkPolicy'+      { clientToken =+          Prelude.Nothing,+        description = Prelude.Nothing,+        latestVersionId = Prelude.Nothing,+        coreNetworkId = pCoreNetworkId_,+        policyDocument = pPolicyDocument_+      }++-- | The client token associated with the request.+putCoreNetworkPolicy_clientToken :: Lens.Lens' PutCoreNetworkPolicy (Prelude.Maybe Prelude.Text)+putCoreNetworkPolicy_clientToken = Lens.lens (\PutCoreNetworkPolicy' {clientToken} -> clientToken) (\s@PutCoreNetworkPolicy' {} a -> s {clientToken = a} :: PutCoreNetworkPolicy)++-- | a core network policy description.+putCoreNetworkPolicy_description :: Lens.Lens' PutCoreNetworkPolicy (Prelude.Maybe Prelude.Text)+putCoreNetworkPolicy_description = Lens.lens (\PutCoreNetworkPolicy' {description} -> description) (\s@PutCoreNetworkPolicy' {} a -> s {description = a} :: PutCoreNetworkPolicy)++-- | The ID of a core network policy.+putCoreNetworkPolicy_latestVersionId :: Lens.Lens' PutCoreNetworkPolicy (Prelude.Maybe Prelude.Int)+putCoreNetworkPolicy_latestVersionId = Lens.lens (\PutCoreNetworkPolicy' {latestVersionId} -> latestVersionId) (\s@PutCoreNetworkPolicy' {} a -> s {latestVersionId = a} :: PutCoreNetworkPolicy)++-- | The ID of a core network.+putCoreNetworkPolicy_coreNetworkId :: Lens.Lens' PutCoreNetworkPolicy Prelude.Text+putCoreNetworkPolicy_coreNetworkId = Lens.lens (\PutCoreNetworkPolicy' {coreNetworkId} -> coreNetworkId) (\s@PutCoreNetworkPolicy' {} a -> s {coreNetworkId = a} :: PutCoreNetworkPolicy)++-- | The policy document.+putCoreNetworkPolicy_policyDocument :: Lens.Lens' PutCoreNetworkPolicy Prelude.Text+putCoreNetworkPolicy_policyDocument = Lens.lens (\PutCoreNetworkPolicy' {policyDocument} -> policyDocument) (\s@PutCoreNetworkPolicy' {} a -> s {policyDocument = a} :: PutCoreNetworkPolicy)++instance Core.AWSRequest PutCoreNetworkPolicy where+  type+    AWSResponse PutCoreNetworkPolicy =+      PutCoreNetworkPolicyResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          PutCoreNetworkPolicyResponse'+            Prelude.<$> (x Data..?> "CoreNetworkPolicy")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutCoreNetworkPolicy where+  hashWithSalt _salt PutCoreNetworkPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` latestVersionId+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` policyDocument++instance Prelude.NFData PutCoreNetworkPolicy where+  rnf PutCoreNetworkPolicy' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf latestVersionId+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf policyDocument++instance Data.ToHeaders PutCoreNetworkPolicy where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON PutCoreNetworkPolicy where+  toJSON PutCoreNetworkPolicy' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Description" Data..=) Prelude.<$> description,+            ("LatestVersionId" Data..=)+              Prelude.<$> latestVersionId,+            Prelude.Just+              ("PolicyDocument" Data..= policyDocument)+          ]+      )++instance Data.ToPath PutCoreNetworkPolicy where+  toPath PutCoreNetworkPolicy' {..} =+    Prelude.mconcat+      [ "/core-networks/",+        Data.toBS coreNetworkId,+        "/core-network-policy"+      ]++instance Data.ToQuery PutCoreNetworkPolicy where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutCoreNetworkPolicyResponse' smart constructor.+data PutCoreNetworkPolicyResponse = PutCoreNetworkPolicyResponse'+  { -- | Describes the changed core network policy.+    coreNetworkPolicy :: Prelude.Maybe CoreNetworkPolicy,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutCoreNetworkPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkPolicy', 'putCoreNetworkPolicyResponse_coreNetworkPolicy' - Describes the changed core network policy.+--+-- 'httpStatus', 'putCoreNetworkPolicyResponse_httpStatus' - The response's http status code.+newPutCoreNetworkPolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutCoreNetworkPolicyResponse+newPutCoreNetworkPolicyResponse pHttpStatus_ =+  PutCoreNetworkPolicyResponse'+    { coreNetworkPolicy =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Describes the changed core network policy.+putCoreNetworkPolicyResponse_coreNetworkPolicy :: Lens.Lens' PutCoreNetworkPolicyResponse (Prelude.Maybe CoreNetworkPolicy)+putCoreNetworkPolicyResponse_coreNetworkPolicy = Lens.lens (\PutCoreNetworkPolicyResponse' {coreNetworkPolicy} -> coreNetworkPolicy) (\s@PutCoreNetworkPolicyResponse' {} a -> s {coreNetworkPolicy = a} :: PutCoreNetworkPolicyResponse)++-- | The response's http status code.+putCoreNetworkPolicyResponse_httpStatus :: Lens.Lens' PutCoreNetworkPolicyResponse Prelude.Int+putCoreNetworkPolicyResponse_httpStatus = Lens.lens (\PutCoreNetworkPolicyResponse' {httpStatus} -> httpStatus) (\s@PutCoreNetworkPolicyResponse' {} a -> s {httpStatus = a} :: PutCoreNetworkPolicyResponse)++instance Prelude.NFData PutCoreNetworkPolicyResponse where+  rnf PutCoreNetworkPolicyResponse' {..} =+    Prelude.rnf coreNetworkPolicy+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/PutResourcePolicy.hs view
@@ -0,0 +1,175 @@+{-# 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.NetworkManager.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)+--+-- Creates or updates a resource policy.+module Amazonka.NetworkManager.PutResourcePolicy+  ( -- * Creating a Request+    PutResourcePolicy (..),+    newPutResourcePolicy,++    -- * Request Lenses+    putResourcePolicy_policyDocument,+    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.NetworkManager.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'+  { -- | The JSON resource policy document.+    policyDocument :: Prelude.Text,+    -- | The ARN of the resource policy.+    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:+--+-- 'policyDocument', 'putResourcePolicy_policyDocument' - The JSON resource policy document.+--+-- 'resourceArn', 'putResourcePolicy_resourceArn' - The ARN of the resource policy.+newPutResourcePolicy ::+  -- | 'policyDocument'+  Prelude.Text ->+  -- | 'resourceArn'+  Prelude.Text ->+  PutResourcePolicy+newPutResourcePolicy pPolicyDocument_ pResourceArn_ =+  PutResourcePolicy'+    { policyDocument =+        pPolicyDocument_,+      resourceArn = pResourceArn_+    }++-- | The JSON resource policy document.+putResourcePolicy_policyDocument :: Lens.Lens' PutResourcePolicy Prelude.Text+putResourcePolicy_policyDocument = Lens.lens (\PutResourcePolicy' {policyDocument} -> policyDocument) (\s@PutResourcePolicy' {} a -> s {policyDocument = a} :: PutResourcePolicy)++-- | The ARN of the resource policy.+putResourcePolicy_resourceArn :: Lens.Lens' PutResourcePolicy Prelude.Text+putResourcePolicy_resourceArn = Lens.lens (\PutResourcePolicy' {resourceArn} -> resourceArn) (\s@PutResourcePolicy' {} a -> s {resourceArn = a} :: PutResourcePolicy)++instance Core.AWSRequest PutResourcePolicy where+  type+    AWSResponse PutResourcePolicy =+      PutResourcePolicyResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          PutResourcePolicyResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutResourcePolicy where+  hashWithSalt _salt PutResourcePolicy' {..} =+    _salt+      `Prelude.hashWithSalt` policyDocument+      `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData PutResourcePolicy where+  rnf PutResourcePolicy' {..} =+    Prelude.rnf policyDocument+      `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+              ("PolicyDocument" Data..= policyDocument)+          ]+      )++instance Data.ToPath PutResourcePolicy where+  toPath PutResourcePolicy' {..} =+    Prelude.mconcat+      ["/resource-policy/", Data.toBS resourceArn]++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/NetworkManager/RegisterTransitGateway.hs view
@@ -0,0 +1,198 @@+{-# 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.NetworkManager.RegisterTransitGateway+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Registers a transit gateway in your global network. The transit gateway+-- can be in any Amazon Web Services Region, but it must be owned by the+-- same Amazon Web Services account that owns the global network. You+-- cannot register a transit gateway in more than one global network.+module Amazonka.NetworkManager.RegisterTransitGateway+  ( -- * Creating a Request+    RegisterTransitGateway (..),+    newRegisterTransitGateway,++    -- * Request Lenses+    registerTransitGateway_globalNetworkId,+    registerTransitGateway_transitGatewayArn,++    -- * Destructuring the Response+    RegisterTransitGatewayResponse (..),+    newRegisterTransitGatewayResponse,++    -- * Response Lenses+    registerTransitGatewayResponse_transitGatewayRegistration,+    registerTransitGatewayResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRegisterTransitGateway' smart constructor.+data RegisterTransitGateway = RegisterTransitGateway'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the transit gateway.+    transitGatewayArn :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterTransitGateway' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'registerTransitGateway_globalNetworkId' - The ID of the global network.+--+-- 'transitGatewayArn', 'registerTransitGateway_transitGatewayArn' - The Amazon Resource Name (ARN) of the transit gateway.+newRegisterTransitGateway ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'transitGatewayArn'+  Prelude.Text ->+  RegisterTransitGateway+newRegisterTransitGateway+  pGlobalNetworkId_+  pTransitGatewayArn_ =+    RegisterTransitGateway'+      { globalNetworkId =+          pGlobalNetworkId_,+        transitGatewayArn = pTransitGatewayArn_+      }++-- | The ID of the global network.+registerTransitGateway_globalNetworkId :: Lens.Lens' RegisterTransitGateway Prelude.Text+registerTransitGateway_globalNetworkId = Lens.lens (\RegisterTransitGateway' {globalNetworkId} -> globalNetworkId) (\s@RegisterTransitGateway' {} a -> s {globalNetworkId = a} :: RegisterTransitGateway)++-- | The Amazon Resource Name (ARN) of the transit gateway.+registerTransitGateway_transitGatewayArn :: Lens.Lens' RegisterTransitGateway Prelude.Text+registerTransitGateway_transitGatewayArn = Lens.lens (\RegisterTransitGateway' {transitGatewayArn} -> transitGatewayArn) (\s@RegisterTransitGateway' {} a -> s {transitGatewayArn = a} :: RegisterTransitGateway)++instance Core.AWSRequest RegisterTransitGateway where+  type+    AWSResponse RegisterTransitGateway =+      RegisterTransitGatewayResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RegisterTransitGatewayResponse'+            Prelude.<$> (x Data..?> "TransitGatewayRegistration")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RegisterTransitGateway where+  hashWithSalt _salt RegisterTransitGateway' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` transitGatewayArn++instance Prelude.NFData RegisterTransitGateway where+  rnf RegisterTransitGateway' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf transitGatewayArn++instance Data.ToHeaders RegisterTransitGateway where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON RegisterTransitGateway where+  toJSON RegisterTransitGateway' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("TransitGatewayArn" Data..= transitGatewayArn)+          ]+      )++instance Data.ToPath RegisterTransitGateway where+  toPath RegisterTransitGateway' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/transit-gateway-registrations"+      ]++instance Data.ToQuery RegisterTransitGateway where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRegisterTransitGatewayResponse' smart constructor.+data RegisterTransitGatewayResponse = RegisterTransitGatewayResponse'+  { -- | Information about the transit gateway registration.+    transitGatewayRegistration :: Prelude.Maybe TransitGatewayRegistration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RegisterTransitGatewayResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'transitGatewayRegistration', 'registerTransitGatewayResponse_transitGatewayRegistration' - Information about the transit gateway registration.+--+-- 'httpStatus', 'registerTransitGatewayResponse_httpStatus' - The response's http status code.+newRegisterTransitGatewayResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RegisterTransitGatewayResponse+newRegisterTransitGatewayResponse pHttpStatus_ =+  RegisterTransitGatewayResponse'+    { transitGatewayRegistration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the transit gateway registration.+registerTransitGatewayResponse_transitGatewayRegistration :: Lens.Lens' RegisterTransitGatewayResponse (Prelude.Maybe TransitGatewayRegistration)+registerTransitGatewayResponse_transitGatewayRegistration = Lens.lens (\RegisterTransitGatewayResponse' {transitGatewayRegistration} -> transitGatewayRegistration) (\s@RegisterTransitGatewayResponse' {} a -> s {transitGatewayRegistration = a} :: RegisterTransitGatewayResponse)++-- | The response's http status code.+registerTransitGatewayResponse_httpStatus :: Lens.Lens' RegisterTransitGatewayResponse Prelude.Int+registerTransitGatewayResponse_httpStatus = Lens.lens (\RegisterTransitGatewayResponse' {httpStatus} -> httpStatus) (\s@RegisterTransitGatewayResponse' {} a -> s {httpStatus = a} :: RegisterTransitGatewayResponse)++instance+  Prelude.NFData+    RegisterTransitGatewayResponse+  where+  rnf RegisterTransitGatewayResponse' {..} =+    Prelude.rnf transitGatewayRegistration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/RejectAttachment.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.RejectAttachment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Rejects a core network attachment request.+module Amazonka.NetworkManager.RejectAttachment+  ( -- * Creating a Request+    RejectAttachment (..),+    newRejectAttachment,++    -- * Request Lenses+    rejectAttachment_attachmentId,++    -- * Destructuring the Response+    RejectAttachmentResponse (..),+    newRejectAttachmentResponse,++    -- * Response Lenses+    rejectAttachmentResponse_attachment,+    rejectAttachmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRejectAttachment' smart constructor.+data RejectAttachment = RejectAttachment'+  { -- | The ID of the attachment.+    attachmentId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RejectAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachmentId', 'rejectAttachment_attachmentId' - The ID of the attachment.+newRejectAttachment ::+  -- | 'attachmentId'+  Prelude.Text ->+  RejectAttachment+newRejectAttachment pAttachmentId_ =+  RejectAttachment' {attachmentId = pAttachmentId_}++-- | The ID of the attachment.+rejectAttachment_attachmentId :: Lens.Lens' RejectAttachment Prelude.Text+rejectAttachment_attachmentId = Lens.lens (\RejectAttachment' {attachmentId} -> attachmentId) (\s@RejectAttachment' {} a -> s {attachmentId = a} :: RejectAttachment)++instance Core.AWSRequest RejectAttachment where+  type+    AWSResponse RejectAttachment =+      RejectAttachmentResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RejectAttachmentResponse'+            Prelude.<$> (x Data..?> "Attachment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RejectAttachment where+  hashWithSalt _salt RejectAttachment' {..} =+    _salt `Prelude.hashWithSalt` attachmentId++instance Prelude.NFData RejectAttachment where+  rnf RejectAttachment' {..} = Prelude.rnf attachmentId++instance Data.ToHeaders RejectAttachment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON RejectAttachment where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath RejectAttachment where+  toPath RejectAttachment' {..} =+    Prelude.mconcat+      ["/attachments/", Data.toBS attachmentId, "/reject"]++instance Data.ToQuery RejectAttachment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRejectAttachmentResponse' smart constructor.+data RejectAttachmentResponse = RejectAttachmentResponse'+  { -- | Describes the rejected attachment request.+    attachment :: Prelude.Maybe Attachment,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RejectAttachmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachment', 'rejectAttachmentResponse_attachment' - Describes the rejected attachment request.+--+-- 'httpStatus', 'rejectAttachmentResponse_httpStatus' - The response's http status code.+newRejectAttachmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RejectAttachmentResponse+newRejectAttachmentResponse pHttpStatus_ =+  RejectAttachmentResponse'+    { attachment =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Describes the rejected attachment request.+rejectAttachmentResponse_attachment :: Lens.Lens' RejectAttachmentResponse (Prelude.Maybe Attachment)+rejectAttachmentResponse_attachment = Lens.lens (\RejectAttachmentResponse' {attachment} -> attachment) (\s@RejectAttachmentResponse' {} a -> s {attachment = a} :: RejectAttachmentResponse)++-- | The response's http status code.+rejectAttachmentResponse_httpStatus :: Lens.Lens' RejectAttachmentResponse Prelude.Int+rejectAttachmentResponse_httpStatus = Lens.lens (\RejectAttachmentResponse' {httpStatus} -> httpStatus) (\s@RejectAttachmentResponse' {} a -> s {httpStatus = a} :: RejectAttachmentResponse)++instance Prelude.NFData RejectAttachmentResponse where+  rnf RejectAttachmentResponse' {..} =+    Prelude.rnf attachment+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/RestoreCoreNetworkPolicyVersion.hs view
@@ -0,0 +1,208 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.RestoreCoreNetworkPolicyVersion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Restores a previous policy version as a new, immutable version of a core+-- network policy. A subsequent change set is created showing the+-- differences between the LIVE policy and restored policy.+module Amazonka.NetworkManager.RestoreCoreNetworkPolicyVersion+  ( -- * Creating a Request+    RestoreCoreNetworkPolicyVersion (..),+    newRestoreCoreNetworkPolicyVersion,++    -- * Request Lenses+    restoreCoreNetworkPolicyVersion_coreNetworkId,+    restoreCoreNetworkPolicyVersion_policyVersionId,++    -- * Destructuring the Response+    RestoreCoreNetworkPolicyVersionResponse (..),+    newRestoreCoreNetworkPolicyVersionResponse,++    -- * Response Lenses+    restoreCoreNetworkPolicyVersionResponse_coreNetworkPolicy,+    restoreCoreNetworkPolicyVersionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRestoreCoreNetworkPolicyVersion' smart constructor.+data RestoreCoreNetworkPolicyVersion = RestoreCoreNetworkPolicyVersion'+  { -- | The ID of a core network.+    coreNetworkId :: Prelude.Text,+    -- | The ID of the policy version to restore.+    policyVersionId :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestoreCoreNetworkPolicyVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkId', 'restoreCoreNetworkPolicyVersion_coreNetworkId' - The ID of a core network.+--+-- 'policyVersionId', 'restoreCoreNetworkPolicyVersion_policyVersionId' - The ID of the policy version to restore.+newRestoreCoreNetworkPolicyVersion ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  -- | 'policyVersionId'+  Prelude.Int ->+  RestoreCoreNetworkPolicyVersion+newRestoreCoreNetworkPolicyVersion+  pCoreNetworkId_+  pPolicyVersionId_ =+    RestoreCoreNetworkPolicyVersion'+      { coreNetworkId =+          pCoreNetworkId_,+        policyVersionId = pPolicyVersionId_+      }++-- | The ID of a core network.+restoreCoreNetworkPolicyVersion_coreNetworkId :: Lens.Lens' RestoreCoreNetworkPolicyVersion Prelude.Text+restoreCoreNetworkPolicyVersion_coreNetworkId = Lens.lens (\RestoreCoreNetworkPolicyVersion' {coreNetworkId} -> coreNetworkId) (\s@RestoreCoreNetworkPolicyVersion' {} a -> s {coreNetworkId = a} :: RestoreCoreNetworkPolicyVersion)++-- | The ID of the policy version to restore.+restoreCoreNetworkPolicyVersion_policyVersionId :: Lens.Lens' RestoreCoreNetworkPolicyVersion Prelude.Int+restoreCoreNetworkPolicyVersion_policyVersionId = Lens.lens (\RestoreCoreNetworkPolicyVersion' {policyVersionId} -> policyVersionId) (\s@RestoreCoreNetworkPolicyVersion' {} a -> s {policyVersionId = a} :: RestoreCoreNetworkPolicyVersion)++instance+  Core.AWSRequest+    RestoreCoreNetworkPolicyVersion+  where+  type+    AWSResponse RestoreCoreNetworkPolicyVersion =+      RestoreCoreNetworkPolicyVersionResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          RestoreCoreNetworkPolicyVersionResponse'+            Prelude.<$> (x Data..?> "CoreNetworkPolicy")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    RestoreCoreNetworkPolicyVersion+  where+  hashWithSalt+    _salt+    RestoreCoreNetworkPolicyVersion' {..} =+      _salt+        `Prelude.hashWithSalt` coreNetworkId+        `Prelude.hashWithSalt` policyVersionId++instance+  Prelude.NFData+    RestoreCoreNetworkPolicyVersion+  where+  rnf RestoreCoreNetworkPolicyVersion' {..} =+    Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf policyVersionId++instance+  Data.ToHeaders+    RestoreCoreNetworkPolicyVersion+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON RestoreCoreNetworkPolicyVersion where+  toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath RestoreCoreNetworkPolicyVersion where+  toPath RestoreCoreNetworkPolicyVersion' {..} =+    Prelude.mconcat+      [ "/core-networks/",+        Data.toBS coreNetworkId,+        "/core-network-policy-versions/",+        Data.toBS policyVersionId,+        "/restore"+      ]++instance Data.ToQuery RestoreCoreNetworkPolicyVersion where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRestoreCoreNetworkPolicyVersionResponse' smart constructor.+data RestoreCoreNetworkPolicyVersionResponse = RestoreCoreNetworkPolicyVersionResponse'+  { -- | Describes the restored core network policy.+    coreNetworkPolicy :: Prelude.Maybe CoreNetworkPolicy,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestoreCoreNetworkPolicyVersionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkPolicy', 'restoreCoreNetworkPolicyVersionResponse_coreNetworkPolicy' - Describes the restored core network policy.+--+-- 'httpStatus', 'restoreCoreNetworkPolicyVersionResponse_httpStatus' - The response's http status code.+newRestoreCoreNetworkPolicyVersionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RestoreCoreNetworkPolicyVersionResponse+newRestoreCoreNetworkPolicyVersionResponse+  pHttpStatus_ =+    RestoreCoreNetworkPolicyVersionResponse'+      { coreNetworkPolicy =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Describes the restored core network policy.+restoreCoreNetworkPolicyVersionResponse_coreNetworkPolicy :: Lens.Lens' RestoreCoreNetworkPolicyVersionResponse (Prelude.Maybe CoreNetworkPolicy)+restoreCoreNetworkPolicyVersionResponse_coreNetworkPolicy = Lens.lens (\RestoreCoreNetworkPolicyVersionResponse' {coreNetworkPolicy} -> coreNetworkPolicy) (\s@RestoreCoreNetworkPolicyVersionResponse' {} a -> s {coreNetworkPolicy = a} :: RestoreCoreNetworkPolicyVersionResponse)++-- | The response's http status code.+restoreCoreNetworkPolicyVersionResponse_httpStatus :: Lens.Lens' RestoreCoreNetworkPolicyVersionResponse Prelude.Int+restoreCoreNetworkPolicyVersionResponse_httpStatus = Lens.lens (\RestoreCoreNetworkPolicyVersionResponse' {httpStatus} -> httpStatus) (\s@RestoreCoreNetworkPolicyVersionResponse' {} a -> s {httpStatus = a} :: RestoreCoreNetworkPolicyVersionResponse)++instance+  Prelude.NFData+    RestoreCoreNetworkPolicyVersionResponse+  where+  rnf RestoreCoreNetworkPolicyVersionResponse' {..} =+    Prelude.rnf coreNetworkPolicy+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/StartOrganizationServiceAccessUpdate.hs view
@@ -0,0 +1,204 @@+{-# 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.NetworkManager.StartOrganizationServiceAccessUpdate+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enables the Network Manager service for an Amazon Web Services+-- Organization. This can only be called by a management account within the+-- organization.+module Amazonka.NetworkManager.StartOrganizationServiceAccessUpdate+  ( -- * Creating a Request+    StartOrganizationServiceAccessUpdate (..),+    newStartOrganizationServiceAccessUpdate,++    -- * Request Lenses+    startOrganizationServiceAccessUpdate_action,++    -- * Destructuring the Response+    StartOrganizationServiceAccessUpdateResponse (..),+    newStartOrganizationServiceAccessUpdateResponse,++    -- * Response Lenses+    startOrganizationServiceAccessUpdateResponse_organizationStatus,+    startOrganizationServiceAccessUpdateResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartOrganizationServiceAccessUpdate' smart constructor.+data StartOrganizationServiceAccessUpdate = StartOrganizationServiceAccessUpdate'+  { -- | The action to take for the update request. This can be either @ENABLE@+    -- or @DISABLE@.+    action :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartOrganizationServiceAccessUpdate' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'startOrganizationServiceAccessUpdate_action' - The action to take for the update request. This can be either @ENABLE@+-- or @DISABLE@.+newStartOrganizationServiceAccessUpdate ::+  -- | 'action'+  Prelude.Text ->+  StartOrganizationServiceAccessUpdate+newStartOrganizationServiceAccessUpdate pAction_ =+  StartOrganizationServiceAccessUpdate'+    { action =+        pAction_+    }++-- | The action to take for the update request. This can be either @ENABLE@+-- or @DISABLE@.+startOrganizationServiceAccessUpdate_action :: Lens.Lens' StartOrganizationServiceAccessUpdate Prelude.Text+startOrganizationServiceAccessUpdate_action = Lens.lens (\StartOrganizationServiceAccessUpdate' {action} -> action) (\s@StartOrganizationServiceAccessUpdate' {} a -> s {action = a} :: StartOrganizationServiceAccessUpdate)++instance+  Core.AWSRequest+    StartOrganizationServiceAccessUpdate+  where+  type+    AWSResponse StartOrganizationServiceAccessUpdate =+      StartOrganizationServiceAccessUpdateResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartOrganizationServiceAccessUpdateResponse'+            Prelude.<$> (x Data..?> "OrganizationStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    StartOrganizationServiceAccessUpdate+  where+  hashWithSalt+    _salt+    StartOrganizationServiceAccessUpdate' {..} =+      _salt `Prelude.hashWithSalt` action++instance+  Prelude.NFData+    StartOrganizationServiceAccessUpdate+  where+  rnf StartOrganizationServiceAccessUpdate' {..} =+    Prelude.rnf action++instance+  Data.ToHeaders+    StartOrganizationServiceAccessUpdate+  where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance+  Data.ToJSON+    StartOrganizationServiceAccessUpdate+  where+  toJSON StartOrganizationServiceAccessUpdate' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Action" Data..= action)]+      )++instance+  Data.ToPath+    StartOrganizationServiceAccessUpdate+  where+  toPath =+    Prelude.const "/organizations/service-access"++instance+  Data.ToQuery+    StartOrganizationServiceAccessUpdate+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartOrganizationServiceAccessUpdateResponse' smart constructor.+data StartOrganizationServiceAccessUpdateResponse = StartOrganizationServiceAccessUpdateResponse'+  { -- | The status of the service access update request for an Amazon Web+    -- Services Organization.+    organizationStatus :: Prelude.Maybe OrganizationStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartOrganizationServiceAccessUpdateResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'organizationStatus', 'startOrganizationServiceAccessUpdateResponse_organizationStatus' - The status of the service access update request for an Amazon Web+-- Services Organization.+--+-- 'httpStatus', 'startOrganizationServiceAccessUpdateResponse_httpStatus' - The response's http status code.+newStartOrganizationServiceAccessUpdateResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartOrganizationServiceAccessUpdateResponse+newStartOrganizationServiceAccessUpdateResponse+  pHttpStatus_ =+    StartOrganizationServiceAccessUpdateResponse'+      { organizationStatus =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The status of the service access update request for an Amazon Web+-- Services Organization.+startOrganizationServiceAccessUpdateResponse_organizationStatus :: Lens.Lens' StartOrganizationServiceAccessUpdateResponse (Prelude.Maybe OrganizationStatus)+startOrganizationServiceAccessUpdateResponse_organizationStatus = Lens.lens (\StartOrganizationServiceAccessUpdateResponse' {organizationStatus} -> organizationStatus) (\s@StartOrganizationServiceAccessUpdateResponse' {} a -> s {organizationStatus = a} :: StartOrganizationServiceAccessUpdateResponse)++-- | The response's http status code.+startOrganizationServiceAccessUpdateResponse_httpStatus :: Lens.Lens' StartOrganizationServiceAccessUpdateResponse Prelude.Int+startOrganizationServiceAccessUpdateResponse_httpStatus = Lens.lens (\StartOrganizationServiceAccessUpdateResponse' {httpStatus} -> httpStatus) (\s@StartOrganizationServiceAccessUpdateResponse' {} a -> s {httpStatus = a} :: StartOrganizationServiceAccessUpdateResponse)++instance+  Prelude.NFData+    StartOrganizationServiceAccessUpdateResponse+  where+  rnf StartOrganizationServiceAccessUpdateResponse' {..} =+    Prelude.rnf organizationStatus+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/StartRouteAnalysis.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.NetworkManager.StartRouteAnalysis+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts analyzing the routing path between the specified source and+-- destination. For more information, see+-- <https://docs.aws.amazon.com/vpc/latest/tgw/route-analyzer.html Route Analyzer>.+module Amazonka.NetworkManager.StartRouteAnalysis+  ( -- * Creating a Request+    StartRouteAnalysis (..),+    newStartRouteAnalysis,++    -- * Request Lenses+    startRouteAnalysis_includeReturnPath,+    startRouteAnalysis_useMiddleboxes,+    startRouteAnalysis_globalNetworkId,+    startRouteAnalysis_source,+    startRouteAnalysis_destination,++    -- * Destructuring the Response+    StartRouteAnalysisResponse (..),+    newStartRouteAnalysisResponse,++    -- * Response Lenses+    startRouteAnalysisResponse_routeAnalysis,+    startRouteAnalysisResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartRouteAnalysis' smart constructor.+data StartRouteAnalysis = StartRouteAnalysis'+  { -- | Indicates whether to analyze the return path. The default is @false@.+    includeReturnPath :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether to include the location of middlebox appliances in the+    -- route analysis. The default is @false@.+    useMiddleboxes :: Prelude.Maybe Prelude.Bool,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The source from which traffic originates.+    source :: RouteAnalysisEndpointOptionsSpecification,+    -- | The destination.+    destination :: RouteAnalysisEndpointOptionsSpecification+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartRouteAnalysis' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'includeReturnPath', 'startRouteAnalysis_includeReturnPath' - Indicates whether to analyze the return path. The default is @false@.+--+-- 'useMiddleboxes', 'startRouteAnalysis_useMiddleboxes' - Indicates whether to include the location of middlebox appliances in the+-- route analysis. The default is @false@.+--+-- 'globalNetworkId', 'startRouteAnalysis_globalNetworkId' - The ID of the global network.+--+-- 'source', 'startRouteAnalysis_source' - The source from which traffic originates.+--+-- 'destination', 'startRouteAnalysis_destination' - The destination.+newStartRouteAnalysis ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'source'+  RouteAnalysisEndpointOptionsSpecification ->+  -- | 'destination'+  RouteAnalysisEndpointOptionsSpecification ->+  StartRouteAnalysis+newStartRouteAnalysis+  pGlobalNetworkId_+  pSource_+  pDestination_ =+    StartRouteAnalysis'+      { includeReturnPath =+          Prelude.Nothing,+        useMiddleboxes = Prelude.Nothing,+        globalNetworkId = pGlobalNetworkId_,+        source = pSource_,+        destination = pDestination_+      }++-- | Indicates whether to analyze the return path. The default is @false@.+startRouteAnalysis_includeReturnPath :: Lens.Lens' StartRouteAnalysis (Prelude.Maybe Prelude.Bool)+startRouteAnalysis_includeReturnPath = Lens.lens (\StartRouteAnalysis' {includeReturnPath} -> includeReturnPath) (\s@StartRouteAnalysis' {} a -> s {includeReturnPath = a} :: StartRouteAnalysis)++-- | Indicates whether to include the location of middlebox appliances in the+-- route analysis. The default is @false@.+startRouteAnalysis_useMiddleboxes :: Lens.Lens' StartRouteAnalysis (Prelude.Maybe Prelude.Bool)+startRouteAnalysis_useMiddleboxes = Lens.lens (\StartRouteAnalysis' {useMiddleboxes} -> useMiddleboxes) (\s@StartRouteAnalysis' {} a -> s {useMiddleboxes = a} :: StartRouteAnalysis)++-- | The ID of the global network.+startRouteAnalysis_globalNetworkId :: Lens.Lens' StartRouteAnalysis Prelude.Text+startRouteAnalysis_globalNetworkId = Lens.lens (\StartRouteAnalysis' {globalNetworkId} -> globalNetworkId) (\s@StartRouteAnalysis' {} a -> s {globalNetworkId = a} :: StartRouteAnalysis)++-- | The source from which traffic originates.+startRouteAnalysis_source :: Lens.Lens' StartRouteAnalysis RouteAnalysisEndpointOptionsSpecification+startRouteAnalysis_source = Lens.lens (\StartRouteAnalysis' {source} -> source) (\s@StartRouteAnalysis' {} a -> s {source = a} :: StartRouteAnalysis)++-- | The destination.+startRouteAnalysis_destination :: Lens.Lens' StartRouteAnalysis RouteAnalysisEndpointOptionsSpecification+startRouteAnalysis_destination = Lens.lens (\StartRouteAnalysis' {destination} -> destination) (\s@StartRouteAnalysis' {} a -> s {destination = a} :: StartRouteAnalysis)++instance Core.AWSRequest StartRouteAnalysis where+  type+    AWSResponse StartRouteAnalysis =+      StartRouteAnalysisResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartRouteAnalysisResponse'+            Prelude.<$> (x Data..?> "RouteAnalysis")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartRouteAnalysis where+  hashWithSalt _salt StartRouteAnalysis' {..} =+    _salt+      `Prelude.hashWithSalt` includeReturnPath+      `Prelude.hashWithSalt` useMiddleboxes+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` source+      `Prelude.hashWithSalt` destination++instance Prelude.NFData StartRouteAnalysis where+  rnf StartRouteAnalysis' {..} =+    Prelude.rnf includeReturnPath+      `Prelude.seq` Prelude.rnf useMiddleboxes+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf destination++instance Data.ToHeaders StartRouteAnalysis where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartRouteAnalysis where+  toJSON StartRouteAnalysis' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("IncludeReturnPath" Data..=)+              Prelude.<$> includeReturnPath,+            ("UseMiddleboxes" Data..=)+              Prelude.<$> useMiddleboxes,+            Prelude.Just ("Source" Data..= source),+            Prelude.Just ("Destination" Data..= destination)+          ]+      )++instance Data.ToPath StartRouteAnalysis where+  toPath StartRouteAnalysis' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/route-analyses"+      ]++instance Data.ToQuery StartRouteAnalysis where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartRouteAnalysisResponse' smart constructor.+data StartRouteAnalysisResponse = StartRouteAnalysisResponse'+  { -- | The route analysis.+    routeAnalysis :: Prelude.Maybe RouteAnalysis,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartRouteAnalysisResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'routeAnalysis', 'startRouteAnalysisResponse_routeAnalysis' - The route analysis.+--+-- 'httpStatus', 'startRouteAnalysisResponse_httpStatus' - The response's http status code.+newStartRouteAnalysisResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartRouteAnalysisResponse+newStartRouteAnalysisResponse pHttpStatus_ =+  StartRouteAnalysisResponse'+    { routeAnalysis =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The route analysis.+startRouteAnalysisResponse_routeAnalysis :: Lens.Lens' StartRouteAnalysisResponse (Prelude.Maybe RouteAnalysis)+startRouteAnalysisResponse_routeAnalysis = Lens.lens (\StartRouteAnalysisResponse' {routeAnalysis} -> routeAnalysis) (\s@StartRouteAnalysisResponse' {} a -> s {routeAnalysis = a} :: StartRouteAnalysisResponse)++-- | The response's http status code.+startRouteAnalysisResponse_httpStatus :: Lens.Lens' StartRouteAnalysisResponse Prelude.Int+startRouteAnalysisResponse_httpStatus = Lens.lens (\StartRouteAnalysisResponse' {httpStatus} -> httpStatus) (\s@StartRouteAnalysisResponse' {} a -> s {httpStatus = a} :: StartRouteAnalysisResponse)++instance Prelude.NFData StartRouteAnalysisResponse where+  rnf StartRouteAnalysisResponse' {..} =+    Prelude.rnf routeAnalysis+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/TagResource.hs view
@@ -0,0 +1,163 @@+{-# 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.NetworkManager.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)+--+-- Tags a specified resource.+module Amazonka.NetworkManager.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.NetworkManager.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 tags to apply to the specified resource.+    tags :: [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'tags', 'tagResource_tags' - The tags to apply to the specified 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 tags to apply to the specified resource.+tagResource_tags :: Lens.Lens' TagResource [Tag]+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Tags" Data..= tags)]+      )++instance Data.ToPath TagResource where+  toPath TagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'tagResourceResponse_httpStatus' - The response's http status code.+newTagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  TagResourceResponse+newTagResourceResponse pHttpStatus_ =+  TagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+tagResourceResponse_httpStatus :: Lens.Lens' TagResourceResponse Prelude.Int+tagResourceResponse_httpStatus = Lens.lens (\TagResourceResponse' {httpStatus} -> httpStatus) (\s@TagResourceResponse' {} a -> s {httpStatus = a} :: TagResourceResponse)++instance Prelude.NFData TagResourceResponse where+  rnf TagResourceResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/Types.hs view
@@ -0,0 +1,878 @@+{-# 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.NetworkManager.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.NetworkManager.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _CoreNetworkPolicyException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,+    _ThrottlingException,+    _ValidationException,++    -- * AttachmentState+    AttachmentState (..),++    -- * AttachmentType+    AttachmentType (..),++    -- * ChangeAction+    ChangeAction (..),++    -- * ChangeSetState+    ChangeSetState (..),++    -- * ChangeStatus+    ChangeStatus (..),++    -- * ChangeType+    ChangeType (..),++    -- * ConnectPeerAssociationState+    ConnectPeerAssociationState (..),++    -- * ConnectPeerState+    ConnectPeerState (..),++    -- * ConnectionState+    ConnectionState (..),++    -- * ConnectionStatus+    ConnectionStatus (..),++    -- * ConnectionType+    ConnectionType (..),++    -- * CoreNetworkPolicyAlias+    CoreNetworkPolicyAlias (..),++    -- * CoreNetworkState+    CoreNetworkState (..),++    -- * CustomerGatewayAssociationState+    CustomerGatewayAssociationState (..),++    -- * DeviceState+    DeviceState (..),++    -- * GlobalNetworkState+    GlobalNetworkState (..),++    -- * LinkAssociationState+    LinkAssociationState (..),++    -- * LinkState+    LinkState (..),++    -- * PeeringState+    PeeringState (..),++    -- * PeeringType+    PeeringType (..),++    -- * RouteAnalysisCompletionReasonCode+    RouteAnalysisCompletionReasonCode (..),++    -- * RouteAnalysisCompletionResultCode+    RouteAnalysisCompletionResultCode (..),++    -- * RouteAnalysisStatus+    RouteAnalysisStatus (..),++    -- * RouteState+    RouteState (..),++    -- * RouteTableType+    RouteTableType (..),++    -- * RouteType+    RouteType (..),++    -- * SiteState+    SiteState (..),++    -- * TransitGatewayConnectPeerAssociationState+    TransitGatewayConnectPeerAssociationState (..),++    -- * TransitGatewayRegistrationState+    TransitGatewayRegistrationState (..),++    -- * TunnelProtocol+    TunnelProtocol (..),++    -- * AWSLocation+    AWSLocation (..),+    newAWSLocation,+    aWSLocation_subnetArn,+    aWSLocation_zone,++    -- * AccountStatus+    AccountStatus (..),+    newAccountStatus,+    accountStatus_accountId,+    accountStatus_sLRDeploymentStatus,++    -- * Attachment+    Attachment (..),+    newAttachment,+    attachment_attachmentId,+    attachment_attachmentPolicyRuleNumber,+    attachment_attachmentType,+    attachment_coreNetworkArn,+    attachment_coreNetworkId,+    attachment_createdAt,+    attachment_edgeLocation,+    attachment_ownerAccountId,+    attachment_proposedSegmentChange,+    attachment_resourceArn,+    attachment_segmentName,+    attachment_state,+    attachment_tags,+    attachment_updatedAt,++    -- * Bandwidth+    Bandwidth (..),+    newBandwidth,+    bandwidth_downloadSpeed,+    bandwidth_uploadSpeed,++    -- * BgpOptions+    BgpOptions (..),+    newBgpOptions,+    bgpOptions_peerAsn,++    -- * ConnectAttachment+    ConnectAttachment (..),+    newConnectAttachment,+    connectAttachment_attachment,+    connectAttachment_options,+    connectAttachment_transportAttachmentId,++    -- * ConnectAttachmentOptions+    ConnectAttachmentOptions (..),+    newConnectAttachmentOptions,+    connectAttachmentOptions_protocol,++    -- * ConnectPeer+    ConnectPeer (..),+    newConnectPeer,+    connectPeer_configuration,+    connectPeer_connectAttachmentId,+    connectPeer_connectPeerId,+    connectPeer_coreNetworkId,+    connectPeer_createdAt,+    connectPeer_edgeLocation,+    connectPeer_state,+    connectPeer_tags,++    -- * ConnectPeerAssociation+    ConnectPeerAssociation (..),+    newConnectPeerAssociation,+    connectPeerAssociation_connectPeerId,+    connectPeerAssociation_deviceId,+    connectPeerAssociation_globalNetworkId,+    connectPeerAssociation_linkId,+    connectPeerAssociation_state,++    -- * ConnectPeerBgpConfiguration+    ConnectPeerBgpConfiguration (..),+    newConnectPeerBgpConfiguration,+    connectPeerBgpConfiguration_coreNetworkAddress,+    connectPeerBgpConfiguration_coreNetworkAsn,+    connectPeerBgpConfiguration_peerAddress,+    connectPeerBgpConfiguration_peerAsn,++    -- * ConnectPeerConfiguration+    ConnectPeerConfiguration (..),+    newConnectPeerConfiguration,+    connectPeerConfiguration_bgpConfigurations,+    connectPeerConfiguration_coreNetworkAddress,+    connectPeerConfiguration_insideCidrBlocks,+    connectPeerConfiguration_peerAddress,+    connectPeerConfiguration_protocol,++    -- * ConnectPeerSummary+    ConnectPeerSummary (..),+    newConnectPeerSummary,+    connectPeerSummary_connectAttachmentId,+    connectPeerSummary_connectPeerId,+    connectPeerSummary_connectPeerState,+    connectPeerSummary_coreNetworkId,+    connectPeerSummary_createdAt,+    connectPeerSummary_edgeLocation,+    connectPeerSummary_tags,++    -- * Connection+    Connection (..),+    newConnection,+    connection_connectedDeviceId,+    connection_connectedLinkId,+    connection_connectionArn,+    connection_connectionId,+    connection_createdAt,+    connection_description,+    connection_deviceId,+    connection_globalNetworkId,+    connection_linkId,+    connection_state,+    connection_tags,++    -- * ConnectionHealth+    ConnectionHealth (..),+    newConnectionHealth,+    connectionHealth_status,+    connectionHealth_timestamp,+    connectionHealth_type,++    -- * CoreNetwork+    CoreNetwork (..),+    newCoreNetwork,+    coreNetwork_coreNetworkArn,+    coreNetwork_coreNetworkId,+    coreNetwork_createdAt,+    coreNetwork_description,+    coreNetwork_edges,+    coreNetwork_globalNetworkId,+    coreNetwork_segments,+    coreNetwork_state,+    coreNetwork_tags,++    -- * CoreNetworkChange+    CoreNetworkChange (..),+    newCoreNetworkChange,+    coreNetworkChange_action,+    coreNetworkChange_identifier,+    coreNetworkChange_identifierPath,+    coreNetworkChange_newValues,+    coreNetworkChange_previousValues,+    coreNetworkChange_type,++    -- * CoreNetworkChangeEvent+    CoreNetworkChangeEvent (..),+    newCoreNetworkChangeEvent,+    coreNetworkChangeEvent_action,+    coreNetworkChangeEvent_eventTime,+    coreNetworkChangeEvent_identifierPath,+    coreNetworkChangeEvent_status,+    coreNetworkChangeEvent_type,+    coreNetworkChangeEvent_values,++    -- * CoreNetworkChangeEventValues+    CoreNetworkChangeEventValues (..),+    newCoreNetworkChangeEventValues,+    coreNetworkChangeEventValues_attachmentId,+    coreNetworkChangeEventValues_cidr,+    coreNetworkChangeEventValues_edgeLocation,+    coreNetworkChangeEventValues_segmentName,++    -- * CoreNetworkChangeValues+    CoreNetworkChangeValues (..),+    newCoreNetworkChangeValues,+    coreNetworkChangeValues_asn,+    coreNetworkChangeValues_cidr,+    coreNetworkChangeValues_destinationIdentifier,+    coreNetworkChangeValues_edgeLocations,+    coreNetworkChangeValues_insideCidrBlocks,+    coreNetworkChangeValues_segmentName,+    coreNetworkChangeValues_sharedSegments,++    -- * CoreNetworkEdge+    CoreNetworkEdge (..),+    newCoreNetworkEdge,+    coreNetworkEdge_asn,+    coreNetworkEdge_edgeLocation,+    coreNetworkEdge_insideCidrBlocks,++    -- * CoreNetworkPolicy+    CoreNetworkPolicy (..),+    newCoreNetworkPolicy,+    coreNetworkPolicy_alias,+    coreNetworkPolicy_changeSetState,+    coreNetworkPolicy_coreNetworkId,+    coreNetworkPolicy_createdAt,+    coreNetworkPolicy_description,+    coreNetworkPolicy_policyDocument,+    coreNetworkPolicy_policyErrors,+    coreNetworkPolicy_policyVersionId,++    -- * CoreNetworkPolicyError+    CoreNetworkPolicyError (..),+    newCoreNetworkPolicyError,+    coreNetworkPolicyError_path,+    coreNetworkPolicyError_errorCode,+    coreNetworkPolicyError_message,++    -- * CoreNetworkPolicyVersion+    CoreNetworkPolicyVersion (..),+    newCoreNetworkPolicyVersion,+    coreNetworkPolicyVersion_alias,+    coreNetworkPolicyVersion_changeSetState,+    coreNetworkPolicyVersion_coreNetworkId,+    coreNetworkPolicyVersion_createdAt,+    coreNetworkPolicyVersion_description,+    coreNetworkPolicyVersion_policyVersionId,++    -- * CoreNetworkSegment+    CoreNetworkSegment (..),+    newCoreNetworkSegment,+    coreNetworkSegment_edgeLocations,+    coreNetworkSegment_name,+    coreNetworkSegment_sharedSegments,++    -- * CoreNetworkSegmentEdgeIdentifier+    CoreNetworkSegmentEdgeIdentifier (..),+    newCoreNetworkSegmentEdgeIdentifier,+    coreNetworkSegmentEdgeIdentifier_coreNetworkId,+    coreNetworkSegmentEdgeIdentifier_edgeLocation,+    coreNetworkSegmentEdgeIdentifier_segmentName,++    -- * CoreNetworkSummary+    CoreNetworkSummary (..),+    newCoreNetworkSummary,+    coreNetworkSummary_coreNetworkArn,+    coreNetworkSummary_coreNetworkId,+    coreNetworkSummary_description,+    coreNetworkSummary_globalNetworkId,+    coreNetworkSummary_ownerAccountId,+    coreNetworkSummary_state,+    coreNetworkSummary_tags,++    -- * CustomerGatewayAssociation+    CustomerGatewayAssociation (..),+    newCustomerGatewayAssociation,+    customerGatewayAssociation_customerGatewayArn,+    customerGatewayAssociation_deviceId,+    customerGatewayAssociation_globalNetworkId,+    customerGatewayAssociation_linkId,+    customerGatewayAssociation_state,++    -- * Device+    Device (..),+    newDevice,+    device_aWSLocation,+    device_createdAt,+    device_description,+    device_deviceArn,+    device_deviceId,+    device_globalNetworkId,+    device_location,+    device_model,+    device_serialNumber,+    device_siteId,+    device_state,+    device_tags,+    device_type,+    device_vendor,++    -- * GlobalNetwork+    GlobalNetwork (..),+    newGlobalNetwork,+    globalNetwork_createdAt,+    globalNetwork_description,+    globalNetwork_globalNetworkArn,+    globalNetwork_globalNetworkId,+    globalNetwork_state,+    globalNetwork_tags,++    -- * Link+    Link (..),+    newLink,+    link_bandwidth,+    link_createdAt,+    link_description,+    link_globalNetworkId,+    link_linkArn,+    link_linkId,+    link_provider,+    link_siteId,+    link_state,+    link_tags,+    link_type,++    -- * LinkAssociation+    LinkAssociation (..),+    newLinkAssociation,+    linkAssociation_deviceId,+    linkAssociation_globalNetworkId,+    linkAssociation_linkAssociationState,+    linkAssociation_linkId,++    -- * Location+    Location (..),+    newLocation,+    location_address,+    location_latitude,+    location_longitude,++    -- * NetworkResource+    NetworkResource (..),+    newNetworkResource,+    networkResource_accountId,+    networkResource_awsRegion,+    networkResource_coreNetworkId,+    networkResource_definition,+    networkResource_definitionTimestamp,+    networkResource_metadata,+    networkResource_registeredGatewayArn,+    networkResource_resourceArn,+    networkResource_resourceId,+    networkResource_resourceType,+    networkResource_tags,++    -- * NetworkResourceCount+    NetworkResourceCount (..),+    newNetworkResourceCount,+    networkResourceCount_count,+    networkResourceCount_resourceType,++    -- * NetworkResourceSummary+    NetworkResourceSummary (..),+    newNetworkResourceSummary,+    networkResourceSummary_definition,+    networkResourceSummary_isMiddlebox,+    networkResourceSummary_nameTag,+    networkResourceSummary_registeredGatewayArn,+    networkResourceSummary_resourceArn,+    networkResourceSummary_resourceType,++    -- * NetworkRoute+    NetworkRoute (..),+    newNetworkRoute,+    networkRoute_destinationCidrBlock,+    networkRoute_destinations,+    networkRoute_prefixListId,+    networkRoute_state,+    networkRoute_type,++    -- * NetworkRouteDestination+    NetworkRouteDestination (..),+    newNetworkRouteDestination,+    networkRouteDestination_coreNetworkAttachmentId,+    networkRouteDestination_edgeLocation,+    networkRouteDestination_resourceId,+    networkRouteDestination_resourceType,+    networkRouteDestination_segmentName,+    networkRouteDestination_transitGatewayAttachmentId,++    -- * NetworkTelemetry+    NetworkTelemetry (..),+    newNetworkTelemetry,+    networkTelemetry_accountId,+    networkTelemetry_address,+    networkTelemetry_awsRegion,+    networkTelemetry_coreNetworkId,+    networkTelemetry_health,+    networkTelemetry_registeredGatewayArn,+    networkTelemetry_resourceArn,+    networkTelemetry_resourceId,+    networkTelemetry_resourceType,++    -- * OrganizationStatus+    OrganizationStatus (..),+    newOrganizationStatus,+    organizationStatus_accountStatusList,+    organizationStatus_organizationAwsServiceAccessStatus,+    organizationStatus_organizationId,+    organizationStatus_sLRDeploymentStatus,++    -- * PathComponent+    PathComponent (..),+    newPathComponent,+    pathComponent_destinationCidrBlock,+    pathComponent_resource,+    pathComponent_sequence,++    -- * Peering+    Peering (..),+    newPeering,+    peering_coreNetworkArn,+    peering_coreNetworkId,+    peering_createdAt,+    peering_edgeLocation,+    peering_ownerAccountId,+    peering_peeringId,+    peering_peeringType,+    peering_resourceArn,+    peering_state,+    peering_tags,++    -- * ProposedSegmentChange+    ProposedSegmentChange (..),+    newProposedSegmentChange,+    proposedSegmentChange_attachmentPolicyRuleNumber,+    proposedSegmentChange_segmentName,+    proposedSegmentChange_tags,++    -- * Relationship+    Relationship (..),+    newRelationship,+    relationship_from,+    relationship_to,++    -- * RouteAnalysis+    RouteAnalysis (..),+    newRouteAnalysis,+    routeAnalysis_destination,+    routeAnalysis_forwardPath,+    routeAnalysis_globalNetworkId,+    routeAnalysis_includeReturnPath,+    routeAnalysis_ownerAccountId,+    routeAnalysis_returnPath,+    routeAnalysis_routeAnalysisId,+    routeAnalysis_source,+    routeAnalysis_startTimestamp,+    routeAnalysis_status,+    routeAnalysis_useMiddleboxes,++    -- * RouteAnalysisCompletion+    RouteAnalysisCompletion (..),+    newRouteAnalysisCompletion,+    routeAnalysisCompletion_reasonCode,+    routeAnalysisCompletion_reasonContext,+    routeAnalysisCompletion_resultCode,++    -- * RouteAnalysisEndpointOptions+    RouteAnalysisEndpointOptions (..),+    newRouteAnalysisEndpointOptions,+    routeAnalysisEndpointOptions_ipAddress,+    routeAnalysisEndpointOptions_transitGatewayArn,+    routeAnalysisEndpointOptions_transitGatewayAttachmentArn,++    -- * RouteAnalysisEndpointOptionsSpecification+    RouteAnalysisEndpointOptionsSpecification (..),+    newRouteAnalysisEndpointOptionsSpecification,+    routeAnalysisEndpointOptionsSpecification_ipAddress,+    routeAnalysisEndpointOptionsSpecification_transitGatewayAttachmentArn,++    -- * RouteAnalysisPath+    RouteAnalysisPath (..),+    newRouteAnalysisPath,+    routeAnalysisPath_completionStatus,+    routeAnalysisPath_path,++    -- * RouteTableIdentifier+    RouteTableIdentifier (..),+    newRouteTableIdentifier,+    routeTableIdentifier_coreNetworkSegmentEdge,+    routeTableIdentifier_transitGatewayRouteTableArn,++    -- * Site+    Site (..),+    newSite,+    site_createdAt,+    site_description,+    site_globalNetworkId,+    site_location,+    site_siteArn,+    site_siteId,+    site_state,+    site_tags,++    -- * SiteToSiteVpnAttachment+    SiteToSiteVpnAttachment (..),+    newSiteToSiteVpnAttachment,+    siteToSiteVpnAttachment_attachment,+    siteToSiteVpnAttachment_vpnConnectionArn,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * TransitGatewayConnectPeerAssociation+    TransitGatewayConnectPeerAssociation (..),+    newTransitGatewayConnectPeerAssociation,+    transitGatewayConnectPeerAssociation_deviceId,+    transitGatewayConnectPeerAssociation_globalNetworkId,+    transitGatewayConnectPeerAssociation_linkId,+    transitGatewayConnectPeerAssociation_state,+    transitGatewayConnectPeerAssociation_transitGatewayConnectPeerArn,++    -- * TransitGatewayPeering+    TransitGatewayPeering (..),+    newTransitGatewayPeering,+    transitGatewayPeering_peering,+    transitGatewayPeering_transitGatewayArn,+    transitGatewayPeering_transitGatewayPeeringAttachmentId,++    -- * TransitGatewayRegistration+    TransitGatewayRegistration (..),+    newTransitGatewayRegistration,+    transitGatewayRegistration_globalNetworkId,+    transitGatewayRegistration_state,+    transitGatewayRegistration_transitGatewayArn,++    -- * TransitGatewayRegistrationStateReason+    TransitGatewayRegistrationStateReason (..),+    newTransitGatewayRegistrationStateReason,+    transitGatewayRegistrationStateReason_code,+    transitGatewayRegistrationStateReason_message,++    -- * TransitGatewayRouteTableAttachment+    TransitGatewayRouteTableAttachment (..),+    newTransitGatewayRouteTableAttachment,+    transitGatewayRouteTableAttachment_attachment,+    transitGatewayRouteTableAttachment_peeringId,+    transitGatewayRouteTableAttachment_transitGatewayRouteTableArn,++    -- * VpcAttachment+    VpcAttachment (..),+    newVpcAttachment,+    vpcAttachment_attachment,+    vpcAttachment_options,+    vpcAttachment_subnetArns,++    -- * VpcOptions+    VpcOptions (..),+    newVpcOptions,+    vpcOptions_applianceModeSupport,+    vpcOptions_ipv6Support,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.NetworkManager.Types.AWSLocation+import Amazonka.NetworkManager.Types.AccountStatus+import Amazonka.NetworkManager.Types.Attachment+import Amazonka.NetworkManager.Types.AttachmentState+import Amazonka.NetworkManager.Types.AttachmentType+import Amazonka.NetworkManager.Types.Bandwidth+import Amazonka.NetworkManager.Types.BgpOptions+import Amazonka.NetworkManager.Types.ChangeAction+import Amazonka.NetworkManager.Types.ChangeSetState+import Amazonka.NetworkManager.Types.ChangeStatus+import Amazonka.NetworkManager.Types.ChangeType+import Amazonka.NetworkManager.Types.ConnectAttachment+import Amazonka.NetworkManager.Types.ConnectAttachmentOptions+import Amazonka.NetworkManager.Types.ConnectPeer+import Amazonka.NetworkManager.Types.ConnectPeerAssociation+import Amazonka.NetworkManager.Types.ConnectPeerAssociationState+import Amazonka.NetworkManager.Types.ConnectPeerBgpConfiguration+import Amazonka.NetworkManager.Types.ConnectPeerConfiguration+import Amazonka.NetworkManager.Types.ConnectPeerState+import Amazonka.NetworkManager.Types.ConnectPeerSummary+import Amazonka.NetworkManager.Types.Connection+import Amazonka.NetworkManager.Types.ConnectionHealth+import Amazonka.NetworkManager.Types.ConnectionState+import Amazonka.NetworkManager.Types.ConnectionStatus+import Amazonka.NetworkManager.Types.ConnectionType+import Amazonka.NetworkManager.Types.CoreNetwork+import Amazonka.NetworkManager.Types.CoreNetworkChange+import Amazonka.NetworkManager.Types.CoreNetworkChangeEvent+import Amazonka.NetworkManager.Types.CoreNetworkChangeEventValues+import Amazonka.NetworkManager.Types.CoreNetworkChangeValues+import Amazonka.NetworkManager.Types.CoreNetworkEdge+import Amazonka.NetworkManager.Types.CoreNetworkPolicy+import Amazonka.NetworkManager.Types.CoreNetworkPolicyAlias+import Amazonka.NetworkManager.Types.CoreNetworkPolicyError+import Amazonka.NetworkManager.Types.CoreNetworkPolicyVersion+import Amazonka.NetworkManager.Types.CoreNetworkSegment+import Amazonka.NetworkManager.Types.CoreNetworkSegmentEdgeIdentifier+import Amazonka.NetworkManager.Types.CoreNetworkState+import Amazonka.NetworkManager.Types.CoreNetworkSummary+import Amazonka.NetworkManager.Types.CustomerGatewayAssociation+import Amazonka.NetworkManager.Types.CustomerGatewayAssociationState+import Amazonka.NetworkManager.Types.Device+import Amazonka.NetworkManager.Types.DeviceState+import Amazonka.NetworkManager.Types.GlobalNetwork+import Amazonka.NetworkManager.Types.GlobalNetworkState+import Amazonka.NetworkManager.Types.Link+import Amazonka.NetworkManager.Types.LinkAssociation+import Amazonka.NetworkManager.Types.LinkAssociationState+import Amazonka.NetworkManager.Types.LinkState+import Amazonka.NetworkManager.Types.Location+import Amazonka.NetworkManager.Types.NetworkResource+import Amazonka.NetworkManager.Types.NetworkResourceCount+import Amazonka.NetworkManager.Types.NetworkResourceSummary+import Amazonka.NetworkManager.Types.NetworkRoute+import Amazonka.NetworkManager.Types.NetworkRouteDestination+import Amazonka.NetworkManager.Types.NetworkTelemetry+import Amazonka.NetworkManager.Types.OrganizationStatus+import Amazonka.NetworkManager.Types.PathComponent+import Amazonka.NetworkManager.Types.Peering+import Amazonka.NetworkManager.Types.PeeringState+import Amazonka.NetworkManager.Types.PeeringType+import Amazonka.NetworkManager.Types.ProposedSegmentChange+import Amazonka.NetworkManager.Types.Relationship+import Amazonka.NetworkManager.Types.RouteAnalysis+import Amazonka.NetworkManager.Types.RouteAnalysisCompletion+import Amazonka.NetworkManager.Types.RouteAnalysisCompletionReasonCode+import Amazonka.NetworkManager.Types.RouteAnalysisCompletionResultCode+import Amazonka.NetworkManager.Types.RouteAnalysisEndpointOptions+import Amazonka.NetworkManager.Types.RouteAnalysisEndpointOptionsSpecification+import Amazonka.NetworkManager.Types.RouteAnalysisPath+import Amazonka.NetworkManager.Types.RouteAnalysisStatus+import Amazonka.NetworkManager.Types.RouteState+import Amazonka.NetworkManager.Types.RouteTableIdentifier+import Amazonka.NetworkManager.Types.RouteTableType+import Amazonka.NetworkManager.Types.RouteType+import Amazonka.NetworkManager.Types.Site+import Amazonka.NetworkManager.Types.SiteState+import Amazonka.NetworkManager.Types.SiteToSiteVpnAttachment+import Amazonka.NetworkManager.Types.Tag+import Amazonka.NetworkManager.Types.TransitGatewayConnectPeerAssociation+import Amazonka.NetworkManager.Types.TransitGatewayConnectPeerAssociationState+import Amazonka.NetworkManager.Types.TransitGatewayPeering+import Amazonka.NetworkManager.Types.TransitGatewayRegistration+import Amazonka.NetworkManager.Types.TransitGatewayRegistrationState+import Amazonka.NetworkManager.Types.TransitGatewayRegistrationStateReason+import Amazonka.NetworkManager.Types.TransitGatewayRouteTableAttachment+import Amazonka.NetworkManager.Types.TunnelProtocol+import Amazonka.NetworkManager.Types.VpcAttachment+import Amazonka.NetworkManager.Types.VpcOptions+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2019-07-05@ of the Amazon Network Manager SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "NetworkManager",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "networkmanager",+      Core.signingName = "networkmanager",+      Core.version = "2019-07-05",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "NetworkManager",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | You do not have sufficient access to perform this action.+_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++-- | There was a conflict processing the request. Updating or deleting the+-- resource can cause an inconsistent state.+_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++-- | Describes a core network policy exception.+_CoreNetworkPolicyException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_CoreNetworkPolicyException =+  Core._MatchServiceError+    defaultService+    "CoreNetworkPolicyException"+    Prelude.. Core.hasStatus 400++-- | The request has failed due to an internal error.+_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++-- | The specified resource could not be found.+_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++-- | A service limit was exceeded.+_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++-- | The request was denied due to request throttling.+_ThrottlingException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottlingException =+  Core._MatchServiceError+    defaultService+    "ThrottlingException"+    Prelude.. Core.hasStatus 429++-- | The input fails to satisfy the constraints.+_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/NetworkManager/Types/AWSLocation.hs view
@@ -0,0 +1,99 @@+{-# 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.NetworkManager.Types.AWSLocation+-- 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.NetworkManager.Types.AWSLocation 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++-- | Specifies a location in Amazon Web Services.+--+-- /See:/ 'newAWSLocation' smart constructor.+data AWSLocation = AWSLocation'+  { -- | The Amazon Resource Name (ARN) of the subnet that the device is located+    -- in.+    subnetArn :: Prelude.Maybe Prelude.Text,+    -- | The Zone that the device is located in. Specify the ID of an+    -- Availability Zone, Local Zone, Wavelength Zone, or an Outpost.+    zone :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AWSLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'subnetArn', 'aWSLocation_subnetArn' - The Amazon Resource Name (ARN) of the subnet that the device is located+-- in.+--+-- 'zone', 'aWSLocation_zone' - The Zone that the device is located in. Specify the ID of an+-- Availability Zone, Local Zone, Wavelength Zone, or an Outpost.+newAWSLocation ::+  AWSLocation+newAWSLocation =+  AWSLocation'+    { subnetArn = Prelude.Nothing,+      zone = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the subnet that the device is located+-- in.+aWSLocation_subnetArn :: Lens.Lens' AWSLocation (Prelude.Maybe Prelude.Text)+aWSLocation_subnetArn = Lens.lens (\AWSLocation' {subnetArn} -> subnetArn) (\s@AWSLocation' {} a -> s {subnetArn = a} :: AWSLocation)++-- | The Zone that the device is located in. Specify the ID of an+-- Availability Zone, Local Zone, Wavelength Zone, or an Outpost.+aWSLocation_zone :: Lens.Lens' AWSLocation (Prelude.Maybe Prelude.Text)+aWSLocation_zone = Lens.lens (\AWSLocation' {zone} -> zone) (\s@AWSLocation' {} a -> s {zone = a} :: AWSLocation)++instance Data.FromJSON AWSLocation where+  parseJSON =+    Data.withObject+      "AWSLocation"+      ( \x ->+          AWSLocation'+            Prelude.<$> (x Data..:? "SubnetArn")+            Prelude.<*> (x Data..:? "Zone")+      )++instance Prelude.Hashable AWSLocation where+  hashWithSalt _salt AWSLocation' {..} =+    _salt+      `Prelude.hashWithSalt` subnetArn+      `Prelude.hashWithSalt` zone++instance Prelude.NFData AWSLocation where+  rnf AWSLocation' {..} =+    Prelude.rnf subnetArn+      `Prelude.seq` Prelude.rnf zone++instance Data.ToJSON AWSLocation where+  toJSON AWSLocation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SubnetArn" Data..=) Prelude.<$> subnetArn,+            ("Zone" Data..=) Prelude.<$> zone+          ]+      )
+ gen/Amazonka/NetworkManager/Types/AccountStatus.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.AccountStatus+-- 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.NetworkManager.Types.AccountStatus 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++-- | Describes the current status of an account within an Amazon Web Services+-- Organization, including service-linked roles (SLRs).+--+-- /See:/ 'newAccountStatus' smart constructor.+data AccountStatus = AccountStatus'+  { -- | The ID of an account within the Amazon Web Services Organization.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | The status of SLR deployment for the account.+    sLRDeploymentStatus :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccountStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'accountStatus_accountId' - The ID of an account within the Amazon Web Services Organization.+--+-- 'sLRDeploymentStatus', 'accountStatus_sLRDeploymentStatus' - The status of SLR deployment for the account.+newAccountStatus ::+  AccountStatus+newAccountStatus =+  AccountStatus'+    { accountId = Prelude.Nothing,+      sLRDeploymentStatus = Prelude.Nothing+    }++-- | The ID of an account within the Amazon Web Services Organization.+accountStatus_accountId :: Lens.Lens' AccountStatus (Prelude.Maybe Prelude.Text)+accountStatus_accountId = Lens.lens (\AccountStatus' {accountId} -> accountId) (\s@AccountStatus' {} a -> s {accountId = a} :: AccountStatus)++-- | The status of SLR deployment for the account.+accountStatus_sLRDeploymentStatus :: Lens.Lens' AccountStatus (Prelude.Maybe Prelude.Text)+accountStatus_sLRDeploymentStatus = Lens.lens (\AccountStatus' {sLRDeploymentStatus} -> sLRDeploymentStatus) (\s@AccountStatus' {} a -> s {sLRDeploymentStatus = a} :: AccountStatus)++instance Data.FromJSON AccountStatus where+  parseJSON =+    Data.withObject+      "AccountStatus"+      ( \x ->+          AccountStatus'+            Prelude.<$> (x Data..:? "AccountId")+            Prelude.<*> (x Data..:? "SLRDeploymentStatus")+      )++instance Prelude.Hashable AccountStatus where+  hashWithSalt _salt AccountStatus' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` sLRDeploymentStatus++instance Prelude.NFData AccountStatus where+  rnf AccountStatus' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf sLRDeploymentStatus
+ gen/Amazonka/NetworkManager/Types/Attachment.hs view
@@ -0,0 +1,232 @@+{-# 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.NetworkManager.Types.Attachment+-- 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.NetworkManager.Types.Attachment where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.AttachmentState+import Amazonka.NetworkManager.Types.AttachmentType+import Amazonka.NetworkManager.Types.ProposedSegmentChange+import Amazonka.NetworkManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Describes a core network attachment.+--+-- /See:/ 'newAttachment' smart constructor.+data Attachment = Attachment'+  { -- | The ID of the attachment.+    attachmentId :: Prelude.Maybe Prelude.Text,+    -- | The policy rule number associated with the attachment.+    attachmentPolicyRuleNumber :: Prelude.Maybe Prelude.Int,+    -- | The type of attachment.+    attachmentType :: Prelude.Maybe AttachmentType,+    -- | The ARN of a core network.+    coreNetworkArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The timestamp when the attachment was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The Region where the edge is located.+    edgeLocation :: Prelude.Maybe Prelude.Text,+    -- | The ID of the attachment account owner.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The attachment to move from one segment to another.+    proposedSegmentChange :: Prelude.Maybe ProposedSegmentChange,+    -- | The attachment resource ARN.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The name of the segment attachment.+    segmentName :: Prelude.Maybe Prelude.Text,+    -- | The state of the attachment.+    state :: Prelude.Maybe AttachmentState,+    -- | The tags associated with the attachment.+    tags :: Prelude.Maybe [Tag],+    -- | The timestamp when the attachment was last updated.+    updatedAt :: Prelude.Maybe Data.POSIX+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Attachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachmentId', 'attachment_attachmentId' - The ID of the attachment.+--+-- 'attachmentPolicyRuleNumber', 'attachment_attachmentPolicyRuleNumber' - The policy rule number associated with the attachment.+--+-- 'attachmentType', 'attachment_attachmentType' - The type of attachment.+--+-- 'coreNetworkArn', 'attachment_coreNetworkArn' - The ARN of a core network.+--+-- 'coreNetworkId', 'attachment_coreNetworkId' - The ID of a core network.+--+-- 'createdAt', 'attachment_createdAt' - The timestamp when the attachment was created.+--+-- 'edgeLocation', 'attachment_edgeLocation' - The Region where the edge is located.+--+-- 'ownerAccountId', 'attachment_ownerAccountId' - The ID of the attachment account owner.+--+-- 'proposedSegmentChange', 'attachment_proposedSegmentChange' - The attachment to move from one segment to another.+--+-- 'resourceArn', 'attachment_resourceArn' - The attachment resource ARN.+--+-- 'segmentName', 'attachment_segmentName' - The name of the segment attachment.+--+-- 'state', 'attachment_state' - The state of the attachment.+--+-- 'tags', 'attachment_tags' - The tags associated with the attachment.+--+-- 'updatedAt', 'attachment_updatedAt' - The timestamp when the attachment was last updated.+newAttachment ::+  Attachment+newAttachment =+  Attachment'+    { attachmentId = Prelude.Nothing,+      attachmentPolicyRuleNumber = Prelude.Nothing,+      attachmentType = Prelude.Nothing,+      coreNetworkArn = Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      edgeLocation = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      proposedSegmentChange = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      segmentName = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      updatedAt = Prelude.Nothing+    }++-- | The ID of the attachment.+attachment_attachmentId :: Lens.Lens' Attachment (Prelude.Maybe Prelude.Text)+attachment_attachmentId = Lens.lens (\Attachment' {attachmentId} -> attachmentId) (\s@Attachment' {} a -> s {attachmentId = a} :: Attachment)++-- | The policy rule number associated with the attachment.+attachment_attachmentPolicyRuleNumber :: Lens.Lens' Attachment (Prelude.Maybe Prelude.Int)+attachment_attachmentPolicyRuleNumber = Lens.lens (\Attachment' {attachmentPolicyRuleNumber} -> attachmentPolicyRuleNumber) (\s@Attachment' {} a -> s {attachmentPolicyRuleNumber = a} :: Attachment)++-- | The type of attachment.+attachment_attachmentType :: Lens.Lens' Attachment (Prelude.Maybe AttachmentType)+attachment_attachmentType = Lens.lens (\Attachment' {attachmentType} -> attachmentType) (\s@Attachment' {} a -> s {attachmentType = a} :: Attachment)++-- | The ARN of a core network.+attachment_coreNetworkArn :: Lens.Lens' Attachment (Prelude.Maybe Prelude.Text)+attachment_coreNetworkArn = Lens.lens (\Attachment' {coreNetworkArn} -> coreNetworkArn) (\s@Attachment' {} a -> s {coreNetworkArn = a} :: Attachment)++-- | The ID of a core network.+attachment_coreNetworkId :: Lens.Lens' Attachment (Prelude.Maybe Prelude.Text)+attachment_coreNetworkId = Lens.lens (\Attachment' {coreNetworkId} -> coreNetworkId) (\s@Attachment' {} a -> s {coreNetworkId = a} :: Attachment)++-- | The timestamp when the attachment was created.+attachment_createdAt :: Lens.Lens' Attachment (Prelude.Maybe Prelude.UTCTime)+attachment_createdAt = Lens.lens (\Attachment' {createdAt} -> createdAt) (\s@Attachment' {} a -> s {createdAt = a} :: Attachment) Prelude.. Lens.mapping Data._Time++-- | The Region where the edge is located.+attachment_edgeLocation :: Lens.Lens' Attachment (Prelude.Maybe Prelude.Text)+attachment_edgeLocation = Lens.lens (\Attachment' {edgeLocation} -> edgeLocation) (\s@Attachment' {} a -> s {edgeLocation = a} :: Attachment)++-- | The ID of the attachment account owner.+attachment_ownerAccountId :: Lens.Lens' Attachment (Prelude.Maybe Prelude.Text)+attachment_ownerAccountId = Lens.lens (\Attachment' {ownerAccountId} -> ownerAccountId) (\s@Attachment' {} a -> s {ownerAccountId = a} :: Attachment)++-- | The attachment to move from one segment to another.+attachment_proposedSegmentChange :: Lens.Lens' Attachment (Prelude.Maybe ProposedSegmentChange)+attachment_proposedSegmentChange = Lens.lens (\Attachment' {proposedSegmentChange} -> proposedSegmentChange) (\s@Attachment' {} a -> s {proposedSegmentChange = a} :: Attachment)++-- | The attachment resource ARN.+attachment_resourceArn :: Lens.Lens' Attachment (Prelude.Maybe Prelude.Text)+attachment_resourceArn = Lens.lens (\Attachment' {resourceArn} -> resourceArn) (\s@Attachment' {} a -> s {resourceArn = a} :: Attachment)++-- | The name of the segment attachment.+attachment_segmentName :: Lens.Lens' Attachment (Prelude.Maybe Prelude.Text)+attachment_segmentName = Lens.lens (\Attachment' {segmentName} -> segmentName) (\s@Attachment' {} a -> s {segmentName = a} :: Attachment)++-- | The state of the attachment.+attachment_state :: Lens.Lens' Attachment (Prelude.Maybe AttachmentState)+attachment_state = Lens.lens (\Attachment' {state} -> state) (\s@Attachment' {} a -> s {state = a} :: Attachment)++-- | The tags associated with the attachment.+attachment_tags :: Lens.Lens' Attachment (Prelude.Maybe [Tag])+attachment_tags = Lens.lens (\Attachment' {tags} -> tags) (\s@Attachment' {} a -> s {tags = a} :: Attachment) Prelude.. Lens.mapping Lens.coerced++-- | The timestamp when the attachment was last updated.+attachment_updatedAt :: Lens.Lens' Attachment (Prelude.Maybe Prelude.UTCTime)+attachment_updatedAt = Lens.lens (\Attachment' {updatedAt} -> updatedAt) (\s@Attachment' {} a -> s {updatedAt = a} :: Attachment) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON Attachment where+  parseJSON =+    Data.withObject+      "Attachment"+      ( \x ->+          Attachment'+            Prelude.<$> (x Data..:? "AttachmentId")+            Prelude.<*> (x Data..:? "AttachmentPolicyRuleNumber")+            Prelude.<*> (x Data..:? "AttachmentType")+            Prelude.<*> (x Data..:? "CoreNetworkArn")+            Prelude.<*> (x Data..:? "CoreNetworkId")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "EdgeLocation")+            Prelude.<*> (x Data..:? "OwnerAccountId")+            Prelude.<*> (x Data..:? "ProposedSegmentChange")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "SegmentName")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "UpdatedAt")+      )++instance Prelude.Hashable Attachment where+  hashWithSalt _salt Attachment' {..} =+    _salt+      `Prelude.hashWithSalt` attachmentId+      `Prelude.hashWithSalt` attachmentPolicyRuleNumber+      `Prelude.hashWithSalt` attachmentType+      `Prelude.hashWithSalt` coreNetworkArn+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` edgeLocation+      `Prelude.hashWithSalt` ownerAccountId+      `Prelude.hashWithSalt` proposedSegmentChange+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` segmentName+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` updatedAt++instance Prelude.NFData Attachment where+  rnf Attachment' {..} =+    Prelude.rnf attachmentId+      `Prelude.seq` Prelude.rnf attachmentPolicyRuleNumber+      `Prelude.seq` Prelude.rnf attachmentType+      `Prelude.seq` Prelude.rnf coreNetworkArn+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf edgeLocation+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf proposedSegmentChange+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf segmentName+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf updatedAt
+ gen/Amazonka/NetworkManager/Types/AttachmentState.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.AttachmentState+-- 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.NetworkManager.Types.AttachmentState+  ( AttachmentState+      ( ..,+        AttachmentState_AVAILABLE,+        AttachmentState_CREATING,+        AttachmentState_DELETING,+        AttachmentState_FAILED,+        AttachmentState_PENDING_ATTACHMENT_ACCEPTANCE,+        AttachmentState_PENDING_NETWORK_UPDATE,+        AttachmentState_PENDING_TAG_ACCEPTANCE,+        AttachmentState_REJECTED,+        AttachmentState_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AttachmentState = AttachmentState'+  { fromAttachmentState ::+      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 AttachmentState_AVAILABLE :: AttachmentState+pattern AttachmentState_AVAILABLE = AttachmentState' "AVAILABLE"++pattern AttachmentState_CREATING :: AttachmentState+pattern AttachmentState_CREATING = AttachmentState' "CREATING"++pattern AttachmentState_DELETING :: AttachmentState+pattern AttachmentState_DELETING = AttachmentState' "DELETING"++pattern AttachmentState_FAILED :: AttachmentState+pattern AttachmentState_FAILED = AttachmentState' "FAILED"++pattern AttachmentState_PENDING_ATTACHMENT_ACCEPTANCE :: AttachmentState+pattern AttachmentState_PENDING_ATTACHMENT_ACCEPTANCE = AttachmentState' "PENDING_ATTACHMENT_ACCEPTANCE"++pattern AttachmentState_PENDING_NETWORK_UPDATE :: AttachmentState+pattern AttachmentState_PENDING_NETWORK_UPDATE = AttachmentState' "PENDING_NETWORK_UPDATE"++pattern AttachmentState_PENDING_TAG_ACCEPTANCE :: AttachmentState+pattern AttachmentState_PENDING_TAG_ACCEPTANCE = AttachmentState' "PENDING_TAG_ACCEPTANCE"++pattern AttachmentState_REJECTED :: AttachmentState+pattern AttachmentState_REJECTED = AttachmentState' "REJECTED"++pattern AttachmentState_UPDATING :: AttachmentState+pattern AttachmentState_UPDATING = AttachmentState' "UPDATING"++{-# COMPLETE+  AttachmentState_AVAILABLE,+  AttachmentState_CREATING,+  AttachmentState_DELETING,+  AttachmentState_FAILED,+  AttachmentState_PENDING_ATTACHMENT_ACCEPTANCE,+  AttachmentState_PENDING_NETWORK_UPDATE,+  AttachmentState_PENDING_TAG_ACCEPTANCE,+  AttachmentState_REJECTED,+  AttachmentState_UPDATING,+  AttachmentState'+  #-}
+ gen/Amazonka/NetworkManager/Types/AttachmentType.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.NetworkManager.Types.AttachmentType+-- 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.NetworkManager.Types.AttachmentType+  ( AttachmentType+      ( ..,+        AttachmentType_CONNECT,+        AttachmentType_SITE_TO_SITE_VPN,+        AttachmentType_TRANSIT_GATEWAY_ROUTE_TABLE,+        AttachmentType_VPC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AttachmentType = AttachmentType'+  { fromAttachmentType ::+      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 AttachmentType_CONNECT :: AttachmentType+pattern AttachmentType_CONNECT = AttachmentType' "CONNECT"++pattern AttachmentType_SITE_TO_SITE_VPN :: AttachmentType+pattern AttachmentType_SITE_TO_SITE_VPN = AttachmentType' "SITE_TO_SITE_VPN"++pattern AttachmentType_TRANSIT_GATEWAY_ROUTE_TABLE :: AttachmentType+pattern AttachmentType_TRANSIT_GATEWAY_ROUTE_TABLE = AttachmentType' "TRANSIT_GATEWAY_ROUTE_TABLE"++pattern AttachmentType_VPC :: AttachmentType+pattern AttachmentType_VPC = AttachmentType' "VPC"++{-# COMPLETE+  AttachmentType_CONNECT,+  AttachmentType_SITE_TO_SITE_VPN,+  AttachmentType_TRANSIT_GATEWAY_ROUTE_TABLE,+  AttachmentType_VPC,+  AttachmentType'+  #-}
+ gen/Amazonka/NetworkManager/Types/Bandwidth.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.Bandwidth+-- 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.NetworkManager.Types.Bandwidth 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++-- | Describes bandwidth information.+--+-- /See:/ 'newBandwidth' smart constructor.+data Bandwidth = Bandwidth'+  { -- | Download speed in Mbps.+    downloadSpeed :: Prelude.Maybe Prelude.Int,+    -- | Upload speed in Mbps.+    uploadSpeed :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Bandwidth' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'downloadSpeed', 'bandwidth_downloadSpeed' - Download speed in Mbps.+--+-- 'uploadSpeed', 'bandwidth_uploadSpeed' - Upload speed in Mbps.+newBandwidth ::+  Bandwidth+newBandwidth =+  Bandwidth'+    { downloadSpeed = Prelude.Nothing,+      uploadSpeed = Prelude.Nothing+    }++-- | Download speed in Mbps.+bandwidth_downloadSpeed :: Lens.Lens' Bandwidth (Prelude.Maybe Prelude.Int)+bandwidth_downloadSpeed = Lens.lens (\Bandwidth' {downloadSpeed} -> downloadSpeed) (\s@Bandwidth' {} a -> s {downloadSpeed = a} :: Bandwidth)++-- | Upload speed in Mbps.+bandwidth_uploadSpeed :: Lens.Lens' Bandwidth (Prelude.Maybe Prelude.Int)+bandwidth_uploadSpeed = Lens.lens (\Bandwidth' {uploadSpeed} -> uploadSpeed) (\s@Bandwidth' {} a -> s {uploadSpeed = a} :: Bandwidth)++instance Data.FromJSON Bandwidth where+  parseJSON =+    Data.withObject+      "Bandwidth"+      ( \x ->+          Bandwidth'+            Prelude.<$> (x Data..:? "DownloadSpeed")+            Prelude.<*> (x Data..:? "UploadSpeed")+      )++instance Prelude.Hashable Bandwidth where+  hashWithSalt _salt Bandwidth' {..} =+    _salt+      `Prelude.hashWithSalt` downloadSpeed+      `Prelude.hashWithSalt` uploadSpeed++instance Prelude.NFData Bandwidth where+  rnf Bandwidth' {..} =+    Prelude.rnf downloadSpeed+      `Prelude.seq` Prelude.rnf uploadSpeed++instance Data.ToJSON Bandwidth where+  toJSON Bandwidth' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("DownloadSpeed" Data..=) Prelude.<$> downloadSpeed,+            ("UploadSpeed" Data..=) Prelude.<$> uploadSpeed+          ]+      )
+ gen/Amazonka/NetworkManager/Types/BgpOptions.hs view
@@ -0,0 +1,66 @@+{-# 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.NetworkManager.Types.BgpOptions+-- 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.NetworkManager.Types.BgpOptions 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++-- | Describes the BGP options.+--+-- /See:/ 'newBgpOptions' smart constructor.+data BgpOptions = BgpOptions'+  { -- | The Peer ASN of the BGP.+    peerAsn :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BgpOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'peerAsn', 'bgpOptions_peerAsn' - The Peer ASN of the BGP.+newBgpOptions ::+  BgpOptions+newBgpOptions =+  BgpOptions' {peerAsn = Prelude.Nothing}++-- | The Peer ASN of the BGP.+bgpOptions_peerAsn :: Lens.Lens' BgpOptions (Prelude.Maybe Prelude.Integer)+bgpOptions_peerAsn = Lens.lens (\BgpOptions' {peerAsn} -> peerAsn) (\s@BgpOptions' {} a -> s {peerAsn = a} :: BgpOptions)++instance Prelude.Hashable BgpOptions where+  hashWithSalt _salt BgpOptions' {..} =+    _salt `Prelude.hashWithSalt` peerAsn++instance Prelude.NFData BgpOptions where+  rnf BgpOptions' {..} = Prelude.rnf peerAsn++instance Data.ToJSON BgpOptions where+  toJSON BgpOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("PeerAsn" Data..=) Prelude.<$> peerAsn]+      )
+ gen/Amazonka/NetworkManager/Types/ChangeAction.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.ChangeAction+-- 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.NetworkManager.Types.ChangeAction+  ( ChangeAction+      ( ..,+        ChangeAction_ADD,+        ChangeAction_MODIFY,+        ChangeAction_REMOVE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChangeAction = ChangeAction'+  { fromChangeAction ::+      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 ChangeAction_ADD :: ChangeAction+pattern ChangeAction_ADD = ChangeAction' "ADD"++pattern ChangeAction_MODIFY :: ChangeAction+pattern ChangeAction_MODIFY = ChangeAction' "MODIFY"++pattern ChangeAction_REMOVE :: ChangeAction+pattern ChangeAction_REMOVE = ChangeAction' "REMOVE"++{-# COMPLETE+  ChangeAction_ADD,+  ChangeAction_MODIFY,+  ChangeAction_REMOVE,+  ChangeAction'+  #-}
+ gen/Amazonka/NetworkManager/Types/ChangeSetState.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.NetworkManager.Types.ChangeSetState+-- 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.NetworkManager.Types.ChangeSetState+  ( ChangeSetState+      ( ..,+        ChangeSetState_EXECUTING,+        ChangeSetState_EXECUTION_SUCCEEDED,+        ChangeSetState_FAILED_GENERATION,+        ChangeSetState_OUT_OF_DATE,+        ChangeSetState_PENDING_GENERATION,+        ChangeSetState_READY_TO_EXECUTE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChangeSetState = ChangeSetState'+  { fromChangeSetState ::+      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 ChangeSetState_EXECUTING :: ChangeSetState+pattern ChangeSetState_EXECUTING = ChangeSetState' "EXECUTING"++pattern ChangeSetState_EXECUTION_SUCCEEDED :: ChangeSetState+pattern ChangeSetState_EXECUTION_SUCCEEDED = ChangeSetState' "EXECUTION_SUCCEEDED"++pattern ChangeSetState_FAILED_GENERATION :: ChangeSetState+pattern ChangeSetState_FAILED_GENERATION = ChangeSetState' "FAILED_GENERATION"++pattern ChangeSetState_OUT_OF_DATE :: ChangeSetState+pattern ChangeSetState_OUT_OF_DATE = ChangeSetState' "OUT_OF_DATE"++pattern ChangeSetState_PENDING_GENERATION :: ChangeSetState+pattern ChangeSetState_PENDING_GENERATION = ChangeSetState' "PENDING_GENERATION"++pattern ChangeSetState_READY_TO_EXECUTE :: ChangeSetState+pattern ChangeSetState_READY_TO_EXECUTE = ChangeSetState' "READY_TO_EXECUTE"++{-# COMPLETE+  ChangeSetState_EXECUTING,+  ChangeSetState_EXECUTION_SUCCEEDED,+  ChangeSetState_FAILED_GENERATION,+  ChangeSetState_OUT_OF_DATE,+  ChangeSetState_PENDING_GENERATION,+  ChangeSetState_READY_TO_EXECUTE,+  ChangeSetState'+  #-}
+ gen/Amazonka/NetworkManager/Types/ChangeStatus.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.NetworkManager.Types.ChangeStatus+-- 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.NetworkManager.Types.ChangeStatus+  ( ChangeStatus+      ( ..,+        ChangeStatus_COMPLETE,+        ChangeStatus_FAILED,+        ChangeStatus_IN_PROGRESS,+        ChangeStatus_NOT_STARTED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChangeStatus = ChangeStatus'+  { fromChangeStatus ::+      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 ChangeStatus_COMPLETE :: ChangeStatus+pattern ChangeStatus_COMPLETE = ChangeStatus' "COMPLETE"++pattern ChangeStatus_FAILED :: ChangeStatus+pattern ChangeStatus_FAILED = ChangeStatus' "FAILED"++pattern ChangeStatus_IN_PROGRESS :: ChangeStatus+pattern ChangeStatus_IN_PROGRESS = ChangeStatus' "IN_PROGRESS"++pattern ChangeStatus_NOT_STARTED :: ChangeStatus+pattern ChangeStatus_NOT_STARTED = ChangeStatus' "NOT_STARTED"++{-# COMPLETE+  ChangeStatus_COMPLETE,+  ChangeStatus_FAILED,+  ChangeStatus_IN_PROGRESS,+  ChangeStatus_NOT_STARTED,+  ChangeStatus'+  #-}
+ gen/Amazonka/NetworkManager/Types/ChangeType.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.ChangeType+-- 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.NetworkManager.Types.ChangeType+  ( ChangeType+      ( ..,+        ChangeType_ATTACHMENT_MAPPING,+        ChangeType_ATTACHMENT_POLICIES_CONFIGURATION,+        ChangeType_ATTACHMENT_ROUTE_PROPAGATION,+        ChangeType_ATTACHMENT_ROUTE_STATIC,+        ChangeType_CORE_NETWORK_CONFIGURATION,+        ChangeType_CORE_NETWORK_EDGE,+        ChangeType_CORE_NETWORK_SEGMENT,+        ChangeType_SEGMENTS_CONFIGURATION,+        ChangeType_SEGMENT_ACTIONS_CONFIGURATION+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChangeType = ChangeType'+  { fromChangeType ::+      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 ChangeType_ATTACHMENT_MAPPING :: ChangeType+pattern ChangeType_ATTACHMENT_MAPPING = ChangeType' "ATTACHMENT_MAPPING"++pattern ChangeType_ATTACHMENT_POLICIES_CONFIGURATION :: ChangeType+pattern ChangeType_ATTACHMENT_POLICIES_CONFIGURATION = ChangeType' "ATTACHMENT_POLICIES_CONFIGURATION"++pattern ChangeType_ATTACHMENT_ROUTE_PROPAGATION :: ChangeType+pattern ChangeType_ATTACHMENT_ROUTE_PROPAGATION = ChangeType' "ATTACHMENT_ROUTE_PROPAGATION"++pattern ChangeType_ATTACHMENT_ROUTE_STATIC :: ChangeType+pattern ChangeType_ATTACHMENT_ROUTE_STATIC = ChangeType' "ATTACHMENT_ROUTE_STATIC"++pattern ChangeType_CORE_NETWORK_CONFIGURATION :: ChangeType+pattern ChangeType_CORE_NETWORK_CONFIGURATION = ChangeType' "CORE_NETWORK_CONFIGURATION"++pattern ChangeType_CORE_NETWORK_EDGE :: ChangeType+pattern ChangeType_CORE_NETWORK_EDGE = ChangeType' "CORE_NETWORK_EDGE"++pattern ChangeType_CORE_NETWORK_SEGMENT :: ChangeType+pattern ChangeType_CORE_NETWORK_SEGMENT = ChangeType' "CORE_NETWORK_SEGMENT"++pattern ChangeType_SEGMENTS_CONFIGURATION :: ChangeType+pattern ChangeType_SEGMENTS_CONFIGURATION = ChangeType' "SEGMENTS_CONFIGURATION"++pattern ChangeType_SEGMENT_ACTIONS_CONFIGURATION :: ChangeType+pattern ChangeType_SEGMENT_ACTIONS_CONFIGURATION = ChangeType' "SEGMENT_ACTIONS_CONFIGURATION"++{-# COMPLETE+  ChangeType_ATTACHMENT_MAPPING,+  ChangeType_ATTACHMENT_POLICIES_CONFIGURATION,+  ChangeType_ATTACHMENT_ROUTE_PROPAGATION,+  ChangeType_ATTACHMENT_ROUTE_STATIC,+  ChangeType_CORE_NETWORK_CONFIGURATION,+  ChangeType_CORE_NETWORK_EDGE,+  ChangeType_CORE_NETWORK_SEGMENT,+  ChangeType_SEGMENTS_CONFIGURATION,+  ChangeType_SEGMENT_ACTIONS_CONFIGURATION,+  ChangeType'+  #-}
+ gen/Amazonka/NetworkManager/Types/ConnectAttachment.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.ConnectAttachment+-- 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.NetworkManager.Types.ConnectAttachment where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.Attachment+import Amazonka.NetworkManager.Types.ConnectAttachmentOptions+import qualified Amazonka.Prelude as Prelude++-- | Describes a core network Connect attachment.+--+-- /See:/ 'newConnectAttachment' smart constructor.+data ConnectAttachment = ConnectAttachment'+  { -- | The attachment details.+    attachment :: Prelude.Maybe Attachment,+    -- | Options for connecting an attachment.+    options :: Prelude.Maybe ConnectAttachmentOptions,+    -- | The ID of the transport attachment.+    transportAttachmentId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachment', 'connectAttachment_attachment' - The attachment details.+--+-- 'options', 'connectAttachment_options' - Options for connecting an attachment.+--+-- 'transportAttachmentId', 'connectAttachment_transportAttachmentId' - The ID of the transport attachment.+newConnectAttachment ::+  ConnectAttachment+newConnectAttachment =+  ConnectAttachment'+    { attachment = Prelude.Nothing,+      options = Prelude.Nothing,+      transportAttachmentId = Prelude.Nothing+    }++-- | The attachment details.+connectAttachment_attachment :: Lens.Lens' ConnectAttachment (Prelude.Maybe Attachment)+connectAttachment_attachment = Lens.lens (\ConnectAttachment' {attachment} -> attachment) (\s@ConnectAttachment' {} a -> s {attachment = a} :: ConnectAttachment)++-- | Options for connecting an attachment.+connectAttachment_options :: Lens.Lens' ConnectAttachment (Prelude.Maybe ConnectAttachmentOptions)+connectAttachment_options = Lens.lens (\ConnectAttachment' {options} -> options) (\s@ConnectAttachment' {} a -> s {options = a} :: ConnectAttachment)++-- | The ID of the transport attachment.+connectAttachment_transportAttachmentId :: Lens.Lens' ConnectAttachment (Prelude.Maybe Prelude.Text)+connectAttachment_transportAttachmentId = Lens.lens (\ConnectAttachment' {transportAttachmentId} -> transportAttachmentId) (\s@ConnectAttachment' {} a -> s {transportAttachmentId = a} :: ConnectAttachment)++instance Data.FromJSON ConnectAttachment where+  parseJSON =+    Data.withObject+      "ConnectAttachment"+      ( \x ->+          ConnectAttachment'+            Prelude.<$> (x Data..:? "Attachment")+            Prelude.<*> (x Data..:? "Options")+            Prelude.<*> (x Data..:? "TransportAttachmentId")+      )++instance Prelude.Hashable ConnectAttachment where+  hashWithSalt _salt ConnectAttachment' {..} =+    _salt+      `Prelude.hashWithSalt` attachment+      `Prelude.hashWithSalt` options+      `Prelude.hashWithSalt` transportAttachmentId++instance Prelude.NFData ConnectAttachment where+  rnf ConnectAttachment' {..} =+    Prelude.rnf attachment+      `Prelude.seq` Prelude.rnf options+      `Prelude.seq` Prelude.rnf transportAttachmentId
+ gen/Amazonka/NetworkManager/Types/ConnectAttachmentOptions.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.ConnectAttachmentOptions+-- 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.NetworkManager.Types.ConnectAttachmentOptions where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.TunnelProtocol+import qualified Amazonka.Prelude as Prelude++-- | Describes a core network Connect attachment options.+--+-- /See:/ 'newConnectAttachmentOptions' smart constructor.+data ConnectAttachmentOptions = ConnectAttachmentOptions'+  { -- | The protocol used for the attachment connection.+    protocol :: Prelude.Maybe TunnelProtocol+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectAttachmentOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'protocol', 'connectAttachmentOptions_protocol' - The protocol used for the attachment connection.+newConnectAttachmentOptions ::+  ConnectAttachmentOptions+newConnectAttachmentOptions =+  ConnectAttachmentOptions'+    { protocol =+        Prelude.Nothing+    }++-- | The protocol used for the attachment connection.+connectAttachmentOptions_protocol :: Lens.Lens' ConnectAttachmentOptions (Prelude.Maybe TunnelProtocol)+connectAttachmentOptions_protocol = Lens.lens (\ConnectAttachmentOptions' {protocol} -> protocol) (\s@ConnectAttachmentOptions' {} a -> s {protocol = a} :: ConnectAttachmentOptions)++instance Data.FromJSON ConnectAttachmentOptions where+  parseJSON =+    Data.withObject+      "ConnectAttachmentOptions"+      ( \x ->+          ConnectAttachmentOptions'+            Prelude.<$> (x Data..:? "Protocol")+      )++instance Prelude.Hashable ConnectAttachmentOptions where+  hashWithSalt _salt ConnectAttachmentOptions' {..} =+    _salt `Prelude.hashWithSalt` protocol++instance Prelude.NFData ConnectAttachmentOptions where+  rnf ConnectAttachmentOptions' {..} =+    Prelude.rnf protocol++instance Data.ToJSON ConnectAttachmentOptions where+  toJSON ConnectAttachmentOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Protocol" Data..=) Prelude.<$> protocol]+      )
+ gen/Amazonka/NetworkManager/Types/ConnectPeer.hs view
@@ -0,0 +1,159 @@+{-# 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.NetworkManager.Types.ConnectPeer+-- 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.NetworkManager.Types.ConnectPeer where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.ConnectPeerConfiguration+import Amazonka.NetworkManager.Types.ConnectPeerState+import Amazonka.NetworkManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Describes a core network Connect peer.+--+-- /See:/ 'newConnectPeer' smart constructor.+data ConnectPeer = ConnectPeer'+  { -- | The configuration of the Connect peer.+    configuration :: Prelude.Maybe ConnectPeerConfiguration,+    -- | The ID of the attachment to connect.+    connectAttachmentId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the Connect peer.+    connectPeerId :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The timestamp when the Connect peer was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The Connect peer Regions where edges are located.+    edgeLocation :: Prelude.Maybe Prelude.Text,+    -- | The state of the Connect peer.+    state :: Prelude.Maybe ConnectPeerState,+    -- | The list of key-value tags associated with the Connect peer.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectPeer' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'configuration', 'connectPeer_configuration' - The configuration of the Connect peer.+--+-- 'connectAttachmentId', 'connectPeer_connectAttachmentId' - The ID of the attachment to connect.+--+-- 'connectPeerId', 'connectPeer_connectPeerId' - The ID of the Connect peer.+--+-- 'coreNetworkId', 'connectPeer_coreNetworkId' - The ID of a core network.+--+-- 'createdAt', 'connectPeer_createdAt' - The timestamp when the Connect peer was created.+--+-- 'edgeLocation', 'connectPeer_edgeLocation' - The Connect peer Regions where edges are located.+--+-- 'state', 'connectPeer_state' - The state of the Connect peer.+--+-- 'tags', 'connectPeer_tags' - The list of key-value tags associated with the Connect peer.+newConnectPeer ::+  ConnectPeer+newConnectPeer =+  ConnectPeer'+    { configuration = Prelude.Nothing,+      connectAttachmentId = Prelude.Nothing,+      connectPeerId = Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      edgeLocation = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The configuration of the Connect peer.+connectPeer_configuration :: Lens.Lens' ConnectPeer (Prelude.Maybe ConnectPeerConfiguration)+connectPeer_configuration = Lens.lens (\ConnectPeer' {configuration} -> configuration) (\s@ConnectPeer' {} a -> s {configuration = a} :: ConnectPeer)++-- | The ID of the attachment to connect.+connectPeer_connectAttachmentId :: Lens.Lens' ConnectPeer (Prelude.Maybe Prelude.Text)+connectPeer_connectAttachmentId = Lens.lens (\ConnectPeer' {connectAttachmentId} -> connectAttachmentId) (\s@ConnectPeer' {} a -> s {connectAttachmentId = a} :: ConnectPeer)++-- | The ID of the Connect peer.+connectPeer_connectPeerId :: Lens.Lens' ConnectPeer (Prelude.Maybe Prelude.Text)+connectPeer_connectPeerId = Lens.lens (\ConnectPeer' {connectPeerId} -> connectPeerId) (\s@ConnectPeer' {} a -> s {connectPeerId = a} :: ConnectPeer)++-- | The ID of a core network.+connectPeer_coreNetworkId :: Lens.Lens' ConnectPeer (Prelude.Maybe Prelude.Text)+connectPeer_coreNetworkId = Lens.lens (\ConnectPeer' {coreNetworkId} -> coreNetworkId) (\s@ConnectPeer' {} a -> s {coreNetworkId = a} :: ConnectPeer)++-- | The timestamp when the Connect peer was created.+connectPeer_createdAt :: Lens.Lens' ConnectPeer (Prelude.Maybe Prelude.UTCTime)+connectPeer_createdAt = Lens.lens (\ConnectPeer' {createdAt} -> createdAt) (\s@ConnectPeer' {} a -> s {createdAt = a} :: ConnectPeer) Prelude.. Lens.mapping Data._Time++-- | The Connect peer Regions where edges are located.+connectPeer_edgeLocation :: Lens.Lens' ConnectPeer (Prelude.Maybe Prelude.Text)+connectPeer_edgeLocation = Lens.lens (\ConnectPeer' {edgeLocation} -> edgeLocation) (\s@ConnectPeer' {} a -> s {edgeLocation = a} :: ConnectPeer)++-- | The state of the Connect peer.+connectPeer_state :: Lens.Lens' ConnectPeer (Prelude.Maybe ConnectPeerState)+connectPeer_state = Lens.lens (\ConnectPeer' {state} -> state) (\s@ConnectPeer' {} a -> s {state = a} :: ConnectPeer)++-- | The list of key-value tags associated with the Connect peer.+connectPeer_tags :: Lens.Lens' ConnectPeer (Prelude.Maybe [Tag])+connectPeer_tags = Lens.lens (\ConnectPeer' {tags} -> tags) (\s@ConnectPeer' {} a -> s {tags = a} :: ConnectPeer) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ConnectPeer where+  parseJSON =+    Data.withObject+      "ConnectPeer"+      ( \x ->+          ConnectPeer'+            Prelude.<$> (x Data..:? "Configuration")+            Prelude.<*> (x Data..:? "ConnectAttachmentId")+            Prelude.<*> (x Data..:? "ConnectPeerId")+            Prelude.<*> (x Data..:? "CoreNetworkId")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "EdgeLocation")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable ConnectPeer where+  hashWithSalt _salt ConnectPeer' {..} =+    _salt+      `Prelude.hashWithSalt` configuration+      `Prelude.hashWithSalt` connectAttachmentId+      `Prelude.hashWithSalt` connectPeerId+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` edgeLocation+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags++instance Prelude.NFData ConnectPeer where+  rnf ConnectPeer' {..} =+    Prelude.rnf configuration+      `Prelude.seq` Prelude.rnf connectAttachmentId+      `Prelude.seq` Prelude.rnf connectPeerId+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf edgeLocation+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/NetworkManager/Types/ConnectPeerAssociation.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.ConnectPeerAssociation+-- 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.NetworkManager.Types.ConnectPeerAssociation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.ConnectPeerAssociationState+import qualified Amazonka.Prelude as Prelude++-- | Describes a core network Connect peer association.+--+-- /See:/ 'newConnectPeerAssociation' smart constructor.+data ConnectPeerAssociation = ConnectPeerAssociation'+  { -- | The ID of the Connect peer.+    connectPeerId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the device to connect to.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the link.+    linkId :: Prelude.Maybe Prelude.Text,+    -- | The state of the Connect peer association.+    state :: Prelude.Maybe ConnectPeerAssociationState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectPeerAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectPeerId', 'connectPeerAssociation_connectPeerId' - The ID of the Connect peer.+--+-- 'deviceId', 'connectPeerAssociation_deviceId' - The ID of the device to connect to.+--+-- 'globalNetworkId', 'connectPeerAssociation_globalNetworkId' - The ID of the global network.+--+-- 'linkId', 'connectPeerAssociation_linkId' - The ID of the link.+--+-- 'state', 'connectPeerAssociation_state' - The state of the Connect peer association.+newConnectPeerAssociation ::+  ConnectPeerAssociation+newConnectPeerAssociation =+  ConnectPeerAssociation'+    { connectPeerId =+        Prelude.Nothing,+      deviceId = Prelude.Nothing,+      globalNetworkId = Prelude.Nothing,+      linkId = Prelude.Nothing,+      state = Prelude.Nothing+    }++-- | The ID of the Connect peer.+connectPeerAssociation_connectPeerId :: Lens.Lens' ConnectPeerAssociation (Prelude.Maybe Prelude.Text)+connectPeerAssociation_connectPeerId = Lens.lens (\ConnectPeerAssociation' {connectPeerId} -> connectPeerId) (\s@ConnectPeerAssociation' {} a -> s {connectPeerId = a} :: ConnectPeerAssociation)++-- | The ID of the device to connect to.+connectPeerAssociation_deviceId :: Lens.Lens' ConnectPeerAssociation (Prelude.Maybe Prelude.Text)+connectPeerAssociation_deviceId = Lens.lens (\ConnectPeerAssociation' {deviceId} -> deviceId) (\s@ConnectPeerAssociation' {} a -> s {deviceId = a} :: ConnectPeerAssociation)++-- | The ID of the global network.+connectPeerAssociation_globalNetworkId :: Lens.Lens' ConnectPeerAssociation (Prelude.Maybe Prelude.Text)+connectPeerAssociation_globalNetworkId = Lens.lens (\ConnectPeerAssociation' {globalNetworkId} -> globalNetworkId) (\s@ConnectPeerAssociation' {} a -> s {globalNetworkId = a} :: ConnectPeerAssociation)++-- | The ID of the link.+connectPeerAssociation_linkId :: Lens.Lens' ConnectPeerAssociation (Prelude.Maybe Prelude.Text)+connectPeerAssociation_linkId = Lens.lens (\ConnectPeerAssociation' {linkId} -> linkId) (\s@ConnectPeerAssociation' {} a -> s {linkId = a} :: ConnectPeerAssociation)++-- | The state of the Connect peer association.+connectPeerAssociation_state :: Lens.Lens' ConnectPeerAssociation (Prelude.Maybe ConnectPeerAssociationState)+connectPeerAssociation_state = Lens.lens (\ConnectPeerAssociation' {state} -> state) (\s@ConnectPeerAssociation' {} a -> s {state = a} :: ConnectPeerAssociation)++instance Data.FromJSON ConnectPeerAssociation where+  parseJSON =+    Data.withObject+      "ConnectPeerAssociation"+      ( \x ->+          ConnectPeerAssociation'+            Prelude.<$> (x Data..:? "ConnectPeerId")+            Prelude.<*> (x Data..:? "DeviceId")+            Prelude.<*> (x Data..:? "GlobalNetworkId")+            Prelude.<*> (x Data..:? "LinkId")+            Prelude.<*> (x Data..:? "State")+      )++instance Prelude.Hashable ConnectPeerAssociation where+  hashWithSalt _salt ConnectPeerAssociation' {..} =+    _salt+      `Prelude.hashWithSalt` connectPeerId+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` linkId+      `Prelude.hashWithSalt` state++instance Prelude.NFData ConnectPeerAssociation where+  rnf ConnectPeerAssociation' {..} =+    Prelude.rnf connectPeerId+      `Prelude.seq` Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf linkId+      `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/NetworkManager/Types/ConnectPeerAssociationState.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.NetworkManager.Types.ConnectPeerAssociationState+-- 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.NetworkManager.Types.ConnectPeerAssociationState+  ( ConnectPeerAssociationState+      ( ..,+        ConnectPeerAssociationState_AVAILABLE,+        ConnectPeerAssociationState_DELETED,+        ConnectPeerAssociationState_DELETING,+        ConnectPeerAssociationState_PENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConnectPeerAssociationState = ConnectPeerAssociationState'+  { fromConnectPeerAssociationState ::+      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 ConnectPeerAssociationState_AVAILABLE :: ConnectPeerAssociationState+pattern ConnectPeerAssociationState_AVAILABLE = ConnectPeerAssociationState' "AVAILABLE"++pattern ConnectPeerAssociationState_DELETED :: ConnectPeerAssociationState+pattern ConnectPeerAssociationState_DELETED = ConnectPeerAssociationState' "DELETED"++pattern ConnectPeerAssociationState_DELETING :: ConnectPeerAssociationState+pattern ConnectPeerAssociationState_DELETING = ConnectPeerAssociationState' "DELETING"++pattern ConnectPeerAssociationState_PENDING :: ConnectPeerAssociationState+pattern ConnectPeerAssociationState_PENDING = ConnectPeerAssociationState' "PENDING"++{-# COMPLETE+  ConnectPeerAssociationState_AVAILABLE,+  ConnectPeerAssociationState_DELETED,+  ConnectPeerAssociationState_DELETING,+  ConnectPeerAssociationState_PENDING,+  ConnectPeerAssociationState'+  #-}
+ gen/Amazonka/NetworkManager/Types/ConnectPeerBgpConfiguration.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.ConnectPeerBgpConfiguration+-- 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.NetworkManager.Types.ConnectPeerBgpConfiguration 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++-- | Describes a core network BGP configuration.+--+-- /See:/ 'newConnectPeerBgpConfiguration' smart constructor.+data ConnectPeerBgpConfiguration = ConnectPeerBgpConfiguration'+  { -- | The address of a core network.+    coreNetworkAddress :: Prelude.Maybe Prelude.Text,+    -- | The ASN of the Coret Network.+    coreNetworkAsn :: Prelude.Maybe Prelude.Integer,+    -- | The address of a core network Connect peer.+    peerAddress :: Prelude.Maybe Prelude.Text,+    -- | The ASN of the Connect peer.+    peerAsn :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectPeerBgpConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkAddress', 'connectPeerBgpConfiguration_coreNetworkAddress' - The address of a core network.+--+-- 'coreNetworkAsn', 'connectPeerBgpConfiguration_coreNetworkAsn' - The ASN of the Coret Network.+--+-- 'peerAddress', 'connectPeerBgpConfiguration_peerAddress' - The address of a core network Connect peer.+--+-- 'peerAsn', 'connectPeerBgpConfiguration_peerAsn' - The ASN of the Connect peer.+newConnectPeerBgpConfiguration ::+  ConnectPeerBgpConfiguration+newConnectPeerBgpConfiguration =+  ConnectPeerBgpConfiguration'+    { coreNetworkAddress =+        Prelude.Nothing,+      coreNetworkAsn = Prelude.Nothing,+      peerAddress = Prelude.Nothing,+      peerAsn = Prelude.Nothing+    }++-- | The address of a core network.+connectPeerBgpConfiguration_coreNetworkAddress :: Lens.Lens' ConnectPeerBgpConfiguration (Prelude.Maybe Prelude.Text)+connectPeerBgpConfiguration_coreNetworkAddress = Lens.lens (\ConnectPeerBgpConfiguration' {coreNetworkAddress} -> coreNetworkAddress) (\s@ConnectPeerBgpConfiguration' {} a -> s {coreNetworkAddress = a} :: ConnectPeerBgpConfiguration)++-- | The ASN of the Coret Network.+connectPeerBgpConfiguration_coreNetworkAsn :: Lens.Lens' ConnectPeerBgpConfiguration (Prelude.Maybe Prelude.Integer)+connectPeerBgpConfiguration_coreNetworkAsn = Lens.lens (\ConnectPeerBgpConfiguration' {coreNetworkAsn} -> coreNetworkAsn) (\s@ConnectPeerBgpConfiguration' {} a -> s {coreNetworkAsn = a} :: ConnectPeerBgpConfiguration)++-- | The address of a core network Connect peer.+connectPeerBgpConfiguration_peerAddress :: Lens.Lens' ConnectPeerBgpConfiguration (Prelude.Maybe Prelude.Text)+connectPeerBgpConfiguration_peerAddress = Lens.lens (\ConnectPeerBgpConfiguration' {peerAddress} -> peerAddress) (\s@ConnectPeerBgpConfiguration' {} a -> s {peerAddress = a} :: ConnectPeerBgpConfiguration)++-- | The ASN of the Connect peer.+connectPeerBgpConfiguration_peerAsn :: Lens.Lens' ConnectPeerBgpConfiguration (Prelude.Maybe Prelude.Integer)+connectPeerBgpConfiguration_peerAsn = Lens.lens (\ConnectPeerBgpConfiguration' {peerAsn} -> peerAsn) (\s@ConnectPeerBgpConfiguration' {} a -> s {peerAsn = a} :: ConnectPeerBgpConfiguration)++instance Data.FromJSON ConnectPeerBgpConfiguration where+  parseJSON =+    Data.withObject+      "ConnectPeerBgpConfiguration"+      ( \x ->+          ConnectPeerBgpConfiguration'+            Prelude.<$> (x Data..:? "CoreNetworkAddress")+            Prelude.<*> (x Data..:? "CoreNetworkAsn")+            Prelude.<*> (x Data..:? "PeerAddress")+            Prelude.<*> (x Data..:? "PeerAsn")+      )++instance Prelude.Hashable ConnectPeerBgpConfiguration where+  hashWithSalt _salt ConnectPeerBgpConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` coreNetworkAddress+      `Prelude.hashWithSalt` coreNetworkAsn+      `Prelude.hashWithSalt` peerAddress+      `Prelude.hashWithSalt` peerAsn++instance Prelude.NFData ConnectPeerBgpConfiguration where+  rnf ConnectPeerBgpConfiguration' {..} =+    Prelude.rnf coreNetworkAddress+      `Prelude.seq` Prelude.rnf coreNetworkAsn+      `Prelude.seq` Prelude.rnf peerAddress+      `Prelude.seq` Prelude.rnf peerAsn
+ gen/Amazonka/NetworkManager/Types/ConnectPeerConfiguration.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.ConnectPeerConfiguration+-- 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.NetworkManager.Types.ConnectPeerConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.ConnectPeerBgpConfiguration+import Amazonka.NetworkManager.Types.TunnelProtocol+import qualified Amazonka.Prelude as Prelude++-- | Describes a core network Connect peer configuration.+--+-- /See:/ 'newConnectPeerConfiguration' smart constructor.+data ConnectPeerConfiguration = ConnectPeerConfiguration'+  { -- | The Connect peer BGP configurations.+    bgpConfigurations :: Prelude.Maybe [ConnectPeerBgpConfiguration],+    -- | The IP address of a core network.+    coreNetworkAddress :: Prelude.Maybe Prelude.Text,+    -- | The inside IP addresses used for a Connect peer configuration.+    insideCidrBlocks :: Prelude.Maybe [Prelude.Text],+    -- | The IP address of the Connect peer.+    peerAddress :: Prelude.Maybe Prelude.Text,+    -- | The protocol used for a Connect peer configuration.+    protocol :: Prelude.Maybe TunnelProtocol+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectPeerConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bgpConfigurations', 'connectPeerConfiguration_bgpConfigurations' - The Connect peer BGP configurations.+--+-- 'coreNetworkAddress', 'connectPeerConfiguration_coreNetworkAddress' - The IP address of a core network.+--+-- 'insideCidrBlocks', 'connectPeerConfiguration_insideCidrBlocks' - The inside IP addresses used for a Connect peer configuration.+--+-- 'peerAddress', 'connectPeerConfiguration_peerAddress' - The IP address of the Connect peer.+--+-- 'protocol', 'connectPeerConfiguration_protocol' - The protocol used for a Connect peer configuration.+newConnectPeerConfiguration ::+  ConnectPeerConfiguration+newConnectPeerConfiguration =+  ConnectPeerConfiguration'+    { bgpConfigurations =+        Prelude.Nothing,+      coreNetworkAddress = Prelude.Nothing,+      insideCidrBlocks = Prelude.Nothing,+      peerAddress = Prelude.Nothing,+      protocol = Prelude.Nothing+    }++-- | The Connect peer BGP configurations.+connectPeerConfiguration_bgpConfigurations :: Lens.Lens' ConnectPeerConfiguration (Prelude.Maybe [ConnectPeerBgpConfiguration])+connectPeerConfiguration_bgpConfigurations = Lens.lens (\ConnectPeerConfiguration' {bgpConfigurations} -> bgpConfigurations) (\s@ConnectPeerConfiguration' {} a -> s {bgpConfigurations = a} :: ConnectPeerConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The IP address of a core network.+connectPeerConfiguration_coreNetworkAddress :: Lens.Lens' ConnectPeerConfiguration (Prelude.Maybe Prelude.Text)+connectPeerConfiguration_coreNetworkAddress = Lens.lens (\ConnectPeerConfiguration' {coreNetworkAddress} -> coreNetworkAddress) (\s@ConnectPeerConfiguration' {} a -> s {coreNetworkAddress = a} :: ConnectPeerConfiguration)++-- | The inside IP addresses used for a Connect peer configuration.+connectPeerConfiguration_insideCidrBlocks :: Lens.Lens' ConnectPeerConfiguration (Prelude.Maybe [Prelude.Text])+connectPeerConfiguration_insideCidrBlocks = Lens.lens (\ConnectPeerConfiguration' {insideCidrBlocks} -> insideCidrBlocks) (\s@ConnectPeerConfiguration' {} a -> s {insideCidrBlocks = a} :: ConnectPeerConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The IP address of the Connect peer.+connectPeerConfiguration_peerAddress :: Lens.Lens' ConnectPeerConfiguration (Prelude.Maybe Prelude.Text)+connectPeerConfiguration_peerAddress = Lens.lens (\ConnectPeerConfiguration' {peerAddress} -> peerAddress) (\s@ConnectPeerConfiguration' {} a -> s {peerAddress = a} :: ConnectPeerConfiguration)++-- | The protocol used for a Connect peer configuration.+connectPeerConfiguration_protocol :: Lens.Lens' ConnectPeerConfiguration (Prelude.Maybe TunnelProtocol)+connectPeerConfiguration_protocol = Lens.lens (\ConnectPeerConfiguration' {protocol} -> protocol) (\s@ConnectPeerConfiguration' {} a -> s {protocol = a} :: ConnectPeerConfiguration)++instance Data.FromJSON ConnectPeerConfiguration where+  parseJSON =+    Data.withObject+      "ConnectPeerConfiguration"+      ( \x ->+          ConnectPeerConfiguration'+            Prelude.<$> ( x+                            Data..:? "BgpConfigurations"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "CoreNetworkAddress")+            Prelude.<*> ( x+                            Data..:? "InsideCidrBlocks"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "PeerAddress")+            Prelude.<*> (x Data..:? "Protocol")+      )++instance Prelude.Hashable ConnectPeerConfiguration where+  hashWithSalt _salt ConnectPeerConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` bgpConfigurations+      `Prelude.hashWithSalt` coreNetworkAddress+      `Prelude.hashWithSalt` insideCidrBlocks+      `Prelude.hashWithSalt` peerAddress+      `Prelude.hashWithSalt` protocol++instance Prelude.NFData ConnectPeerConfiguration where+  rnf ConnectPeerConfiguration' {..} =+    Prelude.rnf bgpConfigurations+      `Prelude.seq` Prelude.rnf coreNetworkAddress+      `Prelude.seq` Prelude.rnf insideCidrBlocks+      `Prelude.seq` Prelude.rnf peerAddress+      `Prelude.seq` Prelude.rnf protocol
+ gen/Amazonka/NetworkManager/Types/ConnectPeerState.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.NetworkManager.Types.ConnectPeerState+-- 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.NetworkManager.Types.ConnectPeerState+  ( ConnectPeerState+      ( ..,+        ConnectPeerState_AVAILABLE,+        ConnectPeerState_CREATING,+        ConnectPeerState_DELETING,+        ConnectPeerState_FAILED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConnectPeerState = ConnectPeerState'+  { fromConnectPeerState ::+      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 ConnectPeerState_AVAILABLE :: ConnectPeerState+pattern ConnectPeerState_AVAILABLE = ConnectPeerState' "AVAILABLE"++pattern ConnectPeerState_CREATING :: ConnectPeerState+pattern ConnectPeerState_CREATING = ConnectPeerState' "CREATING"++pattern ConnectPeerState_DELETING :: ConnectPeerState+pattern ConnectPeerState_DELETING = ConnectPeerState' "DELETING"++pattern ConnectPeerState_FAILED :: ConnectPeerState+pattern ConnectPeerState_FAILED = ConnectPeerState' "FAILED"++{-# COMPLETE+  ConnectPeerState_AVAILABLE,+  ConnectPeerState_CREATING,+  ConnectPeerState_DELETING,+  ConnectPeerState_FAILED,+  ConnectPeerState'+  #-}
+ gen/Amazonka/NetworkManager/Types/ConnectPeerSummary.hs view
@@ -0,0 +1,147 @@+{-# 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.NetworkManager.Types.ConnectPeerSummary+-- 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.NetworkManager.Types.ConnectPeerSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.ConnectPeerState+import Amazonka.NetworkManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Summary description of a Connect peer.+--+-- /See:/ 'newConnectPeerSummary' smart constructor.+data ConnectPeerSummary = ConnectPeerSummary'+  { -- | The ID of a Connect peer attachment.+    connectAttachmentId :: Prelude.Maybe Prelude.Text,+    -- | The ID of a Connect peer.+    connectPeerId :: Prelude.Maybe Prelude.Text,+    -- | The state of a Connect peer.+    connectPeerState :: Prelude.Maybe ConnectPeerState,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The timestamp when a Connect peer was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The Region where the edge is located.+    edgeLocation :: Prelude.Maybe Prelude.Text,+    -- | The list of key-value tags associated with the Connect peer summary.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectPeerSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectAttachmentId', 'connectPeerSummary_connectAttachmentId' - The ID of a Connect peer attachment.+--+-- 'connectPeerId', 'connectPeerSummary_connectPeerId' - The ID of a Connect peer.+--+-- 'connectPeerState', 'connectPeerSummary_connectPeerState' - The state of a Connect peer.+--+-- 'coreNetworkId', 'connectPeerSummary_coreNetworkId' - The ID of a core network.+--+-- 'createdAt', 'connectPeerSummary_createdAt' - The timestamp when a Connect peer was created.+--+-- 'edgeLocation', 'connectPeerSummary_edgeLocation' - The Region where the edge is located.+--+-- 'tags', 'connectPeerSummary_tags' - The list of key-value tags associated with the Connect peer summary.+newConnectPeerSummary ::+  ConnectPeerSummary+newConnectPeerSummary =+  ConnectPeerSummary'+    { connectAttachmentId =+        Prelude.Nothing,+      connectPeerId = Prelude.Nothing,+      connectPeerState = Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      edgeLocation = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The ID of a Connect peer attachment.+connectPeerSummary_connectAttachmentId :: Lens.Lens' ConnectPeerSummary (Prelude.Maybe Prelude.Text)+connectPeerSummary_connectAttachmentId = Lens.lens (\ConnectPeerSummary' {connectAttachmentId} -> connectAttachmentId) (\s@ConnectPeerSummary' {} a -> s {connectAttachmentId = a} :: ConnectPeerSummary)++-- | The ID of a Connect peer.+connectPeerSummary_connectPeerId :: Lens.Lens' ConnectPeerSummary (Prelude.Maybe Prelude.Text)+connectPeerSummary_connectPeerId = Lens.lens (\ConnectPeerSummary' {connectPeerId} -> connectPeerId) (\s@ConnectPeerSummary' {} a -> s {connectPeerId = a} :: ConnectPeerSummary)++-- | The state of a Connect peer.+connectPeerSummary_connectPeerState :: Lens.Lens' ConnectPeerSummary (Prelude.Maybe ConnectPeerState)+connectPeerSummary_connectPeerState = Lens.lens (\ConnectPeerSummary' {connectPeerState} -> connectPeerState) (\s@ConnectPeerSummary' {} a -> s {connectPeerState = a} :: ConnectPeerSummary)++-- | The ID of a core network.+connectPeerSummary_coreNetworkId :: Lens.Lens' ConnectPeerSummary (Prelude.Maybe Prelude.Text)+connectPeerSummary_coreNetworkId = Lens.lens (\ConnectPeerSummary' {coreNetworkId} -> coreNetworkId) (\s@ConnectPeerSummary' {} a -> s {coreNetworkId = a} :: ConnectPeerSummary)++-- | The timestamp when a Connect peer was created.+connectPeerSummary_createdAt :: Lens.Lens' ConnectPeerSummary (Prelude.Maybe Prelude.UTCTime)+connectPeerSummary_createdAt = Lens.lens (\ConnectPeerSummary' {createdAt} -> createdAt) (\s@ConnectPeerSummary' {} a -> s {createdAt = a} :: ConnectPeerSummary) Prelude.. Lens.mapping Data._Time++-- | The Region where the edge is located.+connectPeerSummary_edgeLocation :: Lens.Lens' ConnectPeerSummary (Prelude.Maybe Prelude.Text)+connectPeerSummary_edgeLocation = Lens.lens (\ConnectPeerSummary' {edgeLocation} -> edgeLocation) (\s@ConnectPeerSummary' {} a -> s {edgeLocation = a} :: ConnectPeerSummary)++-- | The list of key-value tags associated with the Connect peer summary.+connectPeerSummary_tags :: Lens.Lens' ConnectPeerSummary (Prelude.Maybe [Tag])+connectPeerSummary_tags = Lens.lens (\ConnectPeerSummary' {tags} -> tags) (\s@ConnectPeerSummary' {} a -> s {tags = a} :: ConnectPeerSummary) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ConnectPeerSummary where+  parseJSON =+    Data.withObject+      "ConnectPeerSummary"+      ( \x ->+          ConnectPeerSummary'+            Prelude.<$> (x Data..:? "ConnectAttachmentId")+            Prelude.<*> (x Data..:? "ConnectPeerId")+            Prelude.<*> (x Data..:? "ConnectPeerState")+            Prelude.<*> (x Data..:? "CoreNetworkId")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "EdgeLocation")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable ConnectPeerSummary where+  hashWithSalt _salt ConnectPeerSummary' {..} =+    _salt+      `Prelude.hashWithSalt` connectAttachmentId+      `Prelude.hashWithSalt` connectPeerId+      `Prelude.hashWithSalt` connectPeerState+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` edgeLocation+      `Prelude.hashWithSalt` tags++instance Prelude.NFData ConnectPeerSummary where+  rnf ConnectPeerSummary' {..} =+    Prelude.rnf connectAttachmentId+      `Prelude.seq` Prelude.rnf connectPeerId+      `Prelude.seq` Prelude.rnf connectPeerState+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf edgeLocation+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/NetworkManager/Types/Connection.hs view
@@ -0,0 +1,194 @@+{-# 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.NetworkManager.Types.Connection+-- 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.NetworkManager.Types.Connection where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.ConnectionState+import Amazonka.NetworkManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Describes a connection.+--+-- /See:/ 'newConnection' smart constructor.+data Connection = Connection'+  { -- | The ID of the second device in the connection.+    connectedDeviceId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the link for the second device in the connection.+    connectedLinkId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the connection.+    connectionArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the connection.+    connectionId :: Prelude.Maybe Prelude.Text,+    -- | The date and time that the connection was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The description of the connection.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the first device in the connection.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the link for the first device in the connection.+    linkId :: Prelude.Maybe Prelude.Text,+    -- | The state of the connection.+    state :: Prelude.Maybe ConnectionState,+    -- | The tags for the connection.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Connection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectedDeviceId', 'connection_connectedDeviceId' - The ID of the second device in the connection.+--+-- 'connectedLinkId', 'connection_connectedLinkId' - The ID of the link for the second device in the connection.+--+-- 'connectionArn', 'connection_connectionArn' - The Amazon Resource Name (ARN) of the connection.+--+-- 'connectionId', 'connection_connectionId' - The ID of the connection.+--+-- 'createdAt', 'connection_createdAt' - The date and time that the connection was created.+--+-- 'description', 'connection_description' - The description of the connection.+--+-- 'deviceId', 'connection_deviceId' - The ID of the first device in the connection.+--+-- 'globalNetworkId', 'connection_globalNetworkId' - The ID of the global network.+--+-- 'linkId', 'connection_linkId' - The ID of the link for the first device in the connection.+--+-- 'state', 'connection_state' - The state of the connection.+--+-- 'tags', 'connection_tags' - The tags for the connection.+newConnection ::+  Connection+newConnection =+  Connection'+    { connectedDeviceId = Prelude.Nothing,+      connectedLinkId = Prelude.Nothing,+      connectionArn = Prelude.Nothing,+      connectionId = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      description = Prelude.Nothing,+      deviceId = Prelude.Nothing,+      globalNetworkId = Prelude.Nothing,+      linkId = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The ID of the second device in the connection.+connection_connectedDeviceId :: Lens.Lens' Connection (Prelude.Maybe Prelude.Text)+connection_connectedDeviceId = Lens.lens (\Connection' {connectedDeviceId} -> connectedDeviceId) (\s@Connection' {} a -> s {connectedDeviceId = a} :: Connection)++-- | The ID of the link for the second device in the connection.+connection_connectedLinkId :: Lens.Lens' Connection (Prelude.Maybe Prelude.Text)+connection_connectedLinkId = Lens.lens (\Connection' {connectedLinkId} -> connectedLinkId) (\s@Connection' {} a -> s {connectedLinkId = a} :: Connection)++-- | The Amazon Resource Name (ARN) of the connection.+connection_connectionArn :: Lens.Lens' Connection (Prelude.Maybe Prelude.Text)+connection_connectionArn = Lens.lens (\Connection' {connectionArn} -> connectionArn) (\s@Connection' {} a -> s {connectionArn = a} :: Connection)++-- | The ID of the connection.+connection_connectionId :: Lens.Lens' Connection (Prelude.Maybe Prelude.Text)+connection_connectionId = Lens.lens (\Connection' {connectionId} -> connectionId) (\s@Connection' {} a -> s {connectionId = a} :: Connection)++-- | The date and time that the connection was created.+connection_createdAt :: Lens.Lens' Connection (Prelude.Maybe Prelude.UTCTime)+connection_createdAt = Lens.lens (\Connection' {createdAt} -> createdAt) (\s@Connection' {} a -> s {createdAt = a} :: Connection) Prelude.. Lens.mapping Data._Time++-- | The description of the connection.+connection_description :: Lens.Lens' Connection (Prelude.Maybe Prelude.Text)+connection_description = Lens.lens (\Connection' {description} -> description) (\s@Connection' {} a -> s {description = a} :: Connection)++-- | The ID of the first device in the connection.+connection_deviceId :: Lens.Lens' Connection (Prelude.Maybe Prelude.Text)+connection_deviceId = Lens.lens (\Connection' {deviceId} -> deviceId) (\s@Connection' {} a -> s {deviceId = a} :: Connection)++-- | The ID of the global network.+connection_globalNetworkId :: Lens.Lens' Connection (Prelude.Maybe Prelude.Text)+connection_globalNetworkId = Lens.lens (\Connection' {globalNetworkId} -> globalNetworkId) (\s@Connection' {} a -> s {globalNetworkId = a} :: Connection)++-- | The ID of the link for the first device in the connection.+connection_linkId :: Lens.Lens' Connection (Prelude.Maybe Prelude.Text)+connection_linkId = Lens.lens (\Connection' {linkId} -> linkId) (\s@Connection' {} a -> s {linkId = a} :: Connection)++-- | The state of the connection.+connection_state :: Lens.Lens' Connection (Prelude.Maybe ConnectionState)+connection_state = Lens.lens (\Connection' {state} -> state) (\s@Connection' {} a -> s {state = a} :: Connection)++-- | The tags for the connection.+connection_tags :: Lens.Lens' Connection (Prelude.Maybe [Tag])+connection_tags = Lens.lens (\Connection' {tags} -> tags) (\s@Connection' {} a -> s {tags = a} :: Connection) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Connection where+  parseJSON =+    Data.withObject+      "Connection"+      ( \x ->+          Connection'+            Prelude.<$> (x Data..:? "ConnectedDeviceId")+            Prelude.<*> (x Data..:? "ConnectedLinkId")+            Prelude.<*> (x Data..:? "ConnectionArn")+            Prelude.<*> (x Data..:? "ConnectionId")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "DeviceId")+            Prelude.<*> (x Data..:? "GlobalNetworkId")+            Prelude.<*> (x Data..:? "LinkId")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable Connection where+  hashWithSalt _salt Connection' {..} =+    _salt+      `Prelude.hashWithSalt` connectedDeviceId+      `Prelude.hashWithSalt` connectedLinkId+      `Prelude.hashWithSalt` connectionArn+      `Prelude.hashWithSalt` connectionId+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` linkId+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags++instance Prelude.NFData Connection where+  rnf Connection' {..} =+    Prelude.rnf connectedDeviceId+      `Prelude.seq` Prelude.rnf connectedLinkId+      `Prelude.seq` Prelude.rnf connectionArn+      `Prelude.seq` Prelude.rnf connectionId+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf linkId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/NetworkManager/Types/ConnectionHealth.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.ConnectionHealth+-- 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.NetworkManager.Types.ConnectionHealth where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.ConnectionStatus+import Amazonka.NetworkManager.Types.ConnectionType+import qualified Amazonka.Prelude as Prelude++-- | Describes connection health.+--+-- /See:/ 'newConnectionHealth' smart constructor.+data ConnectionHealth = ConnectionHealth'+  { -- | The connection status.+    status :: Prelude.Maybe ConnectionStatus,+    -- | The time the status was last updated.+    timestamp :: Prelude.Maybe Data.POSIX,+    -- | The connection type.+    type' :: Prelude.Maybe ConnectionType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConnectionHealth' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'connectionHealth_status' - The connection status.+--+-- 'timestamp', 'connectionHealth_timestamp' - The time the status was last updated.+--+-- 'type'', 'connectionHealth_type' - The connection type.+newConnectionHealth ::+  ConnectionHealth+newConnectionHealth =+  ConnectionHealth'+    { status = Prelude.Nothing,+      timestamp = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The connection status.+connectionHealth_status :: Lens.Lens' ConnectionHealth (Prelude.Maybe ConnectionStatus)+connectionHealth_status = Lens.lens (\ConnectionHealth' {status} -> status) (\s@ConnectionHealth' {} a -> s {status = a} :: ConnectionHealth)++-- | The time the status was last updated.+connectionHealth_timestamp :: Lens.Lens' ConnectionHealth (Prelude.Maybe Prelude.UTCTime)+connectionHealth_timestamp = Lens.lens (\ConnectionHealth' {timestamp} -> timestamp) (\s@ConnectionHealth' {} a -> s {timestamp = a} :: ConnectionHealth) Prelude.. Lens.mapping Data._Time++-- | The connection type.+connectionHealth_type :: Lens.Lens' ConnectionHealth (Prelude.Maybe ConnectionType)+connectionHealth_type = Lens.lens (\ConnectionHealth' {type'} -> type') (\s@ConnectionHealth' {} a -> s {type' = a} :: ConnectionHealth)++instance Data.FromJSON ConnectionHealth where+  parseJSON =+    Data.withObject+      "ConnectionHealth"+      ( \x ->+          ConnectionHealth'+            Prelude.<$> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "Timestamp")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable ConnectionHealth where+  hashWithSalt _salt ConnectionHealth' {..} =+    _salt+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` timestamp+      `Prelude.hashWithSalt` type'++instance Prelude.NFData ConnectionHealth where+  rnf ConnectionHealth' {..} =+    Prelude.rnf status+      `Prelude.seq` Prelude.rnf timestamp+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/NetworkManager/Types/ConnectionState.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.NetworkManager.Types.ConnectionState+-- 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.NetworkManager.Types.ConnectionState+  ( ConnectionState+      ( ..,+        ConnectionState_AVAILABLE,+        ConnectionState_DELETING,+        ConnectionState_PENDING,+        ConnectionState_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConnectionState = ConnectionState'+  { fromConnectionState ::+      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 ConnectionState_AVAILABLE :: ConnectionState+pattern ConnectionState_AVAILABLE = ConnectionState' "AVAILABLE"++pattern ConnectionState_DELETING :: ConnectionState+pattern ConnectionState_DELETING = ConnectionState' "DELETING"++pattern ConnectionState_PENDING :: ConnectionState+pattern ConnectionState_PENDING = ConnectionState' "PENDING"++pattern ConnectionState_UPDATING :: ConnectionState+pattern ConnectionState_UPDATING = ConnectionState' "UPDATING"++{-# COMPLETE+  ConnectionState_AVAILABLE,+  ConnectionState_DELETING,+  ConnectionState_PENDING,+  ConnectionState_UPDATING,+  ConnectionState'+  #-}
+ gen/Amazonka/NetworkManager/Types/ConnectionStatus.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.NetworkManager.Types.ConnectionStatus+-- 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.NetworkManager.Types.ConnectionStatus+  ( ConnectionStatus+      ( ..,+        ConnectionStatus_DOWN,+        ConnectionStatus_UP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConnectionStatus = ConnectionStatus'+  { fromConnectionStatus ::+      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 ConnectionStatus_DOWN :: ConnectionStatus+pattern ConnectionStatus_DOWN = ConnectionStatus' "DOWN"++pattern ConnectionStatus_UP :: ConnectionStatus+pattern ConnectionStatus_UP = ConnectionStatus' "UP"++{-# COMPLETE+  ConnectionStatus_DOWN,+  ConnectionStatus_UP,+  ConnectionStatus'+  #-}
+ gen/Amazonka/NetworkManager/Types/ConnectionType.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.NetworkManager.Types.ConnectionType+-- 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.NetworkManager.Types.ConnectionType+  ( ConnectionType+      ( ..,+        ConnectionType_BGP,+        ConnectionType_IPSEC+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConnectionType = ConnectionType'+  { fromConnectionType ::+      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 ConnectionType_BGP :: ConnectionType+pattern ConnectionType_BGP = ConnectionType' "BGP"++pattern ConnectionType_IPSEC :: ConnectionType+pattern ConnectionType_IPSEC = ConnectionType' "IPSEC"++{-# COMPLETE+  ConnectionType_BGP,+  ConnectionType_IPSEC,+  ConnectionType'+  #-}
+ gen/Amazonka/NetworkManager/Types/CoreNetwork.hs view
@@ -0,0 +1,172 @@+{-# 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.NetworkManager.Types.CoreNetwork+-- 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.NetworkManager.Types.CoreNetwork where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.CoreNetworkEdge+import Amazonka.NetworkManager.Types.CoreNetworkSegment+import Amazonka.NetworkManager.Types.CoreNetworkState+import Amazonka.NetworkManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Describes a core network.+--+-- /See:/ 'newCoreNetwork' smart constructor.+data CoreNetwork = CoreNetwork'+  { -- | The ARN of a core network.+    coreNetworkArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The timestamp when a core network was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The description of a core network.+    description :: Prelude.Maybe Prelude.Text,+    -- | The edges within a core network.+    edges :: Prelude.Maybe [CoreNetworkEdge],+    -- | The ID of the global network that your core network is a part of.+    globalNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The segments within a core network.+    segments :: Prelude.Maybe [CoreNetworkSegment],+    -- | The current state of a core network.+    state :: Prelude.Maybe CoreNetworkState,+    -- | The list of key-value tags associated with a core network.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CoreNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkArn', 'coreNetwork_coreNetworkArn' - The ARN of a core network.+--+-- 'coreNetworkId', 'coreNetwork_coreNetworkId' - The ID of a core network.+--+-- 'createdAt', 'coreNetwork_createdAt' - The timestamp when a core network was created.+--+-- 'description', 'coreNetwork_description' - The description of a core network.+--+-- 'edges', 'coreNetwork_edges' - The edges within a core network.+--+-- 'globalNetworkId', 'coreNetwork_globalNetworkId' - The ID of the global network that your core network is a part of.+--+-- 'segments', 'coreNetwork_segments' - The segments within a core network.+--+-- 'state', 'coreNetwork_state' - The current state of a core network.+--+-- 'tags', 'coreNetwork_tags' - The list of key-value tags associated with a core network.+newCoreNetwork ::+  CoreNetwork+newCoreNetwork =+  CoreNetwork'+    { coreNetworkArn = Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      description = Prelude.Nothing,+      edges = Prelude.Nothing,+      globalNetworkId = Prelude.Nothing,+      segments = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The ARN of a core network.+coreNetwork_coreNetworkArn :: Lens.Lens' CoreNetwork (Prelude.Maybe Prelude.Text)+coreNetwork_coreNetworkArn = Lens.lens (\CoreNetwork' {coreNetworkArn} -> coreNetworkArn) (\s@CoreNetwork' {} a -> s {coreNetworkArn = a} :: CoreNetwork)++-- | The ID of a core network.+coreNetwork_coreNetworkId :: Lens.Lens' CoreNetwork (Prelude.Maybe Prelude.Text)+coreNetwork_coreNetworkId = Lens.lens (\CoreNetwork' {coreNetworkId} -> coreNetworkId) (\s@CoreNetwork' {} a -> s {coreNetworkId = a} :: CoreNetwork)++-- | The timestamp when a core network was created.+coreNetwork_createdAt :: Lens.Lens' CoreNetwork (Prelude.Maybe Prelude.UTCTime)+coreNetwork_createdAt = Lens.lens (\CoreNetwork' {createdAt} -> createdAt) (\s@CoreNetwork' {} a -> s {createdAt = a} :: CoreNetwork) Prelude.. Lens.mapping Data._Time++-- | The description of a core network.+coreNetwork_description :: Lens.Lens' CoreNetwork (Prelude.Maybe Prelude.Text)+coreNetwork_description = Lens.lens (\CoreNetwork' {description} -> description) (\s@CoreNetwork' {} a -> s {description = a} :: CoreNetwork)++-- | The edges within a core network.+coreNetwork_edges :: Lens.Lens' CoreNetwork (Prelude.Maybe [CoreNetworkEdge])+coreNetwork_edges = Lens.lens (\CoreNetwork' {edges} -> edges) (\s@CoreNetwork' {} a -> s {edges = a} :: CoreNetwork) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the global network that your core network is a part of.+coreNetwork_globalNetworkId :: Lens.Lens' CoreNetwork (Prelude.Maybe Prelude.Text)+coreNetwork_globalNetworkId = Lens.lens (\CoreNetwork' {globalNetworkId} -> globalNetworkId) (\s@CoreNetwork' {} a -> s {globalNetworkId = a} :: CoreNetwork)++-- | The segments within a core network.+coreNetwork_segments :: Lens.Lens' CoreNetwork (Prelude.Maybe [CoreNetworkSegment])+coreNetwork_segments = Lens.lens (\CoreNetwork' {segments} -> segments) (\s@CoreNetwork' {} a -> s {segments = a} :: CoreNetwork) Prelude.. Lens.mapping Lens.coerced++-- | The current state of a core network.+coreNetwork_state :: Lens.Lens' CoreNetwork (Prelude.Maybe CoreNetworkState)+coreNetwork_state = Lens.lens (\CoreNetwork' {state} -> state) (\s@CoreNetwork' {} a -> s {state = a} :: CoreNetwork)++-- | The list of key-value tags associated with a core network.+coreNetwork_tags :: Lens.Lens' CoreNetwork (Prelude.Maybe [Tag])+coreNetwork_tags = Lens.lens (\CoreNetwork' {tags} -> tags) (\s@CoreNetwork' {} a -> s {tags = a} :: CoreNetwork) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON CoreNetwork where+  parseJSON =+    Data.withObject+      "CoreNetwork"+      ( \x ->+          CoreNetwork'+            Prelude.<$> (x Data..:? "CoreNetworkArn")+            Prelude.<*> (x Data..:? "CoreNetworkId")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "Edges" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "GlobalNetworkId")+            Prelude.<*> (x Data..:? "Segments" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable CoreNetwork where+  hashWithSalt _salt CoreNetwork' {..} =+    _salt+      `Prelude.hashWithSalt` coreNetworkArn+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` edges+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` segments+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags++instance Prelude.NFData CoreNetwork where+  rnf CoreNetwork' {..} =+    Prelude.rnf coreNetworkArn+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf edges+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf segments+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/NetworkManager/Types/CoreNetworkChange.hs view
@@ -0,0 +1,141 @@+{-# 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.NetworkManager.Types.CoreNetworkChange+-- 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.NetworkManager.Types.CoreNetworkChange where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.ChangeAction+import Amazonka.NetworkManager.Types.ChangeType+import Amazonka.NetworkManager.Types.CoreNetworkChangeValues+import qualified Amazonka.Prelude as Prelude++-- | Details describing a core network change.+--+-- /See:/ 'newCoreNetworkChange' smart constructor.+data CoreNetworkChange = CoreNetworkChange'+  { -- | The action to take for a core network.+    action :: Prelude.Maybe ChangeAction,+    -- | The resource identifier.+    identifier :: Prelude.Maybe Prelude.Text,+    -- | Uniquely identifies the path for a change within the changeset. For+    -- example, the @IdentifierPath@ for a core network segment change might be+    -- @\"CORE_NETWORK_SEGMENT\/us-east-1\/devsegment\"@.+    identifierPath :: Prelude.Maybe Prelude.Text,+    -- | The new value for a core network+    newValues' :: Prelude.Maybe CoreNetworkChangeValues,+    -- | The previous values for a core network.+    previousValues :: Prelude.Maybe CoreNetworkChangeValues,+    -- | The type of change.+    type' :: Prelude.Maybe ChangeType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CoreNetworkChange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'coreNetworkChange_action' - The action to take for a core network.+--+-- 'identifier', 'coreNetworkChange_identifier' - The resource identifier.+--+-- 'identifierPath', 'coreNetworkChange_identifierPath' - Uniquely identifies the path for a change within the changeset. For+-- example, the @IdentifierPath@ for a core network segment change might be+-- @\"CORE_NETWORK_SEGMENT\/us-east-1\/devsegment\"@.+--+-- 'newValues'', 'coreNetworkChange_newValues' - The new value for a core network+--+-- 'previousValues', 'coreNetworkChange_previousValues' - The previous values for a core network.+--+-- 'type'', 'coreNetworkChange_type' - The type of change.+newCoreNetworkChange ::+  CoreNetworkChange+newCoreNetworkChange =+  CoreNetworkChange'+    { action = Prelude.Nothing,+      identifier = Prelude.Nothing,+      identifierPath = Prelude.Nothing,+      newValues' = Prelude.Nothing,+      previousValues = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The action to take for a core network.+coreNetworkChange_action :: Lens.Lens' CoreNetworkChange (Prelude.Maybe ChangeAction)+coreNetworkChange_action = Lens.lens (\CoreNetworkChange' {action} -> action) (\s@CoreNetworkChange' {} a -> s {action = a} :: CoreNetworkChange)++-- | The resource identifier.+coreNetworkChange_identifier :: Lens.Lens' CoreNetworkChange (Prelude.Maybe Prelude.Text)+coreNetworkChange_identifier = Lens.lens (\CoreNetworkChange' {identifier} -> identifier) (\s@CoreNetworkChange' {} a -> s {identifier = a} :: CoreNetworkChange)++-- | Uniquely identifies the path for a change within the changeset. For+-- example, the @IdentifierPath@ for a core network segment change might be+-- @\"CORE_NETWORK_SEGMENT\/us-east-1\/devsegment\"@.+coreNetworkChange_identifierPath :: Lens.Lens' CoreNetworkChange (Prelude.Maybe Prelude.Text)+coreNetworkChange_identifierPath = Lens.lens (\CoreNetworkChange' {identifierPath} -> identifierPath) (\s@CoreNetworkChange' {} a -> s {identifierPath = a} :: CoreNetworkChange)++-- | The new value for a core network+coreNetworkChange_newValues :: Lens.Lens' CoreNetworkChange (Prelude.Maybe CoreNetworkChangeValues)+coreNetworkChange_newValues = Lens.lens (\CoreNetworkChange' {newValues'} -> newValues') (\s@CoreNetworkChange' {} a -> s {newValues' = a} :: CoreNetworkChange)++-- | The previous values for a core network.+coreNetworkChange_previousValues :: Lens.Lens' CoreNetworkChange (Prelude.Maybe CoreNetworkChangeValues)+coreNetworkChange_previousValues = Lens.lens (\CoreNetworkChange' {previousValues} -> previousValues) (\s@CoreNetworkChange' {} a -> s {previousValues = a} :: CoreNetworkChange)++-- | The type of change.+coreNetworkChange_type :: Lens.Lens' CoreNetworkChange (Prelude.Maybe ChangeType)+coreNetworkChange_type = Lens.lens (\CoreNetworkChange' {type'} -> type') (\s@CoreNetworkChange' {} a -> s {type' = a} :: CoreNetworkChange)++instance Data.FromJSON CoreNetworkChange where+  parseJSON =+    Data.withObject+      "CoreNetworkChange"+      ( \x ->+          CoreNetworkChange'+            Prelude.<$> (x Data..:? "Action")+            Prelude.<*> (x Data..:? "Identifier")+            Prelude.<*> (x Data..:? "IdentifierPath")+            Prelude.<*> (x Data..:? "NewValues")+            Prelude.<*> (x Data..:? "PreviousValues")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable CoreNetworkChange where+  hashWithSalt _salt CoreNetworkChange' {..} =+    _salt+      `Prelude.hashWithSalt` action+      `Prelude.hashWithSalt` identifier+      `Prelude.hashWithSalt` identifierPath+      `Prelude.hashWithSalt` newValues'+      `Prelude.hashWithSalt` previousValues+      `Prelude.hashWithSalt` type'++instance Prelude.NFData CoreNetworkChange where+  rnf CoreNetworkChange' {..} =+    Prelude.rnf action+      `Prelude.seq` Prelude.rnf identifier+      `Prelude.seq` Prelude.rnf identifierPath+      `Prelude.seq` Prelude.rnf newValues'+      `Prelude.seq` Prelude.rnf previousValues+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/NetworkManager/Types/CoreNetworkChangeEvent.hs view
@@ -0,0 +1,143 @@+{-# 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.NetworkManager.Types.CoreNetworkChangeEvent+-- 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.NetworkManager.Types.CoreNetworkChangeEvent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.ChangeAction+import Amazonka.NetworkManager.Types.ChangeStatus+import Amazonka.NetworkManager.Types.ChangeType+import Amazonka.NetworkManager.Types.CoreNetworkChangeEventValues+import qualified Amazonka.Prelude as Prelude++-- | Describes a core network change event. This can be a change to a+-- segment, attachment, route, etc.+--+-- /See:/ 'newCoreNetworkChangeEvent' smart constructor.+data CoreNetworkChangeEvent = CoreNetworkChangeEvent'+  { -- | The action taken for the change event.+    action :: Prelude.Maybe ChangeAction,+    -- | The timestamp for an event change in status.+    eventTime :: Prelude.Maybe Data.POSIX,+    -- | Uniquely identifies the path for a change within the changeset. For+    -- example, the @IdentifierPath@ for a core network segment change might be+    -- @\"CORE_NETWORK_SEGMENT\/us-east-1\/devsegment\"@.+    identifierPath :: Prelude.Maybe Prelude.Text,+    -- | The status of the core network change event.+    status :: Prelude.Maybe ChangeStatus,+    -- | Describes the type of change event.+    type' :: Prelude.Maybe ChangeType,+    -- | Details of the change event.+    values :: Prelude.Maybe CoreNetworkChangeEventValues+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CoreNetworkChangeEvent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'action', 'coreNetworkChangeEvent_action' - The action taken for the change event.+--+-- 'eventTime', 'coreNetworkChangeEvent_eventTime' - The timestamp for an event change in status.+--+-- 'identifierPath', 'coreNetworkChangeEvent_identifierPath' - Uniquely identifies the path for a change within the changeset. For+-- example, the @IdentifierPath@ for a core network segment change might be+-- @\"CORE_NETWORK_SEGMENT\/us-east-1\/devsegment\"@.+--+-- 'status', 'coreNetworkChangeEvent_status' - The status of the core network change event.+--+-- 'type'', 'coreNetworkChangeEvent_type' - Describes the type of change event.+--+-- 'values', 'coreNetworkChangeEvent_values' - Details of the change event.+newCoreNetworkChangeEvent ::+  CoreNetworkChangeEvent+newCoreNetworkChangeEvent =+  CoreNetworkChangeEvent'+    { action = Prelude.Nothing,+      eventTime = Prelude.Nothing,+      identifierPath = Prelude.Nothing,+      status = Prelude.Nothing,+      type' = Prelude.Nothing,+      values = Prelude.Nothing+    }++-- | The action taken for the change event.+coreNetworkChangeEvent_action :: Lens.Lens' CoreNetworkChangeEvent (Prelude.Maybe ChangeAction)+coreNetworkChangeEvent_action = Lens.lens (\CoreNetworkChangeEvent' {action} -> action) (\s@CoreNetworkChangeEvent' {} a -> s {action = a} :: CoreNetworkChangeEvent)++-- | The timestamp for an event change in status.+coreNetworkChangeEvent_eventTime :: Lens.Lens' CoreNetworkChangeEvent (Prelude.Maybe Prelude.UTCTime)+coreNetworkChangeEvent_eventTime = Lens.lens (\CoreNetworkChangeEvent' {eventTime} -> eventTime) (\s@CoreNetworkChangeEvent' {} a -> s {eventTime = a} :: CoreNetworkChangeEvent) Prelude.. Lens.mapping Data._Time++-- | Uniquely identifies the path for a change within the changeset. For+-- example, the @IdentifierPath@ for a core network segment change might be+-- @\"CORE_NETWORK_SEGMENT\/us-east-1\/devsegment\"@.+coreNetworkChangeEvent_identifierPath :: Lens.Lens' CoreNetworkChangeEvent (Prelude.Maybe Prelude.Text)+coreNetworkChangeEvent_identifierPath = Lens.lens (\CoreNetworkChangeEvent' {identifierPath} -> identifierPath) (\s@CoreNetworkChangeEvent' {} a -> s {identifierPath = a} :: CoreNetworkChangeEvent)++-- | The status of the core network change event.+coreNetworkChangeEvent_status :: Lens.Lens' CoreNetworkChangeEvent (Prelude.Maybe ChangeStatus)+coreNetworkChangeEvent_status = Lens.lens (\CoreNetworkChangeEvent' {status} -> status) (\s@CoreNetworkChangeEvent' {} a -> s {status = a} :: CoreNetworkChangeEvent)++-- | Describes the type of change event.+coreNetworkChangeEvent_type :: Lens.Lens' CoreNetworkChangeEvent (Prelude.Maybe ChangeType)+coreNetworkChangeEvent_type = Lens.lens (\CoreNetworkChangeEvent' {type'} -> type') (\s@CoreNetworkChangeEvent' {} a -> s {type' = a} :: CoreNetworkChangeEvent)++-- | Details of the change event.+coreNetworkChangeEvent_values :: Lens.Lens' CoreNetworkChangeEvent (Prelude.Maybe CoreNetworkChangeEventValues)+coreNetworkChangeEvent_values = Lens.lens (\CoreNetworkChangeEvent' {values} -> values) (\s@CoreNetworkChangeEvent' {} a -> s {values = a} :: CoreNetworkChangeEvent)++instance Data.FromJSON CoreNetworkChangeEvent where+  parseJSON =+    Data.withObject+      "CoreNetworkChangeEvent"+      ( \x ->+          CoreNetworkChangeEvent'+            Prelude.<$> (x Data..:? "Action")+            Prelude.<*> (x Data..:? "EventTime")+            Prelude.<*> (x Data..:? "IdentifierPath")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..:? "Values")+      )++instance Prelude.Hashable CoreNetworkChangeEvent where+  hashWithSalt _salt CoreNetworkChangeEvent' {..} =+    _salt+      `Prelude.hashWithSalt` action+      `Prelude.hashWithSalt` eventTime+      `Prelude.hashWithSalt` identifierPath+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` values++instance Prelude.NFData CoreNetworkChangeEvent where+  rnf CoreNetworkChangeEvent' {..} =+    Prelude.rnf action+      `Prelude.seq` Prelude.rnf eventTime+      `Prelude.seq` Prelude.rnf identifierPath+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf values
+ gen/Amazonka/NetworkManager/Types/CoreNetworkChangeEventValues.hs view
@@ -0,0 +1,115 @@+{-# 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.NetworkManager.Types.CoreNetworkChangeEventValues+-- 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.NetworkManager.Types.CoreNetworkChangeEventValues 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++-- | Describes a core network change event.+--+-- /See:/ 'newCoreNetworkChangeEventValues' smart constructor.+data CoreNetworkChangeEventValues = CoreNetworkChangeEventValues'+  { -- | The ID of the attachment if the change event is associated with an+    -- attachment.+    attachmentId :: Prelude.Maybe Prelude.Text,+    -- | For a @STATIC_ROUTE@ event, this is the IP address.+    cidr :: Prelude.Maybe Prelude.Text,+    -- | The edge location for the core network change event.+    edgeLocation :: Prelude.Maybe Prelude.Text,+    -- | The segment name if the change event is associated with a segment.+    segmentName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CoreNetworkChangeEventValues' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachmentId', 'coreNetworkChangeEventValues_attachmentId' - The ID of the attachment if the change event is associated with an+-- attachment.+--+-- 'cidr', 'coreNetworkChangeEventValues_cidr' - For a @STATIC_ROUTE@ event, this is the IP address.+--+-- 'edgeLocation', 'coreNetworkChangeEventValues_edgeLocation' - The edge location for the core network change event.+--+-- 'segmentName', 'coreNetworkChangeEventValues_segmentName' - The segment name if the change event is associated with a segment.+newCoreNetworkChangeEventValues ::+  CoreNetworkChangeEventValues+newCoreNetworkChangeEventValues =+  CoreNetworkChangeEventValues'+    { attachmentId =+        Prelude.Nothing,+      cidr = Prelude.Nothing,+      edgeLocation = Prelude.Nothing,+      segmentName = Prelude.Nothing+    }++-- | The ID of the attachment if the change event is associated with an+-- attachment.+coreNetworkChangeEventValues_attachmentId :: Lens.Lens' CoreNetworkChangeEventValues (Prelude.Maybe Prelude.Text)+coreNetworkChangeEventValues_attachmentId = Lens.lens (\CoreNetworkChangeEventValues' {attachmentId} -> attachmentId) (\s@CoreNetworkChangeEventValues' {} a -> s {attachmentId = a} :: CoreNetworkChangeEventValues)++-- | For a @STATIC_ROUTE@ event, this is the IP address.+coreNetworkChangeEventValues_cidr :: Lens.Lens' CoreNetworkChangeEventValues (Prelude.Maybe Prelude.Text)+coreNetworkChangeEventValues_cidr = Lens.lens (\CoreNetworkChangeEventValues' {cidr} -> cidr) (\s@CoreNetworkChangeEventValues' {} a -> s {cidr = a} :: CoreNetworkChangeEventValues)++-- | The edge location for the core network change event.+coreNetworkChangeEventValues_edgeLocation :: Lens.Lens' CoreNetworkChangeEventValues (Prelude.Maybe Prelude.Text)+coreNetworkChangeEventValues_edgeLocation = Lens.lens (\CoreNetworkChangeEventValues' {edgeLocation} -> edgeLocation) (\s@CoreNetworkChangeEventValues' {} a -> s {edgeLocation = a} :: CoreNetworkChangeEventValues)++-- | The segment name if the change event is associated with a segment.+coreNetworkChangeEventValues_segmentName :: Lens.Lens' CoreNetworkChangeEventValues (Prelude.Maybe Prelude.Text)+coreNetworkChangeEventValues_segmentName = Lens.lens (\CoreNetworkChangeEventValues' {segmentName} -> segmentName) (\s@CoreNetworkChangeEventValues' {} a -> s {segmentName = a} :: CoreNetworkChangeEventValues)++instance Data.FromJSON CoreNetworkChangeEventValues where+  parseJSON =+    Data.withObject+      "CoreNetworkChangeEventValues"+      ( \x ->+          CoreNetworkChangeEventValues'+            Prelude.<$> (x Data..:? "AttachmentId")+            Prelude.<*> (x Data..:? "Cidr")+            Prelude.<*> (x Data..:? "EdgeLocation")+            Prelude.<*> (x Data..:? "SegmentName")+      )++instance+  Prelude.Hashable+    CoreNetworkChangeEventValues+  where+  hashWithSalt _salt CoreNetworkChangeEventValues' {..} =+    _salt+      `Prelude.hashWithSalt` attachmentId+      `Prelude.hashWithSalt` cidr+      `Prelude.hashWithSalt` edgeLocation+      `Prelude.hashWithSalt` segmentName++instance Prelude.NFData CoreNetworkChangeEventValues where+  rnf CoreNetworkChangeEventValues' {..} =+    Prelude.rnf attachmentId+      `Prelude.seq` Prelude.rnf cidr+      `Prelude.seq` Prelude.rnf edgeLocation+      `Prelude.seq` Prelude.rnf segmentName
+ gen/Amazonka/NetworkManager/Types/CoreNetworkChangeValues.hs view
@@ -0,0 +1,150 @@+{-# 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.NetworkManager.Types.CoreNetworkChangeValues+-- 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.NetworkManager.Types.CoreNetworkChangeValues 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++-- | Describes a core network change.+--+-- /See:/ 'newCoreNetworkChangeValues' smart constructor.+data CoreNetworkChangeValues = CoreNetworkChangeValues'+  { -- | The ASN of a core network.+    asn :: Prelude.Maybe Prelude.Integer,+    -- | The IP addresses used for a core network.+    cidr :: Prelude.Maybe Prelude.Text,+    -- | The ID of the destination.+    destinationIdentifier :: Prelude.Maybe Prelude.Text,+    -- | The Regions where edges are located in a core network.+    edgeLocations :: Prelude.Maybe [Prelude.Text],+    -- | The inside IP addresses used for core network change values.+    insideCidrBlocks :: Prelude.Maybe [Prelude.Text],+    -- | The names of the segments in a core network.+    segmentName :: Prelude.Maybe Prelude.Text,+    -- | The shared segments for a core network change value.+    sharedSegments :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CoreNetworkChangeValues' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'asn', 'coreNetworkChangeValues_asn' - The ASN of a core network.+--+-- 'cidr', 'coreNetworkChangeValues_cidr' - The IP addresses used for a core network.+--+-- 'destinationIdentifier', 'coreNetworkChangeValues_destinationIdentifier' - The ID of the destination.+--+-- 'edgeLocations', 'coreNetworkChangeValues_edgeLocations' - The Regions where edges are located in a core network.+--+-- 'insideCidrBlocks', 'coreNetworkChangeValues_insideCidrBlocks' - The inside IP addresses used for core network change values.+--+-- 'segmentName', 'coreNetworkChangeValues_segmentName' - The names of the segments in a core network.+--+-- 'sharedSegments', 'coreNetworkChangeValues_sharedSegments' - The shared segments for a core network change value.+newCoreNetworkChangeValues ::+  CoreNetworkChangeValues+newCoreNetworkChangeValues =+  CoreNetworkChangeValues'+    { asn = Prelude.Nothing,+      cidr = Prelude.Nothing,+      destinationIdentifier = Prelude.Nothing,+      edgeLocations = Prelude.Nothing,+      insideCidrBlocks = Prelude.Nothing,+      segmentName = Prelude.Nothing,+      sharedSegments = Prelude.Nothing+    }++-- | The ASN of a core network.+coreNetworkChangeValues_asn :: Lens.Lens' CoreNetworkChangeValues (Prelude.Maybe Prelude.Integer)+coreNetworkChangeValues_asn = Lens.lens (\CoreNetworkChangeValues' {asn} -> asn) (\s@CoreNetworkChangeValues' {} a -> s {asn = a} :: CoreNetworkChangeValues)++-- | The IP addresses used for a core network.+coreNetworkChangeValues_cidr :: Lens.Lens' CoreNetworkChangeValues (Prelude.Maybe Prelude.Text)+coreNetworkChangeValues_cidr = Lens.lens (\CoreNetworkChangeValues' {cidr} -> cidr) (\s@CoreNetworkChangeValues' {} a -> s {cidr = a} :: CoreNetworkChangeValues)++-- | The ID of the destination.+coreNetworkChangeValues_destinationIdentifier :: Lens.Lens' CoreNetworkChangeValues (Prelude.Maybe Prelude.Text)+coreNetworkChangeValues_destinationIdentifier = Lens.lens (\CoreNetworkChangeValues' {destinationIdentifier} -> destinationIdentifier) (\s@CoreNetworkChangeValues' {} a -> s {destinationIdentifier = a} :: CoreNetworkChangeValues)++-- | The Regions where edges are located in a core network.+coreNetworkChangeValues_edgeLocations :: Lens.Lens' CoreNetworkChangeValues (Prelude.Maybe [Prelude.Text])+coreNetworkChangeValues_edgeLocations = Lens.lens (\CoreNetworkChangeValues' {edgeLocations} -> edgeLocations) (\s@CoreNetworkChangeValues' {} a -> s {edgeLocations = a} :: CoreNetworkChangeValues) Prelude.. Lens.mapping Lens.coerced++-- | The inside IP addresses used for core network change values.+coreNetworkChangeValues_insideCidrBlocks :: Lens.Lens' CoreNetworkChangeValues (Prelude.Maybe [Prelude.Text])+coreNetworkChangeValues_insideCidrBlocks = Lens.lens (\CoreNetworkChangeValues' {insideCidrBlocks} -> insideCidrBlocks) (\s@CoreNetworkChangeValues' {} a -> s {insideCidrBlocks = a} :: CoreNetworkChangeValues) Prelude.. Lens.mapping Lens.coerced++-- | The names of the segments in a core network.+coreNetworkChangeValues_segmentName :: Lens.Lens' CoreNetworkChangeValues (Prelude.Maybe Prelude.Text)+coreNetworkChangeValues_segmentName = Lens.lens (\CoreNetworkChangeValues' {segmentName} -> segmentName) (\s@CoreNetworkChangeValues' {} a -> s {segmentName = a} :: CoreNetworkChangeValues)++-- | The shared segments for a core network change value.+coreNetworkChangeValues_sharedSegments :: Lens.Lens' CoreNetworkChangeValues (Prelude.Maybe [Prelude.Text])+coreNetworkChangeValues_sharedSegments = Lens.lens (\CoreNetworkChangeValues' {sharedSegments} -> sharedSegments) (\s@CoreNetworkChangeValues' {} a -> s {sharedSegments = a} :: CoreNetworkChangeValues) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON CoreNetworkChangeValues where+  parseJSON =+    Data.withObject+      "CoreNetworkChangeValues"+      ( \x ->+          CoreNetworkChangeValues'+            Prelude.<$> (x Data..:? "Asn")+            Prelude.<*> (x Data..:? "Cidr")+            Prelude.<*> (x Data..:? "DestinationIdentifier")+            Prelude.<*> (x Data..:? "EdgeLocations" Data..!= Prelude.mempty)+            Prelude.<*> ( x+                            Data..:? "InsideCidrBlocks"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "SegmentName")+            Prelude.<*> ( x+                            Data..:? "SharedSegments"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable CoreNetworkChangeValues where+  hashWithSalt _salt CoreNetworkChangeValues' {..} =+    _salt+      `Prelude.hashWithSalt` asn+      `Prelude.hashWithSalt` cidr+      `Prelude.hashWithSalt` destinationIdentifier+      `Prelude.hashWithSalt` edgeLocations+      `Prelude.hashWithSalt` insideCidrBlocks+      `Prelude.hashWithSalt` segmentName+      `Prelude.hashWithSalt` sharedSegments++instance Prelude.NFData CoreNetworkChangeValues where+  rnf CoreNetworkChangeValues' {..} =+    Prelude.rnf asn+      `Prelude.seq` Prelude.rnf cidr+      `Prelude.seq` Prelude.rnf destinationIdentifier+      `Prelude.seq` Prelude.rnf edgeLocations+      `Prelude.seq` Prelude.rnf insideCidrBlocks+      `Prelude.seq` Prelude.rnf segmentName+      `Prelude.seq` Prelude.rnf sharedSegments
+ gen/Amazonka/NetworkManager/Types/CoreNetworkEdge.hs view
@@ -0,0 +1,99 @@+{-# 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.NetworkManager.Types.CoreNetworkEdge+-- 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.NetworkManager.Types.CoreNetworkEdge 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++-- | Describes a core network edge.+--+-- /See:/ 'newCoreNetworkEdge' smart constructor.+data CoreNetworkEdge = CoreNetworkEdge'+  { -- | The ASN of a core network edge.+    asn :: Prelude.Maybe Prelude.Integer,+    -- | The Region where a core network edge is located.+    edgeLocation :: Prelude.Maybe Prelude.Text,+    -- | The inside IP addresses used for core network edges.+    insideCidrBlocks :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CoreNetworkEdge' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'asn', 'coreNetworkEdge_asn' - The ASN of a core network edge.+--+-- 'edgeLocation', 'coreNetworkEdge_edgeLocation' - The Region where a core network edge is located.+--+-- 'insideCidrBlocks', 'coreNetworkEdge_insideCidrBlocks' - The inside IP addresses used for core network edges.+newCoreNetworkEdge ::+  CoreNetworkEdge+newCoreNetworkEdge =+  CoreNetworkEdge'+    { asn = Prelude.Nothing,+      edgeLocation = Prelude.Nothing,+      insideCidrBlocks = Prelude.Nothing+    }++-- | The ASN of a core network edge.+coreNetworkEdge_asn :: Lens.Lens' CoreNetworkEdge (Prelude.Maybe Prelude.Integer)+coreNetworkEdge_asn = Lens.lens (\CoreNetworkEdge' {asn} -> asn) (\s@CoreNetworkEdge' {} a -> s {asn = a} :: CoreNetworkEdge)++-- | The Region where a core network edge is located.+coreNetworkEdge_edgeLocation :: Lens.Lens' CoreNetworkEdge (Prelude.Maybe Prelude.Text)+coreNetworkEdge_edgeLocation = Lens.lens (\CoreNetworkEdge' {edgeLocation} -> edgeLocation) (\s@CoreNetworkEdge' {} a -> s {edgeLocation = a} :: CoreNetworkEdge)++-- | The inside IP addresses used for core network edges.+coreNetworkEdge_insideCidrBlocks :: Lens.Lens' CoreNetworkEdge (Prelude.Maybe [Prelude.Text])+coreNetworkEdge_insideCidrBlocks = Lens.lens (\CoreNetworkEdge' {insideCidrBlocks} -> insideCidrBlocks) (\s@CoreNetworkEdge' {} a -> s {insideCidrBlocks = a} :: CoreNetworkEdge) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON CoreNetworkEdge where+  parseJSON =+    Data.withObject+      "CoreNetworkEdge"+      ( \x ->+          CoreNetworkEdge'+            Prelude.<$> (x Data..:? "Asn")+            Prelude.<*> (x Data..:? "EdgeLocation")+            Prelude.<*> ( x+                            Data..:? "InsideCidrBlocks"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable CoreNetworkEdge where+  hashWithSalt _salt CoreNetworkEdge' {..} =+    _salt+      `Prelude.hashWithSalt` asn+      `Prelude.hashWithSalt` edgeLocation+      `Prelude.hashWithSalt` insideCidrBlocks++instance Prelude.NFData CoreNetworkEdge where+  rnf CoreNetworkEdge' {..} =+    Prelude.rnf asn+      `Prelude.seq` Prelude.rnf edgeLocation+      `Prelude.seq` Prelude.rnf insideCidrBlocks
+ gen/Amazonka/NetworkManager/Types/CoreNetworkPolicy.hs view
@@ -0,0 +1,162 @@+{-# 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.NetworkManager.Types.CoreNetworkPolicy+-- 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.NetworkManager.Types.CoreNetworkPolicy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.ChangeSetState+import Amazonka.NetworkManager.Types.CoreNetworkPolicyAlias+import Amazonka.NetworkManager.Types.CoreNetworkPolicyError+import qualified Amazonka.Prelude as Prelude++-- | Describes a core network policy. You can have only one LIVE Core Policy.+--+-- /See:/ 'newCoreNetworkPolicy' smart constructor.+data CoreNetworkPolicy = CoreNetworkPolicy'+  { -- | Whether a core network policy is the current LIVE policy or the most+    -- recently submitted policy.+    alias :: Prelude.Maybe CoreNetworkPolicyAlias,+    -- | The state of a core network policy.+    changeSetState :: Prelude.Maybe ChangeSetState,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The timestamp when a core network policy was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The description of a core network policy.+    description :: Prelude.Maybe Prelude.Text,+    -- | Describes a core network policy.+    policyDocument :: Prelude.Maybe Prelude.Text,+    -- | Describes any errors in a core network policy.+    policyErrors :: Prelude.Maybe [CoreNetworkPolicyError],+    -- | The ID of the policy version.+    policyVersionId :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CoreNetworkPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'coreNetworkPolicy_alias' - Whether a core network policy is the current LIVE policy or the most+-- recently submitted policy.+--+-- 'changeSetState', 'coreNetworkPolicy_changeSetState' - The state of a core network policy.+--+-- 'coreNetworkId', 'coreNetworkPolicy_coreNetworkId' - The ID of a core network.+--+-- 'createdAt', 'coreNetworkPolicy_createdAt' - The timestamp when a core network policy was created.+--+-- 'description', 'coreNetworkPolicy_description' - The description of a core network policy.+--+-- 'policyDocument', 'coreNetworkPolicy_policyDocument' - Describes a core network policy.+--+-- 'policyErrors', 'coreNetworkPolicy_policyErrors' - Describes any errors in a core network policy.+--+-- 'policyVersionId', 'coreNetworkPolicy_policyVersionId' - The ID of the policy version.+newCoreNetworkPolicy ::+  CoreNetworkPolicy+newCoreNetworkPolicy =+  CoreNetworkPolicy'+    { alias = Prelude.Nothing,+      changeSetState = Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      description = Prelude.Nothing,+      policyDocument = Prelude.Nothing,+      policyErrors = Prelude.Nothing,+      policyVersionId = Prelude.Nothing+    }++-- | Whether a core network policy is the current LIVE policy or the most+-- recently submitted policy.+coreNetworkPolicy_alias :: Lens.Lens' CoreNetworkPolicy (Prelude.Maybe CoreNetworkPolicyAlias)+coreNetworkPolicy_alias = Lens.lens (\CoreNetworkPolicy' {alias} -> alias) (\s@CoreNetworkPolicy' {} a -> s {alias = a} :: CoreNetworkPolicy)++-- | The state of a core network policy.+coreNetworkPolicy_changeSetState :: Lens.Lens' CoreNetworkPolicy (Prelude.Maybe ChangeSetState)+coreNetworkPolicy_changeSetState = Lens.lens (\CoreNetworkPolicy' {changeSetState} -> changeSetState) (\s@CoreNetworkPolicy' {} a -> s {changeSetState = a} :: CoreNetworkPolicy)++-- | The ID of a core network.+coreNetworkPolicy_coreNetworkId :: Lens.Lens' CoreNetworkPolicy (Prelude.Maybe Prelude.Text)+coreNetworkPolicy_coreNetworkId = Lens.lens (\CoreNetworkPolicy' {coreNetworkId} -> coreNetworkId) (\s@CoreNetworkPolicy' {} a -> s {coreNetworkId = a} :: CoreNetworkPolicy)++-- | The timestamp when a core network policy was created.+coreNetworkPolicy_createdAt :: Lens.Lens' CoreNetworkPolicy (Prelude.Maybe Prelude.UTCTime)+coreNetworkPolicy_createdAt = Lens.lens (\CoreNetworkPolicy' {createdAt} -> createdAt) (\s@CoreNetworkPolicy' {} a -> s {createdAt = a} :: CoreNetworkPolicy) Prelude.. Lens.mapping Data._Time++-- | The description of a core network policy.+coreNetworkPolicy_description :: Lens.Lens' CoreNetworkPolicy (Prelude.Maybe Prelude.Text)+coreNetworkPolicy_description = Lens.lens (\CoreNetworkPolicy' {description} -> description) (\s@CoreNetworkPolicy' {} a -> s {description = a} :: CoreNetworkPolicy)++-- | Describes a core network policy.+coreNetworkPolicy_policyDocument :: Lens.Lens' CoreNetworkPolicy (Prelude.Maybe Prelude.Text)+coreNetworkPolicy_policyDocument = Lens.lens (\CoreNetworkPolicy' {policyDocument} -> policyDocument) (\s@CoreNetworkPolicy' {} a -> s {policyDocument = a} :: CoreNetworkPolicy)++-- | Describes any errors in a core network policy.+coreNetworkPolicy_policyErrors :: Lens.Lens' CoreNetworkPolicy (Prelude.Maybe [CoreNetworkPolicyError])+coreNetworkPolicy_policyErrors = Lens.lens (\CoreNetworkPolicy' {policyErrors} -> policyErrors) (\s@CoreNetworkPolicy' {} a -> s {policyErrors = a} :: CoreNetworkPolicy) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the policy version.+coreNetworkPolicy_policyVersionId :: Lens.Lens' CoreNetworkPolicy (Prelude.Maybe Prelude.Int)+coreNetworkPolicy_policyVersionId = Lens.lens (\CoreNetworkPolicy' {policyVersionId} -> policyVersionId) (\s@CoreNetworkPolicy' {} a -> s {policyVersionId = a} :: CoreNetworkPolicy)++instance Data.FromJSON CoreNetworkPolicy where+  parseJSON =+    Data.withObject+      "CoreNetworkPolicy"+      ( \x ->+          CoreNetworkPolicy'+            Prelude.<$> (x Data..:? "Alias")+            Prelude.<*> (x Data..:? "ChangeSetState")+            Prelude.<*> (x Data..:? "CoreNetworkId")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "PolicyDocument")+            Prelude.<*> (x Data..:? "PolicyErrors" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "PolicyVersionId")+      )++instance Prelude.Hashable CoreNetworkPolicy where+  hashWithSalt _salt CoreNetworkPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` alias+      `Prelude.hashWithSalt` changeSetState+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` policyDocument+      `Prelude.hashWithSalt` policyErrors+      `Prelude.hashWithSalt` policyVersionId++instance Prelude.NFData CoreNetworkPolicy where+  rnf CoreNetworkPolicy' {..} =+    Prelude.rnf alias+      `Prelude.seq` Prelude.rnf changeSetState+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf policyDocument+      `Prelude.seq` Prelude.rnf policyErrors+      `Prelude.seq` Prelude.rnf policyVersionId
+ gen/Amazonka/NetworkManager/Types/CoreNetworkPolicyAlias.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.NetworkManager.Types.CoreNetworkPolicyAlias+-- 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.NetworkManager.Types.CoreNetworkPolicyAlias+  ( CoreNetworkPolicyAlias+      ( ..,+        CoreNetworkPolicyAlias_LATEST,+        CoreNetworkPolicyAlias_LIVE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CoreNetworkPolicyAlias = CoreNetworkPolicyAlias'+  { fromCoreNetworkPolicyAlias ::+      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 CoreNetworkPolicyAlias_LATEST :: CoreNetworkPolicyAlias+pattern CoreNetworkPolicyAlias_LATEST = CoreNetworkPolicyAlias' "LATEST"++pattern CoreNetworkPolicyAlias_LIVE :: CoreNetworkPolicyAlias+pattern CoreNetworkPolicyAlias_LIVE = CoreNetworkPolicyAlias' "LIVE"++{-# COMPLETE+  CoreNetworkPolicyAlias_LATEST,+  CoreNetworkPolicyAlias_LIVE,+  CoreNetworkPolicyAlias'+  #-}
+ gen/Amazonka/NetworkManager/Types/CoreNetworkPolicyError.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.CoreNetworkPolicyError+-- 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.NetworkManager.Types.CoreNetworkPolicyError 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 details about an error in a core network policy.+--+-- /See:/ 'newCoreNetworkPolicyError' smart constructor.+data CoreNetworkPolicyError = CoreNetworkPolicyError'+  { -- | The JSON path where the error was discovered in the policy document.+    path :: Prelude.Maybe Prelude.Text,+    -- | The error code associated with a core network policy error.+    errorCode :: Prelude.Text,+    -- | The message associated with a core network policy error code.+    message :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CoreNetworkPolicyError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'path', 'coreNetworkPolicyError_path' - The JSON path where the error was discovered in the policy document.+--+-- 'errorCode', 'coreNetworkPolicyError_errorCode' - The error code associated with a core network policy error.+--+-- 'message', 'coreNetworkPolicyError_message' - The message associated with a core network policy error code.+newCoreNetworkPolicyError ::+  -- | 'errorCode'+  Prelude.Text ->+  -- | 'message'+  Prelude.Text ->+  CoreNetworkPolicyError+newCoreNetworkPolicyError pErrorCode_ pMessage_ =+  CoreNetworkPolicyError'+    { path = Prelude.Nothing,+      errorCode = pErrorCode_,+      message = pMessage_+    }++-- | The JSON path where the error was discovered in the policy document.+coreNetworkPolicyError_path :: Lens.Lens' CoreNetworkPolicyError (Prelude.Maybe Prelude.Text)+coreNetworkPolicyError_path = Lens.lens (\CoreNetworkPolicyError' {path} -> path) (\s@CoreNetworkPolicyError' {} a -> s {path = a} :: CoreNetworkPolicyError)++-- | The error code associated with a core network policy error.+coreNetworkPolicyError_errorCode :: Lens.Lens' CoreNetworkPolicyError Prelude.Text+coreNetworkPolicyError_errorCode = Lens.lens (\CoreNetworkPolicyError' {errorCode} -> errorCode) (\s@CoreNetworkPolicyError' {} a -> s {errorCode = a} :: CoreNetworkPolicyError)++-- | The message associated with a core network policy error code.+coreNetworkPolicyError_message :: Lens.Lens' CoreNetworkPolicyError Prelude.Text+coreNetworkPolicyError_message = Lens.lens (\CoreNetworkPolicyError' {message} -> message) (\s@CoreNetworkPolicyError' {} a -> s {message = a} :: CoreNetworkPolicyError)++instance Data.FromJSON CoreNetworkPolicyError where+  parseJSON =+    Data.withObject+      "CoreNetworkPolicyError"+      ( \x ->+          CoreNetworkPolicyError'+            Prelude.<$> (x Data..:? "Path")+            Prelude.<*> (x Data..: "ErrorCode")+            Prelude.<*> (x Data..: "Message")+      )++instance Prelude.Hashable CoreNetworkPolicyError where+  hashWithSalt _salt CoreNetworkPolicyError' {..} =+    _salt+      `Prelude.hashWithSalt` path+      `Prelude.hashWithSalt` errorCode+      `Prelude.hashWithSalt` message++instance Prelude.NFData CoreNetworkPolicyError where+  rnf CoreNetworkPolicyError' {..} =+    Prelude.rnf path+      `Prelude.seq` Prelude.rnf errorCode+      `Prelude.seq` Prelude.rnf message
+ gen/Amazonka/NetworkManager/Types/CoreNetworkPolicyVersion.hs view
@@ -0,0 +1,137 @@+{-# 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.NetworkManager.Types.CoreNetworkPolicyVersion+-- 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.NetworkManager.Types.CoreNetworkPolicyVersion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.ChangeSetState+import Amazonka.NetworkManager.Types.CoreNetworkPolicyAlias+import qualified Amazonka.Prelude as Prelude++-- | Describes a core network policy version.+--+-- /See:/ 'newCoreNetworkPolicyVersion' smart constructor.+data CoreNetworkPolicyVersion = CoreNetworkPolicyVersion'+  { -- | Whether a core network policy is the current policy or the most recently+    -- submitted policy.+    alias :: Prelude.Maybe CoreNetworkPolicyAlias,+    -- | The status of the policy version change set.+    changeSetState :: Prelude.Maybe ChangeSetState,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The timestamp when a core network policy version was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The description of a core network policy version.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the policy version.+    policyVersionId :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CoreNetworkPolicyVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alias', 'coreNetworkPolicyVersion_alias' - Whether a core network policy is the current policy or the most recently+-- submitted policy.+--+-- 'changeSetState', 'coreNetworkPolicyVersion_changeSetState' - The status of the policy version change set.+--+-- 'coreNetworkId', 'coreNetworkPolicyVersion_coreNetworkId' - The ID of a core network.+--+-- 'createdAt', 'coreNetworkPolicyVersion_createdAt' - The timestamp when a core network policy version was created.+--+-- 'description', 'coreNetworkPolicyVersion_description' - The description of a core network policy version.+--+-- 'policyVersionId', 'coreNetworkPolicyVersion_policyVersionId' - The ID of the policy version.+newCoreNetworkPolicyVersion ::+  CoreNetworkPolicyVersion+newCoreNetworkPolicyVersion =+  CoreNetworkPolicyVersion'+    { alias = Prelude.Nothing,+      changeSetState = Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      description = Prelude.Nothing,+      policyVersionId = Prelude.Nothing+    }++-- | Whether a core network policy is the current policy or the most recently+-- submitted policy.+coreNetworkPolicyVersion_alias :: Lens.Lens' CoreNetworkPolicyVersion (Prelude.Maybe CoreNetworkPolicyAlias)+coreNetworkPolicyVersion_alias = Lens.lens (\CoreNetworkPolicyVersion' {alias} -> alias) (\s@CoreNetworkPolicyVersion' {} a -> s {alias = a} :: CoreNetworkPolicyVersion)++-- | The status of the policy version change set.+coreNetworkPolicyVersion_changeSetState :: Lens.Lens' CoreNetworkPolicyVersion (Prelude.Maybe ChangeSetState)+coreNetworkPolicyVersion_changeSetState = Lens.lens (\CoreNetworkPolicyVersion' {changeSetState} -> changeSetState) (\s@CoreNetworkPolicyVersion' {} a -> s {changeSetState = a} :: CoreNetworkPolicyVersion)++-- | The ID of a core network.+coreNetworkPolicyVersion_coreNetworkId :: Lens.Lens' CoreNetworkPolicyVersion (Prelude.Maybe Prelude.Text)+coreNetworkPolicyVersion_coreNetworkId = Lens.lens (\CoreNetworkPolicyVersion' {coreNetworkId} -> coreNetworkId) (\s@CoreNetworkPolicyVersion' {} a -> s {coreNetworkId = a} :: CoreNetworkPolicyVersion)++-- | The timestamp when a core network policy version was created.+coreNetworkPolicyVersion_createdAt :: Lens.Lens' CoreNetworkPolicyVersion (Prelude.Maybe Prelude.UTCTime)+coreNetworkPolicyVersion_createdAt = Lens.lens (\CoreNetworkPolicyVersion' {createdAt} -> createdAt) (\s@CoreNetworkPolicyVersion' {} a -> s {createdAt = a} :: CoreNetworkPolicyVersion) Prelude.. Lens.mapping Data._Time++-- | The description of a core network policy version.+coreNetworkPolicyVersion_description :: Lens.Lens' CoreNetworkPolicyVersion (Prelude.Maybe Prelude.Text)+coreNetworkPolicyVersion_description = Lens.lens (\CoreNetworkPolicyVersion' {description} -> description) (\s@CoreNetworkPolicyVersion' {} a -> s {description = a} :: CoreNetworkPolicyVersion)++-- | The ID of the policy version.+coreNetworkPolicyVersion_policyVersionId :: Lens.Lens' CoreNetworkPolicyVersion (Prelude.Maybe Prelude.Int)+coreNetworkPolicyVersion_policyVersionId = Lens.lens (\CoreNetworkPolicyVersion' {policyVersionId} -> policyVersionId) (\s@CoreNetworkPolicyVersion' {} a -> s {policyVersionId = a} :: CoreNetworkPolicyVersion)++instance Data.FromJSON CoreNetworkPolicyVersion where+  parseJSON =+    Data.withObject+      "CoreNetworkPolicyVersion"+      ( \x ->+          CoreNetworkPolicyVersion'+            Prelude.<$> (x Data..:? "Alias")+            Prelude.<*> (x Data..:? "ChangeSetState")+            Prelude.<*> (x Data..:? "CoreNetworkId")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "PolicyVersionId")+      )++instance Prelude.Hashable CoreNetworkPolicyVersion where+  hashWithSalt _salt CoreNetworkPolicyVersion' {..} =+    _salt+      `Prelude.hashWithSalt` alias+      `Prelude.hashWithSalt` changeSetState+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` policyVersionId++instance Prelude.NFData CoreNetworkPolicyVersion where+  rnf CoreNetworkPolicyVersion' {..} =+    Prelude.rnf alias+      `Prelude.seq` Prelude.rnf changeSetState+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf policyVersionId
+ gen/Amazonka/NetworkManager/Types/CoreNetworkSegment.hs view
@@ -0,0 +1,101 @@+{-# 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.NetworkManager.Types.CoreNetworkSegment+-- 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.NetworkManager.Types.CoreNetworkSegment 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++-- | Describes a core network segment, which are dedicated routes. Only+-- attachments within this segment can communicate with each other.+--+-- /See:/ 'newCoreNetworkSegment' smart constructor.+data CoreNetworkSegment = CoreNetworkSegment'+  { -- | The Regions where the edges are located.+    edgeLocations :: Prelude.Maybe [Prelude.Text],+    -- | The name of a core network segment.+    name :: Prelude.Maybe Prelude.Text,+    -- | The shared segments of a core network.+    sharedSegments :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CoreNetworkSegment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'edgeLocations', 'coreNetworkSegment_edgeLocations' - The Regions where the edges are located.+--+-- 'name', 'coreNetworkSegment_name' - The name of a core network segment.+--+-- 'sharedSegments', 'coreNetworkSegment_sharedSegments' - The shared segments of a core network.+newCoreNetworkSegment ::+  CoreNetworkSegment+newCoreNetworkSegment =+  CoreNetworkSegment'+    { edgeLocations =+        Prelude.Nothing,+      name = Prelude.Nothing,+      sharedSegments = Prelude.Nothing+    }++-- | The Regions where the edges are located.+coreNetworkSegment_edgeLocations :: Lens.Lens' CoreNetworkSegment (Prelude.Maybe [Prelude.Text])+coreNetworkSegment_edgeLocations = Lens.lens (\CoreNetworkSegment' {edgeLocations} -> edgeLocations) (\s@CoreNetworkSegment' {} a -> s {edgeLocations = a} :: CoreNetworkSegment) Prelude.. Lens.mapping Lens.coerced++-- | The name of a core network segment.+coreNetworkSegment_name :: Lens.Lens' CoreNetworkSegment (Prelude.Maybe Prelude.Text)+coreNetworkSegment_name = Lens.lens (\CoreNetworkSegment' {name} -> name) (\s@CoreNetworkSegment' {} a -> s {name = a} :: CoreNetworkSegment)++-- | The shared segments of a core network.+coreNetworkSegment_sharedSegments :: Lens.Lens' CoreNetworkSegment (Prelude.Maybe [Prelude.Text])+coreNetworkSegment_sharedSegments = Lens.lens (\CoreNetworkSegment' {sharedSegments} -> sharedSegments) (\s@CoreNetworkSegment' {} a -> s {sharedSegments = a} :: CoreNetworkSegment) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON CoreNetworkSegment where+  parseJSON =+    Data.withObject+      "CoreNetworkSegment"+      ( \x ->+          CoreNetworkSegment'+            Prelude.<$> (x Data..:? "EdgeLocations" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> ( x+                            Data..:? "SharedSegments"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable CoreNetworkSegment where+  hashWithSalt _salt CoreNetworkSegment' {..} =+    _salt+      `Prelude.hashWithSalt` edgeLocations+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` sharedSegments++instance Prelude.NFData CoreNetworkSegment where+  rnf CoreNetworkSegment' {..} =+    Prelude.rnf edgeLocations+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf sharedSegments
+ gen/Amazonka/NetworkManager/Types/CoreNetworkSegmentEdgeIdentifier.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.CoreNetworkSegmentEdgeIdentifier+-- 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.NetworkManager.Types.CoreNetworkSegmentEdgeIdentifier 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++-- | Returns details about a core network edge.+--+-- /See:/ 'newCoreNetworkSegmentEdgeIdentifier' smart constructor.+data CoreNetworkSegmentEdgeIdentifier = CoreNetworkSegmentEdgeIdentifier'+  { -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The Region where the segment edge is located.+    edgeLocation :: Prelude.Maybe Prelude.Text,+    -- | The name of the segment edge.+    segmentName :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CoreNetworkSegmentEdgeIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkId', 'coreNetworkSegmentEdgeIdentifier_coreNetworkId' - The ID of a core network.+--+-- 'edgeLocation', 'coreNetworkSegmentEdgeIdentifier_edgeLocation' - The Region where the segment edge is located.+--+-- 'segmentName', 'coreNetworkSegmentEdgeIdentifier_segmentName' - The name of the segment edge.+newCoreNetworkSegmentEdgeIdentifier ::+  CoreNetworkSegmentEdgeIdentifier+newCoreNetworkSegmentEdgeIdentifier =+  CoreNetworkSegmentEdgeIdentifier'+    { coreNetworkId =+        Prelude.Nothing,+      edgeLocation = Prelude.Nothing,+      segmentName = Prelude.Nothing+    }++-- | The ID of a core network.+coreNetworkSegmentEdgeIdentifier_coreNetworkId :: Lens.Lens' CoreNetworkSegmentEdgeIdentifier (Prelude.Maybe Prelude.Text)+coreNetworkSegmentEdgeIdentifier_coreNetworkId = Lens.lens (\CoreNetworkSegmentEdgeIdentifier' {coreNetworkId} -> coreNetworkId) (\s@CoreNetworkSegmentEdgeIdentifier' {} a -> s {coreNetworkId = a} :: CoreNetworkSegmentEdgeIdentifier)++-- | The Region where the segment edge is located.+coreNetworkSegmentEdgeIdentifier_edgeLocation :: Lens.Lens' CoreNetworkSegmentEdgeIdentifier (Prelude.Maybe Prelude.Text)+coreNetworkSegmentEdgeIdentifier_edgeLocation = Lens.lens (\CoreNetworkSegmentEdgeIdentifier' {edgeLocation} -> edgeLocation) (\s@CoreNetworkSegmentEdgeIdentifier' {} a -> s {edgeLocation = a} :: CoreNetworkSegmentEdgeIdentifier)++-- | The name of the segment edge.+coreNetworkSegmentEdgeIdentifier_segmentName :: Lens.Lens' CoreNetworkSegmentEdgeIdentifier (Prelude.Maybe Prelude.Text)+coreNetworkSegmentEdgeIdentifier_segmentName = Lens.lens (\CoreNetworkSegmentEdgeIdentifier' {segmentName} -> segmentName) (\s@CoreNetworkSegmentEdgeIdentifier' {} a -> s {segmentName = a} :: CoreNetworkSegmentEdgeIdentifier)++instance+  Data.FromJSON+    CoreNetworkSegmentEdgeIdentifier+  where+  parseJSON =+    Data.withObject+      "CoreNetworkSegmentEdgeIdentifier"+      ( \x ->+          CoreNetworkSegmentEdgeIdentifier'+            Prelude.<$> (x Data..:? "CoreNetworkId")+            Prelude.<*> (x Data..:? "EdgeLocation")+            Prelude.<*> (x Data..:? "SegmentName")+      )++instance+  Prelude.Hashable+    CoreNetworkSegmentEdgeIdentifier+  where+  hashWithSalt+    _salt+    CoreNetworkSegmentEdgeIdentifier' {..} =+      _salt+        `Prelude.hashWithSalt` coreNetworkId+        `Prelude.hashWithSalt` edgeLocation+        `Prelude.hashWithSalt` segmentName++instance+  Prelude.NFData+    CoreNetworkSegmentEdgeIdentifier+  where+  rnf CoreNetworkSegmentEdgeIdentifier' {..} =+    Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf edgeLocation+      `Prelude.seq` Prelude.rnf segmentName++instance Data.ToJSON CoreNetworkSegmentEdgeIdentifier where+  toJSON CoreNetworkSegmentEdgeIdentifier' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CoreNetworkId" Data..=) Prelude.<$> coreNetworkId,+            ("EdgeLocation" Data..=) Prelude.<$> edgeLocation,+            ("SegmentName" Data..=) Prelude.<$> segmentName+          ]+      )
+ gen/Amazonka/NetworkManager/Types/CoreNetworkState.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.NetworkManager.Types.CoreNetworkState+-- 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.NetworkManager.Types.CoreNetworkState+  ( CoreNetworkState+      ( ..,+        CoreNetworkState_AVAILABLE,+        CoreNetworkState_CREATING,+        CoreNetworkState_DELETING,+        CoreNetworkState_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CoreNetworkState = CoreNetworkState'+  { fromCoreNetworkState ::+      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 CoreNetworkState_AVAILABLE :: CoreNetworkState+pattern CoreNetworkState_AVAILABLE = CoreNetworkState' "AVAILABLE"++pattern CoreNetworkState_CREATING :: CoreNetworkState+pattern CoreNetworkState_CREATING = CoreNetworkState' "CREATING"++pattern CoreNetworkState_DELETING :: CoreNetworkState+pattern CoreNetworkState_DELETING = CoreNetworkState' "DELETING"++pattern CoreNetworkState_UPDATING :: CoreNetworkState+pattern CoreNetworkState_UPDATING = CoreNetworkState' "UPDATING"++{-# COMPLETE+  CoreNetworkState_AVAILABLE,+  CoreNetworkState_CREATING,+  CoreNetworkState_DELETING,+  CoreNetworkState_UPDATING,+  CoreNetworkState'+  #-}
+ gen/Amazonka/NetworkManager/Types/CoreNetworkSummary.hs view
@@ -0,0 +1,147 @@+{-# 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.NetworkManager.Types.CoreNetworkSummary+-- 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.NetworkManager.Types.CoreNetworkSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.CoreNetworkState+import Amazonka.NetworkManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Returns summary information about a core network.+--+-- /See:/ 'newCoreNetworkSummary' smart constructor.+data CoreNetworkSummary = CoreNetworkSummary'+  { -- | a core network ARN.+    coreNetworkArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The description of a core network.+    description :: Prelude.Maybe Prelude.Text,+    -- | The global network ID.+    globalNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the account owner.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The state of a core network.+    state :: Prelude.Maybe CoreNetworkState,+    -- | The key-value tags associated with a core network summary.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CoreNetworkSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkArn', 'coreNetworkSummary_coreNetworkArn' - a core network ARN.+--+-- 'coreNetworkId', 'coreNetworkSummary_coreNetworkId' - The ID of a core network.+--+-- 'description', 'coreNetworkSummary_description' - The description of a core network.+--+-- 'globalNetworkId', 'coreNetworkSummary_globalNetworkId' - The global network ID.+--+-- 'ownerAccountId', 'coreNetworkSummary_ownerAccountId' - The ID of the account owner.+--+-- 'state', 'coreNetworkSummary_state' - The state of a core network.+--+-- 'tags', 'coreNetworkSummary_tags' - The key-value tags associated with a core network summary.+newCoreNetworkSummary ::+  CoreNetworkSummary+newCoreNetworkSummary =+  CoreNetworkSummary'+    { coreNetworkArn =+        Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      description = Prelude.Nothing,+      globalNetworkId = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | a core network ARN.+coreNetworkSummary_coreNetworkArn :: Lens.Lens' CoreNetworkSummary (Prelude.Maybe Prelude.Text)+coreNetworkSummary_coreNetworkArn = Lens.lens (\CoreNetworkSummary' {coreNetworkArn} -> coreNetworkArn) (\s@CoreNetworkSummary' {} a -> s {coreNetworkArn = a} :: CoreNetworkSummary)++-- | The ID of a core network.+coreNetworkSummary_coreNetworkId :: Lens.Lens' CoreNetworkSummary (Prelude.Maybe Prelude.Text)+coreNetworkSummary_coreNetworkId = Lens.lens (\CoreNetworkSummary' {coreNetworkId} -> coreNetworkId) (\s@CoreNetworkSummary' {} a -> s {coreNetworkId = a} :: CoreNetworkSummary)++-- | The description of a core network.+coreNetworkSummary_description :: Lens.Lens' CoreNetworkSummary (Prelude.Maybe Prelude.Text)+coreNetworkSummary_description = Lens.lens (\CoreNetworkSummary' {description} -> description) (\s@CoreNetworkSummary' {} a -> s {description = a} :: CoreNetworkSummary)++-- | The global network ID.+coreNetworkSummary_globalNetworkId :: Lens.Lens' CoreNetworkSummary (Prelude.Maybe Prelude.Text)+coreNetworkSummary_globalNetworkId = Lens.lens (\CoreNetworkSummary' {globalNetworkId} -> globalNetworkId) (\s@CoreNetworkSummary' {} a -> s {globalNetworkId = a} :: CoreNetworkSummary)++-- | The ID of the account owner.+coreNetworkSummary_ownerAccountId :: Lens.Lens' CoreNetworkSummary (Prelude.Maybe Prelude.Text)+coreNetworkSummary_ownerAccountId = Lens.lens (\CoreNetworkSummary' {ownerAccountId} -> ownerAccountId) (\s@CoreNetworkSummary' {} a -> s {ownerAccountId = a} :: CoreNetworkSummary)++-- | The state of a core network.+coreNetworkSummary_state :: Lens.Lens' CoreNetworkSummary (Prelude.Maybe CoreNetworkState)+coreNetworkSummary_state = Lens.lens (\CoreNetworkSummary' {state} -> state) (\s@CoreNetworkSummary' {} a -> s {state = a} :: CoreNetworkSummary)++-- | The key-value tags associated with a core network summary.+coreNetworkSummary_tags :: Lens.Lens' CoreNetworkSummary (Prelude.Maybe [Tag])+coreNetworkSummary_tags = Lens.lens (\CoreNetworkSummary' {tags} -> tags) (\s@CoreNetworkSummary' {} a -> s {tags = a} :: CoreNetworkSummary) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON CoreNetworkSummary where+  parseJSON =+    Data.withObject+      "CoreNetworkSummary"+      ( \x ->+          CoreNetworkSummary'+            Prelude.<$> (x Data..:? "CoreNetworkArn")+            Prelude.<*> (x Data..:? "CoreNetworkId")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "GlobalNetworkId")+            Prelude.<*> (x Data..:? "OwnerAccountId")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable CoreNetworkSummary where+  hashWithSalt _salt CoreNetworkSummary' {..} =+    _salt+      `Prelude.hashWithSalt` coreNetworkArn+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` ownerAccountId+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags++instance Prelude.NFData CoreNetworkSummary where+  rnf CoreNetworkSummary' {..} =+    Prelude.rnf coreNetworkArn+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/NetworkManager/Types/CustomerGatewayAssociation.hs view
@@ -0,0 +1,123 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.CustomerGatewayAssociation+-- 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.NetworkManager.Types.CustomerGatewayAssociation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.CustomerGatewayAssociationState+import qualified Amazonka.Prelude as Prelude++-- | Describes the association between a customer gateway, a device, and a+-- link.+--+-- /See:/ 'newCustomerGatewayAssociation' smart constructor.+data CustomerGatewayAssociation = CustomerGatewayAssociation'+  { -- | The Amazon Resource Name (ARN) of the customer gateway.+    customerGatewayArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the device.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the link.+    linkId :: Prelude.Maybe Prelude.Text,+    -- | The association state.+    state :: Prelude.Maybe CustomerGatewayAssociationState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CustomerGatewayAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'customerGatewayArn', 'customerGatewayAssociation_customerGatewayArn' - The Amazon Resource Name (ARN) of the customer gateway.+--+-- 'deviceId', 'customerGatewayAssociation_deviceId' - The ID of the device.+--+-- 'globalNetworkId', 'customerGatewayAssociation_globalNetworkId' - The ID of the global network.+--+-- 'linkId', 'customerGatewayAssociation_linkId' - The ID of the link.+--+-- 'state', 'customerGatewayAssociation_state' - The association state.+newCustomerGatewayAssociation ::+  CustomerGatewayAssociation+newCustomerGatewayAssociation =+  CustomerGatewayAssociation'+    { customerGatewayArn =+        Prelude.Nothing,+      deviceId = Prelude.Nothing,+      globalNetworkId = Prelude.Nothing,+      linkId = Prelude.Nothing,+      state = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the customer gateway.+customerGatewayAssociation_customerGatewayArn :: Lens.Lens' CustomerGatewayAssociation (Prelude.Maybe Prelude.Text)+customerGatewayAssociation_customerGatewayArn = Lens.lens (\CustomerGatewayAssociation' {customerGatewayArn} -> customerGatewayArn) (\s@CustomerGatewayAssociation' {} a -> s {customerGatewayArn = a} :: CustomerGatewayAssociation)++-- | The ID of the device.+customerGatewayAssociation_deviceId :: Lens.Lens' CustomerGatewayAssociation (Prelude.Maybe Prelude.Text)+customerGatewayAssociation_deviceId = Lens.lens (\CustomerGatewayAssociation' {deviceId} -> deviceId) (\s@CustomerGatewayAssociation' {} a -> s {deviceId = a} :: CustomerGatewayAssociation)++-- | The ID of the global network.+customerGatewayAssociation_globalNetworkId :: Lens.Lens' CustomerGatewayAssociation (Prelude.Maybe Prelude.Text)+customerGatewayAssociation_globalNetworkId = Lens.lens (\CustomerGatewayAssociation' {globalNetworkId} -> globalNetworkId) (\s@CustomerGatewayAssociation' {} a -> s {globalNetworkId = a} :: CustomerGatewayAssociation)++-- | The ID of the link.+customerGatewayAssociation_linkId :: Lens.Lens' CustomerGatewayAssociation (Prelude.Maybe Prelude.Text)+customerGatewayAssociation_linkId = Lens.lens (\CustomerGatewayAssociation' {linkId} -> linkId) (\s@CustomerGatewayAssociation' {} a -> s {linkId = a} :: CustomerGatewayAssociation)++-- | The association state.+customerGatewayAssociation_state :: Lens.Lens' CustomerGatewayAssociation (Prelude.Maybe CustomerGatewayAssociationState)+customerGatewayAssociation_state = Lens.lens (\CustomerGatewayAssociation' {state} -> state) (\s@CustomerGatewayAssociation' {} a -> s {state = a} :: CustomerGatewayAssociation)++instance Data.FromJSON CustomerGatewayAssociation where+  parseJSON =+    Data.withObject+      "CustomerGatewayAssociation"+      ( \x ->+          CustomerGatewayAssociation'+            Prelude.<$> (x Data..:? "CustomerGatewayArn")+            Prelude.<*> (x Data..:? "DeviceId")+            Prelude.<*> (x Data..:? "GlobalNetworkId")+            Prelude.<*> (x Data..:? "LinkId")+            Prelude.<*> (x Data..:? "State")+      )++instance Prelude.Hashable CustomerGatewayAssociation where+  hashWithSalt _salt CustomerGatewayAssociation' {..} =+    _salt+      `Prelude.hashWithSalt` customerGatewayArn+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` linkId+      `Prelude.hashWithSalt` state++instance Prelude.NFData CustomerGatewayAssociation where+  rnf CustomerGatewayAssociation' {..} =+    Prelude.rnf customerGatewayArn+      `Prelude.seq` Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf linkId+      `Prelude.seq` Prelude.rnf state
+ gen/Amazonka/NetworkManager/Types/CustomerGatewayAssociationState.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.NetworkManager.Types.CustomerGatewayAssociationState+-- 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.NetworkManager.Types.CustomerGatewayAssociationState+  ( CustomerGatewayAssociationState+      ( ..,+        CustomerGatewayAssociationState_AVAILABLE,+        CustomerGatewayAssociationState_DELETED,+        CustomerGatewayAssociationState_DELETING,+        CustomerGatewayAssociationState_PENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype CustomerGatewayAssociationState = CustomerGatewayAssociationState'+  { fromCustomerGatewayAssociationState ::+      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 CustomerGatewayAssociationState_AVAILABLE :: CustomerGatewayAssociationState+pattern CustomerGatewayAssociationState_AVAILABLE = CustomerGatewayAssociationState' "AVAILABLE"++pattern CustomerGatewayAssociationState_DELETED :: CustomerGatewayAssociationState+pattern CustomerGatewayAssociationState_DELETED = CustomerGatewayAssociationState' "DELETED"++pattern CustomerGatewayAssociationState_DELETING :: CustomerGatewayAssociationState+pattern CustomerGatewayAssociationState_DELETING = CustomerGatewayAssociationState' "DELETING"++pattern CustomerGatewayAssociationState_PENDING :: CustomerGatewayAssociationState+pattern CustomerGatewayAssociationState_PENDING = CustomerGatewayAssociationState' "PENDING"++{-# COMPLETE+  CustomerGatewayAssociationState_AVAILABLE,+  CustomerGatewayAssociationState_DELETED,+  CustomerGatewayAssociationState_DELETING,+  CustomerGatewayAssociationState_PENDING,+  CustomerGatewayAssociationState'+  #-}
+ gen/Amazonka/NetworkManager/Types/Device.hs view
@@ -0,0 +1,232 @@+{-# 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.NetworkManager.Types.Device+-- 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.NetworkManager.Types.Device where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.AWSLocation+import Amazonka.NetworkManager.Types.DeviceState+import Amazonka.NetworkManager.Types.Location+import Amazonka.NetworkManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Describes a device.+--+-- /See:/ 'newDevice' smart constructor.+data Device = Device'+  { -- | The Amazon Web Services location of the device.+    aWSLocation :: Prelude.Maybe AWSLocation,+    -- | The date and time that the site was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The description of the device.+    description :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the device.+    deviceArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the device.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The site location.+    location :: Prelude.Maybe (Data.Sensitive Location),+    -- | The device model.+    model :: Prelude.Maybe Prelude.Text,+    -- | The device serial number.+    serialNumber :: Prelude.Maybe Prelude.Text,+    -- | The site ID.+    siteId :: Prelude.Maybe Prelude.Text,+    -- | The device state.+    state :: Prelude.Maybe DeviceState,+    -- | The tags for the device.+    tags :: Prelude.Maybe [Tag],+    -- | The device type.+    type' :: Prelude.Maybe Prelude.Text,+    -- | The device vendor.+    vendor :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Device' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aWSLocation', 'device_aWSLocation' - The Amazon Web Services location of the device.+--+-- 'createdAt', 'device_createdAt' - The date and time that the site was created.+--+-- 'description', 'device_description' - The description of the device.+--+-- 'deviceArn', 'device_deviceArn' - The Amazon Resource Name (ARN) of the device.+--+-- 'deviceId', 'device_deviceId' - The ID of the device.+--+-- 'globalNetworkId', 'device_globalNetworkId' - The ID of the global network.+--+-- 'location', 'device_location' - The site location.+--+-- 'model', 'device_model' - The device model.+--+-- 'serialNumber', 'device_serialNumber' - The device serial number.+--+-- 'siteId', 'device_siteId' - The site ID.+--+-- 'state', 'device_state' - The device state.+--+-- 'tags', 'device_tags' - The tags for the device.+--+-- 'type'', 'device_type' - The device type.+--+-- 'vendor', 'device_vendor' - The device vendor.+newDevice ::+  Device+newDevice =+  Device'+    { aWSLocation = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      description = Prelude.Nothing,+      deviceArn = Prelude.Nothing,+      deviceId = Prelude.Nothing,+      globalNetworkId = Prelude.Nothing,+      location = Prelude.Nothing,+      model = Prelude.Nothing,+      serialNumber = Prelude.Nothing,+      siteId = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      type' = Prelude.Nothing,+      vendor = Prelude.Nothing+    }++-- | The Amazon Web Services location of the device.+device_aWSLocation :: Lens.Lens' Device (Prelude.Maybe AWSLocation)+device_aWSLocation = Lens.lens (\Device' {aWSLocation} -> aWSLocation) (\s@Device' {} a -> s {aWSLocation = a} :: Device)++-- | The date and time that the site was created.+device_createdAt :: Lens.Lens' Device (Prelude.Maybe Prelude.UTCTime)+device_createdAt = Lens.lens (\Device' {createdAt} -> createdAt) (\s@Device' {} a -> s {createdAt = a} :: Device) Prelude.. Lens.mapping Data._Time++-- | The description of the device.+device_description :: Lens.Lens' Device (Prelude.Maybe Prelude.Text)+device_description = Lens.lens (\Device' {description} -> description) (\s@Device' {} a -> s {description = a} :: Device)++-- | The Amazon Resource Name (ARN) of the device.+device_deviceArn :: Lens.Lens' Device (Prelude.Maybe Prelude.Text)+device_deviceArn = Lens.lens (\Device' {deviceArn} -> deviceArn) (\s@Device' {} a -> s {deviceArn = a} :: Device)++-- | The ID of the device.+device_deviceId :: Lens.Lens' Device (Prelude.Maybe Prelude.Text)+device_deviceId = Lens.lens (\Device' {deviceId} -> deviceId) (\s@Device' {} a -> s {deviceId = a} :: Device)++-- | The ID of the global network.+device_globalNetworkId :: Lens.Lens' Device (Prelude.Maybe Prelude.Text)+device_globalNetworkId = Lens.lens (\Device' {globalNetworkId} -> globalNetworkId) (\s@Device' {} a -> s {globalNetworkId = a} :: Device)++-- | The site location.+device_location :: Lens.Lens' Device (Prelude.Maybe Location)+device_location = Lens.lens (\Device' {location} -> location) (\s@Device' {} a -> s {location = a} :: Device) Prelude.. Lens.mapping Data._Sensitive++-- | The device model.+device_model :: Lens.Lens' Device (Prelude.Maybe Prelude.Text)+device_model = Lens.lens (\Device' {model} -> model) (\s@Device' {} a -> s {model = a} :: Device)++-- | The device serial number.+device_serialNumber :: Lens.Lens' Device (Prelude.Maybe Prelude.Text)+device_serialNumber = Lens.lens (\Device' {serialNumber} -> serialNumber) (\s@Device' {} a -> s {serialNumber = a} :: Device)++-- | The site ID.+device_siteId :: Lens.Lens' Device (Prelude.Maybe Prelude.Text)+device_siteId = Lens.lens (\Device' {siteId} -> siteId) (\s@Device' {} a -> s {siteId = a} :: Device)++-- | The device state.+device_state :: Lens.Lens' Device (Prelude.Maybe DeviceState)+device_state = Lens.lens (\Device' {state} -> state) (\s@Device' {} a -> s {state = a} :: Device)++-- | The tags for the device.+device_tags :: Lens.Lens' Device (Prelude.Maybe [Tag])+device_tags = Lens.lens (\Device' {tags} -> tags) (\s@Device' {} a -> s {tags = a} :: Device) Prelude.. Lens.mapping Lens.coerced++-- | The device type.+device_type :: Lens.Lens' Device (Prelude.Maybe Prelude.Text)+device_type = Lens.lens (\Device' {type'} -> type') (\s@Device' {} a -> s {type' = a} :: Device)++-- | The device vendor.+device_vendor :: Lens.Lens' Device (Prelude.Maybe Prelude.Text)+device_vendor = Lens.lens (\Device' {vendor} -> vendor) (\s@Device' {} a -> s {vendor = a} :: Device)++instance Data.FromJSON Device where+  parseJSON =+    Data.withObject+      "Device"+      ( \x ->+          Device'+            Prelude.<$> (x Data..:? "AWSLocation")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "DeviceArn")+            Prelude.<*> (x Data..:? "DeviceId")+            Prelude.<*> (x Data..:? "GlobalNetworkId")+            Prelude.<*> (x Data..:? "Location")+            Prelude.<*> (x Data..:? "Model")+            Prelude.<*> (x Data..:? "SerialNumber")+            Prelude.<*> (x Data..:? "SiteId")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Type")+            Prelude.<*> (x Data..:? "Vendor")+      )++instance Prelude.Hashable Device where+  hashWithSalt _salt Device' {..} =+    _salt+      `Prelude.hashWithSalt` aWSLocation+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` deviceArn+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` location+      `Prelude.hashWithSalt` model+      `Prelude.hashWithSalt` serialNumber+      `Prelude.hashWithSalt` siteId+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` vendor++instance Prelude.NFData Device where+  rnf Device' {..} =+    Prelude.rnf aWSLocation+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf deviceArn+      `Prelude.seq` Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf location+      `Prelude.seq` Prelude.rnf model+      `Prelude.seq` Prelude.rnf serialNumber+      `Prelude.seq` Prelude.rnf siteId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf vendor
+ gen/Amazonka/NetworkManager/Types/DeviceState.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.NetworkManager.Types.DeviceState+-- 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.NetworkManager.Types.DeviceState+  ( DeviceState+      ( ..,+        DeviceState_AVAILABLE,+        DeviceState_DELETING,+        DeviceState_PENDING,+        DeviceState_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DeviceState = DeviceState'+  { fromDeviceState ::+      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 DeviceState_AVAILABLE :: DeviceState+pattern DeviceState_AVAILABLE = DeviceState' "AVAILABLE"++pattern DeviceState_DELETING :: DeviceState+pattern DeviceState_DELETING = DeviceState' "DELETING"++pattern DeviceState_PENDING :: DeviceState+pattern DeviceState_PENDING = DeviceState' "PENDING"++pattern DeviceState_UPDATING :: DeviceState+pattern DeviceState_UPDATING = DeviceState' "UPDATING"++{-# COMPLETE+  DeviceState_AVAILABLE,+  DeviceState_DELETING,+  DeviceState_PENDING,+  DeviceState_UPDATING,+  DeviceState'+  #-}
+ gen/Amazonka/NetworkManager/Types/GlobalNetwork.hs view
@@ -0,0 +1,136 @@+{-# 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.NetworkManager.Types.GlobalNetwork+-- 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.NetworkManager.Types.GlobalNetwork where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.GlobalNetworkState+import Amazonka.NetworkManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Describes a global network. This is a single private network acting as a+-- high-level container for your network objects, including an Amazon Web+-- Services-managed Core Network.+--+-- /See:/ 'newGlobalNetwork' smart constructor.+data GlobalNetwork = GlobalNetwork'+  { -- | The date and time that the global network was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The description of the global network.+    description :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the global network.+    globalNetworkArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The state of the global network.+    state :: Prelude.Maybe GlobalNetworkState,+    -- | The tags for the global network.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GlobalNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'globalNetwork_createdAt' - The date and time that the global network was created.+--+-- 'description', 'globalNetwork_description' - The description of the global network.+--+-- 'globalNetworkArn', 'globalNetwork_globalNetworkArn' - The Amazon Resource Name (ARN) of the global network.+--+-- 'globalNetworkId', 'globalNetwork_globalNetworkId' - The ID of the global network.+--+-- 'state', 'globalNetwork_state' - The state of the global network.+--+-- 'tags', 'globalNetwork_tags' - The tags for the global network.+newGlobalNetwork ::+  GlobalNetwork+newGlobalNetwork =+  GlobalNetwork'+    { createdAt = Prelude.Nothing,+      description = Prelude.Nothing,+      globalNetworkArn = Prelude.Nothing,+      globalNetworkId = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The date and time that the global network was created.+globalNetwork_createdAt :: Lens.Lens' GlobalNetwork (Prelude.Maybe Prelude.UTCTime)+globalNetwork_createdAt = Lens.lens (\GlobalNetwork' {createdAt} -> createdAt) (\s@GlobalNetwork' {} a -> s {createdAt = a} :: GlobalNetwork) Prelude.. Lens.mapping Data._Time++-- | The description of the global network.+globalNetwork_description :: Lens.Lens' GlobalNetwork (Prelude.Maybe Prelude.Text)+globalNetwork_description = Lens.lens (\GlobalNetwork' {description} -> description) (\s@GlobalNetwork' {} a -> s {description = a} :: GlobalNetwork)++-- | The Amazon Resource Name (ARN) of the global network.+globalNetwork_globalNetworkArn :: Lens.Lens' GlobalNetwork (Prelude.Maybe Prelude.Text)+globalNetwork_globalNetworkArn = Lens.lens (\GlobalNetwork' {globalNetworkArn} -> globalNetworkArn) (\s@GlobalNetwork' {} a -> s {globalNetworkArn = a} :: GlobalNetwork)++-- | The ID of the global network.+globalNetwork_globalNetworkId :: Lens.Lens' GlobalNetwork (Prelude.Maybe Prelude.Text)+globalNetwork_globalNetworkId = Lens.lens (\GlobalNetwork' {globalNetworkId} -> globalNetworkId) (\s@GlobalNetwork' {} a -> s {globalNetworkId = a} :: GlobalNetwork)++-- | The state of the global network.+globalNetwork_state :: Lens.Lens' GlobalNetwork (Prelude.Maybe GlobalNetworkState)+globalNetwork_state = Lens.lens (\GlobalNetwork' {state} -> state) (\s@GlobalNetwork' {} a -> s {state = a} :: GlobalNetwork)++-- | The tags for the global network.+globalNetwork_tags :: Lens.Lens' GlobalNetwork (Prelude.Maybe [Tag])+globalNetwork_tags = Lens.lens (\GlobalNetwork' {tags} -> tags) (\s@GlobalNetwork' {} a -> s {tags = a} :: GlobalNetwork) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON GlobalNetwork where+  parseJSON =+    Data.withObject+      "GlobalNetwork"+      ( \x ->+          GlobalNetwork'+            Prelude.<$> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "GlobalNetworkArn")+            Prelude.<*> (x Data..:? "GlobalNetworkId")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable GlobalNetwork where+  hashWithSalt _salt GlobalNetwork' {..} =+    _salt+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` globalNetworkArn+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags++instance Prelude.NFData GlobalNetwork where+  rnf GlobalNetwork' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf globalNetworkArn+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/NetworkManager/Types/GlobalNetworkState.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.NetworkManager.Types.GlobalNetworkState+-- 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.NetworkManager.Types.GlobalNetworkState+  ( GlobalNetworkState+      ( ..,+        GlobalNetworkState_AVAILABLE,+        GlobalNetworkState_DELETING,+        GlobalNetworkState_PENDING,+        GlobalNetworkState_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype GlobalNetworkState = GlobalNetworkState'+  { fromGlobalNetworkState ::+      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 GlobalNetworkState_AVAILABLE :: GlobalNetworkState+pattern GlobalNetworkState_AVAILABLE = GlobalNetworkState' "AVAILABLE"++pattern GlobalNetworkState_DELETING :: GlobalNetworkState+pattern GlobalNetworkState_DELETING = GlobalNetworkState' "DELETING"++pattern GlobalNetworkState_PENDING :: GlobalNetworkState+pattern GlobalNetworkState_PENDING = GlobalNetworkState' "PENDING"++pattern GlobalNetworkState_UPDATING :: GlobalNetworkState+pattern GlobalNetworkState_UPDATING = GlobalNetworkState' "UPDATING"++{-# COMPLETE+  GlobalNetworkState_AVAILABLE,+  GlobalNetworkState_DELETING,+  GlobalNetworkState_PENDING,+  GlobalNetworkState_UPDATING,+  GlobalNetworkState'+  #-}
+ gen/Amazonka/NetworkManager/Types/Link.hs view
@@ -0,0 +1,195 @@+{-# 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.NetworkManager.Types.Link+-- 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.NetworkManager.Types.Link where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.Bandwidth+import Amazonka.NetworkManager.Types.LinkState+import Amazonka.NetworkManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Describes a link.+--+-- /See:/ 'newLink' smart constructor.+data Link = Link'+  { -- | The bandwidth for the link.+    bandwidth :: Prelude.Maybe Bandwidth,+    -- | The date and time that the link was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The description of the link.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the link.+    linkArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the link.+    linkId :: Prelude.Maybe Prelude.Text,+    -- | The provider of the link.+    provider :: Prelude.Maybe Prelude.Text,+    -- | The ID of the site.+    siteId :: Prelude.Maybe Prelude.Text,+    -- | The state of the link.+    state :: Prelude.Maybe LinkState,+    -- | The tags for the link.+    tags :: Prelude.Maybe [Tag],+    -- | The type of the link.+    type' :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Link' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bandwidth', 'link_bandwidth' - The bandwidth for the link.+--+-- 'createdAt', 'link_createdAt' - The date and time that the link was created.+--+-- 'description', 'link_description' - The description of the link.+--+-- 'globalNetworkId', 'link_globalNetworkId' - The ID of the global network.+--+-- 'linkArn', 'link_linkArn' - The Amazon Resource Name (ARN) of the link.+--+-- 'linkId', 'link_linkId' - The ID of the link.+--+-- 'provider', 'link_provider' - The provider of the link.+--+-- 'siteId', 'link_siteId' - The ID of the site.+--+-- 'state', 'link_state' - The state of the link.+--+-- 'tags', 'link_tags' - The tags for the link.+--+-- 'type'', 'link_type' - The type of the link.+newLink ::+  Link+newLink =+  Link'+    { bandwidth = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      description = Prelude.Nothing,+      globalNetworkId = Prelude.Nothing,+      linkArn = Prelude.Nothing,+      linkId = Prelude.Nothing,+      provider = Prelude.Nothing,+      siteId = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | The bandwidth for the link.+link_bandwidth :: Lens.Lens' Link (Prelude.Maybe Bandwidth)+link_bandwidth = Lens.lens (\Link' {bandwidth} -> bandwidth) (\s@Link' {} a -> s {bandwidth = a} :: Link)++-- | The date and time that the link was created.+link_createdAt :: Lens.Lens' Link (Prelude.Maybe Prelude.UTCTime)+link_createdAt = Lens.lens (\Link' {createdAt} -> createdAt) (\s@Link' {} a -> s {createdAt = a} :: Link) Prelude.. Lens.mapping Data._Time++-- | The description of the link.+link_description :: Lens.Lens' Link (Prelude.Maybe Prelude.Text)+link_description = Lens.lens (\Link' {description} -> description) (\s@Link' {} a -> s {description = a} :: Link)++-- | The ID of the global network.+link_globalNetworkId :: Lens.Lens' Link (Prelude.Maybe Prelude.Text)+link_globalNetworkId = Lens.lens (\Link' {globalNetworkId} -> globalNetworkId) (\s@Link' {} a -> s {globalNetworkId = a} :: Link)++-- | The Amazon Resource Name (ARN) of the link.+link_linkArn :: Lens.Lens' Link (Prelude.Maybe Prelude.Text)+link_linkArn = Lens.lens (\Link' {linkArn} -> linkArn) (\s@Link' {} a -> s {linkArn = a} :: Link)++-- | The ID of the link.+link_linkId :: Lens.Lens' Link (Prelude.Maybe Prelude.Text)+link_linkId = Lens.lens (\Link' {linkId} -> linkId) (\s@Link' {} a -> s {linkId = a} :: Link)++-- | The provider of the link.+link_provider :: Lens.Lens' Link (Prelude.Maybe Prelude.Text)+link_provider = Lens.lens (\Link' {provider} -> provider) (\s@Link' {} a -> s {provider = a} :: Link)++-- | The ID of the site.+link_siteId :: Lens.Lens' Link (Prelude.Maybe Prelude.Text)+link_siteId = Lens.lens (\Link' {siteId} -> siteId) (\s@Link' {} a -> s {siteId = a} :: Link)++-- | The state of the link.+link_state :: Lens.Lens' Link (Prelude.Maybe LinkState)+link_state = Lens.lens (\Link' {state} -> state) (\s@Link' {} a -> s {state = a} :: Link)++-- | The tags for the link.+link_tags :: Lens.Lens' Link (Prelude.Maybe [Tag])+link_tags = Lens.lens (\Link' {tags} -> tags) (\s@Link' {} a -> s {tags = a} :: Link) Prelude.. Lens.mapping Lens.coerced++-- | The type of the link.+link_type :: Lens.Lens' Link (Prelude.Maybe Prelude.Text)+link_type = Lens.lens (\Link' {type'} -> type') (\s@Link' {} a -> s {type' = a} :: Link)++instance Data.FromJSON Link where+  parseJSON =+    Data.withObject+      "Link"+      ( \x ->+          Link'+            Prelude.<$> (x Data..:? "Bandwidth")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "GlobalNetworkId")+            Prelude.<*> (x Data..:? "LinkArn")+            Prelude.<*> (x Data..:? "LinkId")+            Prelude.<*> (x Data..:? "Provider")+            Prelude.<*> (x Data..:? "SiteId")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable Link where+  hashWithSalt _salt Link' {..} =+    _salt+      `Prelude.hashWithSalt` bandwidth+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` linkArn+      `Prelude.hashWithSalt` linkId+      `Prelude.hashWithSalt` provider+      `Prelude.hashWithSalt` siteId+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` type'++instance Prelude.NFData Link where+  rnf Link' {..} =+    Prelude.rnf bandwidth+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf linkArn+      `Prelude.seq` Prelude.rnf linkId+      `Prelude.seq` Prelude.rnf provider+      `Prelude.seq` Prelude.rnf siteId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/NetworkManager/Types/LinkAssociation.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.LinkAssociation+-- 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.NetworkManager.Types.LinkAssociation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.LinkAssociationState+import qualified Amazonka.Prelude as Prelude++-- | Describes the association between a device and a link.+--+-- /See:/ 'newLinkAssociation' smart constructor.+data LinkAssociation = LinkAssociation'+  { -- | The device ID for the link association.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The state of the association.+    linkAssociationState :: Prelude.Maybe LinkAssociationState,+    -- | The ID of the link.+    linkId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LinkAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'linkAssociation_deviceId' - The device ID for the link association.+--+-- 'globalNetworkId', 'linkAssociation_globalNetworkId' - The ID of the global network.+--+-- 'linkAssociationState', 'linkAssociation_linkAssociationState' - The state of the association.+--+-- 'linkId', 'linkAssociation_linkId' - The ID of the link.+newLinkAssociation ::+  LinkAssociation+newLinkAssociation =+  LinkAssociation'+    { deviceId = Prelude.Nothing,+      globalNetworkId = Prelude.Nothing,+      linkAssociationState = Prelude.Nothing,+      linkId = Prelude.Nothing+    }++-- | The device ID for the link association.+linkAssociation_deviceId :: Lens.Lens' LinkAssociation (Prelude.Maybe Prelude.Text)+linkAssociation_deviceId = Lens.lens (\LinkAssociation' {deviceId} -> deviceId) (\s@LinkAssociation' {} a -> s {deviceId = a} :: LinkAssociation)++-- | The ID of the global network.+linkAssociation_globalNetworkId :: Lens.Lens' LinkAssociation (Prelude.Maybe Prelude.Text)+linkAssociation_globalNetworkId = Lens.lens (\LinkAssociation' {globalNetworkId} -> globalNetworkId) (\s@LinkAssociation' {} a -> s {globalNetworkId = a} :: LinkAssociation)++-- | The state of the association.+linkAssociation_linkAssociationState :: Lens.Lens' LinkAssociation (Prelude.Maybe LinkAssociationState)+linkAssociation_linkAssociationState = Lens.lens (\LinkAssociation' {linkAssociationState} -> linkAssociationState) (\s@LinkAssociation' {} a -> s {linkAssociationState = a} :: LinkAssociation)++-- | The ID of the link.+linkAssociation_linkId :: Lens.Lens' LinkAssociation (Prelude.Maybe Prelude.Text)+linkAssociation_linkId = Lens.lens (\LinkAssociation' {linkId} -> linkId) (\s@LinkAssociation' {} a -> s {linkId = a} :: LinkAssociation)++instance Data.FromJSON LinkAssociation where+  parseJSON =+    Data.withObject+      "LinkAssociation"+      ( \x ->+          LinkAssociation'+            Prelude.<$> (x Data..:? "DeviceId")+            Prelude.<*> (x Data..:? "GlobalNetworkId")+            Prelude.<*> (x Data..:? "LinkAssociationState")+            Prelude.<*> (x Data..:? "LinkId")+      )++instance Prelude.Hashable LinkAssociation where+  hashWithSalt _salt LinkAssociation' {..} =+    _salt+      `Prelude.hashWithSalt` deviceId+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` linkAssociationState+      `Prelude.hashWithSalt` linkId++instance Prelude.NFData LinkAssociation where+  rnf LinkAssociation' {..} =+    Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf linkAssociationState+      `Prelude.seq` Prelude.rnf linkId
+ gen/Amazonka/NetworkManager/Types/LinkAssociationState.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.NetworkManager.Types.LinkAssociationState+-- 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.NetworkManager.Types.LinkAssociationState+  ( LinkAssociationState+      ( ..,+        LinkAssociationState_AVAILABLE,+        LinkAssociationState_DELETED,+        LinkAssociationState_DELETING,+        LinkAssociationState_PENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LinkAssociationState = LinkAssociationState'+  { fromLinkAssociationState ::+      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 LinkAssociationState_AVAILABLE :: LinkAssociationState+pattern LinkAssociationState_AVAILABLE = LinkAssociationState' "AVAILABLE"++pattern LinkAssociationState_DELETED :: LinkAssociationState+pattern LinkAssociationState_DELETED = LinkAssociationState' "DELETED"++pattern LinkAssociationState_DELETING :: LinkAssociationState+pattern LinkAssociationState_DELETING = LinkAssociationState' "DELETING"++pattern LinkAssociationState_PENDING :: LinkAssociationState+pattern LinkAssociationState_PENDING = LinkAssociationState' "PENDING"++{-# COMPLETE+  LinkAssociationState_AVAILABLE,+  LinkAssociationState_DELETED,+  LinkAssociationState_DELETING,+  LinkAssociationState_PENDING,+  LinkAssociationState'+  #-}
+ gen/Amazonka/NetworkManager/Types/LinkState.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.NetworkManager.Types.LinkState+-- 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.NetworkManager.Types.LinkState+  ( LinkState+      ( ..,+        LinkState_AVAILABLE,+        LinkState_DELETING,+        LinkState_PENDING,+        LinkState_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LinkState = LinkState'+  { fromLinkState ::+      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 LinkState_AVAILABLE :: LinkState+pattern LinkState_AVAILABLE = LinkState' "AVAILABLE"++pattern LinkState_DELETING :: LinkState+pattern LinkState_DELETING = LinkState' "DELETING"++pattern LinkState_PENDING :: LinkState+pattern LinkState_PENDING = LinkState' "PENDING"++pattern LinkState_UPDATING :: LinkState+pattern LinkState_UPDATING = LinkState' "UPDATING"++{-# COMPLETE+  LinkState_AVAILABLE,+  LinkState_DELETING,+  LinkState_PENDING,+  LinkState_UPDATING,+  LinkState'+  #-}
+ gen/Amazonka/NetworkManager/Types/Location.hs view
@@ -0,0 +1,106 @@+{-# 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.NetworkManager.Types.Location+-- 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.NetworkManager.Types.Location 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++-- | Describes a location.+--+-- /See:/ 'newLocation' smart constructor.+data Location = Location'+  { -- | The physical address.+    address :: Prelude.Maybe Prelude.Text,+    -- | The latitude.+    latitude :: Prelude.Maybe Prelude.Text,+    -- | The longitude.+    longitude :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Location' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'address', 'location_address' - The physical address.+--+-- 'latitude', 'location_latitude' - The latitude.+--+-- 'longitude', 'location_longitude' - The longitude.+newLocation ::+  Location+newLocation =+  Location'+    { address = Prelude.Nothing,+      latitude = Prelude.Nothing,+      longitude = Prelude.Nothing+    }++-- | The physical address.+location_address :: Lens.Lens' Location (Prelude.Maybe Prelude.Text)+location_address = Lens.lens (\Location' {address} -> address) (\s@Location' {} a -> s {address = a} :: Location)++-- | The latitude.+location_latitude :: Lens.Lens' Location (Prelude.Maybe Prelude.Text)+location_latitude = Lens.lens (\Location' {latitude} -> latitude) (\s@Location' {} a -> s {latitude = a} :: Location)++-- | The longitude.+location_longitude :: Lens.Lens' Location (Prelude.Maybe Prelude.Text)+location_longitude = Lens.lens (\Location' {longitude} -> longitude) (\s@Location' {} a -> s {longitude = a} :: Location)++instance Data.FromJSON Location where+  parseJSON =+    Data.withObject+      "Location"+      ( \x ->+          Location'+            Prelude.<$> (x Data..:? "Address")+            Prelude.<*> (x Data..:? "Latitude")+            Prelude.<*> (x Data..:? "Longitude")+      )++instance Prelude.Hashable Location where+  hashWithSalt _salt Location' {..} =+    _salt+      `Prelude.hashWithSalt` address+      `Prelude.hashWithSalt` latitude+      `Prelude.hashWithSalt` longitude++instance Prelude.NFData Location where+  rnf Location' {..} =+    Prelude.rnf address+      `Prelude.seq` Prelude.rnf latitude+      `Prelude.seq` Prelude.rnf longitude++instance Data.ToJSON Location where+  toJSON Location' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Address" Data..=) Prelude.<$> address,+            ("Latitude" Data..=) Prelude.<$> latitude,+            ("Longitude" Data..=) Prelude.<$> longitude+          ]+      )
+ gen/Amazonka/NetworkManager/Types/NetworkResource.hs view
@@ -0,0 +1,292 @@+{-# 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.NetworkManager.Types.NetworkResource+-- 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.NetworkManager.Types.NetworkResource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Describes a network resource.+--+-- /See:/ 'newNetworkResource' smart constructor.+data NetworkResource = NetworkResource'+  { -- | The Amazon Web Services account ID.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services Region.+    awsRegion :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | Information about the resource, in JSON format. Network Manager gets+    -- this information by describing the resource using its Describe API call.+    definition :: Prelude.Maybe Prelude.Text,+    -- | The time that the resource definition was retrieved.+    definitionTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The resource metadata.+    metadata :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The ARN of the gateway.+    registeredGatewayArn :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the resource.+    resourceId :: Prelude.Maybe Prelude.Text,+    -- | The resource type.+    --+    -- The following are the supported resource types for Direct Connect:+    --+    -- -   @dxcon@+    --+    -- -   @dx-gateway@+    --+    -- -   @dx-vif@+    --+    -- The following are the supported resource types for Network Manager:+    --+    -- -   @connection@+    --+    -- -   @device@+    --+    -- -   @link@+    --+    -- -   @site@+    --+    -- The following are the supported resource types for Amazon VPC:+    --+    -- -   @customer-gateway@+    --+    -- -   @transit-gateway@+    --+    -- -   @transit-gateway-attachment@+    --+    -- -   @transit-gateway-connect-peer@+    --+    -- -   @transit-gateway-route-table@+    --+    -- -   @vpn-connection@+    resourceType :: Prelude.Maybe Prelude.Text,+    -- | The tags.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'networkResource_accountId' - The Amazon Web Services account ID.+--+-- 'awsRegion', 'networkResource_awsRegion' - The Amazon Web Services Region.+--+-- 'coreNetworkId', 'networkResource_coreNetworkId' - The ID of a core network.+--+-- 'definition', 'networkResource_definition' - Information about the resource, in JSON format. Network Manager gets+-- this information by describing the resource using its Describe API call.+--+-- 'definitionTimestamp', 'networkResource_definitionTimestamp' - The time that the resource definition was retrieved.+--+-- 'metadata', 'networkResource_metadata' - The resource metadata.+--+-- 'registeredGatewayArn', 'networkResource_registeredGatewayArn' - The ARN of the gateway.+--+-- 'resourceArn', 'networkResource_resourceArn' - The ARN of the resource.+--+-- 'resourceId', 'networkResource_resourceId' - The ID of the resource.+--+-- 'resourceType', 'networkResource_resourceType' - The resource type.+--+-- The following are the supported resource types for Direct Connect:+--+-- -   @dxcon@+--+-- -   @dx-gateway@+--+-- -   @dx-vif@+--+-- The following are the supported resource types for Network Manager:+--+-- -   @connection@+--+-- -   @device@+--+-- -   @link@+--+-- -   @site@+--+-- The following are the supported resource types for Amazon VPC:+--+-- -   @customer-gateway@+--+-- -   @transit-gateway@+--+-- -   @transit-gateway-attachment@+--+-- -   @transit-gateway-connect-peer@+--+-- -   @transit-gateway-route-table@+--+-- -   @vpn-connection@+--+-- 'tags', 'networkResource_tags' - The tags.+newNetworkResource ::+  NetworkResource+newNetworkResource =+  NetworkResource'+    { accountId = Prelude.Nothing,+      awsRegion = Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      definition = Prelude.Nothing,+      definitionTimestamp = Prelude.Nothing,+      metadata = Prelude.Nothing,+      registeredGatewayArn = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      resourceId = Prelude.Nothing,+      resourceType = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The Amazon Web Services account ID.+networkResource_accountId :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_accountId = Lens.lens (\NetworkResource' {accountId} -> accountId) (\s@NetworkResource' {} a -> s {accountId = a} :: NetworkResource)++-- | The Amazon Web Services Region.+networkResource_awsRegion :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_awsRegion = Lens.lens (\NetworkResource' {awsRegion} -> awsRegion) (\s@NetworkResource' {} a -> s {awsRegion = a} :: NetworkResource)++-- | The ID of a core network.+networkResource_coreNetworkId :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_coreNetworkId = Lens.lens (\NetworkResource' {coreNetworkId} -> coreNetworkId) (\s@NetworkResource' {} a -> s {coreNetworkId = a} :: NetworkResource)++-- | Information about the resource, in JSON format. Network Manager gets+-- this information by describing the resource using its Describe API call.+networkResource_definition :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_definition = Lens.lens (\NetworkResource' {definition} -> definition) (\s@NetworkResource' {} a -> s {definition = a} :: NetworkResource)++-- | The time that the resource definition was retrieved.+networkResource_definitionTimestamp :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.UTCTime)+networkResource_definitionTimestamp = Lens.lens (\NetworkResource' {definitionTimestamp} -> definitionTimestamp) (\s@NetworkResource' {} a -> s {definitionTimestamp = a} :: NetworkResource) Prelude.. Lens.mapping Data._Time++-- | The resource metadata.+networkResource_metadata :: Lens.Lens' NetworkResource (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+networkResource_metadata = Lens.lens (\NetworkResource' {metadata} -> metadata) (\s@NetworkResource' {} a -> s {metadata = a} :: NetworkResource) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the gateway.+networkResource_registeredGatewayArn :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_registeredGatewayArn = Lens.lens (\NetworkResource' {registeredGatewayArn} -> registeredGatewayArn) (\s@NetworkResource' {} a -> s {registeredGatewayArn = a} :: NetworkResource)++-- | The ARN of the resource.+networkResource_resourceArn :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_resourceArn = Lens.lens (\NetworkResource' {resourceArn} -> resourceArn) (\s@NetworkResource' {} a -> s {resourceArn = a} :: NetworkResource)++-- | The ID of the resource.+networkResource_resourceId :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_resourceId = Lens.lens (\NetworkResource' {resourceId} -> resourceId) (\s@NetworkResource' {} a -> s {resourceId = a} :: NetworkResource)++-- | The resource type.+--+-- The following are the supported resource types for Direct Connect:+--+-- -   @dxcon@+--+-- -   @dx-gateway@+--+-- -   @dx-vif@+--+-- The following are the supported resource types for Network Manager:+--+-- -   @connection@+--+-- -   @device@+--+-- -   @link@+--+-- -   @site@+--+-- The following are the supported resource types for Amazon VPC:+--+-- -   @customer-gateway@+--+-- -   @transit-gateway@+--+-- -   @transit-gateway-attachment@+--+-- -   @transit-gateway-connect-peer@+--+-- -   @transit-gateway-route-table@+--+-- -   @vpn-connection@+networkResource_resourceType :: Lens.Lens' NetworkResource (Prelude.Maybe Prelude.Text)+networkResource_resourceType = Lens.lens (\NetworkResource' {resourceType} -> resourceType) (\s@NetworkResource' {} a -> s {resourceType = a} :: NetworkResource)++-- | The tags.+networkResource_tags :: Lens.Lens' NetworkResource (Prelude.Maybe [Tag])+networkResource_tags = Lens.lens (\NetworkResource' {tags} -> tags) (\s@NetworkResource' {} a -> s {tags = a} :: NetworkResource) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON NetworkResource where+  parseJSON =+    Data.withObject+      "NetworkResource"+      ( \x ->+          NetworkResource'+            Prelude.<$> (x Data..:? "AccountId")+            Prelude.<*> (x Data..:? "AwsRegion")+            Prelude.<*> (x Data..:? "CoreNetworkId")+            Prelude.<*> (x Data..:? "Definition")+            Prelude.<*> (x Data..:? "DefinitionTimestamp")+            Prelude.<*> (x Data..:? "Metadata" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "RegisteredGatewayArn")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "ResourceId")+            Prelude.<*> (x Data..:? "ResourceType")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable NetworkResource where+  hashWithSalt _salt NetworkResource' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` awsRegion+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` definition+      `Prelude.hashWithSalt` definitionTimestamp+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` registeredGatewayArn+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` resourceId+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` tags++instance Prelude.NFData NetworkResource where+  rnf NetworkResource' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf awsRegion+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf definition+      `Prelude.seq` Prelude.rnf definitionTimestamp+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf registeredGatewayArn+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf resourceId+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/NetworkManager/Types/NetworkResourceCount.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.NetworkResourceCount+-- 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.NetworkManager.Types.NetworkResourceCount 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++-- | Describes a resource count.+--+-- /See:/ 'newNetworkResourceCount' smart constructor.+data NetworkResourceCount = NetworkResourceCount'+  { -- | The resource count.+    count :: Prelude.Maybe Prelude.Int,+    -- | The resource type.+    resourceType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkResourceCount' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'count', 'networkResourceCount_count' - The resource count.+--+-- 'resourceType', 'networkResourceCount_resourceType' - The resource type.+newNetworkResourceCount ::+  NetworkResourceCount+newNetworkResourceCount =+  NetworkResourceCount'+    { count = Prelude.Nothing,+      resourceType = Prelude.Nothing+    }++-- | The resource count.+networkResourceCount_count :: Lens.Lens' NetworkResourceCount (Prelude.Maybe Prelude.Int)+networkResourceCount_count = Lens.lens (\NetworkResourceCount' {count} -> count) (\s@NetworkResourceCount' {} a -> s {count = a} :: NetworkResourceCount)++-- | The resource type.+networkResourceCount_resourceType :: Lens.Lens' NetworkResourceCount (Prelude.Maybe Prelude.Text)+networkResourceCount_resourceType = Lens.lens (\NetworkResourceCount' {resourceType} -> resourceType) (\s@NetworkResourceCount' {} a -> s {resourceType = a} :: NetworkResourceCount)++instance Data.FromJSON NetworkResourceCount where+  parseJSON =+    Data.withObject+      "NetworkResourceCount"+      ( \x ->+          NetworkResourceCount'+            Prelude.<$> (x Data..:? "Count")+            Prelude.<*> (x Data..:? "ResourceType")+      )++instance Prelude.Hashable NetworkResourceCount where+  hashWithSalt _salt NetworkResourceCount' {..} =+    _salt+      `Prelude.hashWithSalt` count+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData NetworkResourceCount where+  rnf NetworkResourceCount' {..} =+    Prelude.rnf count+      `Prelude.seq` Prelude.rnf resourceType
+ gen/Amazonka/NetworkManager/Types/NetworkResourceSummary.hs view
@@ -0,0 +1,136 @@+{-# 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.NetworkManager.Types.NetworkResourceSummary+-- 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.NetworkManager.Types.NetworkResourceSummary 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++-- | Describes a network resource.+--+-- /See:/ 'newNetworkResourceSummary' smart constructor.+data NetworkResourceSummary = NetworkResourceSummary'+  { -- | Information about the resource, in JSON format. Network Manager gets+    -- this information by describing the resource using its Describe API call.+    definition :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether this is a middlebox appliance.+    isMiddlebox :: Prelude.Maybe Prelude.Bool,+    -- | The value for the Name tag.+    nameTag :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the gateway.+    registeredGatewayArn :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The resource type.+    resourceType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkResourceSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'definition', 'networkResourceSummary_definition' - Information about the resource, in JSON format. Network Manager gets+-- this information by describing the resource using its Describe API call.+--+-- 'isMiddlebox', 'networkResourceSummary_isMiddlebox' - Indicates whether this is a middlebox appliance.+--+-- 'nameTag', 'networkResourceSummary_nameTag' - The value for the Name tag.+--+-- 'registeredGatewayArn', 'networkResourceSummary_registeredGatewayArn' - The ARN of the gateway.+--+-- 'resourceArn', 'networkResourceSummary_resourceArn' - The ARN of the resource.+--+-- 'resourceType', 'networkResourceSummary_resourceType' - The resource type.+newNetworkResourceSummary ::+  NetworkResourceSummary+newNetworkResourceSummary =+  NetworkResourceSummary'+    { definition =+        Prelude.Nothing,+      isMiddlebox = Prelude.Nothing,+      nameTag = Prelude.Nothing,+      registeredGatewayArn = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      resourceType = Prelude.Nothing+    }++-- | Information about the resource, in JSON format. Network Manager gets+-- this information by describing the resource using its Describe API call.+networkResourceSummary_definition :: Lens.Lens' NetworkResourceSummary (Prelude.Maybe Prelude.Text)+networkResourceSummary_definition = Lens.lens (\NetworkResourceSummary' {definition} -> definition) (\s@NetworkResourceSummary' {} a -> s {definition = a} :: NetworkResourceSummary)++-- | Indicates whether this is a middlebox appliance.+networkResourceSummary_isMiddlebox :: Lens.Lens' NetworkResourceSummary (Prelude.Maybe Prelude.Bool)+networkResourceSummary_isMiddlebox = Lens.lens (\NetworkResourceSummary' {isMiddlebox} -> isMiddlebox) (\s@NetworkResourceSummary' {} a -> s {isMiddlebox = a} :: NetworkResourceSummary)++-- | The value for the Name tag.+networkResourceSummary_nameTag :: Lens.Lens' NetworkResourceSummary (Prelude.Maybe Prelude.Text)+networkResourceSummary_nameTag = Lens.lens (\NetworkResourceSummary' {nameTag} -> nameTag) (\s@NetworkResourceSummary' {} a -> s {nameTag = a} :: NetworkResourceSummary)++-- | The ARN of the gateway.+networkResourceSummary_registeredGatewayArn :: Lens.Lens' NetworkResourceSummary (Prelude.Maybe Prelude.Text)+networkResourceSummary_registeredGatewayArn = Lens.lens (\NetworkResourceSummary' {registeredGatewayArn} -> registeredGatewayArn) (\s@NetworkResourceSummary' {} a -> s {registeredGatewayArn = a} :: NetworkResourceSummary)++-- | The ARN of the resource.+networkResourceSummary_resourceArn :: Lens.Lens' NetworkResourceSummary (Prelude.Maybe Prelude.Text)+networkResourceSummary_resourceArn = Lens.lens (\NetworkResourceSummary' {resourceArn} -> resourceArn) (\s@NetworkResourceSummary' {} a -> s {resourceArn = a} :: NetworkResourceSummary)++-- | The resource type.+networkResourceSummary_resourceType :: Lens.Lens' NetworkResourceSummary (Prelude.Maybe Prelude.Text)+networkResourceSummary_resourceType = Lens.lens (\NetworkResourceSummary' {resourceType} -> resourceType) (\s@NetworkResourceSummary' {} a -> s {resourceType = a} :: NetworkResourceSummary)++instance Data.FromJSON NetworkResourceSummary where+  parseJSON =+    Data.withObject+      "NetworkResourceSummary"+      ( \x ->+          NetworkResourceSummary'+            Prelude.<$> (x Data..:? "Definition")+            Prelude.<*> (x Data..:? "IsMiddlebox")+            Prelude.<*> (x Data..:? "NameTag")+            Prelude.<*> (x Data..:? "RegisteredGatewayArn")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "ResourceType")+      )++instance Prelude.Hashable NetworkResourceSummary where+  hashWithSalt _salt NetworkResourceSummary' {..} =+    _salt+      `Prelude.hashWithSalt` definition+      `Prelude.hashWithSalt` isMiddlebox+      `Prelude.hashWithSalt` nameTag+      `Prelude.hashWithSalt` registeredGatewayArn+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData NetworkResourceSummary where+  rnf NetworkResourceSummary' {..} =+    Prelude.rnf definition+      `Prelude.seq` Prelude.rnf isMiddlebox+      `Prelude.seq` Prelude.rnf nameTag+      `Prelude.seq` Prelude.rnf registeredGatewayArn+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf resourceType
+ gen/Amazonka/NetworkManager/Types/NetworkRoute.hs view
@@ -0,0 +1,124 @@+{-# 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.NetworkManager.Types.NetworkRoute+-- 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.NetworkManager.Types.NetworkRoute where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.NetworkRouteDestination+import Amazonka.NetworkManager.Types.RouteState+import Amazonka.NetworkManager.Types.RouteType+import qualified Amazonka.Prelude as Prelude++-- | Describes a network route.+--+-- /See:/ 'newNetworkRoute' smart constructor.+data NetworkRoute = NetworkRoute'+  { -- | A unique identifier for the route, such as a CIDR block.+    destinationCidrBlock :: Prelude.Maybe Prelude.Text,+    -- | The destinations.+    destinations :: Prelude.Maybe [NetworkRouteDestination],+    -- | The ID of the prefix list.+    prefixListId :: Prelude.Maybe Prelude.Text,+    -- | The route state. The possible values are @active@ and @blackhole@.+    state :: Prelude.Maybe RouteState,+    -- | The route type. The possible values are @propagated@ and @static@.+    type' :: Prelude.Maybe RouteType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkRoute' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destinationCidrBlock', 'networkRoute_destinationCidrBlock' - A unique identifier for the route, such as a CIDR block.+--+-- 'destinations', 'networkRoute_destinations' - The destinations.+--+-- 'prefixListId', 'networkRoute_prefixListId' - The ID of the prefix list.+--+-- 'state', 'networkRoute_state' - The route state. The possible values are @active@ and @blackhole@.+--+-- 'type'', 'networkRoute_type' - The route type. The possible values are @propagated@ and @static@.+newNetworkRoute ::+  NetworkRoute+newNetworkRoute =+  NetworkRoute'+    { destinationCidrBlock =+        Prelude.Nothing,+      destinations = Prelude.Nothing,+      prefixListId = Prelude.Nothing,+      state = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | A unique identifier for the route, such as a CIDR block.+networkRoute_destinationCidrBlock :: Lens.Lens' NetworkRoute (Prelude.Maybe Prelude.Text)+networkRoute_destinationCidrBlock = Lens.lens (\NetworkRoute' {destinationCidrBlock} -> destinationCidrBlock) (\s@NetworkRoute' {} a -> s {destinationCidrBlock = a} :: NetworkRoute)++-- | The destinations.+networkRoute_destinations :: Lens.Lens' NetworkRoute (Prelude.Maybe [NetworkRouteDestination])+networkRoute_destinations = Lens.lens (\NetworkRoute' {destinations} -> destinations) (\s@NetworkRoute' {} a -> s {destinations = a} :: NetworkRoute) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the prefix list.+networkRoute_prefixListId :: Lens.Lens' NetworkRoute (Prelude.Maybe Prelude.Text)+networkRoute_prefixListId = Lens.lens (\NetworkRoute' {prefixListId} -> prefixListId) (\s@NetworkRoute' {} a -> s {prefixListId = a} :: NetworkRoute)++-- | The route state. The possible values are @active@ and @blackhole@.+networkRoute_state :: Lens.Lens' NetworkRoute (Prelude.Maybe RouteState)+networkRoute_state = Lens.lens (\NetworkRoute' {state} -> state) (\s@NetworkRoute' {} a -> s {state = a} :: NetworkRoute)++-- | The route type. The possible values are @propagated@ and @static@.+networkRoute_type :: Lens.Lens' NetworkRoute (Prelude.Maybe RouteType)+networkRoute_type = Lens.lens (\NetworkRoute' {type'} -> type') (\s@NetworkRoute' {} a -> s {type' = a} :: NetworkRoute)++instance Data.FromJSON NetworkRoute where+  parseJSON =+    Data.withObject+      "NetworkRoute"+      ( \x ->+          NetworkRoute'+            Prelude.<$> (x Data..:? "DestinationCidrBlock")+            Prelude.<*> (x Data..:? "Destinations" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "PrefixListId")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Type")+      )++instance Prelude.Hashable NetworkRoute where+  hashWithSalt _salt NetworkRoute' {..} =+    _salt+      `Prelude.hashWithSalt` destinationCidrBlock+      `Prelude.hashWithSalt` destinations+      `Prelude.hashWithSalt` prefixListId+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` type'++instance Prelude.NFData NetworkRoute where+  rnf NetworkRoute' {..} =+    Prelude.rnf destinationCidrBlock+      `Prelude.seq` Prelude.rnf destinations+      `Prelude.seq` Prelude.rnf prefixListId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf type'
+ gen/Amazonka/NetworkManager/Types/NetworkRouteDestination.hs view
@@ -0,0 +1,133 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.NetworkRouteDestination+-- 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.NetworkManager.Types.NetworkRouteDestination 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++-- | Describes the destination of a network route.+--+-- /See:/ 'newNetworkRouteDestination' smart constructor.+data NetworkRouteDestination = NetworkRouteDestination'+  { -- | The ID of a core network attachment.+    coreNetworkAttachmentId :: Prelude.Maybe Prelude.Text,+    -- | The edge location for the network destination.+    edgeLocation :: Prelude.Maybe Prelude.Text,+    -- | The ID of the resource.+    resourceId :: Prelude.Maybe Prelude.Text,+    -- | The resource type.+    resourceType :: Prelude.Maybe Prelude.Text,+    -- | The name of the segment.+    segmentName :: Prelude.Maybe Prelude.Text,+    -- | The ID of the transit gateway attachment.+    transitGatewayAttachmentId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkRouteDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkAttachmentId', 'networkRouteDestination_coreNetworkAttachmentId' - The ID of a core network attachment.+--+-- 'edgeLocation', 'networkRouteDestination_edgeLocation' - The edge location for the network destination.+--+-- 'resourceId', 'networkRouteDestination_resourceId' - The ID of the resource.+--+-- 'resourceType', 'networkRouteDestination_resourceType' - The resource type.+--+-- 'segmentName', 'networkRouteDestination_segmentName' - The name of the segment.+--+-- 'transitGatewayAttachmentId', 'networkRouteDestination_transitGatewayAttachmentId' - The ID of the transit gateway attachment.+newNetworkRouteDestination ::+  NetworkRouteDestination+newNetworkRouteDestination =+  NetworkRouteDestination'+    { coreNetworkAttachmentId =+        Prelude.Nothing,+      edgeLocation = Prelude.Nothing,+      resourceId = Prelude.Nothing,+      resourceType = Prelude.Nothing,+      segmentName = Prelude.Nothing,+      transitGatewayAttachmentId = Prelude.Nothing+    }++-- | The ID of a core network attachment.+networkRouteDestination_coreNetworkAttachmentId :: Lens.Lens' NetworkRouteDestination (Prelude.Maybe Prelude.Text)+networkRouteDestination_coreNetworkAttachmentId = Lens.lens (\NetworkRouteDestination' {coreNetworkAttachmentId} -> coreNetworkAttachmentId) (\s@NetworkRouteDestination' {} a -> s {coreNetworkAttachmentId = a} :: NetworkRouteDestination)++-- | The edge location for the network destination.+networkRouteDestination_edgeLocation :: Lens.Lens' NetworkRouteDestination (Prelude.Maybe Prelude.Text)+networkRouteDestination_edgeLocation = Lens.lens (\NetworkRouteDestination' {edgeLocation} -> edgeLocation) (\s@NetworkRouteDestination' {} a -> s {edgeLocation = a} :: NetworkRouteDestination)++-- | The ID of the resource.+networkRouteDestination_resourceId :: Lens.Lens' NetworkRouteDestination (Prelude.Maybe Prelude.Text)+networkRouteDestination_resourceId = Lens.lens (\NetworkRouteDestination' {resourceId} -> resourceId) (\s@NetworkRouteDestination' {} a -> s {resourceId = a} :: NetworkRouteDestination)++-- | The resource type.+networkRouteDestination_resourceType :: Lens.Lens' NetworkRouteDestination (Prelude.Maybe Prelude.Text)+networkRouteDestination_resourceType = Lens.lens (\NetworkRouteDestination' {resourceType} -> resourceType) (\s@NetworkRouteDestination' {} a -> s {resourceType = a} :: NetworkRouteDestination)++-- | The name of the segment.+networkRouteDestination_segmentName :: Lens.Lens' NetworkRouteDestination (Prelude.Maybe Prelude.Text)+networkRouteDestination_segmentName = Lens.lens (\NetworkRouteDestination' {segmentName} -> segmentName) (\s@NetworkRouteDestination' {} a -> s {segmentName = a} :: NetworkRouteDestination)++-- | The ID of the transit gateway attachment.+networkRouteDestination_transitGatewayAttachmentId :: Lens.Lens' NetworkRouteDestination (Prelude.Maybe Prelude.Text)+networkRouteDestination_transitGatewayAttachmentId = Lens.lens (\NetworkRouteDestination' {transitGatewayAttachmentId} -> transitGatewayAttachmentId) (\s@NetworkRouteDestination' {} a -> s {transitGatewayAttachmentId = a} :: NetworkRouteDestination)++instance Data.FromJSON NetworkRouteDestination where+  parseJSON =+    Data.withObject+      "NetworkRouteDestination"+      ( \x ->+          NetworkRouteDestination'+            Prelude.<$> (x Data..:? "CoreNetworkAttachmentId")+            Prelude.<*> (x Data..:? "EdgeLocation")+            Prelude.<*> (x Data..:? "ResourceId")+            Prelude.<*> (x Data..:? "ResourceType")+            Prelude.<*> (x Data..:? "SegmentName")+            Prelude.<*> (x Data..:? "TransitGatewayAttachmentId")+      )++instance Prelude.Hashable NetworkRouteDestination where+  hashWithSalt _salt NetworkRouteDestination' {..} =+    _salt+      `Prelude.hashWithSalt` coreNetworkAttachmentId+      `Prelude.hashWithSalt` edgeLocation+      `Prelude.hashWithSalt` resourceId+      `Prelude.hashWithSalt` resourceType+      `Prelude.hashWithSalt` segmentName+      `Prelude.hashWithSalt` transitGatewayAttachmentId++instance Prelude.NFData NetworkRouteDestination where+  rnf NetworkRouteDestination' {..} =+    Prelude.rnf coreNetworkAttachmentId+      `Prelude.seq` Prelude.rnf edgeLocation+      `Prelude.seq` Prelude.rnf resourceId+      `Prelude.seq` Prelude.rnf resourceType+      `Prelude.seq` Prelude.rnf segmentName+      `Prelude.seq` Prelude.rnf transitGatewayAttachmentId
+ gen/Amazonka/NetworkManager/Types/NetworkTelemetry.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.NetworkTelemetry+-- 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.NetworkManager.Types.NetworkTelemetry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.ConnectionHealth+import qualified Amazonka.Prelude as Prelude++-- | Describes the telemetry information for a resource.+--+-- /See:/ 'newNetworkTelemetry' smart constructor.+data NetworkTelemetry = NetworkTelemetry'+  { -- | The Amazon Web Services account ID.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | The address.+    address :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Web Services Region.+    awsRegion :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The connection health.+    health :: Prelude.Maybe ConnectionHealth,+    -- | The ARN of the gateway.+    registeredGatewayArn :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the resource.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the resource.+    resourceId :: Prelude.Maybe Prelude.Text,+    -- | The resource type.+    resourceType :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NetworkTelemetry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'networkTelemetry_accountId' - The Amazon Web Services account ID.+--+-- 'address', 'networkTelemetry_address' - The address.+--+-- 'awsRegion', 'networkTelemetry_awsRegion' - The Amazon Web Services Region.+--+-- 'coreNetworkId', 'networkTelemetry_coreNetworkId' - The ID of a core network.+--+-- 'health', 'networkTelemetry_health' - The connection health.+--+-- 'registeredGatewayArn', 'networkTelemetry_registeredGatewayArn' - The ARN of the gateway.+--+-- 'resourceArn', 'networkTelemetry_resourceArn' - The ARN of the resource.+--+-- 'resourceId', 'networkTelemetry_resourceId' - The ID of the resource.+--+-- 'resourceType', 'networkTelemetry_resourceType' - The resource type.+newNetworkTelemetry ::+  NetworkTelemetry+newNetworkTelemetry =+  NetworkTelemetry'+    { accountId = Prelude.Nothing,+      address = Prelude.Nothing,+      awsRegion = Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      health = Prelude.Nothing,+      registeredGatewayArn = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      resourceId = Prelude.Nothing,+      resourceType = Prelude.Nothing+    }++-- | The Amazon Web Services account ID.+networkTelemetry_accountId :: Lens.Lens' NetworkTelemetry (Prelude.Maybe Prelude.Text)+networkTelemetry_accountId = Lens.lens (\NetworkTelemetry' {accountId} -> accountId) (\s@NetworkTelemetry' {} a -> s {accountId = a} :: NetworkTelemetry)++-- | The address.+networkTelemetry_address :: Lens.Lens' NetworkTelemetry (Prelude.Maybe Prelude.Text)+networkTelemetry_address = Lens.lens (\NetworkTelemetry' {address} -> address) (\s@NetworkTelemetry' {} a -> s {address = a} :: NetworkTelemetry)++-- | The Amazon Web Services Region.+networkTelemetry_awsRegion :: Lens.Lens' NetworkTelemetry (Prelude.Maybe Prelude.Text)+networkTelemetry_awsRegion = Lens.lens (\NetworkTelemetry' {awsRegion} -> awsRegion) (\s@NetworkTelemetry' {} a -> s {awsRegion = a} :: NetworkTelemetry)++-- | The ID of a core network.+networkTelemetry_coreNetworkId :: Lens.Lens' NetworkTelemetry (Prelude.Maybe Prelude.Text)+networkTelemetry_coreNetworkId = Lens.lens (\NetworkTelemetry' {coreNetworkId} -> coreNetworkId) (\s@NetworkTelemetry' {} a -> s {coreNetworkId = a} :: NetworkTelemetry)++-- | The connection health.+networkTelemetry_health :: Lens.Lens' NetworkTelemetry (Prelude.Maybe ConnectionHealth)+networkTelemetry_health = Lens.lens (\NetworkTelemetry' {health} -> health) (\s@NetworkTelemetry' {} a -> s {health = a} :: NetworkTelemetry)++-- | The ARN of the gateway.+networkTelemetry_registeredGatewayArn :: Lens.Lens' NetworkTelemetry (Prelude.Maybe Prelude.Text)+networkTelemetry_registeredGatewayArn = Lens.lens (\NetworkTelemetry' {registeredGatewayArn} -> registeredGatewayArn) (\s@NetworkTelemetry' {} a -> s {registeredGatewayArn = a} :: NetworkTelemetry)++-- | The ARN of the resource.+networkTelemetry_resourceArn :: Lens.Lens' NetworkTelemetry (Prelude.Maybe Prelude.Text)+networkTelemetry_resourceArn = Lens.lens (\NetworkTelemetry' {resourceArn} -> resourceArn) (\s@NetworkTelemetry' {} a -> s {resourceArn = a} :: NetworkTelemetry)++-- | The ID of the resource.+networkTelemetry_resourceId :: Lens.Lens' NetworkTelemetry (Prelude.Maybe Prelude.Text)+networkTelemetry_resourceId = Lens.lens (\NetworkTelemetry' {resourceId} -> resourceId) (\s@NetworkTelemetry' {} a -> s {resourceId = a} :: NetworkTelemetry)++-- | The resource type.+networkTelemetry_resourceType :: Lens.Lens' NetworkTelemetry (Prelude.Maybe Prelude.Text)+networkTelemetry_resourceType = Lens.lens (\NetworkTelemetry' {resourceType} -> resourceType) (\s@NetworkTelemetry' {} a -> s {resourceType = a} :: NetworkTelemetry)++instance Data.FromJSON NetworkTelemetry where+  parseJSON =+    Data.withObject+      "NetworkTelemetry"+      ( \x ->+          NetworkTelemetry'+            Prelude.<$> (x Data..:? "AccountId")+            Prelude.<*> (x Data..:? "Address")+            Prelude.<*> (x Data..:? "AwsRegion")+            Prelude.<*> (x Data..:? "CoreNetworkId")+            Prelude.<*> (x Data..:? "Health")+            Prelude.<*> (x Data..:? "RegisteredGatewayArn")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "ResourceId")+            Prelude.<*> (x Data..:? "ResourceType")+      )++instance Prelude.Hashable NetworkTelemetry where+  hashWithSalt _salt NetworkTelemetry' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` address+      `Prelude.hashWithSalt` awsRegion+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` health+      `Prelude.hashWithSalt` registeredGatewayArn+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` resourceId+      `Prelude.hashWithSalt` resourceType++instance Prelude.NFData NetworkTelemetry where+  rnf NetworkTelemetry' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf address+      `Prelude.seq` Prelude.rnf awsRegion+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf health+      `Prelude.seq` Prelude.rnf registeredGatewayArn+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf resourceId+      `Prelude.seq` Prelude.rnf resourceType
+ gen/Amazonka/NetworkManager/Types/OrganizationStatus.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.OrganizationStatus+-- 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.NetworkManager.Types.OrganizationStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.AccountStatus+import qualified Amazonka.Prelude as Prelude++-- | The status of an Amazon Web Services Organization and the accounts+-- within that organization.+--+-- /See:/ 'newOrganizationStatus' smart constructor.+data OrganizationStatus = OrganizationStatus'+  { -- | The current service-linked role (SLR) deployment status for an Amazon+    -- Web Services Organization\'s accounts. This will be either @SUCCEEDED@+    -- or @IN_PROGRESS@.+    accountStatusList :: Prelude.Maybe [AccountStatus],+    -- | The status of the organization\'s AWS service access. This will be+    -- @ENABLED@ or @DISABLED@.+    organizationAwsServiceAccessStatus :: Prelude.Maybe Prelude.Text,+    -- | The ID of an Amazon Web Services Organization.+    organizationId :: Prelude.Maybe Prelude.Text,+    -- | The status of the SLR deployment for the account. This will be either+    -- @SUCCEEDED@ or @IN_PROGRESS@.+    sLRDeploymentStatus :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OrganizationStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountStatusList', 'organizationStatus_accountStatusList' - The current service-linked role (SLR) deployment status for an Amazon+-- Web Services Organization\'s accounts. This will be either @SUCCEEDED@+-- or @IN_PROGRESS@.+--+-- 'organizationAwsServiceAccessStatus', 'organizationStatus_organizationAwsServiceAccessStatus' - The status of the organization\'s AWS service access. This will be+-- @ENABLED@ or @DISABLED@.+--+-- 'organizationId', 'organizationStatus_organizationId' - The ID of an Amazon Web Services Organization.+--+-- 'sLRDeploymentStatus', 'organizationStatus_sLRDeploymentStatus' - The status of the SLR deployment for the account. This will be either+-- @SUCCEEDED@ or @IN_PROGRESS@.+newOrganizationStatus ::+  OrganizationStatus+newOrganizationStatus =+  OrganizationStatus'+    { accountStatusList =+        Prelude.Nothing,+      organizationAwsServiceAccessStatus = Prelude.Nothing,+      organizationId = Prelude.Nothing,+      sLRDeploymentStatus = Prelude.Nothing+    }++-- | The current service-linked role (SLR) deployment status for an Amazon+-- Web Services Organization\'s accounts. This will be either @SUCCEEDED@+-- or @IN_PROGRESS@.+organizationStatus_accountStatusList :: Lens.Lens' OrganizationStatus (Prelude.Maybe [AccountStatus])+organizationStatus_accountStatusList = Lens.lens (\OrganizationStatus' {accountStatusList} -> accountStatusList) (\s@OrganizationStatus' {} a -> s {accountStatusList = a} :: OrganizationStatus) Prelude.. Lens.mapping Lens.coerced++-- | The status of the organization\'s AWS service access. This will be+-- @ENABLED@ or @DISABLED@.+organizationStatus_organizationAwsServiceAccessStatus :: Lens.Lens' OrganizationStatus (Prelude.Maybe Prelude.Text)+organizationStatus_organizationAwsServiceAccessStatus = Lens.lens (\OrganizationStatus' {organizationAwsServiceAccessStatus} -> organizationAwsServiceAccessStatus) (\s@OrganizationStatus' {} a -> s {organizationAwsServiceAccessStatus = a} :: OrganizationStatus)++-- | The ID of an Amazon Web Services Organization.+organizationStatus_organizationId :: Lens.Lens' OrganizationStatus (Prelude.Maybe Prelude.Text)+organizationStatus_organizationId = Lens.lens (\OrganizationStatus' {organizationId} -> organizationId) (\s@OrganizationStatus' {} a -> s {organizationId = a} :: OrganizationStatus)++-- | The status of the SLR deployment for the account. This will be either+-- @SUCCEEDED@ or @IN_PROGRESS@.+organizationStatus_sLRDeploymentStatus :: Lens.Lens' OrganizationStatus (Prelude.Maybe Prelude.Text)+organizationStatus_sLRDeploymentStatus = Lens.lens (\OrganizationStatus' {sLRDeploymentStatus} -> sLRDeploymentStatus) (\s@OrganizationStatus' {} a -> s {sLRDeploymentStatus = a} :: OrganizationStatus)++instance Data.FromJSON OrganizationStatus where+  parseJSON =+    Data.withObject+      "OrganizationStatus"+      ( \x ->+          OrganizationStatus'+            Prelude.<$> ( x+                            Data..:? "AccountStatusList"+                            Data..!= Prelude.mempty+                        )+            Prelude.<*> (x Data..:? "OrganizationAwsServiceAccessStatus")+            Prelude.<*> (x Data..:? "OrganizationId")+            Prelude.<*> (x Data..:? "SLRDeploymentStatus")+      )++instance Prelude.Hashable OrganizationStatus where+  hashWithSalt _salt OrganizationStatus' {..} =+    _salt+      `Prelude.hashWithSalt` accountStatusList+      `Prelude.hashWithSalt` organizationAwsServiceAccessStatus+      `Prelude.hashWithSalt` organizationId+      `Prelude.hashWithSalt` sLRDeploymentStatus++instance Prelude.NFData OrganizationStatus where+  rnf OrganizationStatus' {..} =+    Prelude.rnf accountStatusList+      `Prelude.seq` Prelude.rnf organizationAwsServiceAccessStatus+      `Prelude.seq` Prelude.rnf organizationId+      `Prelude.seq` Prelude.rnf sLRDeploymentStatus
+ gen/Amazonka/NetworkManager/Types/PathComponent.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.PathComponent+-- 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.NetworkManager.Types.PathComponent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.NetworkResourceSummary+import qualified Amazonka.Prelude as Prelude++-- | Describes a path component.+--+-- /See:/ 'newPathComponent' smart constructor.+data PathComponent = PathComponent'+  { -- | The destination CIDR block in the route table.+    destinationCidrBlock :: Prelude.Maybe Prelude.Text,+    -- | The resource.+    resource :: Prelude.Maybe NetworkResourceSummary,+    -- | The sequence number in the path. The destination is 0.+    sequence :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PathComponent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destinationCidrBlock', 'pathComponent_destinationCidrBlock' - The destination CIDR block in the route table.+--+-- 'resource', 'pathComponent_resource' - The resource.+--+-- 'sequence', 'pathComponent_sequence' - The sequence number in the path. The destination is 0.+newPathComponent ::+  PathComponent+newPathComponent =+  PathComponent'+    { destinationCidrBlock =+        Prelude.Nothing,+      resource = Prelude.Nothing,+      sequence = Prelude.Nothing+    }++-- | The destination CIDR block in the route table.+pathComponent_destinationCidrBlock :: Lens.Lens' PathComponent (Prelude.Maybe Prelude.Text)+pathComponent_destinationCidrBlock = Lens.lens (\PathComponent' {destinationCidrBlock} -> destinationCidrBlock) (\s@PathComponent' {} a -> s {destinationCidrBlock = a} :: PathComponent)++-- | The resource.+pathComponent_resource :: Lens.Lens' PathComponent (Prelude.Maybe NetworkResourceSummary)+pathComponent_resource = Lens.lens (\PathComponent' {resource} -> resource) (\s@PathComponent' {} a -> s {resource = a} :: PathComponent)++-- | The sequence number in the path. The destination is 0.+pathComponent_sequence :: Lens.Lens' PathComponent (Prelude.Maybe Prelude.Int)+pathComponent_sequence = Lens.lens (\PathComponent' {sequence} -> sequence) (\s@PathComponent' {} a -> s {sequence = a} :: PathComponent)++instance Data.FromJSON PathComponent where+  parseJSON =+    Data.withObject+      "PathComponent"+      ( \x ->+          PathComponent'+            Prelude.<$> (x Data..:? "DestinationCidrBlock")+            Prelude.<*> (x Data..:? "Resource")+            Prelude.<*> (x Data..:? "Sequence")+      )++instance Prelude.Hashable PathComponent where+  hashWithSalt _salt PathComponent' {..} =+    _salt+      `Prelude.hashWithSalt` destinationCidrBlock+      `Prelude.hashWithSalt` resource+      `Prelude.hashWithSalt` sequence++instance Prelude.NFData PathComponent where+  rnf PathComponent' {..} =+    Prelude.rnf destinationCidrBlock+      `Prelude.seq` Prelude.rnf resource+      `Prelude.seq` Prelude.rnf sequence
+ gen/Amazonka/NetworkManager/Types/Peering.hs view
@@ -0,0 +1,183 @@+{-# 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.NetworkManager.Types.Peering+-- 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.NetworkManager.Types.Peering where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.PeeringState+import Amazonka.NetworkManager.Types.PeeringType+import Amazonka.NetworkManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Describes a peering connection.+--+-- /See:/ 'newPeering' smart constructor.+data Peering = Peering'+  { -- | The ARN of a core network.+    coreNetworkArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the core network for the peering request.+    coreNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The timestamp when the attachment peer was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The edge location for the peer.+    edgeLocation :: Prelude.Maybe Prelude.Text,+    -- | The ID of the account owner.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the peering attachment.+    peeringId :: Prelude.Maybe Prelude.Text,+    -- | The type of peering. This will be @TRANSIT_GATEWAY@.+    peeringType :: Prelude.Maybe PeeringType,+    -- | The resource ARN of the peer.+    resourceArn :: Prelude.Maybe Prelude.Text,+    -- | The current state of the peering connection.+    state :: Prelude.Maybe PeeringState,+    -- | The list of key-value tags associated with the peering.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Peering' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkArn', 'peering_coreNetworkArn' - The ARN of a core network.+--+-- 'coreNetworkId', 'peering_coreNetworkId' - The ID of the core network for the peering request.+--+-- 'createdAt', 'peering_createdAt' - The timestamp when the attachment peer was created.+--+-- 'edgeLocation', 'peering_edgeLocation' - The edge location for the peer.+--+-- 'ownerAccountId', 'peering_ownerAccountId' - The ID of the account owner.+--+-- 'peeringId', 'peering_peeringId' - The ID of the peering attachment.+--+-- 'peeringType', 'peering_peeringType' - The type of peering. This will be @TRANSIT_GATEWAY@.+--+-- 'resourceArn', 'peering_resourceArn' - The resource ARN of the peer.+--+-- 'state', 'peering_state' - The current state of the peering connection.+--+-- 'tags', 'peering_tags' - The list of key-value tags associated with the peering.+newPeering ::+  Peering+newPeering =+  Peering'+    { coreNetworkArn = Prelude.Nothing,+      coreNetworkId = Prelude.Nothing,+      createdAt = Prelude.Nothing,+      edgeLocation = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      peeringId = Prelude.Nothing,+      peeringType = Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The ARN of a core network.+peering_coreNetworkArn :: Lens.Lens' Peering (Prelude.Maybe Prelude.Text)+peering_coreNetworkArn = Lens.lens (\Peering' {coreNetworkArn} -> coreNetworkArn) (\s@Peering' {} a -> s {coreNetworkArn = a} :: Peering)++-- | The ID of the core network for the peering request.+peering_coreNetworkId :: Lens.Lens' Peering (Prelude.Maybe Prelude.Text)+peering_coreNetworkId = Lens.lens (\Peering' {coreNetworkId} -> coreNetworkId) (\s@Peering' {} a -> s {coreNetworkId = a} :: Peering)++-- | The timestamp when the attachment peer was created.+peering_createdAt :: Lens.Lens' Peering (Prelude.Maybe Prelude.UTCTime)+peering_createdAt = Lens.lens (\Peering' {createdAt} -> createdAt) (\s@Peering' {} a -> s {createdAt = a} :: Peering) Prelude.. Lens.mapping Data._Time++-- | The edge location for the peer.+peering_edgeLocation :: Lens.Lens' Peering (Prelude.Maybe Prelude.Text)+peering_edgeLocation = Lens.lens (\Peering' {edgeLocation} -> edgeLocation) (\s@Peering' {} a -> s {edgeLocation = a} :: Peering)++-- | The ID of the account owner.+peering_ownerAccountId :: Lens.Lens' Peering (Prelude.Maybe Prelude.Text)+peering_ownerAccountId = Lens.lens (\Peering' {ownerAccountId} -> ownerAccountId) (\s@Peering' {} a -> s {ownerAccountId = a} :: Peering)++-- | The ID of the peering attachment.+peering_peeringId :: Lens.Lens' Peering (Prelude.Maybe Prelude.Text)+peering_peeringId = Lens.lens (\Peering' {peeringId} -> peeringId) (\s@Peering' {} a -> s {peeringId = a} :: Peering)++-- | The type of peering. This will be @TRANSIT_GATEWAY@.+peering_peeringType :: Lens.Lens' Peering (Prelude.Maybe PeeringType)+peering_peeringType = Lens.lens (\Peering' {peeringType} -> peeringType) (\s@Peering' {} a -> s {peeringType = a} :: Peering)++-- | The resource ARN of the peer.+peering_resourceArn :: Lens.Lens' Peering (Prelude.Maybe Prelude.Text)+peering_resourceArn = Lens.lens (\Peering' {resourceArn} -> resourceArn) (\s@Peering' {} a -> s {resourceArn = a} :: Peering)++-- | The current state of the peering connection.+peering_state :: Lens.Lens' Peering (Prelude.Maybe PeeringState)+peering_state = Lens.lens (\Peering' {state} -> state) (\s@Peering' {} a -> s {state = a} :: Peering)++-- | The list of key-value tags associated with the peering.+peering_tags :: Lens.Lens' Peering (Prelude.Maybe [Tag])+peering_tags = Lens.lens (\Peering' {tags} -> tags) (\s@Peering' {} a -> s {tags = a} :: Peering) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Peering where+  parseJSON =+    Data.withObject+      "Peering"+      ( \x ->+          Peering'+            Prelude.<$> (x Data..:? "CoreNetworkArn")+            Prelude.<*> (x Data..:? "CoreNetworkId")+            Prelude.<*> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "EdgeLocation")+            Prelude.<*> (x Data..:? "OwnerAccountId")+            Prelude.<*> (x Data..:? "PeeringId")+            Prelude.<*> (x Data..:? "PeeringType")+            Prelude.<*> (x Data..:? "ResourceArn")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable Peering where+  hashWithSalt _salt Peering' {..} =+    _salt+      `Prelude.hashWithSalt` coreNetworkArn+      `Prelude.hashWithSalt` coreNetworkId+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` edgeLocation+      `Prelude.hashWithSalt` ownerAccountId+      `Prelude.hashWithSalt` peeringId+      `Prelude.hashWithSalt` peeringType+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags++instance Prelude.NFData Peering where+  rnf Peering' {..} =+    Prelude.rnf coreNetworkArn+      `Prelude.seq` Prelude.rnf coreNetworkId+      `Prelude.seq` Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf edgeLocation+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf peeringId+      `Prelude.seq` Prelude.rnf peeringType+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/NetworkManager/Types/PeeringState.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.NetworkManager.Types.PeeringState+-- 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.NetworkManager.Types.PeeringState+  ( PeeringState+      ( ..,+        PeeringState_AVAILABLE,+        PeeringState_CREATING,+        PeeringState_DELETING,+        PeeringState_FAILED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PeeringState = PeeringState'+  { fromPeeringState ::+      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 PeeringState_AVAILABLE :: PeeringState+pattern PeeringState_AVAILABLE = PeeringState' "AVAILABLE"++pattern PeeringState_CREATING :: PeeringState+pattern PeeringState_CREATING = PeeringState' "CREATING"++pattern PeeringState_DELETING :: PeeringState+pattern PeeringState_DELETING = PeeringState' "DELETING"++pattern PeeringState_FAILED :: PeeringState+pattern PeeringState_FAILED = PeeringState' "FAILED"++{-# COMPLETE+  PeeringState_AVAILABLE,+  PeeringState_CREATING,+  PeeringState_DELETING,+  PeeringState_FAILED,+  PeeringState'+  #-}
+ gen/Amazonka/NetworkManager/Types/PeeringType.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.NetworkManager.Types.PeeringType+-- 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.NetworkManager.Types.PeeringType+  ( PeeringType+      ( ..,+        PeeringType_TRANSIT_GATEWAY+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PeeringType = PeeringType'+  { fromPeeringType ::+      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 PeeringType_TRANSIT_GATEWAY :: PeeringType+pattern PeeringType_TRANSIT_GATEWAY = PeeringType' "TRANSIT_GATEWAY"++{-# COMPLETE+  PeeringType_TRANSIT_GATEWAY,+  PeeringType'+  #-}
+ gen/Amazonka/NetworkManager/Types/ProposedSegmentChange.hs view
@@ -0,0 +1,99 @@+{-# 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.NetworkManager.Types.ProposedSegmentChange+-- 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.NetworkManager.Types.ProposedSegmentChange where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Describes a proposed segment change. In some cases, the segment change+-- must first be evaluated and accepted.+--+-- /See:/ 'newProposedSegmentChange' smart constructor.+data ProposedSegmentChange = ProposedSegmentChange'+  { -- | The rule number in the policy document that applies to this change.+    attachmentPolicyRuleNumber :: Prelude.Maybe Prelude.Int,+    -- | The name of the segment to change.+    segmentName :: Prelude.Maybe Prelude.Text,+    -- | The list of key-value tags that changed for the segment.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProposedSegmentChange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachmentPolicyRuleNumber', 'proposedSegmentChange_attachmentPolicyRuleNumber' - The rule number in the policy document that applies to this change.+--+-- 'segmentName', 'proposedSegmentChange_segmentName' - The name of the segment to change.+--+-- 'tags', 'proposedSegmentChange_tags' - The list of key-value tags that changed for the segment.+newProposedSegmentChange ::+  ProposedSegmentChange+newProposedSegmentChange =+  ProposedSegmentChange'+    { attachmentPolicyRuleNumber =+        Prelude.Nothing,+      segmentName = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The rule number in the policy document that applies to this change.+proposedSegmentChange_attachmentPolicyRuleNumber :: Lens.Lens' ProposedSegmentChange (Prelude.Maybe Prelude.Int)+proposedSegmentChange_attachmentPolicyRuleNumber = Lens.lens (\ProposedSegmentChange' {attachmentPolicyRuleNumber} -> attachmentPolicyRuleNumber) (\s@ProposedSegmentChange' {} a -> s {attachmentPolicyRuleNumber = a} :: ProposedSegmentChange)++-- | The name of the segment to change.+proposedSegmentChange_segmentName :: Lens.Lens' ProposedSegmentChange (Prelude.Maybe Prelude.Text)+proposedSegmentChange_segmentName = Lens.lens (\ProposedSegmentChange' {segmentName} -> segmentName) (\s@ProposedSegmentChange' {} a -> s {segmentName = a} :: ProposedSegmentChange)++-- | The list of key-value tags that changed for the segment.+proposedSegmentChange_tags :: Lens.Lens' ProposedSegmentChange (Prelude.Maybe [Tag])+proposedSegmentChange_tags = Lens.lens (\ProposedSegmentChange' {tags} -> tags) (\s@ProposedSegmentChange' {} a -> s {tags = a} :: ProposedSegmentChange) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON ProposedSegmentChange where+  parseJSON =+    Data.withObject+      "ProposedSegmentChange"+      ( \x ->+          ProposedSegmentChange'+            Prelude.<$> (x Data..:? "AttachmentPolicyRuleNumber")+            Prelude.<*> (x Data..:? "SegmentName")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable ProposedSegmentChange where+  hashWithSalt _salt ProposedSegmentChange' {..} =+    _salt+      `Prelude.hashWithSalt` attachmentPolicyRuleNumber+      `Prelude.hashWithSalt` segmentName+      `Prelude.hashWithSalt` tags++instance Prelude.NFData ProposedSegmentChange where+  rnf ProposedSegmentChange' {..} =+    Prelude.rnf attachmentPolicyRuleNumber+      `Prelude.seq` Prelude.rnf segmentName+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/NetworkManager/Types/Relationship.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.NetworkManager.Types.Relationship+-- 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.NetworkManager.Types.Relationship 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++-- | Describes a resource relationship.+--+-- /See:/ 'newRelationship' smart constructor.+data Relationship = Relationship'+  { -- | The ARN of the resource.+    from :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the resource.+    to :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Relationship' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'from', 'relationship_from' - The ARN of the resource.+--+-- 'to', 'relationship_to' - The ARN of the resource.+newRelationship ::+  Relationship+newRelationship =+  Relationship'+    { from = Prelude.Nothing,+      to = Prelude.Nothing+    }++-- | The ARN of the resource.+relationship_from :: Lens.Lens' Relationship (Prelude.Maybe Prelude.Text)+relationship_from = Lens.lens (\Relationship' {from} -> from) (\s@Relationship' {} a -> s {from = a} :: Relationship)++-- | The ARN of the resource.+relationship_to :: Lens.Lens' Relationship (Prelude.Maybe Prelude.Text)+relationship_to = Lens.lens (\Relationship' {to} -> to) (\s@Relationship' {} a -> s {to = a} :: Relationship)++instance Data.FromJSON Relationship where+  parseJSON =+    Data.withObject+      "Relationship"+      ( \x ->+          Relationship'+            Prelude.<$> (x Data..:? "From")+            Prelude.<*> (x Data..:? "To")+      )++instance Prelude.Hashable Relationship where+  hashWithSalt _salt Relationship' {..} =+    _salt+      `Prelude.hashWithSalt` from+      `Prelude.hashWithSalt` to++instance Prelude.NFData Relationship where+  rnf Relationship' {..} =+    Prelude.rnf from `Prelude.seq` Prelude.rnf to
+ gen/Amazonka/NetworkManager/Types/RouteAnalysis.hs view
@@ -0,0 +1,201 @@+{-# 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.NetworkManager.Types.RouteAnalysis+-- 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.NetworkManager.Types.RouteAnalysis where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.RouteAnalysisEndpointOptions+import Amazonka.NetworkManager.Types.RouteAnalysisPath+import Amazonka.NetworkManager.Types.RouteAnalysisStatus+import qualified Amazonka.Prelude as Prelude++-- | Describes a route analysis.+--+-- /See:/ 'newRouteAnalysis' smart constructor.+data RouteAnalysis = RouteAnalysis'+  { -- | The destination.+    destination :: Prelude.Maybe RouteAnalysisEndpointOptions,+    -- | The forward path.+    forwardPath :: Prelude.Maybe RouteAnalysisPath,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether to analyze the return path. The return path is not+    -- analyzed if the forward path analysis does not succeed.+    includeReturnPath :: Prelude.Maybe Prelude.Bool,+    -- | The ID of the AWS account that created the route analysis.+    ownerAccountId :: Prelude.Maybe Prelude.Text,+    -- | The return path.+    returnPath :: Prelude.Maybe RouteAnalysisPath,+    -- | The ID of the route analysis.+    routeAnalysisId :: Prelude.Maybe Prelude.Text,+    -- | The source.+    source :: Prelude.Maybe RouteAnalysisEndpointOptions,+    -- | The time that the analysis started.+    startTimestamp :: Prelude.Maybe Data.POSIX,+    -- | The status of the route analysis.+    status :: Prelude.Maybe RouteAnalysisStatus,+    -- | Indicates whether to include the location of middlebox appliances in the+    -- route analysis.+    useMiddleboxes :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RouteAnalysis' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destination', 'routeAnalysis_destination' - The destination.+--+-- 'forwardPath', 'routeAnalysis_forwardPath' - The forward path.+--+-- 'globalNetworkId', 'routeAnalysis_globalNetworkId' - The ID of the global network.+--+-- 'includeReturnPath', 'routeAnalysis_includeReturnPath' - Indicates whether to analyze the return path. The return path is not+-- analyzed if the forward path analysis does not succeed.+--+-- 'ownerAccountId', 'routeAnalysis_ownerAccountId' - The ID of the AWS account that created the route analysis.+--+-- 'returnPath', 'routeAnalysis_returnPath' - The return path.+--+-- 'routeAnalysisId', 'routeAnalysis_routeAnalysisId' - The ID of the route analysis.+--+-- 'source', 'routeAnalysis_source' - The source.+--+-- 'startTimestamp', 'routeAnalysis_startTimestamp' - The time that the analysis started.+--+-- 'status', 'routeAnalysis_status' - The status of the route analysis.+--+-- 'useMiddleboxes', 'routeAnalysis_useMiddleboxes' - Indicates whether to include the location of middlebox appliances in the+-- route analysis.+newRouteAnalysis ::+  RouteAnalysis+newRouteAnalysis =+  RouteAnalysis'+    { destination = Prelude.Nothing,+      forwardPath = Prelude.Nothing,+      globalNetworkId = Prelude.Nothing,+      includeReturnPath = Prelude.Nothing,+      ownerAccountId = Prelude.Nothing,+      returnPath = Prelude.Nothing,+      routeAnalysisId = Prelude.Nothing,+      source = Prelude.Nothing,+      startTimestamp = Prelude.Nothing,+      status = Prelude.Nothing,+      useMiddleboxes = Prelude.Nothing+    }++-- | The destination.+routeAnalysis_destination :: Lens.Lens' RouteAnalysis (Prelude.Maybe RouteAnalysisEndpointOptions)+routeAnalysis_destination = Lens.lens (\RouteAnalysis' {destination} -> destination) (\s@RouteAnalysis' {} a -> s {destination = a} :: RouteAnalysis)++-- | The forward path.+routeAnalysis_forwardPath :: Lens.Lens' RouteAnalysis (Prelude.Maybe RouteAnalysisPath)+routeAnalysis_forwardPath = Lens.lens (\RouteAnalysis' {forwardPath} -> forwardPath) (\s@RouteAnalysis' {} a -> s {forwardPath = a} :: RouteAnalysis)++-- | The ID of the global network.+routeAnalysis_globalNetworkId :: Lens.Lens' RouteAnalysis (Prelude.Maybe Prelude.Text)+routeAnalysis_globalNetworkId = Lens.lens (\RouteAnalysis' {globalNetworkId} -> globalNetworkId) (\s@RouteAnalysis' {} a -> s {globalNetworkId = a} :: RouteAnalysis)++-- | Indicates whether to analyze the return path. The return path is not+-- analyzed if the forward path analysis does not succeed.+routeAnalysis_includeReturnPath :: Lens.Lens' RouteAnalysis (Prelude.Maybe Prelude.Bool)+routeAnalysis_includeReturnPath = Lens.lens (\RouteAnalysis' {includeReturnPath} -> includeReturnPath) (\s@RouteAnalysis' {} a -> s {includeReturnPath = a} :: RouteAnalysis)++-- | The ID of the AWS account that created the route analysis.+routeAnalysis_ownerAccountId :: Lens.Lens' RouteAnalysis (Prelude.Maybe Prelude.Text)+routeAnalysis_ownerAccountId = Lens.lens (\RouteAnalysis' {ownerAccountId} -> ownerAccountId) (\s@RouteAnalysis' {} a -> s {ownerAccountId = a} :: RouteAnalysis)++-- | The return path.+routeAnalysis_returnPath :: Lens.Lens' RouteAnalysis (Prelude.Maybe RouteAnalysisPath)+routeAnalysis_returnPath = Lens.lens (\RouteAnalysis' {returnPath} -> returnPath) (\s@RouteAnalysis' {} a -> s {returnPath = a} :: RouteAnalysis)++-- | The ID of the route analysis.+routeAnalysis_routeAnalysisId :: Lens.Lens' RouteAnalysis (Prelude.Maybe Prelude.Text)+routeAnalysis_routeAnalysisId = Lens.lens (\RouteAnalysis' {routeAnalysisId} -> routeAnalysisId) (\s@RouteAnalysis' {} a -> s {routeAnalysisId = a} :: RouteAnalysis)++-- | The source.+routeAnalysis_source :: Lens.Lens' RouteAnalysis (Prelude.Maybe RouteAnalysisEndpointOptions)+routeAnalysis_source = Lens.lens (\RouteAnalysis' {source} -> source) (\s@RouteAnalysis' {} a -> s {source = a} :: RouteAnalysis)++-- | The time that the analysis started.+routeAnalysis_startTimestamp :: Lens.Lens' RouteAnalysis (Prelude.Maybe Prelude.UTCTime)+routeAnalysis_startTimestamp = Lens.lens (\RouteAnalysis' {startTimestamp} -> startTimestamp) (\s@RouteAnalysis' {} a -> s {startTimestamp = a} :: RouteAnalysis) Prelude.. Lens.mapping Data._Time++-- | The status of the route analysis.+routeAnalysis_status :: Lens.Lens' RouteAnalysis (Prelude.Maybe RouteAnalysisStatus)+routeAnalysis_status = Lens.lens (\RouteAnalysis' {status} -> status) (\s@RouteAnalysis' {} a -> s {status = a} :: RouteAnalysis)++-- | Indicates whether to include the location of middlebox appliances in the+-- route analysis.+routeAnalysis_useMiddleboxes :: Lens.Lens' RouteAnalysis (Prelude.Maybe Prelude.Bool)+routeAnalysis_useMiddleboxes = Lens.lens (\RouteAnalysis' {useMiddleboxes} -> useMiddleboxes) (\s@RouteAnalysis' {} a -> s {useMiddleboxes = a} :: RouteAnalysis)++instance Data.FromJSON RouteAnalysis where+  parseJSON =+    Data.withObject+      "RouteAnalysis"+      ( \x ->+          RouteAnalysis'+            Prelude.<$> (x Data..:? "Destination")+            Prelude.<*> (x Data..:? "ForwardPath")+            Prelude.<*> (x Data..:? "GlobalNetworkId")+            Prelude.<*> (x Data..:? "IncludeReturnPath")+            Prelude.<*> (x Data..:? "OwnerAccountId")+            Prelude.<*> (x Data..:? "ReturnPath")+            Prelude.<*> (x Data..:? "RouteAnalysisId")+            Prelude.<*> (x Data..:? "Source")+            Prelude.<*> (x Data..:? "StartTimestamp")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "UseMiddleboxes")+      )++instance Prelude.Hashable RouteAnalysis where+  hashWithSalt _salt RouteAnalysis' {..} =+    _salt+      `Prelude.hashWithSalt` destination+      `Prelude.hashWithSalt` forwardPath+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` includeReturnPath+      `Prelude.hashWithSalt` ownerAccountId+      `Prelude.hashWithSalt` returnPath+      `Prelude.hashWithSalt` routeAnalysisId+      `Prelude.hashWithSalt` source+      `Prelude.hashWithSalt` startTimestamp+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` useMiddleboxes++instance Prelude.NFData RouteAnalysis where+  rnf RouteAnalysis' {..} =+    Prelude.rnf destination+      `Prelude.seq` Prelude.rnf forwardPath+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf includeReturnPath+      `Prelude.seq` Prelude.rnf ownerAccountId+      `Prelude.seq` Prelude.rnf returnPath+      `Prelude.seq` Prelude.rnf routeAnalysisId+      `Prelude.seq` Prelude.rnf source+      `Prelude.seq` Prelude.rnf startTimestamp+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf useMiddleboxes
+ gen/Amazonka/NetworkManager/Types/RouteAnalysisCompletion.hs view
@@ -0,0 +1,183 @@+{-# 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.NetworkManager.Types.RouteAnalysisCompletion+-- 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.NetworkManager.Types.RouteAnalysisCompletion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.RouteAnalysisCompletionReasonCode+import Amazonka.NetworkManager.Types.RouteAnalysisCompletionResultCode+import qualified Amazonka.Prelude as Prelude++-- | Describes the status of an analysis at completion.+--+-- /See:/ 'newRouteAnalysisCompletion' smart constructor.+data RouteAnalysisCompletion = RouteAnalysisCompletion'+  { -- | The reason code. Available only if a connection is not found.+    --+    -- -   @BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND@ - Found a black hole route+    --     with the destination CIDR block.+    --+    -- -   @CYCLIC_PATH_DETECTED@ - Found the same resource multiple times+    --     while traversing the path.+    --+    -- -   @INACTIVE_ROUTE_FOR_DESTINATION_FOUND@ - Found an inactive route+    --     with the destination CIDR block.+    --+    -- -   @MAX_HOPS_EXCEEDED@ - Analysis exceeded 64 hops without finding the+    --     destination.+    --+    -- -   @ROUTE_NOT_FOUND@ - Cannot find a route table with the destination+    --     CIDR block.+    --+    -- -   @TGW_ATTACH_ARN_NO_MATCH@ - Found an attachment, but not with the+    --     correct destination ARN.+    --+    -- -   @TGW_ATTACH_NOT_FOUND@ - Cannot find an attachment.+    --+    -- -   @TGW_ATTACH_NOT_IN_TGW@ - Found an attachment, but not to the+    --     correct transit gateway.+    --+    -- -   @TGW_ATTACH_STABLE_ROUTE_TABLE_NOT_FOUND@ - The state of the route+    --     table association is not associated.+    reasonCode :: Prelude.Maybe RouteAnalysisCompletionReasonCode,+    -- | Additional information about the path. Available only if a connection is+    -- not found.+    reasonContext :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The result of the analysis. If the status is @NOT_CONNECTED@, check the+    -- reason code.+    resultCode :: Prelude.Maybe RouteAnalysisCompletionResultCode+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RouteAnalysisCompletion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'reasonCode', 'routeAnalysisCompletion_reasonCode' - The reason code. Available only if a connection is not found.+--+-- -   @BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND@ - Found a black hole route+--     with the destination CIDR block.+--+-- -   @CYCLIC_PATH_DETECTED@ - Found the same resource multiple times+--     while traversing the path.+--+-- -   @INACTIVE_ROUTE_FOR_DESTINATION_FOUND@ - Found an inactive route+--     with the destination CIDR block.+--+-- -   @MAX_HOPS_EXCEEDED@ - Analysis exceeded 64 hops without finding the+--     destination.+--+-- -   @ROUTE_NOT_FOUND@ - Cannot find a route table with the destination+--     CIDR block.+--+-- -   @TGW_ATTACH_ARN_NO_MATCH@ - Found an attachment, but not with the+--     correct destination ARN.+--+-- -   @TGW_ATTACH_NOT_FOUND@ - Cannot find an attachment.+--+-- -   @TGW_ATTACH_NOT_IN_TGW@ - Found an attachment, but not to the+--     correct transit gateway.+--+-- -   @TGW_ATTACH_STABLE_ROUTE_TABLE_NOT_FOUND@ - The state of the route+--     table association is not associated.+--+-- 'reasonContext', 'routeAnalysisCompletion_reasonContext' - Additional information about the path. Available only if a connection is+-- not found.+--+-- 'resultCode', 'routeAnalysisCompletion_resultCode' - The result of the analysis. If the status is @NOT_CONNECTED@, check the+-- reason code.+newRouteAnalysisCompletion ::+  RouteAnalysisCompletion+newRouteAnalysisCompletion =+  RouteAnalysisCompletion'+    { reasonCode =+        Prelude.Nothing,+      reasonContext = Prelude.Nothing,+      resultCode = Prelude.Nothing+    }++-- | The reason code. Available only if a connection is not found.+--+-- -   @BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND@ - Found a black hole route+--     with the destination CIDR block.+--+-- -   @CYCLIC_PATH_DETECTED@ - Found the same resource multiple times+--     while traversing the path.+--+-- -   @INACTIVE_ROUTE_FOR_DESTINATION_FOUND@ - Found an inactive route+--     with the destination CIDR block.+--+-- -   @MAX_HOPS_EXCEEDED@ - Analysis exceeded 64 hops without finding the+--     destination.+--+-- -   @ROUTE_NOT_FOUND@ - Cannot find a route table with the destination+--     CIDR block.+--+-- -   @TGW_ATTACH_ARN_NO_MATCH@ - Found an attachment, but not with the+--     correct destination ARN.+--+-- -   @TGW_ATTACH_NOT_FOUND@ - Cannot find an attachment.+--+-- -   @TGW_ATTACH_NOT_IN_TGW@ - Found an attachment, but not to the+--     correct transit gateway.+--+-- -   @TGW_ATTACH_STABLE_ROUTE_TABLE_NOT_FOUND@ - The state of the route+--     table association is not associated.+routeAnalysisCompletion_reasonCode :: Lens.Lens' RouteAnalysisCompletion (Prelude.Maybe RouteAnalysisCompletionReasonCode)+routeAnalysisCompletion_reasonCode = Lens.lens (\RouteAnalysisCompletion' {reasonCode} -> reasonCode) (\s@RouteAnalysisCompletion' {} a -> s {reasonCode = a} :: RouteAnalysisCompletion)++-- | Additional information about the path. Available only if a connection is+-- not found.+routeAnalysisCompletion_reasonContext :: Lens.Lens' RouteAnalysisCompletion (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+routeAnalysisCompletion_reasonContext = Lens.lens (\RouteAnalysisCompletion' {reasonContext} -> reasonContext) (\s@RouteAnalysisCompletion' {} a -> s {reasonContext = a} :: RouteAnalysisCompletion) Prelude.. Lens.mapping Lens.coerced++-- | The result of the analysis. If the status is @NOT_CONNECTED@, check the+-- reason code.+routeAnalysisCompletion_resultCode :: Lens.Lens' RouteAnalysisCompletion (Prelude.Maybe RouteAnalysisCompletionResultCode)+routeAnalysisCompletion_resultCode = Lens.lens (\RouteAnalysisCompletion' {resultCode} -> resultCode) (\s@RouteAnalysisCompletion' {} a -> s {resultCode = a} :: RouteAnalysisCompletion)++instance Data.FromJSON RouteAnalysisCompletion where+  parseJSON =+    Data.withObject+      "RouteAnalysisCompletion"+      ( \x ->+          RouteAnalysisCompletion'+            Prelude.<$> (x Data..:? "ReasonCode")+            Prelude.<*> (x Data..:? "ReasonContext" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "ResultCode")+      )++instance Prelude.Hashable RouteAnalysisCompletion where+  hashWithSalt _salt RouteAnalysisCompletion' {..} =+    _salt+      `Prelude.hashWithSalt` reasonCode+      `Prelude.hashWithSalt` reasonContext+      `Prelude.hashWithSalt` resultCode++instance Prelude.NFData RouteAnalysisCompletion where+  rnf RouteAnalysisCompletion' {..} =+    Prelude.rnf reasonCode+      `Prelude.seq` Prelude.rnf reasonContext+      `Prelude.seq` Prelude.rnf resultCode
+ gen/Amazonka/NetworkManager/Types/RouteAnalysisCompletionReasonCode.hs view
@@ -0,0 +1,116 @@+{-# 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.NetworkManager.Types.RouteAnalysisCompletionReasonCode+-- 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.NetworkManager.Types.RouteAnalysisCompletionReasonCode+  ( RouteAnalysisCompletionReasonCode+      ( ..,+        RouteAnalysisCompletionReasonCode_BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND,+        RouteAnalysisCompletionReasonCode_CYCLIC_PATH_DETECTED,+        RouteAnalysisCompletionReasonCode_INACTIVE_ROUTE_FOR_DESTINATION_FOUND,+        RouteAnalysisCompletionReasonCode_MAX_HOPS_EXCEEDED,+        RouteAnalysisCompletionReasonCode_NO_DESTINATION_ARN_PROVIDED,+        RouteAnalysisCompletionReasonCode_POSSIBLE_MIDDLEBOX,+        RouteAnalysisCompletionReasonCode_ROUTE_NOT_FOUND,+        RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH,+        RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND,+        RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY,+        RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RouteAnalysisCompletionReasonCode = RouteAnalysisCompletionReasonCode'+  { fromRouteAnalysisCompletionReasonCode ::+      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 RouteAnalysisCompletionReasonCode_BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND :: RouteAnalysisCompletionReasonCode+pattern RouteAnalysisCompletionReasonCode_BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND = RouteAnalysisCompletionReasonCode' "BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND"++pattern RouteAnalysisCompletionReasonCode_CYCLIC_PATH_DETECTED :: RouteAnalysisCompletionReasonCode+pattern RouteAnalysisCompletionReasonCode_CYCLIC_PATH_DETECTED = RouteAnalysisCompletionReasonCode' "CYCLIC_PATH_DETECTED"++pattern RouteAnalysisCompletionReasonCode_INACTIVE_ROUTE_FOR_DESTINATION_FOUND :: RouteAnalysisCompletionReasonCode+pattern RouteAnalysisCompletionReasonCode_INACTIVE_ROUTE_FOR_DESTINATION_FOUND = RouteAnalysisCompletionReasonCode' "INACTIVE_ROUTE_FOR_DESTINATION_FOUND"++pattern RouteAnalysisCompletionReasonCode_MAX_HOPS_EXCEEDED :: RouteAnalysisCompletionReasonCode+pattern RouteAnalysisCompletionReasonCode_MAX_HOPS_EXCEEDED = RouteAnalysisCompletionReasonCode' "MAX_HOPS_EXCEEDED"++pattern RouteAnalysisCompletionReasonCode_NO_DESTINATION_ARN_PROVIDED :: RouteAnalysisCompletionReasonCode+pattern RouteAnalysisCompletionReasonCode_NO_DESTINATION_ARN_PROVIDED = RouteAnalysisCompletionReasonCode' "NO_DESTINATION_ARN_PROVIDED"++pattern RouteAnalysisCompletionReasonCode_POSSIBLE_MIDDLEBOX :: RouteAnalysisCompletionReasonCode+pattern RouteAnalysisCompletionReasonCode_POSSIBLE_MIDDLEBOX = RouteAnalysisCompletionReasonCode' "POSSIBLE_MIDDLEBOX"++pattern RouteAnalysisCompletionReasonCode_ROUTE_NOT_FOUND :: RouteAnalysisCompletionReasonCode+pattern RouteAnalysisCompletionReasonCode_ROUTE_NOT_FOUND = RouteAnalysisCompletionReasonCode' "ROUTE_NOT_FOUND"++pattern RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH :: RouteAnalysisCompletionReasonCode+pattern RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH = RouteAnalysisCompletionReasonCode' "TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH"++pattern RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND :: RouteAnalysisCompletionReasonCode+pattern RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND = RouteAnalysisCompletionReasonCode' "TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND"++pattern RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY :: RouteAnalysisCompletionReasonCode+pattern RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY = RouteAnalysisCompletionReasonCode' "TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY"++pattern RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND :: RouteAnalysisCompletionReasonCode+pattern RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND = RouteAnalysisCompletionReasonCode' "TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND"++{-# COMPLETE+  RouteAnalysisCompletionReasonCode_BLACKHOLE_ROUTE_FOR_DESTINATION_FOUND,+  RouteAnalysisCompletionReasonCode_CYCLIC_PATH_DETECTED,+  RouteAnalysisCompletionReasonCode_INACTIVE_ROUTE_FOR_DESTINATION_FOUND,+  RouteAnalysisCompletionReasonCode_MAX_HOPS_EXCEEDED,+  RouteAnalysisCompletionReasonCode_NO_DESTINATION_ARN_PROVIDED,+  RouteAnalysisCompletionReasonCode_POSSIBLE_MIDDLEBOX,+  RouteAnalysisCompletionReasonCode_ROUTE_NOT_FOUND,+  RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_ATTACH_ARN_NO_MATCH,+  RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_NOT_FOUND,+  RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_NOT_IN_TRANSIT_GATEWAY,+  RouteAnalysisCompletionReasonCode_TRANSIT_GATEWAY_ATTACHMENT_STABLE_ROUTE_TABLE_NOT_FOUND,+  RouteAnalysisCompletionReasonCode'+  #-}
+ gen/Amazonka/NetworkManager/Types/RouteAnalysisCompletionResultCode.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.NetworkManager.Types.RouteAnalysisCompletionResultCode+-- 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.NetworkManager.Types.RouteAnalysisCompletionResultCode+  ( RouteAnalysisCompletionResultCode+      ( ..,+        RouteAnalysisCompletionResultCode_CONNECTED,+        RouteAnalysisCompletionResultCode_NOT_CONNECTED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RouteAnalysisCompletionResultCode = RouteAnalysisCompletionResultCode'+  { fromRouteAnalysisCompletionResultCode ::+      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 RouteAnalysisCompletionResultCode_CONNECTED :: RouteAnalysisCompletionResultCode+pattern RouteAnalysisCompletionResultCode_CONNECTED = RouteAnalysisCompletionResultCode' "CONNECTED"++pattern RouteAnalysisCompletionResultCode_NOT_CONNECTED :: RouteAnalysisCompletionResultCode+pattern RouteAnalysisCompletionResultCode_NOT_CONNECTED = RouteAnalysisCompletionResultCode' "NOT_CONNECTED"++{-# COMPLETE+  RouteAnalysisCompletionResultCode_CONNECTED,+  RouteAnalysisCompletionResultCode_NOT_CONNECTED,+  RouteAnalysisCompletionResultCode'+  #-}
+ gen/Amazonka/NetworkManager/Types/RouteAnalysisEndpointOptions.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.RouteAnalysisEndpointOptions+-- 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.NetworkManager.Types.RouteAnalysisEndpointOptions 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++-- | Describes a source or a destination.+--+-- /See:/ 'newRouteAnalysisEndpointOptions' smart constructor.+data RouteAnalysisEndpointOptions = RouteAnalysisEndpointOptions'+  { -- | The IP address.+    ipAddress :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the transit gateway.+    transitGatewayArn :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the transit gateway attachment.+    transitGatewayAttachmentArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RouteAnalysisEndpointOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ipAddress', 'routeAnalysisEndpointOptions_ipAddress' - The IP address.+--+-- 'transitGatewayArn', 'routeAnalysisEndpointOptions_transitGatewayArn' - The ARN of the transit gateway.+--+-- 'transitGatewayAttachmentArn', 'routeAnalysisEndpointOptions_transitGatewayAttachmentArn' - The ARN of the transit gateway attachment.+newRouteAnalysisEndpointOptions ::+  RouteAnalysisEndpointOptions+newRouteAnalysisEndpointOptions =+  RouteAnalysisEndpointOptions'+    { ipAddress =+        Prelude.Nothing,+      transitGatewayArn = Prelude.Nothing,+      transitGatewayAttachmentArn = Prelude.Nothing+    }++-- | The IP address.+routeAnalysisEndpointOptions_ipAddress :: Lens.Lens' RouteAnalysisEndpointOptions (Prelude.Maybe Prelude.Text)+routeAnalysisEndpointOptions_ipAddress = Lens.lens (\RouteAnalysisEndpointOptions' {ipAddress} -> ipAddress) (\s@RouteAnalysisEndpointOptions' {} a -> s {ipAddress = a} :: RouteAnalysisEndpointOptions)++-- | The ARN of the transit gateway.+routeAnalysisEndpointOptions_transitGatewayArn :: Lens.Lens' RouteAnalysisEndpointOptions (Prelude.Maybe Prelude.Text)+routeAnalysisEndpointOptions_transitGatewayArn = Lens.lens (\RouteAnalysisEndpointOptions' {transitGatewayArn} -> transitGatewayArn) (\s@RouteAnalysisEndpointOptions' {} a -> s {transitGatewayArn = a} :: RouteAnalysisEndpointOptions)++-- | The ARN of the transit gateway attachment.+routeAnalysisEndpointOptions_transitGatewayAttachmentArn :: Lens.Lens' RouteAnalysisEndpointOptions (Prelude.Maybe Prelude.Text)+routeAnalysisEndpointOptions_transitGatewayAttachmentArn = Lens.lens (\RouteAnalysisEndpointOptions' {transitGatewayAttachmentArn} -> transitGatewayAttachmentArn) (\s@RouteAnalysisEndpointOptions' {} a -> s {transitGatewayAttachmentArn = a} :: RouteAnalysisEndpointOptions)++instance Data.FromJSON RouteAnalysisEndpointOptions where+  parseJSON =+    Data.withObject+      "RouteAnalysisEndpointOptions"+      ( \x ->+          RouteAnalysisEndpointOptions'+            Prelude.<$> (x Data..:? "IpAddress")+            Prelude.<*> (x Data..:? "TransitGatewayArn")+            Prelude.<*> (x Data..:? "TransitGatewayAttachmentArn")+      )++instance+  Prelude.Hashable+    RouteAnalysisEndpointOptions+  where+  hashWithSalt _salt RouteAnalysisEndpointOptions' {..} =+    _salt+      `Prelude.hashWithSalt` ipAddress+      `Prelude.hashWithSalt` transitGatewayArn+      `Prelude.hashWithSalt` transitGatewayAttachmentArn++instance Prelude.NFData RouteAnalysisEndpointOptions where+  rnf RouteAnalysisEndpointOptions' {..} =+    Prelude.rnf ipAddress+      `Prelude.seq` Prelude.rnf transitGatewayArn+      `Prelude.seq` Prelude.rnf transitGatewayAttachmentArn
+ gen/Amazonka/NetworkManager/Types/RouteAnalysisEndpointOptionsSpecification.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.RouteAnalysisEndpointOptionsSpecification+-- 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.NetworkManager.Types.RouteAnalysisEndpointOptionsSpecification 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++-- | Describes a source or a destination.+--+-- /See:/ 'newRouteAnalysisEndpointOptionsSpecification' smart constructor.+data RouteAnalysisEndpointOptionsSpecification = RouteAnalysisEndpointOptionsSpecification'+  { -- | The IP address.+    ipAddress :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the transit gateway attachment.+    transitGatewayAttachmentArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RouteAnalysisEndpointOptionsSpecification' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ipAddress', 'routeAnalysisEndpointOptionsSpecification_ipAddress' - The IP address.+--+-- 'transitGatewayAttachmentArn', 'routeAnalysisEndpointOptionsSpecification_transitGatewayAttachmentArn' - The ARN of the transit gateway attachment.+newRouteAnalysisEndpointOptionsSpecification ::+  RouteAnalysisEndpointOptionsSpecification+newRouteAnalysisEndpointOptionsSpecification =+  RouteAnalysisEndpointOptionsSpecification'+    { ipAddress =+        Prelude.Nothing,+      transitGatewayAttachmentArn =+        Prelude.Nothing+    }++-- | The IP address.+routeAnalysisEndpointOptionsSpecification_ipAddress :: Lens.Lens' RouteAnalysisEndpointOptionsSpecification (Prelude.Maybe Prelude.Text)+routeAnalysisEndpointOptionsSpecification_ipAddress = Lens.lens (\RouteAnalysisEndpointOptionsSpecification' {ipAddress} -> ipAddress) (\s@RouteAnalysisEndpointOptionsSpecification' {} a -> s {ipAddress = a} :: RouteAnalysisEndpointOptionsSpecification)++-- | The ARN of the transit gateway attachment.+routeAnalysisEndpointOptionsSpecification_transitGatewayAttachmentArn :: Lens.Lens' RouteAnalysisEndpointOptionsSpecification (Prelude.Maybe Prelude.Text)+routeAnalysisEndpointOptionsSpecification_transitGatewayAttachmentArn = Lens.lens (\RouteAnalysisEndpointOptionsSpecification' {transitGatewayAttachmentArn} -> transitGatewayAttachmentArn) (\s@RouteAnalysisEndpointOptionsSpecification' {} a -> s {transitGatewayAttachmentArn = a} :: RouteAnalysisEndpointOptionsSpecification)++instance+  Prelude.Hashable+    RouteAnalysisEndpointOptionsSpecification+  where+  hashWithSalt+    _salt+    RouteAnalysisEndpointOptionsSpecification' {..} =+      _salt+        `Prelude.hashWithSalt` ipAddress+        `Prelude.hashWithSalt` transitGatewayAttachmentArn++instance+  Prelude.NFData+    RouteAnalysisEndpointOptionsSpecification+  where+  rnf RouteAnalysisEndpointOptionsSpecification' {..} =+    Prelude.rnf ipAddress+      `Prelude.seq` Prelude.rnf transitGatewayAttachmentArn++instance+  Data.ToJSON+    RouteAnalysisEndpointOptionsSpecification+  where+  toJSON RouteAnalysisEndpointOptionsSpecification' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("IpAddress" Data..=) Prelude.<$> ipAddress,+            ("TransitGatewayAttachmentArn" Data..=)+              Prelude.<$> transitGatewayAttachmentArn+          ]+      )
+ gen/Amazonka/NetworkManager/Types/RouteAnalysisPath.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.RouteAnalysisPath+-- 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.NetworkManager.Types.RouteAnalysisPath where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.PathComponent+import Amazonka.NetworkManager.Types.RouteAnalysisCompletion+import qualified Amazonka.Prelude as Prelude++-- | Describes a route analysis path.+--+-- /See:/ 'newRouteAnalysisPath' smart constructor.+data RouteAnalysisPath = RouteAnalysisPath'+  { -- | The status of the analysis at completion.+    completionStatus :: Prelude.Maybe RouteAnalysisCompletion,+    -- | The route analysis path.+    path :: Prelude.Maybe [PathComponent]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RouteAnalysisPath' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'completionStatus', 'routeAnalysisPath_completionStatus' - The status of the analysis at completion.+--+-- 'path', 'routeAnalysisPath_path' - The route analysis path.+newRouteAnalysisPath ::+  RouteAnalysisPath+newRouteAnalysisPath =+  RouteAnalysisPath'+    { completionStatus =+        Prelude.Nothing,+      path = Prelude.Nothing+    }++-- | The status of the analysis at completion.+routeAnalysisPath_completionStatus :: Lens.Lens' RouteAnalysisPath (Prelude.Maybe RouteAnalysisCompletion)+routeAnalysisPath_completionStatus = Lens.lens (\RouteAnalysisPath' {completionStatus} -> completionStatus) (\s@RouteAnalysisPath' {} a -> s {completionStatus = a} :: RouteAnalysisPath)++-- | The route analysis path.+routeAnalysisPath_path :: Lens.Lens' RouteAnalysisPath (Prelude.Maybe [PathComponent])+routeAnalysisPath_path = Lens.lens (\RouteAnalysisPath' {path} -> path) (\s@RouteAnalysisPath' {} a -> s {path = a} :: RouteAnalysisPath) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON RouteAnalysisPath where+  parseJSON =+    Data.withObject+      "RouteAnalysisPath"+      ( \x ->+          RouteAnalysisPath'+            Prelude.<$> (x Data..:? "CompletionStatus")+            Prelude.<*> (x Data..:? "Path" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable RouteAnalysisPath where+  hashWithSalt _salt RouteAnalysisPath' {..} =+    _salt+      `Prelude.hashWithSalt` completionStatus+      `Prelude.hashWithSalt` path++instance Prelude.NFData RouteAnalysisPath where+  rnf RouteAnalysisPath' {..} =+    Prelude.rnf completionStatus+      `Prelude.seq` Prelude.rnf path
+ gen/Amazonka/NetworkManager/Types/RouteAnalysisStatus.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.RouteAnalysisStatus+-- 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.NetworkManager.Types.RouteAnalysisStatus+  ( RouteAnalysisStatus+      ( ..,+        RouteAnalysisStatus_COMPLETED,+        RouteAnalysisStatus_FAILED,+        RouteAnalysisStatus_RUNNING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RouteAnalysisStatus = RouteAnalysisStatus'+  { fromRouteAnalysisStatus ::+      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 RouteAnalysisStatus_COMPLETED :: RouteAnalysisStatus+pattern RouteAnalysisStatus_COMPLETED = RouteAnalysisStatus' "COMPLETED"++pattern RouteAnalysisStatus_FAILED :: RouteAnalysisStatus+pattern RouteAnalysisStatus_FAILED = RouteAnalysisStatus' "FAILED"++pattern RouteAnalysisStatus_RUNNING :: RouteAnalysisStatus+pattern RouteAnalysisStatus_RUNNING = RouteAnalysisStatus' "RUNNING"++{-# COMPLETE+  RouteAnalysisStatus_COMPLETED,+  RouteAnalysisStatus_FAILED,+  RouteAnalysisStatus_RUNNING,+  RouteAnalysisStatus'+  #-}
+ gen/Amazonka/NetworkManager/Types/RouteState.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.NetworkManager.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.NetworkManager.Types.RouteState+  ( RouteState+      ( ..,+        RouteState_ACTIVE,+        RouteState_BLACKHOLE+      ),+  )+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_BLACKHOLE :: RouteState+pattern RouteState_BLACKHOLE = RouteState' "BLACKHOLE"++{-# COMPLETE+  RouteState_ACTIVE,+  RouteState_BLACKHOLE,+  RouteState'+  #-}
+ gen/Amazonka/NetworkManager/Types/RouteTableIdentifier.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.RouteTableIdentifier+-- 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.NetworkManager.Types.RouteTableIdentifier where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.CoreNetworkSegmentEdgeIdentifier+import qualified Amazonka.Prelude as Prelude++-- | Describes a route table.+--+-- /See:/ 'newRouteTableIdentifier' smart constructor.+data RouteTableIdentifier = RouteTableIdentifier'+  { -- | The segment edge in a core network.+    coreNetworkSegmentEdge :: Prelude.Maybe CoreNetworkSegmentEdgeIdentifier,+    -- | The ARN of the transit gateway route table.+    transitGatewayRouteTableArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RouteTableIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetworkSegmentEdge', 'routeTableIdentifier_coreNetworkSegmentEdge' - The segment edge in a core network.+--+-- 'transitGatewayRouteTableArn', 'routeTableIdentifier_transitGatewayRouteTableArn' - The ARN of the transit gateway route table.+newRouteTableIdentifier ::+  RouteTableIdentifier+newRouteTableIdentifier =+  RouteTableIdentifier'+    { coreNetworkSegmentEdge =+        Prelude.Nothing,+      transitGatewayRouteTableArn = Prelude.Nothing+    }++-- | The segment edge in a core network.+routeTableIdentifier_coreNetworkSegmentEdge :: Lens.Lens' RouteTableIdentifier (Prelude.Maybe CoreNetworkSegmentEdgeIdentifier)+routeTableIdentifier_coreNetworkSegmentEdge = Lens.lens (\RouteTableIdentifier' {coreNetworkSegmentEdge} -> coreNetworkSegmentEdge) (\s@RouteTableIdentifier' {} a -> s {coreNetworkSegmentEdge = a} :: RouteTableIdentifier)++-- | The ARN of the transit gateway route table.+routeTableIdentifier_transitGatewayRouteTableArn :: Lens.Lens' RouteTableIdentifier (Prelude.Maybe Prelude.Text)+routeTableIdentifier_transitGatewayRouteTableArn = Lens.lens (\RouteTableIdentifier' {transitGatewayRouteTableArn} -> transitGatewayRouteTableArn) (\s@RouteTableIdentifier' {} a -> s {transitGatewayRouteTableArn = a} :: RouteTableIdentifier)++instance Prelude.Hashable RouteTableIdentifier where+  hashWithSalt _salt RouteTableIdentifier' {..} =+    _salt+      `Prelude.hashWithSalt` coreNetworkSegmentEdge+      `Prelude.hashWithSalt` transitGatewayRouteTableArn++instance Prelude.NFData RouteTableIdentifier where+  rnf RouteTableIdentifier' {..} =+    Prelude.rnf coreNetworkSegmentEdge+      `Prelude.seq` Prelude.rnf transitGatewayRouteTableArn++instance Data.ToJSON RouteTableIdentifier where+  toJSON RouteTableIdentifier' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CoreNetworkSegmentEdge" Data..=)+              Prelude.<$> coreNetworkSegmentEdge,+            ("TransitGatewayRouteTableArn" Data..=)+              Prelude.<$> transitGatewayRouteTableArn+          ]+      )
+ gen/Amazonka/NetworkManager/Types/RouteTableType.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.NetworkManager.Types.RouteTableType+-- 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.NetworkManager.Types.RouteTableType+  ( RouteTableType+      ( ..,+        RouteTableType_CORE_NETWORK_SEGMENT,+        RouteTableType_TRANSIT_GATEWAY_ROUTE_TABLE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RouteTableType = RouteTableType'+  { fromRouteTableType ::+      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 RouteTableType_CORE_NETWORK_SEGMENT :: RouteTableType+pattern RouteTableType_CORE_NETWORK_SEGMENT = RouteTableType' "CORE_NETWORK_SEGMENT"++pattern RouteTableType_TRANSIT_GATEWAY_ROUTE_TABLE :: RouteTableType+pattern RouteTableType_TRANSIT_GATEWAY_ROUTE_TABLE = RouteTableType' "TRANSIT_GATEWAY_ROUTE_TABLE"++{-# COMPLETE+  RouteTableType_CORE_NETWORK_SEGMENT,+  RouteTableType_TRANSIT_GATEWAY_ROUTE_TABLE,+  RouteTableType'+  #-}
+ gen/Amazonka/NetworkManager/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.NetworkManager.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.NetworkManager.Types.RouteType+  ( RouteType+      ( ..,+        RouteType_PROPAGATED,+        RouteType_STATIC+      ),+  )+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_PROPAGATED :: RouteType+pattern RouteType_PROPAGATED = RouteType' "PROPAGATED"++pattern RouteType_STATIC :: RouteType+pattern RouteType_STATIC = RouteType' "STATIC"++{-# COMPLETE+  RouteType_PROPAGATED,+  RouteType_STATIC,+  RouteType'+  #-}
+ gen/Amazonka/NetworkManager/Types/Site.hs view
@@ -0,0 +1,159 @@+{-# 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.NetworkManager.Types.Site+-- 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.NetworkManager.Types.Site where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.Location+import Amazonka.NetworkManager.Types.SiteState+import Amazonka.NetworkManager.Types.Tag+import qualified Amazonka.Prelude as Prelude++-- | Describes a site.+--+-- /See:/ 'newSite' smart constructor.+data Site = Site'+  { -- | The date and time that the site was created.+    createdAt :: Prelude.Maybe Data.POSIX,+    -- | The description of the site.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The location of the site.+    location :: Prelude.Maybe (Data.Sensitive Location),+    -- | The Amazon Resource Name (ARN) of the site.+    siteArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the site.+    siteId :: Prelude.Maybe Prelude.Text,+    -- | The state of the site.+    state :: Prelude.Maybe SiteState,+    -- | The tags for the site.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Site' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdAt', 'site_createdAt' - The date and time that the site was created.+--+-- 'description', 'site_description' - The description of the site.+--+-- 'globalNetworkId', 'site_globalNetworkId' - The ID of the global network.+--+-- 'location', 'site_location' - The location of the site.+--+-- 'siteArn', 'site_siteArn' - The Amazon Resource Name (ARN) of the site.+--+-- 'siteId', 'site_siteId' - The ID of the site.+--+-- 'state', 'site_state' - The state of the site.+--+-- 'tags', 'site_tags' - The tags for the site.+newSite ::+  Site+newSite =+  Site'+    { createdAt = Prelude.Nothing,+      description = Prelude.Nothing,+      globalNetworkId = Prelude.Nothing,+      location = Prelude.Nothing,+      siteArn = Prelude.Nothing,+      siteId = Prelude.Nothing,+      state = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The date and time that the site was created.+site_createdAt :: Lens.Lens' Site (Prelude.Maybe Prelude.UTCTime)+site_createdAt = Lens.lens (\Site' {createdAt} -> createdAt) (\s@Site' {} a -> s {createdAt = a} :: Site) Prelude.. Lens.mapping Data._Time++-- | The description of the site.+site_description :: Lens.Lens' Site (Prelude.Maybe Prelude.Text)+site_description = Lens.lens (\Site' {description} -> description) (\s@Site' {} a -> s {description = a} :: Site)++-- | The ID of the global network.+site_globalNetworkId :: Lens.Lens' Site (Prelude.Maybe Prelude.Text)+site_globalNetworkId = Lens.lens (\Site' {globalNetworkId} -> globalNetworkId) (\s@Site' {} a -> s {globalNetworkId = a} :: Site)++-- | The location of the site.+site_location :: Lens.Lens' Site (Prelude.Maybe Location)+site_location = Lens.lens (\Site' {location} -> location) (\s@Site' {} a -> s {location = a} :: Site) Prelude.. Lens.mapping Data._Sensitive++-- | The Amazon Resource Name (ARN) of the site.+site_siteArn :: Lens.Lens' Site (Prelude.Maybe Prelude.Text)+site_siteArn = Lens.lens (\Site' {siteArn} -> siteArn) (\s@Site' {} a -> s {siteArn = a} :: Site)++-- | The ID of the site.+site_siteId :: Lens.Lens' Site (Prelude.Maybe Prelude.Text)+site_siteId = Lens.lens (\Site' {siteId} -> siteId) (\s@Site' {} a -> s {siteId = a} :: Site)++-- | The state of the site.+site_state :: Lens.Lens' Site (Prelude.Maybe SiteState)+site_state = Lens.lens (\Site' {state} -> state) (\s@Site' {} a -> s {state = a} :: Site)++-- | The tags for the site.+site_tags :: Lens.Lens' Site (Prelude.Maybe [Tag])+site_tags = Lens.lens (\Site' {tags} -> tags) (\s@Site' {} a -> s {tags = a} :: Site) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON Site where+  parseJSON =+    Data.withObject+      "Site"+      ( \x ->+          Site'+            Prelude.<$> (x Data..:? "CreatedAt")+            Prelude.<*> (x Data..:? "Description")+            Prelude.<*> (x Data..:? "GlobalNetworkId")+            Prelude.<*> (x Data..:? "Location")+            Prelude.<*> (x Data..:? "SiteArn")+            Prelude.<*> (x Data..:? "SiteId")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "Tags" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable Site where+  hashWithSalt _salt Site' {..} =+    _salt+      `Prelude.hashWithSalt` createdAt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` location+      `Prelude.hashWithSalt` siteArn+      `Prelude.hashWithSalt` siteId+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` tags++instance Prelude.NFData Site where+  rnf Site' {..} =+    Prelude.rnf createdAt+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf location+      `Prelude.seq` Prelude.rnf siteArn+      `Prelude.seq` Prelude.rnf siteId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf tags
+ gen/Amazonka/NetworkManager/Types/SiteState.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.NetworkManager.Types.SiteState+-- 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.NetworkManager.Types.SiteState+  ( SiteState+      ( ..,+        SiteState_AVAILABLE,+        SiteState_DELETING,+        SiteState_PENDING,+        SiteState_UPDATING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SiteState = SiteState'+  { fromSiteState ::+      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 SiteState_AVAILABLE :: SiteState+pattern SiteState_AVAILABLE = SiteState' "AVAILABLE"++pattern SiteState_DELETING :: SiteState+pattern SiteState_DELETING = SiteState' "DELETING"++pattern SiteState_PENDING :: SiteState+pattern SiteState_PENDING = SiteState' "PENDING"++pattern SiteState_UPDATING :: SiteState+pattern SiteState_UPDATING = SiteState' "UPDATING"++{-# COMPLETE+  SiteState_AVAILABLE,+  SiteState_DELETING,+  SiteState_PENDING,+  SiteState_UPDATING,+  SiteState'+  #-}
+ gen/Amazonka/NetworkManager/Types/SiteToSiteVpnAttachment.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.SiteToSiteVpnAttachment+-- 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.NetworkManager.Types.SiteToSiteVpnAttachment where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.Attachment+import qualified Amazonka.Prelude as Prelude++-- | Creates a site-to-site VPN attachment.+--+-- /See:/ 'newSiteToSiteVpnAttachment' smart constructor.+data SiteToSiteVpnAttachment = SiteToSiteVpnAttachment'+  { -- | Provides details about a site-to-site VPN attachment.+    attachment :: Prelude.Maybe Attachment,+    -- | The ARN of the site-to-site VPN attachment.+    vpnConnectionArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SiteToSiteVpnAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachment', 'siteToSiteVpnAttachment_attachment' - Provides details about a site-to-site VPN attachment.+--+-- 'vpnConnectionArn', 'siteToSiteVpnAttachment_vpnConnectionArn' - The ARN of the site-to-site VPN attachment.+newSiteToSiteVpnAttachment ::+  SiteToSiteVpnAttachment+newSiteToSiteVpnAttachment =+  SiteToSiteVpnAttachment'+    { attachment =+        Prelude.Nothing,+      vpnConnectionArn = Prelude.Nothing+    }++-- | Provides details about a site-to-site VPN attachment.+siteToSiteVpnAttachment_attachment :: Lens.Lens' SiteToSiteVpnAttachment (Prelude.Maybe Attachment)+siteToSiteVpnAttachment_attachment = Lens.lens (\SiteToSiteVpnAttachment' {attachment} -> attachment) (\s@SiteToSiteVpnAttachment' {} a -> s {attachment = a} :: SiteToSiteVpnAttachment)++-- | The ARN of the site-to-site VPN attachment.+siteToSiteVpnAttachment_vpnConnectionArn :: Lens.Lens' SiteToSiteVpnAttachment (Prelude.Maybe Prelude.Text)+siteToSiteVpnAttachment_vpnConnectionArn = Lens.lens (\SiteToSiteVpnAttachment' {vpnConnectionArn} -> vpnConnectionArn) (\s@SiteToSiteVpnAttachment' {} a -> s {vpnConnectionArn = a} :: SiteToSiteVpnAttachment)++instance Data.FromJSON SiteToSiteVpnAttachment where+  parseJSON =+    Data.withObject+      "SiteToSiteVpnAttachment"+      ( \x ->+          SiteToSiteVpnAttachment'+            Prelude.<$> (x Data..:? "Attachment")+            Prelude.<*> (x Data..:? "VpnConnectionArn")+      )++instance Prelude.Hashable SiteToSiteVpnAttachment where+  hashWithSalt _salt SiteToSiteVpnAttachment' {..} =+    _salt+      `Prelude.hashWithSalt` attachment+      `Prelude.hashWithSalt` vpnConnectionArn++instance Prelude.NFData SiteToSiteVpnAttachment where+  rnf SiteToSiteVpnAttachment' {..} =+    Prelude.rnf attachment+      `Prelude.seq` Prelude.rnf vpnConnectionArn
+ gen/Amazonka/NetworkManager/Types/Tag.hs view
@@ -0,0 +1,104 @@+{-# 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.NetworkManager.Types.Tag+-- 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.NetworkManager.Types.Tag 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++-- | Describes a tag.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | The tag key.+    --+    -- Constraints: Maximum length of 128 characters.+    key :: Prelude.Maybe Prelude.Text,+    -- | The tag value.+    --+    -- Constraints: Maximum length of 256 characters.+    value :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - The tag key.+--+-- Constraints: Maximum length of 128 characters.+--+-- 'value', 'tag_value' - The tag value.+--+-- Constraints: Maximum length of 256 characters.+newTag ::+  Tag+newTag =+  Tag'+    { key = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The tag key.+--+-- Constraints: Maximum length of 128 characters.+tag_key :: Lens.Lens' Tag (Prelude.Maybe Prelude.Text)+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The tag value.+--+-- Constraints: Maximum length of 256 characters.+tag_value :: Lens.Lens' Tag (Prelude.Maybe Prelude.Text)+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+  parseJSON =+    Data.withObject+      "Tag"+      ( \x ->+          Tag'+            Prelude.<$> (x Data..:? "Key")+            Prelude.<*> (x Data..:? "Value")+      )++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+  toJSON Tag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Key" Data..=) Prelude.<$> key,+            ("Value" Data..=) Prelude.<$> value+          ]+      )
+ gen/Amazonka/NetworkManager/Types/TransitGatewayConnectPeerAssociation.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.TransitGatewayConnectPeerAssociation+-- 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.NetworkManager.Types.TransitGatewayConnectPeerAssociation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.TransitGatewayConnectPeerAssociationState+import qualified Amazonka.Prelude as Prelude++-- | Describes a transit gateway Connect peer association.+--+-- /See:/ 'newTransitGatewayConnectPeerAssociation' smart constructor.+data TransitGatewayConnectPeerAssociation = TransitGatewayConnectPeerAssociation'+  { -- | The ID of the device.+    deviceId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the link.+    linkId :: Prelude.Maybe Prelude.Text,+    -- | The state of the association.+    state :: Prelude.Maybe TransitGatewayConnectPeerAssociationState,+    -- | The Amazon Resource Name (ARN) of the transit gateway Connect peer.+    transitGatewayConnectPeerArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TransitGatewayConnectPeerAssociation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deviceId', 'transitGatewayConnectPeerAssociation_deviceId' - The ID of the device.+--+-- 'globalNetworkId', 'transitGatewayConnectPeerAssociation_globalNetworkId' - The ID of the global network.+--+-- 'linkId', 'transitGatewayConnectPeerAssociation_linkId' - The ID of the link.+--+-- 'state', 'transitGatewayConnectPeerAssociation_state' - The state of the association.+--+-- 'transitGatewayConnectPeerArn', 'transitGatewayConnectPeerAssociation_transitGatewayConnectPeerArn' - The Amazon Resource Name (ARN) of the transit gateway Connect peer.+newTransitGatewayConnectPeerAssociation ::+  TransitGatewayConnectPeerAssociation+newTransitGatewayConnectPeerAssociation =+  TransitGatewayConnectPeerAssociation'+    { deviceId =+        Prelude.Nothing,+      globalNetworkId = Prelude.Nothing,+      linkId = Prelude.Nothing,+      state = Prelude.Nothing,+      transitGatewayConnectPeerArn =+        Prelude.Nothing+    }++-- | The ID of the device.+transitGatewayConnectPeerAssociation_deviceId :: Lens.Lens' TransitGatewayConnectPeerAssociation (Prelude.Maybe Prelude.Text)+transitGatewayConnectPeerAssociation_deviceId = Lens.lens (\TransitGatewayConnectPeerAssociation' {deviceId} -> deviceId) (\s@TransitGatewayConnectPeerAssociation' {} a -> s {deviceId = a} :: TransitGatewayConnectPeerAssociation)++-- | The ID of the global network.+transitGatewayConnectPeerAssociation_globalNetworkId :: Lens.Lens' TransitGatewayConnectPeerAssociation (Prelude.Maybe Prelude.Text)+transitGatewayConnectPeerAssociation_globalNetworkId = Lens.lens (\TransitGatewayConnectPeerAssociation' {globalNetworkId} -> globalNetworkId) (\s@TransitGatewayConnectPeerAssociation' {} a -> s {globalNetworkId = a} :: TransitGatewayConnectPeerAssociation)++-- | The ID of the link.+transitGatewayConnectPeerAssociation_linkId :: Lens.Lens' TransitGatewayConnectPeerAssociation (Prelude.Maybe Prelude.Text)+transitGatewayConnectPeerAssociation_linkId = Lens.lens (\TransitGatewayConnectPeerAssociation' {linkId} -> linkId) (\s@TransitGatewayConnectPeerAssociation' {} a -> s {linkId = a} :: TransitGatewayConnectPeerAssociation)++-- | The state of the association.+transitGatewayConnectPeerAssociation_state :: Lens.Lens' TransitGatewayConnectPeerAssociation (Prelude.Maybe TransitGatewayConnectPeerAssociationState)+transitGatewayConnectPeerAssociation_state = Lens.lens (\TransitGatewayConnectPeerAssociation' {state} -> state) (\s@TransitGatewayConnectPeerAssociation' {} a -> s {state = a} :: TransitGatewayConnectPeerAssociation)++-- | The Amazon Resource Name (ARN) of the transit gateway Connect peer.+transitGatewayConnectPeerAssociation_transitGatewayConnectPeerArn :: Lens.Lens' TransitGatewayConnectPeerAssociation (Prelude.Maybe Prelude.Text)+transitGatewayConnectPeerAssociation_transitGatewayConnectPeerArn = Lens.lens (\TransitGatewayConnectPeerAssociation' {transitGatewayConnectPeerArn} -> transitGatewayConnectPeerArn) (\s@TransitGatewayConnectPeerAssociation' {} a -> s {transitGatewayConnectPeerArn = a} :: TransitGatewayConnectPeerAssociation)++instance+  Data.FromJSON+    TransitGatewayConnectPeerAssociation+  where+  parseJSON =+    Data.withObject+      "TransitGatewayConnectPeerAssociation"+      ( \x ->+          TransitGatewayConnectPeerAssociation'+            Prelude.<$> (x Data..:? "DeviceId")+            Prelude.<*> (x Data..:? "GlobalNetworkId")+            Prelude.<*> (x Data..:? "LinkId")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "TransitGatewayConnectPeerArn")+      )++instance+  Prelude.Hashable+    TransitGatewayConnectPeerAssociation+  where+  hashWithSalt+    _salt+    TransitGatewayConnectPeerAssociation' {..} =+      _salt+        `Prelude.hashWithSalt` deviceId+        `Prelude.hashWithSalt` globalNetworkId+        `Prelude.hashWithSalt` linkId+        `Prelude.hashWithSalt` state+        `Prelude.hashWithSalt` transitGatewayConnectPeerArn++instance+  Prelude.NFData+    TransitGatewayConnectPeerAssociation+  where+  rnf TransitGatewayConnectPeerAssociation' {..} =+    Prelude.rnf deviceId+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf linkId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf transitGatewayConnectPeerArn
+ gen/Amazonka/NetworkManager/Types/TransitGatewayConnectPeerAssociationState.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.NetworkManager.Types.TransitGatewayConnectPeerAssociationState+-- 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.NetworkManager.Types.TransitGatewayConnectPeerAssociationState+  ( TransitGatewayConnectPeerAssociationState+      ( ..,+        TransitGatewayConnectPeerAssociationState_AVAILABLE,+        TransitGatewayConnectPeerAssociationState_DELETED,+        TransitGatewayConnectPeerAssociationState_DELETING,+        TransitGatewayConnectPeerAssociationState_PENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TransitGatewayConnectPeerAssociationState = TransitGatewayConnectPeerAssociationState'+  { fromTransitGatewayConnectPeerAssociationState ::+      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 TransitGatewayConnectPeerAssociationState_AVAILABLE :: TransitGatewayConnectPeerAssociationState+pattern TransitGatewayConnectPeerAssociationState_AVAILABLE = TransitGatewayConnectPeerAssociationState' "AVAILABLE"++pattern TransitGatewayConnectPeerAssociationState_DELETED :: TransitGatewayConnectPeerAssociationState+pattern TransitGatewayConnectPeerAssociationState_DELETED = TransitGatewayConnectPeerAssociationState' "DELETED"++pattern TransitGatewayConnectPeerAssociationState_DELETING :: TransitGatewayConnectPeerAssociationState+pattern TransitGatewayConnectPeerAssociationState_DELETING = TransitGatewayConnectPeerAssociationState' "DELETING"++pattern TransitGatewayConnectPeerAssociationState_PENDING :: TransitGatewayConnectPeerAssociationState+pattern TransitGatewayConnectPeerAssociationState_PENDING = TransitGatewayConnectPeerAssociationState' "PENDING"++{-# COMPLETE+  TransitGatewayConnectPeerAssociationState_AVAILABLE,+  TransitGatewayConnectPeerAssociationState_DELETED,+  TransitGatewayConnectPeerAssociationState_DELETING,+  TransitGatewayConnectPeerAssociationState_PENDING,+  TransitGatewayConnectPeerAssociationState'+  #-}
+ gen/Amazonka/NetworkManager/Types/TransitGatewayPeering.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.TransitGatewayPeering+-- 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.NetworkManager.Types.TransitGatewayPeering where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.Peering+import qualified Amazonka.Prelude as Prelude++-- | Describes a transit gateway peering attachment.+--+-- /See:/ 'newTransitGatewayPeering' smart constructor.+data TransitGatewayPeering = TransitGatewayPeering'+  { -- | Describes a transit gateway peer connection.+    peering :: Prelude.Maybe Peering,+    -- | The ARN of the transit gateway.+    transitGatewayArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the transit gateway peering attachment.+    transitGatewayPeeringAttachmentId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TransitGatewayPeering' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'peering', 'transitGatewayPeering_peering' - Describes a transit gateway peer connection.+--+-- 'transitGatewayArn', 'transitGatewayPeering_transitGatewayArn' - The ARN of the transit gateway.+--+-- 'transitGatewayPeeringAttachmentId', 'transitGatewayPeering_transitGatewayPeeringAttachmentId' - The ID of the transit gateway peering attachment.+newTransitGatewayPeering ::+  TransitGatewayPeering+newTransitGatewayPeering =+  TransitGatewayPeering'+    { peering = Prelude.Nothing,+      transitGatewayArn = Prelude.Nothing,+      transitGatewayPeeringAttachmentId = Prelude.Nothing+    }++-- | Describes a transit gateway peer connection.+transitGatewayPeering_peering :: Lens.Lens' TransitGatewayPeering (Prelude.Maybe Peering)+transitGatewayPeering_peering = Lens.lens (\TransitGatewayPeering' {peering} -> peering) (\s@TransitGatewayPeering' {} a -> s {peering = a} :: TransitGatewayPeering)++-- | The ARN of the transit gateway.+transitGatewayPeering_transitGatewayArn :: Lens.Lens' TransitGatewayPeering (Prelude.Maybe Prelude.Text)+transitGatewayPeering_transitGatewayArn = Lens.lens (\TransitGatewayPeering' {transitGatewayArn} -> transitGatewayArn) (\s@TransitGatewayPeering' {} a -> s {transitGatewayArn = a} :: TransitGatewayPeering)++-- | The ID of the transit gateway peering attachment.+transitGatewayPeering_transitGatewayPeeringAttachmentId :: Lens.Lens' TransitGatewayPeering (Prelude.Maybe Prelude.Text)+transitGatewayPeering_transitGatewayPeeringAttachmentId = Lens.lens (\TransitGatewayPeering' {transitGatewayPeeringAttachmentId} -> transitGatewayPeeringAttachmentId) (\s@TransitGatewayPeering' {} a -> s {transitGatewayPeeringAttachmentId = a} :: TransitGatewayPeering)++instance Data.FromJSON TransitGatewayPeering where+  parseJSON =+    Data.withObject+      "TransitGatewayPeering"+      ( \x ->+          TransitGatewayPeering'+            Prelude.<$> (x Data..:? "Peering")+            Prelude.<*> (x Data..:? "TransitGatewayArn")+            Prelude.<*> (x Data..:? "TransitGatewayPeeringAttachmentId")+      )++instance Prelude.Hashable TransitGatewayPeering where+  hashWithSalt _salt TransitGatewayPeering' {..} =+    _salt+      `Prelude.hashWithSalt` peering+      `Prelude.hashWithSalt` transitGatewayArn+      `Prelude.hashWithSalt` transitGatewayPeeringAttachmentId++instance Prelude.NFData TransitGatewayPeering where+  rnf TransitGatewayPeering' {..} =+    Prelude.rnf peering+      `Prelude.seq` Prelude.rnf transitGatewayArn+      `Prelude.seq` Prelude.rnf transitGatewayPeeringAttachmentId
+ gen/Amazonka/NetworkManager/Types/TransitGatewayRegistration.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.TransitGatewayRegistration+-- 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.NetworkManager.Types.TransitGatewayRegistration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.TransitGatewayRegistrationStateReason+import qualified Amazonka.Prelude as Prelude++-- | Describes the registration of a transit gateway to a global network.+--+-- /See:/ 'newTransitGatewayRegistration' smart constructor.+data TransitGatewayRegistration = TransitGatewayRegistration'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Maybe Prelude.Text,+    -- | The state of the transit gateway registration.+    state :: Prelude.Maybe TransitGatewayRegistrationStateReason,+    -- | The Amazon Resource Name (ARN) of the transit gateway.+    transitGatewayArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TransitGatewayRegistration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'transitGatewayRegistration_globalNetworkId' - The ID of the global network.+--+-- 'state', 'transitGatewayRegistration_state' - The state of the transit gateway registration.+--+-- 'transitGatewayArn', 'transitGatewayRegistration_transitGatewayArn' - The Amazon Resource Name (ARN) of the transit gateway.+newTransitGatewayRegistration ::+  TransitGatewayRegistration+newTransitGatewayRegistration =+  TransitGatewayRegistration'+    { globalNetworkId =+        Prelude.Nothing,+      state = Prelude.Nothing,+      transitGatewayArn = Prelude.Nothing+    }++-- | The ID of the global network.+transitGatewayRegistration_globalNetworkId :: Lens.Lens' TransitGatewayRegistration (Prelude.Maybe Prelude.Text)+transitGatewayRegistration_globalNetworkId = Lens.lens (\TransitGatewayRegistration' {globalNetworkId} -> globalNetworkId) (\s@TransitGatewayRegistration' {} a -> s {globalNetworkId = a} :: TransitGatewayRegistration)++-- | The state of the transit gateway registration.+transitGatewayRegistration_state :: Lens.Lens' TransitGatewayRegistration (Prelude.Maybe TransitGatewayRegistrationStateReason)+transitGatewayRegistration_state = Lens.lens (\TransitGatewayRegistration' {state} -> state) (\s@TransitGatewayRegistration' {} a -> s {state = a} :: TransitGatewayRegistration)++-- | The Amazon Resource Name (ARN) of the transit gateway.+transitGatewayRegistration_transitGatewayArn :: Lens.Lens' TransitGatewayRegistration (Prelude.Maybe Prelude.Text)+transitGatewayRegistration_transitGatewayArn = Lens.lens (\TransitGatewayRegistration' {transitGatewayArn} -> transitGatewayArn) (\s@TransitGatewayRegistration' {} a -> s {transitGatewayArn = a} :: TransitGatewayRegistration)++instance Data.FromJSON TransitGatewayRegistration where+  parseJSON =+    Data.withObject+      "TransitGatewayRegistration"+      ( \x ->+          TransitGatewayRegistration'+            Prelude.<$> (x Data..:? "GlobalNetworkId")+            Prelude.<*> (x Data..:? "State")+            Prelude.<*> (x Data..:? "TransitGatewayArn")+      )++instance Prelude.Hashable TransitGatewayRegistration where+  hashWithSalt _salt TransitGatewayRegistration' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` state+      `Prelude.hashWithSalt` transitGatewayArn++instance Prelude.NFData TransitGatewayRegistration where+  rnf TransitGatewayRegistration' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf state+      `Prelude.seq` Prelude.rnf transitGatewayArn
+ gen/Amazonka/NetworkManager/Types/TransitGatewayRegistrationState.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.NetworkManager.Types.TransitGatewayRegistrationState+-- 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.NetworkManager.Types.TransitGatewayRegistrationState+  ( TransitGatewayRegistrationState+      ( ..,+        TransitGatewayRegistrationState_AVAILABLE,+        TransitGatewayRegistrationState_DELETED,+        TransitGatewayRegistrationState_DELETING,+        TransitGatewayRegistrationState_FAILED,+        TransitGatewayRegistrationState_PENDING+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TransitGatewayRegistrationState = TransitGatewayRegistrationState'+  { fromTransitGatewayRegistrationState ::+      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 TransitGatewayRegistrationState_AVAILABLE :: TransitGatewayRegistrationState+pattern TransitGatewayRegistrationState_AVAILABLE = TransitGatewayRegistrationState' "AVAILABLE"++pattern TransitGatewayRegistrationState_DELETED :: TransitGatewayRegistrationState+pattern TransitGatewayRegistrationState_DELETED = TransitGatewayRegistrationState' "DELETED"++pattern TransitGatewayRegistrationState_DELETING :: TransitGatewayRegistrationState+pattern TransitGatewayRegistrationState_DELETING = TransitGatewayRegistrationState' "DELETING"++pattern TransitGatewayRegistrationState_FAILED :: TransitGatewayRegistrationState+pattern TransitGatewayRegistrationState_FAILED = TransitGatewayRegistrationState' "FAILED"++pattern TransitGatewayRegistrationState_PENDING :: TransitGatewayRegistrationState+pattern TransitGatewayRegistrationState_PENDING = TransitGatewayRegistrationState' "PENDING"++{-# COMPLETE+  TransitGatewayRegistrationState_AVAILABLE,+  TransitGatewayRegistrationState_DELETED,+  TransitGatewayRegistrationState_DELETING,+  TransitGatewayRegistrationState_FAILED,+  TransitGatewayRegistrationState_PENDING,+  TransitGatewayRegistrationState'+  #-}
+ gen/Amazonka/NetworkManager/Types/TransitGatewayRegistrationStateReason.hs view
@@ -0,0 +1,96 @@+{-# 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.NetworkManager.Types.TransitGatewayRegistrationStateReason+-- 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.NetworkManager.Types.TransitGatewayRegistrationStateReason where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.TransitGatewayRegistrationState+import qualified Amazonka.Prelude as Prelude++-- | Describes the status of a transit gateway registration.+--+-- /See:/ 'newTransitGatewayRegistrationStateReason' smart constructor.+data TransitGatewayRegistrationStateReason = TransitGatewayRegistrationStateReason'+  { -- | The code for the state reason.+    code :: Prelude.Maybe TransitGatewayRegistrationState,+    -- | The message for the state reason.+    message :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TransitGatewayRegistrationStateReason' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'code', 'transitGatewayRegistrationStateReason_code' - The code for the state reason.+--+-- 'message', 'transitGatewayRegistrationStateReason_message' - The message for the state reason.+newTransitGatewayRegistrationStateReason ::+  TransitGatewayRegistrationStateReason+newTransitGatewayRegistrationStateReason =+  TransitGatewayRegistrationStateReason'+    { code =+        Prelude.Nothing,+      message = Prelude.Nothing+    }++-- | The code for the state reason.+transitGatewayRegistrationStateReason_code :: Lens.Lens' TransitGatewayRegistrationStateReason (Prelude.Maybe TransitGatewayRegistrationState)+transitGatewayRegistrationStateReason_code = Lens.lens (\TransitGatewayRegistrationStateReason' {code} -> code) (\s@TransitGatewayRegistrationStateReason' {} a -> s {code = a} :: TransitGatewayRegistrationStateReason)++-- | The message for the state reason.+transitGatewayRegistrationStateReason_message :: Lens.Lens' TransitGatewayRegistrationStateReason (Prelude.Maybe Prelude.Text)+transitGatewayRegistrationStateReason_message = Lens.lens (\TransitGatewayRegistrationStateReason' {message} -> message) (\s@TransitGatewayRegistrationStateReason' {} a -> s {message = a} :: TransitGatewayRegistrationStateReason)++instance+  Data.FromJSON+    TransitGatewayRegistrationStateReason+  where+  parseJSON =+    Data.withObject+      "TransitGatewayRegistrationStateReason"+      ( \x ->+          TransitGatewayRegistrationStateReason'+            Prelude.<$> (x Data..:? "Code")+            Prelude.<*> (x Data..:? "Message")+      )++instance+  Prelude.Hashable+    TransitGatewayRegistrationStateReason+  where+  hashWithSalt+    _salt+    TransitGatewayRegistrationStateReason' {..} =+      _salt+        `Prelude.hashWithSalt` code+        `Prelude.hashWithSalt` message++instance+  Prelude.NFData+    TransitGatewayRegistrationStateReason+  where+  rnf TransitGatewayRegistrationStateReason' {..} =+    Prelude.rnf code `Prelude.seq` Prelude.rnf message
+ gen/Amazonka/NetworkManager/Types/TransitGatewayRouteTableAttachment.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.TransitGatewayRouteTableAttachment+-- 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.NetworkManager.Types.TransitGatewayRouteTableAttachment where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.Attachment+import qualified Amazonka.Prelude as Prelude++-- | Describes a transit gateway route table attachment.+--+-- /See:/ 'newTransitGatewayRouteTableAttachment' smart constructor.+data TransitGatewayRouteTableAttachment = TransitGatewayRouteTableAttachment'+  { attachment :: Prelude.Maybe Attachment,+    -- | The ID of the peering attachment.+    peeringId :: Prelude.Maybe Prelude.Text,+    -- | The ARN of the transit gateway attachment route table.+    transitGatewayRouteTableArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TransitGatewayRouteTableAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachment', 'transitGatewayRouteTableAttachment_attachment' - Undocumented member.+--+-- 'peeringId', 'transitGatewayRouteTableAttachment_peeringId' - The ID of the peering attachment.+--+-- 'transitGatewayRouteTableArn', 'transitGatewayRouteTableAttachment_transitGatewayRouteTableArn' - The ARN of the transit gateway attachment route table.+newTransitGatewayRouteTableAttachment ::+  TransitGatewayRouteTableAttachment+newTransitGatewayRouteTableAttachment =+  TransitGatewayRouteTableAttachment'+    { attachment =+        Prelude.Nothing,+      peeringId = Prelude.Nothing,+      transitGatewayRouteTableArn =+        Prelude.Nothing+    }++-- | Undocumented member.+transitGatewayRouteTableAttachment_attachment :: Lens.Lens' TransitGatewayRouteTableAttachment (Prelude.Maybe Attachment)+transitGatewayRouteTableAttachment_attachment = Lens.lens (\TransitGatewayRouteTableAttachment' {attachment} -> attachment) (\s@TransitGatewayRouteTableAttachment' {} a -> s {attachment = a} :: TransitGatewayRouteTableAttachment)++-- | The ID of the peering attachment.+transitGatewayRouteTableAttachment_peeringId :: Lens.Lens' TransitGatewayRouteTableAttachment (Prelude.Maybe Prelude.Text)+transitGatewayRouteTableAttachment_peeringId = Lens.lens (\TransitGatewayRouteTableAttachment' {peeringId} -> peeringId) (\s@TransitGatewayRouteTableAttachment' {} a -> s {peeringId = a} :: TransitGatewayRouteTableAttachment)++-- | The ARN of the transit gateway attachment route table.+transitGatewayRouteTableAttachment_transitGatewayRouteTableArn :: Lens.Lens' TransitGatewayRouteTableAttachment (Prelude.Maybe Prelude.Text)+transitGatewayRouteTableAttachment_transitGatewayRouteTableArn = Lens.lens (\TransitGatewayRouteTableAttachment' {transitGatewayRouteTableArn} -> transitGatewayRouteTableArn) (\s@TransitGatewayRouteTableAttachment' {} a -> s {transitGatewayRouteTableArn = a} :: TransitGatewayRouteTableAttachment)++instance+  Data.FromJSON+    TransitGatewayRouteTableAttachment+  where+  parseJSON =+    Data.withObject+      "TransitGatewayRouteTableAttachment"+      ( \x ->+          TransitGatewayRouteTableAttachment'+            Prelude.<$> (x Data..:? "Attachment")+            Prelude.<*> (x Data..:? "PeeringId")+            Prelude.<*> (x Data..:? "TransitGatewayRouteTableArn")+      )++instance+  Prelude.Hashable+    TransitGatewayRouteTableAttachment+  where+  hashWithSalt+    _salt+    TransitGatewayRouteTableAttachment' {..} =+      _salt+        `Prelude.hashWithSalt` attachment+        `Prelude.hashWithSalt` peeringId+        `Prelude.hashWithSalt` transitGatewayRouteTableArn++instance+  Prelude.NFData+    TransitGatewayRouteTableAttachment+  where+  rnf TransitGatewayRouteTableAttachment' {..} =+    Prelude.rnf attachment+      `Prelude.seq` Prelude.rnf peeringId+      `Prelude.seq` Prelude.rnf transitGatewayRouteTableArn
+ gen/Amazonka/NetworkManager/Types/TunnelProtocol.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.NetworkManager.Types.TunnelProtocol+-- 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.NetworkManager.Types.TunnelProtocol+  ( TunnelProtocol+      ( ..,+        TunnelProtocol_GRE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype TunnelProtocol = TunnelProtocol'+  { fromTunnelProtocol ::+      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 TunnelProtocol_GRE :: TunnelProtocol+pattern TunnelProtocol_GRE = TunnelProtocol' "GRE"++{-# COMPLETE+  TunnelProtocol_GRE,+  TunnelProtocol'+  #-}
+ gen/Amazonka/NetworkManager/Types/VpcAttachment.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.VpcAttachment+-- 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.NetworkManager.Types.VpcAttachment where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types.Attachment+import Amazonka.NetworkManager.Types.VpcOptions+import qualified Amazonka.Prelude as Prelude++-- | Describes a VPC attachment.+--+-- /See:/ 'newVpcAttachment' smart constructor.+data VpcAttachment = VpcAttachment'+  { -- | Provides details about the VPC attachment.+    attachment :: Prelude.Maybe Attachment,+    -- | Provides details about the VPC attachment.+    options :: Prelude.Maybe VpcOptions,+    -- | The subnet ARNs.+    subnetArns :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attachment', 'vpcAttachment_attachment' - Provides details about the VPC attachment.+--+-- 'options', 'vpcAttachment_options' - Provides details about the VPC attachment.+--+-- 'subnetArns', 'vpcAttachment_subnetArns' - The subnet ARNs.+newVpcAttachment ::+  VpcAttachment+newVpcAttachment =+  VpcAttachment'+    { attachment = Prelude.Nothing,+      options = Prelude.Nothing,+      subnetArns = Prelude.Nothing+    }++-- | Provides details about the VPC attachment.+vpcAttachment_attachment :: Lens.Lens' VpcAttachment (Prelude.Maybe Attachment)+vpcAttachment_attachment = Lens.lens (\VpcAttachment' {attachment} -> attachment) (\s@VpcAttachment' {} a -> s {attachment = a} :: VpcAttachment)++-- | Provides details about the VPC attachment.+vpcAttachment_options :: Lens.Lens' VpcAttachment (Prelude.Maybe VpcOptions)+vpcAttachment_options = Lens.lens (\VpcAttachment' {options} -> options) (\s@VpcAttachment' {} a -> s {options = a} :: VpcAttachment)++-- | The subnet ARNs.+vpcAttachment_subnetArns :: Lens.Lens' VpcAttachment (Prelude.Maybe [Prelude.Text])+vpcAttachment_subnetArns = Lens.lens (\VpcAttachment' {subnetArns} -> subnetArns) (\s@VpcAttachment' {} a -> s {subnetArns = a} :: VpcAttachment) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON VpcAttachment where+  parseJSON =+    Data.withObject+      "VpcAttachment"+      ( \x ->+          VpcAttachment'+            Prelude.<$> (x Data..:? "Attachment")+            Prelude.<*> (x Data..:? "Options")+            Prelude.<*> (x Data..:? "SubnetArns" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable VpcAttachment where+  hashWithSalt _salt VpcAttachment' {..} =+    _salt+      `Prelude.hashWithSalt` attachment+      `Prelude.hashWithSalt` options+      `Prelude.hashWithSalt` subnetArns++instance Prelude.NFData VpcAttachment where+  rnf VpcAttachment' {..} =+    Prelude.rnf attachment+      `Prelude.seq` Prelude.rnf options+      `Prelude.seq` Prelude.rnf subnetArns
+ gen/Amazonka/NetworkManager/Types/VpcOptions.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.Types.VpcOptions+-- 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.NetworkManager.Types.VpcOptions 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++-- | Describes the VPC options.+--+-- /See:/ 'newVpcOptions' smart constructor.+data VpcOptions = VpcOptions'+  { -- | Indicates whether appliance mode is supported. If enabled, traffic flow+    -- between a source and destination use the same Availability Zone for the+    -- VPC attachment for the lifetime of that flow. The default value is+    -- @false@.+    applianceModeSupport :: Prelude.Maybe Prelude.Bool,+    -- | Indicates whether IPv6 is supported.+    ipv6Support :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcOptions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applianceModeSupport', 'vpcOptions_applianceModeSupport' - Indicates whether appliance mode is supported. If enabled, traffic flow+-- between a source and destination use the same Availability Zone for the+-- VPC attachment for the lifetime of that flow. The default value is+-- @false@.+--+-- 'ipv6Support', 'vpcOptions_ipv6Support' - Indicates whether IPv6 is supported.+newVpcOptions ::+  VpcOptions+newVpcOptions =+  VpcOptions'+    { applianceModeSupport = Prelude.Nothing,+      ipv6Support = Prelude.Nothing+    }++-- | Indicates whether appliance mode is supported. If enabled, traffic flow+-- between a source and destination use the same Availability Zone for the+-- VPC attachment for the lifetime of that flow. The default value is+-- @false@.+vpcOptions_applianceModeSupport :: Lens.Lens' VpcOptions (Prelude.Maybe Prelude.Bool)+vpcOptions_applianceModeSupport = Lens.lens (\VpcOptions' {applianceModeSupport} -> applianceModeSupport) (\s@VpcOptions' {} a -> s {applianceModeSupport = a} :: VpcOptions)++-- | Indicates whether IPv6 is supported.+vpcOptions_ipv6Support :: Lens.Lens' VpcOptions (Prelude.Maybe Prelude.Bool)+vpcOptions_ipv6Support = Lens.lens (\VpcOptions' {ipv6Support} -> ipv6Support) (\s@VpcOptions' {} a -> s {ipv6Support = a} :: VpcOptions)++instance Data.FromJSON VpcOptions where+  parseJSON =+    Data.withObject+      "VpcOptions"+      ( \x ->+          VpcOptions'+            Prelude.<$> (x Data..:? "ApplianceModeSupport")+            Prelude.<*> (x Data..:? "Ipv6Support")+      )++instance Prelude.Hashable VpcOptions where+  hashWithSalt _salt VpcOptions' {..} =+    _salt+      `Prelude.hashWithSalt` applianceModeSupport+      `Prelude.hashWithSalt` ipv6Support++instance Prelude.NFData VpcOptions where+  rnf VpcOptions' {..} =+    Prelude.rnf applianceModeSupport+      `Prelude.seq` Prelude.rnf ipv6Support++instance Data.ToJSON VpcOptions where+  toJSON VpcOptions' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ApplianceModeSupport" Data..=)+              Prelude.<$> applianceModeSupport,+            ("Ipv6Support" Data..=) Prelude.<$> ipv6Support+          ]+      )
+ gen/Amazonka/NetworkManager/UntagResource.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.NetworkManager.UntagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes tags from a specified resource.+module Amazonka.NetworkManager.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.NetworkManager.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 tag keys to remove from the specified resource.+    tagKeys :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag keys to remove from the specified 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 tag keys to remove from the specified resource.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/UpdateConnection.hs view
@@ -0,0 +1,236 @@+{-# 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.NetworkManager.UpdateConnection+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the information for an existing connection. To remove+-- information for any of the parameters, specify an empty string.+module Amazonka.NetworkManager.UpdateConnection+  ( -- * Creating a Request+    UpdateConnection (..),+    newUpdateConnection,++    -- * Request Lenses+    updateConnection_connectedLinkId,+    updateConnection_description,+    updateConnection_linkId,+    updateConnection_globalNetworkId,+    updateConnection_connectionId,++    -- * Destructuring the Response+    UpdateConnectionResponse (..),+    newUpdateConnectionResponse,++    -- * Response Lenses+    updateConnectionResponse_connection,+    updateConnectionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateConnection' smart constructor.+data UpdateConnection = UpdateConnection'+  { -- | The ID of the link for the second device in the connection.+    connectedLinkId :: Prelude.Maybe Prelude.Text,+    -- | A description of the connection.+    --+    -- Length Constraints: Maximum length of 256 characters.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of the link for the first device in the connection.+    linkId :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the connection.+    connectionId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateConnection' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connectedLinkId', 'updateConnection_connectedLinkId' - The ID of the link for the second device in the connection.+--+-- 'description', 'updateConnection_description' - A description of the connection.+--+-- Length Constraints: Maximum length of 256 characters.+--+-- 'linkId', 'updateConnection_linkId' - The ID of the link for the first device in the connection.+--+-- 'globalNetworkId', 'updateConnection_globalNetworkId' - The ID of the global network.+--+-- 'connectionId', 'updateConnection_connectionId' - The ID of the connection.+newUpdateConnection ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'connectionId'+  Prelude.Text ->+  UpdateConnection+newUpdateConnection pGlobalNetworkId_ pConnectionId_ =+  UpdateConnection'+    { connectedLinkId =+        Prelude.Nothing,+      description = Prelude.Nothing,+      linkId = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_,+      connectionId = pConnectionId_+    }++-- | The ID of the link for the second device in the connection.+updateConnection_connectedLinkId :: Lens.Lens' UpdateConnection (Prelude.Maybe Prelude.Text)+updateConnection_connectedLinkId = Lens.lens (\UpdateConnection' {connectedLinkId} -> connectedLinkId) (\s@UpdateConnection' {} a -> s {connectedLinkId = a} :: UpdateConnection)++-- | A description of the connection.+--+-- Length Constraints: Maximum length of 256 characters.+updateConnection_description :: Lens.Lens' UpdateConnection (Prelude.Maybe Prelude.Text)+updateConnection_description = Lens.lens (\UpdateConnection' {description} -> description) (\s@UpdateConnection' {} a -> s {description = a} :: UpdateConnection)++-- | The ID of the link for the first device in the connection.+updateConnection_linkId :: Lens.Lens' UpdateConnection (Prelude.Maybe Prelude.Text)+updateConnection_linkId = Lens.lens (\UpdateConnection' {linkId} -> linkId) (\s@UpdateConnection' {} a -> s {linkId = a} :: UpdateConnection)++-- | The ID of the global network.+updateConnection_globalNetworkId :: Lens.Lens' UpdateConnection Prelude.Text+updateConnection_globalNetworkId = Lens.lens (\UpdateConnection' {globalNetworkId} -> globalNetworkId) (\s@UpdateConnection' {} a -> s {globalNetworkId = a} :: UpdateConnection)++-- | The ID of the connection.+updateConnection_connectionId :: Lens.Lens' UpdateConnection Prelude.Text+updateConnection_connectionId = Lens.lens (\UpdateConnection' {connectionId} -> connectionId) (\s@UpdateConnection' {} a -> s {connectionId = a} :: UpdateConnection)++instance Core.AWSRequest UpdateConnection where+  type+    AWSResponse UpdateConnection =+      UpdateConnectionResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateConnectionResponse'+            Prelude.<$> (x Data..?> "Connection")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateConnection where+  hashWithSalt _salt UpdateConnection' {..} =+    _salt+      `Prelude.hashWithSalt` connectedLinkId+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` linkId+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` connectionId++instance Prelude.NFData UpdateConnection where+  rnf UpdateConnection' {..} =+    Prelude.rnf connectedLinkId+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf linkId+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf connectionId++instance Data.ToHeaders UpdateConnection where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateConnection where+  toJSON UpdateConnection' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ConnectedLinkId" Data..=)+              Prelude.<$> connectedLinkId,+            ("Description" Data..=) Prelude.<$> description,+            ("LinkId" Data..=) Prelude.<$> linkId+          ]+      )++instance Data.ToPath UpdateConnection where+  toPath UpdateConnection' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/connections/",+        Data.toBS connectionId+      ]++instance Data.ToQuery UpdateConnection where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateConnectionResponse' smart constructor.+data UpdateConnectionResponse = UpdateConnectionResponse'+  { -- | Information about the connection.+    connection :: Prelude.Maybe Connection,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateConnectionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'connection', 'updateConnectionResponse_connection' - Information about the connection.+--+-- 'httpStatus', 'updateConnectionResponse_httpStatus' - The response's http status code.+newUpdateConnectionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateConnectionResponse+newUpdateConnectionResponse pHttpStatus_ =+  UpdateConnectionResponse'+    { connection =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the connection.+updateConnectionResponse_connection :: Lens.Lens' UpdateConnectionResponse (Prelude.Maybe Connection)+updateConnectionResponse_connection = Lens.lens (\UpdateConnectionResponse' {connection} -> connection) (\s@UpdateConnectionResponse' {} a -> s {connection = a} :: UpdateConnectionResponse)++-- | The response's http status code.+updateConnectionResponse_httpStatus :: Lens.Lens' UpdateConnectionResponse Prelude.Int+updateConnectionResponse_httpStatus = Lens.lens (\UpdateConnectionResponse' {httpStatus} -> httpStatus) (\s@UpdateConnectionResponse' {} a -> s {httpStatus = a} :: UpdateConnectionResponse)++instance Prelude.NFData UpdateConnectionResponse where+  rnf UpdateConnectionResponse' {..} =+    Prelude.rnf connection+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/UpdateCoreNetwork.hs view
@@ -0,0 +1,182 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.UpdateCoreNetwork+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the description of a core network.+module Amazonka.NetworkManager.UpdateCoreNetwork+  ( -- * Creating a Request+    UpdateCoreNetwork (..),+    newUpdateCoreNetwork,++    -- * Request Lenses+    updateCoreNetwork_description,+    updateCoreNetwork_coreNetworkId,++    -- * Destructuring the Response+    UpdateCoreNetworkResponse (..),+    newUpdateCoreNetworkResponse,++    -- * Response Lenses+    updateCoreNetworkResponse_coreNetwork,+    updateCoreNetworkResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateCoreNetwork' smart constructor.+data UpdateCoreNetwork = UpdateCoreNetwork'+  { -- | The description of the update.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of a core network.+    coreNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCoreNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateCoreNetwork_description' - The description of the update.+--+-- 'coreNetworkId', 'updateCoreNetwork_coreNetworkId' - The ID of a core network.+newUpdateCoreNetwork ::+  -- | 'coreNetworkId'+  Prelude.Text ->+  UpdateCoreNetwork+newUpdateCoreNetwork pCoreNetworkId_ =+  UpdateCoreNetwork'+    { description = Prelude.Nothing,+      coreNetworkId = pCoreNetworkId_+    }++-- | The description of the update.+updateCoreNetwork_description :: Lens.Lens' UpdateCoreNetwork (Prelude.Maybe Prelude.Text)+updateCoreNetwork_description = Lens.lens (\UpdateCoreNetwork' {description} -> description) (\s@UpdateCoreNetwork' {} a -> s {description = a} :: UpdateCoreNetwork)++-- | The ID of a core network.+updateCoreNetwork_coreNetworkId :: Lens.Lens' UpdateCoreNetwork Prelude.Text+updateCoreNetwork_coreNetworkId = Lens.lens (\UpdateCoreNetwork' {coreNetworkId} -> coreNetworkId) (\s@UpdateCoreNetwork' {} a -> s {coreNetworkId = a} :: UpdateCoreNetwork)++instance Core.AWSRequest UpdateCoreNetwork where+  type+    AWSResponse UpdateCoreNetwork =+      UpdateCoreNetworkResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateCoreNetworkResponse'+            Prelude.<$> (x Data..?> "CoreNetwork")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateCoreNetwork where+  hashWithSalt _salt UpdateCoreNetwork' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` coreNetworkId++instance Prelude.NFData UpdateCoreNetwork where+  rnf UpdateCoreNetwork' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf coreNetworkId++instance Data.ToHeaders UpdateCoreNetwork where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateCoreNetwork where+  toJSON UpdateCoreNetwork' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Description" Data..=) Prelude.<$> description]+      )++instance Data.ToPath UpdateCoreNetwork where+  toPath UpdateCoreNetwork' {..} =+    Prelude.mconcat+      ["/core-networks/", Data.toBS coreNetworkId]++instance Data.ToQuery UpdateCoreNetwork where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateCoreNetworkResponse' smart constructor.+data UpdateCoreNetworkResponse = UpdateCoreNetworkResponse'+  { -- | Returns information about a core network update.+    coreNetwork :: Prelude.Maybe CoreNetwork,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateCoreNetworkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'coreNetwork', 'updateCoreNetworkResponse_coreNetwork' - Returns information about a core network update.+--+-- 'httpStatus', 'updateCoreNetworkResponse_httpStatus' - The response's http status code.+newUpdateCoreNetworkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateCoreNetworkResponse+newUpdateCoreNetworkResponse pHttpStatus_ =+  UpdateCoreNetworkResponse'+    { coreNetwork =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Returns information about a core network update.+updateCoreNetworkResponse_coreNetwork :: Lens.Lens' UpdateCoreNetworkResponse (Prelude.Maybe CoreNetwork)+updateCoreNetworkResponse_coreNetwork = Lens.lens (\UpdateCoreNetworkResponse' {coreNetwork} -> coreNetwork) (\s@UpdateCoreNetworkResponse' {} a -> s {coreNetwork = a} :: UpdateCoreNetworkResponse)++-- | The response's http status code.+updateCoreNetworkResponse_httpStatus :: Lens.Lens' UpdateCoreNetworkResponse Prelude.Int+updateCoreNetworkResponse_httpStatus = Lens.lens (\UpdateCoreNetworkResponse' {httpStatus} -> httpStatus) (\s@UpdateCoreNetworkResponse' {} a -> s {httpStatus = a} :: UpdateCoreNetworkResponse)++instance Prelude.NFData UpdateCoreNetworkResponse where+  rnf UpdateCoreNetworkResponse' {..} =+    Prelude.rnf coreNetwork+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/UpdateDevice.hs view
@@ -0,0 +1,316 @@+{-# 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.NetworkManager.UpdateDevice+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the details for an existing device. To remove information for+-- any of the parameters, specify an empty string.+module Amazonka.NetworkManager.UpdateDevice+  ( -- * Creating a Request+    UpdateDevice (..),+    newUpdateDevice,++    -- * Request Lenses+    updateDevice_aWSLocation,+    updateDevice_description,+    updateDevice_location,+    updateDevice_model,+    updateDevice_serialNumber,+    updateDevice_siteId,+    updateDevice_type,+    updateDevice_vendor,+    updateDevice_globalNetworkId,+    updateDevice_deviceId,++    -- * Destructuring the Response+    UpdateDeviceResponse (..),+    newUpdateDeviceResponse,++    -- * Response Lenses+    updateDeviceResponse_device,+    updateDeviceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateDevice' smart constructor.+data UpdateDevice = UpdateDevice'+  { -- | The Amazon Web Services location of the device, if applicable. For an+    -- on-premises device, you can omit this parameter.+    aWSLocation :: Prelude.Maybe AWSLocation,+    -- | A description of the device.+    --+    -- Constraints: Maximum length of 256 characters.+    description :: Prelude.Maybe Prelude.Text,+    location :: Prelude.Maybe (Data.Sensitive Location),+    -- | The model of the device.+    --+    -- Constraints: Maximum length of 128 characters.+    model :: Prelude.Maybe Prelude.Text,+    -- | The serial number of the device.+    --+    -- Constraints: Maximum length of 128 characters.+    serialNumber :: Prelude.Maybe Prelude.Text,+    -- | The ID of the site.+    siteId :: Prelude.Maybe Prelude.Text,+    -- | The type of the device.+    type' :: Prelude.Maybe Prelude.Text,+    -- | The vendor of the device.+    --+    -- Constraints: Maximum length of 128 characters.+    vendor :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the device.+    deviceId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDevice' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'aWSLocation', 'updateDevice_aWSLocation' - The Amazon Web Services location of the device, if applicable. For an+-- on-premises device, you can omit this parameter.+--+-- 'description', 'updateDevice_description' - A description of the device.+--+-- Constraints: Maximum length of 256 characters.+--+-- 'location', 'updateDevice_location' - Undocumented member.+--+-- 'model', 'updateDevice_model' - The model of the device.+--+-- Constraints: Maximum length of 128 characters.+--+-- 'serialNumber', 'updateDevice_serialNumber' - The serial number of the device.+--+-- Constraints: Maximum length of 128 characters.+--+-- 'siteId', 'updateDevice_siteId' - The ID of the site.+--+-- 'type'', 'updateDevice_type' - The type of the device.+--+-- 'vendor', 'updateDevice_vendor' - The vendor of the device.+--+-- Constraints: Maximum length of 128 characters.+--+-- 'globalNetworkId', 'updateDevice_globalNetworkId' - The ID of the global network.+--+-- 'deviceId', 'updateDevice_deviceId' - The ID of the device.+newUpdateDevice ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'deviceId'+  Prelude.Text ->+  UpdateDevice+newUpdateDevice pGlobalNetworkId_ pDeviceId_ =+  UpdateDevice'+    { aWSLocation = Prelude.Nothing,+      description = Prelude.Nothing,+      location = Prelude.Nothing,+      model = Prelude.Nothing,+      serialNumber = Prelude.Nothing,+      siteId = Prelude.Nothing,+      type' = Prelude.Nothing,+      vendor = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_,+      deviceId = pDeviceId_+    }++-- | The Amazon Web Services location of the device, if applicable. For an+-- on-premises device, you can omit this parameter.+updateDevice_aWSLocation :: Lens.Lens' UpdateDevice (Prelude.Maybe AWSLocation)+updateDevice_aWSLocation = Lens.lens (\UpdateDevice' {aWSLocation} -> aWSLocation) (\s@UpdateDevice' {} a -> s {aWSLocation = a} :: UpdateDevice)++-- | A description of the device.+--+-- Constraints: Maximum length of 256 characters.+updateDevice_description :: Lens.Lens' UpdateDevice (Prelude.Maybe Prelude.Text)+updateDevice_description = Lens.lens (\UpdateDevice' {description} -> description) (\s@UpdateDevice' {} a -> s {description = a} :: UpdateDevice)++-- | Undocumented member.+updateDevice_location :: Lens.Lens' UpdateDevice (Prelude.Maybe Location)+updateDevice_location = Lens.lens (\UpdateDevice' {location} -> location) (\s@UpdateDevice' {} a -> s {location = a} :: UpdateDevice) Prelude.. Lens.mapping Data._Sensitive++-- | The model of the device.+--+-- Constraints: Maximum length of 128 characters.+updateDevice_model :: Lens.Lens' UpdateDevice (Prelude.Maybe Prelude.Text)+updateDevice_model = Lens.lens (\UpdateDevice' {model} -> model) (\s@UpdateDevice' {} a -> s {model = a} :: UpdateDevice)++-- | The serial number of the device.+--+-- Constraints: Maximum length of 128 characters.+updateDevice_serialNumber :: Lens.Lens' UpdateDevice (Prelude.Maybe Prelude.Text)+updateDevice_serialNumber = Lens.lens (\UpdateDevice' {serialNumber} -> serialNumber) (\s@UpdateDevice' {} a -> s {serialNumber = a} :: UpdateDevice)++-- | The ID of the site.+updateDevice_siteId :: Lens.Lens' UpdateDevice (Prelude.Maybe Prelude.Text)+updateDevice_siteId = Lens.lens (\UpdateDevice' {siteId} -> siteId) (\s@UpdateDevice' {} a -> s {siteId = a} :: UpdateDevice)++-- | The type of the device.+updateDevice_type :: Lens.Lens' UpdateDevice (Prelude.Maybe Prelude.Text)+updateDevice_type = Lens.lens (\UpdateDevice' {type'} -> type') (\s@UpdateDevice' {} a -> s {type' = a} :: UpdateDevice)++-- | The vendor of the device.+--+-- Constraints: Maximum length of 128 characters.+updateDevice_vendor :: Lens.Lens' UpdateDevice (Prelude.Maybe Prelude.Text)+updateDevice_vendor = Lens.lens (\UpdateDevice' {vendor} -> vendor) (\s@UpdateDevice' {} a -> s {vendor = a} :: UpdateDevice)++-- | The ID of the global network.+updateDevice_globalNetworkId :: Lens.Lens' UpdateDevice Prelude.Text+updateDevice_globalNetworkId = Lens.lens (\UpdateDevice' {globalNetworkId} -> globalNetworkId) (\s@UpdateDevice' {} a -> s {globalNetworkId = a} :: UpdateDevice)++-- | The ID of the device.+updateDevice_deviceId :: Lens.Lens' UpdateDevice Prelude.Text+updateDevice_deviceId = Lens.lens (\UpdateDevice' {deviceId} -> deviceId) (\s@UpdateDevice' {} a -> s {deviceId = a} :: UpdateDevice)++instance Core.AWSRequest UpdateDevice where+  type AWSResponse UpdateDevice = UpdateDeviceResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateDeviceResponse'+            Prelude.<$> (x Data..?> "Device")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateDevice where+  hashWithSalt _salt UpdateDevice' {..} =+    _salt+      `Prelude.hashWithSalt` aWSLocation+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` location+      `Prelude.hashWithSalt` model+      `Prelude.hashWithSalt` serialNumber+      `Prelude.hashWithSalt` siteId+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` vendor+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` deviceId++instance Prelude.NFData UpdateDevice where+  rnf UpdateDevice' {..} =+    Prelude.rnf aWSLocation+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf location+      `Prelude.seq` Prelude.rnf model+      `Prelude.seq` Prelude.rnf serialNumber+      `Prelude.seq` Prelude.rnf siteId+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf vendor+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf deviceId++instance Data.ToHeaders UpdateDevice where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateDevice where+  toJSON UpdateDevice' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AWSLocation" Data..=) Prelude.<$> aWSLocation,+            ("Description" Data..=) Prelude.<$> description,+            ("Location" Data..=) Prelude.<$> location,+            ("Model" Data..=) Prelude.<$> model,+            ("SerialNumber" Data..=) Prelude.<$> serialNumber,+            ("SiteId" Data..=) Prelude.<$> siteId,+            ("Type" Data..=) Prelude.<$> type',+            ("Vendor" Data..=) Prelude.<$> vendor+          ]+      )++instance Data.ToPath UpdateDevice where+  toPath UpdateDevice' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/devices/",+        Data.toBS deviceId+      ]++instance Data.ToQuery UpdateDevice where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateDeviceResponse' smart constructor.+data UpdateDeviceResponse = UpdateDeviceResponse'+  { -- | Information about the device.+    device :: Prelude.Maybe Device,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateDeviceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'device', 'updateDeviceResponse_device' - Information about the device.+--+-- 'httpStatus', 'updateDeviceResponse_httpStatus' - The response's http status code.+newUpdateDeviceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateDeviceResponse+newUpdateDeviceResponse pHttpStatus_ =+  UpdateDeviceResponse'+    { device = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the device.+updateDeviceResponse_device :: Lens.Lens' UpdateDeviceResponse (Prelude.Maybe Device)+updateDeviceResponse_device = Lens.lens (\UpdateDeviceResponse' {device} -> device) (\s@UpdateDeviceResponse' {} a -> s {device = a} :: UpdateDeviceResponse)++-- | The response's http status code.+updateDeviceResponse_httpStatus :: Lens.Lens' UpdateDeviceResponse Prelude.Int+updateDeviceResponse_httpStatus = Lens.lens (\UpdateDeviceResponse' {httpStatus} -> httpStatus) (\s@UpdateDeviceResponse' {} a -> s {httpStatus = a} :: UpdateDeviceResponse)++instance Prelude.NFData UpdateDeviceResponse where+  rnf UpdateDeviceResponse' {..} =+    Prelude.rnf device+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/UpdateGlobalNetwork.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.NetworkManager.UpdateGlobalNetwork+-- 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 existing global network. To remove information for any of the+-- parameters, specify an empty string.+module Amazonka.NetworkManager.UpdateGlobalNetwork+  ( -- * Creating a Request+    UpdateGlobalNetwork (..),+    newUpdateGlobalNetwork,++    -- * Request Lenses+    updateGlobalNetwork_description,+    updateGlobalNetwork_globalNetworkId,++    -- * Destructuring the Response+    UpdateGlobalNetworkResponse (..),+    newUpdateGlobalNetworkResponse,++    -- * Response Lenses+    updateGlobalNetworkResponse_globalNetwork,+    updateGlobalNetworkResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateGlobalNetwork' smart constructor.+data UpdateGlobalNetwork = UpdateGlobalNetwork'+  { -- | A description of the global network.+    --+    -- Constraints: Maximum length of 256 characters.+    description :: Prelude.Maybe Prelude.Text,+    -- | The ID of your global network.+    globalNetworkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGlobalNetwork' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateGlobalNetwork_description' - A description of the global network.+--+-- Constraints: Maximum length of 256 characters.+--+-- 'globalNetworkId', 'updateGlobalNetwork_globalNetworkId' - The ID of your global network.+newUpdateGlobalNetwork ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  UpdateGlobalNetwork+newUpdateGlobalNetwork pGlobalNetworkId_ =+  UpdateGlobalNetwork'+    { description = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_+    }++-- | A description of the global network.+--+-- Constraints: Maximum length of 256 characters.+updateGlobalNetwork_description :: Lens.Lens' UpdateGlobalNetwork (Prelude.Maybe Prelude.Text)+updateGlobalNetwork_description = Lens.lens (\UpdateGlobalNetwork' {description} -> description) (\s@UpdateGlobalNetwork' {} a -> s {description = a} :: UpdateGlobalNetwork)++-- | The ID of your global network.+updateGlobalNetwork_globalNetworkId :: Lens.Lens' UpdateGlobalNetwork Prelude.Text+updateGlobalNetwork_globalNetworkId = Lens.lens (\UpdateGlobalNetwork' {globalNetworkId} -> globalNetworkId) (\s@UpdateGlobalNetwork' {} a -> s {globalNetworkId = a} :: UpdateGlobalNetwork)++instance Core.AWSRequest UpdateGlobalNetwork where+  type+    AWSResponse UpdateGlobalNetwork =+      UpdateGlobalNetworkResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateGlobalNetworkResponse'+            Prelude.<$> (x Data..?> "GlobalNetwork")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateGlobalNetwork where+  hashWithSalt _salt UpdateGlobalNetwork' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` globalNetworkId++instance Prelude.NFData UpdateGlobalNetwork where+  rnf UpdateGlobalNetwork' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf globalNetworkId++instance Data.ToHeaders UpdateGlobalNetwork where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateGlobalNetwork where+  toJSON UpdateGlobalNetwork' {..} =+    Data.object+      ( Prelude.catMaybes+          [("Description" Data..=) Prelude.<$> description]+      )++instance Data.ToPath UpdateGlobalNetwork where+  toPath UpdateGlobalNetwork' {..} =+    Prelude.mconcat+      ["/global-networks/", Data.toBS globalNetworkId]++instance Data.ToQuery UpdateGlobalNetwork where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateGlobalNetworkResponse' smart constructor.+data UpdateGlobalNetworkResponse = UpdateGlobalNetworkResponse'+  { -- | Information about the global network object.+    globalNetwork :: Prelude.Maybe GlobalNetwork,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateGlobalNetworkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetwork', 'updateGlobalNetworkResponse_globalNetwork' - Information about the global network object.+--+-- 'httpStatus', 'updateGlobalNetworkResponse_httpStatus' - The response's http status code.+newUpdateGlobalNetworkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateGlobalNetworkResponse+newUpdateGlobalNetworkResponse pHttpStatus_ =+  UpdateGlobalNetworkResponse'+    { globalNetwork =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the global network object.+updateGlobalNetworkResponse_globalNetwork :: Lens.Lens' UpdateGlobalNetworkResponse (Prelude.Maybe GlobalNetwork)+updateGlobalNetworkResponse_globalNetwork = Lens.lens (\UpdateGlobalNetworkResponse' {globalNetwork} -> globalNetwork) (\s@UpdateGlobalNetworkResponse' {} a -> s {globalNetwork = a} :: UpdateGlobalNetworkResponse)++-- | The response's http status code.+updateGlobalNetworkResponse_httpStatus :: Lens.Lens' UpdateGlobalNetworkResponse Prelude.Int+updateGlobalNetworkResponse_httpStatus = Lens.lens (\UpdateGlobalNetworkResponse' {httpStatus} -> httpStatus) (\s@UpdateGlobalNetworkResponse' {} a -> s {httpStatus = a} :: UpdateGlobalNetworkResponse)++instance Prelude.NFData UpdateGlobalNetworkResponse where+  rnf UpdateGlobalNetworkResponse' {..} =+    Prelude.rnf globalNetwork+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/UpdateLink.hs view
@@ -0,0 +1,256 @@+{-# 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.NetworkManager.UpdateLink+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the details for an existing link. To remove information for any+-- of the parameters, specify an empty string.+module Amazonka.NetworkManager.UpdateLink+  ( -- * Creating a Request+    UpdateLink (..),+    newUpdateLink,++    -- * Request Lenses+    updateLink_bandwidth,+    updateLink_description,+    updateLink_provider,+    updateLink_type,+    updateLink_globalNetworkId,+    updateLink_linkId,++    -- * Destructuring the Response+    UpdateLinkResponse (..),+    newUpdateLinkResponse,++    -- * Response Lenses+    updateLinkResponse_link,+    updateLinkResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateLink' smart constructor.+data UpdateLink = UpdateLink'+  { -- | The upload and download speed in Mbps.+    bandwidth :: Prelude.Maybe Bandwidth,+    -- | A description of the link.+    --+    -- Constraints: Maximum length of 256 characters.+    description :: Prelude.Maybe Prelude.Text,+    -- | The provider of the link.+    --+    -- Constraints: Maximum length of 128 characters.+    provider :: Prelude.Maybe Prelude.Text,+    -- | The type of the link.+    --+    -- Constraints: Maximum length of 128 characters.+    type' :: Prelude.Maybe Prelude.Text,+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of the link.+    linkId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLink' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bandwidth', 'updateLink_bandwidth' - The upload and download speed in Mbps.+--+-- 'description', 'updateLink_description' - A description of the link.+--+-- Constraints: Maximum length of 256 characters.+--+-- 'provider', 'updateLink_provider' - The provider of the link.+--+-- Constraints: Maximum length of 128 characters.+--+-- 'type'', 'updateLink_type' - The type of the link.+--+-- Constraints: Maximum length of 128 characters.+--+-- 'globalNetworkId', 'updateLink_globalNetworkId' - The ID of the global network.+--+-- 'linkId', 'updateLink_linkId' - The ID of the link.+newUpdateLink ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'linkId'+  Prelude.Text ->+  UpdateLink+newUpdateLink pGlobalNetworkId_ pLinkId_ =+  UpdateLink'+    { bandwidth = Prelude.Nothing,+      description = Prelude.Nothing,+      provider = Prelude.Nothing,+      type' = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_,+      linkId = pLinkId_+    }++-- | The upload and download speed in Mbps.+updateLink_bandwidth :: Lens.Lens' UpdateLink (Prelude.Maybe Bandwidth)+updateLink_bandwidth = Lens.lens (\UpdateLink' {bandwidth} -> bandwidth) (\s@UpdateLink' {} a -> s {bandwidth = a} :: UpdateLink)++-- | A description of the link.+--+-- Constraints: Maximum length of 256 characters.+updateLink_description :: Lens.Lens' UpdateLink (Prelude.Maybe Prelude.Text)+updateLink_description = Lens.lens (\UpdateLink' {description} -> description) (\s@UpdateLink' {} a -> s {description = a} :: UpdateLink)++-- | The provider of the link.+--+-- Constraints: Maximum length of 128 characters.+updateLink_provider :: Lens.Lens' UpdateLink (Prelude.Maybe Prelude.Text)+updateLink_provider = Lens.lens (\UpdateLink' {provider} -> provider) (\s@UpdateLink' {} a -> s {provider = a} :: UpdateLink)++-- | The type of the link.+--+-- Constraints: Maximum length of 128 characters.+updateLink_type :: Lens.Lens' UpdateLink (Prelude.Maybe Prelude.Text)+updateLink_type = Lens.lens (\UpdateLink' {type'} -> type') (\s@UpdateLink' {} a -> s {type' = a} :: UpdateLink)++-- | The ID of the global network.+updateLink_globalNetworkId :: Lens.Lens' UpdateLink Prelude.Text+updateLink_globalNetworkId = Lens.lens (\UpdateLink' {globalNetworkId} -> globalNetworkId) (\s@UpdateLink' {} a -> s {globalNetworkId = a} :: UpdateLink)++-- | The ID of the link.+updateLink_linkId :: Lens.Lens' UpdateLink Prelude.Text+updateLink_linkId = Lens.lens (\UpdateLink' {linkId} -> linkId) (\s@UpdateLink' {} a -> s {linkId = a} :: UpdateLink)++instance Core.AWSRequest UpdateLink where+  type AWSResponse UpdateLink = UpdateLinkResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateLinkResponse'+            Prelude.<$> (x Data..?> "Link")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateLink where+  hashWithSalt _salt UpdateLink' {..} =+    _salt+      `Prelude.hashWithSalt` bandwidth+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` provider+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` linkId++instance Prelude.NFData UpdateLink where+  rnf UpdateLink' {..} =+    Prelude.rnf bandwidth+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf provider+      `Prelude.seq` Prelude.rnf type'+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf linkId++instance Data.ToHeaders UpdateLink where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateLink where+  toJSON UpdateLink' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Bandwidth" Data..=) Prelude.<$> bandwidth,+            ("Description" Data..=) Prelude.<$> description,+            ("Provider" Data..=) Prelude.<$> provider,+            ("Type" Data..=) Prelude.<$> type'+          ]+      )++instance Data.ToPath UpdateLink where+  toPath UpdateLink' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/links/",+        Data.toBS linkId+      ]++instance Data.ToQuery UpdateLink where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateLinkResponse' smart constructor.+data UpdateLinkResponse = UpdateLinkResponse'+  { -- | Information about the link.+    link :: Prelude.Maybe Link,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLinkResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'link', 'updateLinkResponse_link' - Information about the link.+--+-- 'httpStatus', 'updateLinkResponse_httpStatus' - The response's http status code.+newUpdateLinkResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateLinkResponse+newUpdateLinkResponse pHttpStatus_ =+  UpdateLinkResponse'+    { link = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the link.+updateLinkResponse_link :: Lens.Lens' UpdateLinkResponse (Prelude.Maybe Link)+updateLinkResponse_link = Lens.lens (\UpdateLinkResponse' {link} -> link) (\s@UpdateLinkResponse' {} a -> s {link = a} :: UpdateLinkResponse)++-- | The response's http status code.+updateLinkResponse_httpStatus :: Lens.Lens' UpdateLinkResponse Prelude.Int+updateLinkResponse_httpStatus = Lens.lens (\UpdateLinkResponse' {httpStatus} -> httpStatus) (\s@UpdateLinkResponse' {} a -> s {httpStatus = a} :: UpdateLinkResponse)++instance Prelude.NFData UpdateLinkResponse where+  rnf UpdateLinkResponse' {..} =+    Prelude.rnf link+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/UpdateNetworkResourceMetadata.hs view
@@ -0,0 +1,225 @@+{-# 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.NetworkManager.UpdateNetworkResourceMetadata+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the resource metadata for the specified global network.+module Amazonka.NetworkManager.UpdateNetworkResourceMetadata+  ( -- * Creating a Request+    UpdateNetworkResourceMetadata (..),+    newUpdateNetworkResourceMetadata,++    -- * Request Lenses+    updateNetworkResourceMetadata_globalNetworkId,+    updateNetworkResourceMetadata_resourceArn,+    updateNetworkResourceMetadata_metadata,++    -- * Destructuring the Response+    UpdateNetworkResourceMetadataResponse (..),+    newUpdateNetworkResourceMetadataResponse,++    -- * Response Lenses+    updateNetworkResourceMetadataResponse_metadata,+    updateNetworkResourceMetadataResponse_resourceArn,+    updateNetworkResourceMetadataResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateNetworkResourceMetadata' smart constructor.+data UpdateNetworkResourceMetadata = UpdateNetworkResourceMetadata'+  { -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ARN of the resource.+    resourceArn :: Prelude.Text,+    -- | The resource metadata.+    metadata :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateNetworkResourceMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'globalNetworkId', 'updateNetworkResourceMetadata_globalNetworkId' - The ID of the global network.+--+-- 'resourceArn', 'updateNetworkResourceMetadata_resourceArn' - The ARN of the resource.+--+-- 'metadata', 'updateNetworkResourceMetadata_metadata' - The resource metadata.+newUpdateNetworkResourceMetadata ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'resourceArn'+  Prelude.Text ->+  UpdateNetworkResourceMetadata+newUpdateNetworkResourceMetadata+  pGlobalNetworkId_+  pResourceArn_ =+    UpdateNetworkResourceMetadata'+      { globalNetworkId =+          pGlobalNetworkId_,+        resourceArn = pResourceArn_,+        metadata = Prelude.mempty+      }++-- | The ID of the global network.+updateNetworkResourceMetadata_globalNetworkId :: Lens.Lens' UpdateNetworkResourceMetadata Prelude.Text+updateNetworkResourceMetadata_globalNetworkId = Lens.lens (\UpdateNetworkResourceMetadata' {globalNetworkId} -> globalNetworkId) (\s@UpdateNetworkResourceMetadata' {} a -> s {globalNetworkId = a} :: UpdateNetworkResourceMetadata)++-- | The ARN of the resource.+updateNetworkResourceMetadata_resourceArn :: Lens.Lens' UpdateNetworkResourceMetadata Prelude.Text+updateNetworkResourceMetadata_resourceArn = Lens.lens (\UpdateNetworkResourceMetadata' {resourceArn} -> resourceArn) (\s@UpdateNetworkResourceMetadata' {} a -> s {resourceArn = a} :: UpdateNetworkResourceMetadata)++-- | The resource metadata.+updateNetworkResourceMetadata_metadata :: Lens.Lens' UpdateNetworkResourceMetadata (Prelude.HashMap Prelude.Text Prelude.Text)+updateNetworkResourceMetadata_metadata = Lens.lens (\UpdateNetworkResourceMetadata' {metadata} -> metadata) (\s@UpdateNetworkResourceMetadata' {} a -> s {metadata = a} :: UpdateNetworkResourceMetadata) Prelude.. Lens.coerced++instance+  Core.AWSRequest+    UpdateNetworkResourceMetadata+  where+  type+    AWSResponse UpdateNetworkResourceMetadata =+      UpdateNetworkResourceMetadataResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateNetworkResourceMetadataResponse'+            Prelude.<$> (x Data..?> "Metadata" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "ResourceArn")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    UpdateNetworkResourceMetadata+  where+  hashWithSalt _salt UpdateNetworkResourceMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` metadata++instance Prelude.NFData UpdateNetworkResourceMetadata where+  rnf UpdateNetworkResourceMetadata' {..} =+    Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf metadata++instance Data.ToHeaders UpdateNetworkResourceMetadata where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateNetworkResourceMetadata where+  toJSON UpdateNetworkResourceMetadata' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Metadata" Data..= metadata)]+      )++instance Data.ToPath UpdateNetworkResourceMetadata where+  toPath UpdateNetworkResourceMetadata' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/network-resources/",+        Data.toBS resourceArn,+        "/metadata"+      ]++instance Data.ToQuery UpdateNetworkResourceMetadata where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateNetworkResourceMetadataResponse' smart constructor.+data UpdateNetworkResourceMetadataResponse = UpdateNetworkResourceMetadataResponse'+  { -- | The updated resource metadata.+    metadata :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The ARN of the resource.+    resourceArn :: 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 'UpdateNetworkResourceMetadataResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'metadata', 'updateNetworkResourceMetadataResponse_metadata' - The updated resource metadata.+--+-- 'resourceArn', 'updateNetworkResourceMetadataResponse_resourceArn' - The ARN of the resource.+--+-- 'httpStatus', 'updateNetworkResourceMetadataResponse_httpStatus' - The response's http status code.+newUpdateNetworkResourceMetadataResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateNetworkResourceMetadataResponse+newUpdateNetworkResourceMetadataResponse pHttpStatus_ =+  UpdateNetworkResourceMetadataResponse'+    { metadata =+        Prelude.Nothing,+      resourceArn = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The updated resource metadata.+updateNetworkResourceMetadataResponse_metadata :: Lens.Lens' UpdateNetworkResourceMetadataResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateNetworkResourceMetadataResponse_metadata = Lens.lens (\UpdateNetworkResourceMetadataResponse' {metadata} -> metadata) (\s@UpdateNetworkResourceMetadataResponse' {} a -> s {metadata = a} :: UpdateNetworkResourceMetadataResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the resource.+updateNetworkResourceMetadataResponse_resourceArn :: Lens.Lens' UpdateNetworkResourceMetadataResponse (Prelude.Maybe Prelude.Text)+updateNetworkResourceMetadataResponse_resourceArn = Lens.lens (\UpdateNetworkResourceMetadataResponse' {resourceArn} -> resourceArn) (\s@UpdateNetworkResourceMetadataResponse' {} a -> s {resourceArn = a} :: UpdateNetworkResourceMetadataResponse)++-- | The response's http status code.+updateNetworkResourceMetadataResponse_httpStatus :: Lens.Lens' UpdateNetworkResourceMetadataResponse Prelude.Int+updateNetworkResourceMetadataResponse_httpStatus = Lens.lens (\UpdateNetworkResourceMetadataResponse' {httpStatus} -> httpStatus) (\s@UpdateNetworkResourceMetadataResponse' {} a -> s {httpStatus = a} :: UpdateNetworkResourceMetadataResponse)++instance+  Prelude.NFData+    UpdateNetworkResourceMetadataResponse+  where+  rnf UpdateNetworkResourceMetadataResponse' {..} =+    Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/UpdateSite.hs view
@@ -0,0 +1,236 @@+{-# 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.NetworkManager.UpdateSite+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the information for an existing site. To remove information for+-- any of the parameters, specify an empty string.+module Amazonka.NetworkManager.UpdateSite+  ( -- * Creating a Request+    UpdateSite (..),+    newUpdateSite,++    -- * Request Lenses+    updateSite_description,+    updateSite_location,+    updateSite_globalNetworkId,+    updateSite_siteId,++    -- * Destructuring the Response+    UpdateSiteResponse (..),+    newUpdateSiteResponse,++    -- * Response Lenses+    updateSiteResponse_site,+    updateSiteResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateSite' smart constructor.+data UpdateSite = UpdateSite'+  { -- | A description of your site.+    --+    -- Constraints: Maximum length of 256 characters.+    description :: Prelude.Maybe Prelude.Text,+    -- | The site location:+    --+    -- -   @Address@: The physical address of the site.+    --+    -- -   @Latitude@: The latitude of the site.+    --+    -- -   @Longitude@: The longitude of the site.+    location :: Prelude.Maybe (Data.Sensitive Location),+    -- | The ID of the global network.+    globalNetworkId :: Prelude.Text,+    -- | The ID of your site.+    siteId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateSite_description' - A description of your site.+--+-- Constraints: Maximum length of 256 characters.+--+-- 'location', 'updateSite_location' - The site location:+--+-- -   @Address@: The physical address of the site.+--+-- -   @Latitude@: The latitude of the site.+--+-- -   @Longitude@: The longitude of the site.+--+-- 'globalNetworkId', 'updateSite_globalNetworkId' - The ID of the global network.+--+-- 'siteId', 'updateSite_siteId' - The ID of your site.+newUpdateSite ::+  -- | 'globalNetworkId'+  Prelude.Text ->+  -- | 'siteId'+  Prelude.Text ->+  UpdateSite+newUpdateSite pGlobalNetworkId_ pSiteId_ =+  UpdateSite'+    { description = Prelude.Nothing,+      location = Prelude.Nothing,+      globalNetworkId = pGlobalNetworkId_,+      siteId = pSiteId_+    }++-- | A description of your site.+--+-- Constraints: Maximum length of 256 characters.+updateSite_description :: Lens.Lens' UpdateSite (Prelude.Maybe Prelude.Text)+updateSite_description = Lens.lens (\UpdateSite' {description} -> description) (\s@UpdateSite' {} a -> s {description = a} :: UpdateSite)++-- | The site location:+--+-- -   @Address@: The physical address of the site.+--+-- -   @Latitude@: The latitude of the site.+--+-- -   @Longitude@: The longitude of the site.+updateSite_location :: Lens.Lens' UpdateSite (Prelude.Maybe Location)+updateSite_location = Lens.lens (\UpdateSite' {location} -> location) (\s@UpdateSite' {} a -> s {location = a} :: UpdateSite) Prelude.. Lens.mapping Data._Sensitive++-- | The ID of the global network.+updateSite_globalNetworkId :: Lens.Lens' UpdateSite Prelude.Text+updateSite_globalNetworkId = Lens.lens (\UpdateSite' {globalNetworkId} -> globalNetworkId) (\s@UpdateSite' {} a -> s {globalNetworkId = a} :: UpdateSite)++-- | The ID of your site.+updateSite_siteId :: Lens.Lens' UpdateSite Prelude.Text+updateSite_siteId = Lens.lens (\UpdateSite' {siteId} -> siteId) (\s@UpdateSite' {} a -> s {siteId = a} :: UpdateSite)++instance Core.AWSRequest UpdateSite where+  type AWSResponse UpdateSite = UpdateSiteResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateSiteResponse'+            Prelude.<$> (x Data..?> "Site")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateSite where+  hashWithSalt _salt UpdateSite' {..} =+    _salt+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` location+      `Prelude.hashWithSalt` globalNetworkId+      `Prelude.hashWithSalt` siteId++instance Prelude.NFData UpdateSite where+  rnf UpdateSite' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf location+      `Prelude.seq` Prelude.rnf globalNetworkId+      `Prelude.seq` Prelude.rnf siteId++instance Data.ToHeaders UpdateSite where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateSite where+  toJSON UpdateSite' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Description" Data..=) Prelude.<$> description,+            ("Location" Data..=) Prelude.<$> location+          ]+      )++instance Data.ToPath UpdateSite where+  toPath UpdateSite' {..} =+    Prelude.mconcat+      [ "/global-networks/",+        Data.toBS globalNetworkId,+        "/sites/",+        Data.toBS siteId+      ]++instance Data.ToQuery UpdateSite where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSiteResponse' smart constructor.+data UpdateSiteResponse = UpdateSiteResponse'+  { -- | Information about the site.+    site :: Prelude.Maybe Site,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'site', 'updateSiteResponse_site' - Information about the site.+--+-- 'httpStatus', 'updateSiteResponse_httpStatus' - The response's http status code.+newUpdateSiteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateSiteResponse+newUpdateSiteResponse pHttpStatus_ =+  UpdateSiteResponse'+    { site = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Information about the site.+updateSiteResponse_site :: Lens.Lens' UpdateSiteResponse (Prelude.Maybe Site)+updateSiteResponse_site = Lens.lens (\UpdateSiteResponse' {site} -> site) (\s@UpdateSiteResponse' {} a -> s {site = a} :: UpdateSiteResponse)++-- | The response's http status code.+updateSiteResponse_httpStatus :: Lens.Lens' UpdateSiteResponse Prelude.Int+updateSiteResponse_httpStatus = Lens.lens (\UpdateSiteResponse' {httpStatus} -> httpStatus) (\s@UpdateSiteResponse' {} a -> s {httpStatus = a} :: UpdateSiteResponse)++instance Prelude.NFData UpdateSiteResponse where+  rnf UpdateSiteResponse' {..} =+    Prelude.rnf site+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/UpdateVpcAttachment.hs view
@@ -0,0 +1,211 @@+{-# 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.NetworkManager.UpdateVpcAttachment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a VPC attachment.+module Amazonka.NetworkManager.UpdateVpcAttachment+  ( -- * Creating a Request+    UpdateVpcAttachment (..),+    newUpdateVpcAttachment,++    -- * Request Lenses+    updateVpcAttachment_addSubnetArns,+    updateVpcAttachment_options,+    updateVpcAttachment_removeSubnetArns,+    updateVpcAttachment_attachmentId,++    -- * Destructuring the Response+    UpdateVpcAttachmentResponse (..),+    newUpdateVpcAttachmentResponse,++    -- * Response Lenses+    updateVpcAttachmentResponse_vpcAttachment,+    updateVpcAttachmentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateVpcAttachment' smart constructor.+data UpdateVpcAttachment = UpdateVpcAttachment'+  { -- | Adds a subnet ARN to the VPC attachment.+    addSubnetArns :: Prelude.Maybe [Prelude.Text],+    -- | Additional options for updating the VPC attachment.+    options :: Prelude.Maybe VpcOptions,+    -- | Removes a subnet ARN from the attachment.+    removeSubnetArns :: Prelude.Maybe [Prelude.Text],+    -- | The ID of the attachment.+    attachmentId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVpcAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'addSubnetArns', 'updateVpcAttachment_addSubnetArns' - Adds a subnet ARN to the VPC attachment.+--+-- 'options', 'updateVpcAttachment_options' - Additional options for updating the VPC attachment.+--+-- 'removeSubnetArns', 'updateVpcAttachment_removeSubnetArns' - Removes a subnet ARN from the attachment.+--+-- 'attachmentId', 'updateVpcAttachment_attachmentId' - The ID of the attachment.+newUpdateVpcAttachment ::+  -- | 'attachmentId'+  Prelude.Text ->+  UpdateVpcAttachment+newUpdateVpcAttachment pAttachmentId_ =+  UpdateVpcAttachment'+    { addSubnetArns =+        Prelude.Nothing,+      options = Prelude.Nothing,+      removeSubnetArns = Prelude.Nothing,+      attachmentId = pAttachmentId_+    }++-- | Adds a subnet ARN to the VPC attachment.+updateVpcAttachment_addSubnetArns :: Lens.Lens' UpdateVpcAttachment (Prelude.Maybe [Prelude.Text])+updateVpcAttachment_addSubnetArns = Lens.lens (\UpdateVpcAttachment' {addSubnetArns} -> addSubnetArns) (\s@UpdateVpcAttachment' {} a -> s {addSubnetArns = a} :: UpdateVpcAttachment) Prelude.. Lens.mapping Lens.coerced++-- | Additional options for updating the VPC attachment.+updateVpcAttachment_options :: Lens.Lens' UpdateVpcAttachment (Prelude.Maybe VpcOptions)+updateVpcAttachment_options = Lens.lens (\UpdateVpcAttachment' {options} -> options) (\s@UpdateVpcAttachment' {} a -> s {options = a} :: UpdateVpcAttachment)++-- | Removes a subnet ARN from the attachment.+updateVpcAttachment_removeSubnetArns :: Lens.Lens' UpdateVpcAttachment (Prelude.Maybe [Prelude.Text])+updateVpcAttachment_removeSubnetArns = Lens.lens (\UpdateVpcAttachment' {removeSubnetArns} -> removeSubnetArns) (\s@UpdateVpcAttachment' {} a -> s {removeSubnetArns = a} :: UpdateVpcAttachment) Prelude.. Lens.mapping Lens.coerced++-- | The ID of the attachment.+updateVpcAttachment_attachmentId :: Lens.Lens' UpdateVpcAttachment Prelude.Text+updateVpcAttachment_attachmentId = Lens.lens (\UpdateVpcAttachment' {attachmentId} -> attachmentId) (\s@UpdateVpcAttachment' {} a -> s {attachmentId = a} :: UpdateVpcAttachment)++instance Core.AWSRequest UpdateVpcAttachment where+  type+    AWSResponse UpdateVpcAttachment =+      UpdateVpcAttachmentResponse+  request overrides =+    Request.patchJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          UpdateVpcAttachmentResponse'+            Prelude.<$> (x Data..?> "VpcAttachment")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UpdateVpcAttachment where+  hashWithSalt _salt UpdateVpcAttachment' {..} =+    _salt+      `Prelude.hashWithSalt` addSubnetArns+      `Prelude.hashWithSalt` options+      `Prelude.hashWithSalt` removeSubnetArns+      `Prelude.hashWithSalt` attachmentId++instance Prelude.NFData UpdateVpcAttachment where+  rnf UpdateVpcAttachment' {..} =+    Prelude.rnf addSubnetArns+      `Prelude.seq` Prelude.rnf options+      `Prelude.seq` Prelude.rnf removeSubnetArns+      `Prelude.seq` Prelude.rnf attachmentId++instance Data.ToHeaders UpdateVpcAttachment where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON UpdateVpcAttachment where+  toJSON UpdateVpcAttachment' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AddSubnetArns" Data..=) Prelude.<$> addSubnetArns,+            ("Options" Data..=) Prelude.<$> options,+            ("RemoveSubnetArns" Data..=)+              Prelude.<$> removeSubnetArns+          ]+      )++instance Data.ToPath UpdateVpcAttachment where+  toPath UpdateVpcAttachment' {..} =+    Prelude.mconcat+      ["/vpc-attachments/", Data.toBS attachmentId]++instance Data.ToQuery UpdateVpcAttachment where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateVpcAttachmentResponse' smart constructor.+data UpdateVpcAttachmentResponse = UpdateVpcAttachmentResponse'+  { -- | Describes the updated VPC attachment.+    vpcAttachment :: Prelude.Maybe VpcAttachment,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVpcAttachmentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vpcAttachment', 'updateVpcAttachmentResponse_vpcAttachment' - Describes the updated VPC attachment.+--+-- 'httpStatus', 'updateVpcAttachmentResponse_httpStatus' - The response's http status code.+newUpdateVpcAttachmentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UpdateVpcAttachmentResponse+newUpdateVpcAttachmentResponse pHttpStatus_ =+  UpdateVpcAttachmentResponse'+    { vpcAttachment =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Describes the updated VPC attachment.+updateVpcAttachmentResponse_vpcAttachment :: Lens.Lens' UpdateVpcAttachmentResponse (Prelude.Maybe VpcAttachment)+updateVpcAttachmentResponse_vpcAttachment = Lens.lens (\UpdateVpcAttachmentResponse' {vpcAttachment} -> vpcAttachment) (\s@UpdateVpcAttachmentResponse' {} a -> s {vpcAttachment = a} :: UpdateVpcAttachmentResponse)++-- | The response's http status code.+updateVpcAttachmentResponse_httpStatus :: Lens.Lens' UpdateVpcAttachmentResponse Prelude.Int+updateVpcAttachmentResponse_httpStatus = Lens.lens (\UpdateVpcAttachmentResponse' {httpStatus} -> httpStatus) (\s@UpdateVpcAttachmentResponse' {} a -> s {httpStatus = a} :: UpdateVpcAttachmentResponse)++instance Prelude.NFData UpdateVpcAttachmentResponse where+  rnf UpdateVpcAttachmentResponse' {..} =+    Prelude.rnf vpcAttachment+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/NetworkManager/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.NetworkManager.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.NetworkManager.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.NetworkManager.Lens+import Amazonka.NetworkManager.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.NetworkManager+import Test.Amazonka.NetworkManager.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "NetworkManager"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/NetworkManager.hs view
@@ -0,0 +1,1738 @@+{-# 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.NetworkManager+-- 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.NetworkManager where++import Amazonka.NetworkManager+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.NetworkManager.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"+--         [ requestAcceptAttachment $+--             newAcceptAttachment+--+--         , requestAssociateConnectPeer $+--             newAssociateConnectPeer+--+--         , requestAssociateCustomerGateway $+--             newAssociateCustomerGateway+--+--         , requestAssociateLink $+--             newAssociateLink+--+--         , requestAssociateTransitGatewayConnectPeer $+--             newAssociateTransitGatewayConnectPeer+--+--         , requestCreateConnectAttachment $+--             newCreateConnectAttachment+--+--         , requestCreateConnectPeer $+--             newCreateConnectPeer+--+--         , requestCreateConnection $+--             newCreateConnection+--+--         , requestCreateCoreNetwork $+--             newCreateCoreNetwork+--+--         , requestCreateDevice $+--             newCreateDevice+--+--         , requestCreateGlobalNetwork $+--             newCreateGlobalNetwork+--+--         , requestCreateLink $+--             newCreateLink+--+--         , requestCreateSite $+--             newCreateSite+--+--         , requestCreateSiteToSiteVpnAttachment $+--             newCreateSiteToSiteVpnAttachment+--+--         , requestCreateTransitGatewayPeering $+--             newCreateTransitGatewayPeering+--+--         , requestCreateTransitGatewayRouteTableAttachment $+--             newCreateTransitGatewayRouteTableAttachment+--+--         , requestCreateVpcAttachment $+--             newCreateVpcAttachment+--+--         , requestDeleteAttachment $+--             newDeleteAttachment+--+--         , requestDeleteConnectPeer $+--             newDeleteConnectPeer+--+--         , requestDeleteConnection $+--             newDeleteConnection+--+--         , requestDeleteCoreNetwork $+--             newDeleteCoreNetwork+--+--         , requestDeleteCoreNetworkPolicyVersion $+--             newDeleteCoreNetworkPolicyVersion+--+--         , requestDeleteDevice $+--             newDeleteDevice+--+--         , requestDeleteGlobalNetwork $+--             newDeleteGlobalNetwork+--+--         , requestDeleteLink $+--             newDeleteLink+--+--         , requestDeletePeering $+--             newDeletePeering+--+--         , requestDeleteResourcePolicy $+--             newDeleteResourcePolicy+--+--         , requestDeleteSite $+--             newDeleteSite+--+--         , requestDeregisterTransitGateway $+--             newDeregisterTransitGateway+--+--         , requestDescribeGlobalNetworks $+--             newDescribeGlobalNetworks+--+--         , requestDisassociateConnectPeer $+--             newDisassociateConnectPeer+--+--         , requestDisassociateCustomerGateway $+--             newDisassociateCustomerGateway+--+--         , requestDisassociateLink $+--             newDisassociateLink+--+--         , requestDisassociateTransitGatewayConnectPeer $+--             newDisassociateTransitGatewayConnectPeer+--+--         , requestExecuteCoreNetworkChangeSet $+--             newExecuteCoreNetworkChangeSet+--+--         , requestGetConnectAttachment $+--             newGetConnectAttachment+--+--         , requestGetConnectPeer $+--             newGetConnectPeer+--+--         , requestGetConnectPeerAssociations $+--             newGetConnectPeerAssociations+--+--         , requestGetConnections $+--             newGetConnections+--+--         , requestGetCoreNetwork $+--             newGetCoreNetwork+--+--         , requestGetCoreNetworkChangeEvents $+--             newGetCoreNetworkChangeEvents+--+--         , requestGetCoreNetworkChangeSet $+--             newGetCoreNetworkChangeSet+--+--         , requestGetCoreNetworkPolicy $+--             newGetCoreNetworkPolicy+--+--         , requestGetCustomerGatewayAssociations $+--             newGetCustomerGatewayAssociations+--+--         , requestGetDevices $+--             newGetDevices+--+--         , requestGetLinkAssociations $+--             newGetLinkAssociations+--+--         , requestGetLinks $+--             newGetLinks+--+--         , requestGetNetworkResourceCounts $+--             newGetNetworkResourceCounts+--+--         , requestGetNetworkResourceRelationships $+--             newGetNetworkResourceRelationships+--+--         , requestGetNetworkResources $+--             newGetNetworkResources+--+--         , requestGetNetworkRoutes $+--             newGetNetworkRoutes+--+--         , requestGetNetworkTelemetry $+--             newGetNetworkTelemetry+--+--         , requestGetResourcePolicy $+--             newGetResourcePolicy+--+--         , requestGetRouteAnalysis $+--             newGetRouteAnalysis+--+--         , requestGetSiteToSiteVpnAttachment $+--             newGetSiteToSiteVpnAttachment+--+--         , requestGetSites $+--             newGetSites+--+--         , requestGetTransitGatewayConnectPeerAssociations $+--             newGetTransitGatewayConnectPeerAssociations+--+--         , requestGetTransitGatewayPeering $+--             newGetTransitGatewayPeering+--+--         , requestGetTransitGatewayRegistrations $+--             newGetTransitGatewayRegistrations+--+--         , requestGetTransitGatewayRouteTableAttachment $+--             newGetTransitGatewayRouteTableAttachment+--+--         , requestGetVpcAttachment $+--             newGetVpcAttachment+--+--         , requestListAttachments $+--             newListAttachments+--+--         , requestListConnectPeers $+--             newListConnectPeers+--+--         , requestListCoreNetworkPolicyVersions $+--             newListCoreNetworkPolicyVersions+--+--         , requestListCoreNetworks $+--             newListCoreNetworks+--+--         , requestListOrganizationServiceAccessStatus $+--             newListOrganizationServiceAccessStatus+--+--         , requestListPeerings $+--             newListPeerings+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestPutCoreNetworkPolicy $+--             newPutCoreNetworkPolicy+--+--         , requestPutResourcePolicy $+--             newPutResourcePolicy+--+--         , requestRegisterTransitGateway $+--             newRegisterTransitGateway+--+--         , requestRejectAttachment $+--             newRejectAttachment+--+--         , requestRestoreCoreNetworkPolicyVersion $+--             newRestoreCoreNetworkPolicyVersion+--+--         , requestStartOrganizationServiceAccessUpdate $+--             newStartOrganizationServiceAccessUpdate+--+--         , requestStartRouteAnalysis $+--             newStartRouteAnalysis+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--         , requestUpdateConnection $+--             newUpdateConnection+--+--         , requestUpdateCoreNetwork $+--             newUpdateCoreNetwork+--+--         , requestUpdateDevice $+--             newUpdateDevice+--+--         , requestUpdateGlobalNetwork $+--             newUpdateGlobalNetwork+--+--         , requestUpdateLink $+--             newUpdateLink+--+--         , requestUpdateNetworkResourceMetadata $+--             newUpdateNetworkResourceMetadata+--+--         , requestUpdateSite $+--             newUpdateSite+--+--         , requestUpdateVpcAttachment $+--             newUpdateVpcAttachment+--+--           ]++--     , testGroup "response"+--         [ responseAcceptAttachment $+--             newAcceptAttachmentResponse+--+--         , responseAssociateConnectPeer $+--             newAssociateConnectPeerResponse+--+--         , responseAssociateCustomerGateway $+--             newAssociateCustomerGatewayResponse+--+--         , responseAssociateLink $+--             newAssociateLinkResponse+--+--         , responseAssociateTransitGatewayConnectPeer $+--             newAssociateTransitGatewayConnectPeerResponse+--+--         , responseCreateConnectAttachment $+--             newCreateConnectAttachmentResponse+--+--         , responseCreateConnectPeer $+--             newCreateConnectPeerResponse+--+--         , responseCreateConnection $+--             newCreateConnectionResponse+--+--         , responseCreateCoreNetwork $+--             newCreateCoreNetworkResponse+--+--         , responseCreateDevice $+--             newCreateDeviceResponse+--+--         , responseCreateGlobalNetwork $+--             newCreateGlobalNetworkResponse+--+--         , responseCreateLink $+--             newCreateLinkResponse+--+--         , responseCreateSite $+--             newCreateSiteResponse+--+--         , responseCreateSiteToSiteVpnAttachment $+--             newCreateSiteToSiteVpnAttachmentResponse+--+--         , responseCreateTransitGatewayPeering $+--             newCreateTransitGatewayPeeringResponse+--+--         , responseCreateTransitGatewayRouteTableAttachment $+--             newCreateTransitGatewayRouteTableAttachmentResponse+--+--         , responseCreateVpcAttachment $+--             newCreateVpcAttachmentResponse+--+--         , responseDeleteAttachment $+--             newDeleteAttachmentResponse+--+--         , responseDeleteConnectPeer $+--             newDeleteConnectPeerResponse+--+--         , responseDeleteConnection $+--             newDeleteConnectionResponse+--+--         , responseDeleteCoreNetwork $+--             newDeleteCoreNetworkResponse+--+--         , responseDeleteCoreNetworkPolicyVersion $+--             newDeleteCoreNetworkPolicyVersionResponse+--+--         , responseDeleteDevice $+--             newDeleteDeviceResponse+--+--         , responseDeleteGlobalNetwork $+--             newDeleteGlobalNetworkResponse+--+--         , responseDeleteLink $+--             newDeleteLinkResponse+--+--         , responseDeletePeering $+--             newDeletePeeringResponse+--+--         , responseDeleteResourcePolicy $+--             newDeleteResourcePolicyResponse+--+--         , responseDeleteSite $+--             newDeleteSiteResponse+--+--         , responseDeregisterTransitGateway $+--             newDeregisterTransitGatewayResponse+--+--         , responseDescribeGlobalNetworks $+--             newDescribeGlobalNetworksResponse+--+--         , responseDisassociateConnectPeer $+--             newDisassociateConnectPeerResponse+--+--         , responseDisassociateCustomerGateway $+--             newDisassociateCustomerGatewayResponse+--+--         , responseDisassociateLink $+--             newDisassociateLinkResponse+--+--         , responseDisassociateTransitGatewayConnectPeer $+--             newDisassociateTransitGatewayConnectPeerResponse+--+--         , responseExecuteCoreNetworkChangeSet $+--             newExecuteCoreNetworkChangeSetResponse+--+--         , responseGetConnectAttachment $+--             newGetConnectAttachmentResponse+--+--         , responseGetConnectPeer $+--             newGetConnectPeerResponse+--+--         , responseGetConnectPeerAssociations $+--             newGetConnectPeerAssociationsResponse+--+--         , responseGetConnections $+--             newGetConnectionsResponse+--+--         , responseGetCoreNetwork $+--             newGetCoreNetworkResponse+--+--         , responseGetCoreNetworkChangeEvents $+--             newGetCoreNetworkChangeEventsResponse+--+--         , responseGetCoreNetworkChangeSet $+--             newGetCoreNetworkChangeSetResponse+--+--         , responseGetCoreNetworkPolicy $+--             newGetCoreNetworkPolicyResponse+--+--         , responseGetCustomerGatewayAssociations $+--             newGetCustomerGatewayAssociationsResponse+--+--         , responseGetDevices $+--             newGetDevicesResponse+--+--         , responseGetLinkAssociations $+--             newGetLinkAssociationsResponse+--+--         , responseGetLinks $+--             newGetLinksResponse+--+--         , responseGetNetworkResourceCounts $+--             newGetNetworkResourceCountsResponse+--+--         , responseGetNetworkResourceRelationships $+--             newGetNetworkResourceRelationshipsResponse+--+--         , responseGetNetworkResources $+--             newGetNetworkResourcesResponse+--+--         , responseGetNetworkRoutes $+--             newGetNetworkRoutesResponse+--+--         , responseGetNetworkTelemetry $+--             newGetNetworkTelemetryResponse+--+--         , responseGetResourcePolicy $+--             newGetResourcePolicyResponse+--+--         , responseGetRouteAnalysis $+--             newGetRouteAnalysisResponse+--+--         , responseGetSiteToSiteVpnAttachment $+--             newGetSiteToSiteVpnAttachmentResponse+--+--         , responseGetSites $+--             newGetSitesResponse+--+--         , responseGetTransitGatewayConnectPeerAssociations $+--             newGetTransitGatewayConnectPeerAssociationsResponse+--+--         , responseGetTransitGatewayPeering $+--             newGetTransitGatewayPeeringResponse+--+--         , responseGetTransitGatewayRegistrations $+--             newGetTransitGatewayRegistrationsResponse+--+--         , responseGetTransitGatewayRouteTableAttachment $+--             newGetTransitGatewayRouteTableAttachmentResponse+--+--         , responseGetVpcAttachment $+--             newGetVpcAttachmentResponse+--+--         , responseListAttachments $+--             newListAttachmentsResponse+--+--         , responseListConnectPeers $+--             newListConnectPeersResponse+--+--         , responseListCoreNetworkPolicyVersions $+--             newListCoreNetworkPolicyVersionsResponse+--+--         , responseListCoreNetworks $+--             newListCoreNetworksResponse+--+--         , responseListOrganizationServiceAccessStatus $+--             newListOrganizationServiceAccessStatusResponse+--+--         , responseListPeerings $+--             newListPeeringsResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responsePutCoreNetworkPolicy $+--             newPutCoreNetworkPolicyResponse+--+--         , responsePutResourcePolicy $+--             newPutResourcePolicyResponse+--+--         , responseRegisterTransitGateway $+--             newRegisterTransitGatewayResponse+--+--         , responseRejectAttachment $+--             newRejectAttachmentResponse+--+--         , responseRestoreCoreNetworkPolicyVersion $+--             newRestoreCoreNetworkPolicyVersionResponse+--+--         , responseStartOrganizationServiceAccessUpdate $+--             newStartOrganizationServiceAccessUpdateResponse+--+--         , responseStartRouteAnalysis $+--             newStartRouteAnalysisResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--         , responseUpdateConnection $+--             newUpdateConnectionResponse+--+--         , responseUpdateCoreNetwork $+--             newUpdateCoreNetworkResponse+--+--         , responseUpdateDevice $+--             newUpdateDeviceResponse+--+--         , responseUpdateGlobalNetwork $+--             newUpdateGlobalNetworkResponse+--+--         , responseUpdateLink $+--             newUpdateLinkResponse+--+--         , responseUpdateNetworkResourceMetadata $+--             newUpdateNetworkResourceMetadataResponse+--+--         , responseUpdateSite $+--             newUpdateSiteResponse+--+--         , responseUpdateVpcAttachment $+--             newUpdateVpcAttachmentResponse+--+--           ]+--     ]++-- Requests++requestAcceptAttachment :: AcceptAttachment -> TestTree+requestAcceptAttachment =+  req+    "AcceptAttachment"+    "fixture/AcceptAttachment.yaml"++requestAssociateConnectPeer :: AssociateConnectPeer -> TestTree+requestAssociateConnectPeer =+  req+    "AssociateConnectPeer"+    "fixture/AssociateConnectPeer.yaml"++requestAssociateCustomerGateway :: AssociateCustomerGateway -> TestTree+requestAssociateCustomerGateway =+  req+    "AssociateCustomerGateway"+    "fixture/AssociateCustomerGateway.yaml"++requestAssociateLink :: AssociateLink -> TestTree+requestAssociateLink =+  req+    "AssociateLink"+    "fixture/AssociateLink.yaml"++requestAssociateTransitGatewayConnectPeer :: AssociateTransitGatewayConnectPeer -> TestTree+requestAssociateTransitGatewayConnectPeer =+  req+    "AssociateTransitGatewayConnectPeer"+    "fixture/AssociateTransitGatewayConnectPeer.yaml"++requestCreateConnectAttachment :: CreateConnectAttachment -> TestTree+requestCreateConnectAttachment =+  req+    "CreateConnectAttachment"+    "fixture/CreateConnectAttachment.yaml"++requestCreateConnectPeer :: CreateConnectPeer -> TestTree+requestCreateConnectPeer =+  req+    "CreateConnectPeer"+    "fixture/CreateConnectPeer.yaml"++requestCreateConnection :: CreateConnection -> TestTree+requestCreateConnection =+  req+    "CreateConnection"+    "fixture/CreateConnection.yaml"++requestCreateCoreNetwork :: CreateCoreNetwork -> TestTree+requestCreateCoreNetwork =+  req+    "CreateCoreNetwork"+    "fixture/CreateCoreNetwork.yaml"++requestCreateDevice :: CreateDevice -> TestTree+requestCreateDevice =+  req+    "CreateDevice"+    "fixture/CreateDevice.yaml"++requestCreateGlobalNetwork :: CreateGlobalNetwork -> TestTree+requestCreateGlobalNetwork =+  req+    "CreateGlobalNetwork"+    "fixture/CreateGlobalNetwork.yaml"++requestCreateLink :: CreateLink -> TestTree+requestCreateLink =+  req+    "CreateLink"+    "fixture/CreateLink.yaml"++requestCreateSite :: CreateSite -> TestTree+requestCreateSite =+  req+    "CreateSite"+    "fixture/CreateSite.yaml"++requestCreateSiteToSiteVpnAttachment :: CreateSiteToSiteVpnAttachment -> TestTree+requestCreateSiteToSiteVpnAttachment =+  req+    "CreateSiteToSiteVpnAttachment"+    "fixture/CreateSiteToSiteVpnAttachment.yaml"++requestCreateTransitGatewayPeering :: CreateTransitGatewayPeering -> TestTree+requestCreateTransitGatewayPeering =+  req+    "CreateTransitGatewayPeering"+    "fixture/CreateTransitGatewayPeering.yaml"++requestCreateTransitGatewayRouteTableAttachment :: CreateTransitGatewayRouteTableAttachment -> TestTree+requestCreateTransitGatewayRouteTableAttachment =+  req+    "CreateTransitGatewayRouteTableAttachment"+    "fixture/CreateTransitGatewayRouteTableAttachment.yaml"++requestCreateVpcAttachment :: CreateVpcAttachment -> TestTree+requestCreateVpcAttachment =+  req+    "CreateVpcAttachment"+    "fixture/CreateVpcAttachment.yaml"++requestDeleteAttachment :: DeleteAttachment -> TestTree+requestDeleteAttachment =+  req+    "DeleteAttachment"+    "fixture/DeleteAttachment.yaml"++requestDeleteConnectPeer :: DeleteConnectPeer -> TestTree+requestDeleteConnectPeer =+  req+    "DeleteConnectPeer"+    "fixture/DeleteConnectPeer.yaml"++requestDeleteConnection :: DeleteConnection -> TestTree+requestDeleteConnection =+  req+    "DeleteConnection"+    "fixture/DeleteConnection.yaml"++requestDeleteCoreNetwork :: DeleteCoreNetwork -> TestTree+requestDeleteCoreNetwork =+  req+    "DeleteCoreNetwork"+    "fixture/DeleteCoreNetwork.yaml"++requestDeleteCoreNetworkPolicyVersion :: DeleteCoreNetworkPolicyVersion -> TestTree+requestDeleteCoreNetworkPolicyVersion =+  req+    "DeleteCoreNetworkPolicyVersion"+    "fixture/DeleteCoreNetworkPolicyVersion.yaml"++requestDeleteDevice :: DeleteDevice -> TestTree+requestDeleteDevice =+  req+    "DeleteDevice"+    "fixture/DeleteDevice.yaml"++requestDeleteGlobalNetwork :: DeleteGlobalNetwork -> TestTree+requestDeleteGlobalNetwork =+  req+    "DeleteGlobalNetwork"+    "fixture/DeleteGlobalNetwork.yaml"++requestDeleteLink :: DeleteLink -> TestTree+requestDeleteLink =+  req+    "DeleteLink"+    "fixture/DeleteLink.yaml"++requestDeletePeering :: DeletePeering -> TestTree+requestDeletePeering =+  req+    "DeletePeering"+    "fixture/DeletePeering.yaml"++requestDeleteResourcePolicy :: DeleteResourcePolicy -> TestTree+requestDeleteResourcePolicy =+  req+    "DeleteResourcePolicy"+    "fixture/DeleteResourcePolicy.yaml"++requestDeleteSite :: DeleteSite -> TestTree+requestDeleteSite =+  req+    "DeleteSite"+    "fixture/DeleteSite.yaml"++requestDeregisterTransitGateway :: DeregisterTransitGateway -> TestTree+requestDeregisterTransitGateway =+  req+    "DeregisterTransitGateway"+    "fixture/DeregisterTransitGateway.yaml"++requestDescribeGlobalNetworks :: DescribeGlobalNetworks -> TestTree+requestDescribeGlobalNetworks =+  req+    "DescribeGlobalNetworks"+    "fixture/DescribeGlobalNetworks.yaml"++requestDisassociateConnectPeer :: DisassociateConnectPeer -> TestTree+requestDisassociateConnectPeer =+  req+    "DisassociateConnectPeer"+    "fixture/DisassociateConnectPeer.yaml"++requestDisassociateCustomerGateway :: DisassociateCustomerGateway -> TestTree+requestDisassociateCustomerGateway =+  req+    "DisassociateCustomerGateway"+    "fixture/DisassociateCustomerGateway.yaml"++requestDisassociateLink :: DisassociateLink -> TestTree+requestDisassociateLink =+  req+    "DisassociateLink"+    "fixture/DisassociateLink.yaml"++requestDisassociateTransitGatewayConnectPeer :: DisassociateTransitGatewayConnectPeer -> TestTree+requestDisassociateTransitGatewayConnectPeer =+  req+    "DisassociateTransitGatewayConnectPeer"+    "fixture/DisassociateTransitGatewayConnectPeer.yaml"++requestExecuteCoreNetworkChangeSet :: ExecuteCoreNetworkChangeSet -> TestTree+requestExecuteCoreNetworkChangeSet =+  req+    "ExecuteCoreNetworkChangeSet"+    "fixture/ExecuteCoreNetworkChangeSet.yaml"++requestGetConnectAttachment :: GetConnectAttachment -> TestTree+requestGetConnectAttachment =+  req+    "GetConnectAttachment"+    "fixture/GetConnectAttachment.yaml"++requestGetConnectPeer :: GetConnectPeer -> TestTree+requestGetConnectPeer =+  req+    "GetConnectPeer"+    "fixture/GetConnectPeer.yaml"++requestGetConnectPeerAssociations :: GetConnectPeerAssociations -> TestTree+requestGetConnectPeerAssociations =+  req+    "GetConnectPeerAssociations"+    "fixture/GetConnectPeerAssociations.yaml"++requestGetConnections :: GetConnections -> TestTree+requestGetConnections =+  req+    "GetConnections"+    "fixture/GetConnections.yaml"++requestGetCoreNetwork :: GetCoreNetwork -> TestTree+requestGetCoreNetwork =+  req+    "GetCoreNetwork"+    "fixture/GetCoreNetwork.yaml"++requestGetCoreNetworkChangeEvents :: GetCoreNetworkChangeEvents -> TestTree+requestGetCoreNetworkChangeEvents =+  req+    "GetCoreNetworkChangeEvents"+    "fixture/GetCoreNetworkChangeEvents.yaml"++requestGetCoreNetworkChangeSet :: GetCoreNetworkChangeSet -> TestTree+requestGetCoreNetworkChangeSet =+  req+    "GetCoreNetworkChangeSet"+    "fixture/GetCoreNetworkChangeSet.yaml"++requestGetCoreNetworkPolicy :: GetCoreNetworkPolicy -> TestTree+requestGetCoreNetworkPolicy =+  req+    "GetCoreNetworkPolicy"+    "fixture/GetCoreNetworkPolicy.yaml"++requestGetCustomerGatewayAssociations :: GetCustomerGatewayAssociations -> TestTree+requestGetCustomerGatewayAssociations =+  req+    "GetCustomerGatewayAssociations"+    "fixture/GetCustomerGatewayAssociations.yaml"++requestGetDevices :: GetDevices -> TestTree+requestGetDevices =+  req+    "GetDevices"+    "fixture/GetDevices.yaml"++requestGetLinkAssociations :: GetLinkAssociations -> TestTree+requestGetLinkAssociations =+  req+    "GetLinkAssociations"+    "fixture/GetLinkAssociations.yaml"++requestGetLinks :: GetLinks -> TestTree+requestGetLinks =+  req+    "GetLinks"+    "fixture/GetLinks.yaml"++requestGetNetworkResourceCounts :: GetNetworkResourceCounts -> TestTree+requestGetNetworkResourceCounts =+  req+    "GetNetworkResourceCounts"+    "fixture/GetNetworkResourceCounts.yaml"++requestGetNetworkResourceRelationships :: GetNetworkResourceRelationships -> TestTree+requestGetNetworkResourceRelationships =+  req+    "GetNetworkResourceRelationships"+    "fixture/GetNetworkResourceRelationships.yaml"++requestGetNetworkResources :: GetNetworkResources -> TestTree+requestGetNetworkResources =+  req+    "GetNetworkResources"+    "fixture/GetNetworkResources.yaml"++requestGetNetworkRoutes :: GetNetworkRoutes -> TestTree+requestGetNetworkRoutes =+  req+    "GetNetworkRoutes"+    "fixture/GetNetworkRoutes.yaml"++requestGetNetworkTelemetry :: GetNetworkTelemetry -> TestTree+requestGetNetworkTelemetry =+  req+    "GetNetworkTelemetry"+    "fixture/GetNetworkTelemetry.yaml"++requestGetResourcePolicy :: GetResourcePolicy -> TestTree+requestGetResourcePolicy =+  req+    "GetResourcePolicy"+    "fixture/GetResourcePolicy.yaml"++requestGetRouteAnalysis :: GetRouteAnalysis -> TestTree+requestGetRouteAnalysis =+  req+    "GetRouteAnalysis"+    "fixture/GetRouteAnalysis.yaml"++requestGetSiteToSiteVpnAttachment :: GetSiteToSiteVpnAttachment -> TestTree+requestGetSiteToSiteVpnAttachment =+  req+    "GetSiteToSiteVpnAttachment"+    "fixture/GetSiteToSiteVpnAttachment.yaml"++requestGetSites :: GetSites -> TestTree+requestGetSites =+  req+    "GetSites"+    "fixture/GetSites.yaml"++requestGetTransitGatewayConnectPeerAssociations :: GetTransitGatewayConnectPeerAssociations -> TestTree+requestGetTransitGatewayConnectPeerAssociations =+  req+    "GetTransitGatewayConnectPeerAssociations"+    "fixture/GetTransitGatewayConnectPeerAssociations.yaml"++requestGetTransitGatewayPeering :: GetTransitGatewayPeering -> TestTree+requestGetTransitGatewayPeering =+  req+    "GetTransitGatewayPeering"+    "fixture/GetTransitGatewayPeering.yaml"++requestGetTransitGatewayRegistrations :: GetTransitGatewayRegistrations -> TestTree+requestGetTransitGatewayRegistrations =+  req+    "GetTransitGatewayRegistrations"+    "fixture/GetTransitGatewayRegistrations.yaml"++requestGetTransitGatewayRouteTableAttachment :: GetTransitGatewayRouteTableAttachment -> TestTree+requestGetTransitGatewayRouteTableAttachment =+  req+    "GetTransitGatewayRouteTableAttachment"+    "fixture/GetTransitGatewayRouteTableAttachment.yaml"++requestGetVpcAttachment :: GetVpcAttachment -> TestTree+requestGetVpcAttachment =+  req+    "GetVpcAttachment"+    "fixture/GetVpcAttachment.yaml"++requestListAttachments :: ListAttachments -> TestTree+requestListAttachments =+  req+    "ListAttachments"+    "fixture/ListAttachments.yaml"++requestListConnectPeers :: ListConnectPeers -> TestTree+requestListConnectPeers =+  req+    "ListConnectPeers"+    "fixture/ListConnectPeers.yaml"++requestListCoreNetworkPolicyVersions :: ListCoreNetworkPolicyVersions -> TestTree+requestListCoreNetworkPolicyVersions =+  req+    "ListCoreNetworkPolicyVersions"+    "fixture/ListCoreNetworkPolicyVersions.yaml"++requestListCoreNetworks :: ListCoreNetworks -> TestTree+requestListCoreNetworks =+  req+    "ListCoreNetworks"+    "fixture/ListCoreNetworks.yaml"++requestListOrganizationServiceAccessStatus :: ListOrganizationServiceAccessStatus -> TestTree+requestListOrganizationServiceAccessStatus =+  req+    "ListOrganizationServiceAccessStatus"+    "fixture/ListOrganizationServiceAccessStatus.yaml"++requestListPeerings :: ListPeerings -> TestTree+requestListPeerings =+  req+    "ListPeerings"+    "fixture/ListPeerings.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestPutCoreNetworkPolicy :: PutCoreNetworkPolicy -> TestTree+requestPutCoreNetworkPolicy =+  req+    "PutCoreNetworkPolicy"+    "fixture/PutCoreNetworkPolicy.yaml"++requestPutResourcePolicy :: PutResourcePolicy -> TestTree+requestPutResourcePolicy =+  req+    "PutResourcePolicy"+    "fixture/PutResourcePolicy.yaml"++requestRegisterTransitGateway :: RegisterTransitGateway -> TestTree+requestRegisterTransitGateway =+  req+    "RegisterTransitGateway"+    "fixture/RegisterTransitGateway.yaml"++requestRejectAttachment :: RejectAttachment -> TestTree+requestRejectAttachment =+  req+    "RejectAttachment"+    "fixture/RejectAttachment.yaml"++requestRestoreCoreNetworkPolicyVersion :: RestoreCoreNetworkPolicyVersion -> TestTree+requestRestoreCoreNetworkPolicyVersion =+  req+    "RestoreCoreNetworkPolicyVersion"+    "fixture/RestoreCoreNetworkPolicyVersion.yaml"++requestStartOrganizationServiceAccessUpdate :: StartOrganizationServiceAccessUpdate -> TestTree+requestStartOrganizationServiceAccessUpdate =+  req+    "StartOrganizationServiceAccessUpdate"+    "fixture/StartOrganizationServiceAccessUpdate.yaml"++requestStartRouteAnalysis :: StartRouteAnalysis -> TestTree+requestStartRouteAnalysis =+  req+    "StartRouteAnalysis"+    "fixture/StartRouteAnalysis.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++requestUpdateConnection :: UpdateConnection -> TestTree+requestUpdateConnection =+  req+    "UpdateConnection"+    "fixture/UpdateConnection.yaml"++requestUpdateCoreNetwork :: UpdateCoreNetwork -> TestTree+requestUpdateCoreNetwork =+  req+    "UpdateCoreNetwork"+    "fixture/UpdateCoreNetwork.yaml"++requestUpdateDevice :: UpdateDevice -> TestTree+requestUpdateDevice =+  req+    "UpdateDevice"+    "fixture/UpdateDevice.yaml"++requestUpdateGlobalNetwork :: UpdateGlobalNetwork -> TestTree+requestUpdateGlobalNetwork =+  req+    "UpdateGlobalNetwork"+    "fixture/UpdateGlobalNetwork.yaml"++requestUpdateLink :: UpdateLink -> TestTree+requestUpdateLink =+  req+    "UpdateLink"+    "fixture/UpdateLink.yaml"++requestUpdateNetworkResourceMetadata :: UpdateNetworkResourceMetadata -> TestTree+requestUpdateNetworkResourceMetadata =+  req+    "UpdateNetworkResourceMetadata"+    "fixture/UpdateNetworkResourceMetadata.yaml"++requestUpdateSite :: UpdateSite -> TestTree+requestUpdateSite =+  req+    "UpdateSite"+    "fixture/UpdateSite.yaml"++requestUpdateVpcAttachment :: UpdateVpcAttachment -> TestTree+requestUpdateVpcAttachment =+  req+    "UpdateVpcAttachment"+    "fixture/UpdateVpcAttachment.yaml"++-- Responses++responseAcceptAttachment :: AcceptAttachmentResponse -> TestTree+responseAcceptAttachment =+  res+    "AcceptAttachmentResponse"+    "fixture/AcceptAttachmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AcceptAttachment)++responseAssociateConnectPeer :: AssociateConnectPeerResponse -> TestTree+responseAssociateConnectPeer =+  res+    "AssociateConnectPeerResponse"+    "fixture/AssociateConnectPeerResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateConnectPeer)++responseAssociateCustomerGateway :: AssociateCustomerGatewayResponse -> TestTree+responseAssociateCustomerGateway =+  res+    "AssociateCustomerGatewayResponse"+    "fixture/AssociateCustomerGatewayResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateCustomerGateway)++responseAssociateLink :: AssociateLinkResponse -> TestTree+responseAssociateLink =+  res+    "AssociateLinkResponse"+    "fixture/AssociateLinkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateLink)++responseAssociateTransitGatewayConnectPeer :: AssociateTransitGatewayConnectPeerResponse -> TestTree+responseAssociateTransitGatewayConnectPeer =+  res+    "AssociateTransitGatewayConnectPeerResponse"+    "fixture/AssociateTransitGatewayConnectPeerResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AssociateTransitGatewayConnectPeer)++responseCreateConnectAttachment :: CreateConnectAttachmentResponse -> TestTree+responseCreateConnectAttachment =+  res+    "CreateConnectAttachmentResponse"+    "fixture/CreateConnectAttachmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateConnectAttachment)++responseCreateConnectPeer :: CreateConnectPeerResponse -> TestTree+responseCreateConnectPeer =+  res+    "CreateConnectPeerResponse"+    "fixture/CreateConnectPeerResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateConnectPeer)++responseCreateConnection :: CreateConnectionResponse -> TestTree+responseCreateConnection =+  res+    "CreateConnectionResponse"+    "fixture/CreateConnectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateConnection)++responseCreateCoreNetwork :: CreateCoreNetworkResponse -> TestTree+responseCreateCoreNetwork =+  res+    "CreateCoreNetworkResponse"+    "fixture/CreateCoreNetworkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateCoreNetwork)++responseCreateDevice :: CreateDeviceResponse -> TestTree+responseCreateDevice =+  res+    "CreateDeviceResponse"+    "fixture/CreateDeviceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateDevice)++responseCreateGlobalNetwork :: CreateGlobalNetworkResponse -> TestTree+responseCreateGlobalNetwork =+  res+    "CreateGlobalNetworkResponse"+    "fixture/CreateGlobalNetworkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateGlobalNetwork)++responseCreateLink :: CreateLinkResponse -> TestTree+responseCreateLink =+  res+    "CreateLinkResponse"+    "fixture/CreateLinkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateLink)++responseCreateSite :: CreateSiteResponse -> TestTree+responseCreateSite =+  res+    "CreateSiteResponse"+    "fixture/CreateSiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateSite)++responseCreateSiteToSiteVpnAttachment :: CreateSiteToSiteVpnAttachmentResponse -> TestTree+responseCreateSiteToSiteVpnAttachment =+  res+    "CreateSiteToSiteVpnAttachmentResponse"+    "fixture/CreateSiteToSiteVpnAttachmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateSiteToSiteVpnAttachment)++responseCreateTransitGatewayPeering :: CreateTransitGatewayPeeringResponse -> TestTree+responseCreateTransitGatewayPeering =+  res+    "CreateTransitGatewayPeeringResponse"+    "fixture/CreateTransitGatewayPeeringResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateTransitGatewayPeering)++responseCreateTransitGatewayRouteTableAttachment :: CreateTransitGatewayRouteTableAttachmentResponse -> TestTree+responseCreateTransitGatewayRouteTableAttachment =+  res+    "CreateTransitGatewayRouteTableAttachmentResponse"+    "fixture/CreateTransitGatewayRouteTableAttachmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateTransitGatewayRouteTableAttachment)++responseCreateVpcAttachment :: CreateVpcAttachmentResponse -> TestTree+responseCreateVpcAttachment =+  res+    "CreateVpcAttachmentResponse"+    "fixture/CreateVpcAttachmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateVpcAttachment)++responseDeleteAttachment :: DeleteAttachmentResponse -> TestTree+responseDeleteAttachment =+  res+    "DeleteAttachmentResponse"+    "fixture/DeleteAttachmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteAttachment)++responseDeleteConnectPeer :: DeleteConnectPeerResponse -> TestTree+responseDeleteConnectPeer =+  res+    "DeleteConnectPeerResponse"+    "fixture/DeleteConnectPeerResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteConnectPeer)++responseDeleteConnection :: DeleteConnectionResponse -> TestTree+responseDeleteConnection =+  res+    "DeleteConnectionResponse"+    "fixture/DeleteConnectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteConnection)++responseDeleteCoreNetwork :: DeleteCoreNetworkResponse -> TestTree+responseDeleteCoreNetwork =+  res+    "DeleteCoreNetworkResponse"+    "fixture/DeleteCoreNetworkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteCoreNetwork)++responseDeleteCoreNetworkPolicyVersion :: DeleteCoreNetworkPolicyVersionResponse -> TestTree+responseDeleteCoreNetworkPolicyVersion =+  res+    "DeleteCoreNetworkPolicyVersionResponse"+    "fixture/DeleteCoreNetworkPolicyVersionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteCoreNetworkPolicyVersion)++responseDeleteDevice :: DeleteDeviceResponse -> TestTree+responseDeleteDevice =+  res+    "DeleteDeviceResponse"+    "fixture/DeleteDeviceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteDevice)++responseDeleteGlobalNetwork :: DeleteGlobalNetworkResponse -> TestTree+responseDeleteGlobalNetwork =+  res+    "DeleteGlobalNetworkResponse"+    "fixture/DeleteGlobalNetworkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteGlobalNetwork)++responseDeleteLink :: DeleteLinkResponse -> TestTree+responseDeleteLink =+  res+    "DeleteLinkResponse"+    "fixture/DeleteLinkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteLink)++responseDeletePeering :: DeletePeeringResponse -> TestTree+responseDeletePeering =+  res+    "DeletePeeringResponse"+    "fixture/DeletePeeringResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeletePeering)++responseDeleteResourcePolicy :: DeleteResourcePolicyResponse -> TestTree+responseDeleteResourcePolicy =+  res+    "DeleteResourcePolicyResponse"+    "fixture/DeleteResourcePolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteResourcePolicy)++responseDeleteSite :: DeleteSiteResponse -> TestTree+responseDeleteSite =+  res+    "DeleteSiteResponse"+    "fixture/DeleteSiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteSite)++responseDeregisterTransitGateway :: DeregisterTransitGatewayResponse -> TestTree+responseDeregisterTransitGateway =+  res+    "DeregisterTransitGatewayResponse"+    "fixture/DeregisterTransitGatewayResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeregisterTransitGateway)++responseDescribeGlobalNetworks :: DescribeGlobalNetworksResponse -> TestTree+responseDescribeGlobalNetworks =+  res+    "DescribeGlobalNetworksResponse"+    "fixture/DescribeGlobalNetworksResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeGlobalNetworks)++responseDisassociateConnectPeer :: DisassociateConnectPeerResponse -> TestTree+responseDisassociateConnectPeer =+  res+    "DisassociateConnectPeerResponse"+    "fixture/DisassociateConnectPeerResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateConnectPeer)++responseDisassociateCustomerGateway :: DisassociateCustomerGatewayResponse -> TestTree+responseDisassociateCustomerGateway =+  res+    "DisassociateCustomerGatewayResponse"+    "fixture/DisassociateCustomerGatewayResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateCustomerGateway)++responseDisassociateLink :: DisassociateLinkResponse -> TestTree+responseDisassociateLink =+  res+    "DisassociateLinkResponse"+    "fixture/DisassociateLinkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateLink)++responseDisassociateTransitGatewayConnectPeer :: DisassociateTransitGatewayConnectPeerResponse -> TestTree+responseDisassociateTransitGatewayConnectPeer =+  res+    "DisassociateTransitGatewayConnectPeerResponse"+    "fixture/DisassociateTransitGatewayConnectPeerResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DisassociateTransitGatewayConnectPeer)++responseExecuteCoreNetworkChangeSet :: ExecuteCoreNetworkChangeSetResponse -> TestTree+responseExecuteCoreNetworkChangeSet =+  res+    "ExecuteCoreNetworkChangeSetResponse"+    "fixture/ExecuteCoreNetworkChangeSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ExecuteCoreNetworkChangeSet)++responseGetConnectAttachment :: GetConnectAttachmentResponse -> TestTree+responseGetConnectAttachment =+  res+    "GetConnectAttachmentResponse"+    "fixture/GetConnectAttachmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetConnectAttachment)++responseGetConnectPeer :: GetConnectPeerResponse -> TestTree+responseGetConnectPeer =+  res+    "GetConnectPeerResponse"+    "fixture/GetConnectPeerResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetConnectPeer)++responseGetConnectPeerAssociations :: GetConnectPeerAssociationsResponse -> TestTree+responseGetConnectPeerAssociations =+  res+    "GetConnectPeerAssociationsResponse"+    "fixture/GetConnectPeerAssociationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetConnectPeerAssociations)++responseGetConnections :: GetConnectionsResponse -> TestTree+responseGetConnections =+  res+    "GetConnectionsResponse"+    "fixture/GetConnectionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetConnections)++responseGetCoreNetwork :: GetCoreNetworkResponse -> TestTree+responseGetCoreNetwork =+  res+    "GetCoreNetworkResponse"+    "fixture/GetCoreNetworkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetCoreNetwork)++responseGetCoreNetworkChangeEvents :: GetCoreNetworkChangeEventsResponse -> TestTree+responseGetCoreNetworkChangeEvents =+  res+    "GetCoreNetworkChangeEventsResponse"+    "fixture/GetCoreNetworkChangeEventsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetCoreNetworkChangeEvents)++responseGetCoreNetworkChangeSet :: GetCoreNetworkChangeSetResponse -> TestTree+responseGetCoreNetworkChangeSet =+  res+    "GetCoreNetworkChangeSetResponse"+    "fixture/GetCoreNetworkChangeSetResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetCoreNetworkChangeSet)++responseGetCoreNetworkPolicy :: GetCoreNetworkPolicyResponse -> TestTree+responseGetCoreNetworkPolicy =+  res+    "GetCoreNetworkPolicyResponse"+    "fixture/GetCoreNetworkPolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetCoreNetworkPolicy)++responseGetCustomerGatewayAssociations :: GetCustomerGatewayAssociationsResponse -> TestTree+responseGetCustomerGatewayAssociations =+  res+    "GetCustomerGatewayAssociationsResponse"+    "fixture/GetCustomerGatewayAssociationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetCustomerGatewayAssociations)++responseGetDevices :: GetDevicesResponse -> TestTree+responseGetDevices =+  res+    "GetDevicesResponse"+    "fixture/GetDevicesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetDevices)++responseGetLinkAssociations :: GetLinkAssociationsResponse -> TestTree+responseGetLinkAssociations =+  res+    "GetLinkAssociationsResponse"+    "fixture/GetLinkAssociationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetLinkAssociations)++responseGetLinks :: GetLinksResponse -> TestTree+responseGetLinks =+  res+    "GetLinksResponse"+    "fixture/GetLinksResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetLinks)++responseGetNetworkResourceCounts :: GetNetworkResourceCountsResponse -> TestTree+responseGetNetworkResourceCounts =+  res+    "GetNetworkResourceCountsResponse"+    "fixture/GetNetworkResourceCountsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetNetworkResourceCounts)++responseGetNetworkResourceRelationships :: GetNetworkResourceRelationshipsResponse -> TestTree+responseGetNetworkResourceRelationships =+  res+    "GetNetworkResourceRelationshipsResponse"+    "fixture/GetNetworkResourceRelationshipsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetNetworkResourceRelationships)++responseGetNetworkResources :: GetNetworkResourcesResponse -> TestTree+responseGetNetworkResources =+  res+    "GetNetworkResourcesResponse"+    "fixture/GetNetworkResourcesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetNetworkResources)++responseGetNetworkRoutes :: GetNetworkRoutesResponse -> TestTree+responseGetNetworkRoutes =+  res+    "GetNetworkRoutesResponse"+    "fixture/GetNetworkRoutesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetNetworkRoutes)++responseGetNetworkTelemetry :: GetNetworkTelemetryResponse -> TestTree+responseGetNetworkTelemetry =+  res+    "GetNetworkTelemetryResponse"+    "fixture/GetNetworkTelemetryResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetNetworkTelemetry)++responseGetResourcePolicy :: GetResourcePolicyResponse -> TestTree+responseGetResourcePolicy =+  res+    "GetResourcePolicyResponse"+    "fixture/GetResourcePolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetResourcePolicy)++responseGetRouteAnalysis :: GetRouteAnalysisResponse -> TestTree+responseGetRouteAnalysis =+  res+    "GetRouteAnalysisResponse"+    "fixture/GetRouteAnalysisResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetRouteAnalysis)++responseGetSiteToSiteVpnAttachment :: GetSiteToSiteVpnAttachmentResponse -> TestTree+responseGetSiteToSiteVpnAttachment =+  res+    "GetSiteToSiteVpnAttachmentResponse"+    "fixture/GetSiteToSiteVpnAttachmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetSiteToSiteVpnAttachment)++responseGetSites :: GetSitesResponse -> TestTree+responseGetSites =+  res+    "GetSitesResponse"+    "fixture/GetSitesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetSites)++responseGetTransitGatewayConnectPeerAssociations :: GetTransitGatewayConnectPeerAssociationsResponse -> TestTree+responseGetTransitGatewayConnectPeerAssociations =+  res+    "GetTransitGatewayConnectPeerAssociationsResponse"+    "fixture/GetTransitGatewayConnectPeerAssociationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetTransitGatewayConnectPeerAssociations)++responseGetTransitGatewayPeering :: GetTransitGatewayPeeringResponse -> TestTree+responseGetTransitGatewayPeering =+  res+    "GetTransitGatewayPeeringResponse"+    "fixture/GetTransitGatewayPeeringResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetTransitGatewayPeering)++responseGetTransitGatewayRegistrations :: GetTransitGatewayRegistrationsResponse -> TestTree+responseGetTransitGatewayRegistrations =+  res+    "GetTransitGatewayRegistrationsResponse"+    "fixture/GetTransitGatewayRegistrationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetTransitGatewayRegistrations)++responseGetTransitGatewayRouteTableAttachment :: GetTransitGatewayRouteTableAttachmentResponse -> TestTree+responseGetTransitGatewayRouteTableAttachment =+  res+    "GetTransitGatewayRouteTableAttachmentResponse"+    "fixture/GetTransitGatewayRouteTableAttachmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetTransitGatewayRouteTableAttachment)++responseGetVpcAttachment :: GetVpcAttachmentResponse -> TestTree+responseGetVpcAttachment =+  res+    "GetVpcAttachmentResponse"+    "fixture/GetVpcAttachmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetVpcAttachment)++responseListAttachments :: ListAttachmentsResponse -> TestTree+responseListAttachments =+  res+    "ListAttachmentsResponse"+    "fixture/ListAttachmentsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListAttachments)++responseListConnectPeers :: ListConnectPeersResponse -> TestTree+responseListConnectPeers =+  res+    "ListConnectPeersResponse"+    "fixture/ListConnectPeersResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListConnectPeers)++responseListCoreNetworkPolicyVersions :: ListCoreNetworkPolicyVersionsResponse -> TestTree+responseListCoreNetworkPolicyVersions =+  res+    "ListCoreNetworkPolicyVersionsResponse"+    "fixture/ListCoreNetworkPolicyVersionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListCoreNetworkPolicyVersions)++responseListCoreNetworks :: ListCoreNetworksResponse -> TestTree+responseListCoreNetworks =+  res+    "ListCoreNetworksResponse"+    "fixture/ListCoreNetworksResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListCoreNetworks)++responseListOrganizationServiceAccessStatus :: ListOrganizationServiceAccessStatusResponse -> TestTree+responseListOrganizationServiceAccessStatus =+  res+    "ListOrganizationServiceAccessStatusResponse"+    "fixture/ListOrganizationServiceAccessStatusResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListOrganizationServiceAccessStatus)++responseListPeerings :: ListPeeringsResponse -> TestTree+responseListPeerings =+  res+    "ListPeeringsResponse"+    "fixture/ListPeeringsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListPeerings)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePutCoreNetworkPolicy :: PutCoreNetworkPolicyResponse -> TestTree+responsePutCoreNetworkPolicy =+  res+    "PutCoreNetworkPolicyResponse"+    "fixture/PutCoreNetworkPolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutCoreNetworkPolicy)++responsePutResourcePolicy :: PutResourcePolicyResponse -> TestTree+responsePutResourcePolicy =+  res+    "PutResourcePolicyResponse"+    "fixture/PutResourcePolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutResourcePolicy)++responseRegisterTransitGateway :: RegisterTransitGatewayResponse -> TestTree+responseRegisterTransitGateway =+  res+    "RegisterTransitGatewayResponse"+    "fixture/RegisterTransitGatewayResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RegisterTransitGateway)++responseRejectAttachment :: RejectAttachmentResponse -> TestTree+responseRejectAttachment =+  res+    "RejectAttachmentResponse"+    "fixture/RejectAttachmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RejectAttachment)++responseRestoreCoreNetworkPolicyVersion :: RestoreCoreNetworkPolicyVersionResponse -> TestTree+responseRestoreCoreNetworkPolicyVersion =+  res+    "RestoreCoreNetworkPolicyVersionResponse"+    "fixture/RestoreCoreNetworkPolicyVersionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RestoreCoreNetworkPolicyVersion)++responseStartOrganizationServiceAccessUpdate :: StartOrganizationServiceAccessUpdateResponse -> TestTree+responseStartOrganizationServiceAccessUpdate =+  res+    "StartOrganizationServiceAccessUpdateResponse"+    "fixture/StartOrganizationServiceAccessUpdateResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartOrganizationServiceAccessUpdate)++responseStartRouteAnalysis :: StartRouteAnalysisResponse -> TestTree+responseStartRouteAnalysis =+  res+    "StartRouteAnalysisResponse"+    "fixture/StartRouteAnalysisResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartRouteAnalysis)++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)++responseUpdateConnection :: UpdateConnectionResponse -> TestTree+responseUpdateConnection =+  res+    "UpdateConnectionResponse"+    "fixture/UpdateConnectionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateConnection)++responseUpdateCoreNetwork :: UpdateCoreNetworkResponse -> TestTree+responseUpdateCoreNetwork =+  res+    "UpdateCoreNetworkResponse"+    "fixture/UpdateCoreNetworkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateCoreNetwork)++responseUpdateDevice :: UpdateDeviceResponse -> TestTree+responseUpdateDevice =+  res+    "UpdateDeviceResponse"+    "fixture/UpdateDeviceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateDevice)++responseUpdateGlobalNetwork :: UpdateGlobalNetworkResponse -> TestTree+responseUpdateGlobalNetwork =+  res+    "UpdateGlobalNetworkResponse"+    "fixture/UpdateGlobalNetworkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateGlobalNetwork)++responseUpdateLink :: UpdateLinkResponse -> TestTree+responseUpdateLink =+  res+    "UpdateLinkResponse"+    "fixture/UpdateLinkResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateLink)++responseUpdateNetworkResourceMetadata :: UpdateNetworkResourceMetadataResponse -> TestTree+responseUpdateNetworkResourceMetadata =+  res+    "UpdateNetworkResourceMetadataResponse"+    "fixture/UpdateNetworkResourceMetadataResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateNetworkResourceMetadata)++responseUpdateSite :: UpdateSiteResponse -> TestTree+responseUpdateSite =+  res+    "UpdateSiteResponse"+    "fixture/UpdateSiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateSite)++responseUpdateVpcAttachment :: UpdateVpcAttachmentResponse -> TestTree+responseUpdateVpcAttachment =+  res+    "UpdateVpcAttachmentResponse"+    "fixture/UpdateVpcAttachmentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UpdateVpcAttachment)
+ test/Test/Amazonka/NetworkManager.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.NetworkManager+-- 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.NetworkManager+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/NetworkManager/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.NetworkManager.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.NetworkManager.Internal where