packages feed

amazonka-chime-sdk-media-pipelines (empty) → 2.0

raw patch · 101 files changed

+9444/−0 lines, 101 filesdep +amazonka-chime-sdk-media-pipelinesdep +amazonka-coredep +amazonka-test

Dependencies added: amazonka-chime-sdk-media-pipelines, amazonka-core, 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 Chime SDK Media Pipelines SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2021-07-15@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-chime-sdk-media-pipelines)+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.ChimeSdkMediaPipelines](http://hackage.haskell.org/package/amazonka-chime-sdk-media-pipelines/docs/Amazonka-ChimeSdkMediaPipelines.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-chime-sdk-media-pipelines` 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-chime-sdk-media-pipelines.cabal view
@@ -0,0 +1,148 @@+cabal-version:      2.2+name:               amazonka-chime-sdk-media-pipelines+version:            2.0+synopsis:           Amazon Chime SDK Media Pipelines SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep++description:+  Derived from API version @2021-07-15@ 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.ChimeSdkMediaPipelines.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.ChimeSdkMediaPipelines" 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-chime-sdk-media-pipelines++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.ChimeSdkMediaPipelines+    Amazonka.ChimeSdkMediaPipelines.CreateMediaCapturePipeline+    Amazonka.ChimeSdkMediaPipelines.CreateMediaConcatenationPipeline+    Amazonka.ChimeSdkMediaPipelines.CreateMediaLiveConnectorPipeline+    Amazonka.ChimeSdkMediaPipelines.DeleteMediaCapturePipeline+    Amazonka.ChimeSdkMediaPipelines.DeleteMediaPipeline+    Amazonka.ChimeSdkMediaPipelines.GetMediaCapturePipeline+    Amazonka.ChimeSdkMediaPipelines.GetMediaPipeline+    Amazonka.ChimeSdkMediaPipelines.Lens+    Amazonka.ChimeSdkMediaPipelines.ListMediaCapturePipelines+    Amazonka.ChimeSdkMediaPipelines.ListMediaPipelines+    Amazonka.ChimeSdkMediaPipelines.ListTagsForResource+    Amazonka.ChimeSdkMediaPipelines.TagResource+    Amazonka.ChimeSdkMediaPipelines.Types+    Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationState+    Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsState+    Amazonka.ChimeSdkMediaPipelines.Types.AudioArtifactsConcatenationState+    Amazonka.ChimeSdkMediaPipelines.Types.AudioArtifactsConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.AudioChannelsOption+    Amazonka.ChimeSdkMediaPipelines.Types.AudioConcatenationConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.AudioMuxType+    Amazonka.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingConcatenationConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingLiveConnectorConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.CompositedVideoArtifactsConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.CompositedVideoConcatenationConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSink+    Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSinkType+    Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSource+    Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSourceType+    Amazonka.ChimeSdkMediaPipelines.Types.ContentArtifactsConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.ContentConcatenationConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.ContentMuxType+    Amazonka.ChimeSdkMediaPipelines.Types.ContentShareLayoutOption+    Amazonka.ChimeSdkMediaPipelines.Types.DataChannelConcatenationConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.GridViewConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.LayoutOption+    Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorMuxType+    Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorRTMPConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSinkConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSinkType+    Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSourceConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSourceType+    Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipeline+    Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipelineSourceConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipelineSummary+    Amazonka.ChimeSdkMediaPipelines.Types.MediaConcatenationPipeline+    Amazonka.ChimeSdkMediaPipelines.Types.MediaLiveConnectorPipeline+    Amazonka.ChimeSdkMediaPipelines.Types.MediaPipeline+    Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineSinkType+    Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineSourceType+    Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineStatus+    Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineSummary+    Amazonka.ChimeSdkMediaPipelines.Types.MeetingEventsConcatenationConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.PresenterOnlyConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.PresenterPosition+    Amazonka.ChimeSdkMediaPipelines.Types.ResolutionOption+    Amazonka.ChimeSdkMediaPipelines.Types.S3BucketSinkConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.SelectedVideoStreams+    Amazonka.ChimeSdkMediaPipelines.Types.SourceConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.Tag+    Amazonka.ChimeSdkMediaPipelines.Types.TranscriptionMessagesConcatenationConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.VideoArtifactsConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.VideoConcatenationConfiguration+    Amazonka.ChimeSdkMediaPipelines.Types.VideoMuxType+    Amazonka.ChimeSdkMediaPipelines.UntagResource+    Amazonka.ChimeSdkMediaPipelines.Waiters++  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5++test-suite amazonka-chime-sdk-media-pipelines-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.ChimeSdkMediaPipelines+    Test.Amazonka.ChimeSdkMediaPipelines.Internal+    Test.Amazonka.Gen.ChimeSdkMediaPipelines++  build-depends:+    , amazonka-chime-sdk-media-pipelines+    , amazonka-core                       >=2.0 && <2.1+    , amazonka-test                       >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
+ fixture/CreateMediaCapturePipeline.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/media-pipelines-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  media-pipelines-chime.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/CreateMediaCapturePipelineResponse.proto view
+ fixture/CreateMediaConcatenationPipeline.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/media-pipelines-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  media-pipelines-chime.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/CreateMediaConcatenationPipelineResponse.proto view
+ fixture/CreateMediaLiveConnectorPipeline.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/media-pipelines-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  media-pipelines-chime.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/CreateMediaLiveConnectorPipelineResponse.proto view
+ fixture/DeleteMediaCapturePipeline.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/media-pipelines-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  media-pipelines-chime.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/DeleteMediaCapturePipelineResponse.proto view
+ fixture/DeleteMediaPipeline.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/media-pipelines-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  media-pipelines-chime.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/DeleteMediaPipelineResponse.proto view
+ fixture/GetMediaCapturePipeline.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/media-pipelines-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  media-pipelines-chime.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/GetMediaCapturePipelineResponse.proto view
+ fixture/GetMediaPipeline.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/media-pipelines-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  media-pipelines-chime.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/GetMediaPipelineResponse.proto view
+ fixture/ListMediaCapturePipelines.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/media-pipelines-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  media-pipelines-chime.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/ListMediaCapturePipelinesResponse.proto view
+ fixture/ListMediaPipelines.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/media-pipelines-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  media-pipelines-chime.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/ListMediaPipelinesResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/media-pipelines-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  media-pipelines-chime.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/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/media-pipelines-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  media-pipelines-chime.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: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/media-pipelines-chime/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  media-pipelines-chime.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/ChimeSdkMediaPipelines.hs view
@@ -0,0 +1,366 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2021-07-15@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- The Amazon Chime SDK media pipeline APIs in this section allow software+-- developers to create Amazon Chime SDK media pipelines that capture,+-- concatenate, or stream your Amazon Chime SDK meetings. For more+-- information about media pipleines, see+-- <http://amazonaws.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Media_Pipelines.html Amazon Chime SDK media pipelines>.+module Amazonka.ChimeSdkMediaPipelines+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** BadRequestException+    _BadRequestException,++    -- ** ForbiddenException+    _ForbiddenException,++    -- ** NotFoundException+    _NotFoundException,++    -- ** ResourceLimitExceededException+    _ResourceLimitExceededException,++    -- ** ServiceFailureException+    _ServiceFailureException,++    -- ** ServiceUnavailableException+    _ServiceUnavailableException,++    -- ** ThrottledClientException+    _ThrottledClientException,++    -- ** UnauthorizedClientException+    _UnauthorizedClientException,++    -- * Waiters+    -- $waiters++    -- * Operations+    -- $operations++    -- ** CreateMediaCapturePipeline+    CreateMediaCapturePipeline (CreateMediaCapturePipeline'),+    newCreateMediaCapturePipeline,+    CreateMediaCapturePipelineResponse (CreateMediaCapturePipelineResponse'),+    newCreateMediaCapturePipelineResponse,++    -- ** CreateMediaConcatenationPipeline+    CreateMediaConcatenationPipeline (CreateMediaConcatenationPipeline'),+    newCreateMediaConcatenationPipeline,+    CreateMediaConcatenationPipelineResponse (CreateMediaConcatenationPipelineResponse'),+    newCreateMediaConcatenationPipelineResponse,++    -- ** CreateMediaLiveConnectorPipeline+    CreateMediaLiveConnectorPipeline (CreateMediaLiveConnectorPipeline'),+    newCreateMediaLiveConnectorPipeline,+    CreateMediaLiveConnectorPipelineResponse (CreateMediaLiveConnectorPipelineResponse'),+    newCreateMediaLiveConnectorPipelineResponse,++    -- ** DeleteMediaCapturePipeline+    DeleteMediaCapturePipeline (DeleteMediaCapturePipeline'),+    newDeleteMediaCapturePipeline,+    DeleteMediaCapturePipelineResponse (DeleteMediaCapturePipelineResponse'),+    newDeleteMediaCapturePipelineResponse,++    -- ** DeleteMediaPipeline+    DeleteMediaPipeline (DeleteMediaPipeline'),+    newDeleteMediaPipeline,+    DeleteMediaPipelineResponse (DeleteMediaPipelineResponse'),+    newDeleteMediaPipelineResponse,++    -- ** GetMediaCapturePipeline+    GetMediaCapturePipeline (GetMediaCapturePipeline'),+    newGetMediaCapturePipeline,+    GetMediaCapturePipelineResponse (GetMediaCapturePipelineResponse'),+    newGetMediaCapturePipelineResponse,++    -- ** GetMediaPipeline+    GetMediaPipeline (GetMediaPipeline'),+    newGetMediaPipeline,+    GetMediaPipelineResponse (GetMediaPipelineResponse'),+    newGetMediaPipelineResponse,++    -- ** ListMediaCapturePipelines+    ListMediaCapturePipelines (ListMediaCapturePipelines'),+    newListMediaCapturePipelines,+    ListMediaCapturePipelinesResponse (ListMediaCapturePipelinesResponse'),+    newListMediaCapturePipelinesResponse,++    -- ** ListMediaPipelines+    ListMediaPipelines (ListMediaPipelines'),+    newListMediaPipelines,+    ListMediaPipelinesResponse (ListMediaPipelinesResponse'),+    newListMediaPipelinesResponse,++    -- ** ListTagsForResource+    ListTagsForResource (ListTagsForResource'),+    newListTagsForResource,+    ListTagsForResourceResponse (ListTagsForResourceResponse'),+    newListTagsForResourceResponse,++    -- ** TagResource+    TagResource (TagResource'),+    newTagResource,+    TagResourceResponse (TagResourceResponse'),+    newTagResourceResponse,++    -- ** UntagResource+    UntagResource (UntagResource'),+    newUntagResource,+    UntagResourceResponse (UntagResourceResponse'),+    newUntagResourceResponse,++    -- * Types++    -- ** ArtifactsConcatenationState+    ArtifactsConcatenationState (..),++    -- ** ArtifactsState+    ArtifactsState (..),++    -- ** AudioArtifactsConcatenationState+    AudioArtifactsConcatenationState (..),++    -- ** AudioChannelsOption+    AudioChannelsOption (..),++    -- ** AudioMuxType+    AudioMuxType (..),++    -- ** ConcatenationSinkType+    ConcatenationSinkType (..),++    -- ** ConcatenationSourceType+    ConcatenationSourceType (..),++    -- ** ContentMuxType+    ContentMuxType (..),++    -- ** ContentShareLayoutOption+    ContentShareLayoutOption (..),++    -- ** LayoutOption+    LayoutOption (..),++    -- ** LiveConnectorMuxType+    LiveConnectorMuxType (..),++    -- ** LiveConnectorSinkType+    LiveConnectorSinkType (..),++    -- ** LiveConnectorSourceType+    LiveConnectorSourceType (..),++    -- ** MediaPipelineSinkType+    MediaPipelineSinkType (..),++    -- ** MediaPipelineSourceType+    MediaPipelineSourceType (..),++    -- ** MediaPipelineStatus+    MediaPipelineStatus (..),++    -- ** PresenterPosition+    PresenterPosition (..),++    -- ** ResolutionOption+    ResolutionOption (..),++    -- ** VideoMuxType+    VideoMuxType (..),++    -- ** ArtifactsConcatenationConfiguration+    ArtifactsConcatenationConfiguration (ArtifactsConcatenationConfiguration'),+    newArtifactsConcatenationConfiguration,++    -- ** ArtifactsConfiguration+    ArtifactsConfiguration (ArtifactsConfiguration'),+    newArtifactsConfiguration,++    -- ** AudioArtifactsConfiguration+    AudioArtifactsConfiguration (AudioArtifactsConfiguration'),+    newAudioArtifactsConfiguration,++    -- ** AudioConcatenationConfiguration+    AudioConcatenationConfiguration (AudioConcatenationConfiguration'),+    newAudioConcatenationConfiguration,++    -- ** ChimeSdkMeetingConcatenationConfiguration+    ChimeSdkMeetingConcatenationConfiguration (ChimeSdkMeetingConcatenationConfiguration'),+    newChimeSdkMeetingConcatenationConfiguration,++    -- ** ChimeSdkMeetingConfiguration+    ChimeSdkMeetingConfiguration (ChimeSdkMeetingConfiguration'),+    newChimeSdkMeetingConfiguration,++    -- ** ChimeSdkMeetingLiveConnectorConfiguration+    ChimeSdkMeetingLiveConnectorConfiguration (ChimeSdkMeetingLiveConnectorConfiguration'),+    newChimeSdkMeetingLiveConnectorConfiguration,++    -- ** CompositedVideoArtifactsConfiguration+    CompositedVideoArtifactsConfiguration (CompositedVideoArtifactsConfiguration'),+    newCompositedVideoArtifactsConfiguration,++    -- ** CompositedVideoConcatenationConfiguration+    CompositedVideoConcatenationConfiguration (CompositedVideoConcatenationConfiguration'),+    newCompositedVideoConcatenationConfiguration,++    -- ** ConcatenationSink+    ConcatenationSink (ConcatenationSink'),+    newConcatenationSink,++    -- ** ConcatenationSource+    ConcatenationSource (ConcatenationSource'),+    newConcatenationSource,++    -- ** ContentArtifactsConfiguration+    ContentArtifactsConfiguration (ContentArtifactsConfiguration'),+    newContentArtifactsConfiguration,++    -- ** ContentConcatenationConfiguration+    ContentConcatenationConfiguration (ContentConcatenationConfiguration'),+    newContentConcatenationConfiguration,++    -- ** DataChannelConcatenationConfiguration+    DataChannelConcatenationConfiguration (DataChannelConcatenationConfiguration'),+    newDataChannelConcatenationConfiguration,++    -- ** GridViewConfiguration+    GridViewConfiguration (GridViewConfiguration'),+    newGridViewConfiguration,++    -- ** LiveConnectorRTMPConfiguration+    LiveConnectorRTMPConfiguration (LiveConnectorRTMPConfiguration'),+    newLiveConnectorRTMPConfiguration,++    -- ** LiveConnectorSinkConfiguration+    LiveConnectorSinkConfiguration (LiveConnectorSinkConfiguration'),+    newLiveConnectorSinkConfiguration,++    -- ** LiveConnectorSourceConfiguration+    LiveConnectorSourceConfiguration (LiveConnectorSourceConfiguration'),+    newLiveConnectorSourceConfiguration,++    -- ** MediaCapturePipeline+    MediaCapturePipeline (MediaCapturePipeline'),+    newMediaCapturePipeline,++    -- ** MediaCapturePipelineSourceConfiguration+    MediaCapturePipelineSourceConfiguration (MediaCapturePipelineSourceConfiguration'),+    newMediaCapturePipelineSourceConfiguration,++    -- ** MediaCapturePipelineSummary+    MediaCapturePipelineSummary (MediaCapturePipelineSummary'),+    newMediaCapturePipelineSummary,++    -- ** MediaConcatenationPipeline+    MediaConcatenationPipeline (MediaConcatenationPipeline'),+    newMediaConcatenationPipeline,++    -- ** MediaLiveConnectorPipeline+    MediaLiveConnectorPipeline (MediaLiveConnectorPipeline'),+    newMediaLiveConnectorPipeline,++    -- ** MediaPipeline+    MediaPipeline (MediaPipeline'),+    newMediaPipeline,++    -- ** MediaPipelineSummary+    MediaPipelineSummary (MediaPipelineSummary'),+    newMediaPipelineSummary,++    -- ** MeetingEventsConcatenationConfiguration+    MeetingEventsConcatenationConfiguration (MeetingEventsConcatenationConfiguration'),+    newMeetingEventsConcatenationConfiguration,++    -- ** PresenterOnlyConfiguration+    PresenterOnlyConfiguration (PresenterOnlyConfiguration'),+    newPresenterOnlyConfiguration,++    -- ** S3BucketSinkConfiguration+    S3BucketSinkConfiguration (S3BucketSinkConfiguration'),+    newS3BucketSinkConfiguration,++    -- ** SelectedVideoStreams+    SelectedVideoStreams (SelectedVideoStreams'),+    newSelectedVideoStreams,++    -- ** SourceConfiguration+    SourceConfiguration (SourceConfiguration'),+    newSourceConfiguration,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** TranscriptionMessagesConcatenationConfiguration+    TranscriptionMessagesConcatenationConfiguration (TranscriptionMessagesConcatenationConfiguration'),+    newTranscriptionMessagesConcatenationConfiguration,++    -- ** VideoArtifactsConfiguration+    VideoArtifactsConfiguration (VideoArtifactsConfiguration'),+    newVideoArtifactsConfiguration,++    -- ** VideoConcatenationConfiguration+    VideoConcatenationConfiguration (VideoConcatenationConfiguration'),+    newVideoConcatenationConfiguration,+  )+where++import Amazonka.ChimeSdkMediaPipelines.CreateMediaCapturePipeline+import Amazonka.ChimeSdkMediaPipelines.CreateMediaConcatenationPipeline+import Amazonka.ChimeSdkMediaPipelines.CreateMediaLiveConnectorPipeline+import Amazonka.ChimeSdkMediaPipelines.DeleteMediaCapturePipeline+import Amazonka.ChimeSdkMediaPipelines.DeleteMediaPipeline+import Amazonka.ChimeSdkMediaPipelines.GetMediaCapturePipeline+import Amazonka.ChimeSdkMediaPipelines.GetMediaPipeline+import Amazonka.ChimeSdkMediaPipelines.Lens+import Amazonka.ChimeSdkMediaPipelines.ListMediaCapturePipelines+import Amazonka.ChimeSdkMediaPipelines.ListMediaPipelines+import Amazonka.ChimeSdkMediaPipelines.ListTagsForResource+import Amazonka.ChimeSdkMediaPipelines.TagResource+import Amazonka.ChimeSdkMediaPipelines.Types+import Amazonka.ChimeSdkMediaPipelines.UntagResource+import Amazonka.ChimeSdkMediaPipelines.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 'ChimeSdkMediaPipelines'.++-- $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/ChimeSdkMediaPipelines/CreateMediaCapturePipeline.hs view
@@ -0,0 +1,270 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.CreateMediaCapturePipeline+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a media pipeline.+module Amazonka.ChimeSdkMediaPipelines.CreateMediaCapturePipeline+  ( -- * Creating a Request+    CreateMediaCapturePipeline (..),+    newCreateMediaCapturePipeline,++    -- * Request Lenses+    createMediaCapturePipeline_chimeSdkMeetingConfiguration,+    createMediaCapturePipeline_clientRequestToken,+    createMediaCapturePipeline_tags,+    createMediaCapturePipeline_sourceType,+    createMediaCapturePipeline_sourceArn,+    createMediaCapturePipeline_sinkType,+    createMediaCapturePipeline_sinkArn,++    -- * Destructuring the Response+    CreateMediaCapturePipelineResponse (..),+    newCreateMediaCapturePipelineResponse,++    -- * Response Lenses+    createMediaCapturePipelineResponse_mediaCapturePipeline,+    createMediaCapturePipelineResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMediaPipelines.Types+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++-- | /See:/ 'newCreateMediaCapturePipeline' smart constructor.+data CreateMediaCapturePipeline = CreateMediaCapturePipeline'+  { -- | The configuration for a specified media pipeline. @SourceType@ must be+    -- @ChimeSdkMeeting@.+    chimeSdkMeetingConfiguration :: Prelude.Maybe ChimeSdkMeetingConfiguration,+    -- | The unique identifier for the client request. The token makes the API+    -- request idempotent. Use a unique token for each media pipeline request.+    clientRequestToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The tag key-value pairs.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | Source type from which the media artifacts are captured. A Chime SDK+    -- Meeting is the only supported source.+    sourceType :: MediaPipelineSourceType,+    -- | ARN of the source from which the media artifacts are captured.+    sourceArn :: Data.Sensitive Prelude.Text,+    -- | Destination type to which the media artifacts are saved. You must use an+    -- S3 bucket.+    sinkType :: MediaPipelineSinkType,+    -- | The ARN of the sink type.+    sinkArn :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMediaCapturePipeline' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'chimeSdkMeetingConfiguration', 'createMediaCapturePipeline_chimeSdkMeetingConfiguration' - The configuration for a specified media pipeline. @SourceType@ must be+-- @ChimeSdkMeeting@.+--+-- 'clientRequestToken', 'createMediaCapturePipeline_clientRequestToken' - The unique identifier for the client request. The token makes the API+-- request idempotent. Use a unique token for each media pipeline request.+--+-- 'tags', 'createMediaCapturePipeline_tags' - The tag key-value pairs.+--+-- 'sourceType', 'createMediaCapturePipeline_sourceType' - Source type from which the media artifacts are captured. A Chime SDK+-- Meeting is the only supported source.+--+-- 'sourceArn', 'createMediaCapturePipeline_sourceArn' - ARN of the source from which the media artifacts are captured.+--+-- 'sinkType', 'createMediaCapturePipeline_sinkType' - Destination type to which the media artifacts are saved. You must use an+-- S3 bucket.+--+-- 'sinkArn', 'createMediaCapturePipeline_sinkArn' - The ARN of the sink type.+newCreateMediaCapturePipeline ::+  -- | 'sourceType'+  MediaPipelineSourceType ->+  -- | 'sourceArn'+  Prelude.Text ->+  -- | 'sinkType'+  MediaPipelineSinkType ->+  -- | 'sinkArn'+  Prelude.Text ->+  CreateMediaCapturePipeline+newCreateMediaCapturePipeline+  pSourceType_+  pSourceArn_+  pSinkType_+  pSinkArn_ =+    CreateMediaCapturePipeline'+      { chimeSdkMeetingConfiguration =+          Prelude.Nothing,+        clientRequestToken = Prelude.Nothing,+        tags = Prelude.Nothing,+        sourceType = pSourceType_,+        sourceArn = Data._Sensitive Lens.# pSourceArn_,+        sinkType = pSinkType_,+        sinkArn = Data._Sensitive Lens.# pSinkArn_+      }++-- | The configuration for a specified media pipeline. @SourceType@ must be+-- @ChimeSdkMeeting@.+createMediaCapturePipeline_chimeSdkMeetingConfiguration :: Lens.Lens' CreateMediaCapturePipeline (Prelude.Maybe ChimeSdkMeetingConfiguration)+createMediaCapturePipeline_chimeSdkMeetingConfiguration = Lens.lens (\CreateMediaCapturePipeline' {chimeSdkMeetingConfiguration} -> chimeSdkMeetingConfiguration) (\s@CreateMediaCapturePipeline' {} a -> s {chimeSdkMeetingConfiguration = a} :: CreateMediaCapturePipeline)++-- | The unique identifier for the client request. The token makes the API+-- request idempotent. Use a unique token for each media pipeline request.+createMediaCapturePipeline_clientRequestToken :: Lens.Lens' CreateMediaCapturePipeline (Prelude.Maybe Prelude.Text)+createMediaCapturePipeline_clientRequestToken = Lens.lens (\CreateMediaCapturePipeline' {clientRequestToken} -> clientRequestToken) (\s@CreateMediaCapturePipeline' {} a -> s {clientRequestToken = a} :: CreateMediaCapturePipeline) Prelude.. Lens.mapping Data._Sensitive++-- | The tag key-value pairs.+createMediaCapturePipeline_tags :: Lens.Lens' CreateMediaCapturePipeline (Prelude.Maybe (Prelude.NonEmpty Tag))+createMediaCapturePipeline_tags = Lens.lens (\CreateMediaCapturePipeline' {tags} -> tags) (\s@CreateMediaCapturePipeline' {} a -> s {tags = a} :: CreateMediaCapturePipeline) Prelude.. Lens.mapping Lens.coerced++-- | Source type from which the media artifacts are captured. A Chime SDK+-- Meeting is the only supported source.+createMediaCapturePipeline_sourceType :: Lens.Lens' CreateMediaCapturePipeline MediaPipelineSourceType+createMediaCapturePipeline_sourceType = Lens.lens (\CreateMediaCapturePipeline' {sourceType} -> sourceType) (\s@CreateMediaCapturePipeline' {} a -> s {sourceType = a} :: CreateMediaCapturePipeline)++-- | ARN of the source from which the media artifacts are captured.+createMediaCapturePipeline_sourceArn :: Lens.Lens' CreateMediaCapturePipeline Prelude.Text+createMediaCapturePipeline_sourceArn = Lens.lens (\CreateMediaCapturePipeline' {sourceArn} -> sourceArn) (\s@CreateMediaCapturePipeline' {} a -> s {sourceArn = a} :: CreateMediaCapturePipeline) Prelude.. Data._Sensitive++-- | Destination type to which the media artifacts are saved. You must use an+-- S3 bucket.+createMediaCapturePipeline_sinkType :: Lens.Lens' CreateMediaCapturePipeline MediaPipelineSinkType+createMediaCapturePipeline_sinkType = Lens.lens (\CreateMediaCapturePipeline' {sinkType} -> sinkType) (\s@CreateMediaCapturePipeline' {} a -> s {sinkType = a} :: CreateMediaCapturePipeline)++-- | The ARN of the sink type.+createMediaCapturePipeline_sinkArn :: Lens.Lens' CreateMediaCapturePipeline Prelude.Text+createMediaCapturePipeline_sinkArn = Lens.lens (\CreateMediaCapturePipeline' {sinkArn} -> sinkArn) (\s@CreateMediaCapturePipeline' {} a -> s {sinkArn = a} :: CreateMediaCapturePipeline) Prelude.. Data._Sensitive++instance Core.AWSRequest CreateMediaCapturePipeline where+  type+    AWSResponse CreateMediaCapturePipeline =+      CreateMediaCapturePipelineResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateMediaCapturePipelineResponse'+            Prelude.<$> (x Data..?> "MediaCapturePipeline")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateMediaCapturePipeline where+  hashWithSalt _salt CreateMediaCapturePipeline' {..} =+    _salt+      `Prelude.hashWithSalt` chimeSdkMeetingConfiguration+      `Prelude.hashWithSalt` clientRequestToken+      `Prelude.hashWithSalt` tags+      `Prelude.hashWithSalt` sourceType+      `Prelude.hashWithSalt` sourceArn+      `Prelude.hashWithSalt` sinkType+      `Prelude.hashWithSalt` sinkArn++instance Prelude.NFData CreateMediaCapturePipeline where+  rnf CreateMediaCapturePipeline' {..} =+    Prelude.rnf chimeSdkMeetingConfiguration+      `Prelude.seq` Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf sourceType+      `Prelude.seq` Prelude.rnf sourceArn+      `Prelude.seq` Prelude.rnf sinkType+      `Prelude.seq` Prelude.rnf sinkArn++instance Data.ToHeaders CreateMediaCapturePipeline where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateMediaCapturePipeline where+  toJSON CreateMediaCapturePipeline' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ChimeSdkMeetingConfiguration" Data..=)+              Prelude.<$> chimeSdkMeetingConfiguration,+            ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("SourceType" Data..= sourceType),+            Prelude.Just ("SourceArn" Data..= sourceArn),+            Prelude.Just ("SinkType" Data..= sinkType),+            Prelude.Just ("SinkArn" Data..= sinkArn)+          ]+      )++instance Data.ToPath CreateMediaCapturePipeline where+  toPath = Prelude.const "/sdk-media-capture-pipelines"++instance Data.ToQuery CreateMediaCapturePipeline where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateMediaCapturePipelineResponse' smart constructor.+data CreateMediaCapturePipelineResponse = CreateMediaCapturePipelineResponse'+  { -- | A media pipeline object, the ID, source type, source ARN, sink type, and+    -- sink ARN of a media pipeline object.+    mediaCapturePipeline :: Prelude.Maybe MediaCapturePipeline,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMediaCapturePipelineResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaCapturePipeline', 'createMediaCapturePipelineResponse_mediaCapturePipeline' - A media pipeline object, the ID, source type, source ARN, sink type, and+-- sink ARN of a media pipeline object.+--+-- 'httpStatus', 'createMediaCapturePipelineResponse_httpStatus' - The response's http status code.+newCreateMediaCapturePipelineResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateMediaCapturePipelineResponse+newCreateMediaCapturePipelineResponse pHttpStatus_ =+  CreateMediaCapturePipelineResponse'+    { mediaCapturePipeline =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A media pipeline object, the ID, source type, source ARN, sink type, and+-- sink ARN of a media pipeline object.+createMediaCapturePipelineResponse_mediaCapturePipeline :: Lens.Lens' CreateMediaCapturePipelineResponse (Prelude.Maybe MediaCapturePipeline)+createMediaCapturePipelineResponse_mediaCapturePipeline = Lens.lens (\CreateMediaCapturePipelineResponse' {mediaCapturePipeline} -> mediaCapturePipeline) (\s@CreateMediaCapturePipelineResponse' {} a -> s {mediaCapturePipeline = a} :: CreateMediaCapturePipelineResponse)++-- | The response's http status code.+createMediaCapturePipelineResponse_httpStatus :: Lens.Lens' CreateMediaCapturePipelineResponse Prelude.Int+createMediaCapturePipelineResponse_httpStatus = Lens.lens (\CreateMediaCapturePipelineResponse' {httpStatus} -> httpStatus) (\s@CreateMediaCapturePipelineResponse' {} a -> s {httpStatus = a} :: CreateMediaCapturePipelineResponse)++instance+  Prelude.NFData+    CreateMediaCapturePipelineResponse+  where+  rnf CreateMediaCapturePipelineResponse' {..} =+    Prelude.rnf mediaCapturePipeline+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMediaPipelines/CreateMediaConcatenationPipeline.hs view
@@ -0,0 +1,241 @@+{-# 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.ChimeSdkMediaPipelines.CreateMediaConcatenationPipeline+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a media concatenation pipeline.+module Amazonka.ChimeSdkMediaPipelines.CreateMediaConcatenationPipeline+  ( -- * Creating a Request+    CreateMediaConcatenationPipeline (..),+    newCreateMediaConcatenationPipeline,++    -- * Request Lenses+    createMediaConcatenationPipeline_clientRequestToken,+    createMediaConcatenationPipeline_tags,+    createMediaConcatenationPipeline_sources,+    createMediaConcatenationPipeline_sinks,++    -- * Destructuring the Response+    CreateMediaConcatenationPipelineResponse (..),+    newCreateMediaConcatenationPipelineResponse,++    -- * Response Lenses+    createMediaConcatenationPipelineResponse_mediaConcatenationPipeline,+    createMediaConcatenationPipelineResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMediaPipelines.Types+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++-- | /See:/ 'newCreateMediaConcatenationPipeline' smart constructor.+data CreateMediaConcatenationPipeline = CreateMediaConcatenationPipeline'+  { -- | The unique identifier for the client request. The token makes the API+    -- request idempotent. Use a unique token for each media concatenation+    -- pipeline request.+    clientRequestToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The tags associated with the media concatenation pipeline.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | An object that specifies the sources for the media concatenation+    -- pipeline.+    sources :: Prelude.NonEmpty ConcatenationSource,+    -- | An object that specifies the data sinks for the media concatenation+    -- pipeline.+    sinks :: Prelude.NonEmpty ConcatenationSink+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMediaConcatenationPipeline' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createMediaConcatenationPipeline_clientRequestToken' - The unique identifier for the client request. The token makes the API+-- request idempotent. Use a unique token for each media concatenation+-- pipeline request.+--+-- 'tags', 'createMediaConcatenationPipeline_tags' - The tags associated with the media concatenation pipeline.+--+-- 'sources', 'createMediaConcatenationPipeline_sources' - An object that specifies the sources for the media concatenation+-- pipeline.+--+-- 'sinks', 'createMediaConcatenationPipeline_sinks' - An object that specifies the data sinks for the media concatenation+-- pipeline.+newCreateMediaConcatenationPipeline ::+  -- | 'sources'+  Prelude.NonEmpty ConcatenationSource ->+  -- | 'sinks'+  Prelude.NonEmpty ConcatenationSink ->+  CreateMediaConcatenationPipeline+newCreateMediaConcatenationPipeline pSources_ pSinks_ =+  CreateMediaConcatenationPipeline'+    { clientRequestToken =+        Prelude.Nothing,+      tags = Prelude.Nothing,+      sources = Lens.coerced Lens.# pSources_,+      sinks = Lens.coerced Lens.# pSinks_+    }++-- | The unique identifier for the client request. The token makes the API+-- request idempotent. Use a unique token for each media concatenation+-- pipeline request.+createMediaConcatenationPipeline_clientRequestToken :: Lens.Lens' CreateMediaConcatenationPipeline (Prelude.Maybe Prelude.Text)+createMediaConcatenationPipeline_clientRequestToken = Lens.lens (\CreateMediaConcatenationPipeline' {clientRequestToken} -> clientRequestToken) (\s@CreateMediaConcatenationPipeline' {} a -> s {clientRequestToken = a} :: CreateMediaConcatenationPipeline) Prelude.. Lens.mapping Data._Sensitive++-- | The tags associated with the media concatenation pipeline.+createMediaConcatenationPipeline_tags :: Lens.Lens' CreateMediaConcatenationPipeline (Prelude.Maybe (Prelude.NonEmpty Tag))+createMediaConcatenationPipeline_tags = Lens.lens (\CreateMediaConcatenationPipeline' {tags} -> tags) (\s@CreateMediaConcatenationPipeline' {} a -> s {tags = a} :: CreateMediaConcatenationPipeline) Prelude.. Lens.mapping Lens.coerced++-- | An object that specifies the sources for the media concatenation+-- pipeline.+createMediaConcatenationPipeline_sources :: Lens.Lens' CreateMediaConcatenationPipeline (Prelude.NonEmpty ConcatenationSource)+createMediaConcatenationPipeline_sources = Lens.lens (\CreateMediaConcatenationPipeline' {sources} -> sources) (\s@CreateMediaConcatenationPipeline' {} a -> s {sources = a} :: CreateMediaConcatenationPipeline) Prelude.. Lens.coerced++-- | An object that specifies the data sinks for the media concatenation+-- pipeline.+createMediaConcatenationPipeline_sinks :: Lens.Lens' CreateMediaConcatenationPipeline (Prelude.NonEmpty ConcatenationSink)+createMediaConcatenationPipeline_sinks = Lens.lens (\CreateMediaConcatenationPipeline' {sinks} -> sinks) (\s@CreateMediaConcatenationPipeline' {} a -> s {sinks = a} :: CreateMediaConcatenationPipeline) Prelude.. Lens.coerced++instance+  Core.AWSRequest+    CreateMediaConcatenationPipeline+  where+  type+    AWSResponse CreateMediaConcatenationPipeline =+      CreateMediaConcatenationPipelineResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateMediaConcatenationPipelineResponse'+            Prelude.<$> (x Data..?> "MediaConcatenationPipeline")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    CreateMediaConcatenationPipeline+  where+  hashWithSalt+    _salt+    CreateMediaConcatenationPipeline' {..} =+      _salt+        `Prelude.hashWithSalt` clientRequestToken+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` sources+        `Prelude.hashWithSalt` sinks++instance+  Prelude.NFData+    CreateMediaConcatenationPipeline+  where+  rnf CreateMediaConcatenationPipeline' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf sources+      `Prelude.seq` Prelude.rnf sinks++instance+  Data.ToHeaders+    CreateMediaConcatenationPipeline+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateMediaConcatenationPipeline where+  toJSON CreateMediaConcatenationPipeline' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Sources" Data..= sources),+            Prelude.Just ("Sinks" Data..= sinks)+          ]+      )++instance Data.ToPath CreateMediaConcatenationPipeline where+  toPath =+    Prelude.const "/sdk-media-concatenation-pipelines"++instance+  Data.ToQuery+    CreateMediaConcatenationPipeline+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateMediaConcatenationPipelineResponse' smart constructor.+data CreateMediaConcatenationPipelineResponse = CreateMediaConcatenationPipelineResponse'+  { -- | A media concatenation pipeline object, the ID, source type,+    -- @MediaPipelineARN@, and sink of a media concatenation pipeline object.+    mediaConcatenationPipeline :: Prelude.Maybe MediaConcatenationPipeline,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMediaConcatenationPipelineResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaConcatenationPipeline', 'createMediaConcatenationPipelineResponse_mediaConcatenationPipeline' - A media concatenation pipeline object, the ID, source type,+-- @MediaPipelineARN@, and sink of a media concatenation pipeline object.+--+-- 'httpStatus', 'createMediaConcatenationPipelineResponse_httpStatus' - The response's http status code.+newCreateMediaConcatenationPipelineResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateMediaConcatenationPipelineResponse+newCreateMediaConcatenationPipelineResponse+  pHttpStatus_ =+    CreateMediaConcatenationPipelineResponse'+      { mediaConcatenationPipeline =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | A media concatenation pipeline object, the ID, source type,+-- @MediaPipelineARN@, and sink of a media concatenation pipeline object.+createMediaConcatenationPipelineResponse_mediaConcatenationPipeline :: Lens.Lens' CreateMediaConcatenationPipelineResponse (Prelude.Maybe MediaConcatenationPipeline)+createMediaConcatenationPipelineResponse_mediaConcatenationPipeline = Lens.lens (\CreateMediaConcatenationPipelineResponse' {mediaConcatenationPipeline} -> mediaConcatenationPipeline) (\s@CreateMediaConcatenationPipelineResponse' {} a -> s {mediaConcatenationPipeline = a} :: CreateMediaConcatenationPipelineResponse)++-- | The response's http status code.+createMediaConcatenationPipelineResponse_httpStatus :: Lens.Lens' CreateMediaConcatenationPipelineResponse Prelude.Int+createMediaConcatenationPipelineResponse_httpStatus = Lens.lens (\CreateMediaConcatenationPipelineResponse' {httpStatus} -> httpStatus) (\s@CreateMediaConcatenationPipelineResponse' {} a -> s {httpStatus = a} :: CreateMediaConcatenationPipelineResponse)++instance+  Prelude.NFData+    CreateMediaConcatenationPipelineResponse+  where+  rnf CreateMediaConcatenationPipelineResponse' {..} =+    Prelude.rnf mediaConcatenationPipeline+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMediaPipelines/CreateMediaLiveConnectorPipeline.hs view
@@ -0,0 +1,226 @@+{-# 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.ChimeSdkMediaPipelines.CreateMediaLiveConnectorPipeline+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a streaming media pipeline in an Amazon Chime SDK meeting.+module Amazonka.ChimeSdkMediaPipelines.CreateMediaLiveConnectorPipeline+  ( -- * Creating a Request+    CreateMediaLiveConnectorPipeline (..),+    newCreateMediaLiveConnectorPipeline,++    -- * Request Lenses+    createMediaLiveConnectorPipeline_clientRequestToken,+    createMediaLiveConnectorPipeline_tags,+    createMediaLiveConnectorPipeline_sources,+    createMediaLiveConnectorPipeline_sinks,++    -- * Destructuring the Response+    CreateMediaLiveConnectorPipelineResponse (..),+    newCreateMediaLiveConnectorPipelineResponse,++    -- * Response Lenses+    createMediaLiveConnectorPipelineResponse_mediaLiveConnectorPipeline,+    createMediaLiveConnectorPipelineResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMediaPipelines.Types+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++-- | /See:/ 'newCreateMediaLiveConnectorPipeline' smart constructor.+data CreateMediaLiveConnectorPipeline = CreateMediaLiveConnectorPipeline'+  { -- | The token assigned to the client making the request.+    clientRequestToken :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The tags associated with the media pipeline.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The media pipeline\'s data sources.+    sources :: Prelude.NonEmpty LiveConnectorSourceConfiguration,+    -- | The media pipeline\'s data sinks.+    sinks :: Prelude.NonEmpty LiveConnectorSinkConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMediaLiveConnectorPipeline' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'clientRequestToken', 'createMediaLiveConnectorPipeline_clientRequestToken' - The token assigned to the client making the request.+--+-- 'tags', 'createMediaLiveConnectorPipeline_tags' - The tags associated with the media pipeline.+--+-- 'sources', 'createMediaLiveConnectorPipeline_sources' - The media pipeline\'s data sources.+--+-- 'sinks', 'createMediaLiveConnectorPipeline_sinks' - The media pipeline\'s data sinks.+newCreateMediaLiveConnectorPipeline ::+  -- | 'sources'+  Prelude.NonEmpty LiveConnectorSourceConfiguration ->+  -- | 'sinks'+  Prelude.NonEmpty LiveConnectorSinkConfiguration ->+  CreateMediaLiveConnectorPipeline+newCreateMediaLiveConnectorPipeline pSources_ pSinks_ =+  CreateMediaLiveConnectorPipeline'+    { clientRequestToken =+        Prelude.Nothing,+      tags = Prelude.Nothing,+      sources = Lens.coerced Lens.# pSources_,+      sinks = Lens.coerced Lens.# pSinks_+    }++-- | The token assigned to the client making the request.+createMediaLiveConnectorPipeline_clientRequestToken :: Lens.Lens' CreateMediaLiveConnectorPipeline (Prelude.Maybe Prelude.Text)+createMediaLiveConnectorPipeline_clientRequestToken = Lens.lens (\CreateMediaLiveConnectorPipeline' {clientRequestToken} -> clientRequestToken) (\s@CreateMediaLiveConnectorPipeline' {} a -> s {clientRequestToken = a} :: CreateMediaLiveConnectorPipeline) Prelude.. Lens.mapping Data._Sensitive++-- | The tags associated with the media pipeline.+createMediaLiveConnectorPipeline_tags :: Lens.Lens' CreateMediaLiveConnectorPipeline (Prelude.Maybe (Prelude.NonEmpty Tag))+createMediaLiveConnectorPipeline_tags = Lens.lens (\CreateMediaLiveConnectorPipeline' {tags} -> tags) (\s@CreateMediaLiveConnectorPipeline' {} a -> s {tags = a} :: CreateMediaLiveConnectorPipeline) Prelude.. Lens.mapping Lens.coerced++-- | The media pipeline\'s data sources.+createMediaLiveConnectorPipeline_sources :: Lens.Lens' CreateMediaLiveConnectorPipeline (Prelude.NonEmpty LiveConnectorSourceConfiguration)+createMediaLiveConnectorPipeline_sources = Lens.lens (\CreateMediaLiveConnectorPipeline' {sources} -> sources) (\s@CreateMediaLiveConnectorPipeline' {} a -> s {sources = a} :: CreateMediaLiveConnectorPipeline) Prelude.. Lens.coerced++-- | The media pipeline\'s data sinks.+createMediaLiveConnectorPipeline_sinks :: Lens.Lens' CreateMediaLiveConnectorPipeline (Prelude.NonEmpty LiveConnectorSinkConfiguration)+createMediaLiveConnectorPipeline_sinks = Lens.lens (\CreateMediaLiveConnectorPipeline' {sinks} -> sinks) (\s@CreateMediaLiveConnectorPipeline' {} a -> s {sinks = a} :: CreateMediaLiveConnectorPipeline) Prelude.. Lens.coerced++instance+  Core.AWSRequest+    CreateMediaLiveConnectorPipeline+  where+  type+    AWSResponse CreateMediaLiveConnectorPipeline =+      CreateMediaLiveConnectorPipelineResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          CreateMediaLiveConnectorPipelineResponse'+            Prelude.<$> (x Data..?> "MediaLiveConnectorPipeline")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    CreateMediaLiveConnectorPipeline+  where+  hashWithSalt+    _salt+    CreateMediaLiveConnectorPipeline' {..} =+      _salt+        `Prelude.hashWithSalt` clientRequestToken+        `Prelude.hashWithSalt` tags+        `Prelude.hashWithSalt` sources+        `Prelude.hashWithSalt` sinks++instance+  Prelude.NFData+    CreateMediaLiveConnectorPipeline+  where+  rnf CreateMediaLiveConnectorPipeline' {..} =+    Prelude.rnf clientRequestToken+      `Prelude.seq` Prelude.rnf tags+      `Prelude.seq` Prelude.rnf sources+      `Prelude.seq` Prelude.rnf sinks++instance+  Data.ToHeaders+    CreateMediaLiveConnectorPipeline+  where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON CreateMediaLiveConnectorPipeline where+  toJSON CreateMediaLiveConnectorPipeline' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ClientRequestToken" Data..=)+              Prelude.<$> clientRequestToken,+            ("Tags" Data..=) Prelude.<$> tags,+            Prelude.Just ("Sources" Data..= sources),+            Prelude.Just ("Sinks" Data..= sinks)+          ]+      )++instance Data.ToPath CreateMediaLiveConnectorPipeline where+  toPath =+    Prelude.const "/sdk-media-live-connector-pipelines"++instance+  Data.ToQuery+    CreateMediaLiveConnectorPipeline+  where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateMediaLiveConnectorPipelineResponse' smart constructor.+data CreateMediaLiveConnectorPipelineResponse = CreateMediaLiveConnectorPipelineResponse'+  { -- | The new media pipeline.+    mediaLiveConnectorPipeline :: Prelude.Maybe MediaLiveConnectorPipeline,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMediaLiveConnectorPipelineResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaLiveConnectorPipeline', 'createMediaLiveConnectorPipelineResponse_mediaLiveConnectorPipeline' - The new media pipeline.+--+-- 'httpStatus', 'createMediaLiveConnectorPipelineResponse_httpStatus' - The response's http status code.+newCreateMediaLiveConnectorPipelineResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateMediaLiveConnectorPipelineResponse+newCreateMediaLiveConnectorPipelineResponse+  pHttpStatus_ =+    CreateMediaLiveConnectorPipelineResponse'+      { mediaLiveConnectorPipeline =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The new media pipeline.+createMediaLiveConnectorPipelineResponse_mediaLiveConnectorPipeline :: Lens.Lens' CreateMediaLiveConnectorPipelineResponse (Prelude.Maybe MediaLiveConnectorPipeline)+createMediaLiveConnectorPipelineResponse_mediaLiveConnectorPipeline = Lens.lens (\CreateMediaLiveConnectorPipelineResponse' {mediaLiveConnectorPipeline} -> mediaLiveConnectorPipeline) (\s@CreateMediaLiveConnectorPipelineResponse' {} a -> s {mediaLiveConnectorPipeline = a} :: CreateMediaLiveConnectorPipelineResponse)++-- | The response's http status code.+createMediaLiveConnectorPipelineResponse_httpStatus :: Lens.Lens' CreateMediaLiveConnectorPipelineResponse Prelude.Int+createMediaLiveConnectorPipelineResponse_httpStatus = Lens.lens (\CreateMediaLiveConnectorPipelineResponse' {httpStatus} -> httpStatus) (\s@CreateMediaLiveConnectorPipelineResponse' {} a -> s {httpStatus = a} :: CreateMediaLiveConnectorPipelineResponse)++instance+  Prelude.NFData+    CreateMediaLiveConnectorPipelineResponse+  where+  rnf CreateMediaLiveConnectorPipelineResponse' {..} =+    Prelude.rnf mediaLiveConnectorPipeline+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMediaPipelines/DeleteMediaCapturePipeline.hs view
@@ -0,0 +1,126 @@+{-# 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.ChimeSdkMediaPipelines.DeleteMediaCapturePipeline+-- 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 media pipeline.+module Amazonka.ChimeSdkMediaPipelines.DeleteMediaCapturePipeline+  ( -- * Creating a Request+    DeleteMediaCapturePipeline (..),+    newDeleteMediaCapturePipeline,++    -- * Request Lenses+    deleteMediaCapturePipeline_mediaPipelineId,++    -- * Destructuring the Response+    DeleteMediaCapturePipelineResponse (..),+    newDeleteMediaCapturePipelineResponse,+  )+where++import Amazonka.ChimeSdkMediaPipelines.Types+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++-- | /See:/ 'newDeleteMediaCapturePipeline' smart constructor.+data DeleteMediaCapturePipeline = DeleteMediaCapturePipeline'+  { -- | The ID of the media pipeline being deleted.+    mediaPipelineId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMediaCapturePipeline' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaPipelineId', 'deleteMediaCapturePipeline_mediaPipelineId' - The ID of the media pipeline being deleted.+newDeleteMediaCapturePipeline ::+  -- | 'mediaPipelineId'+  Prelude.Text ->+  DeleteMediaCapturePipeline+newDeleteMediaCapturePipeline pMediaPipelineId_ =+  DeleteMediaCapturePipeline'+    { mediaPipelineId =+        pMediaPipelineId_+    }++-- | The ID of the media pipeline being deleted.+deleteMediaCapturePipeline_mediaPipelineId :: Lens.Lens' DeleteMediaCapturePipeline Prelude.Text+deleteMediaCapturePipeline_mediaPipelineId = Lens.lens (\DeleteMediaCapturePipeline' {mediaPipelineId} -> mediaPipelineId) (\s@DeleteMediaCapturePipeline' {} a -> s {mediaPipelineId = a} :: DeleteMediaCapturePipeline)++instance Core.AWSRequest DeleteMediaCapturePipeline where+  type+    AWSResponse DeleteMediaCapturePipeline =+      DeleteMediaCapturePipelineResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteMediaCapturePipelineResponse'++instance Prelude.Hashable DeleteMediaCapturePipeline where+  hashWithSalt _salt DeleteMediaCapturePipeline' {..} =+    _salt `Prelude.hashWithSalt` mediaPipelineId++instance Prelude.NFData DeleteMediaCapturePipeline where+  rnf DeleteMediaCapturePipeline' {..} =+    Prelude.rnf mediaPipelineId++instance Data.ToHeaders DeleteMediaCapturePipeline where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteMediaCapturePipeline where+  toPath DeleteMediaCapturePipeline' {..} =+    Prelude.mconcat+      [ "/sdk-media-capture-pipelines/",+        Data.toBS mediaPipelineId+      ]++instance Data.ToQuery DeleteMediaCapturePipeline where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteMediaCapturePipelineResponse' smart constructor.+data DeleteMediaCapturePipelineResponse = DeleteMediaCapturePipelineResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMediaCapturePipelineResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteMediaCapturePipelineResponse ::+  DeleteMediaCapturePipelineResponse+newDeleteMediaCapturePipelineResponse =+  DeleteMediaCapturePipelineResponse'++instance+  Prelude.NFData+    DeleteMediaCapturePipelineResponse+  where+  rnf _ = ()
+ gen/Amazonka/ChimeSdkMediaPipelines/DeleteMediaPipeline.hs view
@@ -0,0 +1,120 @@+{-# 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.ChimeSdkMediaPipelines.DeleteMediaPipeline+-- 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 media pipeline.+module Amazonka.ChimeSdkMediaPipelines.DeleteMediaPipeline+  ( -- * Creating a Request+    DeleteMediaPipeline (..),+    newDeleteMediaPipeline,++    -- * Request Lenses+    deleteMediaPipeline_mediaPipelineId,++    -- * Destructuring the Response+    DeleteMediaPipelineResponse (..),+    newDeleteMediaPipelineResponse,+  )+where++import Amazonka.ChimeSdkMediaPipelines.Types+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++-- | /See:/ 'newDeleteMediaPipeline' smart constructor.+data DeleteMediaPipeline = DeleteMediaPipeline'+  { -- | The ID of the media pipeline to delete.+    mediaPipelineId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMediaPipeline' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaPipelineId', 'deleteMediaPipeline_mediaPipelineId' - The ID of the media pipeline to delete.+newDeleteMediaPipeline ::+  -- | 'mediaPipelineId'+  Prelude.Text ->+  DeleteMediaPipeline+newDeleteMediaPipeline pMediaPipelineId_ =+  DeleteMediaPipeline'+    { mediaPipelineId =+        pMediaPipelineId_+    }++-- | The ID of the media pipeline to delete.+deleteMediaPipeline_mediaPipelineId :: Lens.Lens' DeleteMediaPipeline Prelude.Text+deleteMediaPipeline_mediaPipelineId = Lens.lens (\DeleteMediaPipeline' {mediaPipelineId} -> mediaPipelineId) (\s@DeleteMediaPipeline' {} a -> s {mediaPipelineId = a} :: DeleteMediaPipeline)++instance Core.AWSRequest DeleteMediaPipeline where+  type+    AWSResponse DeleteMediaPipeline =+      DeleteMediaPipelineResponse+  request overrides =+    Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteMediaPipelineResponse'++instance Prelude.Hashable DeleteMediaPipeline where+  hashWithSalt _salt DeleteMediaPipeline' {..} =+    _salt `Prelude.hashWithSalt` mediaPipelineId++instance Prelude.NFData DeleteMediaPipeline where+  rnf DeleteMediaPipeline' {..} =+    Prelude.rnf mediaPipelineId++instance Data.ToHeaders DeleteMediaPipeline where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath DeleteMediaPipeline where+  toPath DeleteMediaPipeline' {..} =+    Prelude.mconcat+      ["/sdk-media-pipelines/", Data.toBS mediaPipelineId]++instance Data.ToQuery DeleteMediaPipeline where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteMediaPipelineResponse' smart constructor.+data DeleteMediaPipelineResponse = DeleteMediaPipelineResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMediaPipelineResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteMediaPipelineResponse ::+  DeleteMediaPipelineResponse+newDeleteMediaPipelineResponse =+  DeleteMediaPipelineResponse'++instance Prelude.NFData DeleteMediaPipelineResponse where+  rnf _ = ()
+ gen/Amazonka/ChimeSdkMediaPipelines/GetMediaCapturePipeline.hs view
@@ -0,0 +1,160 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.GetMediaCapturePipeline+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets an existing media pipeline.+module Amazonka.ChimeSdkMediaPipelines.GetMediaCapturePipeline+  ( -- * Creating a Request+    GetMediaCapturePipeline (..),+    newGetMediaCapturePipeline,++    -- * Request Lenses+    getMediaCapturePipeline_mediaPipelineId,++    -- * Destructuring the Response+    GetMediaCapturePipelineResponse (..),+    newGetMediaCapturePipelineResponse,++    -- * Response Lenses+    getMediaCapturePipelineResponse_mediaCapturePipeline,+    getMediaCapturePipelineResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMediaPipelines.Types+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++-- | /See:/ 'newGetMediaCapturePipeline' smart constructor.+data GetMediaCapturePipeline = GetMediaCapturePipeline'+  { -- | The ID of the pipeline that you want to get.+    mediaPipelineId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMediaCapturePipeline' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaPipelineId', 'getMediaCapturePipeline_mediaPipelineId' - The ID of the pipeline that you want to get.+newGetMediaCapturePipeline ::+  -- | 'mediaPipelineId'+  Prelude.Text ->+  GetMediaCapturePipeline+newGetMediaCapturePipeline pMediaPipelineId_ =+  GetMediaCapturePipeline'+    { mediaPipelineId =+        pMediaPipelineId_+    }++-- | The ID of the pipeline that you want to get.+getMediaCapturePipeline_mediaPipelineId :: Lens.Lens' GetMediaCapturePipeline Prelude.Text+getMediaCapturePipeline_mediaPipelineId = Lens.lens (\GetMediaCapturePipeline' {mediaPipelineId} -> mediaPipelineId) (\s@GetMediaCapturePipeline' {} a -> s {mediaPipelineId = a} :: GetMediaCapturePipeline)++instance Core.AWSRequest GetMediaCapturePipeline where+  type+    AWSResponse GetMediaCapturePipeline =+      GetMediaCapturePipelineResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetMediaCapturePipelineResponse'+            Prelude.<$> (x Data..?> "MediaCapturePipeline")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetMediaCapturePipeline where+  hashWithSalt _salt GetMediaCapturePipeline' {..} =+    _salt `Prelude.hashWithSalt` mediaPipelineId++instance Prelude.NFData GetMediaCapturePipeline where+  rnf GetMediaCapturePipeline' {..} =+    Prelude.rnf mediaPipelineId++instance Data.ToHeaders GetMediaCapturePipeline where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetMediaCapturePipeline where+  toPath GetMediaCapturePipeline' {..} =+    Prelude.mconcat+      [ "/sdk-media-capture-pipelines/",+        Data.toBS mediaPipelineId+      ]++instance Data.ToQuery GetMediaCapturePipeline where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMediaCapturePipelineResponse' smart constructor.+data GetMediaCapturePipelineResponse = GetMediaCapturePipelineResponse'+  { -- | The media pipeline object.+    mediaCapturePipeline :: Prelude.Maybe MediaCapturePipeline,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMediaCapturePipelineResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaCapturePipeline', 'getMediaCapturePipelineResponse_mediaCapturePipeline' - The media pipeline object.+--+-- 'httpStatus', 'getMediaCapturePipelineResponse_httpStatus' - The response's http status code.+newGetMediaCapturePipelineResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetMediaCapturePipelineResponse+newGetMediaCapturePipelineResponse pHttpStatus_ =+  GetMediaCapturePipelineResponse'+    { mediaCapturePipeline =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The media pipeline object.+getMediaCapturePipelineResponse_mediaCapturePipeline :: Lens.Lens' GetMediaCapturePipelineResponse (Prelude.Maybe MediaCapturePipeline)+getMediaCapturePipelineResponse_mediaCapturePipeline = Lens.lens (\GetMediaCapturePipelineResponse' {mediaCapturePipeline} -> mediaCapturePipeline) (\s@GetMediaCapturePipelineResponse' {} a -> s {mediaCapturePipeline = a} :: GetMediaCapturePipelineResponse)++-- | The response's http status code.+getMediaCapturePipelineResponse_httpStatus :: Lens.Lens' GetMediaCapturePipelineResponse Prelude.Int+getMediaCapturePipelineResponse_httpStatus = Lens.lens (\GetMediaCapturePipelineResponse' {httpStatus} -> httpStatus) (\s@GetMediaCapturePipelineResponse' {} a -> s {httpStatus = a} :: GetMediaCapturePipelineResponse)++instance+  Prelude.NFData+    GetMediaCapturePipelineResponse+  where+  rnf GetMediaCapturePipelineResponse' {..} =+    Prelude.rnf mediaCapturePipeline+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMediaPipelines/GetMediaPipeline.hs view
@@ -0,0 +1,155 @@+{-# 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.ChimeSdkMediaPipelines.GetMediaPipeline+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets an existing media pipeline.+module Amazonka.ChimeSdkMediaPipelines.GetMediaPipeline+  ( -- * Creating a Request+    GetMediaPipeline (..),+    newGetMediaPipeline,++    -- * Request Lenses+    getMediaPipeline_mediaPipelineId,++    -- * Destructuring the Response+    GetMediaPipelineResponse (..),+    newGetMediaPipelineResponse,++    -- * Response Lenses+    getMediaPipelineResponse_mediaPipeline,+    getMediaPipelineResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMediaPipelines.Types+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++-- | /See:/ 'newGetMediaPipeline' smart constructor.+data GetMediaPipeline = GetMediaPipeline'+  { -- | The ID of the pipeline that you want to get.+    mediaPipelineId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMediaPipeline' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaPipelineId', 'getMediaPipeline_mediaPipelineId' - The ID of the pipeline that you want to get.+newGetMediaPipeline ::+  -- | 'mediaPipelineId'+  Prelude.Text ->+  GetMediaPipeline+newGetMediaPipeline pMediaPipelineId_ =+  GetMediaPipeline'+    { mediaPipelineId =+        pMediaPipelineId_+    }++-- | The ID of the pipeline that you want to get.+getMediaPipeline_mediaPipelineId :: Lens.Lens' GetMediaPipeline Prelude.Text+getMediaPipeline_mediaPipelineId = Lens.lens (\GetMediaPipeline' {mediaPipelineId} -> mediaPipelineId) (\s@GetMediaPipeline' {} a -> s {mediaPipelineId = a} :: GetMediaPipeline)++instance Core.AWSRequest GetMediaPipeline where+  type+    AWSResponse GetMediaPipeline =+      GetMediaPipelineResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          GetMediaPipelineResponse'+            Prelude.<$> (x Data..?> "MediaPipeline")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetMediaPipeline where+  hashWithSalt _salt GetMediaPipeline' {..} =+    _salt `Prelude.hashWithSalt` mediaPipelineId++instance Prelude.NFData GetMediaPipeline where+  rnf GetMediaPipeline' {..} =+    Prelude.rnf mediaPipelineId++instance Data.ToHeaders GetMediaPipeline where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath GetMediaPipeline where+  toPath GetMediaPipeline' {..} =+    Prelude.mconcat+      ["/sdk-media-pipelines/", Data.toBS mediaPipelineId]++instance Data.ToQuery GetMediaPipeline where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetMediaPipelineResponse' smart constructor.+data GetMediaPipelineResponse = GetMediaPipelineResponse'+  { -- | The media pipeline object.+    mediaPipeline :: Prelude.Maybe MediaPipeline,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetMediaPipelineResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaPipeline', 'getMediaPipelineResponse_mediaPipeline' - The media pipeline object.+--+-- 'httpStatus', 'getMediaPipelineResponse_httpStatus' - The response's http status code.+newGetMediaPipelineResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetMediaPipelineResponse+newGetMediaPipelineResponse pHttpStatus_ =+  GetMediaPipelineResponse'+    { mediaPipeline =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The media pipeline object.+getMediaPipelineResponse_mediaPipeline :: Lens.Lens' GetMediaPipelineResponse (Prelude.Maybe MediaPipeline)+getMediaPipelineResponse_mediaPipeline = Lens.lens (\GetMediaPipelineResponse' {mediaPipeline} -> mediaPipeline) (\s@GetMediaPipelineResponse' {} a -> s {mediaPipeline = a} :: GetMediaPipelineResponse)++-- | The response's http status code.+getMediaPipelineResponse_httpStatus :: Lens.Lens' GetMediaPipelineResponse Prelude.Int+getMediaPipelineResponse_httpStatus = Lens.lens (\GetMediaPipelineResponse' {httpStatus} -> httpStatus) (\s@GetMediaPipelineResponse' {} a -> s {httpStatus = a} :: GetMediaPipelineResponse)++instance Prelude.NFData GetMediaPipelineResponse where+  rnf GetMediaPipelineResponse' {..} =+    Prelude.rnf mediaPipeline+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMediaPipelines/Lens.hs view
@@ -0,0 +1,292 @@+{-# 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.ChimeSdkMediaPipelines.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.ChimeSdkMediaPipelines.Lens+  ( -- * Operations++    -- ** CreateMediaCapturePipeline+    createMediaCapturePipeline_chimeSdkMeetingConfiguration,+    createMediaCapturePipeline_clientRequestToken,+    createMediaCapturePipeline_tags,+    createMediaCapturePipeline_sourceType,+    createMediaCapturePipeline_sourceArn,+    createMediaCapturePipeline_sinkType,+    createMediaCapturePipeline_sinkArn,+    createMediaCapturePipelineResponse_mediaCapturePipeline,+    createMediaCapturePipelineResponse_httpStatus,++    -- ** CreateMediaConcatenationPipeline+    createMediaConcatenationPipeline_clientRequestToken,+    createMediaConcatenationPipeline_tags,+    createMediaConcatenationPipeline_sources,+    createMediaConcatenationPipeline_sinks,+    createMediaConcatenationPipelineResponse_mediaConcatenationPipeline,+    createMediaConcatenationPipelineResponse_httpStatus,++    -- ** CreateMediaLiveConnectorPipeline+    createMediaLiveConnectorPipeline_clientRequestToken,+    createMediaLiveConnectorPipeline_tags,+    createMediaLiveConnectorPipeline_sources,+    createMediaLiveConnectorPipeline_sinks,+    createMediaLiveConnectorPipelineResponse_mediaLiveConnectorPipeline,+    createMediaLiveConnectorPipelineResponse_httpStatus,++    -- ** DeleteMediaCapturePipeline+    deleteMediaCapturePipeline_mediaPipelineId,++    -- ** DeleteMediaPipeline+    deleteMediaPipeline_mediaPipelineId,++    -- ** GetMediaCapturePipeline+    getMediaCapturePipeline_mediaPipelineId,+    getMediaCapturePipelineResponse_mediaCapturePipeline,+    getMediaCapturePipelineResponse_httpStatus,++    -- ** GetMediaPipeline+    getMediaPipeline_mediaPipelineId,+    getMediaPipelineResponse_mediaPipeline,+    getMediaPipelineResponse_httpStatus,++    -- ** ListMediaCapturePipelines+    listMediaCapturePipelines_maxResults,+    listMediaCapturePipelines_nextToken,+    listMediaCapturePipelinesResponse_mediaCapturePipelines,+    listMediaCapturePipelinesResponse_nextToken,+    listMediaCapturePipelinesResponse_httpStatus,++    -- ** ListMediaPipelines+    listMediaPipelines_maxResults,+    listMediaPipelines_nextToken,+    listMediaPipelinesResponse_mediaPipelines,+    listMediaPipelinesResponse_nextToken,+    listMediaPipelinesResponse_httpStatus,++    -- ** ListTagsForResource+    listTagsForResource_resourceARN,+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,++    -- ** TagResource+    tagResource_resourceARN,+    tagResource_tags,+    tagResourceResponse_httpStatus,++    -- ** UntagResource+    untagResource_resourceARN,+    untagResource_tagKeys,+    untagResourceResponse_httpStatus,++    -- * Types++    -- ** ArtifactsConcatenationConfiguration+    artifactsConcatenationConfiguration_audio,+    artifactsConcatenationConfiguration_video,+    artifactsConcatenationConfiguration_content,+    artifactsConcatenationConfiguration_dataChannel,+    artifactsConcatenationConfiguration_transcriptionMessages,+    artifactsConcatenationConfiguration_meetingEvents,+    artifactsConcatenationConfiguration_compositedVideo,++    -- ** ArtifactsConfiguration+    artifactsConfiguration_compositedVideo,+    artifactsConfiguration_audio,+    artifactsConfiguration_video,+    artifactsConfiguration_content,++    -- ** AudioArtifactsConfiguration+    audioArtifactsConfiguration_muxType,++    -- ** AudioConcatenationConfiguration+    audioConcatenationConfiguration_state,++    -- ** ChimeSdkMeetingConcatenationConfiguration+    chimeSdkMeetingConcatenationConfiguration_artifactsConfiguration,++    -- ** ChimeSdkMeetingConfiguration+    chimeSdkMeetingConfiguration_artifactsConfiguration,+    chimeSdkMeetingConfiguration_sourceConfiguration,++    -- ** ChimeSdkMeetingLiveConnectorConfiguration+    chimeSdkMeetingLiveConnectorConfiguration_compositedVideo,+    chimeSdkMeetingLiveConnectorConfiguration_sourceConfiguration,+    chimeSdkMeetingLiveConnectorConfiguration_arn,+    chimeSdkMeetingLiveConnectorConfiguration_muxType,++    -- ** CompositedVideoArtifactsConfiguration+    compositedVideoArtifactsConfiguration_layout,+    compositedVideoArtifactsConfiguration_resolution,+    compositedVideoArtifactsConfiguration_gridViewConfiguration,++    -- ** CompositedVideoConcatenationConfiguration+    compositedVideoConcatenationConfiguration_state,++    -- ** ConcatenationSink+    concatenationSink_type,+    concatenationSink_s3BucketSinkConfiguration,++    -- ** ConcatenationSource+    concatenationSource_type,+    concatenationSource_mediaCapturePipelineSourceConfiguration,++    -- ** ContentArtifactsConfiguration+    contentArtifactsConfiguration_muxType,+    contentArtifactsConfiguration_state,++    -- ** ContentConcatenationConfiguration+    contentConcatenationConfiguration_state,++    -- ** DataChannelConcatenationConfiguration+    dataChannelConcatenationConfiguration_state,++    -- ** GridViewConfiguration+    gridViewConfiguration_presenterOnlyConfiguration,+    gridViewConfiguration_contentShareLayout,++    -- ** LiveConnectorRTMPConfiguration+    liveConnectorRTMPConfiguration_audioChannels,+    liveConnectorRTMPConfiguration_audioSampleRate,+    liveConnectorRTMPConfiguration_url,++    -- ** LiveConnectorSinkConfiguration+    liveConnectorSinkConfiguration_sinkType,+    liveConnectorSinkConfiguration_rTMPConfiguration,++    -- ** LiveConnectorSourceConfiguration+    liveConnectorSourceConfiguration_sourceType,+    liveConnectorSourceConfiguration_chimeSdkMeetingLiveConnectorConfiguration,++    -- ** MediaCapturePipeline+    mediaCapturePipeline_chimeSdkMeetingConfiguration,+    mediaCapturePipeline_createdTimestamp,+    mediaCapturePipeline_mediaPipelineArn,+    mediaCapturePipeline_mediaPipelineId,+    mediaCapturePipeline_sinkArn,+    mediaCapturePipeline_sinkType,+    mediaCapturePipeline_sourceArn,+    mediaCapturePipeline_sourceType,+    mediaCapturePipeline_status,+    mediaCapturePipeline_updatedTimestamp,++    -- ** MediaCapturePipelineSourceConfiguration+    mediaCapturePipelineSourceConfiguration_mediaPipelineArn,+    mediaCapturePipelineSourceConfiguration_chimeSdkMeetingConfiguration,++    -- ** MediaCapturePipelineSummary+    mediaCapturePipelineSummary_mediaPipelineArn,+    mediaCapturePipelineSummary_mediaPipelineId,++    -- ** MediaConcatenationPipeline+    mediaConcatenationPipeline_createdTimestamp,+    mediaConcatenationPipeline_mediaPipelineArn,+    mediaConcatenationPipeline_mediaPipelineId,+    mediaConcatenationPipeline_sinks,+    mediaConcatenationPipeline_sources,+    mediaConcatenationPipeline_status,+    mediaConcatenationPipeline_updatedTimestamp,++    -- ** MediaLiveConnectorPipeline+    mediaLiveConnectorPipeline_createdTimestamp,+    mediaLiveConnectorPipeline_mediaPipelineArn,+    mediaLiveConnectorPipeline_mediaPipelineId,+    mediaLiveConnectorPipeline_sinks,+    mediaLiveConnectorPipeline_sources,+    mediaLiveConnectorPipeline_status,+    mediaLiveConnectorPipeline_updatedTimestamp,++    -- ** MediaPipeline+    mediaPipeline_mediaCapturePipeline,+    mediaPipeline_mediaConcatenationPipeline,+    mediaPipeline_mediaLiveConnectorPipeline,++    -- ** MediaPipelineSummary+    mediaPipelineSummary_mediaPipelineArn,+    mediaPipelineSummary_mediaPipelineId,++    -- ** MeetingEventsConcatenationConfiguration+    meetingEventsConcatenationConfiguration_state,++    -- ** PresenterOnlyConfiguration+    presenterOnlyConfiguration_presenterPosition,++    -- ** S3BucketSinkConfiguration+    s3BucketSinkConfiguration_destination,++    -- ** SelectedVideoStreams+    selectedVideoStreams_attendeeIds,+    selectedVideoStreams_externalUserIds,++    -- ** SourceConfiguration+    sourceConfiguration_selectedVideoStreams,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** TranscriptionMessagesConcatenationConfiguration+    transcriptionMessagesConcatenationConfiguration_state,++    -- ** VideoArtifactsConfiguration+    videoArtifactsConfiguration_muxType,+    videoArtifactsConfiguration_state,++    -- ** VideoConcatenationConfiguration+    videoConcatenationConfiguration_state,+  )+where++import Amazonka.ChimeSdkMediaPipelines.CreateMediaCapturePipeline+import Amazonka.ChimeSdkMediaPipelines.CreateMediaConcatenationPipeline+import Amazonka.ChimeSdkMediaPipelines.CreateMediaLiveConnectorPipeline+import Amazonka.ChimeSdkMediaPipelines.DeleteMediaCapturePipeline+import Amazonka.ChimeSdkMediaPipelines.DeleteMediaPipeline+import Amazonka.ChimeSdkMediaPipelines.GetMediaCapturePipeline+import Amazonka.ChimeSdkMediaPipelines.GetMediaPipeline+import Amazonka.ChimeSdkMediaPipelines.ListMediaCapturePipelines+import Amazonka.ChimeSdkMediaPipelines.ListMediaPipelines+import Amazonka.ChimeSdkMediaPipelines.ListTagsForResource+import Amazonka.ChimeSdkMediaPipelines.TagResource+import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.AudioArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.AudioConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingLiveConnectorConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.CompositedVideoArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.CompositedVideoConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSink+import Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSource+import Amazonka.ChimeSdkMediaPipelines.Types.ContentArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ContentConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.DataChannelConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.GridViewConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorRTMPConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSinkConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSourceConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipeline+import Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipelineSourceConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipelineSummary+import Amazonka.ChimeSdkMediaPipelines.Types.MediaConcatenationPipeline+import Amazonka.ChimeSdkMediaPipelines.Types.MediaLiveConnectorPipeline+import Amazonka.ChimeSdkMediaPipelines.Types.MediaPipeline+import Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineSummary+import Amazonka.ChimeSdkMediaPipelines.Types.MeetingEventsConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.PresenterOnlyConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.S3BucketSinkConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.SelectedVideoStreams+import Amazonka.ChimeSdkMediaPipelines.Types.SourceConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.Tag+import Amazonka.ChimeSdkMediaPipelines.Types.TranscriptionMessagesConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.VideoArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.VideoConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.UntagResource
+ gen/Amazonka/ChimeSdkMediaPipelines/ListMediaCapturePipelines.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.ListMediaCapturePipelines+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of media pipelines.+module Amazonka.ChimeSdkMediaPipelines.ListMediaCapturePipelines+  ( -- * Creating a Request+    ListMediaCapturePipelines (..),+    newListMediaCapturePipelines,++    -- * Request Lenses+    listMediaCapturePipelines_maxResults,+    listMediaCapturePipelines_nextToken,++    -- * Destructuring the Response+    ListMediaCapturePipelinesResponse (..),+    newListMediaCapturePipelinesResponse,++    -- * Response Lenses+    listMediaCapturePipelinesResponse_mediaCapturePipelines,+    listMediaCapturePipelinesResponse_nextToken,+    listMediaCapturePipelinesResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMediaPipelines.Types+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++-- | /See:/ 'newListMediaCapturePipelines' smart constructor.+data ListMediaCapturePipelines = ListMediaCapturePipelines'+  { -- | The maximum number of results to return in a single call. Valid Range: 1+    -- - 99.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token used to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMediaCapturePipelines' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listMediaCapturePipelines_maxResults' - The maximum number of results to return in a single call. Valid Range: 1+-- - 99.+--+-- 'nextToken', 'listMediaCapturePipelines_nextToken' - The token used to retrieve the next page of results.+newListMediaCapturePipelines ::+  ListMediaCapturePipelines+newListMediaCapturePipelines =+  ListMediaCapturePipelines'+    { maxResults =+        Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in a single call. Valid Range: 1+-- - 99.+listMediaCapturePipelines_maxResults :: Lens.Lens' ListMediaCapturePipelines (Prelude.Maybe Prelude.Natural)+listMediaCapturePipelines_maxResults = Lens.lens (\ListMediaCapturePipelines' {maxResults} -> maxResults) (\s@ListMediaCapturePipelines' {} a -> s {maxResults = a} :: ListMediaCapturePipelines)++-- | The token used to retrieve the next page of results.+listMediaCapturePipelines_nextToken :: Lens.Lens' ListMediaCapturePipelines (Prelude.Maybe Prelude.Text)+listMediaCapturePipelines_nextToken = Lens.lens (\ListMediaCapturePipelines' {nextToken} -> nextToken) (\s@ListMediaCapturePipelines' {} a -> s {nextToken = a} :: ListMediaCapturePipelines)++instance Core.AWSRequest ListMediaCapturePipelines where+  type+    AWSResponse ListMediaCapturePipelines =+      ListMediaCapturePipelinesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListMediaCapturePipelinesResponse'+            Prelude.<$> ( x+                            Data..?> "MediaCapturePipelines"+                            Core..!@ Prelude.mempty+                        )+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListMediaCapturePipelines where+  hashWithSalt _salt ListMediaCapturePipelines' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListMediaCapturePipelines where+  rnf ListMediaCapturePipelines' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListMediaCapturePipelines where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListMediaCapturePipelines where+  toPath = Prelude.const "/sdk-media-capture-pipelines"++instance Data.ToQuery ListMediaCapturePipelines where+  toQuery ListMediaCapturePipelines' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListMediaCapturePipelinesResponse' smart constructor.+data ListMediaCapturePipelinesResponse = ListMediaCapturePipelinesResponse'+  { -- | The media pipeline objects in the list.+    mediaCapturePipelines :: Prelude.Maybe [MediaCapturePipelineSummary],+    -- | The token used to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMediaCapturePipelinesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaCapturePipelines', 'listMediaCapturePipelinesResponse_mediaCapturePipelines' - The media pipeline objects in the list.+--+-- 'nextToken', 'listMediaCapturePipelinesResponse_nextToken' - The token used to retrieve the next page of results.+--+-- 'httpStatus', 'listMediaCapturePipelinesResponse_httpStatus' - The response's http status code.+newListMediaCapturePipelinesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListMediaCapturePipelinesResponse+newListMediaCapturePipelinesResponse pHttpStatus_ =+  ListMediaCapturePipelinesResponse'+    { mediaCapturePipelines =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The media pipeline objects in the list.+listMediaCapturePipelinesResponse_mediaCapturePipelines :: Lens.Lens' ListMediaCapturePipelinesResponse (Prelude.Maybe [MediaCapturePipelineSummary])+listMediaCapturePipelinesResponse_mediaCapturePipelines = Lens.lens (\ListMediaCapturePipelinesResponse' {mediaCapturePipelines} -> mediaCapturePipelines) (\s@ListMediaCapturePipelinesResponse' {} a -> s {mediaCapturePipelines = a} :: ListMediaCapturePipelinesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token used to retrieve the next page of results.+listMediaCapturePipelinesResponse_nextToken :: Lens.Lens' ListMediaCapturePipelinesResponse (Prelude.Maybe Prelude.Text)+listMediaCapturePipelinesResponse_nextToken = Lens.lens (\ListMediaCapturePipelinesResponse' {nextToken} -> nextToken) (\s@ListMediaCapturePipelinesResponse' {} a -> s {nextToken = a} :: ListMediaCapturePipelinesResponse)++-- | The response's http status code.+listMediaCapturePipelinesResponse_httpStatus :: Lens.Lens' ListMediaCapturePipelinesResponse Prelude.Int+listMediaCapturePipelinesResponse_httpStatus = Lens.lens (\ListMediaCapturePipelinesResponse' {httpStatus} -> httpStatus) (\s@ListMediaCapturePipelinesResponse' {} a -> s {httpStatus = a} :: ListMediaCapturePipelinesResponse)++instance+  Prelude.NFData+    ListMediaCapturePipelinesResponse+  where+  rnf ListMediaCapturePipelinesResponse' {..} =+    Prelude.rnf mediaCapturePipelines+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMediaPipelines/ListMediaPipelines.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.ChimeSdkMediaPipelines.ListMediaPipelines+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of media pipelines.+module Amazonka.ChimeSdkMediaPipelines.ListMediaPipelines+  ( -- * Creating a Request+    ListMediaPipelines (..),+    newListMediaPipelines,++    -- * Request Lenses+    listMediaPipelines_maxResults,+    listMediaPipelines_nextToken,++    -- * Destructuring the Response+    ListMediaPipelinesResponse (..),+    newListMediaPipelinesResponse,++    -- * Response Lenses+    listMediaPipelinesResponse_mediaPipelines,+    listMediaPipelinesResponse_nextToken,+    listMediaPipelinesResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMediaPipelines.Types+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++-- | /See:/ 'newListMediaPipelines' smart constructor.+data ListMediaPipelines = ListMediaPipelines'+  { -- | The maximum number of results to return in a single call. Valid Range: 1+    -- - 99.+    maxResults :: Prelude.Maybe Prelude.Natural,+    -- | The token used to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMediaPipelines' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listMediaPipelines_maxResults' - The maximum number of results to return in a single call. Valid Range: 1+-- - 99.+--+-- 'nextToken', 'listMediaPipelines_nextToken' - The token used to retrieve the next page of results.+newListMediaPipelines ::+  ListMediaPipelines+newListMediaPipelines =+  ListMediaPipelines'+    { maxResults = Prelude.Nothing,+      nextToken = Prelude.Nothing+    }++-- | The maximum number of results to return in a single call. Valid Range: 1+-- - 99.+listMediaPipelines_maxResults :: Lens.Lens' ListMediaPipelines (Prelude.Maybe Prelude.Natural)+listMediaPipelines_maxResults = Lens.lens (\ListMediaPipelines' {maxResults} -> maxResults) (\s@ListMediaPipelines' {} a -> s {maxResults = a} :: ListMediaPipelines)++-- | The token used to retrieve the next page of results.+listMediaPipelines_nextToken :: Lens.Lens' ListMediaPipelines (Prelude.Maybe Prelude.Text)+listMediaPipelines_nextToken = Lens.lens (\ListMediaPipelines' {nextToken} -> nextToken) (\s@ListMediaPipelines' {} a -> s {nextToken = a} :: ListMediaPipelines)++instance Core.AWSRequest ListMediaPipelines where+  type+    AWSResponse ListMediaPipelines =+      ListMediaPipelinesResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveJSON+      ( \s h x ->+          ListMediaPipelinesResponse'+            Prelude.<$> (x Data..?> "MediaPipelines" Core..!@ Prelude.mempty)+            Prelude.<*> (x Data..?> "NextToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListMediaPipelines where+  hashWithSalt _salt ListMediaPipelines' {..} =+    _salt+      `Prelude.hashWithSalt` maxResults+      `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListMediaPipelines where+  rnf ListMediaPipelines' {..} =+    Prelude.rnf maxResults+      `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListMediaPipelines where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListMediaPipelines where+  toPath = Prelude.const "/sdk-media-pipelines"++instance Data.ToQuery ListMediaPipelines where+  toQuery ListMediaPipelines' {..} =+    Prelude.mconcat+      [ "max-results" Data.=: maxResults,+        "next-token" Data.=: nextToken+      ]++-- | /See:/ 'newListMediaPipelinesResponse' smart constructor.+data ListMediaPipelinesResponse = ListMediaPipelinesResponse'+  { -- | The media pipeline objects in the list.+    mediaPipelines :: Prelude.Maybe [MediaPipelineSummary],+    -- | The token used to retrieve the next page of results.+    nextToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMediaPipelinesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaPipelines', 'listMediaPipelinesResponse_mediaPipelines' - The media pipeline objects in the list.+--+-- 'nextToken', 'listMediaPipelinesResponse_nextToken' - The token used to retrieve the next page of results.+--+-- 'httpStatus', 'listMediaPipelinesResponse_httpStatus' - The response's http status code.+newListMediaPipelinesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListMediaPipelinesResponse+newListMediaPipelinesResponse pHttpStatus_ =+  ListMediaPipelinesResponse'+    { mediaPipelines =+        Prelude.Nothing,+      nextToken = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The media pipeline objects in the list.+listMediaPipelinesResponse_mediaPipelines :: Lens.Lens' ListMediaPipelinesResponse (Prelude.Maybe [MediaPipelineSummary])+listMediaPipelinesResponse_mediaPipelines = Lens.lens (\ListMediaPipelinesResponse' {mediaPipelines} -> mediaPipelines) (\s@ListMediaPipelinesResponse' {} a -> s {mediaPipelines = a} :: ListMediaPipelinesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token used to retrieve the next page of results.+listMediaPipelinesResponse_nextToken :: Lens.Lens' ListMediaPipelinesResponse (Prelude.Maybe Prelude.Text)+listMediaPipelinesResponse_nextToken = Lens.lens (\ListMediaPipelinesResponse' {nextToken} -> nextToken) (\s@ListMediaPipelinesResponse' {} a -> s {nextToken = a} :: ListMediaPipelinesResponse)++-- | The response's http status code.+listMediaPipelinesResponse_httpStatus :: Lens.Lens' ListMediaPipelinesResponse Prelude.Int+listMediaPipelinesResponse_httpStatus = Lens.lens (\ListMediaPipelinesResponse' {httpStatus} -> httpStatus) (\s@ListMediaPipelinesResponse' {} a -> s {httpStatus = a} :: ListMediaPipelinesResponse)++instance Prelude.NFData ListMediaPipelinesResponse where+  rnf ListMediaPipelinesResponse' {..} =+    Prelude.rnf mediaPipelines+      `Prelude.seq` Prelude.rnf nextToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/ChimeSdkMediaPipelines/ListTagsForResource.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.ListTagsForResource+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the tags available for a media pipeline.+module Amazonka.ChimeSdkMediaPipelines.ListTagsForResource+  ( -- * Creating a Request+    ListTagsForResource (..),+    newListTagsForResource,++    -- * Request Lenses+    listTagsForResource_resourceARN,++    -- * Destructuring the Response+    ListTagsForResourceResponse (..),+    newListTagsForResourceResponse,++    -- * Response Lenses+    listTagsForResourceResponse_tags,+    listTagsForResourceResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMediaPipelines.Types+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++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+  { -- | The ARN of the media pipeline associated with any tags. The ARN consists+    -- of the pipeline\'s region, resource ID, and pipeline ID.+    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 ARN of the media pipeline associated with any tags. The ARN consists+-- of the pipeline\'s region, resource ID, and pipeline ID.+newListTagsForResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  ListTagsForResource+newListTagsForResource pResourceARN_ =+  ListTagsForResource' {resourceARN = pResourceARN_}++-- | The ARN of the media pipeline associated with any tags. The ARN consists+-- of the pipeline\'s region, resource ID, and pipeline ID.+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")+            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.mempty++instance Data.ToPath ListTagsForResource where+  toPath = Prelude.const "/tags"++instance Data.ToQuery ListTagsForResource where+  toQuery ListTagsForResource' {..} =+    Prelude.mconcat ["arn" Data.=: resourceARN]++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+  { -- | The tags associated with the specified media pipeline.+    tags :: Prelude.Maybe (Prelude.NonEmpty Tag),+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags associated with the specified media pipeline.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+  ListTagsForResourceResponse'+    { tags =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The tags associated with the specified media pipeline.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.NonEmpty Tag))+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/ChimeSdkMediaPipelines/TagResource.hs view
@@ -0,0 +1,164 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.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)+--+-- The ARN of the media pipeline that you want to tag. Consists of he+-- pipeline\'s endpoint region, resource ID, and pipeline ID.+module Amazonka.ChimeSdkMediaPipelines.TagResource+  ( -- * Creating a Request+    TagResource (..),+    newTagResource,++    -- * Request Lenses+    tagResource_resourceARN,+    tagResource_tags,++    -- * Destructuring the Response+    TagResourceResponse (..),+    newTagResourceResponse,++    -- * Response Lenses+    tagResourceResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMediaPipelines.Types+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++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+  { -- | The ARN of the media pipeline associated with any tags. The ARN consists+    -- of the pipeline\'s endpoint region, resource ID, and pipeline ID.+    resourceARN :: Prelude.Text,+    -- | The tags associated with the specified media pipeline.+    tags :: Prelude.NonEmpty Tag+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceARN', 'tagResource_resourceARN' - The ARN of the media pipeline associated with any tags. The ARN consists+-- of the pipeline\'s endpoint region, resource ID, and pipeline ID.+--+-- 'tags', 'tagResource_tags' - The tags associated with the specified media pipeline.+newTagResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  -- | 'tags'+  Prelude.NonEmpty Tag ->+  TagResource+newTagResource pResourceARN_ pTags_ =+  TagResource'+    { resourceARN = pResourceARN_,+      tags = Lens.coerced Lens.# pTags_+    }++-- | The ARN of the media pipeline associated with any tags. The ARN consists+-- of the pipeline\'s endpoint region, resource ID, and pipeline ID.+tagResource_resourceARN :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceARN = Lens.lens (\TagResource' {resourceARN} -> resourceARN) (\s@TagResource' {} a -> s {resourceARN = a} :: TagResource)++-- | The tags associated with the specified media pipeline.+tagResource_tags :: Lens.Lens' TagResource (Prelude.NonEmpty Tag)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+  type AWSResponse TagResource = TagResourceResponse+  request overrides =+    Request.postJSON (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          TagResourceResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable TagResource where+  hashWithSalt _salt TagResource' {..} =+    _salt+      `Prelude.hashWithSalt` resourceARN+      `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+  rnf TagResource' {..} =+    Prelude.rnf resourceARN+      `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToJSON TagResource where+  toJSON TagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceARN" Data..= resourceARN),+            Prelude.Just ("Tags" Data..= tags)+          ]+      )++instance Data.ToPath TagResource where+  toPath = Prelude.const "/tags"++instance Data.ToQuery TagResource where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=tag-resource"])++-- | /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/ChimeSdkMediaPipelines/Types.hs view
@@ -0,0 +1,504 @@+{-# 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.ChimeSdkMediaPipelines.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.ChimeSdkMediaPipelines.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _BadRequestException,+    _ForbiddenException,+    _NotFoundException,+    _ResourceLimitExceededException,+    _ServiceFailureException,+    _ServiceUnavailableException,+    _ThrottledClientException,+    _UnauthorizedClientException,++    -- * ArtifactsConcatenationState+    ArtifactsConcatenationState (..),++    -- * ArtifactsState+    ArtifactsState (..),++    -- * AudioArtifactsConcatenationState+    AudioArtifactsConcatenationState (..),++    -- * AudioChannelsOption+    AudioChannelsOption (..),++    -- * AudioMuxType+    AudioMuxType (..),++    -- * ConcatenationSinkType+    ConcatenationSinkType (..),++    -- * ConcatenationSourceType+    ConcatenationSourceType (..),++    -- * ContentMuxType+    ContentMuxType (..),++    -- * ContentShareLayoutOption+    ContentShareLayoutOption (..),++    -- * LayoutOption+    LayoutOption (..),++    -- * LiveConnectorMuxType+    LiveConnectorMuxType (..),++    -- * LiveConnectorSinkType+    LiveConnectorSinkType (..),++    -- * LiveConnectorSourceType+    LiveConnectorSourceType (..),++    -- * MediaPipelineSinkType+    MediaPipelineSinkType (..),++    -- * MediaPipelineSourceType+    MediaPipelineSourceType (..),++    -- * MediaPipelineStatus+    MediaPipelineStatus (..),++    -- * PresenterPosition+    PresenterPosition (..),++    -- * ResolutionOption+    ResolutionOption (..),++    -- * VideoMuxType+    VideoMuxType (..),++    -- * ArtifactsConcatenationConfiguration+    ArtifactsConcatenationConfiguration (..),+    newArtifactsConcatenationConfiguration,+    artifactsConcatenationConfiguration_audio,+    artifactsConcatenationConfiguration_video,+    artifactsConcatenationConfiguration_content,+    artifactsConcatenationConfiguration_dataChannel,+    artifactsConcatenationConfiguration_transcriptionMessages,+    artifactsConcatenationConfiguration_meetingEvents,+    artifactsConcatenationConfiguration_compositedVideo,++    -- * ArtifactsConfiguration+    ArtifactsConfiguration (..),+    newArtifactsConfiguration,+    artifactsConfiguration_compositedVideo,+    artifactsConfiguration_audio,+    artifactsConfiguration_video,+    artifactsConfiguration_content,++    -- * AudioArtifactsConfiguration+    AudioArtifactsConfiguration (..),+    newAudioArtifactsConfiguration,+    audioArtifactsConfiguration_muxType,++    -- * AudioConcatenationConfiguration+    AudioConcatenationConfiguration (..),+    newAudioConcatenationConfiguration,+    audioConcatenationConfiguration_state,++    -- * ChimeSdkMeetingConcatenationConfiguration+    ChimeSdkMeetingConcatenationConfiguration (..),+    newChimeSdkMeetingConcatenationConfiguration,+    chimeSdkMeetingConcatenationConfiguration_artifactsConfiguration,++    -- * ChimeSdkMeetingConfiguration+    ChimeSdkMeetingConfiguration (..),+    newChimeSdkMeetingConfiguration,+    chimeSdkMeetingConfiguration_artifactsConfiguration,+    chimeSdkMeetingConfiguration_sourceConfiguration,++    -- * ChimeSdkMeetingLiveConnectorConfiguration+    ChimeSdkMeetingLiveConnectorConfiguration (..),+    newChimeSdkMeetingLiveConnectorConfiguration,+    chimeSdkMeetingLiveConnectorConfiguration_compositedVideo,+    chimeSdkMeetingLiveConnectorConfiguration_sourceConfiguration,+    chimeSdkMeetingLiveConnectorConfiguration_arn,+    chimeSdkMeetingLiveConnectorConfiguration_muxType,++    -- * CompositedVideoArtifactsConfiguration+    CompositedVideoArtifactsConfiguration (..),+    newCompositedVideoArtifactsConfiguration,+    compositedVideoArtifactsConfiguration_layout,+    compositedVideoArtifactsConfiguration_resolution,+    compositedVideoArtifactsConfiguration_gridViewConfiguration,++    -- * CompositedVideoConcatenationConfiguration+    CompositedVideoConcatenationConfiguration (..),+    newCompositedVideoConcatenationConfiguration,+    compositedVideoConcatenationConfiguration_state,++    -- * ConcatenationSink+    ConcatenationSink (..),+    newConcatenationSink,+    concatenationSink_type,+    concatenationSink_s3BucketSinkConfiguration,++    -- * ConcatenationSource+    ConcatenationSource (..),+    newConcatenationSource,+    concatenationSource_type,+    concatenationSource_mediaCapturePipelineSourceConfiguration,++    -- * ContentArtifactsConfiguration+    ContentArtifactsConfiguration (..),+    newContentArtifactsConfiguration,+    contentArtifactsConfiguration_muxType,+    contentArtifactsConfiguration_state,++    -- * ContentConcatenationConfiguration+    ContentConcatenationConfiguration (..),+    newContentConcatenationConfiguration,+    contentConcatenationConfiguration_state,++    -- * DataChannelConcatenationConfiguration+    DataChannelConcatenationConfiguration (..),+    newDataChannelConcatenationConfiguration,+    dataChannelConcatenationConfiguration_state,++    -- * GridViewConfiguration+    GridViewConfiguration (..),+    newGridViewConfiguration,+    gridViewConfiguration_presenterOnlyConfiguration,+    gridViewConfiguration_contentShareLayout,++    -- * LiveConnectorRTMPConfiguration+    LiveConnectorRTMPConfiguration (..),+    newLiveConnectorRTMPConfiguration,+    liveConnectorRTMPConfiguration_audioChannels,+    liveConnectorRTMPConfiguration_audioSampleRate,+    liveConnectorRTMPConfiguration_url,++    -- * LiveConnectorSinkConfiguration+    LiveConnectorSinkConfiguration (..),+    newLiveConnectorSinkConfiguration,+    liveConnectorSinkConfiguration_sinkType,+    liveConnectorSinkConfiguration_rTMPConfiguration,++    -- * LiveConnectorSourceConfiguration+    LiveConnectorSourceConfiguration (..),+    newLiveConnectorSourceConfiguration,+    liveConnectorSourceConfiguration_sourceType,+    liveConnectorSourceConfiguration_chimeSdkMeetingLiveConnectorConfiguration,++    -- * MediaCapturePipeline+    MediaCapturePipeline (..),+    newMediaCapturePipeline,+    mediaCapturePipeline_chimeSdkMeetingConfiguration,+    mediaCapturePipeline_createdTimestamp,+    mediaCapturePipeline_mediaPipelineArn,+    mediaCapturePipeline_mediaPipelineId,+    mediaCapturePipeline_sinkArn,+    mediaCapturePipeline_sinkType,+    mediaCapturePipeline_sourceArn,+    mediaCapturePipeline_sourceType,+    mediaCapturePipeline_status,+    mediaCapturePipeline_updatedTimestamp,++    -- * MediaCapturePipelineSourceConfiguration+    MediaCapturePipelineSourceConfiguration (..),+    newMediaCapturePipelineSourceConfiguration,+    mediaCapturePipelineSourceConfiguration_mediaPipelineArn,+    mediaCapturePipelineSourceConfiguration_chimeSdkMeetingConfiguration,++    -- * MediaCapturePipelineSummary+    MediaCapturePipelineSummary (..),+    newMediaCapturePipelineSummary,+    mediaCapturePipelineSummary_mediaPipelineArn,+    mediaCapturePipelineSummary_mediaPipelineId,++    -- * MediaConcatenationPipeline+    MediaConcatenationPipeline (..),+    newMediaConcatenationPipeline,+    mediaConcatenationPipeline_createdTimestamp,+    mediaConcatenationPipeline_mediaPipelineArn,+    mediaConcatenationPipeline_mediaPipelineId,+    mediaConcatenationPipeline_sinks,+    mediaConcatenationPipeline_sources,+    mediaConcatenationPipeline_status,+    mediaConcatenationPipeline_updatedTimestamp,++    -- * MediaLiveConnectorPipeline+    MediaLiveConnectorPipeline (..),+    newMediaLiveConnectorPipeline,+    mediaLiveConnectorPipeline_createdTimestamp,+    mediaLiveConnectorPipeline_mediaPipelineArn,+    mediaLiveConnectorPipeline_mediaPipelineId,+    mediaLiveConnectorPipeline_sinks,+    mediaLiveConnectorPipeline_sources,+    mediaLiveConnectorPipeline_status,+    mediaLiveConnectorPipeline_updatedTimestamp,++    -- * MediaPipeline+    MediaPipeline (..),+    newMediaPipeline,+    mediaPipeline_mediaCapturePipeline,+    mediaPipeline_mediaConcatenationPipeline,+    mediaPipeline_mediaLiveConnectorPipeline,++    -- * MediaPipelineSummary+    MediaPipelineSummary (..),+    newMediaPipelineSummary,+    mediaPipelineSummary_mediaPipelineArn,+    mediaPipelineSummary_mediaPipelineId,++    -- * MeetingEventsConcatenationConfiguration+    MeetingEventsConcatenationConfiguration (..),+    newMeetingEventsConcatenationConfiguration,+    meetingEventsConcatenationConfiguration_state,++    -- * PresenterOnlyConfiguration+    PresenterOnlyConfiguration (..),+    newPresenterOnlyConfiguration,+    presenterOnlyConfiguration_presenterPosition,++    -- * S3BucketSinkConfiguration+    S3BucketSinkConfiguration (..),+    newS3BucketSinkConfiguration,+    s3BucketSinkConfiguration_destination,++    -- * SelectedVideoStreams+    SelectedVideoStreams (..),+    newSelectedVideoStreams,+    selectedVideoStreams_attendeeIds,+    selectedVideoStreams_externalUserIds,++    -- * SourceConfiguration+    SourceConfiguration (..),+    newSourceConfiguration,+    sourceConfiguration_selectedVideoStreams,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * TranscriptionMessagesConcatenationConfiguration+    TranscriptionMessagesConcatenationConfiguration (..),+    newTranscriptionMessagesConcatenationConfiguration,+    transcriptionMessagesConcatenationConfiguration_state,++    -- * VideoArtifactsConfiguration+    VideoArtifactsConfiguration (..),+    newVideoArtifactsConfiguration,+    videoArtifactsConfiguration_muxType,+    videoArtifactsConfiguration_state,++    -- * VideoConcatenationConfiguration+    VideoConcatenationConfiguration (..),+    newVideoConcatenationConfiguration,+    videoConcatenationConfiguration_state,+  )+where++import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationState+import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsState+import Amazonka.ChimeSdkMediaPipelines.Types.AudioArtifactsConcatenationState+import Amazonka.ChimeSdkMediaPipelines.Types.AudioArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.AudioChannelsOption+import Amazonka.ChimeSdkMediaPipelines.Types.AudioConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.AudioMuxType+import Amazonka.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingLiveConnectorConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.CompositedVideoArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.CompositedVideoConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSink+import Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSinkType+import Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSource+import Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSourceType+import Amazonka.ChimeSdkMediaPipelines.Types.ContentArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ContentConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ContentMuxType+import Amazonka.ChimeSdkMediaPipelines.Types.ContentShareLayoutOption+import Amazonka.ChimeSdkMediaPipelines.Types.DataChannelConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.GridViewConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.LayoutOption+import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorMuxType+import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorRTMPConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSinkConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSinkType+import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSourceConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSourceType+import Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipeline+import Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipelineSourceConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipelineSummary+import Amazonka.ChimeSdkMediaPipelines.Types.MediaConcatenationPipeline+import Amazonka.ChimeSdkMediaPipelines.Types.MediaLiveConnectorPipeline+import Amazonka.ChimeSdkMediaPipelines.Types.MediaPipeline+import Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineSinkType+import Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineSourceType+import Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineStatus+import Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineSummary+import Amazonka.ChimeSdkMediaPipelines.Types.MeetingEventsConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.PresenterOnlyConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.PresenterPosition+import Amazonka.ChimeSdkMediaPipelines.Types.ResolutionOption+import Amazonka.ChimeSdkMediaPipelines.Types.S3BucketSinkConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.SelectedVideoStreams+import Amazonka.ChimeSdkMediaPipelines.Types.SourceConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.Tag+import Amazonka.ChimeSdkMediaPipelines.Types.TranscriptionMessagesConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.VideoArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.VideoConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.VideoMuxType+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++-- | API version @2021-07-15@ of the Amazon Chime SDK Media Pipelines SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev =+        "ChimeSdkMediaPipelines",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "media-pipelines-chime",+      Core.signingName = "chime",+      Core.version = "2021-07-15",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error =+        Core.parseJSONError "ChimeSdkMediaPipelines",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | The input parameters don\'t match the service\'s restrictions.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+  Core._MatchServiceError+    defaultService+    "BadRequestException"+    Prelude.. Core.hasStatus 400++-- | The client is permanently forbidden from making the request.+_ForbiddenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ForbiddenException =+  Core._MatchServiceError+    defaultService+    "ForbiddenException"+    Prelude.. Core.hasStatus 403++-- | One or more of the resources in the request does not exist in the+-- system.+_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotFoundException =+  Core._MatchServiceError+    defaultService+    "NotFoundException"+    Prelude.. Core.hasStatus 404++-- | The request exceeds the resource limit.+_ResourceLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ResourceLimitExceededException =+  Core._MatchServiceError+    defaultService+    "ResourceLimitExceededException"+    Prelude.. Core.hasStatus 400++-- | The service encountered an unexpected error.+_ServiceFailureException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceFailureException =+  Core._MatchServiceError+    defaultService+    "ServiceFailureException"+    Prelude.. Core.hasStatus 500++-- | The service is currently unavailable.+_ServiceUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceUnavailableException =+  Core._MatchServiceError+    defaultService+    "ServiceUnavailableException"+    Prelude.. Core.hasStatus 503++-- | The client exceeded its request rate limit.+_ThrottledClientException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ThrottledClientException =+  Core._MatchServiceError+    defaultService+    "ThrottledClientException"+    Prelude.. Core.hasStatus 429++-- | The client is not currently authorized to make the request.+_UnauthorizedClientException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_UnauthorizedClientException =+  Core._MatchServiceError+    defaultService+    "UnauthorizedClientException"+    Prelude.. Core.hasStatus 401
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ArtifactsConcatenationConfiguration.hs view
@@ -0,0 +1,209 @@+{-# 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.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationConfiguration+-- 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.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.AudioConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.CompositedVideoConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ContentConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.DataChannelConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.MeetingEventsConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.TranscriptionMessagesConcatenationConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.VideoConcatenationConfiguration+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration for the artifacts concatenation.+--+-- /See:/ 'newArtifactsConcatenationConfiguration' smart constructor.+data ArtifactsConcatenationConfiguration = ArtifactsConcatenationConfiguration'+  { -- | The configuration for the audio artifacts concatenation.+    audio :: AudioConcatenationConfiguration,+    -- | The configuration for the video artifacts concatenation.+    video :: VideoConcatenationConfiguration,+    -- | The configuration for the content artifacts concatenation.+    content :: ContentConcatenationConfiguration,+    -- | The configuration for the data channel artifacts concatenation.+    dataChannel :: DataChannelConcatenationConfiguration,+    -- | The configuration for the transcription messages artifacts+    -- concatenation.+    transcriptionMessages :: TranscriptionMessagesConcatenationConfiguration,+    -- | The configuration for the meeting events artifacts concatenation.+    meetingEvents :: MeetingEventsConcatenationConfiguration,+    -- | The configuration for the composited video artifacts concatenation.+    compositedVideo :: CompositedVideoConcatenationConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ArtifactsConcatenationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'audio', 'artifactsConcatenationConfiguration_audio' - The configuration for the audio artifacts concatenation.+--+-- 'video', 'artifactsConcatenationConfiguration_video' - The configuration for the video artifacts concatenation.+--+-- 'content', 'artifactsConcatenationConfiguration_content' - The configuration for the content artifacts concatenation.+--+-- 'dataChannel', 'artifactsConcatenationConfiguration_dataChannel' - The configuration for the data channel artifacts concatenation.+--+-- 'transcriptionMessages', 'artifactsConcatenationConfiguration_transcriptionMessages' - The configuration for the transcription messages artifacts+-- concatenation.+--+-- 'meetingEvents', 'artifactsConcatenationConfiguration_meetingEvents' - The configuration for the meeting events artifacts concatenation.+--+-- 'compositedVideo', 'artifactsConcatenationConfiguration_compositedVideo' - The configuration for the composited video artifacts concatenation.+newArtifactsConcatenationConfiguration ::+  -- | 'audio'+  AudioConcatenationConfiguration ->+  -- | 'video'+  VideoConcatenationConfiguration ->+  -- | 'content'+  ContentConcatenationConfiguration ->+  -- | 'dataChannel'+  DataChannelConcatenationConfiguration ->+  -- | 'transcriptionMessages'+  TranscriptionMessagesConcatenationConfiguration ->+  -- | 'meetingEvents'+  MeetingEventsConcatenationConfiguration ->+  -- | 'compositedVideo'+  CompositedVideoConcatenationConfiguration ->+  ArtifactsConcatenationConfiguration+newArtifactsConcatenationConfiguration+  pAudio_+  pVideo_+  pContent_+  pDataChannel_+  pTranscriptionMessages_+  pMeetingEvents_+  pCompositedVideo_ =+    ArtifactsConcatenationConfiguration'+      { audio =+          pAudio_,+        video = pVideo_,+        content = pContent_,+        dataChannel = pDataChannel_,+        transcriptionMessages =+          pTranscriptionMessages_,+        meetingEvents = pMeetingEvents_,+        compositedVideo = pCompositedVideo_+      }++-- | The configuration for the audio artifacts concatenation.+artifactsConcatenationConfiguration_audio :: Lens.Lens' ArtifactsConcatenationConfiguration AudioConcatenationConfiguration+artifactsConcatenationConfiguration_audio = Lens.lens (\ArtifactsConcatenationConfiguration' {audio} -> audio) (\s@ArtifactsConcatenationConfiguration' {} a -> s {audio = a} :: ArtifactsConcatenationConfiguration)++-- | The configuration for the video artifacts concatenation.+artifactsConcatenationConfiguration_video :: Lens.Lens' ArtifactsConcatenationConfiguration VideoConcatenationConfiguration+artifactsConcatenationConfiguration_video = Lens.lens (\ArtifactsConcatenationConfiguration' {video} -> video) (\s@ArtifactsConcatenationConfiguration' {} a -> s {video = a} :: ArtifactsConcatenationConfiguration)++-- | The configuration for the content artifacts concatenation.+artifactsConcatenationConfiguration_content :: Lens.Lens' ArtifactsConcatenationConfiguration ContentConcatenationConfiguration+artifactsConcatenationConfiguration_content = Lens.lens (\ArtifactsConcatenationConfiguration' {content} -> content) (\s@ArtifactsConcatenationConfiguration' {} a -> s {content = a} :: ArtifactsConcatenationConfiguration)++-- | The configuration for the data channel artifacts concatenation.+artifactsConcatenationConfiguration_dataChannel :: Lens.Lens' ArtifactsConcatenationConfiguration DataChannelConcatenationConfiguration+artifactsConcatenationConfiguration_dataChannel = Lens.lens (\ArtifactsConcatenationConfiguration' {dataChannel} -> dataChannel) (\s@ArtifactsConcatenationConfiguration' {} a -> s {dataChannel = a} :: ArtifactsConcatenationConfiguration)++-- | The configuration for the transcription messages artifacts+-- concatenation.+artifactsConcatenationConfiguration_transcriptionMessages :: Lens.Lens' ArtifactsConcatenationConfiguration TranscriptionMessagesConcatenationConfiguration+artifactsConcatenationConfiguration_transcriptionMessages = Lens.lens (\ArtifactsConcatenationConfiguration' {transcriptionMessages} -> transcriptionMessages) (\s@ArtifactsConcatenationConfiguration' {} a -> s {transcriptionMessages = a} :: ArtifactsConcatenationConfiguration)++-- | The configuration for the meeting events artifacts concatenation.+artifactsConcatenationConfiguration_meetingEvents :: Lens.Lens' ArtifactsConcatenationConfiguration MeetingEventsConcatenationConfiguration+artifactsConcatenationConfiguration_meetingEvents = Lens.lens (\ArtifactsConcatenationConfiguration' {meetingEvents} -> meetingEvents) (\s@ArtifactsConcatenationConfiguration' {} a -> s {meetingEvents = a} :: ArtifactsConcatenationConfiguration)++-- | The configuration for the composited video artifacts concatenation.+artifactsConcatenationConfiguration_compositedVideo :: Lens.Lens' ArtifactsConcatenationConfiguration CompositedVideoConcatenationConfiguration+artifactsConcatenationConfiguration_compositedVideo = Lens.lens (\ArtifactsConcatenationConfiguration' {compositedVideo} -> compositedVideo) (\s@ArtifactsConcatenationConfiguration' {} a -> s {compositedVideo = a} :: ArtifactsConcatenationConfiguration)++instance+  Data.FromJSON+    ArtifactsConcatenationConfiguration+  where+  parseJSON =+    Data.withObject+      "ArtifactsConcatenationConfiguration"+      ( \x ->+          ArtifactsConcatenationConfiguration'+            Prelude.<$> (x Data..: "Audio")+            Prelude.<*> (x Data..: "Video")+            Prelude.<*> (x Data..: "Content")+            Prelude.<*> (x Data..: "DataChannel")+            Prelude.<*> (x Data..: "TranscriptionMessages")+            Prelude.<*> (x Data..: "MeetingEvents")+            Prelude.<*> (x Data..: "CompositedVideo")+      )++instance+  Prelude.Hashable+    ArtifactsConcatenationConfiguration+  where+  hashWithSalt+    _salt+    ArtifactsConcatenationConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` audio+        `Prelude.hashWithSalt` video+        `Prelude.hashWithSalt` content+        `Prelude.hashWithSalt` dataChannel+        `Prelude.hashWithSalt` transcriptionMessages+        `Prelude.hashWithSalt` meetingEvents+        `Prelude.hashWithSalt` compositedVideo++instance+  Prelude.NFData+    ArtifactsConcatenationConfiguration+  where+  rnf ArtifactsConcatenationConfiguration' {..} =+    Prelude.rnf audio+      `Prelude.seq` Prelude.rnf video+      `Prelude.seq` Prelude.rnf content+      `Prelude.seq` Prelude.rnf dataChannel+      `Prelude.seq` Prelude.rnf transcriptionMessages+      `Prelude.seq` Prelude.rnf meetingEvents+      `Prelude.seq` Prelude.rnf compositedVideo++instance+  Data.ToJSON+    ArtifactsConcatenationConfiguration+  where+  toJSON ArtifactsConcatenationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Audio" Data..= audio),+            Prelude.Just ("Video" Data..= video),+            Prelude.Just ("Content" Data..= content),+            Prelude.Just ("DataChannel" Data..= dataChannel),+            Prelude.Just+              ( "TranscriptionMessages"+                  Data..= transcriptionMessages+              ),+            Prelude.Just ("MeetingEvents" Data..= meetingEvents),+            Prelude.Just+              ("CompositedVideo" Data..= compositedVideo)+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ArtifactsConcatenationState.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationState+-- 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.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationState+  ( ArtifactsConcatenationState+      ( ..,+        ArtifactsConcatenationState_Disabled,+        ArtifactsConcatenationState_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ArtifactsConcatenationState = ArtifactsConcatenationState'+  { fromArtifactsConcatenationState ::+      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 ArtifactsConcatenationState_Disabled :: ArtifactsConcatenationState+pattern ArtifactsConcatenationState_Disabled = ArtifactsConcatenationState' "Disabled"++pattern ArtifactsConcatenationState_Enabled :: ArtifactsConcatenationState+pattern ArtifactsConcatenationState_Enabled = ArtifactsConcatenationState' "Enabled"++{-# COMPLETE+  ArtifactsConcatenationState_Disabled,+  ArtifactsConcatenationState_Enabled,+  ArtifactsConcatenationState'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ArtifactsConfiguration.hs view
@@ -0,0 +1,131 @@+{-# 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.ChimeSdkMediaPipelines.Types.ArtifactsConfiguration+-- 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.ChimeSdkMediaPipelines.Types.ArtifactsConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.AudioArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.CompositedVideoArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.ContentArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.VideoArtifactsConfiguration+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration for the artifacts.+--+-- /See:/ 'newArtifactsConfiguration' smart constructor.+data ArtifactsConfiguration = ArtifactsConfiguration'+  { -- | Enables video compositing.+    compositedVideo :: Prelude.Maybe CompositedVideoArtifactsConfiguration,+    -- | The configuration for the audio artifacts.+    audio :: AudioArtifactsConfiguration,+    -- | The configuration for the video artifacts.+    video :: VideoArtifactsConfiguration,+    -- | The configuration for the content artifacts.+    content :: ContentArtifactsConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ArtifactsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'compositedVideo', 'artifactsConfiguration_compositedVideo' - Enables video compositing.+--+-- 'audio', 'artifactsConfiguration_audio' - The configuration for the audio artifacts.+--+-- 'video', 'artifactsConfiguration_video' - The configuration for the video artifacts.+--+-- 'content', 'artifactsConfiguration_content' - The configuration for the content artifacts.+newArtifactsConfiguration ::+  -- | 'audio'+  AudioArtifactsConfiguration ->+  -- | 'video'+  VideoArtifactsConfiguration ->+  -- | 'content'+  ContentArtifactsConfiguration ->+  ArtifactsConfiguration+newArtifactsConfiguration pAudio_ pVideo_ pContent_ =+  ArtifactsConfiguration'+    { compositedVideo =+        Prelude.Nothing,+      audio = pAudio_,+      video = pVideo_,+      content = pContent_+    }++-- | Enables video compositing.+artifactsConfiguration_compositedVideo :: Lens.Lens' ArtifactsConfiguration (Prelude.Maybe CompositedVideoArtifactsConfiguration)+artifactsConfiguration_compositedVideo = Lens.lens (\ArtifactsConfiguration' {compositedVideo} -> compositedVideo) (\s@ArtifactsConfiguration' {} a -> s {compositedVideo = a} :: ArtifactsConfiguration)++-- | The configuration for the audio artifacts.+artifactsConfiguration_audio :: Lens.Lens' ArtifactsConfiguration AudioArtifactsConfiguration+artifactsConfiguration_audio = Lens.lens (\ArtifactsConfiguration' {audio} -> audio) (\s@ArtifactsConfiguration' {} a -> s {audio = a} :: ArtifactsConfiguration)++-- | The configuration for the video artifacts.+artifactsConfiguration_video :: Lens.Lens' ArtifactsConfiguration VideoArtifactsConfiguration+artifactsConfiguration_video = Lens.lens (\ArtifactsConfiguration' {video} -> video) (\s@ArtifactsConfiguration' {} a -> s {video = a} :: ArtifactsConfiguration)++-- | The configuration for the content artifacts.+artifactsConfiguration_content :: Lens.Lens' ArtifactsConfiguration ContentArtifactsConfiguration+artifactsConfiguration_content = Lens.lens (\ArtifactsConfiguration' {content} -> content) (\s@ArtifactsConfiguration' {} a -> s {content = a} :: ArtifactsConfiguration)++instance Data.FromJSON ArtifactsConfiguration where+  parseJSON =+    Data.withObject+      "ArtifactsConfiguration"+      ( \x ->+          ArtifactsConfiguration'+            Prelude.<$> (x Data..:? "CompositedVideo")+            Prelude.<*> (x Data..: "Audio")+            Prelude.<*> (x Data..: "Video")+            Prelude.<*> (x Data..: "Content")+      )++instance Prelude.Hashable ArtifactsConfiguration where+  hashWithSalt _salt ArtifactsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` compositedVideo+      `Prelude.hashWithSalt` audio+      `Prelude.hashWithSalt` video+      `Prelude.hashWithSalt` content++instance Prelude.NFData ArtifactsConfiguration where+  rnf ArtifactsConfiguration' {..} =+    Prelude.rnf compositedVideo+      `Prelude.seq` Prelude.rnf audio+      `Prelude.seq` Prelude.rnf video+      `Prelude.seq` Prelude.rnf content++instance Data.ToJSON ArtifactsConfiguration where+  toJSON ArtifactsConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CompositedVideo" Data..=)+              Prelude.<$> compositedVideo,+            Prelude.Just ("Audio" Data..= audio),+            Prelude.Just ("Video" Data..= video),+            Prelude.Just ("Content" Data..= content)+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ArtifactsState.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsState+-- 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.ChimeSdkMediaPipelines.Types.ArtifactsState+  ( ArtifactsState+      ( ..,+        ArtifactsState_Disabled,+        ArtifactsState_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ArtifactsState = ArtifactsState'+  { fromArtifactsState ::+      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 ArtifactsState_Disabled :: ArtifactsState+pattern ArtifactsState_Disabled = ArtifactsState' "Disabled"++pattern ArtifactsState_Enabled :: ArtifactsState+pattern ArtifactsState_Enabled = ArtifactsState' "Enabled"++{-# COMPLETE+  ArtifactsState_Disabled,+  ArtifactsState_Enabled,+  ArtifactsState'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/AudioArtifactsConcatenationState.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.AudioArtifactsConcatenationState+-- 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.ChimeSdkMediaPipelines.Types.AudioArtifactsConcatenationState+  ( AudioArtifactsConcatenationState+      ( ..,+        AudioArtifactsConcatenationState_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AudioArtifactsConcatenationState = AudioArtifactsConcatenationState'+  { fromAudioArtifactsConcatenationState ::+      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 AudioArtifactsConcatenationState_Enabled :: AudioArtifactsConcatenationState+pattern AudioArtifactsConcatenationState_Enabled = AudioArtifactsConcatenationState' "Enabled"++{-# COMPLETE+  AudioArtifactsConcatenationState_Enabled,+  AudioArtifactsConcatenationState'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/AudioArtifactsConfiguration.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.AudioArtifactsConfiguration+-- 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.ChimeSdkMediaPipelines.Types.AudioArtifactsConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.AudioMuxType+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 audio artifact configuration object.+--+-- /See:/ 'newAudioArtifactsConfiguration' smart constructor.+data AudioArtifactsConfiguration = AudioArtifactsConfiguration'+  { -- | The MUX type of the audio artifact configuration object.+    muxType :: AudioMuxType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AudioArtifactsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'muxType', 'audioArtifactsConfiguration_muxType' - The MUX type of the audio artifact configuration object.+newAudioArtifactsConfiguration ::+  -- | 'muxType'+  AudioMuxType ->+  AudioArtifactsConfiguration+newAudioArtifactsConfiguration pMuxType_ =+  AudioArtifactsConfiguration' {muxType = pMuxType_}++-- | The MUX type of the audio artifact configuration object.+audioArtifactsConfiguration_muxType :: Lens.Lens' AudioArtifactsConfiguration AudioMuxType+audioArtifactsConfiguration_muxType = Lens.lens (\AudioArtifactsConfiguration' {muxType} -> muxType) (\s@AudioArtifactsConfiguration' {} a -> s {muxType = a} :: AudioArtifactsConfiguration)++instance Data.FromJSON AudioArtifactsConfiguration where+  parseJSON =+    Data.withObject+      "AudioArtifactsConfiguration"+      ( \x ->+          AudioArtifactsConfiguration'+            Prelude.<$> (x Data..: "MuxType")+      )++instance Prelude.Hashable AudioArtifactsConfiguration where+  hashWithSalt _salt AudioArtifactsConfiguration' {..} =+    _salt `Prelude.hashWithSalt` muxType++instance Prelude.NFData AudioArtifactsConfiguration where+  rnf AudioArtifactsConfiguration' {..} =+    Prelude.rnf muxType++instance Data.ToJSON AudioArtifactsConfiguration where+  toJSON AudioArtifactsConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("MuxType" Data..= muxType)]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/AudioChannelsOption.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.AudioChannelsOption+-- 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.ChimeSdkMediaPipelines.Types.AudioChannelsOption+  ( AudioChannelsOption+      ( ..,+        AudioChannelsOption_Mono,+        AudioChannelsOption_Stereo+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AudioChannelsOption = AudioChannelsOption'+  { fromAudioChannelsOption ::+      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 AudioChannelsOption_Mono :: AudioChannelsOption+pattern AudioChannelsOption_Mono = AudioChannelsOption' "Mono"++pattern AudioChannelsOption_Stereo :: AudioChannelsOption+pattern AudioChannelsOption_Stereo = AudioChannelsOption' "Stereo"++{-# COMPLETE+  AudioChannelsOption_Mono,+  AudioChannelsOption_Stereo,+  AudioChannelsOption'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/AudioConcatenationConfiguration.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.ChimeSdkMediaPipelines.Types.AudioConcatenationConfiguration+-- 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.ChimeSdkMediaPipelines.Types.AudioConcatenationConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.AudioArtifactsConcatenationState+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 audio artifact concatenation configuration object.+--+-- /See:/ 'newAudioConcatenationConfiguration' smart constructor.+data AudioConcatenationConfiguration = AudioConcatenationConfiguration'+  { -- | Enables the /name/ object, where /name/ is the name of the configuration+    -- object, such as @AudioConcatenation@.+    state :: AudioArtifactsConcatenationState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AudioConcatenationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'state', 'audioConcatenationConfiguration_state' - Enables the /name/ object, where /name/ is the name of the configuration+-- object, such as @AudioConcatenation@.+newAudioConcatenationConfiguration ::+  -- | 'state'+  AudioArtifactsConcatenationState ->+  AudioConcatenationConfiguration+newAudioConcatenationConfiguration pState_ =+  AudioConcatenationConfiguration' {state = pState_}++-- | Enables the /name/ object, where /name/ is the name of the configuration+-- object, such as @AudioConcatenation@.+audioConcatenationConfiguration_state :: Lens.Lens' AudioConcatenationConfiguration AudioArtifactsConcatenationState+audioConcatenationConfiguration_state = Lens.lens (\AudioConcatenationConfiguration' {state} -> state) (\s@AudioConcatenationConfiguration' {} a -> s {state = a} :: AudioConcatenationConfiguration)++instance+  Data.FromJSON+    AudioConcatenationConfiguration+  where+  parseJSON =+    Data.withObject+      "AudioConcatenationConfiguration"+      ( \x ->+          AudioConcatenationConfiguration'+            Prelude.<$> (x Data..: "State")+      )++instance+  Prelude.Hashable+    AudioConcatenationConfiguration+  where+  hashWithSalt+    _salt+    AudioConcatenationConfiguration' {..} =+      _salt `Prelude.hashWithSalt` state++instance+  Prelude.NFData+    AudioConcatenationConfiguration+  where+  rnf AudioConcatenationConfiguration' {..} =+    Prelude.rnf state++instance Data.ToJSON AudioConcatenationConfiguration where+  toJSON AudioConcatenationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("State" Data..= state)]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/AudioMuxType.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.ChimeSdkMediaPipelines.Types.AudioMuxType+-- 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.ChimeSdkMediaPipelines.Types.AudioMuxType+  ( AudioMuxType+      ( ..,+        AudioMuxType_AudioOnly,+        AudioMuxType_AudioWithActiveSpeakerVideo,+        AudioMuxType_AudioWithCompositedVideo+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AudioMuxType = AudioMuxType'+  { fromAudioMuxType ::+      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 AudioMuxType_AudioOnly :: AudioMuxType+pattern AudioMuxType_AudioOnly = AudioMuxType' "AudioOnly"++pattern AudioMuxType_AudioWithActiveSpeakerVideo :: AudioMuxType+pattern AudioMuxType_AudioWithActiveSpeakerVideo = AudioMuxType' "AudioWithActiveSpeakerVideo"++pattern AudioMuxType_AudioWithCompositedVideo :: AudioMuxType+pattern AudioMuxType_AudioWithCompositedVideo = AudioMuxType' "AudioWithCompositedVideo"++{-# COMPLETE+  AudioMuxType_AudioOnly,+  AudioMuxType_AudioWithActiveSpeakerVideo,+  AudioMuxType_AudioWithCompositedVideo,+  AudioMuxType'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ChimeSdkMeetingConcatenationConfiguration.hs view
@@ -0,0 +1,105 @@+{-# 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.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingConcatenationConfiguration+-- 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.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingConcatenationConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationConfiguration+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration object of the Amazon Chime SDK meeting concatenation+-- for a specified media pipeline.+--+-- /See:/ 'newChimeSdkMeetingConcatenationConfiguration' smart constructor.+data ChimeSdkMeetingConcatenationConfiguration = ChimeSdkMeetingConcatenationConfiguration'+  { -- | The configuration for the artifacts in an Amazon Chime SDK meeting+    -- concatenation.+    artifactsConfiguration :: ArtifactsConcatenationConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChimeSdkMeetingConcatenationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'artifactsConfiguration', 'chimeSdkMeetingConcatenationConfiguration_artifactsConfiguration' - The configuration for the artifacts in an Amazon Chime SDK meeting+-- concatenation.+newChimeSdkMeetingConcatenationConfiguration ::+  -- | 'artifactsConfiguration'+  ArtifactsConcatenationConfiguration ->+  ChimeSdkMeetingConcatenationConfiguration+newChimeSdkMeetingConcatenationConfiguration+  pArtifactsConfiguration_ =+    ChimeSdkMeetingConcatenationConfiguration'+      { artifactsConfiguration =+          pArtifactsConfiguration_+      }++-- | The configuration for the artifacts in an Amazon Chime SDK meeting+-- concatenation.+chimeSdkMeetingConcatenationConfiguration_artifactsConfiguration :: Lens.Lens' ChimeSdkMeetingConcatenationConfiguration ArtifactsConcatenationConfiguration+chimeSdkMeetingConcatenationConfiguration_artifactsConfiguration = Lens.lens (\ChimeSdkMeetingConcatenationConfiguration' {artifactsConfiguration} -> artifactsConfiguration) (\s@ChimeSdkMeetingConcatenationConfiguration' {} a -> s {artifactsConfiguration = a} :: ChimeSdkMeetingConcatenationConfiguration)++instance+  Data.FromJSON+    ChimeSdkMeetingConcatenationConfiguration+  where+  parseJSON =+    Data.withObject+      "ChimeSdkMeetingConcatenationConfiguration"+      ( \x ->+          ChimeSdkMeetingConcatenationConfiguration'+            Prelude.<$> (x Data..: "ArtifactsConfiguration")+      )++instance+  Prelude.Hashable+    ChimeSdkMeetingConcatenationConfiguration+  where+  hashWithSalt+    _salt+    ChimeSdkMeetingConcatenationConfiguration' {..} =+      _salt `Prelude.hashWithSalt` artifactsConfiguration++instance+  Prelude.NFData+    ChimeSdkMeetingConcatenationConfiguration+  where+  rnf ChimeSdkMeetingConcatenationConfiguration' {..} =+    Prelude.rnf artifactsConfiguration++instance+  Data.ToJSON+    ChimeSdkMeetingConcatenationConfiguration+  where+  toJSON ChimeSdkMeetingConcatenationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ( "ArtifactsConfiguration"+                  Data..= artifactsConfiguration+              )+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ChimeSdkMeetingConfiguration.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.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingConfiguration+-- 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.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.SourceConfiguration+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration object of the Amazon Chime SDK meeting for a specified+-- media pipeline. @SourceType@ must be @ChimeSdkMeeting@.+--+-- /See:/ 'newChimeSdkMeetingConfiguration' smart constructor.+data ChimeSdkMeetingConfiguration = ChimeSdkMeetingConfiguration'+  { -- | The configuration for the artifacts in an Amazon Chime SDK meeting.+    artifactsConfiguration :: Prelude.Maybe ArtifactsConfiguration,+    -- | The source configuration for a specified media pipline.+    sourceConfiguration :: Prelude.Maybe SourceConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChimeSdkMeetingConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'artifactsConfiguration', 'chimeSdkMeetingConfiguration_artifactsConfiguration' - The configuration for the artifacts in an Amazon Chime SDK meeting.+--+-- 'sourceConfiguration', 'chimeSdkMeetingConfiguration_sourceConfiguration' - The source configuration for a specified media pipline.+newChimeSdkMeetingConfiguration ::+  ChimeSdkMeetingConfiguration+newChimeSdkMeetingConfiguration =+  ChimeSdkMeetingConfiguration'+    { artifactsConfiguration =+        Prelude.Nothing,+      sourceConfiguration = Prelude.Nothing+    }++-- | The configuration for the artifacts in an Amazon Chime SDK meeting.+chimeSdkMeetingConfiguration_artifactsConfiguration :: Lens.Lens' ChimeSdkMeetingConfiguration (Prelude.Maybe ArtifactsConfiguration)+chimeSdkMeetingConfiguration_artifactsConfiguration = Lens.lens (\ChimeSdkMeetingConfiguration' {artifactsConfiguration} -> artifactsConfiguration) (\s@ChimeSdkMeetingConfiguration' {} a -> s {artifactsConfiguration = a} :: ChimeSdkMeetingConfiguration)++-- | The source configuration for a specified media pipline.+chimeSdkMeetingConfiguration_sourceConfiguration :: Lens.Lens' ChimeSdkMeetingConfiguration (Prelude.Maybe SourceConfiguration)+chimeSdkMeetingConfiguration_sourceConfiguration = Lens.lens (\ChimeSdkMeetingConfiguration' {sourceConfiguration} -> sourceConfiguration) (\s@ChimeSdkMeetingConfiguration' {} a -> s {sourceConfiguration = a} :: ChimeSdkMeetingConfiguration)++instance Data.FromJSON ChimeSdkMeetingConfiguration where+  parseJSON =+    Data.withObject+      "ChimeSdkMeetingConfiguration"+      ( \x ->+          ChimeSdkMeetingConfiguration'+            Prelude.<$> (x Data..:? "ArtifactsConfiguration")+            Prelude.<*> (x Data..:? "SourceConfiguration")+      )++instance+  Prelude.Hashable+    ChimeSdkMeetingConfiguration+  where+  hashWithSalt _salt ChimeSdkMeetingConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` artifactsConfiguration+      `Prelude.hashWithSalt` sourceConfiguration++instance Prelude.NFData ChimeSdkMeetingConfiguration where+  rnf ChimeSdkMeetingConfiguration' {..} =+    Prelude.rnf artifactsConfiguration+      `Prelude.seq` Prelude.rnf sourceConfiguration++instance Data.ToJSON ChimeSdkMeetingConfiguration where+  toJSON ChimeSdkMeetingConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("ArtifactsConfiguration" Data..=)+              Prelude.<$> artifactsConfiguration,+            ("SourceConfiguration" Data..=)+              Prelude.<$> sourceConfiguration+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ChimeSdkMeetingLiveConnectorConfiguration.hs view
@@ -0,0 +1,150 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingLiveConnectorConfiguration+-- 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.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingLiveConnectorConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.CompositedVideoArtifactsConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorMuxType+import Amazonka.ChimeSdkMediaPipelines.Types.SourceConfiguration+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 media pipeline\'s configuration object.+--+-- /See:/ 'newChimeSdkMeetingLiveConnectorConfiguration' smart constructor.+data ChimeSdkMeetingLiveConnectorConfiguration = ChimeSdkMeetingLiveConnectorConfiguration'+  { -- | The media pipeline\'s composited video.+    compositedVideo :: Prelude.Maybe CompositedVideoArtifactsConfiguration,+    -- | The source configuration settings of the media pipeline\'s configuration+    -- object.+    sourceConfiguration :: Prelude.Maybe SourceConfiguration,+    -- | The configuration object\'s Chime SDK meeting ARN.+    arn :: Data.Sensitive Prelude.Text,+    -- | The configuration object\'s multiplex type.+    muxType :: LiveConnectorMuxType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ChimeSdkMeetingLiveConnectorConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'compositedVideo', 'chimeSdkMeetingLiveConnectorConfiguration_compositedVideo' - The media pipeline\'s composited video.+--+-- 'sourceConfiguration', 'chimeSdkMeetingLiveConnectorConfiguration_sourceConfiguration' - The source configuration settings of the media pipeline\'s configuration+-- object.+--+-- 'arn', 'chimeSdkMeetingLiveConnectorConfiguration_arn' - The configuration object\'s Chime SDK meeting ARN.+--+-- 'muxType', 'chimeSdkMeetingLiveConnectorConfiguration_muxType' - The configuration object\'s multiplex type.+newChimeSdkMeetingLiveConnectorConfiguration ::+  -- | 'arn'+  Prelude.Text ->+  -- | 'muxType'+  LiveConnectorMuxType ->+  ChimeSdkMeetingLiveConnectorConfiguration+newChimeSdkMeetingLiveConnectorConfiguration+  pArn_+  pMuxType_ =+    ChimeSdkMeetingLiveConnectorConfiguration'+      { compositedVideo =+          Prelude.Nothing,+        sourceConfiguration =+          Prelude.Nothing,+        arn =+          Data._Sensitive Lens.# pArn_,+        muxType = pMuxType_+      }++-- | The media pipeline\'s composited video.+chimeSdkMeetingLiveConnectorConfiguration_compositedVideo :: Lens.Lens' ChimeSdkMeetingLiveConnectorConfiguration (Prelude.Maybe CompositedVideoArtifactsConfiguration)+chimeSdkMeetingLiveConnectorConfiguration_compositedVideo = Lens.lens (\ChimeSdkMeetingLiveConnectorConfiguration' {compositedVideo} -> compositedVideo) (\s@ChimeSdkMeetingLiveConnectorConfiguration' {} a -> s {compositedVideo = a} :: ChimeSdkMeetingLiveConnectorConfiguration)++-- | The source configuration settings of the media pipeline\'s configuration+-- object.+chimeSdkMeetingLiveConnectorConfiguration_sourceConfiguration :: Lens.Lens' ChimeSdkMeetingLiveConnectorConfiguration (Prelude.Maybe SourceConfiguration)+chimeSdkMeetingLiveConnectorConfiguration_sourceConfiguration = Lens.lens (\ChimeSdkMeetingLiveConnectorConfiguration' {sourceConfiguration} -> sourceConfiguration) (\s@ChimeSdkMeetingLiveConnectorConfiguration' {} a -> s {sourceConfiguration = a} :: ChimeSdkMeetingLiveConnectorConfiguration)++-- | The configuration object\'s Chime SDK meeting ARN.+chimeSdkMeetingLiveConnectorConfiguration_arn :: Lens.Lens' ChimeSdkMeetingLiveConnectorConfiguration Prelude.Text+chimeSdkMeetingLiveConnectorConfiguration_arn = Lens.lens (\ChimeSdkMeetingLiveConnectorConfiguration' {arn} -> arn) (\s@ChimeSdkMeetingLiveConnectorConfiguration' {} a -> s {arn = a} :: ChimeSdkMeetingLiveConnectorConfiguration) Prelude.. Data._Sensitive++-- | The configuration object\'s multiplex type.+chimeSdkMeetingLiveConnectorConfiguration_muxType :: Lens.Lens' ChimeSdkMeetingLiveConnectorConfiguration LiveConnectorMuxType+chimeSdkMeetingLiveConnectorConfiguration_muxType = Lens.lens (\ChimeSdkMeetingLiveConnectorConfiguration' {muxType} -> muxType) (\s@ChimeSdkMeetingLiveConnectorConfiguration' {} a -> s {muxType = a} :: ChimeSdkMeetingLiveConnectorConfiguration)++instance+  Data.FromJSON+    ChimeSdkMeetingLiveConnectorConfiguration+  where+  parseJSON =+    Data.withObject+      "ChimeSdkMeetingLiveConnectorConfiguration"+      ( \x ->+          ChimeSdkMeetingLiveConnectorConfiguration'+            Prelude.<$> (x Data..:? "CompositedVideo")+            Prelude.<*> (x Data..:? "SourceConfiguration")+            Prelude.<*> (x Data..: "Arn")+            Prelude.<*> (x Data..: "MuxType")+      )++instance+  Prelude.Hashable+    ChimeSdkMeetingLiveConnectorConfiguration+  where+  hashWithSalt+    _salt+    ChimeSdkMeetingLiveConnectorConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` compositedVideo+        `Prelude.hashWithSalt` sourceConfiguration+        `Prelude.hashWithSalt` arn+        `Prelude.hashWithSalt` muxType++instance+  Prelude.NFData+    ChimeSdkMeetingLiveConnectorConfiguration+  where+  rnf ChimeSdkMeetingLiveConnectorConfiguration' {..} =+    Prelude.rnf compositedVideo+      `Prelude.seq` Prelude.rnf sourceConfiguration+      `Prelude.seq` Prelude.rnf arn+      `Prelude.seq` Prelude.rnf muxType++instance+  Data.ToJSON+    ChimeSdkMeetingLiveConnectorConfiguration+  where+  toJSON ChimeSdkMeetingLiveConnectorConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("CompositedVideo" Data..=)+              Prelude.<$> compositedVideo,+            ("SourceConfiguration" Data..=)+              Prelude.<$> sourceConfiguration,+            Prelude.Just ("Arn" Data..= arn),+            Prelude.Just ("MuxType" Data..= muxType)+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/CompositedVideoArtifactsConfiguration.hs view
@@ -0,0 +1,134 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.CompositedVideoArtifactsConfiguration+-- 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.ChimeSdkMediaPipelines.Types.CompositedVideoArtifactsConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.GridViewConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.LayoutOption+import Amazonka.ChimeSdkMediaPipelines.Types.ResolutionOption+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Describes the configuration for the composited video artifacts.+--+-- /See:/ 'newCompositedVideoArtifactsConfiguration' smart constructor.+data CompositedVideoArtifactsConfiguration = CompositedVideoArtifactsConfiguration'+  { -- | The layout setting, such as @GridView@ in the configuration object.+    layout :: Prelude.Maybe LayoutOption,+    -- | The video resolution setting in the configuration object. Default: HD at+    -- 1280 x 720. FHD resolution: 1920 x 1080.+    resolution :: Prelude.Maybe ResolutionOption,+    -- | The @GridView@ configuration setting.+    gridViewConfiguration :: GridViewConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CompositedVideoArtifactsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'layout', 'compositedVideoArtifactsConfiguration_layout' - The layout setting, such as @GridView@ in the configuration object.+--+-- 'resolution', 'compositedVideoArtifactsConfiguration_resolution' - The video resolution setting in the configuration object. Default: HD at+-- 1280 x 720. FHD resolution: 1920 x 1080.+--+-- 'gridViewConfiguration', 'compositedVideoArtifactsConfiguration_gridViewConfiguration' - The @GridView@ configuration setting.+newCompositedVideoArtifactsConfiguration ::+  -- | 'gridViewConfiguration'+  GridViewConfiguration ->+  CompositedVideoArtifactsConfiguration+newCompositedVideoArtifactsConfiguration+  pGridViewConfiguration_ =+    CompositedVideoArtifactsConfiguration'+      { layout =+          Prelude.Nothing,+        resolution = Prelude.Nothing,+        gridViewConfiguration =+          pGridViewConfiguration_+      }++-- | The layout setting, such as @GridView@ in the configuration object.+compositedVideoArtifactsConfiguration_layout :: Lens.Lens' CompositedVideoArtifactsConfiguration (Prelude.Maybe LayoutOption)+compositedVideoArtifactsConfiguration_layout = Lens.lens (\CompositedVideoArtifactsConfiguration' {layout} -> layout) (\s@CompositedVideoArtifactsConfiguration' {} a -> s {layout = a} :: CompositedVideoArtifactsConfiguration)++-- | The video resolution setting in the configuration object. Default: HD at+-- 1280 x 720. FHD resolution: 1920 x 1080.+compositedVideoArtifactsConfiguration_resolution :: Lens.Lens' CompositedVideoArtifactsConfiguration (Prelude.Maybe ResolutionOption)+compositedVideoArtifactsConfiguration_resolution = Lens.lens (\CompositedVideoArtifactsConfiguration' {resolution} -> resolution) (\s@CompositedVideoArtifactsConfiguration' {} a -> s {resolution = a} :: CompositedVideoArtifactsConfiguration)++-- | The @GridView@ configuration setting.+compositedVideoArtifactsConfiguration_gridViewConfiguration :: Lens.Lens' CompositedVideoArtifactsConfiguration GridViewConfiguration+compositedVideoArtifactsConfiguration_gridViewConfiguration = Lens.lens (\CompositedVideoArtifactsConfiguration' {gridViewConfiguration} -> gridViewConfiguration) (\s@CompositedVideoArtifactsConfiguration' {} a -> s {gridViewConfiguration = a} :: CompositedVideoArtifactsConfiguration)++instance+  Data.FromJSON+    CompositedVideoArtifactsConfiguration+  where+  parseJSON =+    Data.withObject+      "CompositedVideoArtifactsConfiguration"+      ( \x ->+          CompositedVideoArtifactsConfiguration'+            Prelude.<$> (x Data..:? "Layout")+            Prelude.<*> (x Data..:? "Resolution")+            Prelude.<*> (x Data..: "GridViewConfiguration")+      )++instance+  Prelude.Hashable+    CompositedVideoArtifactsConfiguration+  where+  hashWithSalt+    _salt+    CompositedVideoArtifactsConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` layout+        `Prelude.hashWithSalt` resolution+        `Prelude.hashWithSalt` gridViewConfiguration++instance+  Prelude.NFData+    CompositedVideoArtifactsConfiguration+  where+  rnf CompositedVideoArtifactsConfiguration' {..} =+    Prelude.rnf layout+      `Prelude.seq` Prelude.rnf resolution+      `Prelude.seq` Prelude.rnf gridViewConfiguration++instance+  Data.ToJSON+    CompositedVideoArtifactsConfiguration+  where+  toJSON CompositedVideoArtifactsConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("Layout" Data..=) Prelude.<$> layout,+            ("Resolution" Data..=) Prelude.<$> resolution,+            Prelude.Just+              ( "GridViewConfiguration"+                  Data..= gridViewConfiguration+              )+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/CompositedVideoConcatenationConfiguration.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.CompositedVideoConcatenationConfiguration+-- 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.ChimeSdkMediaPipelines.Types.CompositedVideoConcatenationConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationState+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 composited video configuration object for a specified media+-- pipeline. @SourceType@ must be @ChimeSdkMeeting@.+--+-- /See:/ 'newCompositedVideoConcatenationConfiguration' smart constructor.+data CompositedVideoConcatenationConfiguration = CompositedVideoConcatenationConfiguration'+  { -- | Enables or disables the configuration object.+    state :: ArtifactsConcatenationState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CompositedVideoConcatenationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'state', 'compositedVideoConcatenationConfiguration_state' - Enables or disables the configuration object.+newCompositedVideoConcatenationConfiguration ::+  -- | 'state'+  ArtifactsConcatenationState ->+  CompositedVideoConcatenationConfiguration+newCompositedVideoConcatenationConfiguration pState_ =+  CompositedVideoConcatenationConfiguration'+    { state =+        pState_+    }++-- | Enables or disables the configuration object.+compositedVideoConcatenationConfiguration_state :: Lens.Lens' CompositedVideoConcatenationConfiguration ArtifactsConcatenationState+compositedVideoConcatenationConfiguration_state = Lens.lens (\CompositedVideoConcatenationConfiguration' {state} -> state) (\s@CompositedVideoConcatenationConfiguration' {} a -> s {state = a} :: CompositedVideoConcatenationConfiguration)++instance+  Data.FromJSON+    CompositedVideoConcatenationConfiguration+  where+  parseJSON =+    Data.withObject+      "CompositedVideoConcatenationConfiguration"+      ( \x ->+          CompositedVideoConcatenationConfiguration'+            Prelude.<$> (x Data..: "State")+      )++instance+  Prelude.Hashable+    CompositedVideoConcatenationConfiguration+  where+  hashWithSalt+    _salt+    CompositedVideoConcatenationConfiguration' {..} =+      _salt `Prelude.hashWithSalt` state++instance+  Prelude.NFData+    CompositedVideoConcatenationConfiguration+  where+  rnf CompositedVideoConcatenationConfiguration' {..} =+    Prelude.rnf state++instance+  Data.ToJSON+    CompositedVideoConcatenationConfiguration+  where+  toJSON CompositedVideoConcatenationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("State" Data..= state)]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ConcatenationSink.hs view
@@ -0,0 +1,105 @@+{-# 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.ChimeSdkMediaPipelines.Types.ConcatenationSink+-- 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.ChimeSdkMediaPipelines.Types.ConcatenationSink where++import Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSinkType+import Amazonka.ChimeSdkMediaPipelines.Types.S3BucketSinkConfiguration+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 data sink of the configuration object.+--+-- /See:/ 'newConcatenationSink' smart constructor.+data ConcatenationSink = ConcatenationSink'+  { -- | The type of data sink in the configuration object.+    type' :: ConcatenationSinkType,+    -- | The configuration settings for an Amazon S3 bucket sink.+    s3BucketSinkConfiguration :: S3BucketSinkConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConcatenationSink' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'concatenationSink_type' - The type of data sink in the configuration object.+--+-- 's3BucketSinkConfiguration', 'concatenationSink_s3BucketSinkConfiguration' - The configuration settings for an Amazon S3 bucket sink.+newConcatenationSink ::+  -- | 'type''+  ConcatenationSinkType ->+  -- | 's3BucketSinkConfiguration'+  S3BucketSinkConfiguration ->+  ConcatenationSink+newConcatenationSink+  pType_+  pS3BucketSinkConfiguration_ =+    ConcatenationSink'+      { type' = pType_,+        s3BucketSinkConfiguration =+          pS3BucketSinkConfiguration_+      }++-- | The type of data sink in the configuration object.+concatenationSink_type :: Lens.Lens' ConcatenationSink ConcatenationSinkType+concatenationSink_type = Lens.lens (\ConcatenationSink' {type'} -> type') (\s@ConcatenationSink' {} a -> s {type' = a} :: ConcatenationSink)++-- | The configuration settings for an Amazon S3 bucket sink.+concatenationSink_s3BucketSinkConfiguration :: Lens.Lens' ConcatenationSink S3BucketSinkConfiguration+concatenationSink_s3BucketSinkConfiguration = Lens.lens (\ConcatenationSink' {s3BucketSinkConfiguration} -> s3BucketSinkConfiguration) (\s@ConcatenationSink' {} a -> s {s3BucketSinkConfiguration = a} :: ConcatenationSink)++instance Data.FromJSON ConcatenationSink where+  parseJSON =+    Data.withObject+      "ConcatenationSink"+      ( \x ->+          ConcatenationSink'+            Prelude.<$> (x Data..: "Type")+            Prelude.<*> (x Data..: "S3BucketSinkConfiguration")+      )++instance Prelude.Hashable ConcatenationSink where+  hashWithSalt _salt ConcatenationSink' {..} =+    _salt+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` s3BucketSinkConfiguration++instance Prelude.NFData ConcatenationSink where+  rnf ConcatenationSink' {..} =+    Prelude.rnf type'+      `Prelude.seq` Prelude.rnf s3BucketSinkConfiguration++instance Data.ToJSON ConcatenationSink where+  toJSON ConcatenationSink' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Type" Data..= type'),+            Prelude.Just+              ( "S3BucketSinkConfiguration"+                  Data..= s3BucketSinkConfiguration+              )+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ConcatenationSinkType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSinkType+-- 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.ChimeSdkMediaPipelines.Types.ConcatenationSinkType+  ( ConcatenationSinkType+      ( ..,+        ConcatenationSinkType_S3Bucket+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConcatenationSinkType = ConcatenationSinkType'+  { fromConcatenationSinkType ::+      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 ConcatenationSinkType_S3Bucket :: ConcatenationSinkType+pattern ConcatenationSinkType_S3Bucket = ConcatenationSinkType' "S3Bucket"++{-# COMPLETE+  ConcatenationSinkType_S3Bucket,+  ConcatenationSinkType'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ConcatenationSource.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSource+-- 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.ChimeSdkMediaPipelines.Types.ConcatenationSource where++import Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSourceType+import Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipelineSourceConfiguration+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 source type and media pipeline configuration settings in a+-- configuration object.+--+-- /See:/ 'newConcatenationSource' smart constructor.+data ConcatenationSource = ConcatenationSource'+  { -- | The type of concatenation source in a configuration object.+    type' :: ConcatenationSourceType,+    -- | The concatenation settings for the media pipeline in a configuration+    -- object.+    mediaCapturePipelineSourceConfiguration :: MediaCapturePipelineSourceConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConcatenationSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'concatenationSource_type' - The type of concatenation source in a configuration object.+--+-- 'mediaCapturePipelineSourceConfiguration', 'concatenationSource_mediaCapturePipelineSourceConfiguration' - The concatenation settings for the media pipeline in a configuration+-- object.+newConcatenationSource ::+  -- | 'type''+  ConcatenationSourceType ->+  -- | 'mediaCapturePipelineSourceConfiguration'+  MediaCapturePipelineSourceConfiguration ->+  ConcatenationSource+newConcatenationSource+  pType_+  pMediaCapturePipelineSourceConfiguration_ =+    ConcatenationSource'+      { type' = pType_,+        mediaCapturePipelineSourceConfiguration =+          pMediaCapturePipelineSourceConfiguration_+      }++-- | The type of concatenation source in a configuration object.+concatenationSource_type :: Lens.Lens' ConcatenationSource ConcatenationSourceType+concatenationSource_type = Lens.lens (\ConcatenationSource' {type'} -> type') (\s@ConcatenationSource' {} a -> s {type' = a} :: ConcatenationSource)++-- | The concatenation settings for the media pipeline in a configuration+-- object.+concatenationSource_mediaCapturePipelineSourceConfiguration :: Lens.Lens' ConcatenationSource MediaCapturePipelineSourceConfiguration+concatenationSource_mediaCapturePipelineSourceConfiguration = Lens.lens (\ConcatenationSource' {mediaCapturePipelineSourceConfiguration} -> mediaCapturePipelineSourceConfiguration) (\s@ConcatenationSource' {} a -> s {mediaCapturePipelineSourceConfiguration = a} :: ConcatenationSource)++instance Data.FromJSON ConcatenationSource where+  parseJSON =+    Data.withObject+      "ConcatenationSource"+      ( \x ->+          ConcatenationSource'+            Prelude.<$> (x Data..: "Type")+            Prelude.<*> ( x+                            Data..: "MediaCapturePipelineSourceConfiguration"+                        )+      )++instance Prelude.Hashable ConcatenationSource where+  hashWithSalt _salt ConcatenationSource' {..} =+    _salt+      `Prelude.hashWithSalt` type'+      `Prelude.hashWithSalt` mediaCapturePipelineSourceConfiguration++instance Prelude.NFData ConcatenationSource where+  rnf ConcatenationSource' {..} =+    Prelude.rnf type'+      `Prelude.seq` Prelude.rnf mediaCapturePipelineSourceConfiguration++instance Data.ToJSON ConcatenationSource where+  toJSON ConcatenationSource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Type" Data..= type'),+            Prelude.Just+              ( "MediaCapturePipelineSourceConfiguration"+                  Data..= mediaCapturePipelineSourceConfiguration+              )+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ConcatenationSourceType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSourceType+-- 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.ChimeSdkMediaPipelines.Types.ConcatenationSourceType+  ( ConcatenationSourceType+      ( ..,+        ConcatenationSourceType_MediaCapturePipeline+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ConcatenationSourceType = ConcatenationSourceType'+  { fromConcatenationSourceType ::+      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 ConcatenationSourceType_MediaCapturePipeline :: ConcatenationSourceType+pattern ConcatenationSourceType_MediaCapturePipeline = ConcatenationSourceType' "MediaCapturePipeline"++{-# COMPLETE+  ConcatenationSourceType_MediaCapturePipeline,+  ConcatenationSourceType'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ContentArtifactsConfiguration.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.ContentArtifactsConfiguration+-- 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.ChimeSdkMediaPipelines.Types.ContentArtifactsConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsState+import Amazonka.ChimeSdkMediaPipelines.Types.ContentMuxType+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 content artifact object.+--+-- /See:/ 'newContentArtifactsConfiguration' smart constructor.+data ContentArtifactsConfiguration = ContentArtifactsConfiguration'+  { -- | The MUX type of the artifact configuration.+    muxType :: Prelude.Maybe ContentMuxType,+    -- | Indicates whether the content artifact is enabled or disabled.+    state :: ArtifactsState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ContentArtifactsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'muxType', 'contentArtifactsConfiguration_muxType' - The MUX type of the artifact configuration.+--+-- 'state', 'contentArtifactsConfiguration_state' - Indicates whether the content artifact is enabled or disabled.+newContentArtifactsConfiguration ::+  -- | 'state'+  ArtifactsState ->+  ContentArtifactsConfiguration+newContentArtifactsConfiguration pState_ =+  ContentArtifactsConfiguration'+    { muxType =+        Prelude.Nothing,+      state = pState_+    }++-- | The MUX type of the artifact configuration.+contentArtifactsConfiguration_muxType :: Lens.Lens' ContentArtifactsConfiguration (Prelude.Maybe ContentMuxType)+contentArtifactsConfiguration_muxType = Lens.lens (\ContentArtifactsConfiguration' {muxType} -> muxType) (\s@ContentArtifactsConfiguration' {} a -> s {muxType = a} :: ContentArtifactsConfiguration)++-- | Indicates whether the content artifact is enabled or disabled.+contentArtifactsConfiguration_state :: Lens.Lens' ContentArtifactsConfiguration ArtifactsState+contentArtifactsConfiguration_state = Lens.lens (\ContentArtifactsConfiguration' {state} -> state) (\s@ContentArtifactsConfiguration' {} a -> s {state = a} :: ContentArtifactsConfiguration)++instance Data.FromJSON ContentArtifactsConfiguration where+  parseJSON =+    Data.withObject+      "ContentArtifactsConfiguration"+      ( \x ->+          ContentArtifactsConfiguration'+            Prelude.<$> (x Data..:? "MuxType")+            Prelude.<*> (x Data..: "State")+      )++instance+  Prelude.Hashable+    ContentArtifactsConfiguration+  where+  hashWithSalt _salt ContentArtifactsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` muxType+      `Prelude.hashWithSalt` state++instance Prelude.NFData ContentArtifactsConfiguration where+  rnf ContentArtifactsConfiguration' {..} =+    Prelude.rnf muxType `Prelude.seq` Prelude.rnf state++instance Data.ToJSON ContentArtifactsConfiguration where+  toJSON ContentArtifactsConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MuxType" Data..=) Prelude.<$> muxType,+            Prelude.Just ("State" Data..= state)+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ContentConcatenationConfiguration.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.ContentConcatenationConfiguration+-- 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.ChimeSdkMediaPipelines.Types.ContentConcatenationConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationState+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 composited content configuration object for a specified media+-- pipeline.+--+-- /See:/ 'newContentConcatenationConfiguration' smart constructor.+data ContentConcatenationConfiguration = ContentConcatenationConfiguration'+  { -- | Enables or disables the configuration object.+    state :: ArtifactsConcatenationState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ContentConcatenationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'state', 'contentConcatenationConfiguration_state' - Enables or disables the configuration object.+newContentConcatenationConfiguration ::+  -- | 'state'+  ArtifactsConcatenationState ->+  ContentConcatenationConfiguration+newContentConcatenationConfiguration pState_ =+  ContentConcatenationConfiguration' {state = pState_}++-- | Enables or disables the configuration object.+contentConcatenationConfiguration_state :: Lens.Lens' ContentConcatenationConfiguration ArtifactsConcatenationState+contentConcatenationConfiguration_state = Lens.lens (\ContentConcatenationConfiguration' {state} -> state) (\s@ContentConcatenationConfiguration' {} a -> s {state = a} :: ContentConcatenationConfiguration)++instance+  Data.FromJSON+    ContentConcatenationConfiguration+  where+  parseJSON =+    Data.withObject+      "ContentConcatenationConfiguration"+      ( \x ->+          ContentConcatenationConfiguration'+            Prelude.<$> (x Data..: "State")+      )++instance+  Prelude.Hashable+    ContentConcatenationConfiguration+  where+  hashWithSalt+    _salt+    ContentConcatenationConfiguration' {..} =+      _salt `Prelude.hashWithSalt` state++instance+  Prelude.NFData+    ContentConcatenationConfiguration+  where+  rnf ContentConcatenationConfiguration' {..} =+    Prelude.rnf state++instance+  Data.ToJSON+    ContentConcatenationConfiguration+  where+  toJSON ContentConcatenationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("State" Data..= state)]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ContentMuxType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.ContentMuxType+-- 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.ChimeSdkMediaPipelines.Types.ContentMuxType+  ( ContentMuxType+      ( ..,+        ContentMuxType_ContentOnly+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ContentMuxType = ContentMuxType'+  { fromContentMuxType ::+      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 ContentMuxType_ContentOnly :: ContentMuxType+pattern ContentMuxType_ContentOnly = ContentMuxType' "ContentOnly"++{-# COMPLETE+  ContentMuxType_ContentOnly,+  ContentMuxType'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ContentShareLayoutOption.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.ChimeSdkMediaPipelines.Types.ContentShareLayoutOption+-- 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.ChimeSdkMediaPipelines.Types.ContentShareLayoutOption+  ( ContentShareLayoutOption+      ( ..,+        ContentShareLayoutOption_Horizontal,+        ContentShareLayoutOption_PresenterOnly,+        ContentShareLayoutOption_Vertical+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ContentShareLayoutOption = ContentShareLayoutOption'+  { fromContentShareLayoutOption ::+      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 ContentShareLayoutOption_Horizontal :: ContentShareLayoutOption+pattern ContentShareLayoutOption_Horizontal = ContentShareLayoutOption' "Horizontal"++pattern ContentShareLayoutOption_PresenterOnly :: ContentShareLayoutOption+pattern ContentShareLayoutOption_PresenterOnly = ContentShareLayoutOption' "PresenterOnly"++pattern ContentShareLayoutOption_Vertical :: ContentShareLayoutOption+pattern ContentShareLayoutOption_Vertical = ContentShareLayoutOption' "Vertical"++{-# COMPLETE+  ContentShareLayoutOption_Horizontal,+  ContentShareLayoutOption_PresenterOnly,+  ContentShareLayoutOption_Vertical,+  ContentShareLayoutOption'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/DataChannelConcatenationConfiguration.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.ChimeSdkMediaPipelines.Types.DataChannelConcatenationConfiguration+-- 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.ChimeSdkMediaPipelines.Types.DataChannelConcatenationConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationState+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 content configuration object\'s data channel.+--+-- /See:/ 'newDataChannelConcatenationConfiguration' smart constructor.+data DataChannelConcatenationConfiguration = DataChannelConcatenationConfiguration'+  { -- | Enables or disables the configuration object.+    state :: ArtifactsConcatenationState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DataChannelConcatenationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'state', 'dataChannelConcatenationConfiguration_state' - Enables or disables the configuration object.+newDataChannelConcatenationConfiguration ::+  -- | 'state'+  ArtifactsConcatenationState ->+  DataChannelConcatenationConfiguration+newDataChannelConcatenationConfiguration pState_ =+  DataChannelConcatenationConfiguration'+    { state =+        pState_+    }++-- | Enables or disables the configuration object.+dataChannelConcatenationConfiguration_state :: Lens.Lens' DataChannelConcatenationConfiguration ArtifactsConcatenationState+dataChannelConcatenationConfiguration_state = Lens.lens (\DataChannelConcatenationConfiguration' {state} -> state) (\s@DataChannelConcatenationConfiguration' {} a -> s {state = a} :: DataChannelConcatenationConfiguration)++instance+  Data.FromJSON+    DataChannelConcatenationConfiguration+  where+  parseJSON =+    Data.withObject+      "DataChannelConcatenationConfiguration"+      ( \x ->+          DataChannelConcatenationConfiguration'+            Prelude.<$> (x Data..: "State")+      )++instance+  Prelude.Hashable+    DataChannelConcatenationConfiguration+  where+  hashWithSalt+    _salt+    DataChannelConcatenationConfiguration' {..} =+      _salt `Prelude.hashWithSalt` state++instance+  Prelude.NFData+    DataChannelConcatenationConfiguration+  where+  rnf DataChannelConcatenationConfiguration' {..} =+    Prelude.rnf state++instance+  Data.ToJSON+    DataChannelConcatenationConfiguration+  where+  toJSON DataChannelConcatenationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("State" Data..= state)]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/GridViewConfiguration.hs view
@@ -0,0 +1,100 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.GridViewConfiguration+-- 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.ChimeSdkMediaPipelines.Types.GridViewConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.ContentShareLayoutOption+import Amazonka.ChimeSdkMediaPipelines.Types.PresenterOnlyConfiguration+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Specifies the type of grid layout.+--+-- /See:/ 'newGridViewConfiguration' smart constructor.+data GridViewConfiguration = GridViewConfiguration'+  { -- | Defines the configuration options for a presenter only video tile.+    presenterOnlyConfiguration :: Prelude.Maybe PresenterOnlyConfiguration,+    -- | Defines the layout of the video tiles when content sharing is enabled.+    contentShareLayout :: ContentShareLayoutOption+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GridViewConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'presenterOnlyConfiguration', 'gridViewConfiguration_presenterOnlyConfiguration' - Defines the configuration options for a presenter only video tile.+--+-- 'contentShareLayout', 'gridViewConfiguration_contentShareLayout' - Defines the layout of the video tiles when content sharing is enabled.+newGridViewConfiguration ::+  -- | 'contentShareLayout'+  ContentShareLayoutOption ->+  GridViewConfiguration+newGridViewConfiguration pContentShareLayout_ =+  GridViewConfiguration'+    { presenterOnlyConfiguration =+        Prelude.Nothing,+      contentShareLayout = pContentShareLayout_+    }++-- | Defines the configuration options for a presenter only video tile.+gridViewConfiguration_presenterOnlyConfiguration :: Lens.Lens' GridViewConfiguration (Prelude.Maybe PresenterOnlyConfiguration)+gridViewConfiguration_presenterOnlyConfiguration = Lens.lens (\GridViewConfiguration' {presenterOnlyConfiguration} -> presenterOnlyConfiguration) (\s@GridViewConfiguration' {} a -> s {presenterOnlyConfiguration = a} :: GridViewConfiguration)++-- | Defines the layout of the video tiles when content sharing is enabled.+gridViewConfiguration_contentShareLayout :: Lens.Lens' GridViewConfiguration ContentShareLayoutOption+gridViewConfiguration_contentShareLayout = Lens.lens (\GridViewConfiguration' {contentShareLayout} -> contentShareLayout) (\s@GridViewConfiguration' {} a -> s {contentShareLayout = a} :: GridViewConfiguration)++instance Data.FromJSON GridViewConfiguration where+  parseJSON =+    Data.withObject+      "GridViewConfiguration"+      ( \x ->+          GridViewConfiguration'+            Prelude.<$> (x Data..:? "PresenterOnlyConfiguration")+            Prelude.<*> (x Data..: "ContentShareLayout")+      )++instance Prelude.Hashable GridViewConfiguration where+  hashWithSalt _salt GridViewConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` presenterOnlyConfiguration+      `Prelude.hashWithSalt` contentShareLayout++instance Prelude.NFData GridViewConfiguration where+  rnf GridViewConfiguration' {..} =+    Prelude.rnf presenterOnlyConfiguration+      `Prelude.seq` Prelude.rnf contentShareLayout++instance Data.ToJSON GridViewConfiguration where+  toJSON GridViewConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PresenterOnlyConfiguration" Data..=)+              Prelude.<$> presenterOnlyConfiguration,+            Prelude.Just+              ("ContentShareLayout" Data..= contentShareLayout)+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/LayoutOption.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.LayoutOption+-- 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.ChimeSdkMediaPipelines.Types.LayoutOption+  ( LayoutOption+      ( ..,+        LayoutOption_GridView+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LayoutOption = LayoutOption'+  { fromLayoutOption ::+      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 LayoutOption_GridView :: LayoutOption+pattern LayoutOption_GridView = LayoutOption' "GridView"++{-# COMPLETE+  LayoutOption_GridView,+  LayoutOption'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/LiveConnectorMuxType.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorMuxType+-- 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.ChimeSdkMediaPipelines.Types.LiveConnectorMuxType+  ( LiveConnectorMuxType+      ( ..,+        LiveConnectorMuxType_AudioWithActiveSpeakerVideo,+        LiveConnectorMuxType_AudioWithCompositedVideo+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LiveConnectorMuxType = LiveConnectorMuxType'+  { fromLiveConnectorMuxType ::+      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 LiveConnectorMuxType_AudioWithActiveSpeakerVideo :: LiveConnectorMuxType+pattern LiveConnectorMuxType_AudioWithActiveSpeakerVideo = LiveConnectorMuxType' "AudioWithActiveSpeakerVideo"++pattern LiveConnectorMuxType_AudioWithCompositedVideo :: LiveConnectorMuxType+pattern LiveConnectorMuxType_AudioWithCompositedVideo = LiveConnectorMuxType' "AudioWithCompositedVideo"++{-# COMPLETE+  LiveConnectorMuxType_AudioWithActiveSpeakerVideo,+  LiveConnectorMuxType_AudioWithCompositedVideo,+  LiveConnectorMuxType'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/LiveConnectorRTMPConfiguration.hs view
@@ -0,0 +1,119 @@+{-# 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.ChimeSdkMediaPipelines.Types.LiveConnectorRTMPConfiguration+-- 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.ChimeSdkMediaPipelines.Types.LiveConnectorRTMPConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.AudioChannelsOption+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 media pipeline\'s RTMP configuration object.+--+-- /See:/ 'newLiveConnectorRTMPConfiguration' smart constructor.+data LiveConnectorRTMPConfiguration = LiveConnectorRTMPConfiguration'+  { -- | The audio channels set for the RTMP configuration+    audioChannels :: Prelude.Maybe AudioChannelsOption,+    -- | The audio sample rate set for the RTMP configuration. Default: 48000.+    audioSampleRate :: Prelude.Maybe Prelude.Text,+    -- | The URL of the RTMP configuration.+    url :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LiveConnectorRTMPConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'audioChannels', 'liveConnectorRTMPConfiguration_audioChannels' - The audio channels set for the RTMP configuration+--+-- 'audioSampleRate', 'liveConnectorRTMPConfiguration_audioSampleRate' - The audio sample rate set for the RTMP configuration. Default: 48000.+--+-- 'url', 'liveConnectorRTMPConfiguration_url' - The URL of the RTMP configuration.+newLiveConnectorRTMPConfiguration ::+  -- | 'url'+  Prelude.Text ->+  LiveConnectorRTMPConfiguration+newLiveConnectorRTMPConfiguration pUrl_ =+  LiveConnectorRTMPConfiguration'+    { audioChannels =+        Prelude.Nothing,+      audioSampleRate = Prelude.Nothing,+      url = Data._Sensitive Lens.# pUrl_+    }++-- | The audio channels set for the RTMP configuration+liveConnectorRTMPConfiguration_audioChannels :: Lens.Lens' LiveConnectorRTMPConfiguration (Prelude.Maybe AudioChannelsOption)+liveConnectorRTMPConfiguration_audioChannels = Lens.lens (\LiveConnectorRTMPConfiguration' {audioChannels} -> audioChannels) (\s@LiveConnectorRTMPConfiguration' {} a -> s {audioChannels = a} :: LiveConnectorRTMPConfiguration)++-- | The audio sample rate set for the RTMP configuration. Default: 48000.+liveConnectorRTMPConfiguration_audioSampleRate :: Lens.Lens' LiveConnectorRTMPConfiguration (Prelude.Maybe Prelude.Text)+liveConnectorRTMPConfiguration_audioSampleRate = Lens.lens (\LiveConnectorRTMPConfiguration' {audioSampleRate} -> audioSampleRate) (\s@LiveConnectorRTMPConfiguration' {} a -> s {audioSampleRate = a} :: LiveConnectorRTMPConfiguration)++-- | The URL of the RTMP configuration.+liveConnectorRTMPConfiguration_url :: Lens.Lens' LiveConnectorRTMPConfiguration Prelude.Text+liveConnectorRTMPConfiguration_url = Lens.lens (\LiveConnectorRTMPConfiguration' {url} -> url) (\s@LiveConnectorRTMPConfiguration' {} a -> s {url = a} :: LiveConnectorRTMPConfiguration) Prelude.. Data._Sensitive++instance Data.FromJSON LiveConnectorRTMPConfiguration where+  parseJSON =+    Data.withObject+      "LiveConnectorRTMPConfiguration"+      ( \x ->+          LiveConnectorRTMPConfiguration'+            Prelude.<$> (x Data..:? "AudioChannels")+            Prelude.<*> (x Data..:? "AudioSampleRate")+            Prelude.<*> (x Data..: "Url")+      )++instance+  Prelude.Hashable+    LiveConnectorRTMPConfiguration+  where+  hashWithSalt+    _salt+    LiveConnectorRTMPConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` audioChannels+        `Prelude.hashWithSalt` audioSampleRate+        `Prelude.hashWithSalt` url++instance+  Prelude.NFData+    LiveConnectorRTMPConfiguration+  where+  rnf LiveConnectorRTMPConfiguration' {..} =+    Prelude.rnf audioChannels+      `Prelude.seq` Prelude.rnf audioSampleRate+      `Prelude.seq` Prelude.rnf url++instance Data.ToJSON LiveConnectorRTMPConfiguration where+  toJSON LiveConnectorRTMPConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AudioChannels" Data..=) Prelude.<$> audioChannels,+            ("AudioSampleRate" Data..=)+              Prelude.<$> audioSampleRate,+            Prelude.Just ("Url" Data..= url)+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/LiveConnectorSinkConfiguration.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSinkConfiguration+-- 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.ChimeSdkMediaPipelines.Types.LiveConnectorSinkConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorRTMPConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSinkType+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 media pipeline\'s sink configuration settings.+--+-- /See:/ 'newLiveConnectorSinkConfiguration' smart constructor.+data LiveConnectorSinkConfiguration = LiveConnectorSinkConfiguration'+  { -- | The sink configuration\'s sink type.+    sinkType :: LiveConnectorSinkType,+    -- | The sink configuration\'s RTMP configuration setttings.+    rTMPConfiguration :: LiveConnectorRTMPConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LiveConnectorSinkConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sinkType', 'liveConnectorSinkConfiguration_sinkType' - The sink configuration\'s sink type.+--+-- 'rTMPConfiguration', 'liveConnectorSinkConfiguration_rTMPConfiguration' - The sink configuration\'s RTMP configuration setttings.+newLiveConnectorSinkConfiguration ::+  -- | 'sinkType'+  LiveConnectorSinkType ->+  -- | 'rTMPConfiguration'+  LiveConnectorRTMPConfiguration ->+  LiveConnectorSinkConfiguration+newLiveConnectorSinkConfiguration+  pSinkType_+  pRTMPConfiguration_ =+    LiveConnectorSinkConfiguration'+      { sinkType =+          pSinkType_,+        rTMPConfiguration = pRTMPConfiguration_+      }++-- | The sink configuration\'s sink type.+liveConnectorSinkConfiguration_sinkType :: Lens.Lens' LiveConnectorSinkConfiguration LiveConnectorSinkType+liveConnectorSinkConfiguration_sinkType = Lens.lens (\LiveConnectorSinkConfiguration' {sinkType} -> sinkType) (\s@LiveConnectorSinkConfiguration' {} a -> s {sinkType = a} :: LiveConnectorSinkConfiguration)++-- | The sink configuration\'s RTMP configuration setttings.+liveConnectorSinkConfiguration_rTMPConfiguration :: Lens.Lens' LiveConnectorSinkConfiguration LiveConnectorRTMPConfiguration+liveConnectorSinkConfiguration_rTMPConfiguration = Lens.lens (\LiveConnectorSinkConfiguration' {rTMPConfiguration} -> rTMPConfiguration) (\s@LiveConnectorSinkConfiguration' {} a -> s {rTMPConfiguration = a} :: LiveConnectorSinkConfiguration)++instance Data.FromJSON LiveConnectorSinkConfiguration where+  parseJSON =+    Data.withObject+      "LiveConnectorSinkConfiguration"+      ( \x ->+          LiveConnectorSinkConfiguration'+            Prelude.<$> (x Data..: "SinkType")+            Prelude.<*> (x Data..: "RTMPConfiguration")+      )++instance+  Prelude.Hashable+    LiveConnectorSinkConfiguration+  where+  hashWithSalt+    _salt+    LiveConnectorSinkConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` sinkType+        `Prelude.hashWithSalt` rTMPConfiguration++instance+  Prelude.NFData+    LiveConnectorSinkConfiguration+  where+  rnf LiveConnectorSinkConfiguration' {..} =+    Prelude.rnf sinkType+      `Prelude.seq` Prelude.rnf rTMPConfiguration++instance Data.ToJSON LiveConnectorSinkConfiguration where+  toJSON LiveConnectorSinkConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("SinkType" Data..= sinkType),+            Prelude.Just+              ("RTMPConfiguration" Data..= rTMPConfiguration)+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/LiveConnectorSinkType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSinkType+-- 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.ChimeSdkMediaPipelines.Types.LiveConnectorSinkType+  ( LiveConnectorSinkType+      ( ..,+        LiveConnectorSinkType_RTMP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LiveConnectorSinkType = LiveConnectorSinkType'+  { fromLiveConnectorSinkType ::+      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 LiveConnectorSinkType_RTMP :: LiveConnectorSinkType+pattern LiveConnectorSinkType_RTMP = LiveConnectorSinkType' "RTMP"++{-# COMPLETE+  LiveConnectorSinkType_RTMP,+  LiveConnectorSinkType'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/LiveConnectorSourceConfiguration.hs view
@@ -0,0 +1,119 @@+{-# 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.ChimeSdkMediaPipelines.Types.LiveConnectorSourceConfiguration+-- 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.ChimeSdkMediaPipelines.Types.LiveConnectorSourceConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingLiveConnectorConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSourceType+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 data source configuration object of a streaming media pipeline.+--+-- /See:/ 'newLiveConnectorSourceConfiguration' smart constructor.+data LiveConnectorSourceConfiguration = LiveConnectorSourceConfiguration'+  { -- | The source configuration\'s media source type.+    sourceType :: LiveConnectorSourceType,+    -- | The configuration settings of the connector pipeline.+    chimeSdkMeetingLiveConnectorConfiguration :: ChimeSdkMeetingLiveConnectorConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LiveConnectorSourceConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceType', 'liveConnectorSourceConfiguration_sourceType' - The source configuration\'s media source type.+--+-- 'chimeSdkMeetingLiveConnectorConfiguration', 'liveConnectorSourceConfiguration_chimeSdkMeetingLiveConnectorConfiguration' - The configuration settings of the connector pipeline.+newLiveConnectorSourceConfiguration ::+  -- | 'sourceType'+  LiveConnectorSourceType ->+  -- | 'chimeSdkMeetingLiveConnectorConfiguration'+  ChimeSdkMeetingLiveConnectorConfiguration ->+  LiveConnectorSourceConfiguration+newLiveConnectorSourceConfiguration+  pSourceType_+  pChimeSdkMeetingLiveConnectorConfiguration_ =+    LiveConnectorSourceConfiguration'+      { sourceType =+          pSourceType_,+        chimeSdkMeetingLiveConnectorConfiguration =+          pChimeSdkMeetingLiveConnectorConfiguration_+      }++-- | The source configuration\'s media source type.+liveConnectorSourceConfiguration_sourceType :: Lens.Lens' LiveConnectorSourceConfiguration LiveConnectorSourceType+liveConnectorSourceConfiguration_sourceType = Lens.lens (\LiveConnectorSourceConfiguration' {sourceType} -> sourceType) (\s@LiveConnectorSourceConfiguration' {} a -> s {sourceType = a} :: LiveConnectorSourceConfiguration)++-- | The configuration settings of the connector pipeline.+liveConnectorSourceConfiguration_chimeSdkMeetingLiveConnectorConfiguration :: Lens.Lens' LiveConnectorSourceConfiguration ChimeSdkMeetingLiveConnectorConfiguration+liveConnectorSourceConfiguration_chimeSdkMeetingLiveConnectorConfiguration = Lens.lens (\LiveConnectorSourceConfiguration' {chimeSdkMeetingLiveConnectorConfiguration} -> chimeSdkMeetingLiveConnectorConfiguration) (\s@LiveConnectorSourceConfiguration' {} a -> s {chimeSdkMeetingLiveConnectorConfiguration = a} :: LiveConnectorSourceConfiguration)++instance+  Data.FromJSON+    LiveConnectorSourceConfiguration+  where+  parseJSON =+    Data.withObject+      "LiveConnectorSourceConfiguration"+      ( \x ->+          LiveConnectorSourceConfiguration'+            Prelude.<$> (x Data..: "SourceType")+            Prelude.<*> ( x+                            Data..: "ChimeSdkMeetingLiveConnectorConfiguration"+                        )+      )++instance+  Prelude.Hashable+    LiveConnectorSourceConfiguration+  where+  hashWithSalt+    _salt+    LiveConnectorSourceConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` sourceType+        `Prelude.hashWithSalt` chimeSdkMeetingLiveConnectorConfiguration++instance+  Prelude.NFData+    LiveConnectorSourceConfiguration+  where+  rnf LiveConnectorSourceConfiguration' {..} =+    Prelude.rnf sourceType+      `Prelude.seq` Prelude.rnf chimeSdkMeetingLiveConnectorConfiguration++instance Data.ToJSON LiveConnectorSourceConfiguration where+  toJSON LiveConnectorSourceConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("SourceType" Data..= sourceType),+            Prelude.Just+              ( "ChimeSdkMeetingLiveConnectorConfiguration"+                  Data..= chimeSdkMeetingLiveConnectorConfiguration+              )+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/LiveConnectorSourceType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSourceType+-- 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.ChimeSdkMediaPipelines.Types.LiveConnectorSourceType+  ( LiveConnectorSourceType+      ( ..,+        LiveConnectorSourceType_ChimeSdkMeeting+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype LiveConnectorSourceType = LiveConnectorSourceType'+  { fromLiveConnectorSourceType ::+      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 LiveConnectorSourceType_ChimeSdkMeeting :: LiveConnectorSourceType+pattern LiveConnectorSourceType_ChimeSdkMeeting = LiveConnectorSourceType' "ChimeSdkMeeting"++{-# COMPLETE+  LiveConnectorSourceType_ChimeSdkMeeting,+  LiveConnectorSourceType'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/MediaCapturePipeline.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipeline+-- 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.ChimeSdkMediaPipelines.Types.MediaCapturePipeline where++import Amazonka.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineSinkType+import Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineSourceType+import Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineStatus+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 media pipeline object consisting of an ID, source type, source ARN, a+-- sink type, a sink ARN, and a configuration object.+--+-- /See:/ 'newMediaCapturePipeline' smart constructor.+data MediaCapturePipeline = MediaCapturePipeline'+  { -- | The configuration for a specified media pipeline. @SourceType@ must be+    -- @ChimeSdkMeeting@.+    chimeSdkMeetingConfiguration :: Prelude.Maybe ChimeSdkMeetingConfiguration,+    -- | The time at which the pipeline was created, in ISO 8601 format.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The ARN of the media capture pipeline+    mediaPipelineArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of a media pipeline.+    mediaPipelineId :: Prelude.Maybe Prelude.Text,+    -- | ARN of the destination to which the media artifacts are saved.+    sinkArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Destination type to which the media artifacts are saved. You must use an+    -- S3 Bucket.+    sinkType :: Prelude.Maybe MediaPipelineSinkType,+    -- | ARN of the source from which the media artifacts are saved.+    sourceArn :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Source type from which media artifacts are saved. You must use+    -- @ChimeMeeting@.+    sourceType :: Prelude.Maybe MediaPipelineSourceType,+    -- | The status of the media pipeline.+    status :: Prelude.Maybe MediaPipelineStatus,+    -- | The time at which the pipeline was updated, in ISO 8601 format.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaCapturePipeline' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'chimeSdkMeetingConfiguration', 'mediaCapturePipeline_chimeSdkMeetingConfiguration' - The configuration for a specified media pipeline. @SourceType@ must be+-- @ChimeSdkMeeting@.+--+-- 'createdTimestamp', 'mediaCapturePipeline_createdTimestamp' - The time at which the pipeline was created, in ISO 8601 format.+--+-- 'mediaPipelineArn', 'mediaCapturePipeline_mediaPipelineArn' - The ARN of the media capture pipeline+--+-- 'mediaPipelineId', 'mediaCapturePipeline_mediaPipelineId' - The ID of a media pipeline.+--+-- 'sinkArn', 'mediaCapturePipeline_sinkArn' - ARN of the destination to which the media artifacts are saved.+--+-- 'sinkType', 'mediaCapturePipeline_sinkType' - Destination type to which the media artifacts are saved. You must use an+-- S3 Bucket.+--+-- 'sourceArn', 'mediaCapturePipeline_sourceArn' - ARN of the source from which the media artifacts are saved.+--+-- 'sourceType', 'mediaCapturePipeline_sourceType' - Source type from which media artifacts are saved. You must use+-- @ChimeMeeting@.+--+-- 'status', 'mediaCapturePipeline_status' - The status of the media pipeline.+--+-- 'updatedTimestamp', 'mediaCapturePipeline_updatedTimestamp' - The time at which the pipeline was updated, in ISO 8601 format.+newMediaCapturePipeline ::+  MediaCapturePipeline+newMediaCapturePipeline =+  MediaCapturePipeline'+    { chimeSdkMeetingConfiguration =+        Prelude.Nothing,+      createdTimestamp = Prelude.Nothing,+      mediaPipelineArn = Prelude.Nothing,+      mediaPipelineId = Prelude.Nothing,+      sinkArn = Prelude.Nothing,+      sinkType = Prelude.Nothing,+      sourceArn = Prelude.Nothing,+      sourceType = Prelude.Nothing,+      status = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing+    }++-- | The configuration for a specified media pipeline. @SourceType@ must be+-- @ChimeSdkMeeting@.+mediaCapturePipeline_chimeSdkMeetingConfiguration :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe ChimeSdkMeetingConfiguration)+mediaCapturePipeline_chimeSdkMeetingConfiguration = Lens.lens (\MediaCapturePipeline' {chimeSdkMeetingConfiguration} -> chimeSdkMeetingConfiguration) (\s@MediaCapturePipeline' {} a -> s {chimeSdkMeetingConfiguration = a} :: MediaCapturePipeline)++-- | The time at which the pipeline was created, in ISO 8601 format.+mediaCapturePipeline_createdTimestamp :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe Prelude.UTCTime)+mediaCapturePipeline_createdTimestamp = Lens.lens (\MediaCapturePipeline' {createdTimestamp} -> createdTimestamp) (\s@MediaCapturePipeline' {} a -> s {createdTimestamp = a} :: MediaCapturePipeline) Prelude.. Lens.mapping Data._Time++-- | The ARN of the media capture pipeline+mediaCapturePipeline_mediaPipelineArn :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe Prelude.Text)+mediaCapturePipeline_mediaPipelineArn = Lens.lens (\MediaCapturePipeline' {mediaPipelineArn} -> mediaPipelineArn) (\s@MediaCapturePipeline' {} a -> s {mediaPipelineArn = a} :: MediaCapturePipeline)++-- | The ID of a media pipeline.+mediaCapturePipeline_mediaPipelineId :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe Prelude.Text)+mediaCapturePipeline_mediaPipelineId = Lens.lens (\MediaCapturePipeline' {mediaPipelineId} -> mediaPipelineId) (\s@MediaCapturePipeline' {} a -> s {mediaPipelineId = a} :: MediaCapturePipeline)++-- | ARN of the destination to which the media artifacts are saved.+mediaCapturePipeline_sinkArn :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe Prelude.Text)+mediaCapturePipeline_sinkArn = Lens.lens (\MediaCapturePipeline' {sinkArn} -> sinkArn) (\s@MediaCapturePipeline' {} a -> s {sinkArn = a} :: MediaCapturePipeline) Prelude.. Lens.mapping Data._Sensitive++-- | Destination type to which the media artifacts are saved. You must use an+-- S3 Bucket.+mediaCapturePipeline_sinkType :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe MediaPipelineSinkType)+mediaCapturePipeline_sinkType = Lens.lens (\MediaCapturePipeline' {sinkType} -> sinkType) (\s@MediaCapturePipeline' {} a -> s {sinkType = a} :: MediaCapturePipeline)++-- | ARN of the source from which the media artifacts are saved.+mediaCapturePipeline_sourceArn :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe Prelude.Text)+mediaCapturePipeline_sourceArn = Lens.lens (\MediaCapturePipeline' {sourceArn} -> sourceArn) (\s@MediaCapturePipeline' {} a -> s {sourceArn = a} :: MediaCapturePipeline) Prelude.. Lens.mapping Data._Sensitive++-- | Source type from which media artifacts are saved. You must use+-- @ChimeMeeting@.+mediaCapturePipeline_sourceType :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe MediaPipelineSourceType)+mediaCapturePipeline_sourceType = Lens.lens (\MediaCapturePipeline' {sourceType} -> sourceType) (\s@MediaCapturePipeline' {} a -> s {sourceType = a} :: MediaCapturePipeline)++-- | The status of the media pipeline.+mediaCapturePipeline_status :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe MediaPipelineStatus)+mediaCapturePipeline_status = Lens.lens (\MediaCapturePipeline' {status} -> status) (\s@MediaCapturePipeline' {} a -> s {status = a} :: MediaCapturePipeline)++-- | The time at which the pipeline was updated, in ISO 8601 format.+mediaCapturePipeline_updatedTimestamp :: Lens.Lens' MediaCapturePipeline (Prelude.Maybe Prelude.UTCTime)+mediaCapturePipeline_updatedTimestamp = Lens.lens (\MediaCapturePipeline' {updatedTimestamp} -> updatedTimestamp) (\s@MediaCapturePipeline' {} a -> s {updatedTimestamp = a} :: MediaCapturePipeline) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON MediaCapturePipeline where+  parseJSON =+    Data.withObject+      "MediaCapturePipeline"+      ( \x ->+          MediaCapturePipeline'+            Prelude.<$> (x Data..:? "ChimeSdkMeetingConfiguration")+            Prelude.<*> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "MediaPipelineArn")+            Prelude.<*> (x Data..:? "MediaPipelineId")+            Prelude.<*> (x Data..:? "SinkArn")+            Prelude.<*> (x Data..:? "SinkType")+            Prelude.<*> (x Data..:? "SourceArn")+            Prelude.<*> (x Data..:? "SourceType")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+      )++instance Prelude.Hashable MediaCapturePipeline where+  hashWithSalt _salt MediaCapturePipeline' {..} =+    _salt+      `Prelude.hashWithSalt` chimeSdkMeetingConfiguration+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` mediaPipelineArn+      `Prelude.hashWithSalt` mediaPipelineId+      `Prelude.hashWithSalt` sinkArn+      `Prelude.hashWithSalt` sinkType+      `Prelude.hashWithSalt` sourceArn+      `Prelude.hashWithSalt` sourceType+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` updatedTimestamp++instance Prelude.NFData MediaCapturePipeline where+  rnf MediaCapturePipeline' {..} =+    Prelude.rnf chimeSdkMeetingConfiguration+      `Prelude.seq` Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf mediaPipelineArn+      `Prelude.seq` Prelude.rnf mediaPipelineId+      `Prelude.seq` Prelude.rnf sinkArn+      `Prelude.seq` Prelude.rnf sinkType+      `Prelude.seq` Prelude.rnf sourceArn+      `Prelude.seq` Prelude.rnf sourceType+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf updatedTimestamp
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/MediaCapturePipelineSourceConfiguration.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipelineSourceConfiguration+-- 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.ChimeSdkMediaPipelines.Types.MediaCapturePipelineSourceConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.ChimeSdkMeetingConcatenationConfiguration+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 source configuration object of a media capture pipeline.+--+-- /See:/ 'newMediaCapturePipelineSourceConfiguration' smart constructor.+data MediaCapturePipelineSourceConfiguration = MediaCapturePipelineSourceConfiguration'+  { -- | The media pipeline ARN in the configuration object of a media capture+    -- pipeline.+    mediaPipelineArn :: Data.Sensitive Prelude.Text,+    -- | The meeting configuration settings in a media capture pipeline+    -- configuration object.+    chimeSdkMeetingConfiguration :: ChimeSdkMeetingConcatenationConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaCapturePipelineSourceConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaPipelineArn', 'mediaCapturePipelineSourceConfiguration_mediaPipelineArn' - The media pipeline ARN in the configuration object of a media capture+-- pipeline.+--+-- 'chimeSdkMeetingConfiguration', 'mediaCapturePipelineSourceConfiguration_chimeSdkMeetingConfiguration' - The meeting configuration settings in a media capture pipeline+-- configuration object.+newMediaCapturePipelineSourceConfiguration ::+  -- | 'mediaPipelineArn'+  Prelude.Text ->+  -- | 'chimeSdkMeetingConfiguration'+  ChimeSdkMeetingConcatenationConfiguration ->+  MediaCapturePipelineSourceConfiguration+newMediaCapturePipelineSourceConfiguration+  pMediaPipelineArn_+  pChimeSdkMeetingConfiguration_ =+    MediaCapturePipelineSourceConfiguration'+      { mediaPipelineArn =+          Data._Sensitive+            Lens.# pMediaPipelineArn_,+        chimeSdkMeetingConfiguration =+          pChimeSdkMeetingConfiguration_+      }++-- | The media pipeline ARN in the configuration object of a media capture+-- pipeline.+mediaCapturePipelineSourceConfiguration_mediaPipelineArn :: Lens.Lens' MediaCapturePipelineSourceConfiguration Prelude.Text+mediaCapturePipelineSourceConfiguration_mediaPipelineArn = Lens.lens (\MediaCapturePipelineSourceConfiguration' {mediaPipelineArn} -> mediaPipelineArn) (\s@MediaCapturePipelineSourceConfiguration' {} a -> s {mediaPipelineArn = a} :: MediaCapturePipelineSourceConfiguration) Prelude.. Data._Sensitive++-- | The meeting configuration settings in a media capture pipeline+-- configuration object.+mediaCapturePipelineSourceConfiguration_chimeSdkMeetingConfiguration :: Lens.Lens' MediaCapturePipelineSourceConfiguration ChimeSdkMeetingConcatenationConfiguration+mediaCapturePipelineSourceConfiguration_chimeSdkMeetingConfiguration = Lens.lens (\MediaCapturePipelineSourceConfiguration' {chimeSdkMeetingConfiguration} -> chimeSdkMeetingConfiguration) (\s@MediaCapturePipelineSourceConfiguration' {} a -> s {chimeSdkMeetingConfiguration = a} :: MediaCapturePipelineSourceConfiguration)++instance+  Data.FromJSON+    MediaCapturePipelineSourceConfiguration+  where+  parseJSON =+    Data.withObject+      "MediaCapturePipelineSourceConfiguration"+      ( \x ->+          MediaCapturePipelineSourceConfiguration'+            Prelude.<$> (x Data..: "MediaPipelineArn")+            Prelude.<*> (x Data..: "ChimeSdkMeetingConfiguration")+      )++instance+  Prelude.Hashable+    MediaCapturePipelineSourceConfiguration+  where+  hashWithSalt+    _salt+    MediaCapturePipelineSourceConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` mediaPipelineArn+        `Prelude.hashWithSalt` chimeSdkMeetingConfiguration++instance+  Prelude.NFData+    MediaCapturePipelineSourceConfiguration+  where+  rnf MediaCapturePipelineSourceConfiguration' {..} =+    Prelude.rnf mediaPipelineArn+      `Prelude.seq` Prelude.rnf chimeSdkMeetingConfiguration++instance+  Data.ToJSON+    MediaCapturePipelineSourceConfiguration+  where+  toJSON MediaCapturePipelineSourceConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just+              ("MediaPipelineArn" Data..= mediaPipelineArn),+            Prelude.Just+              ( "ChimeSdkMeetingConfiguration"+                  Data..= chimeSdkMeetingConfiguration+              )+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/MediaCapturePipelineSummary.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipelineSummary+-- 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.ChimeSdkMediaPipelines.Types.MediaCapturePipelineSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The summary data of a media capture pipeline.+--+-- /See:/ 'newMediaCapturePipelineSummary' smart constructor.+data MediaCapturePipelineSummary = MediaCapturePipelineSummary'+  { -- | The ARN of the media pipeline in the summary.+    mediaPipelineArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the media pipeline in the summary.+    mediaPipelineId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaCapturePipelineSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaPipelineArn', 'mediaCapturePipelineSummary_mediaPipelineArn' - The ARN of the media pipeline in the summary.+--+-- 'mediaPipelineId', 'mediaCapturePipelineSummary_mediaPipelineId' - The ID of the media pipeline in the summary.+newMediaCapturePipelineSummary ::+  MediaCapturePipelineSummary+newMediaCapturePipelineSummary =+  MediaCapturePipelineSummary'+    { mediaPipelineArn =+        Prelude.Nothing,+      mediaPipelineId = Prelude.Nothing+    }++-- | The ARN of the media pipeline in the summary.+mediaCapturePipelineSummary_mediaPipelineArn :: Lens.Lens' MediaCapturePipelineSummary (Prelude.Maybe Prelude.Text)+mediaCapturePipelineSummary_mediaPipelineArn = Lens.lens (\MediaCapturePipelineSummary' {mediaPipelineArn} -> mediaPipelineArn) (\s@MediaCapturePipelineSummary' {} a -> s {mediaPipelineArn = a} :: MediaCapturePipelineSummary)++-- | The ID of the media pipeline in the summary.+mediaCapturePipelineSummary_mediaPipelineId :: Lens.Lens' MediaCapturePipelineSummary (Prelude.Maybe Prelude.Text)+mediaCapturePipelineSummary_mediaPipelineId = Lens.lens (\MediaCapturePipelineSummary' {mediaPipelineId} -> mediaPipelineId) (\s@MediaCapturePipelineSummary' {} a -> s {mediaPipelineId = a} :: MediaCapturePipelineSummary)++instance Data.FromJSON MediaCapturePipelineSummary where+  parseJSON =+    Data.withObject+      "MediaCapturePipelineSummary"+      ( \x ->+          MediaCapturePipelineSummary'+            Prelude.<$> (x Data..:? "MediaPipelineArn")+            Prelude.<*> (x Data..:? "MediaPipelineId")+      )++instance Prelude.Hashable MediaCapturePipelineSummary where+  hashWithSalt _salt MediaCapturePipelineSummary' {..} =+    _salt+      `Prelude.hashWithSalt` mediaPipelineArn+      `Prelude.hashWithSalt` mediaPipelineId++instance Prelude.NFData MediaCapturePipelineSummary where+  rnf MediaCapturePipelineSummary' {..} =+    Prelude.rnf mediaPipelineArn+      `Prelude.seq` Prelude.rnf mediaPipelineId
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/MediaConcatenationPipeline.hs view
@@ -0,0 +1,151 @@+{-# 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.ChimeSdkMediaPipelines.Types.MediaConcatenationPipeline+-- 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.ChimeSdkMediaPipelines.Types.MediaConcatenationPipeline where++import Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSink+import Amazonka.ChimeSdkMediaPipelines.Types.ConcatenationSource+import Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineStatus+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++-- | Concatenates audio and video data from one or more data streams.+--+-- /See:/ 'newMediaConcatenationPipeline' smart constructor.+data MediaConcatenationPipeline = MediaConcatenationPipeline'+  { -- | The time at which the concatenation pipeline was created.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The ARN of the media pipeline that you specify in the+    -- @SourceConfiguration@ object.+    mediaPipelineArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the media pipeline being concatenated.+    mediaPipelineId :: Prelude.Maybe Prelude.Text,+    -- | The data sinks of the concatenation pipeline.+    sinks :: Prelude.Maybe (Prelude.NonEmpty ConcatenationSink),+    -- | The data sources being concatnated.+    sources :: Prelude.Maybe (Prelude.NonEmpty ConcatenationSource),+    -- | The status of the concatenation pipeline.+    status :: Prelude.Maybe MediaPipelineStatus,+    -- | The time at which the concatenation pipeline was last updated.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaConcatenationPipeline' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdTimestamp', 'mediaConcatenationPipeline_createdTimestamp' - The time at which the concatenation pipeline was created.+--+-- 'mediaPipelineArn', 'mediaConcatenationPipeline_mediaPipelineArn' - The ARN of the media pipeline that you specify in the+-- @SourceConfiguration@ object.+--+-- 'mediaPipelineId', 'mediaConcatenationPipeline_mediaPipelineId' - The ID of the media pipeline being concatenated.+--+-- 'sinks', 'mediaConcatenationPipeline_sinks' - The data sinks of the concatenation pipeline.+--+-- 'sources', 'mediaConcatenationPipeline_sources' - The data sources being concatnated.+--+-- 'status', 'mediaConcatenationPipeline_status' - The status of the concatenation pipeline.+--+-- 'updatedTimestamp', 'mediaConcatenationPipeline_updatedTimestamp' - The time at which the concatenation pipeline was last updated.+newMediaConcatenationPipeline ::+  MediaConcatenationPipeline+newMediaConcatenationPipeline =+  MediaConcatenationPipeline'+    { createdTimestamp =+        Prelude.Nothing,+      mediaPipelineArn = Prelude.Nothing,+      mediaPipelineId = Prelude.Nothing,+      sinks = Prelude.Nothing,+      sources = Prelude.Nothing,+      status = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing+    }++-- | The time at which the concatenation pipeline was created.+mediaConcatenationPipeline_createdTimestamp :: Lens.Lens' MediaConcatenationPipeline (Prelude.Maybe Prelude.UTCTime)+mediaConcatenationPipeline_createdTimestamp = Lens.lens (\MediaConcatenationPipeline' {createdTimestamp} -> createdTimestamp) (\s@MediaConcatenationPipeline' {} a -> s {createdTimestamp = a} :: MediaConcatenationPipeline) Prelude.. Lens.mapping Data._Time++-- | The ARN of the media pipeline that you specify in the+-- @SourceConfiguration@ object.+mediaConcatenationPipeline_mediaPipelineArn :: Lens.Lens' MediaConcatenationPipeline (Prelude.Maybe Prelude.Text)+mediaConcatenationPipeline_mediaPipelineArn = Lens.lens (\MediaConcatenationPipeline' {mediaPipelineArn} -> mediaPipelineArn) (\s@MediaConcatenationPipeline' {} a -> s {mediaPipelineArn = a} :: MediaConcatenationPipeline)++-- | The ID of the media pipeline being concatenated.+mediaConcatenationPipeline_mediaPipelineId :: Lens.Lens' MediaConcatenationPipeline (Prelude.Maybe Prelude.Text)+mediaConcatenationPipeline_mediaPipelineId = Lens.lens (\MediaConcatenationPipeline' {mediaPipelineId} -> mediaPipelineId) (\s@MediaConcatenationPipeline' {} a -> s {mediaPipelineId = a} :: MediaConcatenationPipeline)++-- | The data sinks of the concatenation pipeline.+mediaConcatenationPipeline_sinks :: Lens.Lens' MediaConcatenationPipeline (Prelude.Maybe (Prelude.NonEmpty ConcatenationSink))+mediaConcatenationPipeline_sinks = Lens.lens (\MediaConcatenationPipeline' {sinks} -> sinks) (\s@MediaConcatenationPipeline' {} a -> s {sinks = a} :: MediaConcatenationPipeline) Prelude.. Lens.mapping Lens.coerced++-- | The data sources being concatnated.+mediaConcatenationPipeline_sources :: Lens.Lens' MediaConcatenationPipeline (Prelude.Maybe (Prelude.NonEmpty ConcatenationSource))+mediaConcatenationPipeline_sources = Lens.lens (\MediaConcatenationPipeline' {sources} -> sources) (\s@MediaConcatenationPipeline' {} a -> s {sources = a} :: MediaConcatenationPipeline) Prelude.. Lens.mapping Lens.coerced++-- | The status of the concatenation pipeline.+mediaConcatenationPipeline_status :: Lens.Lens' MediaConcatenationPipeline (Prelude.Maybe MediaPipelineStatus)+mediaConcatenationPipeline_status = Lens.lens (\MediaConcatenationPipeline' {status} -> status) (\s@MediaConcatenationPipeline' {} a -> s {status = a} :: MediaConcatenationPipeline)++-- | The time at which the concatenation pipeline was last updated.+mediaConcatenationPipeline_updatedTimestamp :: Lens.Lens' MediaConcatenationPipeline (Prelude.Maybe Prelude.UTCTime)+mediaConcatenationPipeline_updatedTimestamp = Lens.lens (\MediaConcatenationPipeline' {updatedTimestamp} -> updatedTimestamp) (\s@MediaConcatenationPipeline' {} a -> s {updatedTimestamp = a} :: MediaConcatenationPipeline) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON MediaConcatenationPipeline where+  parseJSON =+    Data.withObject+      "MediaConcatenationPipeline"+      ( \x ->+          MediaConcatenationPipeline'+            Prelude.<$> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "MediaPipelineArn")+            Prelude.<*> (x Data..:? "MediaPipelineId")+            Prelude.<*> (x Data..:? "Sinks")+            Prelude.<*> (x Data..:? "Sources")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+      )++instance Prelude.Hashable MediaConcatenationPipeline where+  hashWithSalt _salt MediaConcatenationPipeline' {..} =+    _salt+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` mediaPipelineArn+      `Prelude.hashWithSalt` mediaPipelineId+      `Prelude.hashWithSalt` sinks+      `Prelude.hashWithSalt` sources+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` updatedTimestamp++instance Prelude.NFData MediaConcatenationPipeline where+  rnf MediaConcatenationPipeline' {..} =+    Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf mediaPipelineArn+      `Prelude.seq` Prelude.rnf mediaPipelineId+      `Prelude.seq` Prelude.rnf sinks+      `Prelude.seq` Prelude.rnf sources+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf updatedTimestamp
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/MediaLiveConnectorPipeline.hs view
@@ -0,0 +1,148 @@+{-# 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.ChimeSdkMediaPipelines.Types.MediaLiveConnectorPipeline+-- 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.ChimeSdkMediaPipelines.Types.MediaLiveConnectorPipeline where++import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSinkConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.LiveConnectorSourceConfiguration+import Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineStatus+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 connector pipeline.+--+-- /See:/ 'newMediaLiveConnectorPipeline' smart constructor.+data MediaLiveConnectorPipeline = MediaLiveConnectorPipeline'+  { -- | Thetime at which the connector pipeline was created.+    createdTimestamp :: Prelude.Maybe Data.ISO8601,+    -- | The connector pipeline\'s ARN.+    mediaPipelineArn :: Prelude.Maybe Prelude.Text,+    -- | The connector pipeline\'s ID.+    mediaPipelineId :: Prelude.Maybe Prelude.Text,+    -- | The connector pipeline\'s data sinks.+    sinks :: Prelude.Maybe (Prelude.NonEmpty LiveConnectorSinkConfiguration),+    -- | The connector pipeline\'s data sources.+    sources :: Prelude.Maybe (Prelude.NonEmpty LiveConnectorSourceConfiguration),+    -- | The connector pipeline\'s status.+    status :: Prelude.Maybe MediaPipelineStatus,+    -- | The time at which the connector pipeline was last updated.+    updatedTimestamp :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaLiveConnectorPipeline' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'createdTimestamp', 'mediaLiveConnectorPipeline_createdTimestamp' - Thetime at which the connector pipeline was created.+--+-- 'mediaPipelineArn', 'mediaLiveConnectorPipeline_mediaPipelineArn' - The connector pipeline\'s ARN.+--+-- 'mediaPipelineId', 'mediaLiveConnectorPipeline_mediaPipelineId' - The connector pipeline\'s ID.+--+-- 'sinks', 'mediaLiveConnectorPipeline_sinks' - The connector pipeline\'s data sinks.+--+-- 'sources', 'mediaLiveConnectorPipeline_sources' - The connector pipeline\'s data sources.+--+-- 'status', 'mediaLiveConnectorPipeline_status' - The connector pipeline\'s status.+--+-- 'updatedTimestamp', 'mediaLiveConnectorPipeline_updatedTimestamp' - The time at which the connector pipeline was last updated.+newMediaLiveConnectorPipeline ::+  MediaLiveConnectorPipeline+newMediaLiveConnectorPipeline =+  MediaLiveConnectorPipeline'+    { createdTimestamp =+        Prelude.Nothing,+      mediaPipelineArn = Prelude.Nothing,+      mediaPipelineId = Prelude.Nothing,+      sinks = Prelude.Nothing,+      sources = Prelude.Nothing,+      status = Prelude.Nothing,+      updatedTimestamp = Prelude.Nothing+    }++-- | Thetime at which the connector pipeline was created.+mediaLiveConnectorPipeline_createdTimestamp :: Lens.Lens' MediaLiveConnectorPipeline (Prelude.Maybe Prelude.UTCTime)+mediaLiveConnectorPipeline_createdTimestamp = Lens.lens (\MediaLiveConnectorPipeline' {createdTimestamp} -> createdTimestamp) (\s@MediaLiveConnectorPipeline' {} a -> s {createdTimestamp = a} :: MediaLiveConnectorPipeline) Prelude.. Lens.mapping Data._Time++-- | The connector pipeline\'s ARN.+mediaLiveConnectorPipeline_mediaPipelineArn :: Lens.Lens' MediaLiveConnectorPipeline (Prelude.Maybe Prelude.Text)+mediaLiveConnectorPipeline_mediaPipelineArn = Lens.lens (\MediaLiveConnectorPipeline' {mediaPipelineArn} -> mediaPipelineArn) (\s@MediaLiveConnectorPipeline' {} a -> s {mediaPipelineArn = a} :: MediaLiveConnectorPipeline)++-- | The connector pipeline\'s ID.+mediaLiveConnectorPipeline_mediaPipelineId :: Lens.Lens' MediaLiveConnectorPipeline (Prelude.Maybe Prelude.Text)+mediaLiveConnectorPipeline_mediaPipelineId = Lens.lens (\MediaLiveConnectorPipeline' {mediaPipelineId} -> mediaPipelineId) (\s@MediaLiveConnectorPipeline' {} a -> s {mediaPipelineId = a} :: MediaLiveConnectorPipeline)++-- | The connector pipeline\'s data sinks.+mediaLiveConnectorPipeline_sinks :: Lens.Lens' MediaLiveConnectorPipeline (Prelude.Maybe (Prelude.NonEmpty LiveConnectorSinkConfiguration))+mediaLiveConnectorPipeline_sinks = Lens.lens (\MediaLiveConnectorPipeline' {sinks} -> sinks) (\s@MediaLiveConnectorPipeline' {} a -> s {sinks = a} :: MediaLiveConnectorPipeline) Prelude.. Lens.mapping Lens.coerced++-- | The connector pipeline\'s data sources.+mediaLiveConnectorPipeline_sources :: Lens.Lens' MediaLiveConnectorPipeline (Prelude.Maybe (Prelude.NonEmpty LiveConnectorSourceConfiguration))+mediaLiveConnectorPipeline_sources = Lens.lens (\MediaLiveConnectorPipeline' {sources} -> sources) (\s@MediaLiveConnectorPipeline' {} a -> s {sources = a} :: MediaLiveConnectorPipeline) Prelude.. Lens.mapping Lens.coerced++-- | The connector pipeline\'s status.+mediaLiveConnectorPipeline_status :: Lens.Lens' MediaLiveConnectorPipeline (Prelude.Maybe MediaPipelineStatus)+mediaLiveConnectorPipeline_status = Lens.lens (\MediaLiveConnectorPipeline' {status} -> status) (\s@MediaLiveConnectorPipeline' {} a -> s {status = a} :: MediaLiveConnectorPipeline)++-- | The time at which the connector pipeline was last updated.+mediaLiveConnectorPipeline_updatedTimestamp :: Lens.Lens' MediaLiveConnectorPipeline (Prelude.Maybe Prelude.UTCTime)+mediaLiveConnectorPipeline_updatedTimestamp = Lens.lens (\MediaLiveConnectorPipeline' {updatedTimestamp} -> updatedTimestamp) (\s@MediaLiveConnectorPipeline' {} a -> s {updatedTimestamp = a} :: MediaLiveConnectorPipeline) Prelude.. Lens.mapping Data._Time++instance Data.FromJSON MediaLiveConnectorPipeline where+  parseJSON =+    Data.withObject+      "MediaLiveConnectorPipeline"+      ( \x ->+          MediaLiveConnectorPipeline'+            Prelude.<$> (x Data..:? "CreatedTimestamp")+            Prelude.<*> (x Data..:? "MediaPipelineArn")+            Prelude.<*> (x Data..:? "MediaPipelineId")+            Prelude.<*> (x Data..:? "Sinks")+            Prelude.<*> (x Data..:? "Sources")+            Prelude.<*> (x Data..:? "Status")+            Prelude.<*> (x Data..:? "UpdatedTimestamp")+      )++instance Prelude.Hashable MediaLiveConnectorPipeline where+  hashWithSalt _salt MediaLiveConnectorPipeline' {..} =+    _salt+      `Prelude.hashWithSalt` createdTimestamp+      `Prelude.hashWithSalt` mediaPipelineArn+      `Prelude.hashWithSalt` mediaPipelineId+      `Prelude.hashWithSalt` sinks+      `Prelude.hashWithSalt` sources+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` updatedTimestamp++instance Prelude.NFData MediaLiveConnectorPipeline where+  rnf MediaLiveConnectorPipeline' {..} =+    Prelude.rnf createdTimestamp+      `Prelude.seq` Prelude.rnf mediaPipelineArn+      `Prelude.seq` Prelude.rnf mediaPipelineId+      `Prelude.seq` Prelude.rnf sinks+      `Prelude.seq` Prelude.rnf sources+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf updatedTimestamp
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/MediaPipeline.hs view
@@ -0,0 +1,101 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.MediaPipeline+-- 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.ChimeSdkMediaPipelines.Types.MediaPipeline where++import Amazonka.ChimeSdkMediaPipelines.Types.MediaCapturePipeline+import Amazonka.ChimeSdkMediaPipelines.Types.MediaConcatenationPipeline+import Amazonka.ChimeSdkMediaPipelines.Types.MediaLiveConnectorPipeline+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 pipeline consisting of a media capture, media concatenation, or+-- live-streaming pipeline.+--+-- /See:/ 'newMediaPipeline' smart constructor.+data MediaPipeline = MediaPipeline'+  { -- | A pipeline that enables users to capture audio and video.+    mediaCapturePipeline :: Prelude.Maybe MediaCapturePipeline,+    -- | The media concatenation pipeline in a media pipeline.+    mediaConcatenationPipeline :: Prelude.Maybe MediaConcatenationPipeline,+    -- | The connector pipeline of the media pipeline.+    mediaLiveConnectorPipeline :: Prelude.Maybe MediaLiveConnectorPipeline+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaPipeline' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaCapturePipeline', 'mediaPipeline_mediaCapturePipeline' - A pipeline that enables users to capture audio and video.+--+-- 'mediaConcatenationPipeline', 'mediaPipeline_mediaConcatenationPipeline' - The media concatenation pipeline in a media pipeline.+--+-- 'mediaLiveConnectorPipeline', 'mediaPipeline_mediaLiveConnectorPipeline' - The connector pipeline of the media pipeline.+newMediaPipeline ::+  MediaPipeline+newMediaPipeline =+  MediaPipeline'+    { mediaCapturePipeline =+        Prelude.Nothing,+      mediaConcatenationPipeline = Prelude.Nothing,+      mediaLiveConnectorPipeline = Prelude.Nothing+    }++-- | A pipeline that enables users to capture audio and video.+mediaPipeline_mediaCapturePipeline :: Lens.Lens' MediaPipeline (Prelude.Maybe MediaCapturePipeline)+mediaPipeline_mediaCapturePipeline = Lens.lens (\MediaPipeline' {mediaCapturePipeline} -> mediaCapturePipeline) (\s@MediaPipeline' {} a -> s {mediaCapturePipeline = a} :: MediaPipeline)++-- | The media concatenation pipeline in a media pipeline.+mediaPipeline_mediaConcatenationPipeline :: Lens.Lens' MediaPipeline (Prelude.Maybe MediaConcatenationPipeline)+mediaPipeline_mediaConcatenationPipeline = Lens.lens (\MediaPipeline' {mediaConcatenationPipeline} -> mediaConcatenationPipeline) (\s@MediaPipeline' {} a -> s {mediaConcatenationPipeline = a} :: MediaPipeline)++-- | The connector pipeline of the media pipeline.+mediaPipeline_mediaLiveConnectorPipeline :: Lens.Lens' MediaPipeline (Prelude.Maybe MediaLiveConnectorPipeline)+mediaPipeline_mediaLiveConnectorPipeline = Lens.lens (\MediaPipeline' {mediaLiveConnectorPipeline} -> mediaLiveConnectorPipeline) (\s@MediaPipeline' {} a -> s {mediaLiveConnectorPipeline = a} :: MediaPipeline)++instance Data.FromJSON MediaPipeline where+  parseJSON =+    Data.withObject+      "MediaPipeline"+      ( \x ->+          MediaPipeline'+            Prelude.<$> (x Data..:? "MediaCapturePipeline")+            Prelude.<*> (x Data..:? "MediaConcatenationPipeline")+            Prelude.<*> (x Data..:? "MediaLiveConnectorPipeline")+      )++instance Prelude.Hashable MediaPipeline where+  hashWithSalt _salt MediaPipeline' {..} =+    _salt+      `Prelude.hashWithSalt` mediaCapturePipeline+      `Prelude.hashWithSalt` mediaConcatenationPipeline+      `Prelude.hashWithSalt` mediaLiveConnectorPipeline++instance Prelude.NFData MediaPipeline where+  rnf MediaPipeline' {..} =+    Prelude.rnf mediaCapturePipeline+      `Prelude.seq` Prelude.rnf mediaConcatenationPipeline+      `Prelude.seq` Prelude.rnf mediaLiveConnectorPipeline
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/MediaPipelineSinkType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineSinkType+-- 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.ChimeSdkMediaPipelines.Types.MediaPipelineSinkType+  ( MediaPipelineSinkType+      ( ..,+        MediaPipelineSinkType_S3Bucket+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MediaPipelineSinkType = MediaPipelineSinkType'+  { fromMediaPipelineSinkType ::+      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 MediaPipelineSinkType_S3Bucket :: MediaPipelineSinkType+pattern MediaPipelineSinkType_S3Bucket = MediaPipelineSinkType' "S3Bucket"++{-# COMPLETE+  MediaPipelineSinkType_S3Bucket,+  MediaPipelineSinkType'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/MediaPipelineSourceType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineSourceType+-- 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.ChimeSdkMediaPipelines.Types.MediaPipelineSourceType+  ( MediaPipelineSourceType+      ( ..,+        MediaPipelineSourceType_ChimeSdkMeeting+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MediaPipelineSourceType = MediaPipelineSourceType'+  { fromMediaPipelineSourceType ::+      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 MediaPipelineSourceType_ChimeSdkMeeting :: MediaPipelineSourceType+pattern MediaPipelineSourceType_ChimeSdkMeeting = MediaPipelineSourceType' "ChimeSdkMeeting"++{-# COMPLETE+  MediaPipelineSourceType_ChimeSdkMeeting,+  MediaPipelineSourceType'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/MediaPipelineStatus.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.ChimeSdkMediaPipelines.Types.MediaPipelineStatus+-- 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.ChimeSdkMediaPipelines.Types.MediaPipelineStatus+  ( MediaPipelineStatus+      ( ..,+        MediaPipelineStatus_Failed,+        MediaPipelineStatus_InProgress,+        MediaPipelineStatus_Initializing,+        MediaPipelineStatus_Stopped,+        MediaPipelineStatus_Stopping+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MediaPipelineStatus = MediaPipelineStatus'+  { fromMediaPipelineStatus ::+      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 MediaPipelineStatus_Failed :: MediaPipelineStatus+pattern MediaPipelineStatus_Failed = MediaPipelineStatus' "Failed"++pattern MediaPipelineStatus_InProgress :: MediaPipelineStatus+pattern MediaPipelineStatus_InProgress = MediaPipelineStatus' "InProgress"++pattern MediaPipelineStatus_Initializing :: MediaPipelineStatus+pattern MediaPipelineStatus_Initializing = MediaPipelineStatus' "Initializing"++pattern MediaPipelineStatus_Stopped :: MediaPipelineStatus+pattern MediaPipelineStatus_Stopped = MediaPipelineStatus' "Stopped"++pattern MediaPipelineStatus_Stopping :: MediaPipelineStatus+pattern MediaPipelineStatus_Stopping = MediaPipelineStatus' "Stopping"++{-# COMPLETE+  MediaPipelineStatus_Failed,+  MediaPipelineStatus_InProgress,+  MediaPipelineStatus_Initializing,+  MediaPipelineStatus_Stopped,+  MediaPipelineStatus_Stopping,+  MediaPipelineStatus'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/MediaPipelineSummary.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.MediaPipelineSummary+-- 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.ChimeSdkMediaPipelines.Types.MediaPipelineSummary where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The summary of the media pipeline.+--+-- /See:/ 'newMediaPipelineSummary' smart constructor.+data MediaPipelineSummary = MediaPipelineSummary'+  { -- | The ARN of the media pipeline in the summary.+    mediaPipelineArn :: Prelude.Maybe Prelude.Text,+    -- | The ID of the media pipeline in the summary.+    mediaPipelineId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaPipelineSummary' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mediaPipelineArn', 'mediaPipelineSummary_mediaPipelineArn' - The ARN of the media pipeline in the summary.+--+-- 'mediaPipelineId', 'mediaPipelineSummary_mediaPipelineId' - The ID of the media pipeline in the summary.+newMediaPipelineSummary ::+  MediaPipelineSummary+newMediaPipelineSummary =+  MediaPipelineSummary'+    { mediaPipelineArn =+        Prelude.Nothing,+      mediaPipelineId = Prelude.Nothing+    }++-- | The ARN of the media pipeline in the summary.+mediaPipelineSummary_mediaPipelineArn :: Lens.Lens' MediaPipelineSummary (Prelude.Maybe Prelude.Text)+mediaPipelineSummary_mediaPipelineArn = Lens.lens (\MediaPipelineSummary' {mediaPipelineArn} -> mediaPipelineArn) (\s@MediaPipelineSummary' {} a -> s {mediaPipelineArn = a} :: MediaPipelineSummary)++-- | The ID of the media pipeline in the summary.+mediaPipelineSummary_mediaPipelineId :: Lens.Lens' MediaPipelineSummary (Prelude.Maybe Prelude.Text)+mediaPipelineSummary_mediaPipelineId = Lens.lens (\MediaPipelineSummary' {mediaPipelineId} -> mediaPipelineId) (\s@MediaPipelineSummary' {} a -> s {mediaPipelineId = a} :: MediaPipelineSummary)++instance Data.FromJSON MediaPipelineSummary where+  parseJSON =+    Data.withObject+      "MediaPipelineSummary"+      ( \x ->+          MediaPipelineSummary'+            Prelude.<$> (x Data..:? "MediaPipelineArn")+            Prelude.<*> (x Data..:? "MediaPipelineId")+      )++instance Prelude.Hashable MediaPipelineSummary where+  hashWithSalt _salt MediaPipelineSummary' {..} =+    _salt+      `Prelude.hashWithSalt` mediaPipelineArn+      `Prelude.hashWithSalt` mediaPipelineId++instance Prelude.NFData MediaPipelineSummary where+  rnf MediaPipelineSummary' {..} =+    Prelude.rnf mediaPipelineArn+      `Prelude.seq` Prelude.rnf mediaPipelineId
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/MeetingEventsConcatenationConfiguration.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.ChimeSdkMediaPipelines.Types.MeetingEventsConcatenationConfiguration+-- 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.ChimeSdkMediaPipelines.Types.MeetingEventsConcatenationConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationState+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration object for an event concatenation pipeline.+--+-- /See:/ 'newMeetingEventsConcatenationConfiguration' smart constructor.+data MeetingEventsConcatenationConfiguration = MeetingEventsConcatenationConfiguration'+  { -- | Enables or disables the configuration object.+    state :: ArtifactsConcatenationState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MeetingEventsConcatenationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'state', 'meetingEventsConcatenationConfiguration_state' - Enables or disables the configuration object.+newMeetingEventsConcatenationConfiguration ::+  -- | 'state'+  ArtifactsConcatenationState ->+  MeetingEventsConcatenationConfiguration+newMeetingEventsConcatenationConfiguration pState_ =+  MeetingEventsConcatenationConfiguration'+    { state =+        pState_+    }++-- | Enables or disables the configuration object.+meetingEventsConcatenationConfiguration_state :: Lens.Lens' MeetingEventsConcatenationConfiguration ArtifactsConcatenationState+meetingEventsConcatenationConfiguration_state = Lens.lens (\MeetingEventsConcatenationConfiguration' {state} -> state) (\s@MeetingEventsConcatenationConfiguration' {} a -> s {state = a} :: MeetingEventsConcatenationConfiguration)++instance+  Data.FromJSON+    MeetingEventsConcatenationConfiguration+  where+  parseJSON =+    Data.withObject+      "MeetingEventsConcatenationConfiguration"+      ( \x ->+          MeetingEventsConcatenationConfiguration'+            Prelude.<$> (x Data..: "State")+      )++instance+  Prelude.Hashable+    MeetingEventsConcatenationConfiguration+  where+  hashWithSalt+    _salt+    MeetingEventsConcatenationConfiguration' {..} =+      _salt `Prelude.hashWithSalt` state++instance+  Prelude.NFData+    MeetingEventsConcatenationConfiguration+  where+  rnf MeetingEventsConcatenationConfiguration' {..} =+    Prelude.rnf state++instance+  Data.ToJSON+    MeetingEventsConcatenationConfiguration+  where+  toJSON MeetingEventsConcatenationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("State" Data..= state)]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/PresenterOnlyConfiguration.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.ChimeSdkMediaPipelines.Types.PresenterOnlyConfiguration+-- 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.ChimeSdkMediaPipelines.Types.PresenterOnlyConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.PresenterPosition+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Defines the configuration for a presenter only video tile.+--+-- /See:/ 'newPresenterOnlyConfiguration' smart constructor.+data PresenterOnlyConfiguration = PresenterOnlyConfiguration'+  { -- | Defines the position of the presenter video tile. Default: @TopRight@.+    presenterPosition :: Prelude.Maybe PresenterPosition+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PresenterOnlyConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'presenterPosition', 'presenterOnlyConfiguration_presenterPosition' - Defines the position of the presenter video tile. Default: @TopRight@.+newPresenterOnlyConfiguration ::+  PresenterOnlyConfiguration+newPresenterOnlyConfiguration =+  PresenterOnlyConfiguration'+    { presenterPosition =+        Prelude.Nothing+    }++-- | Defines the position of the presenter video tile. Default: @TopRight@.+presenterOnlyConfiguration_presenterPosition :: Lens.Lens' PresenterOnlyConfiguration (Prelude.Maybe PresenterPosition)+presenterOnlyConfiguration_presenterPosition = Lens.lens (\PresenterOnlyConfiguration' {presenterPosition} -> presenterPosition) (\s@PresenterOnlyConfiguration' {} a -> s {presenterPosition = a} :: PresenterOnlyConfiguration)++instance Data.FromJSON PresenterOnlyConfiguration where+  parseJSON =+    Data.withObject+      "PresenterOnlyConfiguration"+      ( \x ->+          PresenterOnlyConfiguration'+            Prelude.<$> (x Data..:? "PresenterPosition")+      )++instance Prelude.Hashable PresenterOnlyConfiguration where+  hashWithSalt _salt PresenterOnlyConfiguration' {..} =+    _salt `Prelude.hashWithSalt` presenterPosition++instance Prelude.NFData PresenterOnlyConfiguration where+  rnf PresenterOnlyConfiguration' {..} =+    Prelude.rnf presenterPosition++instance Data.ToJSON PresenterOnlyConfiguration where+  toJSON PresenterOnlyConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("PresenterPosition" Data..=)+              Prelude.<$> presenterPosition+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/PresenterPosition.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.ChimeSdkMediaPipelines.Types.PresenterPosition+-- 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.ChimeSdkMediaPipelines.Types.PresenterPosition+  ( PresenterPosition+      ( ..,+        PresenterPosition_BottomLeft,+        PresenterPosition_BottomRight,+        PresenterPosition_TopLeft,+        PresenterPosition_TopRight+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PresenterPosition = PresenterPosition'+  { fromPresenterPosition ::+      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 PresenterPosition_BottomLeft :: PresenterPosition+pattern PresenterPosition_BottomLeft = PresenterPosition' "BottomLeft"++pattern PresenterPosition_BottomRight :: PresenterPosition+pattern PresenterPosition_BottomRight = PresenterPosition' "BottomRight"++pattern PresenterPosition_TopLeft :: PresenterPosition+pattern PresenterPosition_TopLeft = PresenterPosition' "TopLeft"++pattern PresenterPosition_TopRight :: PresenterPosition+pattern PresenterPosition_TopRight = PresenterPosition' "TopRight"++{-# COMPLETE+  PresenterPosition_BottomLeft,+  PresenterPosition_BottomRight,+  PresenterPosition_TopLeft,+  PresenterPosition_TopRight,+  PresenterPosition'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/ResolutionOption.hs view
@@ -0,0 +1,71 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.ResolutionOption+-- 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.ChimeSdkMediaPipelines.Types.ResolutionOption+  ( ResolutionOption+      ( ..,+        ResolutionOption_FHD,+        ResolutionOption_HD+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResolutionOption = ResolutionOption'+  { fromResolutionOption ::+      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 ResolutionOption_FHD :: ResolutionOption+pattern ResolutionOption_FHD = ResolutionOption' "FHD"++pattern ResolutionOption_HD :: ResolutionOption+pattern ResolutionOption_HD = ResolutionOption' "HD"++{-# COMPLETE+  ResolutionOption_FHD,+  ResolutionOption_HD,+  ResolutionOption'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/S3BucketSinkConfiguration.hs view
@@ -0,0 +1,81 @@+{-# 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.ChimeSdkMediaPipelines.Types.S3BucketSinkConfiguration+-- 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.ChimeSdkMediaPipelines.Types.S3BucketSinkConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration settings for the S3 bucket.+--+-- /See:/ 'newS3BucketSinkConfiguration' smart constructor.+data S3BucketSinkConfiguration = S3BucketSinkConfiguration'+  { -- | The destination URL of the S3 bucket.+    destination :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3BucketSinkConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destination', 's3BucketSinkConfiguration_destination' - The destination URL of the S3 bucket.+newS3BucketSinkConfiguration ::+  -- | 'destination'+  Prelude.Text ->+  S3BucketSinkConfiguration+newS3BucketSinkConfiguration pDestination_ =+  S3BucketSinkConfiguration'+    { destination =+        Data._Sensitive Lens.# pDestination_+    }++-- | The destination URL of the S3 bucket.+s3BucketSinkConfiguration_destination :: Lens.Lens' S3BucketSinkConfiguration Prelude.Text+s3BucketSinkConfiguration_destination = Lens.lens (\S3BucketSinkConfiguration' {destination} -> destination) (\s@S3BucketSinkConfiguration' {} a -> s {destination = a} :: S3BucketSinkConfiguration) Prelude.. Data._Sensitive++instance Data.FromJSON S3BucketSinkConfiguration where+  parseJSON =+    Data.withObject+      "S3BucketSinkConfiguration"+      ( \x ->+          S3BucketSinkConfiguration'+            Prelude.<$> (x Data..: "Destination")+      )++instance Prelude.Hashable S3BucketSinkConfiguration where+  hashWithSalt _salt S3BucketSinkConfiguration' {..} =+    _salt `Prelude.hashWithSalt` destination++instance Prelude.NFData S3BucketSinkConfiguration where+  rnf S3BucketSinkConfiguration' {..} =+    Prelude.rnf destination++instance Data.ToJSON S3BucketSinkConfiguration where+  toJSON S3BucketSinkConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("Destination" Data..= destination)]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/SelectedVideoStreams.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.ChimeSdkMediaPipelines.Types.SelectedVideoStreams+-- 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.ChimeSdkMediaPipelines.Types.SelectedVideoStreams 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 video streams for a specified media pipeline. The total number of+-- video streams can\'t exceed 25.+--+-- /See:/ 'newSelectedVideoStreams' smart constructor.+data SelectedVideoStreams = SelectedVideoStreams'+  { -- | The attendee IDs of the streams selected for a media pipeline.+    attendeeIds :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),+    -- | The external user IDs of the streams selected for a media pipeline.+    externalUserIds :: Prelude.Maybe (Prelude.NonEmpty (Data.Sensitive Prelude.Text))+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SelectedVideoStreams' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attendeeIds', 'selectedVideoStreams_attendeeIds' - The attendee IDs of the streams selected for a media pipeline.+--+-- 'externalUserIds', 'selectedVideoStreams_externalUserIds' - The external user IDs of the streams selected for a media pipeline.+newSelectedVideoStreams ::+  SelectedVideoStreams+newSelectedVideoStreams =+  SelectedVideoStreams'+    { attendeeIds =+        Prelude.Nothing,+      externalUserIds = Prelude.Nothing+    }++-- | The attendee IDs of the streams selected for a media pipeline.+selectedVideoStreams_attendeeIds :: Lens.Lens' SelectedVideoStreams (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+selectedVideoStreams_attendeeIds = Lens.lens (\SelectedVideoStreams' {attendeeIds} -> attendeeIds) (\s@SelectedVideoStreams' {} a -> s {attendeeIds = a} :: SelectedVideoStreams) Prelude.. Lens.mapping Lens.coerced++-- | The external user IDs of the streams selected for a media pipeline.+selectedVideoStreams_externalUserIds :: Lens.Lens' SelectedVideoStreams (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))+selectedVideoStreams_externalUserIds = Lens.lens (\SelectedVideoStreams' {externalUserIds} -> externalUserIds) (\s@SelectedVideoStreams' {} a -> s {externalUserIds = a} :: SelectedVideoStreams) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON SelectedVideoStreams where+  parseJSON =+    Data.withObject+      "SelectedVideoStreams"+      ( \x ->+          SelectedVideoStreams'+            Prelude.<$> (x Data..:? "AttendeeIds")+            Prelude.<*> (x Data..:? "ExternalUserIds")+      )++instance Prelude.Hashable SelectedVideoStreams where+  hashWithSalt _salt SelectedVideoStreams' {..} =+    _salt+      `Prelude.hashWithSalt` attendeeIds+      `Prelude.hashWithSalt` externalUserIds++instance Prelude.NFData SelectedVideoStreams where+  rnf SelectedVideoStreams' {..} =+    Prelude.rnf attendeeIds+      `Prelude.seq` Prelude.rnf externalUserIds++instance Data.ToJSON SelectedVideoStreams where+  toJSON SelectedVideoStreams' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("AttendeeIds" Data..=) Prelude.<$> attendeeIds,+            ("ExternalUserIds" Data..=)+              Prelude.<$> externalUserIds+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/SourceConfiguration.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.SourceConfiguration+-- 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.ChimeSdkMediaPipelines.Types.SourceConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.SelectedVideoStreams+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++-- | Source configuration for a specified media pipeline.+--+-- /See:/ 'newSourceConfiguration' smart constructor.+data SourceConfiguration = SourceConfiguration'+  { -- | The selected video streams for a specified media pipeline. The number of+    -- video streams can\'t exceed 25.+    selectedVideoStreams :: Prelude.Maybe SelectedVideoStreams+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'selectedVideoStreams', 'sourceConfiguration_selectedVideoStreams' - The selected video streams for a specified media pipeline. The number of+-- video streams can\'t exceed 25.+newSourceConfiguration ::+  SourceConfiguration+newSourceConfiguration =+  SourceConfiguration'+    { selectedVideoStreams =+        Prelude.Nothing+    }++-- | The selected video streams for a specified media pipeline. The number of+-- video streams can\'t exceed 25.+sourceConfiguration_selectedVideoStreams :: Lens.Lens' SourceConfiguration (Prelude.Maybe SelectedVideoStreams)+sourceConfiguration_selectedVideoStreams = Lens.lens (\SourceConfiguration' {selectedVideoStreams} -> selectedVideoStreams) (\s@SourceConfiguration' {} a -> s {selectedVideoStreams = a} :: SourceConfiguration)++instance Data.FromJSON SourceConfiguration where+  parseJSON =+    Data.withObject+      "SourceConfiguration"+      ( \x ->+          SourceConfiguration'+            Prelude.<$> (x Data..:? "SelectedVideoStreams")+      )++instance Prelude.Hashable SourceConfiguration where+  hashWithSalt _salt SourceConfiguration' {..} =+    _salt `Prelude.hashWithSalt` selectedVideoStreams++instance Prelude.NFData SourceConfiguration where+  rnf SourceConfiguration' {..} =+    Prelude.rnf selectedVideoStreams++instance Data.ToJSON SourceConfiguration where+  toJSON SourceConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("SelectedVideoStreams" Data..=)+              Prelude.<$> selectedVideoStreams+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/Tag.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.ChimeSdkMediaPipelines.Types.Tag+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.ChimeSdkMediaPipelines.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A key\/value pair that grants users access to meeting resources.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | The key half of a tag.+    key :: Prelude.Text,+    -- | The value half of a tag.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - The key half of a tag.+--+-- 'value', 'tag_value' - The value half of a tag.+newTag ::+  -- | 'key'+  Prelude.Text ->+  -- | 'value'+  Prelude.Text ->+  Tag+newTag pKey_ pValue_ =+  Tag' {key = pKey_, value = pValue_}++-- | The key half of a tag.+tag_key :: Lens.Lens' Tag Prelude.Text+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | The value half of a tag.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromJSON Tag where+  parseJSON =+    Data.withObject+      "Tag"+      ( \x ->+          Tag'+            Prelude.<$> (x Data..: "Key")+            Prelude.<*> (x Data..: "Value")+      )++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToJSON Tag where+  toJSON Tag' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("Key" Data..= key),+            Prelude.Just ("Value" Data..= value)+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/TranscriptionMessagesConcatenationConfiguration.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.ChimeSdkMediaPipelines.Types.TranscriptionMessagesConcatenationConfiguration+-- 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.ChimeSdkMediaPipelines.Types.TranscriptionMessagesConcatenationConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationState+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration object for concatenating transcription messages.+--+-- /See:/ 'newTranscriptionMessagesConcatenationConfiguration' smart constructor.+data TranscriptionMessagesConcatenationConfiguration = TranscriptionMessagesConcatenationConfiguration'+  { -- | Enables or disables the configuration object.+    state :: ArtifactsConcatenationState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TranscriptionMessagesConcatenationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'state', 'transcriptionMessagesConcatenationConfiguration_state' - Enables or disables the configuration object.+newTranscriptionMessagesConcatenationConfiguration ::+  -- | 'state'+  ArtifactsConcatenationState ->+  TranscriptionMessagesConcatenationConfiguration+newTranscriptionMessagesConcatenationConfiguration+  pState_ =+    TranscriptionMessagesConcatenationConfiguration'+      { state =+          pState_+      }++-- | Enables or disables the configuration object.+transcriptionMessagesConcatenationConfiguration_state :: Lens.Lens' TranscriptionMessagesConcatenationConfiguration ArtifactsConcatenationState+transcriptionMessagesConcatenationConfiguration_state = Lens.lens (\TranscriptionMessagesConcatenationConfiguration' {state} -> state) (\s@TranscriptionMessagesConcatenationConfiguration' {} a -> s {state = a} :: TranscriptionMessagesConcatenationConfiguration)++instance+  Data.FromJSON+    TranscriptionMessagesConcatenationConfiguration+  where+  parseJSON =+    Data.withObject+      "TranscriptionMessagesConcatenationConfiguration"+      ( \x ->+          TranscriptionMessagesConcatenationConfiguration'+            Prelude.<$> (x Data..: "State")+      )++instance+  Prelude.Hashable+    TranscriptionMessagesConcatenationConfiguration+  where+  hashWithSalt+    _salt+    TranscriptionMessagesConcatenationConfiguration' {..} =+      _salt `Prelude.hashWithSalt` state++instance+  Prelude.NFData+    TranscriptionMessagesConcatenationConfiguration+  where+  rnf+    TranscriptionMessagesConcatenationConfiguration' {..} =+      Prelude.rnf state++instance+  Data.ToJSON+    TranscriptionMessagesConcatenationConfiguration+  where+  toJSON+    TranscriptionMessagesConcatenationConfiguration' {..} =+      Data.object+        ( Prelude.catMaybes+            [Prelude.Just ("State" Data..= state)]+        )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/VideoArtifactsConfiguration.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.VideoArtifactsConfiguration+-- 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.ChimeSdkMediaPipelines.Types.VideoArtifactsConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsState+import Amazonka.ChimeSdkMediaPipelines.Types.VideoMuxType+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 video artifact configuration object.+--+-- /See:/ 'newVideoArtifactsConfiguration' smart constructor.+data VideoArtifactsConfiguration = VideoArtifactsConfiguration'+  { -- | The MUX type of the video artifact configuration object.+    muxType :: Prelude.Maybe VideoMuxType,+    -- | Indicates whether the video artifact is enabled or disabled.+    state :: ArtifactsState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VideoArtifactsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'muxType', 'videoArtifactsConfiguration_muxType' - The MUX type of the video artifact configuration object.+--+-- 'state', 'videoArtifactsConfiguration_state' - Indicates whether the video artifact is enabled or disabled.+newVideoArtifactsConfiguration ::+  -- | 'state'+  ArtifactsState ->+  VideoArtifactsConfiguration+newVideoArtifactsConfiguration pState_ =+  VideoArtifactsConfiguration'+    { muxType =+        Prelude.Nothing,+      state = pState_+    }++-- | The MUX type of the video artifact configuration object.+videoArtifactsConfiguration_muxType :: Lens.Lens' VideoArtifactsConfiguration (Prelude.Maybe VideoMuxType)+videoArtifactsConfiguration_muxType = Lens.lens (\VideoArtifactsConfiguration' {muxType} -> muxType) (\s@VideoArtifactsConfiguration' {} a -> s {muxType = a} :: VideoArtifactsConfiguration)++-- | Indicates whether the video artifact is enabled or disabled.+videoArtifactsConfiguration_state :: Lens.Lens' VideoArtifactsConfiguration ArtifactsState+videoArtifactsConfiguration_state = Lens.lens (\VideoArtifactsConfiguration' {state} -> state) (\s@VideoArtifactsConfiguration' {} a -> s {state = a} :: VideoArtifactsConfiguration)++instance Data.FromJSON VideoArtifactsConfiguration where+  parseJSON =+    Data.withObject+      "VideoArtifactsConfiguration"+      ( \x ->+          VideoArtifactsConfiguration'+            Prelude.<$> (x Data..:? "MuxType")+            Prelude.<*> (x Data..: "State")+      )++instance Prelude.Hashable VideoArtifactsConfiguration where+  hashWithSalt _salt VideoArtifactsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` muxType+      `Prelude.hashWithSalt` state++instance Prelude.NFData VideoArtifactsConfiguration where+  rnf VideoArtifactsConfiguration' {..} =+    Prelude.rnf muxType `Prelude.seq` Prelude.rnf state++instance Data.ToJSON VideoArtifactsConfiguration where+  toJSON VideoArtifactsConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [ ("MuxType" Data..=) Prelude.<$> muxType,+            Prelude.Just ("State" Data..= state)+          ]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/VideoConcatenationConfiguration.hs view
@@ -0,0 +1,90 @@+{-# 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.ChimeSdkMediaPipelines.Types.VideoConcatenationConfiguration+-- 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.ChimeSdkMediaPipelines.Types.VideoConcatenationConfiguration where++import Amazonka.ChimeSdkMediaPipelines.Types.ArtifactsConcatenationState+import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration object of a video contacatentation pipeline.+--+-- /See:/ 'newVideoConcatenationConfiguration' smart constructor.+data VideoConcatenationConfiguration = VideoConcatenationConfiguration'+  { -- | Enables or disables the configuration object.+    state :: ArtifactsConcatenationState+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VideoConcatenationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'state', 'videoConcatenationConfiguration_state' - Enables or disables the configuration object.+newVideoConcatenationConfiguration ::+  -- | 'state'+  ArtifactsConcatenationState ->+  VideoConcatenationConfiguration+newVideoConcatenationConfiguration pState_ =+  VideoConcatenationConfiguration' {state = pState_}++-- | Enables or disables the configuration object.+videoConcatenationConfiguration_state :: Lens.Lens' VideoConcatenationConfiguration ArtifactsConcatenationState+videoConcatenationConfiguration_state = Lens.lens (\VideoConcatenationConfiguration' {state} -> state) (\s@VideoConcatenationConfiguration' {} a -> s {state = a} :: VideoConcatenationConfiguration)++instance+  Data.FromJSON+    VideoConcatenationConfiguration+  where+  parseJSON =+    Data.withObject+      "VideoConcatenationConfiguration"+      ( \x ->+          VideoConcatenationConfiguration'+            Prelude.<$> (x Data..: "State")+      )++instance+  Prelude.Hashable+    VideoConcatenationConfiguration+  where+  hashWithSalt+    _salt+    VideoConcatenationConfiguration' {..} =+      _salt `Prelude.hashWithSalt` state++instance+  Prelude.NFData+    VideoConcatenationConfiguration+  where+  rnf VideoConcatenationConfiguration' {..} =+    Prelude.rnf state++instance Data.ToJSON VideoConcatenationConfiguration where+  toJSON VideoConcatenationConfiguration' {..} =+    Data.object+      ( Prelude.catMaybes+          [Prelude.Just ("State" Data..= state)]+      )
+ gen/Amazonka/ChimeSdkMediaPipelines/Types/VideoMuxType.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.Types.VideoMuxType+-- 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.ChimeSdkMediaPipelines.Types.VideoMuxType+  ( VideoMuxType+      ( ..,+        VideoMuxType_VideoOnly+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype VideoMuxType = VideoMuxType'+  { fromVideoMuxType ::+      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 VideoMuxType_VideoOnly :: VideoMuxType+pattern VideoMuxType_VideoOnly = VideoMuxType' "VideoOnly"++{-# COMPLETE+  VideoMuxType_VideoOnly,+  VideoMuxType'+  #-}
+ gen/Amazonka/ChimeSdkMediaPipelines/UntagResource.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.ChimeSdkMediaPipelines.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 any tags from a media pipeline.+module Amazonka.ChimeSdkMediaPipelines.UntagResource+  ( -- * Creating a Request+    UntagResource (..),+    newUntagResource,++    -- * Request Lenses+    untagResource_resourceARN,+    untagResource_tagKeys,++    -- * Destructuring the Response+    UntagResourceResponse (..),+    newUntagResourceResponse,++    -- * Response Lenses+    untagResourceResponse_httpStatus,+  )+where++import Amazonka.ChimeSdkMediaPipelines.Types+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++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+  { -- | The ARN of the pipeline that you want to untag.+    resourceARN :: Prelude.Text,+    -- | The key\/value pairs in the tag that you want to remove.+    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 ARN of the pipeline that you want to untag.+--+-- 'tagKeys', 'untagResource_tagKeys' - The key\/value pairs in the tag that you want to remove.+newUntagResource ::+  -- | 'resourceARN'+  Prelude.Text ->+  -- | 'tagKeys'+  Prelude.NonEmpty Prelude.Text ->+  UntagResource+newUntagResource pResourceARN_ pTagKeys_ =+  UntagResource'+    { resourceARN = pResourceARN_,+      tagKeys = Lens.coerced Lens.# pTagKeys_+    }++-- | The ARN of the pipeline that you want to untag.+untagResource_resourceARN :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceARN = Lens.lens (\UntagResource' {resourceARN} -> resourceARN) (\s@UntagResource' {} a -> s {resourceARN = a} :: UntagResource)++-- | The key\/value pairs in the tag that you want to remove.+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.postJSON (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.mempty++instance Data.ToJSON UntagResource where+  toJSON UntagResource' {..} =+    Data.object+      ( Prelude.catMaybes+          [ Prelude.Just ("ResourceARN" Data..= resourceARN),+            Prelude.Just ("TagKeys" Data..= tagKeys)+          ]+      )++instance Data.ToPath UntagResource where+  toPath = Prelude.const "/tags"++instance Data.ToQuery UntagResource where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["operation=untag-resource"])++-- | /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/ChimeSdkMediaPipelines/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.ChimeSdkMediaPipelines.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.ChimeSdkMediaPipelines.Waiters where++import Amazonka.ChimeSdkMediaPipelines.Lens+import Amazonka.ChimeSdkMediaPipelines.Types+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
+ 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.ChimeSdkMediaPipelines+import Test.Amazonka.ChimeSdkMediaPipelines.Internal+import Test.Tasty++main :: IO ()+main =+  defaultMain $+    testGroup+      "ChimeSdkMediaPipelines"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
+ test/Test/Amazonka/ChimeSdkMediaPipelines.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.ChimeSdkMediaPipelines+-- 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.ChimeSdkMediaPipelines+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/ChimeSdkMediaPipelines/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.ChimeSdkMediaPipelines.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.ChimeSdkMediaPipelines.Internal where
+ test/Test/Amazonka/Gen/ChimeSdkMediaPipelines.hs view
@@ -0,0 +1,278 @@+{-# 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.ChimeSdkMediaPipelines+-- 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.ChimeSdkMediaPipelines where++import Amazonka.ChimeSdkMediaPipelines+import qualified Data.Proxy as Proxy+import Test.Amazonka.ChimeSdkMediaPipelines.Internal+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestCreateMediaCapturePipeline $+--             newCreateMediaCapturePipeline+--+--         , requestCreateMediaConcatenationPipeline $+--             newCreateMediaConcatenationPipeline+--+--         , requestCreateMediaLiveConnectorPipeline $+--             newCreateMediaLiveConnectorPipeline+--+--         , requestDeleteMediaCapturePipeline $+--             newDeleteMediaCapturePipeline+--+--         , requestDeleteMediaPipeline $+--             newDeleteMediaPipeline+--+--         , requestGetMediaCapturePipeline $+--             newGetMediaCapturePipeline+--+--         , requestGetMediaPipeline $+--             newGetMediaPipeline+--+--         , requestListMediaCapturePipelines $+--             newListMediaCapturePipelines+--+--         , requestListMediaPipelines $+--             newListMediaPipelines+--+--         , requestListTagsForResource $+--             newListTagsForResource+--+--         , requestTagResource $+--             newTagResource+--+--         , requestUntagResource $+--             newUntagResource+--+--           ]++--     , testGroup "response"+--         [ responseCreateMediaCapturePipeline $+--             newCreateMediaCapturePipelineResponse+--+--         , responseCreateMediaConcatenationPipeline $+--             newCreateMediaConcatenationPipelineResponse+--+--         , responseCreateMediaLiveConnectorPipeline $+--             newCreateMediaLiveConnectorPipelineResponse+--+--         , responseDeleteMediaCapturePipeline $+--             newDeleteMediaCapturePipelineResponse+--+--         , responseDeleteMediaPipeline $+--             newDeleteMediaPipelineResponse+--+--         , responseGetMediaCapturePipeline $+--             newGetMediaCapturePipelineResponse+--+--         , responseGetMediaPipeline $+--             newGetMediaPipelineResponse+--+--         , responseListMediaCapturePipelines $+--             newListMediaCapturePipelinesResponse+--+--         , responseListMediaPipelines $+--             newListMediaPipelinesResponse+--+--         , responseListTagsForResource $+--             newListTagsForResourceResponse+--+--         , responseTagResource $+--             newTagResourceResponse+--+--         , responseUntagResource $+--             newUntagResourceResponse+--+--           ]+--     ]++-- Requests++requestCreateMediaCapturePipeline :: CreateMediaCapturePipeline -> TestTree+requestCreateMediaCapturePipeline =+  req+    "CreateMediaCapturePipeline"+    "fixture/CreateMediaCapturePipeline.yaml"++requestCreateMediaConcatenationPipeline :: CreateMediaConcatenationPipeline -> TestTree+requestCreateMediaConcatenationPipeline =+  req+    "CreateMediaConcatenationPipeline"+    "fixture/CreateMediaConcatenationPipeline.yaml"++requestCreateMediaLiveConnectorPipeline :: CreateMediaLiveConnectorPipeline -> TestTree+requestCreateMediaLiveConnectorPipeline =+  req+    "CreateMediaLiveConnectorPipeline"+    "fixture/CreateMediaLiveConnectorPipeline.yaml"++requestDeleteMediaCapturePipeline :: DeleteMediaCapturePipeline -> TestTree+requestDeleteMediaCapturePipeline =+  req+    "DeleteMediaCapturePipeline"+    "fixture/DeleteMediaCapturePipeline.yaml"++requestDeleteMediaPipeline :: DeleteMediaPipeline -> TestTree+requestDeleteMediaPipeline =+  req+    "DeleteMediaPipeline"+    "fixture/DeleteMediaPipeline.yaml"++requestGetMediaCapturePipeline :: GetMediaCapturePipeline -> TestTree+requestGetMediaCapturePipeline =+  req+    "GetMediaCapturePipeline"+    "fixture/GetMediaCapturePipeline.yaml"++requestGetMediaPipeline :: GetMediaPipeline -> TestTree+requestGetMediaPipeline =+  req+    "GetMediaPipeline"+    "fixture/GetMediaPipeline.yaml"++requestListMediaCapturePipelines :: ListMediaCapturePipelines -> TestTree+requestListMediaCapturePipelines =+  req+    "ListMediaCapturePipelines"+    "fixture/ListMediaCapturePipelines.yaml"++requestListMediaPipelines :: ListMediaPipelines -> TestTree+requestListMediaPipelines =+  req+    "ListMediaPipelines"+    "fixture/ListMediaPipelines.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+  req+    "ListTagsForResource"+    "fixture/ListTagsForResource.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+  req+    "TagResource"+    "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+  req+    "UntagResource"+    "fixture/UntagResource.yaml"++-- Responses++responseCreateMediaCapturePipeline :: CreateMediaCapturePipelineResponse -> TestTree+responseCreateMediaCapturePipeline =+  res+    "CreateMediaCapturePipelineResponse"+    "fixture/CreateMediaCapturePipelineResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateMediaCapturePipeline)++responseCreateMediaConcatenationPipeline :: CreateMediaConcatenationPipelineResponse -> TestTree+responseCreateMediaConcatenationPipeline =+  res+    "CreateMediaConcatenationPipelineResponse"+    "fixture/CreateMediaConcatenationPipelineResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateMediaConcatenationPipeline)++responseCreateMediaLiveConnectorPipeline :: CreateMediaLiveConnectorPipelineResponse -> TestTree+responseCreateMediaLiveConnectorPipeline =+  res+    "CreateMediaLiveConnectorPipelineResponse"+    "fixture/CreateMediaLiveConnectorPipelineResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateMediaLiveConnectorPipeline)++responseDeleteMediaCapturePipeline :: DeleteMediaCapturePipelineResponse -> TestTree+responseDeleteMediaCapturePipeline =+  res+    "DeleteMediaCapturePipelineResponse"+    "fixture/DeleteMediaCapturePipelineResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteMediaCapturePipeline)++responseDeleteMediaPipeline :: DeleteMediaPipelineResponse -> TestTree+responseDeleteMediaPipeline =+  res+    "DeleteMediaPipelineResponse"+    "fixture/DeleteMediaPipelineResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteMediaPipeline)++responseGetMediaCapturePipeline :: GetMediaCapturePipelineResponse -> TestTree+responseGetMediaCapturePipeline =+  res+    "GetMediaCapturePipelineResponse"+    "fixture/GetMediaCapturePipelineResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetMediaCapturePipeline)++responseGetMediaPipeline :: GetMediaPipelineResponse -> TestTree+responseGetMediaPipeline =+  res+    "GetMediaPipelineResponse"+    "fixture/GetMediaPipelineResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetMediaPipeline)++responseListMediaCapturePipelines :: ListMediaCapturePipelinesResponse -> TestTree+responseListMediaCapturePipelines =+  res+    "ListMediaCapturePipelinesResponse"+    "fixture/ListMediaCapturePipelinesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListMediaCapturePipelines)++responseListMediaPipelines :: ListMediaPipelinesResponse -> TestTree+responseListMediaPipelines =+  res+    "ListMediaPipelinesResponse"+    "fixture/ListMediaPipelinesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListMediaPipelines)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+  res+    "ListTagsForResourceResponse"+    "fixture/ListTagsForResourceResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++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)