packages feed

amazonka-simspaceweaver (empty) → 2.0

raw patch · 76 files changed

+6860/−0 lines, 76 filesdep +amazonka-coredep +amazonka-simspaceweaverdep +amazonka-test

Dependencies added: amazonka-core, amazonka-simspaceweaver, 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 SimSpace Weaver SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2022-10-28@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-simspaceweaver)+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.SimSpaceWeaver](http://hackage.haskell.org/package/amazonka-simspaceweaver/docs/Amazonka-SimSpaceWeaver.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-simspaceweaver` 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-simspaceweaver.cabal view
@@ -0,0 +1,117 @@+cabal-version:      2.2+name:               amazonka-simspaceweaver+version:            2.0+synopsis:           Amazon SimSpace Weaver 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 @2022-10-28@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.SimSpaceWeaver.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.SimSpaceWeaver" 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-simspaceweaver++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.SimSpaceWeaver+    Amazonka.SimSpaceWeaver.DeleteApp+    Amazonka.SimSpaceWeaver.DeleteSimulation+    Amazonka.SimSpaceWeaver.DescribeApp+    Amazonka.SimSpaceWeaver.DescribeSimulation+    Amazonka.SimSpaceWeaver.Lens+    Amazonka.SimSpaceWeaver.ListApps+    Amazonka.SimSpaceWeaver.ListSimulations+    Amazonka.SimSpaceWeaver.ListTagsForResource+    Amazonka.SimSpaceWeaver.StartApp+    Amazonka.SimSpaceWeaver.StartClock+    Amazonka.SimSpaceWeaver.StartSimulation+    Amazonka.SimSpaceWeaver.StopApp+    Amazonka.SimSpaceWeaver.StopClock+    Amazonka.SimSpaceWeaver.StopSimulation+    Amazonka.SimSpaceWeaver.TagResource+    Amazonka.SimSpaceWeaver.Types+    Amazonka.SimSpaceWeaver.Types.ClockStatus+    Amazonka.SimSpaceWeaver.Types.ClockTargetStatus+    Amazonka.SimSpaceWeaver.Types.CloudWatchLogsLogGroup+    Amazonka.SimSpaceWeaver.Types.Domain+    Amazonka.SimSpaceWeaver.Types.LaunchOverrides+    Amazonka.SimSpaceWeaver.Types.LifecycleManagementStrategy+    Amazonka.SimSpaceWeaver.Types.LiveSimulationState+    Amazonka.SimSpaceWeaver.Types.LogDestination+    Amazonka.SimSpaceWeaver.Types.LoggingConfiguration+    Amazonka.SimSpaceWeaver.Types.S3Location+    Amazonka.SimSpaceWeaver.Types.SimulationAppEndpointInfo+    Amazonka.SimSpaceWeaver.Types.SimulationAppMetadata+    Amazonka.SimSpaceWeaver.Types.SimulationAppPortMapping+    Amazonka.SimSpaceWeaver.Types.SimulationAppStatus+    Amazonka.SimSpaceWeaver.Types.SimulationAppTargetStatus+    Amazonka.SimSpaceWeaver.Types.SimulationClock+    Amazonka.SimSpaceWeaver.Types.SimulationMetadata+    Amazonka.SimSpaceWeaver.Types.SimulationStatus+    Amazonka.SimSpaceWeaver.Types.SimulationTargetStatus+    Amazonka.SimSpaceWeaver.UntagResource+    Amazonka.SimSpaceWeaver.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-simspaceweaver-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.SimSpaceWeaver+    Test.Amazonka.SimSpaceWeaver+    Test.Amazonka.SimSpaceWeaver.Internal++  build-depends:+    , amazonka-core            >=2.0 && <2.1+    , amazonka-simspaceweaver+    , amazonka-test            >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/DeleteApp.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/DeleteAppResponse.proto view
+ fixture/DeleteSimulation.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/DeleteSimulationResponse.proto view
+ fixture/DescribeApp.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/DescribeAppResponse.proto view
+ fixture/DescribeSimulation.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/DescribeSimulationResponse.proto view
+ fixture/ListApps.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/ListAppsResponse.proto view
+ fixture/ListSimulations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/ListSimulationsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/StartApp.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/StartAppResponse.proto view
+ fixture/StartClock.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/StartClockResponse.proto view
+ fixture/StartSimulation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/StartSimulationResponse.proto view
+ fixture/StopApp.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/StopAppResponse.proto view
+ fixture/StopClock.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/StopClockResponse.proto view
+ fixture/StopSimulation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/StopSimulationResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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/simspaceweaver/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  simspaceweaver.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
+ gen/Amazonka/SimSpaceWeaver.hs view
@@ -0,0 +1,272 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.SimSpaceWeaver+-- 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 @2022-10-28@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Web Services SimSpace Weaver (SimSpace Weaver) is a managed+-- service that you can use to build and operate large-scale spatial+-- simulations in the Amazon Web Services Cloud. For example, you can+-- create a digital twin of a city, crowd simulations with millions of+-- people and objects, and massilvely-multiplayer games with hundreds of+-- thousands of connected players. For more information about SimSpace+-- Weaver, see the+-- /<https://docs.aws.amazon.com/simspaceweaver/latest/userguide/ Amazon Web Services SimSpace Weaver User Guide>/+-- .+--+-- This API reference describes the API operations and data types that you+-- can use to communicate directly with SimSpace Weaver.+--+-- SimSpace Weaver also provides the SimSpace Weaver app SDK, which you use+-- for app development. The SimSpace Weaver app SDK API reference is+-- included in the SimSpace Weaver app SDK documentation, which is part of+-- the SimSpace Weaver app SDK distributable package.+module Amazonka.SimSpaceWeaver+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** AccessDeniedException+    _AccessDeniedException,++    -- ** ConflictException+    _ConflictException,++    -- ** InternalServerException+    _InternalServerException,++    -- ** ResourceNotFoundException+    _ResourceNotFoundException,++    -- ** ServiceQuotaExceededException+    _ServiceQuotaExceededException,++    -- ** TooManyTagsException+    _TooManyTagsException,++    -- ** ValidationException+    _ValidationException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** DeleteApp+    DeleteApp (DeleteApp'),+    newDeleteApp,+    DeleteAppResponse (DeleteAppResponse'),+    newDeleteAppResponse,++    -- ** DeleteSimulation+    DeleteSimulation (DeleteSimulation'),+    newDeleteSimulation,+    DeleteSimulationResponse (DeleteSimulationResponse'),+    newDeleteSimulationResponse,++    -- ** DescribeApp+    DescribeApp (DescribeApp'),+    newDescribeApp,+    DescribeAppResponse (DescribeAppResponse'),+    newDescribeAppResponse,++    -- ** DescribeSimulation+    DescribeSimulation (DescribeSimulation'),+    newDescribeSimulation,+    DescribeSimulationResponse (DescribeSimulationResponse'),+    newDescribeSimulationResponse,++    -- ** ListApps+    ListApps (ListApps'),+    newListApps,+    ListAppsResponse (ListAppsResponse'),+    newListAppsResponse,++    -- ** ListSimulations+    ListSimulations (ListSimulations'),+    newListSimulations,+    ListSimulationsResponse (ListSimulationsResponse'),+    newListSimulationsResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** StartApp+    StartApp (StartApp'),+    newStartApp,+    StartAppResponse (StartAppResponse'),+    newStartAppResponse,++    -- ** StartClock+    StartClock (StartClock'),+    newStartClock,+    StartClockResponse (StartClockResponse'),+    newStartClockResponse,++    -- ** StartSimulation+    StartSimulation (StartSimulation'),+    newStartSimulation,+    StartSimulationResponse (StartSimulationResponse'),+    newStartSimulationResponse,++    -- ** StopApp+    StopApp (StopApp'),+    newStopApp,+    StopAppResponse (StopAppResponse'),+    newStopAppResponse,++    -- ** StopClock+    StopClock (StopClock'),+    newStopClock,+    StopClockResponse (StopClockResponse'),+    newStopClockResponse,++    -- ** StopSimulation+    StopSimulation (StopSimulation'),+    newStopSimulation,+    StopSimulationResponse (StopSimulationResponse'),+    newStopSimulationResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- * Types++    -- ** ClockStatus+    ClockStatus (..),++    -- ** ClockTargetStatus+    ClockTargetStatus (..),++    -- ** LifecycleManagementStrategy+    LifecycleManagementStrategy (..),++    -- ** SimulationAppStatus+    SimulationAppStatus (..),++    -- ** SimulationAppTargetStatus+    SimulationAppTargetStatus (..),++    -- ** SimulationStatus+    SimulationStatus (..),++    -- ** SimulationTargetStatus+    SimulationTargetStatus (..),++    -- ** CloudWatchLogsLogGroup+    CloudWatchLogsLogGroup (CloudWatchLogsLogGroup'),+    newCloudWatchLogsLogGroup,++    -- ** Domain+    Domain (Domain'),+    newDomain,++    -- ** LaunchOverrides+    LaunchOverrides (LaunchOverrides'),+    newLaunchOverrides,++    -- ** LiveSimulationState+    LiveSimulationState (LiveSimulationState'),+    newLiveSimulationState,++    -- ** LogDestination+    LogDestination (LogDestination'),+    newLogDestination,++    -- ** LoggingConfiguration+    LoggingConfiguration (LoggingConfiguration'),+    newLoggingConfiguration,++    -- ** S3Location+    S3Location (S3Location'),+    newS3Location,++    -- ** SimulationAppEndpointInfo+    SimulationAppEndpointInfo (SimulationAppEndpointInfo'),+    newSimulationAppEndpointInfo,++    -- ** SimulationAppMetadata+    SimulationAppMetadata (SimulationAppMetadata'),+    newSimulationAppMetadata,++    -- ** SimulationAppPortMapping+    SimulationAppPortMapping (SimulationAppPortMapping'),+    newSimulationAppPortMapping,++    -- ** SimulationClock+    SimulationClock (SimulationClock'),+    newSimulationClock,++    -- ** SimulationMetadata+    SimulationMetadata (SimulationMetadata'),+    newSimulationMetadata,+  )+where++import Amazonka.SimSpaceWeaver.DeleteApp+import Amazonka.SimSpaceWeaver.DeleteSimulation+import Amazonka.SimSpaceWeaver.DescribeApp+import Amazonka.SimSpaceWeaver.DescribeSimulation+import Amazonka.SimSpaceWeaver.Lens+import Amazonka.SimSpaceWeaver.ListApps+import Amazonka.SimSpaceWeaver.ListSimulations+import Amazonka.SimSpaceWeaver.ListTagsForResource+import Amazonka.SimSpaceWeaver.StartApp+import Amazonka.SimSpaceWeaver.StartClock+import Amazonka.SimSpaceWeaver.StartSimulation+import Amazonka.SimSpaceWeaver.StopApp+import Amazonka.SimSpaceWeaver.StopClock+import Amazonka.SimSpaceWeaver.StopSimulation+import Amazonka.SimSpaceWeaver.TagResource+import Amazonka.SimSpaceWeaver.Types+import Amazonka.SimSpaceWeaver.UntagResource+import Amazonka.SimSpaceWeaver.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 'SimSpaceWeaver'.++-- $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/SimSpaceWeaver/DeleteApp.hs view
@@ -0,0 +1,176 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SimSpaceWeaver.DeleteApp+-- 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 instance of the given custom app.+module Amazonka.SimSpaceWeaver.DeleteApp+  ( -- * Creating a Request+    DeleteApp (..),+    newDeleteApp,++    -- * Request Lenses+    deleteApp_app,+    deleteApp_domain,+    deleteApp_simulation,++    -- * Destructuring the Response+    DeleteAppResponse (..),+    newDeleteAppResponse,++    -- * Response Lenses+    deleteAppResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newDeleteApp' smart constructor.+data DeleteApp = DeleteApp'+  { -- | The name of the app.+    app :: Prelude.Text,+    -- | The name of the domain of the app.+    domain :: Prelude.Text,+    -- | The name of the simulation of the app.+    simulation :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteApp' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'app', 'deleteApp_app' - The name of the app.+--+-- 'domain', 'deleteApp_domain' - The name of the domain of the app.+--+-- 'simulation', 'deleteApp_simulation' - The name of the simulation of the app.+newDeleteApp ::+  -- | 'app'+  Prelude.Text ->+  -- | 'domain'+  Prelude.Text ->+  -- | 'simulation'+  Prelude.Text ->+  DeleteApp+newDeleteApp pApp_ pDomain_ pSimulation_ =+  DeleteApp'+    { app = pApp_,+      domain = pDomain_,+      simulation = pSimulation_+    }++-- | The name of the app.+deleteApp_app :: Lens.Lens' DeleteApp Prelude.Text+deleteApp_app = Lens.lens (\DeleteApp' {app} -> app) (\s@DeleteApp' {} a -> s {app = a} :: DeleteApp)++-- | The name of the domain of the app.+deleteApp_domain :: Lens.Lens' DeleteApp Prelude.Text+deleteApp_domain = Lens.lens (\DeleteApp' {domain} -> domain) (\s@DeleteApp' {} a -> s {domain = a} :: DeleteApp)++-- | The name of the simulation of the app.+deleteApp_simulation :: Lens.Lens' DeleteApp Prelude.Text+deleteApp_simulation = Lens.lens (\DeleteApp' {simulation} -> simulation) (\s@DeleteApp' {} a -> s {simulation = a} :: DeleteApp)++instance Core.AWSRequest DeleteApp where+  type AWSResponse DeleteApp = DeleteAppResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteAppResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteApp where+  hashWithSalt _salt DeleteApp' {..} =+    _salt+      `Prelude.hashWithSalt` app+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` simulation++instance Prelude.NFData DeleteApp where+  rnf DeleteApp' {..} =+    Prelude.rnf app+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf simulation++instance Data.ToHeaders DeleteApp where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteApp where+  toPath = Prelude.const "/deleteapp"++instance Data.ToQuery DeleteApp where+  toQuery DeleteApp' {..} =+    Prelude.mconcat+      [ "app" Data.=: app,+        "domain" Data.=: domain,+        "simulation" Data.=: simulation+      ]++-- | /See:/ 'newDeleteAppResponse' smart constructor.+data DeleteAppResponse = DeleteAppResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteAppResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteAppResponse_httpStatus' - The response's http status code.+newDeleteAppResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteAppResponse+newDeleteAppResponse pHttpStatus_ =+  DeleteAppResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteAppResponse_httpStatus :: Lens.Lens' DeleteAppResponse Prelude.Int+deleteAppResponse_httpStatus = Lens.lens (\DeleteAppResponse' {httpStatus} -> httpStatus) (\s@DeleteAppResponse' {} a -> s {httpStatus = a} :: DeleteAppResponse)++instance Prelude.NFData DeleteAppResponse where+  rnf DeleteAppResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/DeleteSimulation.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SimSpaceWeaver.DeleteSimulation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes all SimSpace Weaver resources assigned to the given simulation.+--+-- Your simulation uses resources in other Amazon Web Services services.+-- This API operation doesn\'t delete resources in other Amazon Web+-- Services services.+module Amazonka.SimSpaceWeaver.DeleteSimulation+  ( -- * Creating a Request+    DeleteSimulation (..),+    newDeleteSimulation,++    -- * Request Lenses+    deleteSimulation_simulation,++    -- * Destructuring the Response+    DeleteSimulationResponse (..),+    newDeleteSimulationResponse,++    -- * Response Lenses+    deleteSimulationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newDeleteSimulation' smart constructor.+data DeleteSimulation = DeleteSimulation'+  { -- | The name of the simulation.+    simulation :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSimulation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'simulation', 'deleteSimulation_simulation' - The name of the simulation.+newDeleteSimulation ::+  -- | 'simulation'+  Prelude.Text ->+  DeleteSimulation+newDeleteSimulation pSimulation_ =+  DeleteSimulation' {simulation = pSimulation_}++-- | The name of the simulation.+deleteSimulation_simulation :: Lens.Lens' DeleteSimulation Prelude.Text+deleteSimulation_simulation = Lens.lens (\DeleteSimulation' {simulation} -> simulation) (\s@DeleteSimulation' {} a -> s {simulation = a} :: DeleteSimulation)++instance Core.AWSRequest DeleteSimulation where+  type+    AWSResponse DeleteSimulation =+      DeleteSimulationResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteSimulationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteSimulation where+  hashWithSalt _salt DeleteSimulation' {..} =+    _salt `Prelude.hashWithSalt` simulation++instance Prelude.NFData DeleteSimulation where+  rnf DeleteSimulation' {..} = Prelude.rnf simulation++instance Data.ToHeaders DeleteSimulation where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DeleteSimulation where+  toPath = Prelude.const "/deletesimulation"++instance Data.ToQuery DeleteSimulation where+  toQuery DeleteSimulation' {..} =+    Prelude.mconcat ["simulation" Data.=: simulation]++-- | /See:/ 'newDeleteSimulationResponse' smart constructor.+data DeleteSimulationResponse = DeleteSimulationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSimulationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deleteSimulationResponse_httpStatus' - The response's http status code.+newDeleteSimulationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteSimulationResponse+newDeleteSimulationResponse pHttpStatus_ =+  DeleteSimulationResponse'+    { httpStatus =+        pHttpStatus_+    }++-- | The response's http status code.+deleteSimulationResponse_httpStatus :: Lens.Lens' DeleteSimulationResponse Prelude.Int+deleteSimulationResponse_httpStatus = Lens.lens (\DeleteSimulationResponse' {httpStatus} -> httpStatus) (\s@DeleteSimulationResponse' {} a -> s {httpStatus = a} :: DeleteSimulationResponse)++instance Prelude.NFData DeleteSimulationResponse where+  rnf DeleteSimulationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/DescribeApp.hs view
@@ -0,0 +1,277 @@+{-# 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.SimSpaceWeaver.DescribeApp+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the state of the given custom app.+module Amazonka.SimSpaceWeaver.DescribeApp+  ( -- * Creating a Request+    DescribeApp (..),+    newDescribeApp,++    -- * Request Lenses+    describeApp_app,+    describeApp_domain,+    describeApp_simulation,++    -- * Destructuring the Response+    DescribeAppResponse (..),+    newDescribeAppResponse,++    -- * Response Lenses+    describeAppResponse_description,+    describeAppResponse_domain,+    describeAppResponse_endpointInfo,+    describeAppResponse_launchOverrides,+    describeAppResponse_name,+    describeAppResponse_simulation,+    describeAppResponse_status,+    describeAppResponse_targetStatus,+    describeAppResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newDescribeApp' smart constructor.+data DescribeApp = DescribeApp'+  { -- | The name of the app.+    app :: Prelude.Text,+    -- | The name of the domain of the app.+    domain :: Prelude.Text,+    -- | The name of the simulation of the app.+    simulation :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeApp' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'app', 'describeApp_app' - The name of the app.+--+-- 'domain', 'describeApp_domain' - The name of the domain of the app.+--+-- 'simulation', 'describeApp_simulation' - The name of the simulation of the app.+newDescribeApp ::+  -- | 'app'+  Prelude.Text ->+  -- | 'domain'+  Prelude.Text ->+  -- | 'simulation'+  Prelude.Text ->+  DescribeApp+newDescribeApp pApp_ pDomain_ pSimulation_ =+  DescribeApp'+    { app = pApp_,+      domain = pDomain_,+      simulation = pSimulation_+    }++-- | The name of the app.+describeApp_app :: Lens.Lens' DescribeApp Prelude.Text+describeApp_app = Lens.lens (\DescribeApp' {app} -> app) (\s@DescribeApp' {} a -> s {app = a} :: DescribeApp)++-- | The name of the domain of the app.+describeApp_domain :: Lens.Lens' DescribeApp Prelude.Text+describeApp_domain = Lens.lens (\DescribeApp' {domain} -> domain) (\s@DescribeApp' {} a -> s {domain = a} :: DescribeApp)++-- | The name of the simulation of the app.+describeApp_simulation :: Lens.Lens' DescribeApp Prelude.Text+describeApp_simulation = Lens.lens (\DescribeApp' {simulation} -> simulation) (\s@DescribeApp' {} a -> s {simulation = a} :: DescribeApp)++instance Core.AWSRequest DescribeApp where+  type AWSResponse DescribeApp = DescribeAppResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeAppResponse'+            Prelude.<$> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "Domain")+            Prelude.<*> (x Data..?> "EndpointInfo")+            Prelude.<*> (x Data..?> "LaunchOverrides")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "Simulation")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "TargetStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeApp where+  hashWithSalt _salt DescribeApp' {..} =+    _salt+      `Prelude.hashWithSalt` app+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` simulation++instance Prelude.NFData DescribeApp where+  rnf DescribeApp' {..} =+    Prelude.rnf app+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf simulation++instance Data.ToHeaders DescribeApp where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeApp where+  toPath = Prelude.const "/describeapp"++instance Data.ToQuery DescribeApp where+  toQuery DescribeApp' {..} =+    Prelude.mconcat+      [ "app" Data.=: app,+        "domain" Data.=: domain,+        "simulation" Data.=: simulation+      ]++-- | /See:/ 'newDescribeAppResponse' smart constructor.+data DescribeAppResponse = DescribeAppResponse'+  { -- | The description of the app.+    description :: Prelude.Maybe Prelude.Text,+    -- | The name of the domain of the app.+    domain :: Prelude.Maybe Prelude.Text,+    -- | Information about the network endpoint for the custom app. You can use+    -- the endpoint to connect to the custom app.+    endpointInfo :: Prelude.Maybe SimulationAppEndpointInfo,+    launchOverrides :: Prelude.Maybe LaunchOverrides,+    -- | The name of the app.+    name :: Prelude.Maybe Prelude.Text,+    -- | The name of the simulation of the app.+    simulation :: Prelude.Maybe Prelude.Text,+    -- | The current lifecycle state of the custom app.+    status :: Prelude.Maybe SimulationAppStatus,+    -- | The desired lifecycle state of the custom app.+    targetStatus :: Prelude.Maybe SimulationAppTargetStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeAppResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'describeAppResponse_description' - The description of the app.+--+-- 'domain', 'describeAppResponse_domain' - The name of the domain of the app.+--+-- 'endpointInfo', 'describeAppResponse_endpointInfo' - Information about the network endpoint for the custom app. You can use+-- the endpoint to connect to the custom app.+--+-- 'launchOverrides', 'describeAppResponse_launchOverrides' - Undocumented member.+--+-- 'name', 'describeAppResponse_name' - The name of the app.+--+-- 'simulation', 'describeAppResponse_simulation' - The name of the simulation of the app.+--+-- 'status', 'describeAppResponse_status' - The current lifecycle state of the custom app.+--+-- 'targetStatus', 'describeAppResponse_targetStatus' - The desired lifecycle state of the custom app.+--+-- 'httpStatus', 'describeAppResponse_httpStatus' - The response's http status code.+newDescribeAppResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeAppResponse+newDescribeAppResponse pHttpStatus_ =+  DescribeAppResponse'+    { description = Prelude.Nothing,+      domain = Prelude.Nothing,+      endpointInfo = Prelude.Nothing,+      launchOverrides = Prelude.Nothing,+      name = Prelude.Nothing,+      simulation = Prelude.Nothing,+      status = Prelude.Nothing,+      targetStatus = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The description of the app.+describeAppResponse_description :: Lens.Lens' DescribeAppResponse (Prelude.Maybe Prelude.Text)+describeAppResponse_description = Lens.lens (\DescribeAppResponse' {description} -> description) (\s@DescribeAppResponse' {} a -> s {description = a} :: DescribeAppResponse)++-- | The name of the domain of the app.+describeAppResponse_domain :: Lens.Lens' DescribeAppResponse (Prelude.Maybe Prelude.Text)+describeAppResponse_domain = Lens.lens (\DescribeAppResponse' {domain} -> domain) (\s@DescribeAppResponse' {} a -> s {domain = a} :: DescribeAppResponse)++-- | Information about the network endpoint for the custom app. You can use+-- the endpoint to connect to the custom app.+describeAppResponse_endpointInfo :: Lens.Lens' DescribeAppResponse (Prelude.Maybe SimulationAppEndpointInfo)+describeAppResponse_endpointInfo = Lens.lens (\DescribeAppResponse' {endpointInfo} -> endpointInfo) (\s@DescribeAppResponse' {} a -> s {endpointInfo = a} :: DescribeAppResponse)++-- | Undocumented member.+describeAppResponse_launchOverrides :: Lens.Lens' DescribeAppResponse (Prelude.Maybe LaunchOverrides)+describeAppResponse_launchOverrides = Lens.lens (\DescribeAppResponse' {launchOverrides} -> launchOverrides) (\s@DescribeAppResponse' {} a -> s {launchOverrides = a} :: DescribeAppResponse)++-- | The name of the app.+describeAppResponse_name :: Lens.Lens' DescribeAppResponse (Prelude.Maybe Prelude.Text)+describeAppResponse_name = Lens.lens (\DescribeAppResponse' {name} -> name) (\s@DescribeAppResponse' {} a -> s {name = a} :: DescribeAppResponse)++-- | The name of the simulation of the app.+describeAppResponse_simulation :: Lens.Lens' DescribeAppResponse (Prelude.Maybe Prelude.Text)+describeAppResponse_simulation = Lens.lens (\DescribeAppResponse' {simulation} -> simulation) (\s@DescribeAppResponse' {} a -> s {simulation = a} :: DescribeAppResponse)++-- | The current lifecycle state of the custom app.+describeAppResponse_status :: Lens.Lens' DescribeAppResponse (Prelude.Maybe SimulationAppStatus)+describeAppResponse_status = Lens.lens (\DescribeAppResponse' {status} -> status) (\s@DescribeAppResponse' {} a -> s {status = a} :: DescribeAppResponse)++-- | The desired lifecycle state of the custom app.+describeAppResponse_targetStatus :: Lens.Lens' DescribeAppResponse (Prelude.Maybe SimulationAppTargetStatus)+describeAppResponse_targetStatus = Lens.lens (\DescribeAppResponse' {targetStatus} -> targetStatus) (\s@DescribeAppResponse' {} a -> s {targetStatus = a} :: DescribeAppResponse)++-- | The response's http status code.+describeAppResponse_httpStatus :: Lens.Lens' DescribeAppResponse Prelude.Int+describeAppResponse_httpStatus = Lens.lens (\DescribeAppResponse' {httpStatus} -> httpStatus) (\s@DescribeAppResponse' {} a -> s {httpStatus = a} :: DescribeAppResponse)++instance Prelude.NFData DescribeAppResponse where+  rnf DescribeAppResponse' {..} =+    Prelude.rnf description+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf endpointInfo+      `Prelude.seq` Prelude.rnf launchOverrides+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf simulation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf targetStatus+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/DescribeSimulation.hs view
@@ -0,0 +1,361 @@+{-# 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.SimSpaceWeaver.DescribeSimulation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the current state of the given simulation.+module Amazonka.SimSpaceWeaver.DescribeSimulation+  ( -- * Creating a Request+    DescribeSimulation (..),+    newDescribeSimulation,++    -- * Request Lenses+    describeSimulation_simulation,++    -- * Destructuring the Response+    DescribeSimulationResponse (..),+    newDescribeSimulationResponse,++    -- * Response Lenses+    describeSimulationResponse_arn,+    describeSimulationResponse_creationTime,+    describeSimulationResponse_description,+    describeSimulationResponse_executionId,+    describeSimulationResponse_liveSimulationState,+    describeSimulationResponse_loggingConfiguration,+    describeSimulationResponse_maximumDuration,+    describeSimulationResponse_name,+    describeSimulationResponse_roleArn,+    describeSimulationResponse_schemaError,+    describeSimulationResponse_schemaS3Location,+    describeSimulationResponse_status,+    describeSimulationResponse_targetStatus,+    describeSimulationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newDescribeSimulation' smart constructor.+data DescribeSimulation = DescribeSimulation'+  { -- | The name of the simulation.+    simulation :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSimulation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'simulation', 'describeSimulation_simulation' - The name of the simulation.+newDescribeSimulation ::+  -- | 'simulation'+  Prelude.Text ->+  DescribeSimulation+newDescribeSimulation pSimulation_ =+  DescribeSimulation' {simulation = pSimulation_}++-- | The name of the simulation.+describeSimulation_simulation :: Lens.Lens' DescribeSimulation Prelude.Text+describeSimulation_simulation = Lens.lens (\DescribeSimulation' {simulation} -> simulation) (\s@DescribeSimulation' {} a -> s {simulation = a} :: DescribeSimulation)++instance Core.AWSRequest DescribeSimulation where+  type+    AWSResponse DescribeSimulation =+      DescribeSimulationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          DescribeSimulationResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "Description")+            Prelude.<*> (x Data..?> "ExecutionId")+            Prelude.<*> (x Data..?> "LiveSimulationState")+            Prelude.<*> (x Data..?> "LoggingConfiguration")+            Prelude.<*> (x Data..?> "MaximumDuration")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "RoleArn")+            Prelude.<*> (x Data..?> "SchemaError")+            Prelude.<*> (x Data..?> "SchemaS3Location")+            Prelude.<*> (x Data..?> "Status")+            Prelude.<*> (x Data..?> "TargetStatus")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DescribeSimulation where+  hashWithSalt _salt DescribeSimulation' {..} =+    _salt `Prelude.hashWithSalt` simulation++instance Prelude.NFData DescribeSimulation where+  rnf DescribeSimulation' {..} = Prelude.rnf simulation++instance Data.ToHeaders DescribeSimulation where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath DescribeSimulation where+  toPath = Prelude.const "/describesimulation"++instance Data.ToQuery DescribeSimulation where+  toQuery DescribeSimulation' {..} =+    Prelude.mconcat ["simulation" Data.=: simulation]++-- | /See:/ 'newDescribeSimulationResponse' smart constructor.+data DescribeSimulationResponse = DescribeSimulationResponse'+  { -- | The Amazon Resource Name (ARN) of the simulation. For more information+    -- about ARNs, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+    -- in the /Amazon Web Services General Reference/.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time when the simulation was created, expressed as the number of+    -- seconds and milliseconds in UTC since the Unix epoch (0:0:0.000, January+    -- 1, 1970).+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The description of the simulation.+    description :: Prelude.Maybe Prelude.Text,+    -- | A universally unique identifier (UUID) for this simulation.+    executionId :: Prelude.Maybe Prelude.Text,+    -- | A collection of additional state information, such as domain and clock+    -- configuration.+    liveSimulationState :: Prelude.Maybe LiveSimulationState,+    -- | Settings that control how SimSpace Weaver handles your simulation log+    -- data.+    loggingConfiguration :: Prelude.Maybe LoggingConfiguration,+    -- | The maximum running time of the simulation, specified as a number of+    -- months (m or M), hours (h or H), or days (d or D). The simulation stops+    -- when it reaches this limit.+    maximumDuration :: Prelude.Maybe Prelude.Text,+    -- | The name of the simulation.+    name :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Identity and Access Management+    -- (IAM) role that the simulation assumes to perform actions. For more+    -- information about ARNs, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+    -- in the /Amazon Web Services General Reference/. For more information+    -- about IAM roles, see+    -- <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html IAM roles>+    -- in the /Identity and Access Management User Guide/.+    roleArn :: Prelude.Maybe Prelude.Text,+    -- | An error message that SimSpace Weaver returns only if there is a problem+    -- with the simulation schema.+    schemaError :: Prelude.Maybe Prelude.Text,+    -- | The location of the simulation schema in Amazon Simple Storage Service+    -- (Amazon S3). For more information about Amazon S3, see the+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html Amazon Simple Storage Service User Guide>+    -- .+    schemaS3Location :: Prelude.Maybe S3Location,+    -- | The current lifecycle state of the simulation.+    status :: Prelude.Maybe SimulationStatus,+    -- | The desired lifecycle state of the simulation.+    targetStatus :: Prelude.Maybe SimulationTargetStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSimulationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'describeSimulationResponse_arn' - The Amazon Resource Name (ARN) of the simulation. For more information+-- about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'creationTime', 'describeSimulationResponse_creationTime' - The time when the simulation was created, expressed as the number of+-- seconds and milliseconds in UTC since the Unix epoch (0:0:0.000, January+-- 1, 1970).+--+-- 'description', 'describeSimulationResponse_description' - The description of the simulation.+--+-- 'executionId', 'describeSimulationResponse_executionId' - A universally unique identifier (UUID) for this simulation.+--+-- 'liveSimulationState', 'describeSimulationResponse_liveSimulationState' - A collection of additional state information, such as domain and clock+-- configuration.+--+-- 'loggingConfiguration', 'describeSimulationResponse_loggingConfiguration' - Settings that control how SimSpace Weaver handles your simulation log+-- data.+--+-- 'maximumDuration', 'describeSimulationResponse_maximumDuration' - The maximum running time of the simulation, specified as a number of+-- months (m or M), hours (h or H), or days (d or D). The simulation stops+-- when it reaches this limit.+--+-- 'name', 'describeSimulationResponse_name' - The name of the simulation.+--+-- 'roleArn', 'describeSimulationResponse_roleArn' - The Amazon Resource Name (ARN) of the Identity and Access Management+-- (IAM) role that the simulation assumes to perform actions. For more+-- information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/. For more information+-- about IAM roles, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html IAM roles>+-- in the /Identity and Access Management User Guide/.+--+-- 'schemaError', 'describeSimulationResponse_schemaError' - An error message that SimSpace Weaver returns only if there is a problem+-- with the simulation schema.+--+-- 'schemaS3Location', 'describeSimulationResponse_schemaS3Location' - The location of the simulation schema in Amazon Simple Storage Service+-- (Amazon S3). For more information about Amazon S3, see the+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html Amazon Simple Storage Service User Guide>+-- .+--+-- 'status', 'describeSimulationResponse_status' - The current lifecycle state of the simulation.+--+-- 'targetStatus', 'describeSimulationResponse_targetStatus' - The desired lifecycle state of the simulation.+--+-- 'httpStatus', 'describeSimulationResponse_httpStatus' - The response's http status code.+newDescribeSimulationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DescribeSimulationResponse+newDescribeSimulationResponse pHttpStatus_ =+  DescribeSimulationResponse'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      description = Prelude.Nothing,+      executionId = Prelude.Nothing,+      liveSimulationState = Prelude.Nothing,+      loggingConfiguration = Prelude.Nothing,+      maximumDuration = Prelude.Nothing,+      name = Prelude.Nothing,+      roleArn = Prelude.Nothing,+      schemaError = Prelude.Nothing,+      schemaS3Location = Prelude.Nothing,+      status = Prelude.Nothing,+      targetStatus = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the simulation. For more information+-- about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+describeSimulationResponse_arn :: Lens.Lens' DescribeSimulationResponse (Prelude.Maybe Prelude.Text)+describeSimulationResponse_arn = Lens.lens (\DescribeSimulationResponse' {arn} -> arn) (\s@DescribeSimulationResponse' {} a -> s {arn = a} :: DescribeSimulationResponse)++-- | The time when the simulation was created, expressed as the number of+-- seconds and milliseconds in UTC since the Unix epoch (0:0:0.000, January+-- 1, 1970).+describeSimulationResponse_creationTime :: Lens.Lens' DescribeSimulationResponse (Prelude.Maybe Prelude.UTCTime)+describeSimulationResponse_creationTime = Lens.lens (\DescribeSimulationResponse' {creationTime} -> creationTime) (\s@DescribeSimulationResponse' {} a -> s {creationTime = a} :: DescribeSimulationResponse) Prelude.. Lens.mapping Data._Time++-- | The description of the simulation.+describeSimulationResponse_description :: Lens.Lens' DescribeSimulationResponse (Prelude.Maybe Prelude.Text)+describeSimulationResponse_description = Lens.lens (\DescribeSimulationResponse' {description} -> description) (\s@DescribeSimulationResponse' {} a -> s {description = a} :: DescribeSimulationResponse)++-- | A universally unique identifier (UUID) for this simulation.+describeSimulationResponse_executionId :: Lens.Lens' DescribeSimulationResponse (Prelude.Maybe Prelude.Text)+describeSimulationResponse_executionId = Lens.lens (\DescribeSimulationResponse' {executionId} -> executionId) (\s@DescribeSimulationResponse' {} a -> s {executionId = a} :: DescribeSimulationResponse)++-- | A collection of additional state information, such as domain and clock+-- configuration.+describeSimulationResponse_liveSimulationState :: Lens.Lens' DescribeSimulationResponse (Prelude.Maybe LiveSimulationState)+describeSimulationResponse_liveSimulationState = Lens.lens (\DescribeSimulationResponse' {liveSimulationState} -> liveSimulationState) (\s@DescribeSimulationResponse' {} a -> s {liveSimulationState = a} :: DescribeSimulationResponse)++-- | Settings that control how SimSpace Weaver handles your simulation log+-- data.+describeSimulationResponse_loggingConfiguration :: Lens.Lens' DescribeSimulationResponse (Prelude.Maybe LoggingConfiguration)+describeSimulationResponse_loggingConfiguration = Lens.lens (\DescribeSimulationResponse' {loggingConfiguration} -> loggingConfiguration) (\s@DescribeSimulationResponse' {} a -> s {loggingConfiguration = a} :: DescribeSimulationResponse)++-- | The maximum running time of the simulation, specified as a number of+-- months (m or M), hours (h or H), or days (d or D). The simulation stops+-- when it reaches this limit.+describeSimulationResponse_maximumDuration :: Lens.Lens' DescribeSimulationResponse (Prelude.Maybe Prelude.Text)+describeSimulationResponse_maximumDuration = Lens.lens (\DescribeSimulationResponse' {maximumDuration} -> maximumDuration) (\s@DescribeSimulationResponse' {} a -> s {maximumDuration = a} :: DescribeSimulationResponse)++-- | The name of the simulation.+describeSimulationResponse_name :: Lens.Lens' DescribeSimulationResponse (Prelude.Maybe Prelude.Text)+describeSimulationResponse_name = Lens.lens (\DescribeSimulationResponse' {name} -> name) (\s@DescribeSimulationResponse' {} a -> s {name = a} :: DescribeSimulationResponse)++-- | The Amazon Resource Name (ARN) of the Identity and Access Management+-- (IAM) role that the simulation assumes to perform actions. For more+-- information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/. For more information+-- about IAM roles, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html IAM roles>+-- in the /Identity and Access Management User Guide/.+describeSimulationResponse_roleArn :: Lens.Lens' DescribeSimulationResponse (Prelude.Maybe Prelude.Text)+describeSimulationResponse_roleArn = Lens.lens (\DescribeSimulationResponse' {roleArn} -> roleArn) (\s@DescribeSimulationResponse' {} a -> s {roleArn = a} :: DescribeSimulationResponse)++-- | An error message that SimSpace Weaver returns only if there is a problem+-- with the simulation schema.+describeSimulationResponse_schemaError :: Lens.Lens' DescribeSimulationResponse (Prelude.Maybe Prelude.Text)+describeSimulationResponse_schemaError = Lens.lens (\DescribeSimulationResponse' {schemaError} -> schemaError) (\s@DescribeSimulationResponse' {} a -> s {schemaError = a} :: DescribeSimulationResponse)++-- | The location of the simulation schema in Amazon Simple Storage Service+-- (Amazon S3). For more information about Amazon S3, see the+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html Amazon Simple Storage Service User Guide>+-- .+describeSimulationResponse_schemaS3Location :: Lens.Lens' DescribeSimulationResponse (Prelude.Maybe S3Location)+describeSimulationResponse_schemaS3Location = Lens.lens (\DescribeSimulationResponse' {schemaS3Location} -> schemaS3Location) (\s@DescribeSimulationResponse' {} a -> s {schemaS3Location = a} :: DescribeSimulationResponse)++-- | The current lifecycle state of the simulation.+describeSimulationResponse_status :: Lens.Lens' DescribeSimulationResponse (Prelude.Maybe SimulationStatus)+describeSimulationResponse_status = Lens.lens (\DescribeSimulationResponse' {status} -> status) (\s@DescribeSimulationResponse' {} a -> s {status = a} :: DescribeSimulationResponse)++-- | The desired lifecycle state of the simulation.+describeSimulationResponse_targetStatus :: Lens.Lens' DescribeSimulationResponse (Prelude.Maybe SimulationTargetStatus)+describeSimulationResponse_targetStatus = Lens.lens (\DescribeSimulationResponse' {targetStatus} -> targetStatus) (\s@DescribeSimulationResponse' {} a -> s {targetStatus = a} :: DescribeSimulationResponse)++-- | The response's http status code.+describeSimulationResponse_httpStatus :: Lens.Lens' DescribeSimulationResponse Prelude.Int+describeSimulationResponse_httpStatus = Lens.lens (\DescribeSimulationResponse' {httpStatus} -> httpStatus) (\s@DescribeSimulationResponse' {} a -> s {httpStatus = a} :: DescribeSimulationResponse)++instance Prelude.NFData DescribeSimulationResponse where+  rnf DescribeSimulationResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf executionId+      `Prelude.seq` Prelude.rnf liveSimulationState+      `Prelude.seq` Prelude.rnf loggingConfiguration+      `Prelude.seq` Prelude.rnf maximumDuration+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf roleArn+      `Prelude.seq` Prelude.rnf schemaError+      `Prelude.seq` Prelude.rnf schemaS3Location+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf targetStatus+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/Lens.hs view
@@ -0,0 +1,212 @@+{-# 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.SimSpaceWeaver.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.SimSpaceWeaver.Lens+  ( -- * Operations++    -- ** DeleteApp+    deleteApp_app,+    deleteApp_domain,+    deleteApp_simulation,+    deleteAppResponse_httpStatus,++    -- ** DeleteSimulation+    deleteSimulation_simulation,+    deleteSimulationResponse_httpStatus,++    -- ** DescribeApp+    describeApp_app,+    describeApp_domain,+    describeApp_simulation,+    describeAppResponse_description,+    describeAppResponse_domain,+    describeAppResponse_endpointInfo,+    describeAppResponse_launchOverrides,+    describeAppResponse_name,+    describeAppResponse_simulation,+    describeAppResponse_status,+    describeAppResponse_targetStatus,+    describeAppResponse_httpStatus,++    -- ** DescribeSimulation+    describeSimulation_simulation,+    describeSimulationResponse_arn,+    describeSimulationResponse_creationTime,+    describeSimulationResponse_description,+    describeSimulationResponse_executionId,+    describeSimulationResponse_liveSimulationState,+    describeSimulationResponse_loggingConfiguration,+    describeSimulationResponse_maximumDuration,+    describeSimulationResponse_name,+    describeSimulationResponse_roleArn,+    describeSimulationResponse_schemaError,+    describeSimulationResponse_schemaS3Location,+    describeSimulationResponse_status,+    describeSimulationResponse_targetStatus,+    describeSimulationResponse_httpStatus,++    -- ** ListApps+    listApps_domain,+    listApps_maxResults,+    listApps_nextToken,+    listApps_simulation,+    listAppsResponse_apps,+    listAppsResponse_nextToken,+    listAppsResponse_httpStatus,++    -- ** ListSimulations+    listSimulations_maxResults,+    listSimulations_nextToken,+    listSimulationsResponse_nextToken,+    listSimulationsResponse_simulations,+    listSimulationsResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceArn,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** StartApp+    startApp_clientToken,+    startApp_description,+    startApp_launchOverrides,+    startApp_domain,+    startApp_name,+    startApp_simulation,+    startAppResponse_domain,+    startAppResponse_name,+    startAppResponse_simulation,+    startAppResponse_httpStatus,++    -- ** StartClock+    startClock_simulation,+    startClockResponse_httpStatus,++    -- ** StartSimulation+    startSimulation_clientToken,+    startSimulation_description,+    startSimulation_maximumDuration,+    startSimulation_tags,+    startSimulation_name,+    startSimulation_roleArn,+    startSimulation_schemaS3Location,+    startSimulationResponse_arn,+    startSimulationResponse_creationTime,+    startSimulationResponse_executionId,+    startSimulationResponse_httpStatus,++    -- ** StopApp+    stopApp_app,+    stopApp_domain,+    stopApp_simulation,+    stopAppResponse_httpStatus,++    -- ** StopClock+    stopClock_simulation,+    stopClockResponse_httpStatus,++    -- ** StopSimulation+    stopSimulation_simulation,+    stopSimulationResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceArn,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceArn,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- * Types++    -- ** CloudWatchLogsLogGroup+    cloudWatchLogsLogGroup_logGroupArn,++    -- ** Domain+    domain_lifecycle,+    domain_name,++    -- ** LaunchOverrides+    launchOverrides_launchCommands,++    -- ** LiveSimulationState+    liveSimulationState_clocks,+    liveSimulationState_domains,++    -- ** LogDestination+    logDestination_cloudWatchLogsLogGroup,++    -- ** LoggingConfiguration+    loggingConfiguration_destinations,++    -- ** S3Location+    s3Location_bucketName,+    s3Location_objectKey,++    -- ** SimulationAppEndpointInfo+    simulationAppEndpointInfo_address,+    simulationAppEndpointInfo_ingressPortMappings,++    -- ** SimulationAppMetadata+    simulationAppMetadata_domain,+    simulationAppMetadata_name,+    simulationAppMetadata_simulation,+    simulationAppMetadata_status,+    simulationAppMetadata_targetStatus,++    -- ** SimulationAppPortMapping+    simulationAppPortMapping_actual,+    simulationAppPortMapping_declared,++    -- ** SimulationClock+    simulationClock_status,+    simulationClock_targetStatus,++    -- ** SimulationMetadata+    simulationMetadata_arn,+    simulationMetadata_creationTime,+    simulationMetadata_name,+    simulationMetadata_status,+    simulationMetadata_targetStatus,+  )+where++import Amazonka.SimSpaceWeaver.DeleteApp+import Amazonka.SimSpaceWeaver.DeleteSimulation+import Amazonka.SimSpaceWeaver.DescribeApp+import Amazonka.SimSpaceWeaver.DescribeSimulation+import Amazonka.SimSpaceWeaver.ListApps+import Amazonka.SimSpaceWeaver.ListSimulations+import Amazonka.SimSpaceWeaver.ListTagsForResource+import Amazonka.SimSpaceWeaver.StartApp+import Amazonka.SimSpaceWeaver.StartClock+import Amazonka.SimSpaceWeaver.StartSimulation+import Amazonka.SimSpaceWeaver.StopApp+import Amazonka.SimSpaceWeaver.StopClock+import Amazonka.SimSpaceWeaver.StopSimulation+import Amazonka.SimSpaceWeaver.TagResource+import Amazonka.SimSpaceWeaver.Types.CloudWatchLogsLogGroup+import Amazonka.SimSpaceWeaver.Types.Domain+import Amazonka.SimSpaceWeaver.Types.LaunchOverrides+import Amazonka.SimSpaceWeaver.Types.LiveSimulationState+import Amazonka.SimSpaceWeaver.Types.LogDestination+import Amazonka.SimSpaceWeaver.Types.LoggingConfiguration+import Amazonka.SimSpaceWeaver.Types.S3Location+import Amazonka.SimSpaceWeaver.Types.SimulationAppEndpointInfo+import Amazonka.SimSpaceWeaver.Types.SimulationAppMetadata+import Amazonka.SimSpaceWeaver.Types.SimulationAppPortMapping+import Amazonka.SimSpaceWeaver.Types.SimulationClock+import Amazonka.SimSpaceWeaver.Types.SimulationMetadata+import Amazonka.SimSpaceWeaver.UntagResource
+ gen/Amazonka/SimSpaceWeaver/ListApps.hs view
@@ -0,0 +1,249 @@+{-# 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.SimSpaceWeaver.ListApps+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists all custom apps or service apps for the given simulation and+-- domain.+module Amazonka.SimSpaceWeaver.ListApps+  ( -- * Creating a Request+    ListApps (..),+    newListApps,++    -- * Request Lenses+    listApps_domain,+    listApps_maxResults,+    listApps_nextToken,+    listApps_simulation,++    -- * Destructuring the Response+    ListAppsResponse (..),+    newListAppsResponse,++    -- * Response Lenses+    listAppsResponse_apps,+    listAppsResponse_nextToken,+    listAppsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newListApps' smart constructor.+data ListApps = ListApps'+  { -- | The name of the domain that you want to list apps for.+    domain :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of apps to list.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | If SimSpace Weaver returns @nextToken@, there are more results+    -- available. The value of @nextToken@ is a unique pagination token for+    -- each page. To retrieve the next page, call the operation again using the+    -- returned token. Keep all other arguments unchanged. If no results+    -- remain, @nextToken@ is set to @null@. Each pagination token expires+    -- after 24 hours. If you provide a token that isn\'t valid, you receive an+    -- /HTTP 400 ValidationException/ error.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the simulation that you want to list apps for.+    simulation :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListApps' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'listApps_domain' - The name of the domain that you want to list apps for.+--+-- 'maxResults', 'listApps_maxResults' - The maximum number of apps to list.+--+-- 'nextToken', 'listApps_nextToken' - If SimSpace Weaver returns @nextToken@, there are more results+-- available. The value of @nextToken@ is a unique pagination token for+-- each page. To retrieve the next page, call the operation again using the+-- returned token. Keep all other arguments unchanged. If no results+-- remain, @nextToken@ is set to @null@. Each pagination token expires+-- after 24 hours. If you provide a token that isn\'t valid, you receive an+-- /HTTP 400 ValidationException/ error.+--+-- 'simulation', 'listApps_simulation' - The name of the simulation that you want to list apps for.+newListApps ::+  -- | 'simulation'+  Prelude.Text ->+  ListApps+newListApps pSimulation_ =+  ListApps'+    { domain = Prelude.Nothing,+      maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      simulation = pSimulation_+    }++-- | The name of the domain that you want to list apps for.+listApps_domain :: Lens.Lens' ListApps (Prelude.Maybe Prelude.Text)+listApps_domain = Lens.lens (\ListApps' {domain} -> domain) (\s@ListApps' {} a -> s {domain = a} :: ListApps)++-- | The maximum number of apps to list.+listApps_maxResults :: Lens.Lens' ListApps (Prelude.Maybe Prelude.Natural)+listApps_maxResults = Lens.lens (\ListApps' {maxResults} -> maxResults) (\s@ListApps' {} a -> s {maxResults = a} :: ListApps)++-- | If SimSpace Weaver returns @nextToken@, there are more results+-- available. The value of @nextToken@ is a unique pagination token for+-- each page. To retrieve the next page, call the operation again using the+-- returned token. Keep all other arguments unchanged. If no results+-- remain, @nextToken@ is set to @null@. Each pagination token expires+-- after 24 hours. If you provide a token that isn\'t valid, you receive an+-- /HTTP 400 ValidationException/ error.+listApps_nextToken :: Lens.Lens' ListApps (Prelude.Maybe Prelude.Text)+listApps_nextToken = Lens.lens (\ListApps' {nextToken} -> nextToken) (\s@ListApps' {} a -> s {nextToken = a} :: ListApps)++-- | The name of the simulation that you want to list apps for.+listApps_simulation :: Lens.Lens' ListApps Prelude.Text+listApps_simulation = Lens.lens (\ListApps' {simulation} -> simulation) (\s@ListApps' {} a -> s {simulation = a} :: ListApps)++instance Core.AWSRequest ListApps where+  type AWSResponse ListApps = ListAppsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListAppsResponse'+            Prelude.<$> (x Data..?> "Apps" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListApps where+  hashWithSalt _salt ListApps' {..} =+    _salt+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken+      `Prelude.hashWithSalt` simulation++instance Prelude.NFData ListApps where+  rnf ListApps' {..} =+    Prelude.rnf domain+      `Prelude.seq` Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf simulation++instance Data.ToHeaders ListApps where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListApps where+  toPath = Prelude.const "/listapps"++instance Data.ToQuery ListApps where+  toQuery ListApps' {..} =+    Prelude.mconcat+      [ "domain" Data.=: domain,+        "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken,+        "simulation" Data.=: simulation+      ]++-- | /See:/ 'newListAppsResponse' smart constructor.+data ListAppsResponse = ListAppsResponse'+  { -- | The list of apps for the given simulation and domain.+    apps :: Prelude.Maybe [SimulationAppMetadata],+    -- | If SimSpace Weaver returns @nextToken@, there are more results+    -- available. The value of @nextToken@ is a unique pagination token for+    -- each page. To retrieve the next page, call the operation again using the+    -- returned token. Keep all other arguments unchanged. If no results+    -- remain, @nextToken@ is set to @null@. Each pagination token expires+    -- after 24 hours. If you provide a token that isn\'t valid, you receive an+    -- /HTTP 400 ValidationException/ error.+    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 'ListAppsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'apps', 'listAppsResponse_apps' - The list of apps for the given simulation and domain.+--+-- 'nextToken', 'listAppsResponse_nextToken' - If SimSpace Weaver returns @nextToken@, there are more results+-- available. The value of @nextToken@ is a unique pagination token for+-- each page. To retrieve the next page, call the operation again using the+-- returned token. Keep all other arguments unchanged. If no results+-- remain, @nextToken@ is set to @null@. Each pagination token expires+-- after 24 hours. If you provide a token that isn\'t valid, you receive an+-- /HTTP 400 ValidationException/ error.+--+-- 'httpStatus', 'listAppsResponse_httpStatus' - The response's http status code.+newListAppsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListAppsResponse+newListAppsResponse pHttpStatus_ =+  ListAppsResponse'+    { apps = Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of apps for the given simulation and domain.+listAppsResponse_apps :: Lens.Lens' ListAppsResponse (Prelude.Maybe [SimulationAppMetadata])+listAppsResponse_apps = Lens.lens (\ListAppsResponse' {apps} -> apps) (\s@ListAppsResponse' {} a -> s {apps = a} :: ListAppsResponse) Prelude.. Lens.mapping Lens.coerced++-- | If SimSpace Weaver returns @nextToken@, there are more results+-- available. The value of @nextToken@ is a unique pagination token for+-- each page. To retrieve the next page, call the operation again using the+-- returned token. Keep all other arguments unchanged. If no results+-- remain, @nextToken@ is set to @null@. Each pagination token expires+-- after 24 hours. If you provide a token that isn\'t valid, you receive an+-- /HTTP 400 ValidationException/ error.+listAppsResponse_nextToken :: Lens.Lens' ListAppsResponse (Prelude.Maybe Prelude.Text)+listAppsResponse_nextToken = Lens.lens (\ListAppsResponse' {nextToken} -> nextToken) (\s@ListAppsResponse' {} a -> s {nextToken = a} :: ListAppsResponse)++-- | The response's http status code.+listAppsResponse_httpStatus :: Lens.Lens' ListAppsResponse Prelude.Int+listAppsResponse_httpStatus = Lens.lens (\ListAppsResponse' {httpStatus} -> httpStatus) (\s@ListAppsResponse' {} a -> s {httpStatus = a} :: ListAppsResponse)++instance Prelude.NFData ListAppsResponse where+  rnf ListAppsResponse' {..} =+    Prelude.rnf apps+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/ListSimulations.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.SimSpaceWeaver.ListSimulations+-- 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 SimSpace Weaver simulations in the Amazon Web Services account+-- used to make the API call.+module Amazonka.SimSpaceWeaver.ListSimulations+  ( -- * Creating a Request+    ListSimulations (..),+    newListSimulations,++    -- * Request Lenses+    listSimulations_maxResults,+    listSimulations_nextToken,++    -- * Destructuring the Response+    ListSimulationsResponse (..),+    newListSimulationsResponse,++    -- * Response Lenses+    listSimulationsResponse_nextToken,+    listSimulationsResponse_simulations,+    listSimulationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newListSimulations' smart constructor.+data ListSimulations = ListSimulations'+  { -- | The maximum number of simulations to list.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | If SimSpace Weaver returns @nextToken@, there are more results+    -- available. The value of @nextToken@ is a unique pagination token for+    -- each page. To retrieve the next page, call the operation again using the+    -- returned token. Keep all other arguments unchanged. If no results+    -- remain, @nextToken@ is set to @null@. Each pagination token expires+    -- after 24 hours. If you provide a token that isn\'t valid, you receive an+    -- /HTTP 400 ValidationException/ error.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSimulations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSimulations_maxResults' - The maximum number of simulations to list.+--+-- 'nextToken', 'listSimulations_nextToken' - If SimSpace Weaver returns @nextToken@, there are more results+-- available. The value of @nextToken@ is a unique pagination token for+-- each page. To retrieve the next page, call the operation again using the+-- returned token. Keep all other arguments unchanged. If no results+-- remain, @nextToken@ is set to @null@. Each pagination token expires+-- after 24 hours. If you provide a token that isn\'t valid, you receive an+-- /HTTP 400 ValidationException/ error.+newListSimulations ::+  ListSimulations+newListSimulations =+  ListSimulations'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of simulations to list.+listSimulations_maxResults :: Lens.Lens' ListSimulations (Prelude.Maybe Prelude.Natural)+listSimulations_maxResults = Lens.lens (\ListSimulations' {maxResults} -> maxResults) (\s@ListSimulations' {} a -> s {maxResults = a} :: ListSimulations)++-- | If SimSpace Weaver returns @nextToken@, there are more results+-- available. The value of @nextToken@ is a unique pagination token for+-- each page. To retrieve the next page, call the operation again using the+-- returned token. Keep all other arguments unchanged. If no results+-- remain, @nextToken@ is set to @null@. Each pagination token expires+-- after 24 hours. If you provide a token that isn\'t valid, you receive an+-- /HTTP 400 ValidationException/ error.+listSimulations_nextToken :: Lens.Lens' ListSimulations (Prelude.Maybe Prelude.Text)+listSimulations_nextToken = Lens.lens (\ListSimulations' {nextToken} -> nextToken) (\s@ListSimulations' {} a -> s {nextToken = a} :: ListSimulations)++instance Core.AWSRequest ListSimulations where+  type+    AWSResponse ListSimulations =+      ListSimulationsResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListSimulationsResponse'+            Prelude.<$> (x Data..?> "NextToken")+            Prelude.<*> (x Data..?> "Simulations" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListSimulations where+  hashWithSalt _salt ListSimulations' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListSimulations where+  rnf ListSimulations' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListSimulations where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListSimulations where+  toPath = Prelude.const "/listsimulations"++instance Data.ToQuery ListSimulations where+  toQuery ListSimulations' {..} =+    Prelude.mconcat+      [ "maxResults" Data.=: maxResults,+        "nextToken" Data.=: nextToken+      ]++-- | /See:/ 'newListSimulationsResponse' smart constructor.+data ListSimulationsResponse = ListSimulationsResponse'+  { -- | If SimSpace Weaver returns @nextToken@, there are more results+    -- available. The value of @nextToken@ is a unique pagination token for+    -- each page. To retrieve the next page, call the operation again using the+    -- returned token. Keep all other arguments unchanged. If no results+    -- remain, @nextToken@ is set to @null@. Each pagination token expires+    -- after 24 hours. If you provide a token that isn\'t valid, you receive an+    -- /HTTP 400 ValidationException/ error.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The list of simulations.+    simulations :: Prelude.Maybe [SimulationMetadata],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSimulationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSimulationsResponse_nextToken' - If SimSpace Weaver returns @nextToken@, there are more results+-- available. The value of @nextToken@ is a unique pagination token for+-- each page. To retrieve the next page, call the operation again using the+-- returned token. Keep all other arguments unchanged. If no results+-- remain, @nextToken@ is set to @null@. Each pagination token expires+-- after 24 hours. If you provide a token that isn\'t valid, you receive an+-- /HTTP 400 ValidationException/ error.+--+-- 'simulations', 'listSimulationsResponse_simulations' - The list of simulations.+--+-- 'httpStatus', 'listSimulationsResponse_httpStatus' - The response's http status code.+newListSimulationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListSimulationsResponse+newListSimulationsResponse pHttpStatus_ =+  ListSimulationsResponse'+    { nextToken =+        Prelude.Nothing,+      simulations = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If SimSpace Weaver returns @nextToken@, there are more results+-- available. The value of @nextToken@ is a unique pagination token for+-- each page. To retrieve the next page, call the operation again using the+-- returned token. Keep all other arguments unchanged. If no results+-- remain, @nextToken@ is set to @null@. Each pagination token expires+-- after 24 hours. If you provide a token that isn\'t valid, you receive an+-- /HTTP 400 ValidationException/ error.+listSimulationsResponse_nextToken :: Lens.Lens' ListSimulationsResponse (Prelude.Maybe Prelude.Text)+listSimulationsResponse_nextToken = Lens.lens (\ListSimulationsResponse' {nextToken} -> nextToken) (\s@ListSimulationsResponse' {} a -> s {nextToken = a} :: ListSimulationsResponse)++-- | The list of simulations.+listSimulationsResponse_simulations :: Lens.Lens' ListSimulationsResponse (Prelude.Maybe [SimulationMetadata])+listSimulationsResponse_simulations = Lens.lens (\ListSimulationsResponse' {simulations} -> simulations) (\s@ListSimulationsResponse' {} a -> s {simulations = a} :: ListSimulationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listSimulationsResponse_httpStatus :: Lens.Lens' ListSimulationsResponse Prelude.Int+listSimulationsResponse_httpStatus = Lens.lens (\ListSimulationsResponse' {httpStatus} -> httpStatus) (\s@ListSimulationsResponse' {} a -> s {httpStatus = a} :: ListSimulationsResponse)++instance Prelude.NFData ListSimulationsResponse where+  rnf ListSimulationsResponse' {..} =+    Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf simulations+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/ListTagsForResource.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.SimSpaceWeaver.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 all tags on a SimSpace Weaver resource.+module Amazonka.SimSpaceWeaver.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceArn,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The Amazon Resource Name (ARN) of the resource. For more information+    -- about ARNs, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+    -- in the /Amazon Web Services General Reference/.+    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. For more information+-- about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+newListTagsForResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceArn_ =+  ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) of the resource. For more information+-- about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+  type+    AWSResponse ListTagsForResource =+      ListTagsForResourceResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListTagsForResourceResponse'+            Prelude.<$> (x Data..?> "Tags" Core..!@ Prelude.mempty)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListTagsForResource where+  hashWithSalt _salt ListTagsForResource' {..} =+    _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+  rnf ListTagsForResource' {..} =+    Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath ListTagsForResource where+  toPath ListTagsForResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | The list of tags for the resource.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The list of tags for the resource.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of tags for the resource.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+  rnf ListTagsForResourceResponse' {..} =+    Prelude.rnf tags+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/StartApp.hs view
@@ -0,0 +1,269 @@+{-# 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.SimSpaceWeaver.StartApp+-- 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 a custom app with the configuration specified in the simulation+-- schema.+module Amazonka.SimSpaceWeaver.StartApp+  ( -- * Creating a Request+    StartApp (..),+    newStartApp,++    -- * Request Lenses+    startApp_clientToken,+    startApp_description,+    startApp_launchOverrides,+    startApp_domain,+    startApp_name,+    startApp_simulation,++    -- * Destructuring the Response+    StartAppResponse (..),+    newStartAppResponse,++    -- * Response Lenses+    startAppResponse_domain,+    startAppResponse_name,+    startAppResponse_simulation,+    startAppResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newStartApp' smart constructor.+data StartApp = StartApp'+  { -- | A value that you provide to ensure that repeated calls to this API+    -- operation using the same parameters complete only once. A @ClientToken@+    -- is also known as an /idempotency token/. A @ClientToken@ expires after+    -- 24 hours.+    clientToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The description of the app.+    description :: Prelude.Maybe Prelude.Text,+    launchOverrides :: Prelude.Maybe LaunchOverrides,+    -- | The name of the domain of the app.+    domain :: Prelude.Text,+    -- | The name of the app.+    name :: Prelude.Text,+    -- | The name of the simulation of the app.+    simulation :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartApp' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'startApp_clientToken' - A value that you provide to ensure that repeated calls to this API+-- operation using the same parameters complete only once. A @ClientToken@+-- is also known as an /idempotency token/. A @ClientToken@ expires after+-- 24 hours.+--+-- 'description', 'startApp_description' - The description of the app.+--+-- 'launchOverrides', 'startApp_launchOverrides' - Undocumented member.+--+-- 'domain', 'startApp_domain' - The name of the domain of the app.+--+-- 'name', 'startApp_name' - The name of the app.+--+-- 'simulation', 'startApp_simulation' - The name of the simulation of the app.+newStartApp ::+  -- | 'domain'+  Prelude.Text ->+  -- | 'name'+  Prelude.Text ->+  -- | 'simulation'+  Prelude.Text ->+  StartApp+newStartApp pDomain_ pName_ pSimulation_ =+  StartApp'+    { clientToken = Prelude.Nothing,+      description = Prelude.Nothing,+      launchOverrides = Prelude.Nothing,+      domain = pDomain_,+      name = pName_,+      simulation = pSimulation_+    }++-- | A value that you provide to ensure that repeated calls to this API+-- operation using the same parameters complete only once. A @ClientToken@+-- is also known as an /idempotency token/. A @ClientToken@ expires after+-- 24 hours.+startApp_clientToken :: Lens.Lens' StartApp (Prelude.Maybe Prelude.Text)+startApp_clientToken = Lens.lens (\StartApp' {clientToken} -> clientToken) (\s@StartApp' {} a -> s {clientToken = a} :: StartApp) Prelude.. Lens.mapping Data._Sensitive++-- | The description of the app.+startApp_description :: Lens.Lens' StartApp (Prelude.Maybe Prelude.Text)+startApp_description = Lens.lens (\StartApp' {description} -> description) (\s@StartApp' {} a -> s {description = a} :: StartApp)++-- | Undocumented member.+startApp_launchOverrides :: Lens.Lens' StartApp (Prelude.Maybe LaunchOverrides)+startApp_launchOverrides = Lens.lens (\StartApp' {launchOverrides} -> launchOverrides) (\s@StartApp' {} a -> s {launchOverrides = a} :: StartApp)++-- | The name of the domain of the app.+startApp_domain :: Lens.Lens' StartApp Prelude.Text+startApp_domain = Lens.lens (\StartApp' {domain} -> domain) (\s@StartApp' {} a -> s {domain = a} :: StartApp)++-- | The name of the app.+startApp_name :: Lens.Lens' StartApp Prelude.Text+startApp_name = Lens.lens (\StartApp' {name} -> name) (\s@StartApp' {} a -> s {name = a} :: StartApp)++-- | The name of the simulation of the app.+startApp_simulation :: Lens.Lens' StartApp Prelude.Text+startApp_simulation = Lens.lens (\StartApp' {simulation} -> simulation) (\s@StartApp' {} a -> s {simulation = a} :: StartApp)++instance Core.AWSRequest StartApp where+  type AWSResponse StartApp = StartAppResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartAppResponse'+            Prelude.<$> (x Data..?> "Domain")+            Prelude.<*> (x Data..?> "Name")+            Prelude.<*> (x Data..?> "Simulation")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartApp where+  hashWithSalt _salt StartApp' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` launchOverrides+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` simulation++instance Prelude.NFData StartApp where+  rnf StartApp' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf launchOverrides+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf simulation++instance Data.ToHeaders StartApp where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartApp where+  toJSON StartApp' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Description" Data..=) Prelude.<$> description,+            ("LaunchOverrides" Data..=)+              Prelude.<$> launchOverrides,+            Prelude.Just ("Domain" Data..= domain),+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("Simulation" Data..= simulation)+          ]+      )++instance Data.ToPath StartApp where+  toPath = Prelude.const "/startapp"++instance Data.ToQuery StartApp where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartAppResponse' smart constructor.+data StartAppResponse = StartAppResponse'+  { -- | The name of the domain of the app.+    domain :: Prelude.Maybe Prelude.Text,+    -- | The name of the app.+    name :: Prelude.Maybe Prelude.Text,+    -- | The name of the simulation of the app.+    simulation :: 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 'StartAppResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'startAppResponse_domain' - The name of the domain of the app.+--+-- 'name', 'startAppResponse_name' - The name of the app.+--+-- 'simulation', 'startAppResponse_simulation' - The name of the simulation of the app.+--+-- 'httpStatus', 'startAppResponse_httpStatus' - The response's http status code.+newStartAppResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartAppResponse+newStartAppResponse pHttpStatus_ =+  StartAppResponse'+    { domain = Prelude.Nothing,+      name = Prelude.Nothing,+      simulation = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The name of the domain of the app.+startAppResponse_domain :: Lens.Lens' StartAppResponse (Prelude.Maybe Prelude.Text)+startAppResponse_domain = Lens.lens (\StartAppResponse' {domain} -> domain) (\s@StartAppResponse' {} a -> s {domain = a} :: StartAppResponse)++-- | The name of the app.+startAppResponse_name :: Lens.Lens' StartAppResponse (Prelude.Maybe Prelude.Text)+startAppResponse_name = Lens.lens (\StartAppResponse' {name} -> name) (\s@StartAppResponse' {} a -> s {name = a} :: StartAppResponse)++-- | The name of the simulation of the app.+startAppResponse_simulation :: Lens.Lens' StartAppResponse (Prelude.Maybe Prelude.Text)+startAppResponse_simulation = Lens.lens (\StartAppResponse' {simulation} -> simulation) (\s@StartAppResponse' {} a -> s {simulation = a} :: StartAppResponse)++-- | The response's http status code.+startAppResponse_httpStatus :: Lens.Lens' StartAppResponse Prelude.Int+startAppResponse_httpStatus = Lens.lens (\StartAppResponse' {httpStatus} -> httpStatus) (\s@StartAppResponse' {} a -> s {httpStatus = a} :: StartAppResponse)++instance Prelude.NFData StartAppResponse where+  rnf StartAppResponse' {..} =+    Prelude.rnf domain+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf simulation+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/StartClock.hs view
@@ -0,0 +1,146 @@+{-# 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.SimSpaceWeaver.StartClock+-- 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 the simulation clock.+module Amazonka.SimSpaceWeaver.StartClock+  ( -- * Creating a Request+    StartClock (..),+    newStartClock,++    -- * Request Lenses+    startClock_simulation,++    -- * Destructuring the Response+    StartClockResponse (..),+    newStartClockResponse,++    -- * Response Lenses+    startClockResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newStartClock' smart constructor.+data StartClock = StartClock'+  { -- | The name of the simulation.+    simulation :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartClock' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'simulation', 'startClock_simulation' - The name of the simulation.+newStartClock ::+  -- | 'simulation'+  Prelude.Text ->+  StartClock+newStartClock pSimulation_ =+  StartClock' {simulation = pSimulation_}++-- | The name of the simulation.+startClock_simulation :: Lens.Lens' StartClock Prelude.Text+startClock_simulation = Lens.lens (\StartClock' {simulation} -> simulation) (\s@StartClock' {} a -> s {simulation = a} :: StartClock)++instance Core.AWSRequest StartClock where+  type AWSResponse StartClock = StartClockResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          StartClockResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartClock where+  hashWithSalt _salt StartClock' {..} =+    _salt `Prelude.hashWithSalt` simulation++instance Prelude.NFData StartClock where+  rnf StartClock' {..} = Prelude.rnf simulation++instance Data.ToHeaders StartClock where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartClock where+  toJSON StartClock' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Simulation" Data..= simulation)]+      )++instance Data.ToPath StartClock where+  toPath = Prelude.const "/startclock"++instance Data.ToQuery StartClock where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartClockResponse' smart constructor.+data StartClockResponse = StartClockResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartClockResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'startClockResponse_httpStatus' - The response's http status code.+newStartClockResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartClockResponse+newStartClockResponse pHttpStatus_ =+  StartClockResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+startClockResponse_httpStatus :: Lens.Lens' StartClockResponse Prelude.Int+startClockResponse_httpStatus = Lens.lens (\StartClockResponse' {httpStatus} -> httpStatus) (\s@StartClockResponse' {} a -> s {httpStatus = a} :: StartClockResponse)++instance Prelude.NFData StartClockResponse where+  rnf StartClockResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/StartSimulation.hs view
@@ -0,0 +1,345 @@+{-# 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.SimSpaceWeaver.StartSimulation+-- 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 a simulation with the given name and schema.+module Amazonka.SimSpaceWeaver.StartSimulation+  ( -- * Creating a Request+    StartSimulation (..),+    newStartSimulation,++    -- * Request Lenses+    startSimulation_clientToken,+    startSimulation_description,+    startSimulation_maximumDuration,+    startSimulation_tags,+    startSimulation_name,+    startSimulation_roleArn,+    startSimulation_schemaS3Location,++    -- * Destructuring the Response+    StartSimulationResponse (..),+    newStartSimulationResponse,++    -- * Response Lenses+    startSimulationResponse_arn,+    startSimulationResponse_creationTime,+    startSimulationResponse_executionId,+    startSimulationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newStartSimulation' smart constructor.+data StartSimulation = StartSimulation'+  { -- | A value that you provide to ensure that repeated calls to this API+    -- operation using the same parameters complete only once. A @ClientToken@+    -- is also known as an /idempotency token/. A @ClientToken@ expires after+    -- 24 hours.+    clientToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The description of the simulation.+    description :: Prelude.Maybe Prelude.Text,+    -- | The maximum running time of the simulation, specified as a number of+    -- months (m or M), hours (h or H), or days (d or D). The simulation stops+    -- when it reaches this limit.+    maximumDuration :: Prelude.Maybe Prelude.Text,+    -- | A list of tags for the simulation. For more information about tags, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>+    -- in the /Amazon Web Services General Reference/.+    tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+    -- | The name of the simulation.+    name :: Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Identity and Access Management+    -- (IAM) role that the simulation assumes to perform actions. For more+    -- information about ARNs, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+    -- in the /Amazon Web Services General Reference/. For more information+    -- about IAM roles, see+    -- <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html IAM roles>+    -- in the /Identity and Access Management User Guide/.+    roleArn :: Prelude.Text,+    -- | The location of the simulation schema in Amazon Simple Storage Service+    -- (Amazon S3). For more information about Amazon S3, see the+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html Amazon Simple Storage Service User Guide>+    -- .+    schemaS3Location :: S3Location+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartSimulation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'startSimulation_clientToken' - A value that you provide to ensure that repeated calls to this API+-- operation using the same parameters complete only once. A @ClientToken@+-- is also known as an /idempotency token/. A @ClientToken@ expires after+-- 24 hours.+--+-- 'description', 'startSimulation_description' - The description of the simulation.+--+-- 'maximumDuration', 'startSimulation_maximumDuration' - The maximum running time of the simulation, specified as a number of+-- months (m or M), hours (h or H), or days (d or D). The simulation stops+-- when it reaches this limit.+--+-- 'tags', 'startSimulation_tags' - A list of tags for the simulation. For more information about tags, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>+-- in the /Amazon Web Services General Reference/.+--+-- 'name', 'startSimulation_name' - The name of the simulation.+--+-- 'roleArn', 'startSimulation_roleArn' - The Amazon Resource Name (ARN) of the Identity and Access Management+-- (IAM) role that the simulation assumes to perform actions. For more+-- information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/. For more information+-- about IAM roles, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html IAM roles>+-- in the /Identity and Access Management User Guide/.+--+-- 'schemaS3Location', 'startSimulation_schemaS3Location' - The location of the simulation schema in Amazon Simple Storage Service+-- (Amazon S3). For more information about Amazon S3, see the+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html Amazon Simple Storage Service User Guide>+-- .+newStartSimulation ::+  -- | 'name'+  Prelude.Text ->+  -- | 'roleArn'+  Prelude.Text ->+  -- | 'schemaS3Location'+  S3Location ->+  StartSimulation+newStartSimulation+  pName_+  pRoleArn_+  pSchemaS3Location_ =+    StartSimulation'+      { clientToken = Prelude.Nothing,+        description = Prelude.Nothing,+        maximumDuration = Prelude.Nothing,+        tags = Prelude.Nothing,+        name = pName_,+        roleArn = pRoleArn_,+        schemaS3Location = pSchemaS3Location_+      }++-- | A value that you provide to ensure that repeated calls to this API+-- operation using the same parameters complete only once. A @ClientToken@+-- is also known as an /idempotency token/. A @ClientToken@ expires after+-- 24 hours.+startSimulation_clientToken :: Lens.Lens' StartSimulation (Prelude.Maybe Prelude.Text)+startSimulation_clientToken = Lens.lens (\StartSimulation' {clientToken} -> clientToken) (\s@StartSimulation' {} a -> s {clientToken = a} :: StartSimulation) Prelude.. Lens.mapping Data._Sensitive++-- | The description of the simulation.+startSimulation_description :: Lens.Lens' StartSimulation (Prelude.Maybe Prelude.Text)+startSimulation_description = Lens.lens (\StartSimulation' {description} -> description) (\s@StartSimulation' {} a -> s {description = a} :: StartSimulation)++-- | The maximum running time of the simulation, specified as a number of+-- months (m or M), hours (h or H), or days (d or D). The simulation stops+-- when it reaches this limit.+startSimulation_maximumDuration :: Lens.Lens' StartSimulation (Prelude.Maybe Prelude.Text)+startSimulation_maximumDuration = Lens.lens (\StartSimulation' {maximumDuration} -> maximumDuration) (\s@StartSimulation' {} a -> s {maximumDuration = a} :: StartSimulation)++-- | A list of tags for the simulation. For more information about tags, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>+-- in the /Amazon Web Services General Reference/.+startSimulation_tags :: Lens.Lens' StartSimulation (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+startSimulation_tags = Lens.lens (\StartSimulation' {tags} -> tags) (\s@StartSimulation' {} a -> s {tags = a} :: StartSimulation) Prelude.. Lens.mapping Lens.coerced++-- | The name of the simulation.+startSimulation_name :: Lens.Lens' StartSimulation Prelude.Text+startSimulation_name = Lens.lens (\StartSimulation' {name} -> name) (\s@StartSimulation' {} a -> s {name = a} :: StartSimulation)++-- | The Amazon Resource Name (ARN) of the Identity and Access Management+-- (IAM) role that the simulation assumes to perform actions. For more+-- information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/. For more information+-- about IAM roles, see+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html IAM roles>+-- in the /Identity and Access Management User Guide/.+startSimulation_roleArn :: Lens.Lens' StartSimulation Prelude.Text+startSimulation_roleArn = Lens.lens (\StartSimulation' {roleArn} -> roleArn) (\s@StartSimulation' {} a -> s {roleArn = a} :: StartSimulation)++-- | The location of the simulation schema in Amazon Simple Storage Service+-- (Amazon S3). For more information about Amazon S3, see the+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html Amazon Simple Storage Service User Guide>+-- .+startSimulation_schemaS3Location :: Lens.Lens' StartSimulation S3Location+startSimulation_schemaS3Location = Lens.lens (\StartSimulation' {schemaS3Location} -> schemaS3Location) (\s@StartSimulation' {} a -> s {schemaS3Location = a} :: StartSimulation)++instance Core.AWSRequest StartSimulation where+  type+    AWSResponse StartSimulation =+      StartSimulationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          StartSimulationResponse'+            Prelude.<$> (x Data..?> "Arn")+            Prelude.<*> (x Data..?> "CreationTime")+            Prelude.<*> (x Data..?> "ExecutionId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StartSimulation where+  hashWithSalt _salt StartSimulation' {..} =+    _salt+      `Prelude.hashWithSalt` clientToken+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` maximumDuration+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` roleArn+      `Prelude.hashWithSalt` schemaS3Location++instance Prelude.NFData StartSimulation where+  rnf StartSimulation' {..} =+    Prelude.rnf clientToken+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf maximumDuration+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf roleArn+      `Prelude.seq` Prelude.rnf schemaS3Location++instance Data.ToHeaders StartSimulation where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StartSimulation where+  toJSON StartSimulation' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientToken" Data..=) Prelude.<$> clientToken,+            ("Description" Data..=) Prelude.<$> description,+            ("MaximumDuration" Data..=)+              Prelude.<$> maximumDuration,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Name" Data..= name),+            Prelude.Just ("RoleArn" Data..= roleArn),+            Prelude.Just+              ("SchemaS3Location" Data..= schemaS3Location)+          ]+      )++instance Data.ToPath StartSimulation where+  toPath = Prelude.const "/startsimulation"++instance Data.ToQuery StartSimulation where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartSimulationResponse' smart constructor.+data StartSimulationResponse = StartSimulationResponse'+  { -- | The Amazon Resource Name (ARN) of the simulation. For more information+    -- about ARNs, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+    -- in the /Amazon Web Services General Reference/.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time when the simulation was created, expressed as the number of+    -- seconds and milliseconds in UTC since the Unix epoch (0:0:0.000, January+    -- 1, 1970).+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | A universally unique identifier (UUID) for this simulation.+    executionId :: 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 'StartSimulationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'startSimulationResponse_arn' - The Amazon Resource Name (ARN) of the simulation. For more information+-- about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'creationTime', 'startSimulationResponse_creationTime' - The time when the simulation was created, expressed as the number of+-- seconds and milliseconds in UTC since the Unix epoch (0:0:0.000, January+-- 1, 1970).+--+-- 'executionId', 'startSimulationResponse_executionId' - A universally unique identifier (UUID) for this simulation.+--+-- 'httpStatus', 'startSimulationResponse_httpStatus' - The response's http status code.+newStartSimulationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StartSimulationResponse+newStartSimulationResponse pHttpStatus_ =+  StartSimulationResponse'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      executionId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The Amazon Resource Name (ARN) of the simulation. For more information+-- about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+startSimulationResponse_arn :: Lens.Lens' StartSimulationResponse (Prelude.Maybe Prelude.Text)+startSimulationResponse_arn = Lens.lens (\StartSimulationResponse' {arn} -> arn) (\s@StartSimulationResponse' {} a -> s {arn = a} :: StartSimulationResponse)++-- | The time when the simulation was created, expressed as the number of+-- seconds and milliseconds in UTC since the Unix epoch (0:0:0.000, January+-- 1, 1970).+startSimulationResponse_creationTime :: Lens.Lens' StartSimulationResponse (Prelude.Maybe Prelude.UTCTime)+startSimulationResponse_creationTime = Lens.lens (\StartSimulationResponse' {creationTime} -> creationTime) (\s@StartSimulationResponse' {} a -> s {creationTime = a} :: StartSimulationResponse) Prelude.. Lens.mapping Data._Time++-- | A universally unique identifier (UUID) for this simulation.+startSimulationResponse_executionId :: Lens.Lens' StartSimulationResponse (Prelude.Maybe Prelude.Text)+startSimulationResponse_executionId = Lens.lens (\StartSimulationResponse' {executionId} -> executionId) (\s@StartSimulationResponse' {} a -> s {executionId = a} :: StartSimulationResponse)++-- | The response's http status code.+startSimulationResponse_httpStatus :: Lens.Lens' StartSimulationResponse Prelude.Int+startSimulationResponse_httpStatus = Lens.lens (\StartSimulationResponse' {httpStatus} -> httpStatus) (\s@StartSimulationResponse' {} a -> s {httpStatus = a} :: StartSimulationResponse)++instance Prelude.NFData StartSimulationResponse where+  rnf StartSimulationResponse' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf executionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/StopApp.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.SimSpaceWeaver.StopApp+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops the given custom app and shuts down all of its allocated compute+-- resources.+module Amazonka.SimSpaceWeaver.StopApp+  ( -- * Creating a Request+    StopApp (..),+    newStopApp,++    -- * Request Lenses+    stopApp_app,+    stopApp_domain,+    stopApp_simulation,++    -- * Destructuring the Response+    StopAppResponse (..),+    newStopAppResponse,++    -- * Response Lenses+    stopAppResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newStopApp' smart constructor.+data StopApp = StopApp'+  { -- | The name of the app.+    app :: Prelude.Text,+    -- | The name of the domain of the app.+    domain :: Prelude.Text,+    -- | The name of the simulation of the app.+    simulation :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopApp' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'app', 'stopApp_app' - The name of the app.+--+-- 'domain', 'stopApp_domain' - The name of the domain of the app.+--+-- 'simulation', 'stopApp_simulation' - The name of the simulation of the app.+newStopApp ::+  -- | 'app'+  Prelude.Text ->+  -- | 'domain'+  Prelude.Text ->+  -- | 'simulation'+  Prelude.Text ->+  StopApp+newStopApp pApp_ pDomain_ pSimulation_ =+  StopApp'+    { app = pApp_,+      domain = pDomain_,+      simulation = pSimulation_+    }++-- | The name of the app.+stopApp_app :: Lens.Lens' StopApp Prelude.Text+stopApp_app = Lens.lens (\StopApp' {app} -> app) (\s@StopApp' {} a -> s {app = a} :: StopApp)++-- | The name of the domain of the app.+stopApp_domain :: Lens.Lens' StopApp Prelude.Text+stopApp_domain = Lens.lens (\StopApp' {domain} -> domain) (\s@StopApp' {} a -> s {domain = a} :: StopApp)++-- | The name of the simulation of the app.+stopApp_simulation :: Lens.Lens' StopApp Prelude.Text+stopApp_simulation = Lens.lens (\StopApp' {simulation} -> simulation) (\s@StopApp' {} a -> s {simulation = a} :: StopApp)++instance Core.AWSRequest StopApp where+  type AWSResponse StopApp = StopAppResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          StopAppResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopApp where+  hashWithSalt _salt StopApp' {..} =+    _salt+      `Prelude.hashWithSalt` app+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` simulation++instance Prelude.NFData StopApp where+  rnf StopApp' {..} =+    Prelude.rnf app+      `Prelude.seq` Prelude.rnf domain+      `Prelude.seq` Prelude.rnf simulation++instance Data.ToHeaders StopApp where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopApp where+  toJSON StopApp' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("App" Data..= app),+            Prelude.Just ("Domain" Data..= domain),+            Prelude.Just ("Simulation" Data..= simulation)+          ]+      )++instance Data.ToPath StopApp where+  toPath = Prelude.const "/stopapp"++instance Data.ToQuery StopApp where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopAppResponse' smart constructor.+data StopAppResponse = StopAppResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopAppResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'stopAppResponse_httpStatus' - The response's http status code.+newStopAppResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopAppResponse+newStopAppResponse pHttpStatus_ =+  StopAppResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+stopAppResponse_httpStatus :: Lens.Lens' StopAppResponse Prelude.Int+stopAppResponse_httpStatus = Lens.lens (\StopAppResponse' {httpStatus} -> httpStatus) (\s@StopAppResponse' {} a -> s {httpStatus = a} :: StopAppResponse)++instance Prelude.NFData StopAppResponse where+  rnf StopAppResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/StopClock.hs view
@@ -0,0 +1,146 @@+{-# 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.SimSpaceWeaver.StopClock+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops the simulation clock.+module Amazonka.SimSpaceWeaver.StopClock+  ( -- * Creating a Request+    StopClock (..),+    newStopClock,++    -- * Request Lenses+    stopClock_simulation,++    -- * Destructuring the Response+    StopClockResponse (..),+    newStopClockResponse,++    -- * Response Lenses+    stopClockResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newStopClock' smart constructor.+data StopClock = StopClock'+  { -- | The name of the simulation.+    simulation :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopClock' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'simulation', 'stopClock_simulation' - The name of the simulation.+newStopClock ::+  -- | 'simulation'+  Prelude.Text ->+  StopClock+newStopClock pSimulation_ =+  StopClock' {simulation = pSimulation_}++-- | The name of the simulation.+stopClock_simulation :: Lens.Lens' StopClock Prelude.Text+stopClock_simulation = Lens.lens (\StopClock' {simulation} -> simulation) (\s@StopClock' {} a -> s {simulation = a} :: StopClock)++instance Core.AWSRequest StopClock where+  type AWSResponse StopClock = StopClockResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          StopClockResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopClock where+  hashWithSalt _salt StopClock' {..} =+    _salt `Prelude.hashWithSalt` simulation++instance Prelude.NFData StopClock where+  rnf StopClock' {..} = Prelude.rnf simulation++instance Data.ToHeaders StopClock where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopClock where+  toJSON StopClock' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Simulation" Data..= simulation)]+      )++instance Data.ToPath StopClock where+  toPath = Prelude.const "/stopclock"++instance Data.ToQuery StopClock where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopClockResponse' smart constructor.+data StopClockResponse = StopClockResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopClockResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'stopClockResponse_httpStatus' - The response's http status code.+newStopClockResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopClockResponse+newStopClockResponse pHttpStatus_ =+  StopClockResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+stopClockResponse_httpStatus :: Lens.Lens' StopClockResponse Prelude.Int+stopClockResponse_httpStatus = Lens.lens (\StopClockResponse' {httpStatus} -> httpStatus) (\s@StopClockResponse' {} a -> s {httpStatus = a} :: StopClockResponse)++instance Prelude.NFData StopClockResponse where+  rnf StopClockResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/StopSimulation.hs view
@@ -0,0 +1,153 @@+{-# 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.SimSpaceWeaver.StopSimulation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops the given simulation.+--+-- You can\'t restart a simulation after you stop it. If you need to+-- restart a simulation, you must stop it, delete it, and start a new+-- instance of it.+module Amazonka.SimSpaceWeaver.StopSimulation+  ( -- * Creating a Request+    StopSimulation (..),+    newStopSimulation,++    -- * Request Lenses+    stopSimulation_simulation,++    -- * Destructuring the Response+    StopSimulationResponse (..),+    newStopSimulationResponse,++    -- * Response Lenses+    stopSimulationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newStopSimulation' smart constructor.+data StopSimulation = StopSimulation'+  { -- | The name of the simulation.+    simulation :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopSimulation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'simulation', 'stopSimulation_simulation' - The name of the simulation.+newStopSimulation ::+  -- | 'simulation'+  Prelude.Text ->+  StopSimulation+newStopSimulation pSimulation_ =+  StopSimulation' {simulation = pSimulation_}++-- | The name of the simulation.+stopSimulation_simulation :: Lens.Lens' StopSimulation Prelude.Text+stopSimulation_simulation = Lens.lens (\StopSimulation' {simulation} -> simulation) (\s@StopSimulation' {} a -> s {simulation = a} :: StopSimulation)++instance Core.AWSRequest StopSimulation where+  type+    AWSResponse StopSimulation =+      StopSimulationResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          StopSimulationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable StopSimulation where+  hashWithSalt _salt StopSimulation' {..} =+    _salt `Prelude.hashWithSalt` simulation++instance Prelude.NFData StopSimulation where+  rnf StopSimulation' {..} = Prelude.rnf simulation++instance Data.ToHeaders StopSimulation where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToJSON StopSimulation where+  toJSON StopSimulation' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Simulation" Data..= simulation)]+      )++instance Data.ToPath StopSimulation where+  toPath = Prelude.const "/stopsimulation"++instance Data.ToQuery StopSimulation where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopSimulationResponse' smart constructor.+data StopSimulationResponse = StopSimulationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopSimulationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'stopSimulationResponse_httpStatus' - The response's http status code.+newStopSimulationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  StopSimulationResponse+newStopSimulationResponse pHttpStatus_ =+  StopSimulationResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+stopSimulationResponse_httpStatus :: Lens.Lens' StopSimulationResponse Prelude.Int+stopSimulationResponse_httpStatus = Lens.lens (\StopSimulationResponse' {httpStatus} -> httpStatus) (\s@StopSimulationResponse' {} a -> s {httpStatus = a} :: StopSimulationResponse)++instance Prelude.NFData StopSimulationResponse where+  rnf StopSimulationResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/TagResource.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.SimSpaceWeaver.TagResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds tags to a SimSpace Weaver resource. For more information about+-- tags, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>+-- in the /Amazon Web Services General Reference/.+module Amazonka.SimSpaceWeaver.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceArn,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The Amazon Resource Name (ARN) of the resource that you want to add tags+    -- to. For more information about ARNs, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+    -- in the /Amazon Web Services General Reference/.+    resourceArn :: Prelude.Text,+    -- | A list of tags to apply to the resource.+    tags :: Prelude.HashMap Prelude.Text Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource that you want to add tags+-- to. For more information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'tags', 'tagResource_tags' - A list of tags to apply to the resource.+newTagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  TagResource+newTagResource pResourceArn_ =+  TagResource'+    { resourceArn = pResourceArn_,+      tags = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the resource that you want to add tags+-- to. For more information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | A list of tags to apply to the resource.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. 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/SimSpaceWeaver/Types.hs view
@@ -0,0 +1,267 @@+{-# 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.SimSpaceWeaver.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.SimSpaceWeaver.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _AccessDeniedException,+    _ConflictException,+    _InternalServerException,+    _ResourceNotFoundException,+    _ServiceQuotaExceededException,+    _TooManyTagsException,+    _ValidationException,++    -- * ClockStatus+    ClockStatus (..),++    -- * ClockTargetStatus+    ClockTargetStatus (..),++    -- * LifecycleManagementStrategy+    LifecycleManagementStrategy (..),++    -- * SimulationAppStatus+    SimulationAppStatus (..),++    -- * SimulationAppTargetStatus+    SimulationAppTargetStatus (..),++    -- * SimulationStatus+    SimulationStatus (..),++    -- * SimulationTargetStatus+    SimulationTargetStatus (..),++    -- * CloudWatchLogsLogGroup+    CloudWatchLogsLogGroup (..),+    newCloudWatchLogsLogGroup,+    cloudWatchLogsLogGroup_logGroupArn,++    -- * Domain+    Domain (..),+    newDomain,+    domain_lifecycle,+    domain_name,++    -- * LaunchOverrides+    LaunchOverrides (..),+    newLaunchOverrides,+    launchOverrides_launchCommands,++    -- * LiveSimulationState+    LiveSimulationState (..),+    newLiveSimulationState,+    liveSimulationState_clocks,+    liveSimulationState_domains,++    -- * LogDestination+    LogDestination (..),+    newLogDestination,+    logDestination_cloudWatchLogsLogGroup,++    -- * LoggingConfiguration+    LoggingConfiguration (..),+    newLoggingConfiguration,+    loggingConfiguration_destinations,++    -- * S3Location+    S3Location (..),+    newS3Location,+    s3Location_bucketName,+    s3Location_objectKey,++    -- * SimulationAppEndpointInfo+    SimulationAppEndpointInfo (..),+    newSimulationAppEndpointInfo,+    simulationAppEndpointInfo_address,+    simulationAppEndpointInfo_ingressPortMappings,++    -- * SimulationAppMetadata+    SimulationAppMetadata (..),+    newSimulationAppMetadata,+    simulationAppMetadata_domain,+    simulationAppMetadata_name,+    simulationAppMetadata_simulation,+    simulationAppMetadata_status,+    simulationAppMetadata_targetStatus,++    -- * SimulationAppPortMapping+    SimulationAppPortMapping (..),+    newSimulationAppPortMapping,+    simulationAppPortMapping_actual,+    simulationAppPortMapping_declared,++    -- * SimulationClock+    SimulationClock (..),+    newSimulationClock,+    simulationClock_status,+    simulationClock_targetStatus,++    -- * SimulationMetadata+    SimulationMetadata (..),+    newSimulationMetadata,+    simulationMetadata_arn,+    simulationMetadata_creationTime,+    simulationMetadata_name,+    simulationMetadata_status,+    simulationMetadata_targetStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign+import Amazonka.SimSpaceWeaver.Types.ClockStatus+import Amazonka.SimSpaceWeaver.Types.ClockTargetStatus+import Amazonka.SimSpaceWeaver.Types.CloudWatchLogsLogGroup+import Amazonka.SimSpaceWeaver.Types.Domain+import Amazonka.SimSpaceWeaver.Types.LaunchOverrides+import Amazonka.SimSpaceWeaver.Types.LifecycleManagementStrategy+import Amazonka.SimSpaceWeaver.Types.LiveSimulationState+import Amazonka.SimSpaceWeaver.Types.LogDestination+import Amazonka.SimSpaceWeaver.Types.LoggingConfiguration+import Amazonka.SimSpaceWeaver.Types.S3Location+import Amazonka.SimSpaceWeaver.Types.SimulationAppEndpointInfo+import Amazonka.SimSpaceWeaver.Types.SimulationAppMetadata+import Amazonka.SimSpaceWeaver.Types.SimulationAppPortMapping+import Amazonka.SimSpaceWeaver.Types.SimulationAppStatus+import Amazonka.SimSpaceWeaver.Types.SimulationAppTargetStatus+import Amazonka.SimSpaceWeaver.Types.SimulationClock+import Amazonka.SimSpaceWeaver.Types.SimulationMetadata+import Amazonka.SimSpaceWeaver.Types.SimulationStatus+import Amazonka.SimSpaceWeaver.Types.SimulationTargetStatus++-- | API version @2022-10-28@ of the Amazon SimSpace Weaver SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "SimSpaceWeaver",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "simspaceweaver",+      Core.signingName = "simspaceweaver",+      Core.version = "2022-10-28",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseJSONError "SimSpaceWeaver",+      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++_AccessDeniedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AccessDeniedException =+  Core._MatchServiceError+    defaultService+    "AccessDeniedException"+    Prelude.. Core.hasStatus 403++_ConflictException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ConflictException =+  Core._MatchServiceError+    defaultService+    "ConflictException"+    Prelude.. Core.hasStatus 409++_InternalServerException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerException =+  Core._MatchServiceError+    defaultService+    "InternalServerException"+    Prelude.. Core.hasStatus 500++_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceNotFoundException =+  Core._MatchServiceError+    defaultService+    "ResourceNotFoundException"+    Prelude.. Core.hasStatus 404++_ServiceQuotaExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceQuotaExceededException =+  Core._MatchServiceError+    defaultService+    "ServiceQuotaExceededException"+    Prelude.. Core.hasStatus 402++_TooManyTagsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyTagsException =+  Core._MatchServiceError+    defaultService+    "TooManyTagsException"+    Prelude.. Core.hasStatus 400++_ValidationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ValidationException =+  Core._MatchServiceError+    defaultService+    "ValidationException"+    Prelude.. Core.hasStatus 400
+ gen/Amazonka/SimSpaceWeaver/Types/ClockStatus.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.SimSpaceWeaver.Types.ClockStatus+-- Copyright   : (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.SimSpaceWeaver.Types.ClockStatus+  ( ClockStatus+      ( ..,+        ClockStatus_STARTED,+        ClockStatus_STARTING,+        ClockStatus_STOPPED,+        ClockStatus_STOPPING,+        ClockStatus_UNKNOWN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ClockStatus = ClockStatus'+  { fromClockStatus ::+      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 ClockStatus_STARTED :: ClockStatus+pattern ClockStatus_STARTED = ClockStatus' "STARTED"++pattern ClockStatus_STARTING :: ClockStatus+pattern ClockStatus_STARTING = ClockStatus' "STARTING"++pattern ClockStatus_STOPPED :: ClockStatus+pattern ClockStatus_STOPPED = ClockStatus' "STOPPED"++pattern ClockStatus_STOPPING :: ClockStatus+pattern ClockStatus_STOPPING = ClockStatus' "STOPPING"++pattern ClockStatus_UNKNOWN :: ClockStatus+pattern ClockStatus_UNKNOWN = ClockStatus' "UNKNOWN"++{-# COMPLETE+  ClockStatus_STARTED,+  ClockStatus_STARTING,+  ClockStatus_STOPPED,+  ClockStatus_STOPPING,+  ClockStatus_UNKNOWN,+  ClockStatus'+  #-}
+ gen/Amazonka/SimSpaceWeaver/Types/ClockTargetStatus.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.SimSpaceWeaver.Types.ClockTargetStatus+-- Copyright   : (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.SimSpaceWeaver.Types.ClockTargetStatus+  ( ClockTargetStatus+      ( ..,+        ClockTargetStatus_STARTED,+        ClockTargetStatus_STOPPED,+        ClockTargetStatus_UNKNOWN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ClockTargetStatus = ClockTargetStatus'+  { fromClockTargetStatus ::+      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 ClockTargetStatus_STARTED :: ClockTargetStatus+pattern ClockTargetStatus_STARTED = ClockTargetStatus' "STARTED"++pattern ClockTargetStatus_STOPPED :: ClockTargetStatus+pattern ClockTargetStatus_STOPPED = ClockTargetStatus' "STOPPED"++pattern ClockTargetStatus_UNKNOWN :: ClockTargetStatus+pattern ClockTargetStatus_UNKNOWN = ClockTargetStatus' "UNKNOWN"++{-# COMPLETE+  ClockTargetStatus_STARTED,+  ClockTargetStatus_STOPPED,+  ClockTargetStatus_UNKNOWN,+  ClockTargetStatus'+  #-}
+ gen/Amazonka/SimSpaceWeaver/Types/CloudWatchLogsLogGroup.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.SimSpaceWeaver.Types.CloudWatchLogsLogGroup+-- Copyright   : (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.SimSpaceWeaver.Types.CloudWatchLogsLogGroup where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The Amazon CloudWatch Logs log group for the simulation. For more+-- information about log groups, see+-- <https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html Working with log groups and log streams>+-- in the /Amazon CloudWatch Logs User Guide/.+--+-- /See:/ 'newCloudWatchLogsLogGroup' smart constructor.+data CloudWatchLogsLogGroup = CloudWatchLogsLogGroup'+  { -- | The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log group+    -- for the simulation. For more information about ARNs, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+    -- in the /Amazon Web Services General Reference/. For more information+    -- about log groups, see+    -- <https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html Working with log groups and log streams>+    -- in the /Amazon CloudWatch Logs User Guide/.+    logGroupArn :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CloudWatchLogsLogGroup' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'logGroupArn', 'cloudWatchLogsLogGroup_logGroupArn' - The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log group+-- for the simulation. For more information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/. For more information+-- about log groups, see+-- <https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html Working with log groups and log streams>+-- in the /Amazon CloudWatch Logs User Guide/.+newCloudWatchLogsLogGroup ::+  CloudWatchLogsLogGroup+newCloudWatchLogsLogGroup =+  CloudWatchLogsLogGroup'+    { logGroupArn =+        Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log group+-- for the simulation. For more information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/. For more information+-- about log groups, see+-- <https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html Working with log groups and log streams>+-- in the /Amazon CloudWatch Logs User Guide/.+cloudWatchLogsLogGroup_logGroupArn :: Lens.Lens' CloudWatchLogsLogGroup (Prelude.Maybe Prelude.Text)+cloudWatchLogsLogGroup_logGroupArn = Lens.lens (\CloudWatchLogsLogGroup' {logGroupArn} -> logGroupArn) (\s@CloudWatchLogsLogGroup' {} a -> s {logGroupArn = a} :: CloudWatchLogsLogGroup)++instance Data.FromJSON CloudWatchLogsLogGroup where+  parseJSON =+    Data.withObject+      "CloudWatchLogsLogGroup"+      ( \x ->+          CloudWatchLogsLogGroup'+            Prelude.<$> (x Data..:? "LogGroupArn")+      )++instance Prelude.Hashable CloudWatchLogsLogGroup where+  hashWithSalt _salt CloudWatchLogsLogGroup' {..} =+    _salt `Prelude.hashWithSalt` logGroupArn++instance Prelude.NFData CloudWatchLogsLogGroup where+  rnf CloudWatchLogsLogGroup' {..} =+    Prelude.rnf logGroupArn
+ gen/Amazonka/SimSpaceWeaver/Types/Domain.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SimSpaceWeaver.Types.Domain+-- Copyright   : (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.SimSpaceWeaver.Types.Domain where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SimSpaceWeaver.Types.LifecycleManagementStrategy++-- | A collection of app instances that run the same executable app code and+-- have the same launch options and commands.+--+-- For more information about domains, see+-- <https://docs.aws.amazon.com/simspaceweaver/latest/userguide/what-is_key-concepts.html Key concepts>+-- in the /Amazon Web Services SimSpace Weaver User Guide/.+--+-- /See:/ 'newDomain' smart constructor.+data Domain = Domain'+  { -- | The type of lifecycle management for apps in the domain. This value+    -- indicates whether apps in this domain are /managed/ (SimSpace Weaver+    -- starts and stops the apps) or /unmanaged/ (you must start and stop the+    -- apps).+    --+    -- __Lifecycle types__+    --+    -- -   @PerWorker@ – Managed: SimSpace Weaver starts 1 app on each worker+    --+    -- -   @BySpatialSubdivision@ – Managed: SimSpace Weaver starts 1 app for+    --     each spatial partition+    --+    -- -   @ByRequest@ – Unmanaged: You use the __StartApp__ API to start the+    --     apps and use the __StopApp__ API to stop the apps.+    --+    -- The lifecycle types will change when the service is released for general+    -- availability (GA).+    lifecycle :: Prelude.Maybe LifecycleManagementStrategy,+    -- | The name of the domain.+    name :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Domain' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lifecycle', 'domain_lifecycle' - The type of lifecycle management for apps in the domain. This value+-- indicates whether apps in this domain are /managed/ (SimSpace Weaver+-- starts and stops the apps) or /unmanaged/ (you must start and stop the+-- apps).+--+-- __Lifecycle types__+--+-- -   @PerWorker@ – Managed: SimSpace Weaver starts 1 app on each worker+--+-- -   @BySpatialSubdivision@ – Managed: SimSpace Weaver starts 1 app for+--     each spatial partition+--+-- -   @ByRequest@ – Unmanaged: You use the __StartApp__ API to start the+--     apps and use the __StopApp__ API to stop the apps.+--+-- The lifecycle types will change when the service is released for general+-- availability (GA).+--+-- 'name', 'domain_name' - The name of the domain.+newDomain ::+  Domain+newDomain =+  Domain'+    { lifecycle = Prelude.Nothing,+      name = Prelude.Nothing+    }++-- | The type of lifecycle management for apps in the domain. This value+-- indicates whether apps in this domain are /managed/ (SimSpace Weaver+-- starts and stops the apps) or /unmanaged/ (you must start and stop the+-- apps).+--+-- __Lifecycle types__+--+-- -   @PerWorker@ – Managed: SimSpace Weaver starts 1 app on each worker+--+-- -   @BySpatialSubdivision@ – Managed: SimSpace Weaver starts 1 app for+--     each spatial partition+--+-- -   @ByRequest@ – Unmanaged: You use the __StartApp__ API to start the+--     apps and use the __StopApp__ API to stop the apps.+--+-- The lifecycle types will change when the service is released for general+-- availability (GA).+domain_lifecycle :: Lens.Lens' Domain (Prelude.Maybe LifecycleManagementStrategy)+domain_lifecycle = Lens.lens (\Domain' {lifecycle} -> lifecycle) (\s@Domain' {} a -> s {lifecycle = a} :: Domain)++-- | The name of the domain.+domain_name :: Lens.Lens' Domain (Prelude.Maybe Prelude.Text)+domain_name = Lens.lens (\Domain' {name} -> name) (\s@Domain' {} a -> s {name = a} :: Domain)++instance Data.FromJSON Domain where+  parseJSON =+    Data.withObject+      "Domain"+      ( \x ->+          Domain'+            Prelude.<$> (x Data..:? "Lifecycle")+            Prelude.<*> (x Data..:? "Name")+      )++instance Prelude.Hashable Domain where+  hashWithSalt _salt Domain' {..} =+    _salt+      `Prelude.hashWithSalt` lifecycle+      `Prelude.hashWithSalt` name++instance Prelude.NFData Domain where+  rnf Domain' {..} =+    Prelude.rnf lifecycle+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/SimSpaceWeaver/Types/LaunchOverrides.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.SimSpaceWeaver.Types.LaunchOverrides+-- Copyright   : (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.SimSpaceWeaver.Types.LaunchOverrides 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++-- | Options that apply when the app starts. These optiAons override default+-- behavior.+--+-- /See:/ 'newLaunchOverrides' smart constructor.+data LaunchOverrides = LaunchOverrides'+  { -- | App launch commands and command line parameters that override the launch+    -- command configured in the simulation schema.+    launchCommands :: Prelude.Maybe [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LaunchOverrides' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'launchCommands', 'launchOverrides_launchCommands' - App launch commands and command line parameters that override the launch+-- command configured in the simulation schema.+newLaunchOverrides ::+  LaunchOverrides+newLaunchOverrides =+  LaunchOverrides' {launchCommands = Prelude.Nothing}++-- | App launch commands and command line parameters that override the launch+-- command configured in the simulation schema.+launchOverrides_launchCommands :: Lens.Lens' LaunchOverrides (Prelude.Maybe [Prelude.Text])+launchOverrides_launchCommands = Lens.lens (\LaunchOverrides' {launchCommands} -> launchCommands) (\s@LaunchOverrides' {} a -> s {launchCommands = a} :: LaunchOverrides) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LaunchOverrides where+  parseJSON =+    Data.withObject+      "LaunchOverrides"+      ( \x ->+          LaunchOverrides'+            Prelude.<$> ( x+                            Data..:? "LaunchCommands"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable LaunchOverrides where+  hashWithSalt _salt LaunchOverrides' {..} =+    _salt `Prelude.hashWithSalt` launchCommands++instance Prelude.NFData LaunchOverrides where+  rnf LaunchOverrides' {..} = Prelude.rnf launchCommands++instance Data.ToJSON LaunchOverrides where+  toJSON LaunchOverrides' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("LaunchCommands" Data..=)+              Prelude.<$> launchCommands+          ]+      )
+ gen/Amazonka/SimSpaceWeaver/Types/LifecycleManagementStrategy.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.SimSpaceWeaver.Types.LifecycleManagementStrategy+-- Copyright   : (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.SimSpaceWeaver.Types.LifecycleManagementStrategy+  ( LifecycleManagementStrategy+      ( ..,+        LifecycleManagementStrategy_ByRequest,+        LifecycleManagementStrategy_BySpatialSubdivision,+        LifecycleManagementStrategy_PerWorker,+        LifecycleManagementStrategy_Unknown+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LifecycleManagementStrategy = LifecycleManagementStrategy'+  { fromLifecycleManagementStrategy ::+      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 LifecycleManagementStrategy_ByRequest :: LifecycleManagementStrategy+pattern LifecycleManagementStrategy_ByRequest = LifecycleManagementStrategy' "ByRequest"++pattern LifecycleManagementStrategy_BySpatialSubdivision :: LifecycleManagementStrategy+pattern LifecycleManagementStrategy_BySpatialSubdivision = LifecycleManagementStrategy' "BySpatialSubdivision"++pattern LifecycleManagementStrategy_PerWorker :: LifecycleManagementStrategy+pattern LifecycleManagementStrategy_PerWorker = LifecycleManagementStrategy' "PerWorker"++pattern LifecycleManagementStrategy_Unknown :: LifecycleManagementStrategy+pattern LifecycleManagementStrategy_Unknown = LifecycleManagementStrategy' "Unknown"++{-# COMPLETE+  LifecycleManagementStrategy_ByRequest,+  LifecycleManagementStrategy_BySpatialSubdivision,+  LifecycleManagementStrategy_PerWorker,+  LifecycleManagementStrategy_Unknown,+  LifecycleManagementStrategy'+  #-}
+ gen/Amazonka/SimSpaceWeaver/Types/LiveSimulationState.hs view
@@ -0,0 +1,102 @@+{-# 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.SimSpaceWeaver.Types.LiveSimulationState+-- Copyright   : (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.SimSpaceWeaver.Types.LiveSimulationState where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SimSpaceWeaver.Types.Domain+import Amazonka.SimSpaceWeaver.Types.SimulationClock++-- | A collection of additional state information, such as domain and clock+-- configuration.+--+-- /See:/ 'newLiveSimulationState' smart constructor.+data LiveSimulationState = LiveSimulationState'+  { -- | A list of simulation clocks.+    --+    -- At this time, a simulation has only one clock.+    clocks :: Prelude.Maybe [SimulationClock],+    -- | A list of domains for the simulation. For more information about+    -- domains, see+    -- <https://docs.aws.amazon.com/simspaceweaver/latest/userguide/what-is_key-concepts.html Key concepts>+    -- in the /Amazon Web Services SimSpace Weaver User Guide/.+    domains :: Prelude.Maybe [Domain]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LiveSimulationState' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clocks', 'liveSimulationState_clocks' - A list of simulation clocks.+--+-- At this time, a simulation has only one clock.+--+-- 'domains', 'liveSimulationState_domains' - A list of domains for the simulation. For more information about+-- domains, see+-- <https://docs.aws.amazon.com/simspaceweaver/latest/userguide/what-is_key-concepts.html Key concepts>+-- in the /Amazon Web Services SimSpace Weaver User Guide/.+newLiveSimulationState ::+  LiveSimulationState+newLiveSimulationState =+  LiveSimulationState'+    { clocks = Prelude.Nothing,+      domains = Prelude.Nothing+    }++-- | A list of simulation clocks.+--+-- At this time, a simulation has only one clock.+liveSimulationState_clocks :: Lens.Lens' LiveSimulationState (Prelude.Maybe [SimulationClock])+liveSimulationState_clocks = Lens.lens (\LiveSimulationState' {clocks} -> clocks) (\s@LiveSimulationState' {} a -> s {clocks = a} :: LiveSimulationState) Prelude.. Lens.mapping Lens.coerced++-- | A list of domains for the simulation. For more information about+-- domains, see+-- <https://docs.aws.amazon.com/simspaceweaver/latest/userguide/what-is_key-concepts.html Key concepts>+-- in the /Amazon Web Services SimSpace Weaver User Guide/.+liveSimulationState_domains :: Lens.Lens' LiveSimulationState (Prelude.Maybe [Domain])+liveSimulationState_domains = Lens.lens (\LiveSimulationState' {domains} -> domains) (\s@LiveSimulationState' {} a -> s {domains = a} :: LiveSimulationState) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LiveSimulationState where+  parseJSON =+    Data.withObject+      "LiveSimulationState"+      ( \x ->+          LiveSimulationState'+            Prelude.<$> (x Data..:? "Clocks" Data..!= Prelude.mempty)+            Prelude.<*> (x Data..:? "Domains" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable LiveSimulationState where+  hashWithSalt _salt LiveSimulationState' {..} =+    _salt+      `Prelude.hashWithSalt` clocks+      `Prelude.hashWithSalt` domains++instance Prelude.NFData LiveSimulationState where+  rnf LiveSimulationState' {..} =+    Prelude.rnf clocks+      `Prelude.seq` Prelude.rnf domains
+ gen/Amazonka/SimSpaceWeaver/Types/LogDestination.hs view
@@ -0,0 +1,82 @@+{-# 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.SimSpaceWeaver.Types.LogDestination+-- Copyright   : (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.SimSpaceWeaver.Types.LogDestination where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SimSpaceWeaver.Types.CloudWatchLogsLogGroup++-- | The location where SimSpace Weaver sends simulation log data.+--+-- /See:/ 'newLogDestination' smart constructor.+data LogDestination = LogDestination'+  { -- | An Amazon CloudWatch Logs log group that stores simulation log data. For+    -- more information about log groups, see+    -- <https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html Working with log groups and log streams>+    -- in the /Amazon CloudWatch Logs User Guide/.+    cloudWatchLogsLogGroup :: Prelude.Maybe CloudWatchLogsLogGroup+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LogDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cloudWatchLogsLogGroup', 'logDestination_cloudWatchLogsLogGroup' - An Amazon CloudWatch Logs log group that stores simulation log data. For+-- more information about log groups, see+-- <https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html Working with log groups and log streams>+-- in the /Amazon CloudWatch Logs User Guide/.+newLogDestination ::+  LogDestination+newLogDestination =+  LogDestination'+    { cloudWatchLogsLogGroup =+        Prelude.Nothing+    }++-- | An Amazon CloudWatch Logs log group that stores simulation log data. For+-- more information about log groups, see+-- <https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html Working with log groups and log streams>+-- in the /Amazon CloudWatch Logs User Guide/.+logDestination_cloudWatchLogsLogGroup :: Lens.Lens' LogDestination (Prelude.Maybe CloudWatchLogsLogGroup)+logDestination_cloudWatchLogsLogGroup = Lens.lens (\LogDestination' {cloudWatchLogsLogGroup} -> cloudWatchLogsLogGroup) (\s@LogDestination' {} a -> s {cloudWatchLogsLogGroup = a} :: LogDestination)++instance Data.FromJSON LogDestination where+  parseJSON =+    Data.withObject+      "LogDestination"+      ( \x ->+          LogDestination'+            Prelude.<$> (x Data..:? "CloudWatchLogsLogGroup")+      )++instance Prelude.Hashable LogDestination where+  hashWithSalt _salt LogDestination' {..} =+    _salt `Prelude.hashWithSalt` cloudWatchLogsLogGroup++instance Prelude.NFData LogDestination where+  rnf LogDestination' {..} =+    Prelude.rnf cloudWatchLogsLogGroup
+ gen/Amazonka/SimSpaceWeaver/Types/LoggingConfiguration.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SimSpaceWeaver.Types.LoggingConfiguration+-- Copyright   : (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.SimSpaceWeaver.Types.LoggingConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SimSpaceWeaver.Types.LogDestination++-- | The logging configuration for a simulation.+--+-- /See:/ 'newLoggingConfiguration' smart constructor.+data LoggingConfiguration = LoggingConfiguration'+  { -- | A list of the locations where SimSpace Weaver sends simulation log data.+    destinations :: Prelude.Maybe [LogDestination]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoggingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destinations', 'loggingConfiguration_destinations' - A list of the locations where SimSpace Weaver sends simulation log data.+newLoggingConfiguration ::+  LoggingConfiguration+newLoggingConfiguration =+  LoggingConfiguration'+    { destinations =+        Prelude.Nothing+    }++-- | A list of the locations where SimSpace Weaver sends simulation log data.+loggingConfiguration_destinations :: Lens.Lens' LoggingConfiguration (Prelude.Maybe [LogDestination])+loggingConfiguration_destinations = Lens.lens (\LoggingConfiguration' {destinations} -> destinations) (\s@LoggingConfiguration' {} a -> s {destinations = a} :: LoggingConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON LoggingConfiguration where+  parseJSON =+    Data.withObject+      "LoggingConfiguration"+      ( \x ->+          LoggingConfiguration'+            Prelude.<$> (x Data..:? "Destinations" Data..!= Prelude.mempty)+      )++instance Prelude.Hashable LoggingConfiguration where+  hashWithSalt _salt LoggingConfiguration' {..} =+    _salt `Prelude.hashWithSalt` destinations++instance Prelude.NFData LoggingConfiguration where+  rnf LoggingConfiguration' {..} =+    Prelude.rnf destinations
+ gen/Amazonka/SimSpaceWeaver/Types/S3Location.hs view
@@ -0,0 +1,112 @@+{-# 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.SimSpaceWeaver.Types.S3Location+-- Copyright   : (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.SimSpaceWeaver.Types.S3Location where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A location in Amazon Simple Storage Service (Amazon S3) where SimSpace+-- Weaver stores simulation data, such as your app zip files and schema+-- file. For more information about Amazon S3, see the+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html Amazon Simple Storage Service User Guide>+-- .+--+-- /See:/ 'newS3Location' smart constructor.+data S3Location = S3Location'+  { -- | The name of an Amazon S3 bucket. For more information about buckets, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html Creating, configuring, and working with Amazon S3 buckets>+    -- in the /Amazon Simple Storage Service User Guide/.+    bucketName :: Prelude.Maybe Prelude.Text,+    -- | The key name of an object in Amazon S3. For more information about+    -- Amazon S3 objects and object keys, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-downloading-objects.html Uploading, downloading, and working with objects in Amazon S3>+    -- in the /Amazon Simple Storage Service User Guide/.+    objectKey :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Location' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketName', 's3Location_bucketName' - The name of an Amazon S3 bucket. For more information about buckets, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html Creating, configuring, and working with Amazon S3 buckets>+-- in the /Amazon Simple Storage Service User Guide/.+--+-- 'objectKey', 's3Location_objectKey' - The key name of an object in Amazon S3. For more information about+-- Amazon S3 objects and object keys, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-downloading-objects.html Uploading, downloading, and working with objects in Amazon S3>+-- in the /Amazon Simple Storage Service User Guide/.+newS3Location ::+  S3Location+newS3Location =+  S3Location'+    { bucketName = Prelude.Nothing,+      objectKey = Prelude.Nothing+    }++-- | The name of an Amazon S3 bucket. For more information about buckets, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html Creating, configuring, and working with Amazon S3 buckets>+-- in the /Amazon Simple Storage Service User Guide/.+s3Location_bucketName :: Lens.Lens' S3Location (Prelude.Maybe Prelude.Text)+s3Location_bucketName = Lens.lens (\S3Location' {bucketName} -> bucketName) (\s@S3Location' {} a -> s {bucketName = a} :: S3Location)++-- | The key name of an object in Amazon S3. For more information about+-- Amazon S3 objects and object keys, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-downloading-objects.html Uploading, downloading, and working with objects in Amazon S3>+-- in the /Amazon Simple Storage Service User Guide/.+s3Location_objectKey :: Lens.Lens' S3Location (Prelude.Maybe Prelude.Text)+s3Location_objectKey = Lens.lens (\S3Location' {objectKey} -> objectKey) (\s@S3Location' {} a -> s {objectKey = a} :: S3Location)++instance Data.FromJSON S3Location where+  parseJSON =+    Data.withObject+      "S3Location"+      ( \x ->+          S3Location'+            Prelude.<$> (x Data..:? "BucketName")+            Prelude.<*> (x Data..:? "ObjectKey")+      )++instance Prelude.Hashable S3Location where+  hashWithSalt _salt S3Location' {..} =+    _salt+      `Prelude.hashWithSalt` bucketName+      `Prelude.hashWithSalt` objectKey++instance Prelude.NFData S3Location where+  rnf S3Location' {..} =+    Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf objectKey++instance Data.ToJSON S3Location where+  toJSON S3Location' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("BucketName" Data..=) Prelude.<$> bucketName,+            ("ObjectKey" Data..=) Prelude.<$> objectKey+          ]+      )
+ gen/Amazonka/SimSpaceWeaver/Types/SimulationAppEndpointInfo.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.SimSpaceWeaver.Types.SimulationAppEndpointInfo+-- Copyright   : (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.SimSpaceWeaver.Types.SimulationAppEndpointInfo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SimSpaceWeaver.Types.SimulationAppPortMapping++-- | Information about the network endpoint that you can use to connect to+-- your custom or service app.+--+-- /See:/ 'newSimulationAppEndpointInfo' smart constructor.+data SimulationAppEndpointInfo = SimulationAppEndpointInfo'+  { -- | The IP address of the app. SimSpace Weaver dynamically assigns this IP+    -- address when the app starts.+    address :: Prelude.Maybe Prelude.Text,+    -- | The inbound TCP\/UDP port numbers of the app. The combination of an IP+    -- address and a port number form a network endpoint.+    ingressPortMappings :: Prelude.Maybe [SimulationAppPortMapping]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SimulationAppEndpointInfo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'simulationAppEndpointInfo_address' - The IP address of the app. SimSpace Weaver dynamically assigns this IP+-- address when the app starts.+--+-- 'ingressPortMappings', 'simulationAppEndpointInfo_ingressPortMappings' - The inbound TCP\/UDP port numbers of the app. The combination of an IP+-- address and a port number form a network endpoint.+newSimulationAppEndpointInfo ::+  SimulationAppEndpointInfo+newSimulationAppEndpointInfo =+  SimulationAppEndpointInfo'+    { address =+        Prelude.Nothing,+      ingressPortMappings = Prelude.Nothing+    }++-- | The IP address of the app. SimSpace Weaver dynamically assigns this IP+-- address when the app starts.+simulationAppEndpointInfo_address :: Lens.Lens' SimulationAppEndpointInfo (Prelude.Maybe Prelude.Text)+simulationAppEndpointInfo_address = Lens.lens (\SimulationAppEndpointInfo' {address} -> address) (\s@SimulationAppEndpointInfo' {} a -> s {address = a} :: SimulationAppEndpointInfo)++-- | The inbound TCP\/UDP port numbers of the app. The combination of an IP+-- address and a port number form a network endpoint.+simulationAppEndpointInfo_ingressPortMappings :: Lens.Lens' SimulationAppEndpointInfo (Prelude.Maybe [SimulationAppPortMapping])+simulationAppEndpointInfo_ingressPortMappings = Lens.lens (\SimulationAppEndpointInfo' {ingressPortMappings} -> ingressPortMappings) (\s@SimulationAppEndpointInfo' {} a -> s {ingressPortMappings = a} :: SimulationAppEndpointInfo) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SimulationAppEndpointInfo where+  parseJSON =+    Data.withObject+      "SimulationAppEndpointInfo"+      ( \x ->+          SimulationAppEndpointInfo'+            Prelude.<$> (x Data..:? "Address")+            Prelude.<*> ( x+                            Data..:? "IngressPortMappings"+                            Data..!= Prelude.mempty+                        )+      )++instance Prelude.Hashable SimulationAppEndpointInfo where+  hashWithSalt _salt SimulationAppEndpointInfo' {..} =+    _salt+      `Prelude.hashWithSalt` address+      `Prelude.hashWithSalt` ingressPortMappings++instance Prelude.NFData SimulationAppEndpointInfo where+  rnf SimulationAppEndpointInfo' {..} =+    Prelude.rnf address+      `Prelude.seq` Prelude.rnf ingressPortMappings
+ gen/Amazonka/SimSpaceWeaver/Types/SimulationAppMetadata.hs view
@@ -0,0 +1,128 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SimSpaceWeaver.Types.SimulationAppMetadata+-- Copyright   : (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.SimSpaceWeaver.Types.SimulationAppMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SimSpaceWeaver.Types.SimulationAppStatus+import Amazonka.SimSpaceWeaver.Types.SimulationAppTargetStatus++-- | A collection of metadata about an app.+--+-- /See:/ 'newSimulationAppMetadata' smart constructor.+data SimulationAppMetadata = SimulationAppMetadata'+  { -- | The domain of the app. For more information about domains, see+    -- <https://docs.aws.amazon.com/simspaceweaver/latest/userguide/what-is_key-concepts.html Key concepts>+    -- in the /Amazon Web Services SimSpace Weaver User Guide/.+    domain :: Prelude.Maybe Prelude.Text,+    -- | The name of the app.+    name :: Prelude.Maybe Prelude.Text,+    -- | The name of the simulation of the app.+    simulation :: Prelude.Maybe Prelude.Text,+    -- | The current status of the app.+    status :: Prelude.Maybe SimulationAppStatus,+    -- | The desired status of the app.+    targetStatus :: Prelude.Maybe SimulationAppTargetStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SimulationAppMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'domain', 'simulationAppMetadata_domain' - The domain of the app. For more information about domains, see+-- <https://docs.aws.amazon.com/simspaceweaver/latest/userguide/what-is_key-concepts.html Key concepts>+-- in the /Amazon Web Services SimSpace Weaver User Guide/.+--+-- 'name', 'simulationAppMetadata_name' - The name of the app.+--+-- 'simulation', 'simulationAppMetadata_simulation' - The name of the simulation of the app.+--+-- 'status', 'simulationAppMetadata_status' - The current status of the app.+--+-- 'targetStatus', 'simulationAppMetadata_targetStatus' - The desired status of the app.+newSimulationAppMetadata ::+  SimulationAppMetadata+newSimulationAppMetadata =+  SimulationAppMetadata'+    { domain = Prelude.Nothing,+      name = Prelude.Nothing,+      simulation = Prelude.Nothing,+      status = Prelude.Nothing,+      targetStatus = Prelude.Nothing+    }++-- | The domain of the app. For more information about domains, see+-- <https://docs.aws.amazon.com/simspaceweaver/latest/userguide/what-is_key-concepts.html Key concepts>+-- in the /Amazon Web Services SimSpace Weaver User Guide/.+simulationAppMetadata_domain :: Lens.Lens' SimulationAppMetadata (Prelude.Maybe Prelude.Text)+simulationAppMetadata_domain = Lens.lens (\SimulationAppMetadata' {domain} -> domain) (\s@SimulationAppMetadata' {} a -> s {domain = a} :: SimulationAppMetadata)++-- | The name of the app.+simulationAppMetadata_name :: Lens.Lens' SimulationAppMetadata (Prelude.Maybe Prelude.Text)+simulationAppMetadata_name = Lens.lens (\SimulationAppMetadata' {name} -> name) (\s@SimulationAppMetadata' {} a -> s {name = a} :: SimulationAppMetadata)++-- | The name of the simulation of the app.+simulationAppMetadata_simulation :: Lens.Lens' SimulationAppMetadata (Prelude.Maybe Prelude.Text)+simulationAppMetadata_simulation = Lens.lens (\SimulationAppMetadata' {simulation} -> simulation) (\s@SimulationAppMetadata' {} a -> s {simulation = a} :: SimulationAppMetadata)++-- | The current status of the app.+simulationAppMetadata_status :: Lens.Lens' SimulationAppMetadata (Prelude.Maybe SimulationAppStatus)+simulationAppMetadata_status = Lens.lens (\SimulationAppMetadata' {status} -> status) (\s@SimulationAppMetadata' {} a -> s {status = a} :: SimulationAppMetadata)++-- | The desired status of the app.+simulationAppMetadata_targetStatus :: Lens.Lens' SimulationAppMetadata (Prelude.Maybe SimulationAppTargetStatus)+simulationAppMetadata_targetStatus = Lens.lens (\SimulationAppMetadata' {targetStatus} -> targetStatus) (\s@SimulationAppMetadata' {} a -> s {targetStatus = a} :: SimulationAppMetadata)++instance Data.FromJSON SimulationAppMetadata where+  parseJSON =+    Data.withObject+      "SimulationAppMetadata"+      ( \x ->+          SimulationAppMetadata'+            Prelude.<$> (x Data..:? "Domain")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Simulation")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "TargetStatus")+      )++instance Prelude.Hashable SimulationAppMetadata where+  hashWithSalt _salt SimulationAppMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` domain+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` simulation+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` targetStatus++instance Prelude.NFData SimulationAppMetadata where+  rnf SimulationAppMetadata' {..} =+    Prelude.rnf domain+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf simulation+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf targetStatus
+ gen/Amazonka/SimSpaceWeaver/Types/SimulationAppPortMapping.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.SimSpaceWeaver.Types.SimulationAppPortMapping+-- Copyright   : (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.SimSpaceWeaver.Types.SimulationAppPortMapping where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A collection of TCP\/UDP ports for a custom or service app.+--+-- /See:/ 'newSimulationAppPortMapping' smart constructor.+data SimulationAppPortMapping = SimulationAppPortMapping'+  { -- | The TCP\/UDP port number of the running app. SimSpace Weaver dynamically+    -- assigns this port number when the app starts. SimSpace Weaver maps the+    -- @Declared@ port to the @Actual@ port. Clients connect to the app using+    -- the app\'s IP address and the @Actual@ port number.+    actual :: Prelude.Maybe Prelude.Natural,+    -- | The TCP\/UDP port number of the app, declared in the simulation schema.+    -- SimSpace Weaver maps the @Declared@ port to the @Actual@ port. The+    -- source code for the app should bind to the @Declared@ port.+    declared :: Prelude.Maybe Prelude.Natural+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SimulationAppPortMapping' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'actual', 'simulationAppPortMapping_actual' - The TCP\/UDP port number of the running app. SimSpace Weaver dynamically+-- assigns this port number when the app starts. SimSpace Weaver maps the+-- @Declared@ port to the @Actual@ port. Clients connect to the app using+-- the app\'s IP address and the @Actual@ port number.+--+-- 'declared', 'simulationAppPortMapping_declared' - The TCP\/UDP port number of the app, declared in the simulation schema.+-- SimSpace Weaver maps the @Declared@ port to the @Actual@ port. The+-- source code for the app should bind to the @Declared@ port.+newSimulationAppPortMapping ::+  SimulationAppPortMapping+newSimulationAppPortMapping =+  SimulationAppPortMapping'+    { actual = Prelude.Nothing,+      declared = Prelude.Nothing+    }++-- | The TCP\/UDP port number of the running app. SimSpace Weaver dynamically+-- assigns this port number when the app starts. SimSpace Weaver maps the+-- @Declared@ port to the @Actual@ port. Clients connect to the app using+-- the app\'s IP address and the @Actual@ port number.+simulationAppPortMapping_actual :: Lens.Lens' SimulationAppPortMapping (Prelude.Maybe Prelude.Natural)+simulationAppPortMapping_actual = Lens.lens (\SimulationAppPortMapping' {actual} -> actual) (\s@SimulationAppPortMapping' {} a -> s {actual = a} :: SimulationAppPortMapping)++-- | The TCP\/UDP port number of the app, declared in the simulation schema.+-- SimSpace Weaver maps the @Declared@ port to the @Actual@ port. The+-- source code for the app should bind to the @Declared@ port.+simulationAppPortMapping_declared :: Lens.Lens' SimulationAppPortMapping (Prelude.Maybe Prelude.Natural)+simulationAppPortMapping_declared = Lens.lens (\SimulationAppPortMapping' {declared} -> declared) (\s@SimulationAppPortMapping' {} a -> s {declared = a} :: SimulationAppPortMapping)++instance Data.FromJSON SimulationAppPortMapping where+  parseJSON =+    Data.withObject+      "SimulationAppPortMapping"+      ( \x ->+          SimulationAppPortMapping'+            Prelude.<$> (x Data..:? "Actual")+            Prelude.<*> (x Data..:? "Declared")+      )++instance Prelude.Hashable SimulationAppPortMapping where+  hashWithSalt _salt SimulationAppPortMapping' {..} =+    _salt+      `Prelude.hashWithSalt` actual+      `Prelude.hashWithSalt` declared++instance Prelude.NFData SimulationAppPortMapping where+  rnf SimulationAppPortMapping' {..} =+    Prelude.rnf actual+      `Prelude.seq` Prelude.rnf declared
+ gen/Amazonka/SimSpaceWeaver/Types/SimulationAppStatus.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.SimSpaceWeaver.Types.SimulationAppStatus+-- Copyright   : (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.SimSpaceWeaver.Types.SimulationAppStatus+  ( SimulationAppStatus+      ( ..,+        SimulationAppStatus_ERROR,+        SimulationAppStatus_STARTED,+        SimulationAppStatus_STARTING,+        SimulationAppStatus_STOPPED,+        SimulationAppStatus_STOPPING,+        SimulationAppStatus_UNKNOWN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SimulationAppStatus = SimulationAppStatus'+  { fromSimulationAppStatus ::+      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 SimulationAppStatus_ERROR :: SimulationAppStatus+pattern SimulationAppStatus_ERROR = SimulationAppStatus' "ERROR"++pattern SimulationAppStatus_STARTED :: SimulationAppStatus+pattern SimulationAppStatus_STARTED = SimulationAppStatus' "STARTED"++pattern SimulationAppStatus_STARTING :: SimulationAppStatus+pattern SimulationAppStatus_STARTING = SimulationAppStatus' "STARTING"++pattern SimulationAppStatus_STOPPED :: SimulationAppStatus+pattern SimulationAppStatus_STOPPED = SimulationAppStatus' "STOPPED"++pattern SimulationAppStatus_STOPPING :: SimulationAppStatus+pattern SimulationAppStatus_STOPPING = SimulationAppStatus' "STOPPING"++pattern SimulationAppStatus_UNKNOWN :: SimulationAppStatus+pattern SimulationAppStatus_UNKNOWN = SimulationAppStatus' "UNKNOWN"++{-# COMPLETE+  SimulationAppStatus_ERROR,+  SimulationAppStatus_STARTED,+  SimulationAppStatus_STARTING,+  SimulationAppStatus_STOPPED,+  SimulationAppStatus_STOPPING,+  SimulationAppStatus_UNKNOWN,+  SimulationAppStatus'+  #-}
+ gen/Amazonka/SimSpaceWeaver/Types/SimulationAppTargetStatus.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.SimSpaceWeaver.Types.SimulationAppTargetStatus+-- Copyright   : (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.SimSpaceWeaver.Types.SimulationAppTargetStatus+  ( SimulationAppTargetStatus+      ( ..,+        SimulationAppTargetStatus_STARTED,+        SimulationAppTargetStatus_STOPPED,+        SimulationAppTargetStatus_UNKNOWN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SimulationAppTargetStatus = SimulationAppTargetStatus'+  { fromSimulationAppTargetStatus ::+      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 SimulationAppTargetStatus_STARTED :: SimulationAppTargetStatus+pattern SimulationAppTargetStatus_STARTED = SimulationAppTargetStatus' "STARTED"++pattern SimulationAppTargetStatus_STOPPED :: SimulationAppTargetStatus+pattern SimulationAppTargetStatus_STOPPED = SimulationAppTargetStatus' "STOPPED"++pattern SimulationAppTargetStatus_UNKNOWN :: SimulationAppTargetStatus+pattern SimulationAppTargetStatus_UNKNOWN = SimulationAppTargetStatus' "UNKNOWN"++{-# COMPLETE+  SimulationAppTargetStatus_STARTED,+  SimulationAppTargetStatus_STOPPED,+  SimulationAppTargetStatus_UNKNOWN,+  SimulationAppTargetStatus'+  #-}
+ gen/Amazonka/SimSpaceWeaver/Types/SimulationClock.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.SimSpaceWeaver.Types.SimulationClock+-- Copyright   : (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.SimSpaceWeaver.Types.SimulationClock where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SimSpaceWeaver.Types.ClockStatus+import Amazonka.SimSpaceWeaver.Types.ClockTargetStatus++-- | Status information about the simulation clock.+--+-- /See:/ 'newSimulationClock' smart constructor.+data SimulationClock = SimulationClock'+  { -- | The current status of the simulation clock.+    status :: Prelude.Maybe ClockStatus,+    -- | The desired status of the simulation clock.+    targetStatus :: Prelude.Maybe ClockTargetStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SimulationClock' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'simulationClock_status' - The current status of the simulation clock.+--+-- 'targetStatus', 'simulationClock_targetStatus' - The desired status of the simulation clock.+newSimulationClock ::+  SimulationClock+newSimulationClock =+  SimulationClock'+    { status = Prelude.Nothing,+      targetStatus = Prelude.Nothing+    }++-- | The current status of the simulation clock.+simulationClock_status :: Lens.Lens' SimulationClock (Prelude.Maybe ClockStatus)+simulationClock_status = Lens.lens (\SimulationClock' {status} -> status) (\s@SimulationClock' {} a -> s {status = a} :: SimulationClock)++-- | The desired status of the simulation clock.+simulationClock_targetStatus :: Lens.Lens' SimulationClock (Prelude.Maybe ClockTargetStatus)+simulationClock_targetStatus = Lens.lens (\SimulationClock' {targetStatus} -> targetStatus) (\s@SimulationClock' {} a -> s {targetStatus = a} :: SimulationClock)++instance Data.FromJSON SimulationClock where+  parseJSON =+    Data.withObject+      "SimulationClock"+      ( \x ->+          SimulationClock'+            Prelude.<$> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "TargetStatus")+      )++instance Prelude.Hashable SimulationClock where+  hashWithSalt _salt SimulationClock' {..} =+    _salt+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` targetStatus++instance Prelude.NFData SimulationClock where+  rnf SimulationClock' {..} =+    Prelude.rnf status+      `Prelude.seq` Prelude.rnf targetStatus
+ gen/Amazonka/SimSpaceWeaver/Types/SimulationMetadata.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.SimSpaceWeaver.Types.SimulationMetadata+-- Copyright   : (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.SimSpaceWeaver.Types.SimulationMetadata where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SimSpaceWeaver.Types.SimulationStatus+import Amazonka.SimSpaceWeaver.Types.SimulationTargetStatus++-- | A collection of data about the simulation.+--+-- /See:/ 'newSimulationMetadata' smart constructor.+data SimulationMetadata = SimulationMetadata'+  { -- | The Amazon Resource Name (ARN) of the simulation. For more information+    -- about ARNs, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+    -- in the /Amazon Web Services General Reference/.+    arn :: Prelude.Maybe Prelude.Text,+    -- | The time when the simulation was created, expressed as the number of+    -- seconds and milliseconds in UTC since the Unix epoch (0:0:0.000, January+    -- 1, 1970).+    creationTime :: Prelude.Maybe Data.POSIX,+    -- | The name of the simulation.+    name :: Prelude.Maybe Prelude.Text,+    -- | The current status of the simulation.+    status :: Prelude.Maybe SimulationStatus,+    -- | The desired status of the simulation.+    targetStatus :: Prelude.Maybe SimulationTargetStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SimulationMetadata' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'simulationMetadata_arn' - The Amazon Resource Name (ARN) of the simulation. For more information+-- about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'creationTime', 'simulationMetadata_creationTime' - The time when the simulation was created, expressed as the number of+-- seconds and milliseconds in UTC since the Unix epoch (0:0:0.000, January+-- 1, 1970).+--+-- 'name', 'simulationMetadata_name' - The name of the simulation.+--+-- 'status', 'simulationMetadata_status' - The current status of the simulation.+--+-- 'targetStatus', 'simulationMetadata_targetStatus' - The desired status of the simulation.+newSimulationMetadata ::+  SimulationMetadata+newSimulationMetadata =+  SimulationMetadata'+    { arn = Prelude.Nothing,+      creationTime = Prelude.Nothing,+      name = Prelude.Nothing,+      status = Prelude.Nothing,+      targetStatus = Prelude.Nothing+    }++-- | The Amazon Resource Name (ARN) of the simulation. For more information+-- about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+simulationMetadata_arn :: Lens.Lens' SimulationMetadata (Prelude.Maybe Prelude.Text)+simulationMetadata_arn = Lens.lens (\SimulationMetadata' {arn} -> arn) (\s@SimulationMetadata' {} a -> s {arn = a} :: SimulationMetadata)++-- | The time when the simulation was created, expressed as the number of+-- seconds and milliseconds in UTC since the Unix epoch (0:0:0.000, January+-- 1, 1970).+simulationMetadata_creationTime :: Lens.Lens' SimulationMetadata (Prelude.Maybe Prelude.UTCTime)+simulationMetadata_creationTime = Lens.lens (\SimulationMetadata' {creationTime} -> creationTime) (\s@SimulationMetadata' {} a -> s {creationTime = a} :: SimulationMetadata) Prelude.. Lens.mapping Data._Time++-- | The name of the simulation.+simulationMetadata_name :: Lens.Lens' SimulationMetadata (Prelude.Maybe Prelude.Text)+simulationMetadata_name = Lens.lens (\SimulationMetadata' {name} -> name) (\s@SimulationMetadata' {} a -> s {name = a} :: SimulationMetadata)++-- | The current status of the simulation.+simulationMetadata_status :: Lens.Lens' SimulationMetadata (Prelude.Maybe SimulationStatus)+simulationMetadata_status = Lens.lens (\SimulationMetadata' {status} -> status) (\s@SimulationMetadata' {} a -> s {status = a} :: SimulationMetadata)++-- | The desired status of the simulation.+simulationMetadata_targetStatus :: Lens.Lens' SimulationMetadata (Prelude.Maybe SimulationTargetStatus)+simulationMetadata_targetStatus = Lens.lens (\SimulationMetadata' {targetStatus} -> targetStatus) (\s@SimulationMetadata' {} a -> s {targetStatus = a} :: SimulationMetadata)++instance Data.FromJSON SimulationMetadata where+  parseJSON =+    Data.withObject+      "SimulationMetadata"+      ( \x ->+          SimulationMetadata'+            Prelude.<$> (x Data..:? "Arn")+            Prelude.<*> (x Data..:? "CreationTime")+            Prelude.<*> (x Data..:? "Name")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "TargetStatus")+      )++instance Prelude.Hashable SimulationMetadata where+  hashWithSalt _salt SimulationMetadata' {..} =+    _salt+      `Prelude.hashWithSalt` arn+      `Prelude.hashWithSalt` creationTime+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` targetStatus++instance Prelude.NFData SimulationMetadata where+  rnf SimulationMetadata' {..} =+    Prelude.rnf arn+      `Prelude.seq` Prelude.rnf creationTime+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf targetStatus
+ gen/Amazonka/SimSpaceWeaver/Types/SimulationStatus.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.SimSpaceWeaver.Types.SimulationStatus+-- Copyright   : (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.SimSpaceWeaver.Types.SimulationStatus+  ( SimulationStatus+      ( ..,+        SimulationStatus_DELETED,+        SimulationStatus_DELETING,+        SimulationStatus_FAILED,+        SimulationStatus_STARTED,+        SimulationStatus_STARTING,+        SimulationStatus_STOPPED,+        SimulationStatus_STOPPING,+        SimulationStatus_UNKNOWN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SimulationStatus = SimulationStatus'+  { fromSimulationStatus ::+      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 SimulationStatus_DELETED :: SimulationStatus+pattern SimulationStatus_DELETED = SimulationStatus' "DELETED"++pattern SimulationStatus_DELETING :: SimulationStatus+pattern SimulationStatus_DELETING = SimulationStatus' "DELETING"++pattern SimulationStatus_FAILED :: SimulationStatus+pattern SimulationStatus_FAILED = SimulationStatus' "FAILED"++pattern SimulationStatus_STARTED :: SimulationStatus+pattern SimulationStatus_STARTED = SimulationStatus' "STARTED"++pattern SimulationStatus_STARTING :: SimulationStatus+pattern SimulationStatus_STARTING = SimulationStatus' "STARTING"++pattern SimulationStatus_STOPPED :: SimulationStatus+pattern SimulationStatus_STOPPED = SimulationStatus' "STOPPED"++pattern SimulationStatus_STOPPING :: SimulationStatus+pattern SimulationStatus_STOPPING = SimulationStatus' "STOPPING"++pattern SimulationStatus_UNKNOWN :: SimulationStatus+pattern SimulationStatus_UNKNOWN = SimulationStatus' "UNKNOWN"++{-# COMPLETE+  SimulationStatus_DELETED,+  SimulationStatus_DELETING,+  SimulationStatus_FAILED,+  SimulationStatus_STARTED,+  SimulationStatus_STARTING,+  SimulationStatus_STOPPED,+  SimulationStatus_STOPPING,+  SimulationStatus_UNKNOWN,+  SimulationStatus'+  #-}
+ gen/Amazonka/SimSpaceWeaver/Types/SimulationTargetStatus.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.SimSpaceWeaver.Types.SimulationTargetStatus+-- Copyright   : (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.SimSpaceWeaver.Types.SimulationTargetStatus+  ( SimulationTargetStatus+      ( ..,+        SimulationTargetStatus_DELETED,+        SimulationTargetStatus_STARTED,+        SimulationTargetStatus_STOPPED,+        SimulationTargetStatus_UNKNOWN+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SimulationTargetStatus = SimulationTargetStatus'+  { fromSimulationTargetStatus ::+      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 SimulationTargetStatus_DELETED :: SimulationTargetStatus+pattern SimulationTargetStatus_DELETED = SimulationTargetStatus' "DELETED"++pattern SimulationTargetStatus_STARTED :: SimulationTargetStatus+pattern SimulationTargetStatus_STARTED = SimulationTargetStatus' "STARTED"++pattern SimulationTargetStatus_STOPPED :: SimulationTargetStatus+pattern SimulationTargetStatus_STOPPED = SimulationTargetStatus' "STOPPED"++pattern SimulationTargetStatus_UNKNOWN :: SimulationTargetStatus+pattern SimulationTargetStatus_UNKNOWN = SimulationTargetStatus' "UNKNOWN"++{-# COMPLETE+  SimulationTargetStatus_DELETED,+  SimulationTargetStatus_STARTED,+  SimulationTargetStatus_STOPPED,+  SimulationTargetStatus_UNKNOWN,+  SimulationTargetStatus'+  #-}
+ gen/Amazonka/SimSpaceWeaver/UntagResource.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.SimSpaceWeaver.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 SimSpace Weaver resource. For more information about+-- tags, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html Tagging Amazon Web Services resources>+-- in the /Amazon Web Services General Reference/.+module Amazonka.SimSpaceWeaver.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceArn,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.SimSpaceWeaver.Types++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The Amazon Resource Name (ARN) of the resource that you want to remove+    -- tags from. For more information about ARNs, see+    -- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+    -- in the /Amazon Web Services General Reference/.+    resourceArn :: Prelude.Text,+    -- | A list of tag keys to remove from the resource.+    tagKeys :: Prelude.NonEmpty Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource that you want to remove+-- tags from. For more information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+--+-- 'tagKeys', 'untagResource_tagKeys' - A list of tag keys to remove from the resource.+newUntagResource ::+  -- | 'resourceArn'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceArn_ pTagKeys_ =+  UntagResource'+    { resourceArn = pResourceArn_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | The Amazon Resource Name (ARN) of the resource that you want to remove+-- tags from. For more information about ARNs, see+-- <https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html Amazon Resource Names (ARNs)>+-- in the /Amazon Web Services General Reference/.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | A list of tag keys to remove from the resource.+untagResource_tagKeys :: Lens.Lens' UntagResource (Prelude.NonEmpty Prelude.Text)+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+  type+    AWSResponse UntagResource =+      UntagResourceResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UntagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UntagResource where+  hashWithSalt _salt UntagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceArn+      `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+  rnf UntagResource' {..} =+    Prelude.rnf resourceArn+      `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+  toHeaders =+    Prelude.const+      ( Prelude.mconcat+          [ "Content-Type"+              Data.=# ( "application/x-amz-json-1.1" ::+                          Prelude.ByteString+                      )+          ]+      )++instance Data.ToPath UntagResource where+  toPath UntagResource' {..} =+    Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+  toQuery UntagResource' {..} =+    Prelude.mconcat+      ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'untagResourceResponse_httpStatus' - The response's http status code.+newUntagResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UntagResourceResponse+newUntagResourceResponse pHttpStatus_ =+  UntagResourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+untagResourceResponse_httpStatus :: Lens.Lens' UntagResourceResponse Prelude.Int+untagResourceResponse_httpStatus = Lens.lens (\UntagResourceResponse' {httpStatus} -> httpStatus) (\s@UntagResourceResponse' {} a -> s {httpStatus = a} :: UntagResourceResponse)++instance Prelude.NFData UntagResourceResponse where+  rnf UntagResourceResponse' {..} =+    Prelude.rnf httpStatus
+ gen/Amazonka/SimSpaceWeaver/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.SimSpaceWeaver.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.SimSpaceWeaver.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.SimSpaceWeaver.Lens+import Amazonka.SimSpaceWeaver.Types
+ 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.SimSpaceWeaver+import Test.Amazonka.SimSpaceWeaver.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "SimSpaceWeaver"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/Gen/SimSpaceWeaver.hs view
@@ -0,0 +1,338 @@+{-# 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.SimSpaceWeaver+-- Copyright   : (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.SimSpaceWeaver where++import Amazonka.SimSpaceWeaver+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.SimSpaceWeaver.Internal+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestDeleteApp $+--             newDeleteApp+--+--         , requestDeleteSimulation $+--             newDeleteSimulation+--+--         , requestDescribeApp $+--             newDescribeApp+--+--         , requestDescribeSimulation $+--             newDescribeSimulation+--+--         , requestListApps $+--             newListApps+--+--         , requestListSimulations $+--             newListSimulations+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestStartApp $+--             newStartApp+--+--         , requestStartClock $+--             newStartClock+--+--         , requestStartSimulation $+--             newStartSimulation+--+--         , requestStopApp $+--             newStopApp+--+--         , requestStopClock $+--             newStopClock+--+--         , requestStopSimulation $+--             newStopSimulation+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--           ]++--     , testGroup "response"+--         [ responseDeleteApp $+--             newDeleteAppResponse+--+--         , responseDeleteSimulation $+--             newDeleteSimulationResponse+--+--         , responseDescribeApp $+--             newDescribeAppResponse+--+--         , responseDescribeSimulation $+--             newDescribeSimulationResponse+--+--         , responseListApps $+--             newListAppsResponse+--+--         , responseListSimulations $+--             newListSimulationsResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseStartApp $+--             newStartAppResponse+--+--         , responseStartClock $+--             newStartClockResponse+--+--         , responseStartSimulation $+--             newStartSimulationResponse+--+--         , responseStopApp $+--             newStopAppResponse+--+--         , responseStopClock $+--             newStopClockResponse+--+--         , responseStopSimulation $+--             newStopSimulationResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--           ]+--     ]++-- Requests++requestDeleteApp :: DeleteApp -> TestTree+requestDeleteApp =+  req+    "DeleteApp"+    "fixture/DeleteApp.yaml"++requestDeleteSimulation :: DeleteSimulation -> TestTree+requestDeleteSimulation =+  req+    "DeleteSimulation"+    "fixture/DeleteSimulation.yaml"++requestDescribeApp :: DescribeApp -> TestTree+requestDescribeApp =+  req+    "DescribeApp"+    "fixture/DescribeApp.yaml"++requestDescribeSimulation :: DescribeSimulation -> TestTree+requestDescribeSimulation =+  req+    "DescribeSimulation"+    "fixture/DescribeSimulation.yaml"++requestListApps :: ListApps -> TestTree+requestListApps =+  req+    "ListApps"+    "fixture/ListApps.yaml"++requestListSimulations :: ListSimulations -> TestTree+requestListSimulations =+  req+    "ListSimulations"+    "fixture/ListSimulations.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestStartApp :: StartApp -> TestTree+requestStartApp =+  req+    "StartApp"+    "fixture/StartApp.yaml"++requestStartClock :: StartClock -> TestTree+requestStartClock =+  req+    "StartClock"+    "fixture/StartClock.yaml"++requestStartSimulation :: StartSimulation -> TestTree+requestStartSimulation =+  req+    "StartSimulation"+    "fixture/StartSimulation.yaml"++requestStopApp :: StopApp -> TestTree+requestStopApp =+  req+    "StopApp"+    "fixture/StopApp.yaml"++requestStopClock :: StopClock -> TestTree+requestStopClock =+  req+    "StopClock"+    "fixture/StopClock.yaml"++requestStopSimulation :: StopSimulation -> TestTree+requestStopSimulation =+  req+    "StopSimulation"+    "fixture/StopSimulation.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++-- Responses++responseDeleteApp :: DeleteAppResponse -> TestTree+responseDeleteApp =+  res+    "DeleteAppResponse"+    "fixture/DeleteAppResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteApp)++responseDeleteSimulation :: DeleteSimulationResponse -> TestTree+responseDeleteSimulation =+  res+    "DeleteSimulationResponse"+    "fixture/DeleteSimulationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteSimulation)++responseDescribeApp :: DescribeAppResponse -> TestTree+responseDescribeApp =+  res+    "DescribeAppResponse"+    "fixture/DescribeAppResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeApp)++responseDescribeSimulation :: DescribeSimulationResponse -> TestTree+responseDescribeSimulation =+  res+    "DescribeSimulationResponse"+    "fixture/DescribeSimulationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DescribeSimulation)++responseListApps :: ListAppsResponse -> TestTree+responseListApps =+  res+    "ListAppsResponse"+    "fixture/ListAppsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListApps)++responseListSimulations :: ListSimulationsResponse -> TestTree+responseListSimulations =+  res+    "ListSimulationsResponse"+    "fixture/ListSimulationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListSimulations)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseStartApp :: StartAppResponse -> TestTree+responseStartApp =+  res+    "StartAppResponse"+    "fixture/StartAppResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartApp)++responseStartClock :: StartClockResponse -> TestTree+responseStartClock =+  res+    "StartClockResponse"+    "fixture/StartClockResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartClock)++responseStartSimulation :: StartSimulationResponse -> TestTree+responseStartSimulation =+  res+    "StartSimulationResponse"+    "fixture/StartSimulationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StartSimulation)++responseStopApp :: StopAppResponse -> TestTree+responseStopApp =+  res+    "StopAppResponse"+    "fixture/StopAppResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopApp)++responseStopClock :: StopClockResponse -> TestTree+responseStopClock =+  res+    "StopClockResponse"+    "fixture/StopClockResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopClock)++responseStopSimulation :: StopSimulationResponse -> TestTree+responseStopSimulation =+  res+    "StopSimulationResponse"+    "fixture/StopSimulationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy StopSimulation)++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)
+ test/Test/Amazonka/SimSpaceWeaver.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.SimSpaceWeaver+-- Copyright   : (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.SimSpaceWeaver+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/SimSpaceWeaver/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.SimSpaceWeaver.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.SimSpaceWeaver.Internal where