amazonka-mediaconnect (empty) → 2.0
raw patch · 166 files changed
+18675/−0 lines, 166 filesdep +amazonka-coredep +amazonka-mediaconnectdep +amazonka-test
Dependencies added: amazonka-core, amazonka-mediaconnect, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-mediaconnect.cabal +177/−0
- fixture/AddFlowMediaStreams.yaml +10/−0
- fixture/AddFlowMediaStreamsResponse.proto +0/−0
- fixture/AddFlowOutputs.yaml +10/−0
- fixture/AddFlowOutputsResponse.proto +0/−0
- fixture/AddFlowSources.yaml +10/−0
- fixture/AddFlowSourcesResponse.proto +0/−0
- fixture/AddFlowVpcInterfaces.yaml +10/−0
- fixture/AddFlowVpcInterfacesResponse.proto +0/−0
- fixture/CreateFlow.yaml +10/−0
- fixture/CreateFlowResponse.proto +0/−0
- fixture/DeleteFlow.yaml +10/−0
- fixture/DeleteFlowResponse.proto +0/−0
- fixture/DescribeFlow.yaml +10/−0
- fixture/DescribeFlowResponse.proto +0/−0
- fixture/DescribeOffering.yaml +10/−0
- fixture/DescribeOfferingResponse.proto +0/−0
- fixture/DescribeReservation.yaml +10/−0
- fixture/DescribeReservationResponse.proto +0/−0
- fixture/GrantFlowEntitlements.yaml +10/−0
- fixture/GrantFlowEntitlementsResponse.proto +0/−0
- fixture/ListEntitlements.yaml +10/−0
- fixture/ListEntitlementsResponse.proto +0/−0
- fixture/ListFlows.yaml +10/−0
- fixture/ListFlowsResponse.proto +0/−0
- fixture/ListOfferings.yaml +10/−0
- fixture/ListOfferingsResponse.proto +0/−0
- fixture/ListReservations.yaml +10/−0
- fixture/ListReservationsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/PurchaseOffering.yaml +10/−0
- fixture/PurchaseOfferingResponse.proto +0/−0
- fixture/RemoveFlowMediaStream.yaml +10/−0
- fixture/RemoveFlowMediaStreamResponse.proto +0/−0
- fixture/RemoveFlowOutput.yaml +10/−0
- fixture/RemoveFlowOutputResponse.proto +0/−0
- fixture/RemoveFlowSource.yaml +10/−0
- fixture/RemoveFlowSourceResponse.proto +0/−0
- fixture/RemoveFlowVpcInterface.yaml +10/−0
- fixture/RemoveFlowVpcInterfaceResponse.proto +0/−0
- fixture/RevokeFlowEntitlement.yaml +10/−0
- fixture/RevokeFlowEntitlementResponse.proto +0/−0
- fixture/StartFlow.yaml +10/−0
- fixture/StartFlowResponse.proto +0/−0
- fixture/StopFlow.yaml +10/−0
- fixture/StopFlowResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateFlow.yaml +10/−0
- fixture/UpdateFlowEntitlement.yaml +10/−0
- fixture/UpdateFlowEntitlementResponse.proto +0/−0
- fixture/UpdateFlowMediaStream.yaml +10/−0
- fixture/UpdateFlowMediaStreamResponse.proto +0/−0
- fixture/UpdateFlowOutput.yaml +10/−0
- fixture/UpdateFlowOutputResponse.proto +0/−0
- fixture/UpdateFlowResponse.proto +0/−0
- fixture/UpdateFlowSource.yaml +10/−0
- fixture/UpdateFlowSourceResponse.proto +0/−0
- gen/Amazonka/MediaConnect.hs +542/−0
- gen/Amazonka/MediaConnect/AddFlowMediaStreams.hs +198/−0
- gen/Amazonka/MediaConnect/AddFlowOutputs.hs +196/−0
- gen/Amazonka/MediaConnect/AddFlowSources.hs +195/−0
- gen/Amazonka/MediaConnect/AddFlowVpcInterfaces.hs +198/−0
- gen/Amazonka/MediaConnect/CreateFlow.hs +290/−0
- gen/Amazonka/MediaConnect/DeleteFlow.hs +167/−0
- gen/Amazonka/MediaConnect/DescribeFlow.hs +167/−0
- gen/Amazonka/MediaConnect/DescribeOffering.hs +160/−0
- gen/Amazonka/MediaConnect/DescribeReservation.hs +165/−0
- gen/Amazonka/MediaConnect/GrantFlowEntitlements.hs +196/−0
- gen/Amazonka/MediaConnect/Lens.hs +669/−0
- gen/Amazonka/MediaConnect/ListEntitlements.hs +260/−0
- gen/Amazonka/MediaConnect/ListFlows.hs +254/−0
- gen/Amazonka/MediaConnect/ListOfferings.hs +261/−0
- gen/Amazonka/MediaConnect/ListReservations.hs +261/−0
- gen/Amazonka/MediaConnect/ListTagsForResource.hs +168/−0
- gen/Amazonka/MediaConnect/PurchaseOffering.hs +224/−0
- gen/Amazonka/MediaConnect/RemoveFlowMediaStream.hs +194/−0
- gen/Amazonka/MediaConnect/RemoveFlowOutput.hs +197/−0
- gen/Amazonka/MediaConnect/RemoveFlowSource.hs +194/−0
- gen/Amazonka/MediaConnect/RemoveFlowVpcInterface.hs +224/−0
- gen/Amazonka/MediaConnect/RevokeFlowEntitlement.hs +195/−0
- gen/Amazonka/MediaConnect/StartFlow.hs +171/−0
- gen/Amazonka/MediaConnect/StopFlow.hs +171/−0
- gen/Amazonka/MediaConnect/TagResource.hs +158/−0
- gen/Amazonka/MediaConnect/Types.hs +742/−0
- gen/Amazonka/MediaConnect/Types/AddMaintenance.hs +100/−0
- gen/Amazonka/MediaConnect/Types/AddMediaStreamRequest.hs +166/−0
- gen/Amazonka/MediaConnect/Types/AddOutputRequest.hs +291/−0
- gen/Amazonka/MediaConnect/Types/Algorithm.hs +76/−0
- gen/Amazonka/MediaConnect/Types/Colorimetry.hs +96/−0
- gen/Amazonka/MediaConnect/Types/DestinationConfiguration.hs +138/−0
- gen/Amazonka/MediaConnect/Types/DestinationConfigurationRequest.hs +126/−0
- gen/Amazonka/MediaConnect/Types/DurationUnits.hs +66/−0
- gen/Amazonka/MediaConnect/Types/EncoderProfile.hs +71/−0
- gen/Amazonka/MediaConnect/Types/EncodingName.hs +81/−0
- gen/Amazonka/MediaConnect/Types/EncodingParameters.hs +115/−0
- gen/Amazonka/MediaConnect/Types/EncodingParametersRequest.hs +119/−0
- gen/Amazonka/MediaConnect/Types/Encryption.hs +240/−0
- gen/Amazonka/MediaConnect/Types/Entitlement.hs +163/−0
- gen/Amazonka/MediaConnect/Types/EntitlementStatus.hs +71/−0
- gen/Amazonka/MediaConnect/Types/FailoverConfig.hs +132/−0
- gen/Amazonka/MediaConnect/Types/FailoverMode.hs +71/−0
- gen/Amazonka/MediaConnect/Types/Flow.hs +263/−0
- gen/Amazonka/MediaConnect/Types/Fmtp.hs +157/−0
- gen/Amazonka/MediaConnect/Types/FmtpRequest.hs +157/−0
- gen/Amazonka/MediaConnect/Types/GrantEntitlementRequest.hs +166/−0
- gen/Amazonka/MediaConnect/Types/InputConfiguration.hs +110/−0
- gen/Amazonka/MediaConnect/Types/InputConfigurationRequest.hs +92/−0
- gen/Amazonka/MediaConnect/Types/Interface.hs +67/−0
- gen/Amazonka/MediaConnect/Types/InterfaceRequest.hs +69/−0
- gen/Amazonka/MediaConnect/Types/KeyType.hs +73/−0
- gen/Amazonka/MediaConnect/Types/ListedEntitlement.hs +106/−0
- gen/Amazonka/MediaConnect/Types/ListedFlow.hs +174/−0
- gen/Amazonka/MediaConnect/Types/Maintenance.hs +121/−0
- gen/Amazonka/MediaConnect/Types/MaintenanceDay.hs +96/−0
- gen/Amazonka/MediaConnect/Types/MediaStream.hs +186/−0
- gen/Amazonka/MediaConnect/Types/MediaStreamAttributes.hs +86/−0
- gen/Amazonka/MediaConnect/Types/MediaStreamAttributesRequest.hs +87/−0
- gen/Amazonka/MediaConnect/Types/MediaStreamOutputConfiguration.hs +142/−0
- gen/Amazonka/MediaConnect/Types/MediaStreamOutputConfigurationRequest.hs +150/−0
- gen/Amazonka/MediaConnect/Types/MediaStreamSourceConfiguration.hs +129/−0
- gen/Amazonka/MediaConnect/Types/MediaStreamSourceConfigurationRequest.hs +130/−0
- gen/Amazonka/MediaConnect/Types/MediaStreamType.hs +76/−0
- gen/Amazonka/MediaConnect/Types/Messages.hs +70/−0
- gen/Amazonka/MediaConnect/Types/NetworkInterfaceType.hs +71/−0
- gen/Amazonka/MediaConnect/Types/Offering.hs +199/−0
- gen/Amazonka/MediaConnect/Types/Output.hs +261/−0
- gen/Amazonka/MediaConnect/Types/PriceUnits.hs +66/−0
- gen/Amazonka/MediaConnect/Types/Protocol.hs +111/−0
- gen/Amazonka/MediaConnect/Types/Range.hs +73/−0
- gen/Amazonka/MediaConnect/Types/Reservation.hs +310/−0
- gen/Amazonka/MediaConnect/Types/ReservationState.hs +81/−0
- gen/Amazonka/MediaConnect/Types/ResourceSpecification.hs +88/−0
- gen/Amazonka/MediaConnect/Types/ResourceType.hs +66/−0
- gen/Amazonka/MediaConnect/Types/ScanMode.hs +76/−0
- gen/Amazonka/MediaConnect/Types/SetSourceRequest.hs +333/−0
- gen/Amazonka/MediaConnect/Types/Source.hs +269/−0
- gen/Amazonka/MediaConnect/Types/SourcePriority.hs +78/−0
- gen/Amazonka/MediaConnect/Types/SourceType.hs +71/−0
- gen/Amazonka/MediaConnect/Types/State.hs +68/−0
- gen/Amazonka/MediaConnect/Types/Status.hs +93/−0
- gen/Amazonka/MediaConnect/Types/Tcs.hs +103/−0
- gen/Amazonka/MediaConnect/Types/Transport.hs +256/−0
- gen/Amazonka/MediaConnect/Types/UpdateEncryption.hs +221/−0
- gen/Amazonka/MediaConnect/Types/UpdateFailoverConfig.hs +121/−0
- gen/Amazonka/MediaConnect/Types/UpdateMaintenance.hs +109/−0
- gen/Amazonka/MediaConnect/Types/VpcInterface.hs +158/−0
- gen/Amazonka/MediaConnect/Types/VpcInterfaceAttachment.hs +81/−0
- gen/Amazonka/MediaConnect/Types/VpcInterfaceRequest.hs +135/−0
- gen/Amazonka/MediaConnect/UntagResource.hs +143/−0
- gen/Amazonka/MediaConnect/UpdateFlow.hs +192/−0
- gen/Amazonka/MediaConnect/UpdateFlowEntitlement.hs +285/−0
- gen/Amazonka/MediaConnect/UpdateFlowMediaStream.hs +278/−0
- gen/Amazonka/MediaConnect/UpdateFlowOutput.hs +444/−0
- gen/Amazonka/MediaConnect/UpdateFlowSource.hs +475/−0
- gen/Amazonka/MediaConnect/Waiters.hs +137/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/MediaConnect.hs +638/−0
- test/Test/Amazonka/MediaConnect.hs +20/−0
- test/Test/Amazonka/MediaConnect/Internal.hs +8/−0
+ 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 MediaConnect SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-11-14@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-mediaconnect)+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.MediaConnect](http://hackage.haskell.org/package/amazonka-mediaconnect/docs/Amazonka-MediaConnect.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-mediaconnect` 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-mediaconnect.cabal view
@@ -0,0 +1,177 @@+cabal-version: 2.2+name: amazonka-mediaconnect+version: 2.0+synopsis: Amazon MediaConnect 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 @2018-11-14@ 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.MediaConnect.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.MediaConnect" 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-mediaconnect++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.MediaConnect+ Amazonka.MediaConnect.AddFlowMediaStreams+ Amazonka.MediaConnect.AddFlowOutputs+ Amazonka.MediaConnect.AddFlowSources+ Amazonka.MediaConnect.AddFlowVpcInterfaces+ Amazonka.MediaConnect.CreateFlow+ Amazonka.MediaConnect.DeleteFlow+ Amazonka.MediaConnect.DescribeFlow+ Amazonka.MediaConnect.DescribeOffering+ Amazonka.MediaConnect.DescribeReservation+ Amazonka.MediaConnect.GrantFlowEntitlements+ Amazonka.MediaConnect.Lens+ Amazonka.MediaConnect.ListEntitlements+ Amazonka.MediaConnect.ListFlows+ Amazonka.MediaConnect.ListOfferings+ Amazonka.MediaConnect.ListReservations+ Amazonka.MediaConnect.ListTagsForResource+ Amazonka.MediaConnect.PurchaseOffering+ Amazonka.MediaConnect.RemoveFlowMediaStream+ Amazonka.MediaConnect.RemoveFlowOutput+ Amazonka.MediaConnect.RemoveFlowSource+ Amazonka.MediaConnect.RemoveFlowVpcInterface+ Amazonka.MediaConnect.RevokeFlowEntitlement+ Amazonka.MediaConnect.StartFlow+ Amazonka.MediaConnect.StopFlow+ Amazonka.MediaConnect.TagResource+ Amazonka.MediaConnect.Types+ Amazonka.MediaConnect.Types.AddMaintenance+ Amazonka.MediaConnect.Types.AddMediaStreamRequest+ Amazonka.MediaConnect.Types.AddOutputRequest+ Amazonka.MediaConnect.Types.Algorithm+ Amazonka.MediaConnect.Types.Colorimetry+ Amazonka.MediaConnect.Types.DestinationConfiguration+ Amazonka.MediaConnect.Types.DestinationConfigurationRequest+ Amazonka.MediaConnect.Types.DurationUnits+ Amazonka.MediaConnect.Types.EncoderProfile+ Amazonka.MediaConnect.Types.EncodingName+ Amazonka.MediaConnect.Types.EncodingParameters+ Amazonka.MediaConnect.Types.EncodingParametersRequest+ Amazonka.MediaConnect.Types.Encryption+ Amazonka.MediaConnect.Types.Entitlement+ Amazonka.MediaConnect.Types.EntitlementStatus+ Amazonka.MediaConnect.Types.FailoverConfig+ Amazonka.MediaConnect.Types.FailoverMode+ Amazonka.MediaConnect.Types.Flow+ Amazonka.MediaConnect.Types.Fmtp+ Amazonka.MediaConnect.Types.FmtpRequest+ Amazonka.MediaConnect.Types.GrantEntitlementRequest+ Amazonka.MediaConnect.Types.InputConfiguration+ Amazonka.MediaConnect.Types.InputConfigurationRequest+ Amazonka.MediaConnect.Types.Interface+ Amazonka.MediaConnect.Types.InterfaceRequest+ Amazonka.MediaConnect.Types.KeyType+ Amazonka.MediaConnect.Types.ListedEntitlement+ Amazonka.MediaConnect.Types.ListedFlow+ Amazonka.MediaConnect.Types.Maintenance+ Amazonka.MediaConnect.Types.MaintenanceDay+ Amazonka.MediaConnect.Types.MediaStream+ Amazonka.MediaConnect.Types.MediaStreamAttributes+ Amazonka.MediaConnect.Types.MediaStreamAttributesRequest+ Amazonka.MediaConnect.Types.MediaStreamOutputConfiguration+ Amazonka.MediaConnect.Types.MediaStreamOutputConfigurationRequest+ Amazonka.MediaConnect.Types.MediaStreamSourceConfiguration+ Amazonka.MediaConnect.Types.MediaStreamSourceConfigurationRequest+ Amazonka.MediaConnect.Types.MediaStreamType+ Amazonka.MediaConnect.Types.Messages+ Amazonka.MediaConnect.Types.NetworkInterfaceType+ Amazonka.MediaConnect.Types.Offering+ Amazonka.MediaConnect.Types.Output+ Amazonka.MediaConnect.Types.PriceUnits+ Amazonka.MediaConnect.Types.Protocol+ Amazonka.MediaConnect.Types.Range+ Amazonka.MediaConnect.Types.Reservation+ Amazonka.MediaConnect.Types.ReservationState+ Amazonka.MediaConnect.Types.ResourceSpecification+ Amazonka.MediaConnect.Types.ResourceType+ Amazonka.MediaConnect.Types.ScanMode+ Amazonka.MediaConnect.Types.SetSourceRequest+ Amazonka.MediaConnect.Types.Source+ Amazonka.MediaConnect.Types.SourcePriority+ Amazonka.MediaConnect.Types.SourceType+ Amazonka.MediaConnect.Types.State+ Amazonka.MediaConnect.Types.Status+ Amazonka.MediaConnect.Types.Tcs+ Amazonka.MediaConnect.Types.Transport+ Amazonka.MediaConnect.Types.UpdateEncryption+ Amazonka.MediaConnect.Types.UpdateFailoverConfig+ Amazonka.MediaConnect.Types.UpdateMaintenance+ Amazonka.MediaConnect.Types.VpcInterface+ Amazonka.MediaConnect.Types.VpcInterfaceAttachment+ Amazonka.MediaConnect.Types.VpcInterfaceRequest+ Amazonka.MediaConnect.UntagResource+ Amazonka.MediaConnect.UpdateFlow+ Amazonka.MediaConnect.UpdateFlowEntitlement+ Amazonka.MediaConnect.UpdateFlowMediaStream+ Amazonka.MediaConnect.UpdateFlowOutput+ Amazonka.MediaConnect.UpdateFlowSource+ Amazonka.MediaConnect.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-mediaconnect-test+ type: exitcode-stdio-1.0+ default-language: Haskell2010+ hs-source-dirs: test+ main-is: Main.hs+ ghc-options: -Wall -threaded++ -- This section is encoded by the template and any modules added by+ -- hand outside these namespaces will not correctly be added to the+ -- distribution package.+ other-modules:+ Test.Amazonka.Gen.MediaConnect+ Test.Amazonka.MediaConnect+ Test.Amazonka.MediaConnect.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-mediaconnect+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/AddFlowMediaStreams.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/AddFlowMediaStreamsResponse.proto view
+ fixture/AddFlowOutputs.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/AddFlowOutputsResponse.proto view
+ fixture/AddFlowSources.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/AddFlowSourcesResponse.proto view
+ fixture/AddFlowVpcInterfaces.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/AddFlowVpcInterfacesResponse.proto view
+ fixture/CreateFlow.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/CreateFlowResponse.proto view
+ fixture/DeleteFlow.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/DeleteFlowResponse.proto view
+ fixture/DescribeFlow.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/DescribeFlowResponse.proto view
+ fixture/DescribeOffering.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/DescribeOfferingResponse.proto view
+ fixture/DescribeReservation.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/DescribeReservationResponse.proto view
+ fixture/GrantFlowEntitlements.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/GrantFlowEntitlementsResponse.proto view
+ fixture/ListEntitlements.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/ListEntitlementsResponse.proto view
+ fixture/ListFlows.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/ListFlowsResponse.proto view
+ fixture/ListOfferings.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/ListOfferingsResponse.proto view
+ fixture/ListReservations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/ListReservationsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/PurchaseOffering.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/PurchaseOfferingResponse.proto view
+ fixture/RemoveFlowMediaStream.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/RemoveFlowMediaStreamResponse.proto view
+ fixture/RemoveFlowOutput.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/RemoveFlowOutputResponse.proto view
+ fixture/RemoveFlowSource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/RemoveFlowSourceResponse.proto view
+ fixture/RemoveFlowVpcInterface.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/RemoveFlowVpcInterfaceResponse.proto view
+ fixture/RevokeFlowEntitlement.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/RevokeFlowEntitlementResponse.proto view
+ fixture/StartFlow.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/StartFlowResponse.proto view
+ fixture/StopFlow.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/StopFlowResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/TagResourceResponse.proto view
+ fixture/UntagResource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.us-east-1.amazonaws.com+ Content-Type: application/x-www-form-urlencoded; charset=utf-8+ X-Amz-Content-SHA256: abcdef+ X-Amz-Date: 20091028T223200Z+body:+ ''
+ fixture/UntagResourceResponse.proto view
+ fixture/UpdateFlow.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/UpdateFlowEntitlement.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/UpdateFlowEntitlementResponse.proto view
+ fixture/UpdateFlowMediaStream.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/UpdateFlowMediaStreamResponse.proto view
+ fixture/UpdateFlowOutput.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/UpdateFlowOutputResponse.proto view
+ fixture/UpdateFlowResponse.proto view
+ fixture/UpdateFlowSource.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/mediaconnect/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: mediaconnect.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/UpdateFlowSourceResponse.proto view
+ gen/Amazonka/MediaConnect.hs view
@@ -0,0 +1,542 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.MediaConnect+-- 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 @2018-11-14@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- API for AWS Elemental MediaConnect+module Amazonka.MediaConnect+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** AddFlowOutputs420Exception+ _AddFlowOutputs420Exception,++ -- ** BadRequestException+ _BadRequestException,++ -- ** CreateFlow420Exception+ _CreateFlow420Exception,++ -- ** ForbiddenException+ _ForbiddenException,++ -- ** GrantFlowEntitlements420Exception+ _GrantFlowEntitlements420Exception,++ -- ** InternalServerErrorException+ _InternalServerErrorException,++ -- ** NotFoundException+ _NotFoundException,++ -- ** ServiceUnavailableException+ _ServiceUnavailableException,++ -- ** TooManyRequestsException+ _TooManyRequestsException,++ -- * Waiters+ -- $waiters++ -- ** FlowActive+ newFlowActive,++ -- ** FlowDeleted+ newFlowDeleted,++ -- ** FlowStandby+ newFlowStandby,++ -- * Operations+ -- $operations++ -- ** AddFlowMediaStreams+ AddFlowMediaStreams (AddFlowMediaStreams'),+ newAddFlowMediaStreams,+ AddFlowMediaStreamsResponse (AddFlowMediaStreamsResponse'),+ newAddFlowMediaStreamsResponse,++ -- ** AddFlowOutputs+ AddFlowOutputs (AddFlowOutputs'),+ newAddFlowOutputs,+ AddFlowOutputsResponse (AddFlowOutputsResponse'),+ newAddFlowOutputsResponse,++ -- ** AddFlowSources+ AddFlowSources (AddFlowSources'),+ newAddFlowSources,+ AddFlowSourcesResponse (AddFlowSourcesResponse'),+ newAddFlowSourcesResponse,++ -- ** AddFlowVpcInterfaces+ AddFlowVpcInterfaces (AddFlowVpcInterfaces'),+ newAddFlowVpcInterfaces,+ AddFlowVpcInterfacesResponse (AddFlowVpcInterfacesResponse'),+ newAddFlowVpcInterfacesResponse,++ -- ** CreateFlow+ CreateFlow (CreateFlow'),+ newCreateFlow,+ CreateFlowResponse (CreateFlowResponse'),+ newCreateFlowResponse,++ -- ** DeleteFlow+ DeleteFlow (DeleteFlow'),+ newDeleteFlow,+ DeleteFlowResponse (DeleteFlowResponse'),+ newDeleteFlowResponse,++ -- ** DescribeFlow+ DescribeFlow (DescribeFlow'),+ newDescribeFlow,+ DescribeFlowResponse (DescribeFlowResponse'),+ newDescribeFlowResponse,++ -- ** DescribeOffering+ DescribeOffering (DescribeOffering'),+ newDescribeOffering,+ DescribeOfferingResponse (DescribeOfferingResponse'),+ newDescribeOfferingResponse,++ -- ** DescribeReservation+ DescribeReservation (DescribeReservation'),+ newDescribeReservation,+ DescribeReservationResponse (DescribeReservationResponse'),+ newDescribeReservationResponse,++ -- ** GrantFlowEntitlements+ GrantFlowEntitlements (GrantFlowEntitlements'),+ newGrantFlowEntitlements,+ GrantFlowEntitlementsResponse (GrantFlowEntitlementsResponse'),+ newGrantFlowEntitlementsResponse,++ -- ** ListEntitlements (Paginated)+ ListEntitlements (ListEntitlements'),+ newListEntitlements,+ ListEntitlementsResponse (ListEntitlementsResponse'),+ newListEntitlementsResponse,++ -- ** ListFlows (Paginated)+ ListFlows (ListFlows'),+ newListFlows,+ ListFlowsResponse (ListFlowsResponse'),+ newListFlowsResponse,++ -- ** ListOfferings (Paginated)+ ListOfferings (ListOfferings'),+ newListOfferings,+ ListOfferingsResponse (ListOfferingsResponse'),+ newListOfferingsResponse,++ -- ** ListReservations (Paginated)+ ListReservations (ListReservations'),+ newListReservations,+ ListReservationsResponse (ListReservationsResponse'),+ newListReservationsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** PurchaseOffering+ PurchaseOffering (PurchaseOffering'),+ newPurchaseOffering,+ PurchaseOfferingResponse (PurchaseOfferingResponse'),+ newPurchaseOfferingResponse,++ -- ** RemoveFlowMediaStream+ RemoveFlowMediaStream (RemoveFlowMediaStream'),+ newRemoveFlowMediaStream,+ RemoveFlowMediaStreamResponse (RemoveFlowMediaStreamResponse'),+ newRemoveFlowMediaStreamResponse,++ -- ** RemoveFlowOutput+ RemoveFlowOutput (RemoveFlowOutput'),+ newRemoveFlowOutput,+ RemoveFlowOutputResponse (RemoveFlowOutputResponse'),+ newRemoveFlowOutputResponse,++ -- ** RemoveFlowSource+ RemoveFlowSource (RemoveFlowSource'),+ newRemoveFlowSource,+ RemoveFlowSourceResponse (RemoveFlowSourceResponse'),+ newRemoveFlowSourceResponse,++ -- ** RemoveFlowVpcInterface+ RemoveFlowVpcInterface (RemoveFlowVpcInterface'),+ newRemoveFlowVpcInterface,+ RemoveFlowVpcInterfaceResponse (RemoveFlowVpcInterfaceResponse'),+ newRemoveFlowVpcInterfaceResponse,++ -- ** RevokeFlowEntitlement+ RevokeFlowEntitlement (RevokeFlowEntitlement'),+ newRevokeFlowEntitlement,+ RevokeFlowEntitlementResponse (RevokeFlowEntitlementResponse'),+ newRevokeFlowEntitlementResponse,++ -- ** StartFlow+ StartFlow (StartFlow'),+ newStartFlow,+ StartFlowResponse (StartFlowResponse'),+ newStartFlowResponse,++ -- ** StopFlow+ StopFlow (StopFlow'),+ newStopFlow,+ StopFlowResponse (StopFlowResponse'),+ newStopFlowResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateFlow+ UpdateFlow (UpdateFlow'),+ newUpdateFlow,+ UpdateFlowResponse (UpdateFlowResponse'),+ newUpdateFlowResponse,++ -- ** UpdateFlowEntitlement+ UpdateFlowEntitlement (UpdateFlowEntitlement'),+ newUpdateFlowEntitlement,+ UpdateFlowEntitlementResponse (UpdateFlowEntitlementResponse'),+ newUpdateFlowEntitlementResponse,++ -- ** UpdateFlowMediaStream+ UpdateFlowMediaStream (UpdateFlowMediaStream'),+ newUpdateFlowMediaStream,+ UpdateFlowMediaStreamResponse (UpdateFlowMediaStreamResponse'),+ newUpdateFlowMediaStreamResponse,++ -- ** UpdateFlowOutput+ UpdateFlowOutput (UpdateFlowOutput'),+ newUpdateFlowOutput,+ UpdateFlowOutputResponse (UpdateFlowOutputResponse'),+ newUpdateFlowOutputResponse,++ -- ** UpdateFlowSource+ UpdateFlowSource (UpdateFlowSource'),+ newUpdateFlowSource,+ UpdateFlowSourceResponse (UpdateFlowSourceResponse'),+ newUpdateFlowSourceResponse,++ -- * Types++ -- ** Algorithm+ Algorithm (..),++ -- ** Colorimetry+ Colorimetry (..),++ -- ** DurationUnits+ DurationUnits (..),++ -- ** EncoderProfile+ EncoderProfile (..),++ -- ** EncodingName+ EncodingName (..),++ -- ** EntitlementStatus+ EntitlementStatus (..),++ -- ** FailoverMode+ FailoverMode (..),++ -- ** KeyType+ KeyType (..),++ -- ** MaintenanceDay+ MaintenanceDay (..),++ -- ** MediaStreamType+ MediaStreamType (..),++ -- ** NetworkInterfaceType+ NetworkInterfaceType (..),++ -- ** PriceUnits+ PriceUnits (..),++ -- ** Protocol+ Protocol (..),++ -- ** Range+ Range (..),++ -- ** ReservationState+ ReservationState (..),++ -- ** ResourceType+ ResourceType (..),++ -- ** ScanMode+ ScanMode (..),++ -- ** SourceType+ SourceType (..),++ -- ** State+ State (..),++ -- ** Status+ Status (..),++ -- ** Tcs+ Tcs (..),++ -- ** AddMaintenance+ AddMaintenance (AddMaintenance'),+ newAddMaintenance,++ -- ** AddMediaStreamRequest+ AddMediaStreamRequest (AddMediaStreamRequest'),+ newAddMediaStreamRequest,++ -- ** AddOutputRequest+ AddOutputRequest (AddOutputRequest'),+ newAddOutputRequest,++ -- ** DestinationConfiguration+ DestinationConfiguration (DestinationConfiguration'),+ newDestinationConfiguration,++ -- ** DestinationConfigurationRequest+ DestinationConfigurationRequest (DestinationConfigurationRequest'),+ newDestinationConfigurationRequest,++ -- ** EncodingParameters+ EncodingParameters (EncodingParameters'),+ newEncodingParameters,++ -- ** EncodingParametersRequest+ EncodingParametersRequest (EncodingParametersRequest'),+ newEncodingParametersRequest,++ -- ** Encryption+ Encryption (Encryption'),+ newEncryption,++ -- ** Entitlement+ Entitlement (Entitlement'),+ newEntitlement,++ -- ** FailoverConfig+ FailoverConfig (FailoverConfig'),+ newFailoverConfig,++ -- ** Flow+ Flow (Flow'),+ newFlow,++ -- ** Fmtp+ Fmtp (Fmtp'),+ newFmtp,++ -- ** FmtpRequest+ FmtpRequest (FmtpRequest'),+ newFmtpRequest,++ -- ** GrantEntitlementRequest+ GrantEntitlementRequest (GrantEntitlementRequest'),+ newGrantEntitlementRequest,++ -- ** InputConfiguration+ InputConfiguration (InputConfiguration'),+ newInputConfiguration,++ -- ** InputConfigurationRequest+ InputConfigurationRequest (InputConfigurationRequest'),+ newInputConfigurationRequest,++ -- ** Interface+ Interface (Interface'),+ newInterface,++ -- ** InterfaceRequest+ InterfaceRequest (InterfaceRequest'),+ newInterfaceRequest,++ -- ** ListedEntitlement+ ListedEntitlement (ListedEntitlement'),+ newListedEntitlement,++ -- ** ListedFlow+ ListedFlow (ListedFlow'),+ newListedFlow,++ -- ** Maintenance+ Maintenance (Maintenance'),+ newMaintenance,++ -- ** MediaStream+ MediaStream (MediaStream'),+ newMediaStream,++ -- ** MediaStreamAttributes+ MediaStreamAttributes (MediaStreamAttributes'),+ newMediaStreamAttributes,++ -- ** MediaStreamAttributesRequest+ MediaStreamAttributesRequest (MediaStreamAttributesRequest'),+ newMediaStreamAttributesRequest,++ -- ** MediaStreamOutputConfiguration+ MediaStreamOutputConfiguration (MediaStreamOutputConfiguration'),+ newMediaStreamOutputConfiguration,++ -- ** MediaStreamOutputConfigurationRequest+ MediaStreamOutputConfigurationRequest (MediaStreamOutputConfigurationRequest'),+ newMediaStreamOutputConfigurationRequest,++ -- ** MediaStreamSourceConfiguration+ MediaStreamSourceConfiguration (MediaStreamSourceConfiguration'),+ newMediaStreamSourceConfiguration,++ -- ** MediaStreamSourceConfigurationRequest+ MediaStreamSourceConfigurationRequest (MediaStreamSourceConfigurationRequest'),+ newMediaStreamSourceConfigurationRequest,++ -- ** Messages+ Messages (Messages'),+ newMessages,++ -- ** Offering+ Offering (Offering'),+ newOffering,++ -- ** Output+ Output (Output'),+ newOutput,++ -- ** Reservation+ Reservation (Reservation'),+ newReservation,++ -- ** ResourceSpecification+ ResourceSpecification (ResourceSpecification'),+ newResourceSpecification,++ -- ** SetSourceRequest+ SetSourceRequest (SetSourceRequest'),+ newSetSourceRequest,++ -- ** Source+ Source (Source'),+ newSource,++ -- ** SourcePriority+ SourcePriority (SourcePriority'),+ newSourcePriority,++ -- ** Transport+ Transport (Transport'),+ newTransport,++ -- ** UpdateEncryption+ UpdateEncryption (UpdateEncryption'),+ newUpdateEncryption,++ -- ** UpdateFailoverConfig+ UpdateFailoverConfig (UpdateFailoverConfig'),+ newUpdateFailoverConfig,++ -- ** UpdateMaintenance+ UpdateMaintenance (UpdateMaintenance'),+ newUpdateMaintenance,++ -- ** VpcInterface+ VpcInterface (VpcInterface'),+ newVpcInterface,++ -- ** VpcInterfaceAttachment+ VpcInterfaceAttachment (VpcInterfaceAttachment'),+ newVpcInterfaceAttachment,++ -- ** VpcInterfaceRequest+ VpcInterfaceRequest (VpcInterfaceRequest'),+ newVpcInterfaceRequest,+ )+where++import Amazonka.MediaConnect.AddFlowMediaStreams+import Amazonka.MediaConnect.AddFlowOutputs+import Amazonka.MediaConnect.AddFlowSources+import Amazonka.MediaConnect.AddFlowVpcInterfaces+import Amazonka.MediaConnect.CreateFlow+import Amazonka.MediaConnect.DeleteFlow+import Amazonka.MediaConnect.DescribeFlow+import Amazonka.MediaConnect.DescribeOffering+import Amazonka.MediaConnect.DescribeReservation+import Amazonka.MediaConnect.GrantFlowEntitlements+import Amazonka.MediaConnect.Lens+import Amazonka.MediaConnect.ListEntitlements+import Amazonka.MediaConnect.ListFlows+import Amazonka.MediaConnect.ListOfferings+import Amazonka.MediaConnect.ListReservations+import Amazonka.MediaConnect.ListTagsForResource+import Amazonka.MediaConnect.PurchaseOffering+import Amazonka.MediaConnect.RemoveFlowMediaStream+import Amazonka.MediaConnect.RemoveFlowOutput+import Amazonka.MediaConnect.RemoveFlowSource+import Amazonka.MediaConnect.RemoveFlowVpcInterface+import Amazonka.MediaConnect.RevokeFlowEntitlement+import Amazonka.MediaConnect.StartFlow+import Amazonka.MediaConnect.StopFlow+import Amazonka.MediaConnect.TagResource+import Amazonka.MediaConnect.Types+import Amazonka.MediaConnect.UntagResource+import Amazonka.MediaConnect.UpdateFlow+import Amazonka.MediaConnect.UpdateFlowEntitlement+import Amazonka.MediaConnect.UpdateFlowMediaStream+import Amazonka.MediaConnect.UpdateFlowOutput+import Amazonka.MediaConnect.UpdateFlowSource+import Amazonka.MediaConnect.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 'MediaConnect'.++-- $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/MediaConnect/AddFlowMediaStreams.hs view
@@ -0,0 +1,198 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.AddFlowMediaStreams+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds media streams to an existing flow. After you add a media stream to+-- a flow, you can associate it with a source and\/or an output that uses+-- the ST 2110 JPEG XS or CDI protocol.+module Amazonka.MediaConnect.AddFlowMediaStreams+ ( -- * Creating a Request+ AddFlowMediaStreams (..),+ newAddFlowMediaStreams,++ -- * Request Lenses+ addFlowMediaStreams_flowArn,+ addFlowMediaStreams_mediaStreams,++ -- * Destructuring the Response+ AddFlowMediaStreamsResponse (..),+ newAddFlowMediaStreamsResponse,++ -- * Response Lenses+ addFlowMediaStreamsResponse_flowArn,+ addFlowMediaStreamsResponse_mediaStreams,+ addFlowMediaStreamsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to add media streams to the flow.+--+-- /See:/ 'newAddFlowMediaStreams' smart constructor.+data AddFlowMediaStreams = AddFlowMediaStreams'+ { -- | The Amazon Resource Name (ARN) of the flow.+ flowArn :: Prelude.Text,+ -- | The media streams that you want to add to the flow.+ mediaStreams :: [AddMediaStreamRequest]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddFlowMediaStreams' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'addFlowMediaStreams_flowArn' - The Amazon Resource Name (ARN) of the flow.+--+-- 'mediaStreams', 'addFlowMediaStreams_mediaStreams' - The media streams that you want to add to the flow.+newAddFlowMediaStreams ::+ -- | 'flowArn'+ Prelude.Text ->+ AddFlowMediaStreams+newAddFlowMediaStreams pFlowArn_ =+ AddFlowMediaStreams'+ { flowArn = pFlowArn_,+ mediaStreams = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the flow.+addFlowMediaStreams_flowArn :: Lens.Lens' AddFlowMediaStreams Prelude.Text+addFlowMediaStreams_flowArn = Lens.lens (\AddFlowMediaStreams' {flowArn} -> flowArn) (\s@AddFlowMediaStreams' {} a -> s {flowArn = a} :: AddFlowMediaStreams)++-- | The media streams that you want to add to the flow.+addFlowMediaStreams_mediaStreams :: Lens.Lens' AddFlowMediaStreams [AddMediaStreamRequest]+addFlowMediaStreams_mediaStreams = Lens.lens (\AddFlowMediaStreams' {mediaStreams} -> mediaStreams) (\s@AddFlowMediaStreams' {} a -> s {mediaStreams = a} :: AddFlowMediaStreams) Prelude.. Lens.coerced++instance Core.AWSRequest AddFlowMediaStreams where+ type+ AWSResponse AddFlowMediaStreams =+ AddFlowMediaStreamsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ AddFlowMediaStreamsResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> (x Data..?> "mediaStreams" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AddFlowMediaStreams where+ hashWithSalt _salt AddFlowMediaStreams' {..} =+ _salt+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` mediaStreams++instance Prelude.NFData AddFlowMediaStreams where+ rnf AddFlowMediaStreams' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf mediaStreams++instance Data.ToHeaders AddFlowMediaStreams where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AddFlowMediaStreams where+ toJSON AddFlowMediaStreams' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("mediaStreams" Data..= mediaStreams)]+ )++instance Data.ToPath AddFlowMediaStreams where+ toPath AddFlowMediaStreams' {..} =+ Prelude.mconcat+ ["/v1/flows/", Data.toBS flowArn, "/mediaStreams"]++instance Data.ToQuery AddFlowMediaStreams where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAddFlowMediaStreamsResponse' smart constructor.+data AddFlowMediaStreamsResponse = AddFlowMediaStreamsResponse'+ { -- | The ARN of the flow that you added media streams to.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | The media streams that you added to the flow.+ mediaStreams :: Prelude.Maybe [MediaStream],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddFlowMediaStreamsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'addFlowMediaStreamsResponse_flowArn' - The ARN of the flow that you added media streams to.+--+-- 'mediaStreams', 'addFlowMediaStreamsResponse_mediaStreams' - The media streams that you added to the flow.+--+-- 'httpStatus', 'addFlowMediaStreamsResponse_httpStatus' - The response's http status code.+newAddFlowMediaStreamsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AddFlowMediaStreamsResponse+newAddFlowMediaStreamsResponse pHttpStatus_ =+ AddFlowMediaStreamsResponse'+ { flowArn =+ Prelude.Nothing,+ mediaStreams = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the flow that you added media streams to.+addFlowMediaStreamsResponse_flowArn :: Lens.Lens' AddFlowMediaStreamsResponse (Prelude.Maybe Prelude.Text)+addFlowMediaStreamsResponse_flowArn = Lens.lens (\AddFlowMediaStreamsResponse' {flowArn} -> flowArn) (\s@AddFlowMediaStreamsResponse' {} a -> s {flowArn = a} :: AddFlowMediaStreamsResponse)++-- | The media streams that you added to the flow.+addFlowMediaStreamsResponse_mediaStreams :: Lens.Lens' AddFlowMediaStreamsResponse (Prelude.Maybe [MediaStream])+addFlowMediaStreamsResponse_mediaStreams = Lens.lens (\AddFlowMediaStreamsResponse' {mediaStreams} -> mediaStreams) (\s@AddFlowMediaStreamsResponse' {} a -> s {mediaStreams = a} :: AddFlowMediaStreamsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+addFlowMediaStreamsResponse_httpStatus :: Lens.Lens' AddFlowMediaStreamsResponse Prelude.Int+addFlowMediaStreamsResponse_httpStatus = Lens.lens (\AddFlowMediaStreamsResponse' {httpStatus} -> httpStatus) (\s@AddFlowMediaStreamsResponse' {} a -> s {httpStatus = a} :: AddFlowMediaStreamsResponse)++instance Prelude.NFData AddFlowMediaStreamsResponse where+ rnf AddFlowMediaStreamsResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf mediaStreams+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/AddFlowOutputs.hs view
@@ -0,0 +1,196 @@+{-# 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.MediaConnect.AddFlowOutputs+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds outputs to an existing flow. You can create up to 50 outputs per+-- flow.+module Amazonka.MediaConnect.AddFlowOutputs+ ( -- * Creating a Request+ AddFlowOutputs (..),+ newAddFlowOutputs,++ -- * Request Lenses+ addFlowOutputs_flowArn,+ addFlowOutputs_outputs,++ -- * Destructuring the Response+ AddFlowOutputsResponse (..),+ newAddFlowOutputsResponse,++ -- * Response Lenses+ addFlowOutputsResponse_flowArn,+ addFlowOutputsResponse_outputs,+ addFlowOutputsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to add outputs to the specified flow.+--+-- /See:/ 'newAddFlowOutputs' smart constructor.+data AddFlowOutputs = AddFlowOutputs'+ { -- | The flow that you want to add outputs to.+ flowArn :: Prelude.Text,+ -- | A list of outputs that you want to add.+ outputs :: [AddOutputRequest]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddFlowOutputs' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'addFlowOutputs_flowArn' - The flow that you want to add outputs to.+--+-- 'outputs', 'addFlowOutputs_outputs' - A list of outputs that you want to add.+newAddFlowOutputs ::+ -- | 'flowArn'+ Prelude.Text ->+ AddFlowOutputs+newAddFlowOutputs pFlowArn_ =+ AddFlowOutputs'+ { flowArn = pFlowArn_,+ outputs = Prelude.mempty+ }++-- | The flow that you want to add outputs to.+addFlowOutputs_flowArn :: Lens.Lens' AddFlowOutputs Prelude.Text+addFlowOutputs_flowArn = Lens.lens (\AddFlowOutputs' {flowArn} -> flowArn) (\s@AddFlowOutputs' {} a -> s {flowArn = a} :: AddFlowOutputs)++-- | A list of outputs that you want to add.+addFlowOutputs_outputs :: Lens.Lens' AddFlowOutputs [AddOutputRequest]+addFlowOutputs_outputs = Lens.lens (\AddFlowOutputs' {outputs} -> outputs) (\s@AddFlowOutputs' {} a -> s {outputs = a} :: AddFlowOutputs) Prelude.. Lens.coerced++instance Core.AWSRequest AddFlowOutputs where+ type+ AWSResponse AddFlowOutputs =+ AddFlowOutputsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ AddFlowOutputsResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> (x Data..?> "outputs" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AddFlowOutputs where+ hashWithSalt _salt AddFlowOutputs' {..} =+ _salt+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` outputs++instance Prelude.NFData AddFlowOutputs where+ rnf AddFlowOutputs' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf outputs++instance Data.ToHeaders AddFlowOutputs where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AddFlowOutputs where+ toJSON AddFlowOutputs' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("outputs" Data..= outputs)]+ )++instance Data.ToPath AddFlowOutputs where+ toPath AddFlowOutputs' {..} =+ Prelude.mconcat+ ["/v1/flows/", Data.toBS flowArn, "/outputs"]++instance Data.ToQuery AddFlowOutputs where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAddFlowOutputsResponse' smart constructor.+data AddFlowOutputsResponse = AddFlowOutputsResponse'+ { -- | The ARN of the flow that these outputs were added to.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | The details of the newly added outputs.+ outputs :: Prelude.Maybe [Output],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddFlowOutputsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'addFlowOutputsResponse_flowArn' - The ARN of the flow that these outputs were added to.+--+-- 'outputs', 'addFlowOutputsResponse_outputs' - The details of the newly added outputs.+--+-- 'httpStatus', 'addFlowOutputsResponse_httpStatus' - The response's http status code.+newAddFlowOutputsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AddFlowOutputsResponse+newAddFlowOutputsResponse pHttpStatus_ =+ AddFlowOutputsResponse'+ { flowArn = Prelude.Nothing,+ outputs = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the flow that these outputs were added to.+addFlowOutputsResponse_flowArn :: Lens.Lens' AddFlowOutputsResponse (Prelude.Maybe Prelude.Text)+addFlowOutputsResponse_flowArn = Lens.lens (\AddFlowOutputsResponse' {flowArn} -> flowArn) (\s@AddFlowOutputsResponse' {} a -> s {flowArn = a} :: AddFlowOutputsResponse)++-- | The details of the newly added outputs.+addFlowOutputsResponse_outputs :: Lens.Lens' AddFlowOutputsResponse (Prelude.Maybe [Output])+addFlowOutputsResponse_outputs = Lens.lens (\AddFlowOutputsResponse' {outputs} -> outputs) (\s@AddFlowOutputsResponse' {} a -> s {outputs = a} :: AddFlowOutputsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+addFlowOutputsResponse_httpStatus :: Lens.Lens' AddFlowOutputsResponse Prelude.Int+addFlowOutputsResponse_httpStatus = Lens.lens (\AddFlowOutputsResponse' {httpStatus} -> httpStatus) (\s@AddFlowOutputsResponse' {} a -> s {httpStatus = a} :: AddFlowOutputsResponse)++instance Prelude.NFData AddFlowOutputsResponse where+ rnf AddFlowOutputsResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf outputs+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/AddFlowSources.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.AddFlowSources+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds Sources to flow+module Amazonka.MediaConnect.AddFlowSources+ ( -- * Creating a Request+ AddFlowSources (..),+ newAddFlowSources,++ -- * Request Lenses+ addFlowSources_flowArn,+ addFlowSources_sources,++ -- * Destructuring the Response+ AddFlowSourcesResponse (..),+ newAddFlowSourcesResponse,++ -- * Response Lenses+ addFlowSourcesResponse_flowArn,+ addFlowSourcesResponse_sources,+ addFlowSourcesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to add sources to the flow.+--+-- /See:/ 'newAddFlowSources' smart constructor.+data AddFlowSources = AddFlowSources'+ { -- | The flow that you want to mutate.+ flowArn :: Prelude.Text,+ -- | A list of sources that you want to add.+ sources :: [SetSourceRequest]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddFlowSources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'addFlowSources_flowArn' - The flow that you want to mutate.+--+-- 'sources', 'addFlowSources_sources' - A list of sources that you want to add.+newAddFlowSources ::+ -- | 'flowArn'+ Prelude.Text ->+ AddFlowSources+newAddFlowSources pFlowArn_ =+ AddFlowSources'+ { flowArn = pFlowArn_,+ sources = Prelude.mempty+ }++-- | The flow that you want to mutate.+addFlowSources_flowArn :: Lens.Lens' AddFlowSources Prelude.Text+addFlowSources_flowArn = Lens.lens (\AddFlowSources' {flowArn} -> flowArn) (\s@AddFlowSources' {} a -> s {flowArn = a} :: AddFlowSources)++-- | A list of sources that you want to add.+addFlowSources_sources :: Lens.Lens' AddFlowSources [SetSourceRequest]+addFlowSources_sources = Lens.lens (\AddFlowSources' {sources} -> sources) (\s@AddFlowSources' {} a -> s {sources = a} :: AddFlowSources) Prelude.. Lens.coerced++instance Core.AWSRequest AddFlowSources where+ type+ AWSResponse AddFlowSources =+ AddFlowSourcesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ AddFlowSourcesResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> (x Data..?> "sources" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AddFlowSources where+ hashWithSalt _salt AddFlowSources' {..} =+ _salt+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` sources++instance Prelude.NFData AddFlowSources where+ rnf AddFlowSources' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf sources++instance Data.ToHeaders AddFlowSources where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AddFlowSources where+ toJSON AddFlowSources' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("sources" Data..= sources)]+ )++instance Data.ToPath AddFlowSources where+ toPath AddFlowSources' {..} =+ Prelude.mconcat+ ["/v1/flows/", Data.toBS flowArn, "/source"]++instance Data.ToQuery AddFlowSources where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAddFlowSourcesResponse' smart constructor.+data AddFlowSourcesResponse = AddFlowSourcesResponse'+ { -- | The ARN of the flow that these sources were added to.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | The details of the newly added sources.+ sources :: Prelude.Maybe [Source],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddFlowSourcesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'addFlowSourcesResponse_flowArn' - The ARN of the flow that these sources were added to.+--+-- 'sources', 'addFlowSourcesResponse_sources' - The details of the newly added sources.+--+-- 'httpStatus', 'addFlowSourcesResponse_httpStatus' - The response's http status code.+newAddFlowSourcesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AddFlowSourcesResponse+newAddFlowSourcesResponse pHttpStatus_ =+ AddFlowSourcesResponse'+ { flowArn = Prelude.Nothing,+ sources = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the flow that these sources were added to.+addFlowSourcesResponse_flowArn :: Lens.Lens' AddFlowSourcesResponse (Prelude.Maybe Prelude.Text)+addFlowSourcesResponse_flowArn = Lens.lens (\AddFlowSourcesResponse' {flowArn} -> flowArn) (\s@AddFlowSourcesResponse' {} a -> s {flowArn = a} :: AddFlowSourcesResponse)++-- | The details of the newly added sources.+addFlowSourcesResponse_sources :: Lens.Lens' AddFlowSourcesResponse (Prelude.Maybe [Source])+addFlowSourcesResponse_sources = Lens.lens (\AddFlowSourcesResponse' {sources} -> sources) (\s@AddFlowSourcesResponse' {} a -> s {sources = a} :: AddFlowSourcesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+addFlowSourcesResponse_httpStatus :: Lens.Lens' AddFlowSourcesResponse Prelude.Int+addFlowSourcesResponse_httpStatus = Lens.lens (\AddFlowSourcesResponse' {httpStatus} -> httpStatus) (\s@AddFlowSourcesResponse' {} a -> s {httpStatus = a} :: AddFlowSourcesResponse)++instance Prelude.NFData AddFlowSourcesResponse where+ rnf AddFlowSourcesResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf sources+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/AddFlowVpcInterfaces.hs view
@@ -0,0 +1,198 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.AddFlowVpcInterfaces+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds VPC interfaces to flow+module Amazonka.MediaConnect.AddFlowVpcInterfaces+ ( -- * Creating a Request+ AddFlowVpcInterfaces (..),+ newAddFlowVpcInterfaces,++ -- * Request Lenses+ addFlowVpcInterfaces_flowArn,+ addFlowVpcInterfaces_vpcInterfaces,++ -- * Destructuring the Response+ AddFlowVpcInterfacesResponse (..),+ newAddFlowVpcInterfacesResponse,++ -- * Response Lenses+ addFlowVpcInterfacesResponse_flowArn,+ addFlowVpcInterfacesResponse_vpcInterfaces,+ addFlowVpcInterfacesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to add VPC interfaces to the flow.+--+-- /See:/ 'newAddFlowVpcInterfaces' smart constructor.+data AddFlowVpcInterfaces = AddFlowVpcInterfaces'+ { -- | The flow that you want to mutate.+ flowArn :: Prelude.Text,+ -- | A list of VPC interfaces that you want to add.+ vpcInterfaces :: [VpcInterfaceRequest]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddFlowVpcInterfaces' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'addFlowVpcInterfaces_flowArn' - The flow that you want to mutate.+--+-- 'vpcInterfaces', 'addFlowVpcInterfaces_vpcInterfaces' - A list of VPC interfaces that you want to add.+newAddFlowVpcInterfaces ::+ -- | 'flowArn'+ Prelude.Text ->+ AddFlowVpcInterfaces+newAddFlowVpcInterfaces pFlowArn_ =+ AddFlowVpcInterfaces'+ { flowArn = pFlowArn_,+ vpcInterfaces = Prelude.mempty+ }++-- | The flow that you want to mutate.+addFlowVpcInterfaces_flowArn :: Lens.Lens' AddFlowVpcInterfaces Prelude.Text+addFlowVpcInterfaces_flowArn = Lens.lens (\AddFlowVpcInterfaces' {flowArn} -> flowArn) (\s@AddFlowVpcInterfaces' {} a -> s {flowArn = a} :: AddFlowVpcInterfaces)++-- | A list of VPC interfaces that you want to add.+addFlowVpcInterfaces_vpcInterfaces :: Lens.Lens' AddFlowVpcInterfaces [VpcInterfaceRequest]+addFlowVpcInterfaces_vpcInterfaces = Lens.lens (\AddFlowVpcInterfaces' {vpcInterfaces} -> vpcInterfaces) (\s@AddFlowVpcInterfaces' {} a -> s {vpcInterfaces = a} :: AddFlowVpcInterfaces) Prelude.. Lens.coerced++instance Core.AWSRequest AddFlowVpcInterfaces where+ type+ AWSResponse AddFlowVpcInterfaces =+ AddFlowVpcInterfacesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ AddFlowVpcInterfacesResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> (x Data..?> "vpcInterfaces" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable AddFlowVpcInterfaces where+ hashWithSalt _salt AddFlowVpcInterfaces' {..} =+ _salt+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` vpcInterfaces++instance Prelude.NFData AddFlowVpcInterfaces where+ rnf AddFlowVpcInterfaces' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf vpcInterfaces++instance Data.ToHeaders AddFlowVpcInterfaces where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON AddFlowVpcInterfaces where+ toJSON AddFlowVpcInterfaces' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("vpcInterfaces" Data..= vpcInterfaces)+ ]+ )++instance Data.ToPath AddFlowVpcInterfaces where+ toPath AddFlowVpcInterfaces' {..} =+ Prelude.mconcat+ ["/v1/flows/", Data.toBS flowArn, "/vpcInterfaces"]++instance Data.ToQuery AddFlowVpcInterfaces where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newAddFlowVpcInterfacesResponse' smart constructor.+data AddFlowVpcInterfacesResponse = AddFlowVpcInterfacesResponse'+ { -- | The ARN of the flow that these VPC interfaces were added to.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | The details of the newly added VPC interfaces.+ vpcInterfaces :: Prelude.Maybe [VpcInterface],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddFlowVpcInterfacesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'addFlowVpcInterfacesResponse_flowArn' - The ARN of the flow that these VPC interfaces were added to.+--+-- 'vpcInterfaces', 'addFlowVpcInterfacesResponse_vpcInterfaces' - The details of the newly added VPC interfaces.+--+-- 'httpStatus', 'addFlowVpcInterfacesResponse_httpStatus' - The response's http status code.+newAddFlowVpcInterfacesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ AddFlowVpcInterfacesResponse+newAddFlowVpcInterfacesResponse pHttpStatus_ =+ AddFlowVpcInterfacesResponse'+ { flowArn =+ Prelude.Nothing,+ vpcInterfaces = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the flow that these VPC interfaces were added to.+addFlowVpcInterfacesResponse_flowArn :: Lens.Lens' AddFlowVpcInterfacesResponse (Prelude.Maybe Prelude.Text)+addFlowVpcInterfacesResponse_flowArn = Lens.lens (\AddFlowVpcInterfacesResponse' {flowArn} -> flowArn) (\s@AddFlowVpcInterfacesResponse' {} a -> s {flowArn = a} :: AddFlowVpcInterfacesResponse)++-- | The details of the newly added VPC interfaces.+addFlowVpcInterfacesResponse_vpcInterfaces :: Lens.Lens' AddFlowVpcInterfacesResponse (Prelude.Maybe [VpcInterface])+addFlowVpcInterfacesResponse_vpcInterfaces = Lens.lens (\AddFlowVpcInterfacesResponse' {vpcInterfaces} -> vpcInterfaces) (\s@AddFlowVpcInterfacesResponse' {} a -> s {vpcInterfaces = a} :: AddFlowVpcInterfacesResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+addFlowVpcInterfacesResponse_httpStatus :: Lens.Lens' AddFlowVpcInterfacesResponse Prelude.Int+addFlowVpcInterfacesResponse_httpStatus = Lens.lens (\AddFlowVpcInterfacesResponse' {httpStatus} -> httpStatus) (\s@AddFlowVpcInterfacesResponse' {} a -> s {httpStatus = a} :: AddFlowVpcInterfacesResponse)++instance Prelude.NFData AddFlowVpcInterfacesResponse where+ rnf AddFlowVpcInterfacesResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf vpcInterfaces+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/CreateFlow.hs view
@@ -0,0 +1,290 @@+{-# 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.MediaConnect.CreateFlow+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new flow. The request must include one source. The request+-- optionally can include outputs (up to 50) and entitlements (up to 50).+module Amazonka.MediaConnect.CreateFlow+ ( -- * Creating a Request+ CreateFlow (..),+ newCreateFlow,++ -- * Request Lenses+ createFlow_availabilityZone,+ createFlow_entitlements,+ createFlow_maintenance,+ createFlow_mediaStreams,+ createFlow_outputs,+ createFlow_source,+ createFlow_sourceFailoverConfig,+ createFlow_sources,+ createFlow_vpcInterfaces,+ createFlow_name,++ -- * Destructuring the Response+ CreateFlowResponse (..),+ newCreateFlowResponse,++ -- * Response Lenses+ createFlowResponse_flow,+ createFlowResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Creates a new flow. The request must include one source. The request+-- optionally can include outputs (up to 50) and entitlements (up to 50).+--+-- /See:/ 'newCreateFlow' smart constructor.+data CreateFlow = CreateFlow'+ { -- | The Availability Zone that you want to create the flow in. These options+ -- are limited to the Availability Zones within the current AWS Region.+ availabilityZone :: Prelude.Maybe Prelude.Text,+ -- | The entitlements that you want to grant on a flow.+ entitlements :: Prelude.Maybe [GrantEntitlementRequest],+ maintenance :: Prelude.Maybe AddMaintenance,+ -- | The media streams that you want to add to the flow. You can associate+ -- these media streams with sources and outputs on the flow.+ mediaStreams :: Prelude.Maybe [AddMediaStreamRequest],+ -- | The outputs that you want to add to this flow.+ outputs :: Prelude.Maybe [AddOutputRequest],+ source :: Prelude.Maybe SetSourceRequest,+ sourceFailoverConfig :: Prelude.Maybe FailoverConfig,+ sources :: Prelude.Maybe [SetSourceRequest],+ -- | The VPC interfaces you want on the flow.+ vpcInterfaces :: Prelude.Maybe [VpcInterfaceRequest],+ -- | The name of the flow.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availabilityZone', 'createFlow_availabilityZone' - The Availability Zone that you want to create the flow in. These options+-- are limited to the Availability Zones within the current AWS Region.+--+-- 'entitlements', 'createFlow_entitlements' - The entitlements that you want to grant on a flow.+--+-- 'maintenance', 'createFlow_maintenance' - Undocumented member.+--+-- 'mediaStreams', 'createFlow_mediaStreams' - The media streams that you want to add to the flow. You can associate+-- these media streams with sources and outputs on the flow.+--+-- 'outputs', 'createFlow_outputs' - The outputs that you want to add to this flow.+--+-- 'source', 'createFlow_source' - Undocumented member.+--+-- 'sourceFailoverConfig', 'createFlow_sourceFailoverConfig' - Undocumented member.+--+-- 'sources', 'createFlow_sources' - Undocumented member.+--+-- 'vpcInterfaces', 'createFlow_vpcInterfaces' - The VPC interfaces you want on the flow.+--+-- 'name', 'createFlow_name' - The name of the flow.+newCreateFlow ::+ -- | 'name'+ Prelude.Text ->+ CreateFlow+newCreateFlow pName_ =+ CreateFlow'+ { availabilityZone = Prelude.Nothing,+ entitlements = Prelude.Nothing,+ maintenance = Prelude.Nothing,+ mediaStreams = Prelude.Nothing,+ outputs = Prelude.Nothing,+ source = Prelude.Nothing,+ sourceFailoverConfig = Prelude.Nothing,+ sources = Prelude.Nothing,+ vpcInterfaces = Prelude.Nothing,+ name = pName_+ }++-- | The Availability Zone that you want to create the flow in. These options+-- are limited to the Availability Zones within the current AWS Region.+createFlow_availabilityZone :: Lens.Lens' CreateFlow (Prelude.Maybe Prelude.Text)+createFlow_availabilityZone = Lens.lens (\CreateFlow' {availabilityZone} -> availabilityZone) (\s@CreateFlow' {} a -> s {availabilityZone = a} :: CreateFlow)++-- | The entitlements that you want to grant on a flow.+createFlow_entitlements :: Lens.Lens' CreateFlow (Prelude.Maybe [GrantEntitlementRequest])+createFlow_entitlements = Lens.lens (\CreateFlow' {entitlements} -> entitlements) (\s@CreateFlow' {} a -> s {entitlements = a} :: CreateFlow) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createFlow_maintenance :: Lens.Lens' CreateFlow (Prelude.Maybe AddMaintenance)+createFlow_maintenance = Lens.lens (\CreateFlow' {maintenance} -> maintenance) (\s@CreateFlow' {} a -> s {maintenance = a} :: CreateFlow)++-- | The media streams that you want to add to the flow. You can associate+-- these media streams with sources and outputs on the flow.+createFlow_mediaStreams :: Lens.Lens' CreateFlow (Prelude.Maybe [AddMediaStreamRequest])+createFlow_mediaStreams = Lens.lens (\CreateFlow' {mediaStreams} -> mediaStreams) (\s@CreateFlow' {} a -> s {mediaStreams = a} :: CreateFlow) Prelude.. Lens.mapping Lens.coerced++-- | The outputs that you want to add to this flow.+createFlow_outputs :: Lens.Lens' CreateFlow (Prelude.Maybe [AddOutputRequest])+createFlow_outputs = Lens.lens (\CreateFlow' {outputs} -> outputs) (\s@CreateFlow' {} a -> s {outputs = a} :: CreateFlow) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+createFlow_source :: Lens.Lens' CreateFlow (Prelude.Maybe SetSourceRequest)+createFlow_source = Lens.lens (\CreateFlow' {source} -> source) (\s@CreateFlow' {} a -> s {source = a} :: CreateFlow)++-- | Undocumented member.+createFlow_sourceFailoverConfig :: Lens.Lens' CreateFlow (Prelude.Maybe FailoverConfig)+createFlow_sourceFailoverConfig = Lens.lens (\CreateFlow' {sourceFailoverConfig} -> sourceFailoverConfig) (\s@CreateFlow' {} a -> s {sourceFailoverConfig = a} :: CreateFlow)++-- | Undocumented member.+createFlow_sources :: Lens.Lens' CreateFlow (Prelude.Maybe [SetSourceRequest])+createFlow_sources = Lens.lens (\CreateFlow' {sources} -> sources) (\s@CreateFlow' {} a -> s {sources = a} :: CreateFlow) Prelude.. Lens.mapping Lens.coerced++-- | The VPC interfaces you want on the flow.+createFlow_vpcInterfaces :: Lens.Lens' CreateFlow (Prelude.Maybe [VpcInterfaceRequest])+createFlow_vpcInterfaces = Lens.lens (\CreateFlow' {vpcInterfaces} -> vpcInterfaces) (\s@CreateFlow' {} a -> s {vpcInterfaces = a} :: CreateFlow) Prelude.. Lens.mapping Lens.coerced++-- | The name of the flow.+createFlow_name :: Lens.Lens' CreateFlow Prelude.Text+createFlow_name = Lens.lens (\CreateFlow' {name} -> name) (\s@CreateFlow' {} a -> s {name = a} :: CreateFlow)++instance Core.AWSRequest CreateFlow where+ type AWSResponse CreateFlow = CreateFlowResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateFlowResponse'+ Prelude.<$> (x Data..?> "flow")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateFlow where+ hashWithSalt _salt CreateFlow' {..} =+ _salt+ `Prelude.hashWithSalt` availabilityZone+ `Prelude.hashWithSalt` entitlements+ `Prelude.hashWithSalt` maintenance+ `Prelude.hashWithSalt` mediaStreams+ `Prelude.hashWithSalt` outputs+ `Prelude.hashWithSalt` source+ `Prelude.hashWithSalt` sourceFailoverConfig+ `Prelude.hashWithSalt` sources+ `Prelude.hashWithSalt` vpcInterfaces+ `Prelude.hashWithSalt` name++instance Prelude.NFData CreateFlow where+ rnf CreateFlow' {..} =+ Prelude.rnf availabilityZone+ `Prelude.seq` Prelude.rnf entitlements+ `Prelude.seq` Prelude.rnf maintenance+ `Prelude.seq` Prelude.rnf mediaStreams+ `Prelude.seq` Prelude.rnf outputs+ `Prelude.seq` Prelude.rnf source+ `Prelude.seq` Prelude.rnf sourceFailoverConfig+ `Prelude.seq` Prelude.rnf sources+ `Prelude.seq` Prelude.rnf vpcInterfaces+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders CreateFlow where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateFlow where+ toJSON CreateFlow' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("availabilityZone" Data..=)+ Prelude.<$> availabilityZone,+ ("entitlements" Data..=) Prelude.<$> entitlements,+ ("maintenance" Data..=) Prelude.<$> maintenance,+ ("mediaStreams" Data..=) Prelude.<$> mediaStreams,+ ("outputs" Data..=) Prelude.<$> outputs,+ ("source" Data..=) Prelude.<$> source,+ ("sourceFailoverConfig" Data..=)+ Prelude.<$> sourceFailoverConfig,+ ("sources" Data..=) Prelude.<$> sources,+ ("vpcInterfaces" Data..=) Prelude.<$> vpcInterfaces,+ Prelude.Just ("name" Data..= name)+ ]+ )++instance Data.ToPath CreateFlow where+ toPath = Prelude.const "/v1/flows"++instance Data.ToQuery CreateFlow where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateFlowResponse' smart constructor.+data CreateFlowResponse = CreateFlowResponse'+ { flow :: Prelude.Maybe Flow,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateFlowResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flow', 'createFlowResponse_flow' - Undocumented member.+--+-- 'httpStatus', 'createFlowResponse_httpStatus' - The response's http status code.+newCreateFlowResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateFlowResponse+newCreateFlowResponse pHttpStatus_ =+ CreateFlowResponse'+ { flow = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+createFlowResponse_flow :: Lens.Lens' CreateFlowResponse (Prelude.Maybe Flow)+createFlowResponse_flow = Lens.lens (\CreateFlowResponse' {flow} -> flow) (\s@CreateFlowResponse' {} a -> s {flow = a} :: CreateFlowResponse)++-- | The response's http status code.+createFlowResponse_httpStatus :: Lens.Lens' CreateFlowResponse Prelude.Int+createFlowResponse_httpStatus = Lens.lens (\CreateFlowResponse' {httpStatus} -> httpStatus) (\s@CreateFlowResponse' {} a -> s {httpStatus = a} :: CreateFlowResponse)++instance Prelude.NFData CreateFlowResponse where+ rnf CreateFlowResponse' {..} =+ Prelude.rnf flow+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/DeleteFlow.hs view
@@ -0,0 +1,167 @@+{-# 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.MediaConnect.DeleteFlow+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a flow. Before you can delete a flow, you must stop the flow.+module Amazonka.MediaConnect.DeleteFlow+ ( -- * Creating a Request+ DeleteFlow (..),+ newDeleteFlow,++ -- * Request Lenses+ deleteFlow_flowArn,++ -- * Destructuring the Response+ DeleteFlowResponse (..),+ newDeleteFlowResponse,++ -- * Response Lenses+ deleteFlowResponse_flowArn,+ deleteFlowResponse_status,+ deleteFlowResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteFlow' smart constructor.+data DeleteFlow = DeleteFlow'+ { -- | The ARN of the flow that you want to delete.+ flowArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'deleteFlow_flowArn' - The ARN of the flow that you want to delete.+newDeleteFlow ::+ -- | 'flowArn'+ Prelude.Text ->+ DeleteFlow+newDeleteFlow pFlowArn_ =+ DeleteFlow' {flowArn = pFlowArn_}++-- | The ARN of the flow that you want to delete.+deleteFlow_flowArn :: Lens.Lens' DeleteFlow Prelude.Text+deleteFlow_flowArn = Lens.lens (\DeleteFlow' {flowArn} -> flowArn) (\s@DeleteFlow' {} a -> s {flowArn = a} :: DeleteFlow)++instance Core.AWSRequest DeleteFlow where+ type AWSResponse DeleteFlow = DeleteFlowResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DeleteFlowResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteFlow where+ hashWithSalt _salt DeleteFlow' {..} =+ _salt `Prelude.hashWithSalt` flowArn++instance Prelude.NFData DeleteFlow where+ rnf DeleteFlow' {..} = Prelude.rnf flowArn++instance Data.ToHeaders DeleteFlow where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteFlow where+ toPath DeleteFlow' {..} =+ Prelude.mconcat ["/v1/flows/", Data.toBS flowArn]++instance Data.ToQuery DeleteFlow where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteFlowResponse' smart constructor.+data DeleteFlowResponse = DeleteFlowResponse'+ { -- | The ARN of the flow that was deleted.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | The status of the flow when the DeleteFlow process begins.+ status :: Prelude.Maybe Status,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteFlowResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'deleteFlowResponse_flowArn' - The ARN of the flow that was deleted.+--+-- 'status', 'deleteFlowResponse_status' - The status of the flow when the DeleteFlow process begins.+--+-- 'httpStatus', 'deleteFlowResponse_httpStatus' - The response's http status code.+newDeleteFlowResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteFlowResponse+newDeleteFlowResponse pHttpStatus_ =+ DeleteFlowResponse'+ { flowArn = Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the flow that was deleted.+deleteFlowResponse_flowArn :: Lens.Lens' DeleteFlowResponse (Prelude.Maybe Prelude.Text)+deleteFlowResponse_flowArn = Lens.lens (\DeleteFlowResponse' {flowArn} -> flowArn) (\s@DeleteFlowResponse' {} a -> s {flowArn = a} :: DeleteFlowResponse)++-- | The status of the flow when the DeleteFlow process begins.+deleteFlowResponse_status :: Lens.Lens' DeleteFlowResponse (Prelude.Maybe Status)+deleteFlowResponse_status = Lens.lens (\DeleteFlowResponse' {status} -> status) (\s@DeleteFlowResponse' {} a -> s {status = a} :: DeleteFlowResponse)++-- | The response's http status code.+deleteFlowResponse_httpStatus :: Lens.Lens' DeleteFlowResponse Prelude.Int+deleteFlowResponse_httpStatus = Lens.lens (\DeleteFlowResponse' {httpStatus} -> httpStatus) (\s@DeleteFlowResponse' {} a -> s {httpStatus = a} :: DeleteFlowResponse)++instance Prelude.NFData DeleteFlowResponse where+ rnf DeleteFlowResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/DescribeFlow.hs view
@@ -0,0 +1,167 @@+{-# 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.MediaConnect.DescribeFlow+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Displays the details of a flow. The response includes the flow ARN,+-- name, and Availability Zone, as well as details about the source,+-- outputs, and entitlements.+module Amazonka.MediaConnect.DescribeFlow+ ( -- * Creating a Request+ DescribeFlow (..),+ newDescribeFlow,++ -- * Request Lenses+ describeFlow_flowArn,++ -- * Destructuring the Response+ DescribeFlowResponse (..),+ newDescribeFlowResponse,++ -- * Response Lenses+ describeFlowResponse_flow,+ describeFlowResponse_messages,+ describeFlowResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeFlow' smart constructor.+data DescribeFlow = DescribeFlow'+ { -- | The ARN of the flow that you want to describe.+ flowArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'describeFlow_flowArn' - The ARN of the flow that you want to describe.+newDescribeFlow ::+ -- | 'flowArn'+ Prelude.Text ->+ DescribeFlow+newDescribeFlow pFlowArn_ =+ DescribeFlow' {flowArn = pFlowArn_}++-- | The ARN of the flow that you want to describe.+describeFlow_flowArn :: Lens.Lens' DescribeFlow Prelude.Text+describeFlow_flowArn = Lens.lens (\DescribeFlow' {flowArn} -> flowArn) (\s@DescribeFlow' {} a -> s {flowArn = a} :: DescribeFlow)++instance Core.AWSRequest DescribeFlow where+ type AWSResponse DescribeFlow = DescribeFlowResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeFlowResponse'+ Prelude.<$> (x Data..?> "flow")+ Prelude.<*> (x Data..?> "messages")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeFlow where+ hashWithSalt _salt DescribeFlow' {..} =+ _salt `Prelude.hashWithSalt` flowArn++instance Prelude.NFData DescribeFlow where+ rnf DescribeFlow' {..} = Prelude.rnf flowArn++instance Data.ToHeaders DescribeFlow where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeFlow where+ toPath DescribeFlow' {..} =+ Prelude.mconcat ["/v1/flows/", Data.toBS flowArn]++instance Data.ToQuery DescribeFlow where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeFlowResponse' smart constructor.+data DescribeFlowResponse = DescribeFlowResponse'+ { flow :: Prelude.Maybe Flow,+ messages :: Prelude.Maybe Messages,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeFlowResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flow', 'describeFlowResponse_flow' - Undocumented member.+--+-- 'messages', 'describeFlowResponse_messages' - Undocumented member.+--+-- 'httpStatus', 'describeFlowResponse_httpStatus' - The response's http status code.+newDescribeFlowResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeFlowResponse+newDescribeFlowResponse pHttpStatus_ =+ DescribeFlowResponse'+ { flow = Prelude.Nothing,+ messages = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+describeFlowResponse_flow :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Flow)+describeFlowResponse_flow = Lens.lens (\DescribeFlowResponse' {flow} -> flow) (\s@DescribeFlowResponse' {} a -> s {flow = a} :: DescribeFlowResponse)++-- | Undocumented member.+describeFlowResponse_messages :: Lens.Lens' DescribeFlowResponse (Prelude.Maybe Messages)+describeFlowResponse_messages = Lens.lens (\DescribeFlowResponse' {messages} -> messages) (\s@DescribeFlowResponse' {} a -> s {messages = a} :: DescribeFlowResponse)++-- | The response's http status code.+describeFlowResponse_httpStatus :: Lens.Lens' DescribeFlowResponse Prelude.Int+describeFlowResponse_httpStatus = Lens.lens (\DescribeFlowResponse' {httpStatus} -> httpStatus) (\s@DescribeFlowResponse' {} a -> s {httpStatus = a} :: DescribeFlowResponse)++instance Prelude.NFData DescribeFlowResponse where+ rnf DescribeFlowResponse' {..} =+ Prelude.rnf flow+ `Prelude.seq` Prelude.rnf messages+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/DescribeOffering.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.MediaConnect.DescribeOffering+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Displays the details of an offering. The response includes the offering+-- description, duration, outbound bandwidth, price, and Amazon Resource+-- Name (ARN).+module Amazonka.MediaConnect.DescribeOffering+ ( -- * Creating a Request+ DescribeOffering (..),+ newDescribeOffering,++ -- * Request Lenses+ describeOffering_offeringArn,++ -- * Destructuring the Response+ DescribeOfferingResponse (..),+ newDescribeOfferingResponse,++ -- * Response Lenses+ describeOfferingResponse_offering,+ describeOfferingResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeOffering' smart constructor.+data DescribeOffering = DescribeOffering'+ { -- | The Amazon Resource Name (ARN) of the offering.+ offeringArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeOffering' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'offeringArn', 'describeOffering_offeringArn' - The Amazon Resource Name (ARN) of the offering.+newDescribeOffering ::+ -- | 'offeringArn'+ Prelude.Text ->+ DescribeOffering+newDescribeOffering pOfferingArn_ =+ DescribeOffering' {offeringArn = pOfferingArn_}++-- | The Amazon Resource Name (ARN) of the offering.+describeOffering_offeringArn :: Lens.Lens' DescribeOffering Prelude.Text+describeOffering_offeringArn = Lens.lens (\DescribeOffering' {offeringArn} -> offeringArn) (\s@DescribeOffering' {} a -> s {offeringArn = a} :: DescribeOffering)++instance Core.AWSRequest DescribeOffering where+ type+ AWSResponse DescribeOffering =+ DescribeOfferingResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeOfferingResponse'+ Prelude.<$> (x Data..?> "offering")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeOffering where+ hashWithSalt _salt DescribeOffering' {..} =+ _salt `Prelude.hashWithSalt` offeringArn++instance Prelude.NFData DescribeOffering where+ rnf DescribeOffering' {..} = Prelude.rnf offeringArn++instance Data.ToHeaders DescribeOffering where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeOffering where+ toPath DescribeOffering' {..} =+ Prelude.mconcat+ ["/v1/offerings/", Data.toBS offeringArn]++instance Data.ToQuery DescribeOffering where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeOfferingResponse' smart constructor.+data DescribeOfferingResponse = DescribeOfferingResponse'+ { offering :: Prelude.Maybe Offering,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeOfferingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'offering', 'describeOfferingResponse_offering' - Undocumented member.+--+-- 'httpStatus', 'describeOfferingResponse_httpStatus' - The response's http status code.+newDescribeOfferingResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeOfferingResponse+newDescribeOfferingResponse pHttpStatus_ =+ DescribeOfferingResponse'+ { offering =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+describeOfferingResponse_offering :: Lens.Lens' DescribeOfferingResponse (Prelude.Maybe Offering)+describeOfferingResponse_offering = Lens.lens (\DescribeOfferingResponse' {offering} -> offering) (\s@DescribeOfferingResponse' {} a -> s {offering = a} :: DescribeOfferingResponse)++-- | The response's http status code.+describeOfferingResponse_httpStatus :: Lens.Lens' DescribeOfferingResponse Prelude.Int+describeOfferingResponse_httpStatus = Lens.lens (\DescribeOfferingResponse' {httpStatus} -> httpStatus) (\s@DescribeOfferingResponse' {} a -> s {httpStatus = a} :: DescribeOfferingResponse)++instance Prelude.NFData DescribeOfferingResponse where+ rnf DescribeOfferingResponse' {..} =+ Prelude.rnf offering+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/DescribeReservation.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.DescribeReservation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Displays the details of a reservation. The response includes the+-- reservation name, state, start date and time, and the details of the+-- offering that make up the rest of the reservation (such as price,+-- duration, and outbound bandwidth).+module Amazonka.MediaConnect.DescribeReservation+ ( -- * Creating a Request+ DescribeReservation (..),+ newDescribeReservation,++ -- * Request Lenses+ describeReservation_reservationArn,++ -- * Destructuring the Response+ DescribeReservationResponse (..),+ newDescribeReservationResponse,++ -- * Response Lenses+ describeReservationResponse_reservation,+ describeReservationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeReservation' smart constructor.+data DescribeReservation = DescribeReservation'+ { -- | The Amazon Resource Name (ARN) of the reservation.+ reservationArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeReservation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'reservationArn', 'describeReservation_reservationArn' - The Amazon Resource Name (ARN) of the reservation.+newDescribeReservation ::+ -- | 'reservationArn'+ Prelude.Text ->+ DescribeReservation+newDescribeReservation pReservationArn_ =+ DescribeReservation'+ { reservationArn =+ pReservationArn_+ }++-- | The Amazon Resource Name (ARN) of the reservation.+describeReservation_reservationArn :: Lens.Lens' DescribeReservation Prelude.Text+describeReservation_reservationArn = Lens.lens (\DescribeReservation' {reservationArn} -> reservationArn) (\s@DescribeReservation' {} a -> s {reservationArn = a} :: DescribeReservation)++instance Core.AWSRequest DescribeReservation where+ type+ AWSResponse DescribeReservation =+ DescribeReservationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeReservationResponse'+ Prelude.<$> (x Data..?> "reservation")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeReservation where+ hashWithSalt _salt DescribeReservation' {..} =+ _salt `Prelude.hashWithSalt` reservationArn++instance Prelude.NFData DescribeReservation where+ rnf DescribeReservation' {..} =+ Prelude.rnf reservationArn++instance Data.ToHeaders DescribeReservation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeReservation where+ toPath DescribeReservation' {..} =+ Prelude.mconcat+ ["/v1/reservations/", Data.toBS reservationArn]++instance Data.ToQuery DescribeReservation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeReservationResponse' smart constructor.+data DescribeReservationResponse = DescribeReservationResponse'+ { reservation :: Prelude.Maybe Reservation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeReservationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'reservation', 'describeReservationResponse_reservation' - Undocumented member.+--+-- 'httpStatus', 'describeReservationResponse_httpStatus' - The response's http status code.+newDescribeReservationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeReservationResponse+newDescribeReservationResponse pHttpStatus_ =+ DescribeReservationResponse'+ { reservation =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+describeReservationResponse_reservation :: Lens.Lens' DescribeReservationResponse (Prelude.Maybe Reservation)+describeReservationResponse_reservation = Lens.lens (\DescribeReservationResponse' {reservation} -> reservation) (\s@DescribeReservationResponse' {} a -> s {reservation = a} :: DescribeReservationResponse)++-- | The response's http status code.+describeReservationResponse_httpStatus :: Lens.Lens' DescribeReservationResponse Prelude.Int+describeReservationResponse_httpStatus = Lens.lens (\DescribeReservationResponse' {httpStatus} -> httpStatus) (\s@DescribeReservationResponse' {} a -> s {httpStatus = a} :: DescribeReservationResponse)++instance Prelude.NFData DescribeReservationResponse where+ rnf DescribeReservationResponse' {..} =+ Prelude.rnf reservation+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/GrantFlowEntitlements.hs view
@@ -0,0 +1,196 @@+{-# 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.MediaConnect.GrantFlowEntitlements+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Grants entitlements to an existing flow.+module Amazonka.MediaConnect.GrantFlowEntitlements+ ( -- * Creating a Request+ GrantFlowEntitlements (..),+ newGrantFlowEntitlements,++ -- * Request Lenses+ grantFlowEntitlements_flowArn,+ grantFlowEntitlements_entitlements,++ -- * Destructuring the Response+ GrantFlowEntitlementsResponse (..),+ newGrantFlowEntitlementsResponse,++ -- * Response Lenses+ grantFlowEntitlementsResponse_entitlements,+ grantFlowEntitlementsResponse_flowArn,+ grantFlowEntitlementsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to grant entitlements on a flow.+--+-- /See:/ 'newGrantFlowEntitlements' smart constructor.+data GrantFlowEntitlements = GrantFlowEntitlements'+ { -- | The flow that you want to grant entitlements on.+ flowArn :: Prelude.Text,+ -- | The list of entitlements that you want to grant.+ entitlements :: [GrantEntitlementRequest]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GrantFlowEntitlements' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'grantFlowEntitlements_flowArn' - The flow that you want to grant entitlements on.+--+-- 'entitlements', 'grantFlowEntitlements_entitlements' - The list of entitlements that you want to grant.+newGrantFlowEntitlements ::+ -- | 'flowArn'+ Prelude.Text ->+ GrantFlowEntitlements+newGrantFlowEntitlements pFlowArn_ =+ GrantFlowEntitlements'+ { flowArn = pFlowArn_,+ entitlements = Prelude.mempty+ }++-- | The flow that you want to grant entitlements on.+grantFlowEntitlements_flowArn :: Lens.Lens' GrantFlowEntitlements Prelude.Text+grantFlowEntitlements_flowArn = Lens.lens (\GrantFlowEntitlements' {flowArn} -> flowArn) (\s@GrantFlowEntitlements' {} a -> s {flowArn = a} :: GrantFlowEntitlements)++-- | The list of entitlements that you want to grant.+grantFlowEntitlements_entitlements :: Lens.Lens' GrantFlowEntitlements [GrantEntitlementRequest]+grantFlowEntitlements_entitlements = Lens.lens (\GrantFlowEntitlements' {entitlements} -> entitlements) (\s@GrantFlowEntitlements' {} a -> s {entitlements = a} :: GrantFlowEntitlements) Prelude.. Lens.coerced++instance Core.AWSRequest GrantFlowEntitlements where+ type+ AWSResponse GrantFlowEntitlements =+ GrantFlowEntitlementsResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GrantFlowEntitlementsResponse'+ Prelude.<$> (x Data..?> "entitlements" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "flowArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GrantFlowEntitlements where+ hashWithSalt _salt GrantFlowEntitlements' {..} =+ _salt+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` entitlements++instance Prelude.NFData GrantFlowEntitlements where+ rnf GrantFlowEntitlements' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf entitlements++instance Data.ToHeaders GrantFlowEntitlements where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON GrantFlowEntitlements where+ toJSON GrantFlowEntitlements' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("entitlements" Data..= entitlements)]+ )++instance Data.ToPath GrantFlowEntitlements where+ toPath GrantFlowEntitlements' {..} =+ Prelude.mconcat+ ["/v1/flows/", Data.toBS flowArn, "/entitlements"]++instance Data.ToQuery GrantFlowEntitlements where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGrantFlowEntitlementsResponse' smart constructor.+data GrantFlowEntitlementsResponse = GrantFlowEntitlementsResponse'+ { -- | The entitlements that were just granted.+ entitlements :: Prelude.Maybe [Entitlement],+ -- | The ARN of the flow that these entitlements were granted to.+ flowArn :: 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 'GrantFlowEntitlementsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'entitlements', 'grantFlowEntitlementsResponse_entitlements' - The entitlements that were just granted.+--+-- 'flowArn', 'grantFlowEntitlementsResponse_flowArn' - The ARN of the flow that these entitlements were granted to.+--+-- 'httpStatus', 'grantFlowEntitlementsResponse_httpStatus' - The response's http status code.+newGrantFlowEntitlementsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GrantFlowEntitlementsResponse+newGrantFlowEntitlementsResponse pHttpStatus_ =+ GrantFlowEntitlementsResponse'+ { entitlements =+ Prelude.Nothing,+ flowArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The entitlements that were just granted.+grantFlowEntitlementsResponse_entitlements :: Lens.Lens' GrantFlowEntitlementsResponse (Prelude.Maybe [Entitlement])+grantFlowEntitlementsResponse_entitlements = Lens.lens (\GrantFlowEntitlementsResponse' {entitlements} -> entitlements) (\s@GrantFlowEntitlementsResponse' {} a -> s {entitlements = a} :: GrantFlowEntitlementsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the flow that these entitlements were granted to.+grantFlowEntitlementsResponse_flowArn :: Lens.Lens' GrantFlowEntitlementsResponse (Prelude.Maybe Prelude.Text)+grantFlowEntitlementsResponse_flowArn = Lens.lens (\GrantFlowEntitlementsResponse' {flowArn} -> flowArn) (\s@GrantFlowEntitlementsResponse' {} a -> s {flowArn = a} :: GrantFlowEntitlementsResponse)++-- | The response's http status code.+grantFlowEntitlementsResponse_httpStatus :: Lens.Lens' GrantFlowEntitlementsResponse Prelude.Int+grantFlowEntitlementsResponse_httpStatus = Lens.lens (\GrantFlowEntitlementsResponse' {httpStatus} -> httpStatus) (\s@GrantFlowEntitlementsResponse' {} a -> s {httpStatus = a} :: GrantFlowEntitlementsResponse)++instance Prelude.NFData GrantFlowEntitlementsResponse where+ rnf GrantFlowEntitlementsResponse' {..} =+ Prelude.rnf entitlements+ `Prelude.seq` Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/Lens.hs view
@@ -0,0 +1,669 @@+{-# 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.MediaConnect.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.MediaConnect.Lens+ ( -- * Operations++ -- ** AddFlowMediaStreams+ addFlowMediaStreams_flowArn,+ addFlowMediaStreams_mediaStreams,+ addFlowMediaStreamsResponse_flowArn,+ addFlowMediaStreamsResponse_mediaStreams,+ addFlowMediaStreamsResponse_httpStatus,++ -- ** AddFlowOutputs+ addFlowOutputs_flowArn,+ addFlowOutputs_outputs,+ addFlowOutputsResponse_flowArn,+ addFlowOutputsResponse_outputs,+ addFlowOutputsResponse_httpStatus,++ -- ** AddFlowSources+ addFlowSources_flowArn,+ addFlowSources_sources,+ addFlowSourcesResponse_flowArn,+ addFlowSourcesResponse_sources,+ addFlowSourcesResponse_httpStatus,++ -- ** AddFlowVpcInterfaces+ addFlowVpcInterfaces_flowArn,+ addFlowVpcInterfaces_vpcInterfaces,+ addFlowVpcInterfacesResponse_flowArn,+ addFlowVpcInterfacesResponse_vpcInterfaces,+ addFlowVpcInterfacesResponse_httpStatus,++ -- ** CreateFlow+ createFlow_availabilityZone,+ createFlow_entitlements,+ createFlow_maintenance,+ createFlow_mediaStreams,+ createFlow_outputs,+ createFlow_source,+ createFlow_sourceFailoverConfig,+ createFlow_sources,+ createFlow_vpcInterfaces,+ createFlow_name,+ createFlowResponse_flow,+ createFlowResponse_httpStatus,++ -- ** DeleteFlow+ deleteFlow_flowArn,+ deleteFlowResponse_flowArn,+ deleteFlowResponse_status,+ deleteFlowResponse_httpStatus,++ -- ** DescribeFlow+ describeFlow_flowArn,+ describeFlowResponse_flow,+ describeFlowResponse_messages,+ describeFlowResponse_httpStatus,++ -- ** DescribeOffering+ describeOffering_offeringArn,+ describeOfferingResponse_offering,+ describeOfferingResponse_httpStatus,++ -- ** DescribeReservation+ describeReservation_reservationArn,+ describeReservationResponse_reservation,+ describeReservationResponse_httpStatus,++ -- ** GrantFlowEntitlements+ grantFlowEntitlements_flowArn,+ grantFlowEntitlements_entitlements,+ grantFlowEntitlementsResponse_entitlements,+ grantFlowEntitlementsResponse_flowArn,+ grantFlowEntitlementsResponse_httpStatus,++ -- ** ListEntitlements+ listEntitlements_maxResults,+ listEntitlements_nextToken,+ listEntitlementsResponse_entitlements,+ listEntitlementsResponse_nextToken,+ listEntitlementsResponse_httpStatus,++ -- ** ListFlows+ listFlows_maxResults,+ listFlows_nextToken,+ listFlowsResponse_flows,+ listFlowsResponse_nextToken,+ listFlowsResponse_httpStatus,++ -- ** ListOfferings+ listOfferings_maxResults,+ listOfferings_nextToken,+ listOfferingsResponse_nextToken,+ listOfferingsResponse_offerings,+ listOfferingsResponse_httpStatus,++ -- ** ListReservations+ listReservations_maxResults,+ listReservations_nextToken,+ listReservationsResponse_nextToken,+ listReservationsResponse_reservations,+ listReservationsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** PurchaseOffering+ purchaseOffering_offeringArn,+ purchaseOffering_start,+ purchaseOffering_reservationName,+ purchaseOfferingResponse_reservation,+ purchaseOfferingResponse_httpStatus,++ -- ** RemoveFlowMediaStream+ removeFlowMediaStream_flowArn,+ removeFlowMediaStream_mediaStreamName,+ removeFlowMediaStreamResponse_flowArn,+ removeFlowMediaStreamResponse_mediaStreamName,+ removeFlowMediaStreamResponse_httpStatus,++ -- ** RemoveFlowOutput+ removeFlowOutput_flowArn,+ removeFlowOutput_outputArn,+ removeFlowOutputResponse_flowArn,+ removeFlowOutputResponse_outputArn,+ removeFlowOutputResponse_httpStatus,++ -- ** RemoveFlowSource+ removeFlowSource_flowArn,+ removeFlowSource_sourceArn,+ removeFlowSourceResponse_flowArn,+ removeFlowSourceResponse_sourceArn,+ removeFlowSourceResponse_httpStatus,++ -- ** RemoveFlowVpcInterface+ removeFlowVpcInterface_flowArn,+ removeFlowVpcInterface_vpcInterfaceName,+ removeFlowVpcInterfaceResponse_flowArn,+ removeFlowVpcInterfaceResponse_nonDeletedNetworkInterfaceIds,+ removeFlowVpcInterfaceResponse_vpcInterfaceName,+ removeFlowVpcInterfaceResponse_httpStatus,++ -- ** RevokeFlowEntitlement+ revokeFlowEntitlement_flowArn,+ revokeFlowEntitlement_entitlementArn,+ revokeFlowEntitlementResponse_entitlementArn,+ revokeFlowEntitlementResponse_flowArn,+ revokeFlowEntitlementResponse_httpStatus,++ -- ** StartFlow+ startFlow_flowArn,+ startFlowResponse_flowArn,+ startFlowResponse_status,+ startFlowResponse_httpStatus,++ -- ** StopFlow+ stopFlow_flowArn,+ stopFlowResponse_flowArn,+ stopFlowResponse_status,+ stopFlowResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,++ -- ** UntagResource+ untagResource_tagKeys,+ untagResource_resourceArn,++ -- ** UpdateFlow+ updateFlow_maintenance,+ updateFlow_sourceFailoverConfig,+ updateFlow_flowArn,+ updateFlowResponse_flow,+ updateFlowResponse_httpStatus,++ -- ** UpdateFlowEntitlement+ updateFlowEntitlement_description,+ updateFlowEntitlement_encryption,+ updateFlowEntitlement_entitlementStatus,+ updateFlowEntitlement_subscribers,+ updateFlowEntitlement_flowArn,+ updateFlowEntitlement_entitlementArn,+ updateFlowEntitlementResponse_entitlement,+ updateFlowEntitlementResponse_flowArn,+ updateFlowEntitlementResponse_httpStatus,++ -- ** UpdateFlowMediaStream+ updateFlowMediaStream_attributes,+ updateFlowMediaStream_clockRate,+ updateFlowMediaStream_description,+ updateFlowMediaStream_mediaStreamType,+ updateFlowMediaStream_videoFormat,+ updateFlowMediaStream_flowArn,+ updateFlowMediaStream_mediaStreamName,+ updateFlowMediaStreamResponse_flowArn,+ updateFlowMediaStreamResponse_mediaStream,+ updateFlowMediaStreamResponse_httpStatus,++ -- ** UpdateFlowOutput+ updateFlowOutput_cidrAllowList,+ updateFlowOutput_description,+ updateFlowOutput_destination,+ updateFlowOutput_encryption,+ updateFlowOutput_maxLatency,+ updateFlowOutput_mediaStreamOutputConfigurations,+ updateFlowOutput_minLatency,+ updateFlowOutput_port,+ updateFlowOutput_protocol,+ updateFlowOutput_remoteId,+ updateFlowOutput_senderControlPort,+ updateFlowOutput_senderIpAddress,+ updateFlowOutput_smoothingLatency,+ updateFlowOutput_streamId,+ updateFlowOutput_vpcInterfaceAttachment,+ updateFlowOutput_flowArn,+ updateFlowOutput_outputArn,+ updateFlowOutputResponse_flowArn,+ updateFlowOutputResponse_output,+ updateFlowOutputResponse_httpStatus,++ -- ** UpdateFlowSource+ updateFlowSource_decryption,+ updateFlowSource_description,+ updateFlowSource_entitlementArn,+ updateFlowSource_ingestPort,+ updateFlowSource_maxBitrate,+ updateFlowSource_maxLatency,+ updateFlowSource_maxSyncBuffer,+ updateFlowSource_mediaStreamSourceConfigurations,+ updateFlowSource_minLatency,+ updateFlowSource_protocol,+ updateFlowSource_senderControlPort,+ updateFlowSource_senderIpAddress,+ updateFlowSource_sourceListenerAddress,+ updateFlowSource_sourceListenerPort,+ updateFlowSource_streamId,+ updateFlowSource_vpcInterfaceName,+ updateFlowSource_whitelistCidr,+ updateFlowSource_flowArn,+ updateFlowSource_sourceArn,+ updateFlowSourceResponse_flowArn,+ updateFlowSourceResponse_source,+ updateFlowSourceResponse_httpStatus,++ -- * Types++ -- ** AddMaintenance+ addMaintenance_maintenanceDay,+ addMaintenance_maintenanceStartHour,++ -- ** AddMediaStreamRequest+ addMediaStreamRequest_attributes,+ addMediaStreamRequest_clockRate,+ addMediaStreamRequest_description,+ addMediaStreamRequest_videoFormat,+ addMediaStreamRequest_mediaStreamType,+ addMediaStreamRequest_mediaStreamId,+ addMediaStreamRequest_mediaStreamName,++ -- ** AddOutputRequest+ addOutputRequest_cidrAllowList,+ addOutputRequest_description,+ addOutputRequest_destination,+ addOutputRequest_encryption,+ addOutputRequest_maxLatency,+ addOutputRequest_mediaStreamOutputConfigurations,+ addOutputRequest_minLatency,+ addOutputRequest_name,+ addOutputRequest_port,+ addOutputRequest_remoteId,+ addOutputRequest_senderControlPort,+ addOutputRequest_smoothingLatency,+ addOutputRequest_streamId,+ addOutputRequest_vpcInterfaceAttachment,+ addOutputRequest_protocol,++ -- ** DestinationConfiguration+ destinationConfiguration_destinationIp,+ destinationConfiguration_destinationPort,+ destinationConfiguration_interface,+ destinationConfiguration_outboundIp,++ -- ** DestinationConfigurationRequest+ destinationConfigurationRequest_destinationIp,+ destinationConfigurationRequest_destinationPort,+ destinationConfigurationRequest_interface,++ -- ** EncodingParameters+ encodingParameters_encoderProfile,+ encodingParameters_compressionFactor,++ -- ** EncodingParametersRequest+ encodingParametersRequest_encoderProfile,+ encodingParametersRequest_compressionFactor,++ -- ** Encryption+ encryption_algorithm,+ encryption_constantInitializationVector,+ encryption_deviceId,+ encryption_keyType,+ encryption_region,+ encryption_resourceId,+ encryption_secretArn,+ encryption_url,+ encryption_roleArn,++ -- ** Entitlement+ entitlement_dataTransferSubscriberFeePercent,+ entitlement_description,+ entitlement_encryption,+ entitlement_entitlementStatus,+ entitlement_entitlementArn,+ entitlement_subscribers,+ entitlement_name,++ -- ** FailoverConfig+ failoverConfig_failoverMode,+ failoverConfig_recoveryWindow,+ failoverConfig_sourcePriority,+ failoverConfig_state,++ -- ** Flow+ flow_description,+ flow_egressIp,+ flow_maintenance,+ flow_mediaStreams,+ flow_sourceFailoverConfig,+ flow_sources,+ flow_vpcInterfaces,+ flow_status,+ flow_entitlements,+ flow_outputs,+ flow_availabilityZone,+ flow_flowArn,+ flow_source,+ flow_name,++ -- ** Fmtp+ fmtp_channelOrder,+ fmtp_colorimetry,+ fmtp_exactFramerate,+ fmtp_par,+ fmtp_range,+ fmtp_scanMode,+ fmtp_tcs,++ -- ** FmtpRequest+ fmtpRequest_channelOrder,+ fmtpRequest_colorimetry,+ fmtpRequest_exactFramerate,+ fmtpRequest_par,+ fmtpRequest_range,+ fmtpRequest_scanMode,+ fmtpRequest_tcs,++ -- ** GrantEntitlementRequest+ grantEntitlementRequest_dataTransferSubscriberFeePercent,+ grantEntitlementRequest_description,+ grantEntitlementRequest_encryption,+ grantEntitlementRequest_entitlementStatus,+ grantEntitlementRequest_name,+ grantEntitlementRequest_subscribers,++ -- ** InputConfiguration+ inputConfiguration_inputPort,+ inputConfiguration_inputIp,+ inputConfiguration_interface,++ -- ** InputConfigurationRequest+ inputConfigurationRequest_inputPort,+ inputConfigurationRequest_interface,++ -- ** Interface+ interface_name,++ -- ** InterfaceRequest+ interfaceRequest_name,++ -- ** ListedEntitlement+ listedEntitlement_dataTransferSubscriberFeePercent,+ listedEntitlement_entitlementArn,+ listedEntitlement_entitlementName,++ -- ** ListedFlow+ listedFlow_maintenance,+ listedFlow_status,+ listedFlow_description,+ listedFlow_sourceType,+ listedFlow_availabilityZone,+ listedFlow_flowArn,+ listedFlow_name,++ -- ** Maintenance+ maintenance_maintenanceDay,+ maintenance_maintenanceDeadline,+ maintenance_maintenanceScheduledDate,+ maintenance_maintenanceStartHour,++ -- ** MediaStream+ mediaStream_attributes,+ mediaStream_clockRate,+ mediaStream_description,+ mediaStream_videoFormat,+ mediaStream_mediaStreamType,+ mediaStream_mediaStreamId,+ mediaStream_mediaStreamName,+ mediaStream_fmt,++ -- ** MediaStreamAttributes+ mediaStreamAttributes_lang,+ mediaStreamAttributes_fmtp,++ -- ** MediaStreamAttributesRequest+ mediaStreamAttributesRequest_fmtp,+ mediaStreamAttributesRequest_lang,++ -- ** MediaStreamOutputConfiguration+ mediaStreamOutputConfiguration_destinationConfigurations,+ mediaStreamOutputConfiguration_encodingParameters,+ mediaStreamOutputConfiguration_mediaStreamName,+ mediaStreamOutputConfiguration_encodingName,++ -- ** MediaStreamOutputConfigurationRequest+ mediaStreamOutputConfigurationRequest_destinationConfigurations,+ mediaStreamOutputConfigurationRequest_encodingParameters,+ mediaStreamOutputConfigurationRequest_mediaStreamName,+ mediaStreamOutputConfigurationRequest_encodingName,++ -- ** MediaStreamSourceConfiguration+ mediaStreamSourceConfiguration_inputConfigurations,+ mediaStreamSourceConfiguration_mediaStreamName,+ mediaStreamSourceConfiguration_encodingName,++ -- ** MediaStreamSourceConfigurationRequest+ mediaStreamSourceConfigurationRequest_inputConfigurations,+ mediaStreamSourceConfigurationRequest_mediaStreamName,+ mediaStreamSourceConfigurationRequest_encodingName,++ -- ** Messages+ messages_errors,++ -- ** Offering+ offering_currencyCode,+ offering_offeringArn,+ offering_offeringDescription,+ offering_durationUnits,+ offering_duration,+ offering_pricePerUnit,+ offering_resourceSpecification,+ offering_priceUnits,++ -- ** Output+ output_dataTransferSubscriberFeePercent,+ output_description,+ output_destination,+ output_encryption,+ output_entitlementArn,+ output_listenerAddress,+ output_mediaLiveInputArn,+ output_mediaStreamOutputConfigurations,+ output_port,+ output_transport,+ output_vpcInterfaceAttachment,+ output_outputArn,+ output_name,++ -- ** Reservation+ reservation_currencyCode,+ reservation_reservationState,+ reservation_offeringArn,+ reservation_reservationArn,+ reservation_start,+ reservation_offeringDescription,+ reservation_reservationName,+ reservation_end,+ reservation_duration,+ reservation_durationUnits,+ reservation_pricePerUnit,+ reservation_resourceSpecification,+ reservation_priceUnits,++ -- ** ResourceSpecification+ resourceSpecification_reservedBitrate,+ resourceSpecification_resourceType,++ -- ** SetSourceRequest+ setSourceRequest_decryption,+ setSourceRequest_description,+ setSourceRequest_entitlementArn,+ setSourceRequest_ingestPort,+ setSourceRequest_maxBitrate,+ setSourceRequest_maxLatency,+ setSourceRequest_maxSyncBuffer,+ setSourceRequest_mediaStreamSourceConfigurations,+ setSourceRequest_minLatency,+ setSourceRequest_name,+ setSourceRequest_protocol,+ setSourceRequest_senderControlPort,+ setSourceRequest_senderIpAddress,+ setSourceRequest_sourceListenerAddress,+ setSourceRequest_sourceListenerPort,+ setSourceRequest_streamId,+ setSourceRequest_vpcInterfaceName,+ setSourceRequest_whitelistCidr,++ -- ** Source+ source_dataTransferSubscriberFeePercent,+ source_decryption,+ source_description,+ source_entitlementArn,+ source_ingestIp,+ source_ingestPort,+ source_mediaStreamSourceConfigurations,+ source_senderControlPort,+ source_senderIpAddress,+ source_transport,+ source_vpcInterfaceName,+ source_whitelistCidr,+ source_sourceArn,+ source_name,++ -- ** SourcePriority+ sourcePriority_primarySource,++ -- ** Transport+ transport_cidrAllowList,+ transport_maxBitrate,+ transport_maxLatency,+ transport_maxSyncBuffer,+ transport_minLatency,+ transport_remoteId,+ transport_senderControlPort,+ transport_senderIpAddress,+ transport_smoothingLatency,+ transport_sourceListenerAddress,+ transport_sourceListenerPort,+ transport_streamId,+ transport_protocol,++ -- ** UpdateEncryption+ updateEncryption_algorithm,+ updateEncryption_constantInitializationVector,+ updateEncryption_deviceId,+ updateEncryption_keyType,+ updateEncryption_region,+ updateEncryption_resourceId,+ updateEncryption_roleArn,+ updateEncryption_secretArn,+ updateEncryption_url,++ -- ** UpdateFailoverConfig+ updateFailoverConfig_failoverMode,+ updateFailoverConfig_recoveryWindow,+ updateFailoverConfig_sourcePriority,+ updateFailoverConfig_state,++ -- ** UpdateMaintenance+ updateMaintenance_maintenanceDay,+ updateMaintenance_maintenanceScheduledDate,+ updateMaintenance_maintenanceStartHour,++ -- ** VpcInterface+ vpcInterface_networkInterfaceType,+ vpcInterface_networkInterfaceIds,+ vpcInterface_subnetId,+ vpcInterface_securityGroupIds,+ vpcInterface_roleArn,+ vpcInterface_name,++ -- ** VpcInterfaceAttachment+ vpcInterfaceAttachment_vpcInterfaceName,++ -- ** VpcInterfaceRequest+ vpcInterfaceRequest_networkInterfaceType,+ vpcInterfaceRequest_subnetId,+ vpcInterfaceRequest_securityGroupIds,+ vpcInterfaceRequest_roleArn,+ vpcInterfaceRequest_name,+ )+where++import Amazonka.MediaConnect.AddFlowMediaStreams+import Amazonka.MediaConnect.AddFlowOutputs+import Amazonka.MediaConnect.AddFlowSources+import Amazonka.MediaConnect.AddFlowVpcInterfaces+import Amazonka.MediaConnect.CreateFlow+import Amazonka.MediaConnect.DeleteFlow+import Amazonka.MediaConnect.DescribeFlow+import Amazonka.MediaConnect.DescribeOffering+import Amazonka.MediaConnect.DescribeReservation+import Amazonka.MediaConnect.GrantFlowEntitlements+import Amazonka.MediaConnect.ListEntitlements+import Amazonka.MediaConnect.ListFlows+import Amazonka.MediaConnect.ListOfferings+import Amazonka.MediaConnect.ListReservations+import Amazonka.MediaConnect.ListTagsForResource+import Amazonka.MediaConnect.PurchaseOffering+import Amazonka.MediaConnect.RemoveFlowMediaStream+import Amazonka.MediaConnect.RemoveFlowOutput+import Amazonka.MediaConnect.RemoveFlowSource+import Amazonka.MediaConnect.RemoveFlowVpcInterface+import Amazonka.MediaConnect.RevokeFlowEntitlement+import Amazonka.MediaConnect.StartFlow+import Amazonka.MediaConnect.StopFlow+import Amazonka.MediaConnect.TagResource+import Amazonka.MediaConnect.Types.AddMaintenance+import Amazonka.MediaConnect.Types.AddMediaStreamRequest+import Amazonka.MediaConnect.Types.AddOutputRequest+import Amazonka.MediaConnect.Types.DestinationConfiguration+import Amazonka.MediaConnect.Types.DestinationConfigurationRequest+import Amazonka.MediaConnect.Types.EncodingParameters+import Amazonka.MediaConnect.Types.EncodingParametersRequest+import Amazonka.MediaConnect.Types.Encryption+import Amazonka.MediaConnect.Types.Entitlement+import Amazonka.MediaConnect.Types.FailoverConfig+import Amazonka.MediaConnect.Types.Flow+import Amazonka.MediaConnect.Types.Fmtp+import Amazonka.MediaConnect.Types.FmtpRequest+import Amazonka.MediaConnect.Types.GrantEntitlementRequest+import Amazonka.MediaConnect.Types.InputConfiguration+import Amazonka.MediaConnect.Types.InputConfigurationRequest+import Amazonka.MediaConnect.Types.Interface+import Amazonka.MediaConnect.Types.InterfaceRequest+import Amazonka.MediaConnect.Types.ListedEntitlement+import Amazonka.MediaConnect.Types.ListedFlow+import Amazonka.MediaConnect.Types.Maintenance+import Amazonka.MediaConnect.Types.MediaStream+import Amazonka.MediaConnect.Types.MediaStreamAttributes+import Amazonka.MediaConnect.Types.MediaStreamAttributesRequest+import Amazonka.MediaConnect.Types.MediaStreamOutputConfiguration+import Amazonka.MediaConnect.Types.MediaStreamOutputConfigurationRequest+import Amazonka.MediaConnect.Types.MediaStreamSourceConfiguration+import Amazonka.MediaConnect.Types.MediaStreamSourceConfigurationRequest+import Amazonka.MediaConnect.Types.Messages+import Amazonka.MediaConnect.Types.Offering+import Amazonka.MediaConnect.Types.Output+import Amazonka.MediaConnect.Types.Reservation+import Amazonka.MediaConnect.Types.ResourceSpecification+import Amazonka.MediaConnect.Types.SetSourceRequest+import Amazonka.MediaConnect.Types.Source+import Amazonka.MediaConnect.Types.SourcePriority+import Amazonka.MediaConnect.Types.Transport+import Amazonka.MediaConnect.Types.UpdateEncryption+import Amazonka.MediaConnect.Types.UpdateFailoverConfig+import Amazonka.MediaConnect.Types.UpdateMaintenance+import Amazonka.MediaConnect.Types.VpcInterface+import Amazonka.MediaConnect.Types.VpcInterfaceAttachment+import Amazonka.MediaConnect.Types.VpcInterfaceRequest+import Amazonka.MediaConnect.UntagResource+import Amazonka.MediaConnect.UpdateFlow+import Amazonka.MediaConnect.UpdateFlowEntitlement+import Amazonka.MediaConnect.UpdateFlowMediaStream+import Amazonka.MediaConnect.UpdateFlowOutput+import Amazonka.MediaConnect.UpdateFlowSource
+ gen/Amazonka/MediaConnect/ListEntitlements.hs view
@@ -0,0 +1,260 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.ListEntitlements+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Displays a list of all entitlements that have been granted to this+-- account. This request returns 20 results per page.+--+-- This operation returns paginated results.+module Amazonka.MediaConnect.ListEntitlements+ ( -- * Creating a Request+ ListEntitlements (..),+ newListEntitlements,++ -- * Request Lenses+ listEntitlements_maxResults,+ listEntitlements_nextToken,++ -- * Destructuring the Response+ ListEntitlementsResponse (..),+ newListEntitlementsResponse,++ -- * Response Lenses+ listEntitlementsResponse_entitlements,+ listEntitlementsResponse_nextToken,+ listEntitlementsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListEntitlements' smart constructor.+data ListEntitlements = ListEntitlements'+ { -- | The maximum number of results to return per API request. For example,+ -- you submit a ListEntitlements request with MaxResults set at 5. Although+ -- 20 items match your request, the service returns no more than the first+ -- 5 items. (The service also returns a NextToken value that you can use to+ -- fetch the next batch of results.) The service might return fewer results+ -- than the MaxResults value. If MaxResults is not included in the request,+ -- the service defaults to pagination with a maximum of 20 results per+ -- page.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token that identifies which batch of results that you want to see.+ -- For example, you submit a ListEntitlements request with MaxResults set+ -- at 5. The service returns the first batch of results (up to 5) and a+ -- NextToken value. To see the next batch of results, you can submit the+ -- ListEntitlements request a second time and specify the NextToken value.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListEntitlements' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listEntitlements_maxResults' - The maximum number of results to return per API request. For example,+-- you submit a ListEntitlements request with MaxResults set at 5. Although+-- 20 items match your request, the service returns no more than the first+-- 5 items. (The service also returns a NextToken value that you can use to+-- fetch the next batch of results.) The service might return fewer results+-- than the MaxResults value. If MaxResults is not included in the request,+-- the service defaults to pagination with a maximum of 20 results per+-- page.+--+-- 'nextToken', 'listEntitlements_nextToken' - The token that identifies which batch of results that you want to see.+-- For example, you submit a ListEntitlements request with MaxResults set+-- at 5. The service returns the first batch of results (up to 5) and a+-- NextToken value. To see the next batch of results, you can submit the+-- ListEntitlements request a second time and specify the NextToken value.+newListEntitlements ::+ ListEntitlements+newListEntitlements =+ ListEntitlements'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to return per API request. For example,+-- you submit a ListEntitlements request with MaxResults set at 5. Although+-- 20 items match your request, the service returns no more than the first+-- 5 items. (The service also returns a NextToken value that you can use to+-- fetch the next batch of results.) The service might return fewer results+-- than the MaxResults value. If MaxResults is not included in the request,+-- the service defaults to pagination with a maximum of 20 results per+-- page.+listEntitlements_maxResults :: Lens.Lens' ListEntitlements (Prelude.Maybe Prelude.Natural)+listEntitlements_maxResults = Lens.lens (\ListEntitlements' {maxResults} -> maxResults) (\s@ListEntitlements' {} a -> s {maxResults = a} :: ListEntitlements)++-- | The token that identifies which batch of results that you want to see.+-- For example, you submit a ListEntitlements request with MaxResults set+-- at 5. The service returns the first batch of results (up to 5) and a+-- NextToken value. To see the next batch of results, you can submit the+-- ListEntitlements request a second time and specify the NextToken value.+listEntitlements_nextToken :: Lens.Lens' ListEntitlements (Prelude.Maybe Prelude.Text)+listEntitlements_nextToken = Lens.lens (\ListEntitlements' {nextToken} -> nextToken) (\s@ListEntitlements' {} a -> s {nextToken = a} :: ListEntitlements)++instance Core.AWSPager ListEntitlements where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listEntitlementsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listEntitlementsResponse_entitlements+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listEntitlements_nextToken+ Lens..~ rs+ Lens.^? listEntitlementsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListEntitlements where+ type+ AWSResponse ListEntitlements =+ ListEntitlementsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListEntitlementsResponse'+ Prelude.<$> (x Data..?> "entitlements" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListEntitlements where+ hashWithSalt _salt ListEntitlements' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListEntitlements where+ rnf ListEntitlements' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListEntitlements where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListEntitlements where+ toPath = Prelude.const "/v1/entitlements"++instance Data.ToQuery ListEntitlements where+ toQuery ListEntitlements' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListEntitlementsResponse' smart constructor.+data ListEntitlementsResponse = ListEntitlementsResponse'+ { -- | A list of entitlements that have been granted to you from other AWS+ -- accounts.+ entitlements :: Prelude.Maybe [ListedEntitlement],+ -- | The token that identifies which batch of results that you want to see.+ -- For example, you submit a ListEntitlements request with MaxResults set+ -- at 5. The service returns the first batch of results (up to 5) and a+ -- NextToken value. To see the next batch of results, you can submit the+ -- ListEntitlements request a second time and specify the NextToken value.+ 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 'ListEntitlementsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'entitlements', 'listEntitlementsResponse_entitlements' - A list of entitlements that have been granted to you from other AWS+-- accounts.+--+-- 'nextToken', 'listEntitlementsResponse_nextToken' - The token that identifies which batch of results that you want to see.+-- For example, you submit a ListEntitlements request with MaxResults set+-- at 5. The service returns the first batch of results (up to 5) and a+-- NextToken value. To see the next batch of results, you can submit the+-- ListEntitlements request a second time and specify the NextToken value.+--+-- 'httpStatus', 'listEntitlementsResponse_httpStatus' - The response's http status code.+newListEntitlementsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListEntitlementsResponse+newListEntitlementsResponse pHttpStatus_ =+ ListEntitlementsResponse'+ { entitlements =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of entitlements that have been granted to you from other AWS+-- accounts.+listEntitlementsResponse_entitlements :: Lens.Lens' ListEntitlementsResponse (Prelude.Maybe [ListedEntitlement])+listEntitlementsResponse_entitlements = Lens.lens (\ListEntitlementsResponse' {entitlements} -> entitlements) (\s@ListEntitlementsResponse' {} a -> s {entitlements = a} :: ListEntitlementsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that identifies which batch of results that you want to see.+-- For example, you submit a ListEntitlements request with MaxResults set+-- at 5. The service returns the first batch of results (up to 5) and a+-- NextToken value. To see the next batch of results, you can submit the+-- ListEntitlements request a second time and specify the NextToken value.+listEntitlementsResponse_nextToken :: Lens.Lens' ListEntitlementsResponse (Prelude.Maybe Prelude.Text)+listEntitlementsResponse_nextToken = Lens.lens (\ListEntitlementsResponse' {nextToken} -> nextToken) (\s@ListEntitlementsResponse' {} a -> s {nextToken = a} :: ListEntitlementsResponse)++-- | The response's http status code.+listEntitlementsResponse_httpStatus :: Lens.Lens' ListEntitlementsResponse Prelude.Int+listEntitlementsResponse_httpStatus = Lens.lens (\ListEntitlementsResponse' {httpStatus} -> httpStatus) (\s@ListEntitlementsResponse' {} a -> s {httpStatus = a} :: ListEntitlementsResponse)++instance Prelude.NFData ListEntitlementsResponse where+ rnf ListEntitlementsResponse' {..} =+ Prelude.rnf entitlements+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/ListFlows.hs view
@@ -0,0 +1,254 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.ListFlows+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Displays a list of flows that are associated with this account. This+-- request returns a paginated result.+--+-- This operation returns paginated results.+module Amazonka.MediaConnect.ListFlows+ ( -- * Creating a Request+ ListFlows (..),+ newListFlows,++ -- * Request Lenses+ listFlows_maxResults,+ listFlows_nextToken,++ -- * Destructuring the Response+ ListFlowsResponse (..),+ newListFlowsResponse,++ -- * Response Lenses+ listFlowsResponse_flows,+ listFlowsResponse_nextToken,+ listFlowsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListFlows' smart constructor.+data ListFlows = ListFlows'+ { -- | The maximum number of results to return per API request. For example,+ -- you submit a ListFlows request with MaxResults set at 5. Although 20+ -- items match your request, the service returns no more than the first 5+ -- items. (The service also returns a NextToken value that you can use to+ -- fetch the next batch of results.) The service might return fewer results+ -- than the MaxResults value. If MaxResults is not included in the request,+ -- the service defaults to pagination with a maximum of 10 results per+ -- page.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token that identifies which batch of results that you want to see.+ -- For example, you submit a ListFlows request with MaxResults set at 5.+ -- The service returns the first batch of results (up to 5) and a NextToken+ -- value. To see the next batch of results, you can submit the ListFlows+ -- request a second time and specify the NextToken value.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListFlows' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listFlows_maxResults' - The maximum number of results to return per API request. For example,+-- you submit a ListFlows request with MaxResults set at 5. Although 20+-- items match your request, the service returns no more than the first 5+-- items. (The service also returns a NextToken value that you can use to+-- fetch the next batch of results.) The service might return fewer results+-- than the MaxResults value. If MaxResults is not included in the request,+-- the service defaults to pagination with a maximum of 10 results per+-- page.+--+-- 'nextToken', 'listFlows_nextToken' - The token that identifies which batch of results that you want to see.+-- For example, you submit a ListFlows request with MaxResults set at 5.+-- The service returns the first batch of results (up to 5) and a NextToken+-- value. To see the next batch of results, you can submit the ListFlows+-- request a second time and specify the NextToken value.+newListFlows ::+ ListFlows+newListFlows =+ ListFlows'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to return per API request. For example,+-- you submit a ListFlows request with MaxResults set at 5. Although 20+-- items match your request, the service returns no more than the first 5+-- items. (The service also returns a NextToken value that you can use to+-- fetch the next batch of results.) The service might return fewer results+-- than the MaxResults value. If MaxResults is not included in the request,+-- the service defaults to pagination with a maximum of 10 results per+-- page.+listFlows_maxResults :: Lens.Lens' ListFlows (Prelude.Maybe Prelude.Natural)+listFlows_maxResults = Lens.lens (\ListFlows' {maxResults} -> maxResults) (\s@ListFlows' {} a -> s {maxResults = a} :: ListFlows)++-- | The token that identifies which batch of results that you want to see.+-- For example, you submit a ListFlows request with MaxResults set at 5.+-- The service returns the first batch of results (up to 5) and a NextToken+-- value. To see the next batch of results, you can submit the ListFlows+-- request a second time and specify the NextToken value.+listFlows_nextToken :: Lens.Lens' ListFlows (Prelude.Maybe Prelude.Text)+listFlows_nextToken = Lens.lens (\ListFlows' {nextToken} -> nextToken) (\s@ListFlows' {} a -> s {nextToken = a} :: ListFlows)++instance Core.AWSPager ListFlows where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listFlowsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listFlowsResponse_flows+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listFlows_nextToken+ Lens..~ rs+ Lens.^? listFlowsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListFlows where+ type AWSResponse ListFlows = ListFlowsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListFlowsResponse'+ Prelude.<$> (x Data..?> "flows" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "nextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListFlows where+ hashWithSalt _salt ListFlows' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListFlows where+ rnf ListFlows' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListFlows where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListFlows where+ toPath = Prelude.const "/v1/flows"++instance Data.ToQuery ListFlows where+ toQuery ListFlows' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListFlowsResponse' smart constructor.+data ListFlowsResponse = ListFlowsResponse'+ { -- | A list of flow summaries.+ flows :: Prelude.Maybe [ListedFlow],+ -- | The token that identifies which batch of results that you want to see.+ -- For example, you submit a ListFlows request with MaxResults set at 5.+ -- The service returns the first batch of results (up to 5) and a NextToken+ -- value. To see the next batch of results, you can submit the ListFlows+ -- request a second time and specify the NextToken value.+ 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 'ListFlowsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flows', 'listFlowsResponse_flows' - A list of flow summaries.+--+-- 'nextToken', 'listFlowsResponse_nextToken' - The token that identifies which batch of results that you want to see.+-- For example, you submit a ListFlows request with MaxResults set at 5.+-- The service returns the first batch of results (up to 5) and a NextToken+-- value. To see the next batch of results, you can submit the ListFlows+-- request a second time and specify the NextToken value.+--+-- 'httpStatus', 'listFlowsResponse_httpStatus' - The response's http status code.+newListFlowsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListFlowsResponse+newListFlowsResponse pHttpStatus_ =+ ListFlowsResponse'+ { flows = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of flow summaries.+listFlowsResponse_flows :: Lens.Lens' ListFlowsResponse (Prelude.Maybe [ListedFlow])+listFlowsResponse_flows = Lens.lens (\ListFlowsResponse' {flows} -> flows) (\s@ListFlowsResponse' {} a -> s {flows = a} :: ListFlowsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The token that identifies which batch of results that you want to see.+-- For example, you submit a ListFlows request with MaxResults set at 5.+-- The service returns the first batch of results (up to 5) and a NextToken+-- value. To see the next batch of results, you can submit the ListFlows+-- request a second time and specify the NextToken value.+listFlowsResponse_nextToken :: Lens.Lens' ListFlowsResponse (Prelude.Maybe Prelude.Text)+listFlowsResponse_nextToken = Lens.lens (\ListFlowsResponse' {nextToken} -> nextToken) (\s@ListFlowsResponse' {} a -> s {nextToken = a} :: ListFlowsResponse)++-- | The response's http status code.+listFlowsResponse_httpStatus :: Lens.Lens' ListFlowsResponse Prelude.Int+listFlowsResponse_httpStatus = Lens.lens (\ListFlowsResponse' {httpStatus} -> httpStatus) (\s@ListFlowsResponse' {} a -> s {httpStatus = a} :: ListFlowsResponse)++instance Prelude.NFData ListFlowsResponse where+ rnf ListFlowsResponse' {..} =+ Prelude.rnf flows+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/ListOfferings.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.ListOfferings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Displays a list of all offerings that are available to this account in+-- the current AWS Region. If you have an active reservation (which means+-- you\'ve purchased an offering that has already started and hasn\'t+-- expired yet), your account isn\'t eligible for other offerings.+--+-- This operation returns paginated results.+module Amazonka.MediaConnect.ListOfferings+ ( -- * Creating a Request+ ListOfferings (..),+ newListOfferings,++ -- * Request Lenses+ listOfferings_maxResults,+ listOfferings_nextToken,++ -- * Destructuring the Response+ ListOfferingsResponse (..),+ newListOfferingsResponse,++ -- * Response Lenses+ listOfferingsResponse_nextToken,+ listOfferingsResponse_offerings,+ listOfferingsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListOfferings' smart constructor.+data ListOfferings = ListOfferings'+ { -- | The maximum number of results to return per API request. For example,+ -- you submit a ListOfferings request with MaxResults set at 5. Although 20+ -- items match your request, the service returns no more than the first 5+ -- items. (The service also returns a NextToken value that you can use to+ -- fetch the next batch of results.) The service might return fewer results+ -- than the MaxResults value. If MaxResults is not included in the request,+ -- the service defaults to pagination with a maximum of 10 results per+ -- page.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token that identifies which batch of results that you want to see.+ -- For example, you submit a ListOfferings request with MaxResults set at+ -- 5. The service returns the first batch of results (up to 5) and a+ -- NextToken value. To see the next batch of results, you can submit the+ -- ListOfferings request a second time and specify the NextToken value.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListOfferings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listOfferings_maxResults' - The maximum number of results to return per API request. For example,+-- you submit a ListOfferings request with MaxResults set at 5. Although 20+-- items match your request, the service returns no more than the first 5+-- items. (The service also returns a NextToken value that you can use to+-- fetch the next batch of results.) The service might return fewer results+-- than the MaxResults value. If MaxResults is not included in the request,+-- the service defaults to pagination with a maximum of 10 results per+-- page.+--+-- 'nextToken', 'listOfferings_nextToken' - The token that identifies which batch of results that you want to see.+-- For example, you submit a ListOfferings request with MaxResults set at+-- 5. The service returns the first batch of results (up to 5) and a+-- NextToken value. To see the next batch of results, you can submit the+-- ListOfferings request a second time and specify the NextToken value.+newListOfferings ::+ ListOfferings+newListOfferings =+ ListOfferings'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to return per API request. For example,+-- you submit a ListOfferings request with MaxResults set at 5. Although 20+-- items match your request, the service returns no more than the first 5+-- items. (The service also returns a NextToken value that you can use to+-- fetch the next batch of results.) The service might return fewer results+-- than the MaxResults value. If MaxResults is not included in the request,+-- the service defaults to pagination with a maximum of 10 results per+-- page.+listOfferings_maxResults :: Lens.Lens' ListOfferings (Prelude.Maybe Prelude.Natural)+listOfferings_maxResults = Lens.lens (\ListOfferings' {maxResults} -> maxResults) (\s@ListOfferings' {} a -> s {maxResults = a} :: ListOfferings)++-- | The token that identifies which batch of results that you want to see.+-- For example, you submit a ListOfferings request with MaxResults set at+-- 5. The service returns the first batch of results (up to 5) and a+-- NextToken value. To see the next batch of results, you can submit the+-- ListOfferings request a second time and specify the NextToken value.+listOfferings_nextToken :: Lens.Lens' ListOfferings (Prelude.Maybe Prelude.Text)+listOfferings_nextToken = Lens.lens (\ListOfferings' {nextToken} -> nextToken) (\s@ListOfferings' {} a -> s {nextToken = a} :: ListOfferings)++instance Core.AWSPager ListOfferings where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listOfferingsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listOfferingsResponse_offerings+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listOfferings_nextToken+ Lens..~ rs+ Lens.^? listOfferingsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListOfferings where+ type+ AWSResponse ListOfferings =+ ListOfferingsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListOfferingsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "offerings" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListOfferings where+ hashWithSalt _salt ListOfferings' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListOfferings where+ rnf ListOfferings' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListOfferings where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListOfferings where+ toPath = Prelude.const "/v1/offerings"++instance Data.ToQuery ListOfferings where+ toQuery ListOfferings' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListOfferingsResponse' smart constructor.+data ListOfferingsResponse = ListOfferingsResponse'+ { -- | The token that identifies which batch of results that you want to see.+ -- For example, you submit a ListOfferings request with MaxResults set at+ -- 5. The service returns the first batch of results (up to 5) and a+ -- NextToken value. To see the next batch of results, you can submit the+ -- ListOfferings request a second time and specify the NextToken value.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of offerings that are available to this account in the current+ -- AWS Region.+ offerings :: Prelude.Maybe [Offering],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListOfferingsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listOfferingsResponse_nextToken' - The token that identifies which batch of results that you want to see.+-- For example, you submit a ListOfferings request with MaxResults set at+-- 5. The service returns the first batch of results (up to 5) and a+-- NextToken value. To see the next batch of results, you can submit the+-- ListOfferings request a second time and specify the NextToken value.+--+-- 'offerings', 'listOfferingsResponse_offerings' - A list of offerings that are available to this account in the current+-- AWS Region.+--+-- 'httpStatus', 'listOfferingsResponse_httpStatus' - The response's http status code.+newListOfferingsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListOfferingsResponse+newListOfferingsResponse pHttpStatus_ =+ ListOfferingsResponse'+ { nextToken = Prelude.Nothing,+ offerings = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token that identifies which batch of results that you want to see.+-- For example, you submit a ListOfferings request with MaxResults set at+-- 5. The service returns the first batch of results (up to 5) and a+-- NextToken value. To see the next batch of results, you can submit the+-- ListOfferings request a second time and specify the NextToken value.+listOfferingsResponse_nextToken :: Lens.Lens' ListOfferingsResponse (Prelude.Maybe Prelude.Text)+listOfferingsResponse_nextToken = Lens.lens (\ListOfferingsResponse' {nextToken} -> nextToken) (\s@ListOfferingsResponse' {} a -> s {nextToken = a} :: ListOfferingsResponse)++-- | A list of offerings that are available to this account in the current+-- AWS Region.+listOfferingsResponse_offerings :: Lens.Lens' ListOfferingsResponse (Prelude.Maybe [Offering])+listOfferingsResponse_offerings = Lens.lens (\ListOfferingsResponse' {offerings} -> offerings) (\s@ListOfferingsResponse' {} a -> s {offerings = a} :: ListOfferingsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listOfferingsResponse_httpStatus :: Lens.Lens' ListOfferingsResponse Prelude.Int+listOfferingsResponse_httpStatus = Lens.lens (\ListOfferingsResponse' {httpStatus} -> httpStatus) (\s@ListOfferingsResponse' {} a -> s {httpStatus = a} :: ListOfferingsResponse)++instance Prelude.NFData ListOfferingsResponse where+ rnf ListOfferingsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf offerings+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/ListReservations.hs view
@@ -0,0 +1,261 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.ListReservations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Displays a list of all reservations that have been purchased by this+-- account in the current AWS Region. This list includes all reservations+-- in all states (such as active and expired).+--+-- This operation returns paginated results.+module Amazonka.MediaConnect.ListReservations+ ( -- * Creating a Request+ ListReservations (..),+ newListReservations,++ -- * Request Lenses+ listReservations_maxResults,+ listReservations_nextToken,++ -- * Destructuring the Response+ ListReservationsResponse (..),+ newListReservationsResponse,++ -- * Response Lenses+ listReservationsResponse_nextToken,+ listReservationsResponse_reservations,+ listReservationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListReservations' smart constructor.+data ListReservations = ListReservations'+ { -- | The maximum number of results to return per API request. For example,+ -- you submit a ListReservations request with MaxResults set at 5. Although+ -- 20 items match your request, the service returns no more than the first+ -- 5 items. (The service also returns a NextToken value that you can use to+ -- fetch the next batch of results.) The service might return fewer results+ -- than the MaxResults value. If MaxResults is not included in the request,+ -- the service defaults to pagination with a maximum of 10 results per+ -- page.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | The token that identifies which batch of results that you want to see.+ -- For example, you submit a ListReservations request with MaxResults set+ -- at 5. The service returns the first batch of results (up to 5) and a+ -- NextToken value. To see the next batch of results, you can submit the+ -- ListOfferings request a second time and specify the NextToken value.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReservations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listReservations_maxResults' - The maximum number of results to return per API request. For example,+-- you submit a ListReservations request with MaxResults set at 5. Although+-- 20 items match your request, the service returns no more than the first+-- 5 items. (The service also returns a NextToken value that you can use to+-- fetch the next batch of results.) The service might return fewer results+-- than the MaxResults value. If MaxResults is not included in the request,+-- the service defaults to pagination with a maximum of 10 results per+-- page.+--+-- 'nextToken', 'listReservations_nextToken' - The token that identifies which batch of results that you want to see.+-- For example, you submit a ListReservations request with MaxResults set+-- at 5. The service returns the first batch of results (up to 5) and a+-- NextToken value. To see the next batch of results, you can submit the+-- ListOfferings request a second time and specify the NextToken value.+newListReservations ::+ ListReservations+newListReservations =+ ListReservations'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of results to return per API request. For example,+-- you submit a ListReservations request with MaxResults set at 5. Although+-- 20 items match your request, the service returns no more than the first+-- 5 items. (The service also returns a NextToken value that you can use to+-- fetch the next batch of results.) The service might return fewer results+-- than the MaxResults value. If MaxResults is not included in the request,+-- the service defaults to pagination with a maximum of 10 results per+-- page.+listReservations_maxResults :: Lens.Lens' ListReservations (Prelude.Maybe Prelude.Natural)+listReservations_maxResults = Lens.lens (\ListReservations' {maxResults} -> maxResults) (\s@ListReservations' {} a -> s {maxResults = a} :: ListReservations)++-- | The token that identifies which batch of results that you want to see.+-- For example, you submit a ListReservations request with MaxResults set+-- at 5. The service returns the first batch of results (up to 5) and a+-- NextToken value. To see the next batch of results, you can submit the+-- ListOfferings request a second time and specify the NextToken value.+listReservations_nextToken :: Lens.Lens' ListReservations (Prelude.Maybe Prelude.Text)+listReservations_nextToken = Lens.lens (\ListReservations' {nextToken} -> nextToken) (\s@ListReservations' {} a -> s {nextToken = a} :: ListReservations)++instance Core.AWSPager ListReservations where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listReservationsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listReservationsResponse_reservations+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listReservations_nextToken+ Lens..~ rs+ Lens.^? listReservationsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListReservations where+ type+ AWSResponse ListReservations =+ ListReservationsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListReservationsResponse'+ Prelude.<$> (x Data..?> "nextToken")+ Prelude.<*> (x Data..?> "reservations" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListReservations where+ hashWithSalt _salt ListReservations' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListReservations where+ rnf ListReservations' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListReservations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListReservations where+ toPath = Prelude.const "/v1/reservations"++instance Data.ToQuery ListReservations where+ toQuery ListReservations' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListReservationsResponse' smart constructor.+data ListReservationsResponse = ListReservationsResponse'+ { -- | The token that identifies which batch of results that you want to see.+ -- For example, you submit a ListReservations request with MaxResults set+ -- at 5. The service returns the first batch of results (up to 5) and a+ -- NextToken value. To see the next batch of results, you can submit the+ -- ListReservations request a second time and specify the NextToken value.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | A list of all reservations that have been purchased by this account in+ -- the current AWS Region.+ reservations :: Prelude.Maybe [Reservation],+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListReservationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'nextToken', 'listReservationsResponse_nextToken' - The token that identifies which batch of results that you want to see.+-- For example, you submit a ListReservations request with MaxResults set+-- at 5. The service returns the first batch of results (up to 5) and a+-- NextToken value. To see the next batch of results, you can submit the+-- ListReservations request a second time and specify the NextToken value.+--+-- 'reservations', 'listReservationsResponse_reservations' - A list of all reservations that have been purchased by this account in+-- the current AWS Region.+--+-- 'httpStatus', 'listReservationsResponse_httpStatus' - The response's http status code.+newListReservationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListReservationsResponse+newListReservationsResponse pHttpStatus_ =+ ListReservationsResponse'+ { nextToken =+ Prelude.Nothing,+ reservations = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The token that identifies which batch of results that you want to see.+-- For example, you submit a ListReservations request with MaxResults set+-- at 5. The service returns the first batch of results (up to 5) and a+-- NextToken value. To see the next batch of results, you can submit the+-- ListReservations request a second time and specify the NextToken value.+listReservationsResponse_nextToken :: Lens.Lens' ListReservationsResponse (Prelude.Maybe Prelude.Text)+listReservationsResponse_nextToken = Lens.lens (\ListReservationsResponse' {nextToken} -> nextToken) (\s@ListReservationsResponse' {} a -> s {nextToken = a} :: ListReservationsResponse)++-- | A list of all reservations that have been purchased by this account in+-- the current AWS Region.+listReservationsResponse_reservations :: Lens.Lens' ListReservationsResponse (Prelude.Maybe [Reservation])+listReservationsResponse_reservations = Lens.lens (\ListReservationsResponse' {reservations} -> reservations) (\s@ListReservationsResponse' {} a -> s {reservations = a} :: ListReservationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listReservationsResponse_httpStatus :: Lens.Lens' ListReservationsResponse Prelude.Int+listReservationsResponse_httpStatus = Lens.lens (\ListReservationsResponse' {httpStatus} -> httpStatus) (\s@ListReservationsResponse' {} a -> s {httpStatus = a} :: ListReservationsResponse)++instance Prelude.NFData ListReservationsResponse where+ rnf ListReservationsResponse' {..} =+ Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf reservations+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/ListTagsForResource.hs view
@@ -0,0 +1,168 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.ListTagsForResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- List all tags on an AWS Elemental MediaConnect resource+module Amazonka.MediaConnect.ListTagsForResource+ ( -- * Creating a Request+ ListTagsForResource (..),+ newListTagsForResource,++ -- * Request Lenses+ listTagsForResource_resourceArn,++ -- * Destructuring the Response+ ListTagsForResourceResponse (..),+ newListTagsForResourceResponse,++ -- * Response Lenses+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListTagsForResource' smart constructor.+data ListTagsForResource = ListTagsForResource'+ { -- | The Amazon Resource Name (ARN) that identifies the AWS Elemental+ -- MediaConnect resource for which to list the tags.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) that identifies the AWS Elemental+-- MediaConnect resource for which to list the tags.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) that identifies the AWS Elemental+-- MediaConnect resource for which to list the tags.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath ListTagsForResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | A map from tag keys to values. Tag keys can have a maximum character+ -- length of 128 characters, and tag values can have a maximum length of+ -- 256 characters.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - A map from tag keys to values. Tag keys can have a maximum character+-- length of 128 characters, and tag values can have a maximum length of+-- 256 characters.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A map from tag keys to values. Tag keys can have a maximum character+-- length of 128 characters, and tag values can have a maximum length of+-- 256 characters.+listTagsForResourceResponse_tags :: Lens.Lens' ListTagsForResourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+listTagsForResourceResponse_tags = Lens.lens (\ListTagsForResourceResponse' {tags} -> tags) (\s@ListTagsForResourceResponse' {} a -> s {tags = a} :: ListTagsForResourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listTagsForResourceResponse_httpStatus :: Lens.Lens' ListTagsForResourceResponse Prelude.Int+listTagsForResourceResponse_httpStatus = Lens.lens (\ListTagsForResourceResponse' {httpStatus} -> httpStatus) (\s@ListTagsForResourceResponse' {} a -> s {httpStatus = a} :: ListTagsForResourceResponse)++instance Prelude.NFData ListTagsForResourceResponse where+ rnf ListTagsForResourceResponse' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/PurchaseOffering.hs view
@@ -0,0 +1,224 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.PurchaseOffering+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Submits a request to purchase an offering. If you already have an active+-- reservation, you can\'t purchase another offering.+module Amazonka.MediaConnect.PurchaseOffering+ ( -- * Creating a Request+ PurchaseOffering (..),+ newPurchaseOffering,++ -- * Request Lenses+ purchaseOffering_offeringArn,+ purchaseOffering_start,+ purchaseOffering_reservationName,++ -- * Destructuring the Response+ PurchaseOfferingResponse (..),+ newPurchaseOfferingResponse,++ -- * Response Lenses+ purchaseOfferingResponse_reservation,+ purchaseOfferingResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to purchase a offering.+--+-- /See:/ 'newPurchaseOffering' smart constructor.+data PurchaseOffering = PurchaseOffering'+ { -- | The Amazon Resource Name (ARN) of the offering.+ offeringArn :: Prelude.Text,+ -- | The date and time that you want the reservation to begin, in Coordinated+ -- Universal Time (UTC). You can specify any date and time between 12:00am+ -- on the first day of the current month to the current time on today\'s+ -- date, inclusive. Specify the start in a 24-hour notation. Use the+ -- following format: YYYY-MM-DDTHH:mm:SSZ, where T and Z are literal+ -- characters. For example, to specify 11:30pm on March 5, 2020, enter+ -- 2020-03-05T23:30:00Z.+ start :: Prelude.Text,+ -- | The name that you want to use for the reservation.+ reservationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PurchaseOffering' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'offeringArn', 'purchaseOffering_offeringArn' - The Amazon Resource Name (ARN) of the offering.+--+-- 'start', 'purchaseOffering_start' - The date and time that you want the reservation to begin, in Coordinated+-- Universal Time (UTC). You can specify any date and time between 12:00am+-- on the first day of the current month to the current time on today\'s+-- date, inclusive. Specify the start in a 24-hour notation. Use the+-- following format: YYYY-MM-DDTHH:mm:SSZ, where T and Z are literal+-- characters. For example, to specify 11:30pm on March 5, 2020, enter+-- 2020-03-05T23:30:00Z.+--+-- 'reservationName', 'purchaseOffering_reservationName' - The name that you want to use for the reservation.+newPurchaseOffering ::+ -- | 'offeringArn'+ Prelude.Text ->+ -- | 'start'+ Prelude.Text ->+ -- | 'reservationName'+ Prelude.Text ->+ PurchaseOffering+newPurchaseOffering+ pOfferingArn_+ pStart_+ pReservationName_ =+ PurchaseOffering'+ { offeringArn = pOfferingArn_,+ start = pStart_,+ reservationName = pReservationName_+ }++-- | The Amazon Resource Name (ARN) of the offering.+purchaseOffering_offeringArn :: Lens.Lens' PurchaseOffering Prelude.Text+purchaseOffering_offeringArn = Lens.lens (\PurchaseOffering' {offeringArn} -> offeringArn) (\s@PurchaseOffering' {} a -> s {offeringArn = a} :: PurchaseOffering)++-- | The date and time that you want the reservation to begin, in Coordinated+-- Universal Time (UTC). You can specify any date and time between 12:00am+-- on the first day of the current month to the current time on today\'s+-- date, inclusive. Specify the start in a 24-hour notation. Use the+-- following format: YYYY-MM-DDTHH:mm:SSZ, where T and Z are literal+-- characters. For example, to specify 11:30pm on March 5, 2020, enter+-- 2020-03-05T23:30:00Z.+purchaseOffering_start :: Lens.Lens' PurchaseOffering Prelude.Text+purchaseOffering_start = Lens.lens (\PurchaseOffering' {start} -> start) (\s@PurchaseOffering' {} a -> s {start = a} :: PurchaseOffering)++-- | The name that you want to use for the reservation.+purchaseOffering_reservationName :: Lens.Lens' PurchaseOffering Prelude.Text+purchaseOffering_reservationName = Lens.lens (\PurchaseOffering' {reservationName} -> reservationName) (\s@PurchaseOffering' {} a -> s {reservationName = a} :: PurchaseOffering)++instance Core.AWSRequest PurchaseOffering where+ type+ AWSResponse PurchaseOffering =+ PurchaseOfferingResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ PurchaseOfferingResponse'+ Prelude.<$> (x Data..?> "reservation")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PurchaseOffering where+ hashWithSalt _salt PurchaseOffering' {..} =+ _salt+ `Prelude.hashWithSalt` offeringArn+ `Prelude.hashWithSalt` start+ `Prelude.hashWithSalt` reservationName++instance Prelude.NFData PurchaseOffering where+ rnf PurchaseOffering' {..} =+ Prelude.rnf offeringArn+ `Prelude.seq` Prelude.rnf start+ `Prelude.seq` Prelude.rnf reservationName++instance Data.ToHeaders PurchaseOffering where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PurchaseOffering where+ toJSON PurchaseOffering' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("start" Data..= start),+ Prelude.Just+ ("reservationName" Data..= reservationName)+ ]+ )++instance Data.ToPath PurchaseOffering where+ toPath PurchaseOffering' {..} =+ Prelude.mconcat+ ["/v1/offerings/", Data.toBS offeringArn]++instance Data.ToQuery PurchaseOffering where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPurchaseOfferingResponse' smart constructor.+data PurchaseOfferingResponse = PurchaseOfferingResponse'+ { reservation :: Prelude.Maybe Reservation,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PurchaseOfferingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'reservation', 'purchaseOfferingResponse_reservation' - Undocumented member.+--+-- 'httpStatus', 'purchaseOfferingResponse_httpStatus' - The response's http status code.+newPurchaseOfferingResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PurchaseOfferingResponse+newPurchaseOfferingResponse pHttpStatus_ =+ PurchaseOfferingResponse'+ { reservation =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+purchaseOfferingResponse_reservation :: Lens.Lens' PurchaseOfferingResponse (Prelude.Maybe Reservation)+purchaseOfferingResponse_reservation = Lens.lens (\PurchaseOfferingResponse' {reservation} -> reservation) (\s@PurchaseOfferingResponse' {} a -> s {reservation = a} :: PurchaseOfferingResponse)++-- | The response's http status code.+purchaseOfferingResponse_httpStatus :: Lens.Lens' PurchaseOfferingResponse Prelude.Int+purchaseOfferingResponse_httpStatus = Lens.lens (\PurchaseOfferingResponse' {httpStatus} -> httpStatus) (\s@PurchaseOfferingResponse' {} a -> s {httpStatus = a} :: PurchaseOfferingResponse)++instance Prelude.NFData PurchaseOfferingResponse where+ rnf PurchaseOfferingResponse' {..} =+ Prelude.rnf reservation+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/RemoveFlowMediaStream.hs view
@@ -0,0 +1,194 @@+{-# 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.MediaConnect.RemoveFlowMediaStream+-- 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 a media stream from a flow. This action is only available if the+-- media stream is not associated with a source or output.+module Amazonka.MediaConnect.RemoveFlowMediaStream+ ( -- * Creating a Request+ RemoveFlowMediaStream (..),+ newRemoveFlowMediaStream,++ -- * Request Lenses+ removeFlowMediaStream_flowArn,+ removeFlowMediaStream_mediaStreamName,++ -- * Destructuring the Response+ RemoveFlowMediaStreamResponse (..),+ newRemoveFlowMediaStreamResponse,++ -- * Response Lenses+ removeFlowMediaStreamResponse_flowArn,+ removeFlowMediaStreamResponse_mediaStreamName,+ removeFlowMediaStreamResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRemoveFlowMediaStream' smart constructor.+data RemoveFlowMediaStream = RemoveFlowMediaStream'+ { -- | The Amazon Resource Name (ARN) of the flow.+ flowArn :: Prelude.Text,+ -- | The name of the media stream that you want to remove.+ mediaStreamName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveFlowMediaStream' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'removeFlowMediaStream_flowArn' - The Amazon Resource Name (ARN) of the flow.+--+-- 'mediaStreamName', 'removeFlowMediaStream_mediaStreamName' - The name of the media stream that you want to remove.+newRemoveFlowMediaStream ::+ -- | 'flowArn'+ Prelude.Text ->+ -- | 'mediaStreamName'+ Prelude.Text ->+ RemoveFlowMediaStream+newRemoveFlowMediaStream pFlowArn_ pMediaStreamName_ =+ RemoveFlowMediaStream'+ { flowArn = pFlowArn_,+ mediaStreamName = pMediaStreamName_+ }++-- | The Amazon Resource Name (ARN) of the flow.+removeFlowMediaStream_flowArn :: Lens.Lens' RemoveFlowMediaStream Prelude.Text+removeFlowMediaStream_flowArn = Lens.lens (\RemoveFlowMediaStream' {flowArn} -> flowArn) (\s@RemoveFlowMediaStream' {} a -> s {flowArn = a} :: RemoveFlowMediaStream)++-- | The name of the media stream that you want to remove.+removeFlowMediaStream_mediaStreamName :: Lens.Lens' RemoveFlowMediaStream Prelude.Text+removeFlowMediaStream_mediaStreamName = Lens.lens (\RemoveFlowMediaStream' {mediaStreamName} -> mediaStreamName) (\s@RemoveFlowMediaStream' {} a -> s {mediaStreamName = a} :: RemoveFlowMediaStream)++instance Core.AWSRequest RemoveFlowMediaStream where+ type+ AWSResponse RemoveFlowMediaStream =+ RemoveFlowMediaStreamResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ RemoveFlowMediaStreamResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> (x Data..?> "mediaStreamName")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable RemoveFlowMediaStream where+ hashWithSalt _salt RemoveFlowMediaStream' {..} =+ _salt+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` mediaStreamName++instance Prelude.NFData RemoveFlowMediaStream where+ rnf RemoveFlowMediaStream' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf mediaStreamName++instance Data.ToHeaders RemoveFlowMediaStream where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath RemoveFlowMediaStream where+ toPath RemoveFlowMediaStream' {..} =+ Prelude.mconcat+ [ "/v1/flows/",+ Data.toBS flowArn,+ "/mediaStreams/",+ Data.toBS mediaStreamName+ ]++instance Data.ToQuery RemoveFlowMediaStream where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRemoveFlowMediaStreamResponse' smart constructor.+data RemoveFlowMediaStreamResponse = RemoveFlowMediaStreamResponse'+ { -- | The Amazon Resource Name (ARN) of the flow.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | The name of the media stream that was removed.+ mediaStreamName :: 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 'RemoveFlowMediaStreamResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'removeFlowMediaStreamResponse_flowArn' - The Amazon Resource Name (ARN) of the flow.+--+-- 'mediaStreamName', 'removeFlowMediaStreamResponse_mediaStreamName' - The name of the media stream that was removed.+--+-- 'httpStatus', 'removeFlowMediaStreamResponse_httpStatus' - The response's http status code.+newRemoveFlowMediaStreamResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ RemoveFlowMediaStreamResponse+newRemoveFlowMediaStreamResponse pHttpStatus_ =+ RemoveFlowMediaStreamResponse'+ { flowArn =+ Prelude.Nothing,+ mediaStreamName = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the flow.+removeFlowMediaStreamResponse_flowArn :: Lens.Lens' RemoveFlowMediaStreamResponse (Prelude.Maybe Prelude.Text)+removeFlowMediaStreamResponse_flowArn = Lens.lens (\RemoveFlowMediaStreamResponse' {flowArn} -> flowArn) (\s@RemoveFlowMediaStreamResponse' {} a -> s {flowArn = a} :: RemoveFlowMediaStreamResponse)++-- | The name of the media stream that was removed.+removeFlowMediaStreamResponse_mediaStreamName :: Lens.Lens' RemoveFlowMediaStreamResponse (Prelude.Maybe Prelude.Text)+removeFlowMediaStreamResponse_mediaStreamName = Lens.lens (\RemoveFlowMediaStreamResponse' {mediaStreamName} -> mediaStreamName) (\s@RemoveFlowMediaStreamResponse' {} a -> s {mediaStreamName = a} :: RemoveFlowMediaStreamResponse)++-- | The response's http status code.+removeFlowMediaStreamResponse_httpStatus :: Lens.Lens' RemoveFlowMediaStreamResponse Prelude.Int+removeFlowMediaStreamResponse_httpStatus = Lens.lens (\RemoveFlowMediaStreamResponse' {httpStatus} -> httpStatus) (\s@RemoveFlowMediaStreamResponse' {} a -> s {httpStatus = a} :: RemoveFlowMediaStreamResponse)++instance Prelude.NFData RemoveFlowMediaStreamResponse where+ rnf RemoveFlowMediaStreamResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf mediaStreamName+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/RemoveFlowOutput.hs view
@@ -0,0 +1,197 @@+{-# 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.MediaConnect.RemoveFlowOutput+-- 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 an output from an existing flow. This request can be made only+-- on an output that does not have an entitlement associated with it. If+-- the output has an entitlement, you must revoke the entitlement instead.+-- When an entitlement is revoked from a flow, the service automatically+-- removes the associated output.+module Amazonka.MediaConnect.RemoveFlowOutput+ ( -- * Creating a Request+ RemoveFlowOutput (..),+ newRemoveFlowOutput,++ -- * Request Lenses+ removeFlowOutput_flowArn,+ removeFlowOutput_outputArn,++ -- * Destructuring the Response+ RemoveFlowOutputResponse (..),+ newRemoveFlowOutputResponse,++ -- * Response Lenses+ removeFlowOutputResponse_flowArn,+ removeFlowOutputResponse_outputArn,+ removeFlowOutputResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRemoveFlowOutput' smart constructor.+data RemoveFlowOutput = RemoveFlowOutput'+ { -- | The flow that you want to remove an output from.+ flowArn :: Prelude.Text,+ -- | The ARN of the output that you want to remove.+ outputArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveFlowOutput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'removeFlowOutput_flowArn' - The flow that you want to remove an output from.+--+-- 'outputArn', 'removeFlowOutput_outputArn' - The ARN of the output that you want to remove.+newRemoveFlowOutput ::+ -- | 'flowArn'+ Prelude.Text ->+ -- | 'outputArn'+ Prelude.Text ->+ RemoveFlowOutput+newRemoveFlowOutput pFlowArn_ pOutputArn_ =+ RemoveFlowOutput'+ { flowArn = pFlowArn_,+ outputArn = pOutputArn_+ }++-- | The flow that you want to remove an output from.+removeFlowOutput_flowArn :: Lens.Lens' RemoveFlowOutput Prelude.Text+removeFlowOutput_flowArn = Lens.lens (\RemoveFlowOutput' {flowArn} -> flowArn) (\s@RemoveFlowOutput' {} a -> s {flowArn = a} :: RemoveFlowOutput)++-- | The ARN of the output that you want to remove.+removeFlowOutput_outputArn :: Lens.Lens' RemoveFlowOutput Prelude.Text+removeFlowOutput_outputArn = Lens.lens (\RemoveFlowOutput' {outputArn} -> outputArn) (\s@RemoveFlowOutput' {} a -> s {outputArn = a} :: RemoveFlowOutput)++instance Core.AWSRequest RemoveFlowOutput where+ type+ AWSResponse RemoveFlowOutput =+ RemoveFlowOutputResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ RemoveFlowOutputResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> (x Data..?> "outputArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable RemoveFlowOutput where+ hashWithSalt _salt RemoveFlowOutput' {..} =+ _salt+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` outputArn++instance Prelude.NFData RemoveFlowOutput where+ rnf RemoveFlowOutput' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf outputArn++instance Data.ToHeaders RemoveFlowOutput where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath RemoveFlowOutput where+ toPath RemoveFlowOutput' {..} =+ Prelude.mconcat+ [ "/v1/flows/",+ Data.toBS flowArn,+ "/outputs/",+ Data.toBS outputArn+ ]++instance Data.ToQuery RemoveFlowOutput where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRemoveFlowOutputResponse' smart constructor.+data RemoveFlowOutputResponse = RemoveFlowOutputResponse'+ { -- | The ARN of the flow that is associated with the output you removed.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the output that was removed.+ outputArn :: 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 'RemoveFlowOutputResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'removeFlowOutputResponse_flowArn' - The ARN of the flow that is associated with the output you removed.+--+-- 'outputArn', 'removeFlowOutputResponse_outputArn' - The ARN of the output that was removed.+--+-- 'httpStatus', 'removeFlowOutputResponse_httpStatus' - The response's http status code.+newRemoveFlowOutputResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ RemoveFlowOutputResponse+newRemoveFlowOutputResponse pHttpStatus_ =+ RemoveFlowOutputResponse'+ { flowArn =+ Prelude.Nothing,+ outputArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the flow that is associated with the output you removed.+removeFlowOutputResponse_flowArn :: Lens.Lens' RemoveFlowOutputResponse (Prelude.Maybe Prelude.Text)+removeFlowOutputResponse_flowArn = Lens.lens (\RemoveFlowOutputResponse' {flowArn} -> flowArn) (\s@RemoveFlowOutputResponse' {} a -> s {flowArn = a} :: RemoveFlowOutputResponse)++-- | The ARN of the output that was removed.+removeFlowOutputResponse_outputArn :: Lens.Lens' RemoveFlowOutputResponse (Prelude.Maybe Prelude.Text)+removeFlowOutputResponse_outputArn = Lens.lens (\RemoveFlowOutputResponse' {outputArn} -> outputArn) (\s@RemoveFlowOutputResponse' {} a -> s {outputArn = a} :: RemoveFlowOutputResponse)++-- | The response's http status code.+removeFlowOutputResponse_httpStatus :: Lens.Lens' RemoveFlowOutputResponse Prelude.Int+removeFlowOutputResponse_httpStatus = Lens.lens (\RemoveFlowOutputResponse' {httpStatus} -> httpStatus) (\s@RemoveFlowOutputResponse' {} a -> s {httpStatus = a} :: RemoveFlowOutputResponse)++instance Prelude.NFData RemoveFlowOutputResponse where+ rnf RemoveFlowOutputResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf outputArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/RemoveFlowSource.hs view
@@ -0,0 +1,194 @@+{-# 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.MediaConnect.RemoveFlowSource+-- 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 a source from an existing flow. This request can be made only if+-- there is more than one source on the flow.+module Amazonka.MediaConnect.RemoveFlowSource+ ( -- * Creating a Request+ RemoveFlowSource (..),+ newRemoveFlowSource,++ -- * Request Lenses+ removeFlowSource_flowArn,+ removeFlowSource_sourceArn,++ -- * Destructuring the Response+ RemoveFlowSourceResponse (..),+ newRemoveFlowSourceResponse,++ -- * Response Lenses+ removeFlowSourceResponse_flowArn,+ removeFlowSourceResponse_sourceArn,+ removeFlowSourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRemoveFlowSource' smart constructor.+data RemoveFlowSource = RemoveFlowSource'+ { -- | The flow that you want to remove a source from.+ flowArn :: Prelude.Text,+ -- | The ARN of the source that you want to remove.+ sourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveFlowSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'removeFlowSource_flowArn' - The flow that you want to remove a source from.+--+-- 'sourceArn', 'removeFlowSource_sourceArn' - The ARN of the source that you want to remove.+newRemoveFlowSource ::+ -- | 'flowArn'+ Prelude.Text ->+ -- | 'sourceArn'+ Prelude.Text ->+ RemoveFlowSource+newRemoveFlowSource pFlowArn_ pSourceArn_ =+ RemoveFlowSource'+ { flowArn = pFlowArn_,+ sourceArn = pSourceArn_+ }++-- | The flow that you want to remove a source from.+removeFlowSource_flowArn :: Lens.Lens' RemoveFlowSource Prelude.Text+removeFlowSource_flowArn = Lens.lens (\RemoveFlowSource' {flowArn} -> flowArn) (\s@RemoveFlowSource' {} a -> s {flowArn = a} :: RemoveFlowSource)++-- | The ARN of the source that you want to remove.+removeFlowSource_sourceArn :: Lens.Lens' RemoveFlowSource Prelude.Text+removeFlowSource_sourceArn = Lens.lens (\RemoveFlowSource' {sourceArn} -> sourceArn) (\s@RemoveFlowSource' {} a -> s {sourceArn = a} :: RemoveFlowSource)++instance Core.AWSRequest RemoveFlowSource where+ type+ AWSResponse RemoveFlowSource =+ RemoveFlowSourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ RemoveFlowSourceResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> (x Data..?> "sourceArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable RemoveFlowSource where+ hashWithSalt _salt RemoveFlowSource' {..} =+ _salt+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` sourceArn++instance Prelude.NFData RemoveFlowSource where+ rnf RemoveFlowSource' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf sourceArn++instance Data.ToHeaders RemoveFlowSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath RemoveFlowSource where+ toPath RemoveFlowSource' {..} =+ Prelude.mconcat+ [ "/v1/flows/",+ Data.toBS flowArn,+ "/source/",+ Data.toBS sourceArn+ ]++instance Data.ToQuery RemoveFlowSource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRemoveFlowSourceResponse' smart constructor.+data RemoveFlowSourceResponse = RemoveFlowSourceResponse'+ { -- | The ARN of the flow that is associated with the source you removed.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the source that was removed.+ sourceArn :: 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 'RemoveFlowSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'removeFlowSourceResponse_flowArn' - The ARN of the flow that is associated with the source you removed.+--+-- 'sourceArn', 'removeFlowSourceResponse_sourceArn' - The ARN of the source that was removed.+--+-- 'httpStatus', 'removeFlowSourceResponse_httpStatus' - The response's http status code.+newRemoveFlowSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ RemoveFlowSourceResponse+newRemoveFlowSourceResponse pHttpStatus_ =+ RemoveFlowSourceResponse'+ { flowArn =+ Prelude.Nothing,+ sourceArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the flow that is associated with the source you removed.+removeFlowSourceResponse_flowArn :: Lens.Lens' RemoveFlowSourceResponse (Prelude.Maybe Prelude.Text)+removeFlowSourceResponse_flowArn = Lens.lens (\RemoveFlowSourceResponse' {flowArn} -> flowArn) (\s@RemoveFlowSourceResponse' {} a -> s {flowArn = a} :: RemoveFlowSourceResponse)++-- | The ARN of the source that was removed.+removeFlowSourceResponse_sourceArn :: Lens.Lens' RemoveFlowSourceResponse (Prelude.Maybe Prelude.Text)+removeFlowSourceResponse_sourceArn = Lens.lens (\RemoveFlowSourceResponse' {sourceArn} -> sourceArn) (\s@RemoveFlowSourceResponse' {} a -> s {sourceArn = a} :: RemoveFlowSourceResponse)++-- | The response's http status code.+removeFlowSourceResponse_httpStatus :: Lens.Lens' RemoveFlowSourceResponse Prelude.Int+removeFlowSourceResponse_httpStatus = Lens.lens (\RemoveFlowSourceResponse' {httpStatus} -> httpStatus) (\s@RemoveFlowSourceResponse' {} a -> s {httpStatus = a} :: RemoveFlowSourceResponse)++instance Prelude.NFData RemoveFlowSourceResponse where+ rnf RemoveFlowSourceResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf sourceArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/RemoveFlowVpcInterface.hs view
@@ -0,0 +1,224 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.RemoveFlowVpcInterface+-- 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 a VPC Interface from an existing flow. This request can be made+-- only on a VPC interface that does not have a Source or Output associated+-- with it. If the VPC interface is referenced by a Source or Output, you+-- must first delete or update the Source or Output to no longer reference+-- the VPC interface.+module Amazonka.MediaConnect.RemoveFlowVpcInterface+ ( -- * Creating a Request+ RemoveFlowVpcInterface (..),+ newRemoveFlowVpcInterface,++ -- * Request Lenses+ removeFlowVpcInterface_flowArn,+ removeFlowVpcInterface_vpcInterfaceName,++ -- * Destructuring the Response+ RemoveFlowVpcInterfaceResponse (..),+ newRemoveFlowVpcInterfaceResponse,++ -- * Response Lenses+ removeFlowVpcInterfaceResponse_flowArn,+ removeFlowVpcInterfaceResponse_nonDeletedNetworkInterfaceIds,+ removeFlowVpcInterfaceResponse_vpcInterfaceName,+ removeFlowVpcInterfaceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRemoveFlowVpcInterface' smart constructor.+data RemoveFlowVpcInterface = RemoveFlowVpcInterface'+ { -- | The flow that you want to remove a VPC interface from.+ flowArn :: Prelude.Text,+ -- | The name of the VPC interface that you want to remove.+ vpcInterfaceName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RemoveFlowVpcInterface' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'removeFlowVpcInterface_flowArn' - The flow that you want to remove a VPC interface from.+--+-- 'vpcInterfaceName', 'removeFlowVpcInterface_vpcInterfaceName' - The name of the VPC interface that you want to remove.+newRemoveFlowVpcInterface ::+ -- | 'flowArn'+ Prelude.Text ->+ -- | 'vpcInterfaceName'+ Prelude.Text ->+ RemoveFlowVpcInterface+newRemoveFlowVpcInterface+ pFlowArn_+ pVpcInterfaceName_ =+ RemoveFlowVpcInterface'+ { flowArn = pFlowArn_,+ vpcInterfaceName = pVpcInterfaceName_+ }++-- | The flow that you want to remove a VPC interface from.+removeFlowVpcInterface_flowArn :: Lens.Lens' RemoveFlowVpcInterface Prelude.Text+removeFlowVpcInterface_flowArn = Lens.lens (\RemoveFlowVpcInterface' {flowArn} -> flowArn) (\s@RemoveFlowVpcInterface' {} a -> s {flowArn = a} :: RemoveFlowVpcInterface)++-- | The name of the VPC interface that you want to remove.+removeFlowVpcInterface_vpcInterfaceName :: Lens.Lens' RemoveFlowVpcInterface Prelude.Text+removeFlowVpcInterface_vpcInterfaceName = Lens.lens (\RemoveFlowVpcInterface' {vpcInterfaceName} -> vpcInterfaceName) (\s@RemoveFlowVpcInterface' {} a -> s {vpcInterfaceName = a} :: RemoveFlowVpcInterface)++instance Core.AWSRequest RemoveFlowVpcInterface where+ type+ AWSResponse RemoveFlowVpcInterface =+ RemoveFlowVpcInterfaceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ RemoveFlowVpcInterfaceResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> ( x+ Data..?> "nonDeletedNetworkInterfaceIds"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "vpcInterfaceName")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable RemoveFlowVpcInterface where+ hashWithSalt _salt RemoveFlowVpcInterface' {..} =+ _salt+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` vpcInterfaceName++instance Prelude.NFData RemoveFlowVpcInterface where+ rnf RemoveFlowVpcInterface' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf vpcInterfaceName++instance Data.ToHeaders RemoveFlowVpcInterface where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath RemoveFlowVpcInterface where+ toPath RemoveFlowVpcInterface' {..} =+ Prelude.mconcat+ [ "/v1/flows/",+ Data.toBS flowArn,+ "/vpcInterfaces/",+ Data.toBS vpcInterfaceName+ ]++instance Data.ToQuery RemoveFlowVpcInterface where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRemoveFlowVpcInterfaceResponse' smart constructor.+data RemoveFlowVpcInterfaceResponse = RemoveFlowVpcInterfaceResponse'+ { -- | The ARN of the flow that is associated with the VPC interface you+ -- removed.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | IDs of network interfaces associated with the removed VPC interface that+ -- Media Connect was unable to remove.+ nonDeletedNetworkInterfaceIds :: Prelude.Maybe [Prelude.Text],+ -- | The name of the VPC interface that was removed.+ vpcInterfaceName :: 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 'RemoveFlowVpcInterfaceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'removeFlowVpcInterfaceResponse_flowArn' - The ARN of the flow that is associated with the VPC interface you+-- removed.+--+-- 'nonDeletedNetworkInterfaceIds', 'removeFlowVpcInterfaceResponse_nonDeletedNetworkInterfaceIds' - IDs of network interfaces associated with the removed VPC interface that+-- Media Connect was unable to remove.+--+-- 'vpcInterfaceName', 'removeFlowVpcInterfaceResponse_vpcInterfaceName' - The name of the VPC interface that was removed.+--+-- 'httpStatus', 'removeFlowVpcInterfaceResponse_httpStatus' - The response's http status code.+newRemoveFlowVpcInterfaceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ RemoveFlowVpcInterfaceResponse+newRemoveFlowVpcInterfaceResponse pHttpStatus_ =+ RemoveFlowVpcInterfaceResponse'+ { flowArn =+ Prelude.Nothing,+ nonDeletedNetworkInterfaceIds =+ Prelude.Nothing,+ vpcInterfaceName = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the flow that is associated with the VPC interface you+-- removed.+removeFlowVpcInterfaceResponse_flowArn :: Lens.Lens' RemoveFlowVpcInterfaceResponse (Prelude.Maybe Prelude.Text)+removeFlowVpcInterfaceResponse_flowArn = Lens.lens (\RemoveFlowVpcInterfaceResponse' {flowArn} -> flowArn) (\s@RemoveFlowVpcInterfaceResponse' {} a -> s {flowArn = a} :: RemoveFlowVpcInterfaceResponse)++-- | IDs of network interfaces associated with the removed VPC interface that+-- Media Connect was unable to remove.+removeFlowVpcInterfaceResponse_nonDeletedNetworkInterfaceIds :: Lens.Lens' RemoveFlowVpcInterfaceResponse (Prelude.Maybe [Prelude.Text])+removeFlowVpcInterfaceResponse_nonDeletedNetworkInterfaceIds = Lens.lens (\RemoveFlowVpcInterfaceResponse' {nonDeletedNetworkInterfaceIds} -> nonDeletedNetworkInterfaceIds) (\s@RemoveFlowVpcInterfaceResponse' {} a -> s {nonDeletedNetworkInterfaceIds = a} :: RemoveFlowVpcInterfaceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The name of the VPC interface that was removed.+removeFlowVpcInterfaceResponse_vpcInterfaceName :: Lens.Lens' RemoveFlowVpcInterfaceResponse (Prelude.Maybe Prelude.Text)+removeFlowVpcInterfaceResponse_vpcInterfaceName = Lens.lens (\RemoveFlowVpcInterfaceResponse' {vpcInterfaceName} -> vpcInterfaceName) (\s@RemoveFlowVpcInterfaceResponse' {} a -> s {vpcInterfaceName = a} :: RemoveFlowVpcInterfaceResponse)++-- | The response's http status code.+removeFlowVpcInterfaceResponse_httpStatus :: Lens.Lens' RemoveFlowVpcInterfaceResponse Prelude.Int+removeFlowVpcInterfaceResponse_httpStatus = Lens.lens (\RemoveFlowVpcInterfaceResponse' {httpStatus} -> httpStatus) (\s@RemoveFlowVpcInterfaceResponse' {} a -> s {httpStatus = a} :: RemoveFlowVpcInterfaceResponse)++instance+ Prelude.NFData+ RemoveFlowVpcInterfaceResponse+ where+ rnf RemoveFlowVpcInterfaceResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf nonDeletedNetworkInterfaceIds+ `Prelude.seq` Prelude.rnf vpcInterfaceName+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/RevokeFlowEntitlement.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.RevokeFlowEntitlement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Revokes an entitlement from a flow. Once an entitlement is revoked, the+-- content becomes unavailable to the subscriber and the associated output+-- is removed.+module Amazonka.MediaConnect.RevokeFlowEntitlement+ ( -- * Creating a Request+ RevokeFlowEntitlement (..),+ newRevokeFlowEntitlement,++ -- * Request Lenses+ revokeFlowEntitlement_flowArn,+ revokeFlowEntitlement_entitlementArn,++ -- * Destructuring the Response+ RevokeFlowEntitlementResponse (..),+ newRevokeFlowEntitlementResponse,++ -- * Response Lenses+ revokeFlowEntitlementResponse_entitlementArn,+ revokeFlowEntitlementResponse_flowArn,+ revokeFlowEntitlementResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newRevokeFlowEntitlement' smart constructor.+data RevokeFlowEntitlement = RevokeFlowEntitlement'+ { -- | The flow that you want to revoke an entitlement from.+ flowArn :: Prelude.Text,+ -- | The ARN of the entitlement that you want to revoke.+ entitlementArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RevokeFlowEntitlement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'revokeFlowEntitlement_flowArn' - The flow that you want to revoke an entitlement from.+--+-- 'entitlementArn', 'revokeFlowEntitlement_entitlementArn' - The ARN of the entitlement that you want to revoke.+newRevokeFlowEntitlement ::+ -- | 'flowArn'+ Prelude.Text ->+ -- | 'entitlementArn'+ Prelude.Text ->+ RevokeFlowEntitlement+newRevokeFlowEntitlement pFlowArn_ pEntitlementArn_ =+ RevokeFlowEntitlement'+ { flowArn = pFlowArn_,+ entitlementArn = pEntitlementArn_+ }++-- | The flow that you want to revoke an entitlement from.+revokeFlowEntitlement_flowArn :: Lens.Lens' RevokeFlowEntitlement Prelude.Text+revokeFlowEntitlement_flowArn = Lens.lens (\RevokeFlowEntitlement' {flowArn} -> flowArn) (\s@RevokeFlowEntitlement' {} a -> s {flowArn = a} :: RevokeFlowEntitlement)++-- | The ARN of the entitlement that you want to revoke.+revokeFlowEntitlement_entitlementArn :: Lens.Lens' RevokeFlowEntitlement Prelude.Text+revokeFlowEntitlement_entitlementArn = Lens.lens (\RevokeFlowEntitlement' {entitlementArn} -> entitlementArn) (\s@RevokeFlowEntitlement' {} a -> s {entitlementArn = a} :: RevokeFlowEntitlement)++instance Core.AWSRequest RevokeFlowEntitlement where+ type+ AWSResponse RevokeFlowEntitlement =+ RevokeFlowEntitlementResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ RevokeFlowEntitlementResponse'+ Prelude.<$> (x Data..?> "entitlementArn")+ Prelude.<*> (x Data..?> "flowArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable RevokeFlowEntitlement where+ hashWithSalt _salt RevokeFlowEntitlement' {..} =+ _salt+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` entitlementArn++instance Prelude.NFData RevokeFlowEntitlement where+ rnf RevokeFlowEntitlement' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf entitlementArn++instance Data.ToHeaders RevokeFlowEntitlement where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath RevokeFlowEntitlement where+ toPath RevokeFlowEntitlement' {..} =+ Prelude.mconcat+ [ "/v1/flows/",+ Data.toBS flowArn,+ "/entitlements/",+ Data.toBS entitlementArn+ ]++instance Data.ToQuery RevokeFlowEntitlement where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newRevokeFlowEntitlementResponse' smart constructor.+data RevokeFlowEntitlementResponse = RevokeFlowEntitlementResponse'+ { -- | The ARN of the entitlement that was revoked.+ entitlementArn :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the flow that the entitlement was revoked from.+ flowArn :: 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 'RevokeFlowEntitlementResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'entitlementArn', 'revokeFlowEntitlementResponse_entitlementArn' - The ARN of the entitlement that was revoked.+--+-- 'flowArn', 'revokeFlowEntitlementResponse_flowArn' - The ARN of the flow that the entitlement was revoked from.+--+-- 'httpStatus', 'revokeFlowEntitlementResponse_httpStatus' - The response's http status code.+newRevokeFlowEntitlementResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ RevokeFlowEntitlementResponse+newRevokeFlowEntitlementResponse pHttpStatus_ =+ RevokeFlowEntitlementResponse'+ { entitlementArn =+ Prelude.Nothing,+ flowArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the entitlement that was revoked.+revokeFlowEntitlementResponse_entitlementArn :: Lens.Lens' RevokeFlowEntitlementResponse (Prelude.Maybe Prelude.Text)+revokeFlowEntitlementResponse_entitlementArn = Lens.lens (\RevokeFlowEntitlementResponse' {entitlementArn} -> entitlementArn) (\s@RevokeFlowEntitlementResponse' {} a -> s {entitlementArn = a} :: RevokeFlowEntitlementResponse)++-- | The ARN of the flow that the entitlement was revoked from.+revokeFlowEntitlementResponse_flowArn :: Lens.Lens' RevokeFlowEntitlementResponse (Prelude.Maybe Prelude.Text)+revokeFlowEntitlementResponse_flowArn = Lens.lens (\RevokeFlowEntitlementResponse' {flowArn} -> flowArn) (\s@RevokeFlowEntitlementResponse' {} a -> s {flowArn = a} :: RevokeFlowEntitlementResponse)++-- | The response's http status code.+revokeFlowEntitlementResponse_httpStatus :: Lens.Lens' RevokeFlowEntitlementResponse Prelude.Int+revokeFlowEntitlementResponse_httpStatus = Lens.lens (\RevokeFlowEntitlementResponse' {httpStatus} -> httpStatus) (\s@RevokeFlowEntitlementResponse' {} a -> s {httpStatus = a} :: RevokeFlowEntitlementResponse)++instance Prelude.NFData RevokeFlowEntitlementResponse where+ rnf RevokeFlowEntitlementResponse' {..} =+ Prelude.rnf entitlementArn+ `Prelude.seq` Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/StartFlow.hs view
@@ -0,0 +1,171 @@+{-# 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.MediaConnect.StartFlow+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Starts a flow.+module Amazonka.MediaConnect.StartFlow+ ( -- * Creating a Request+ StartFlow (..),+ newStartFlow,++ -- * Request Lenses+ startFlow_flowArn,++ -- * Destructuring the Response+ StartFlowResponse (..),+ newStartFlowResponse,++ -- * Response Lenses+ startFlowResponse_flowArn,+ startFlowResponse_status,+ startFlowResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartFlow' smart constructor.+data StartFlow = StartFlow'+ { -- | The ARN of the flow that you want to start.+ flowArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'startFlow_flowArn' - The ARN of the flow that you want to start.+newStartFlow ::+ -- | 'flowArn'+ Prelude.Text ->+ StartFlow+newStartFlow pFlowArn_ =+ StartFlow' {flowArn = pFlowArn_}++-- | The ARN of the flow that you want to start.+startFlow_flowArn :: Lens.Lens' StartFlow Prelude.Text+startFlow_flowArn = Lens.lens (\StartFlow' {flowArn} -> flowArn) (\s@StartFlow' {} a -> s {flowArn = a} :: StartFlow)++instance Core.AWSRequest StartFlow where+ type AWSResponse StartFlow = StartFlowResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StartFlowResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StartFlow where+ hashWithSalt _salt StartFlow' {..} =+ _salt `Prelude.hashWithSalt` flowArn++instance Prelude.NFData StartFlow where+ rnf StartFlow' {..} = Prelude.rnf flowArn++instance Data.ToHeaders StartFlow where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StartFlow where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath StartFlow where+ toPath StartFlow' {..} =+ Prelude.mconcat+ ["/v1/flows/start/", Data.toBS flowArn]++instance Data.ToQuery StartFlow where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartFlowResponse' smart constructor.+data StartFlowResponse = StartFlowResponse'+ { -- | The ARN of the flow that you started.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | The status of the flow when the StartFlow process begins.+ status :: Prelude.Maybe Status,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartFlowResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'startFlowResponse_flowArn' - The ARN of the flow that you started.+--+-- 'status', 'startFlowResponse_status' - The status of the flow when the StartFlow process begins.+--+-- 'httpStatus', 'startFlowResponse_httpStatus' - The response's http status code.+newStartFlowResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartFlowResponse+newStartFlowResponse pHttpStatus_ =+ StartFlowResponse'+ { flowArn = Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the flow that you started.+startFlowResponse_flowArn :: Lens.Lens' StartFlowResponse (Prelude.Maybe Prelude.Text)+startFlowResponse_flowArn = Lens.lens (\StartFlowResponse' {flowArn} -> flowArn) (\s@StartFlowResponse' {} a -> s {flowArn = a} :: StartFlowResponse)++-- | The status of the flow when the StartFlow process begins.+startFlowResponse_status :: Lens.Lens' StartFlowResponse (Prelude.Maybe Status)+startFlowResponse_status = Lens.lens (\StartFlowResponse' {status} -> status) (\s@StartFlowResponse' {} a -> s {status = a} :: StartFlowResponse)++-- | The response's http status code.+startFlowResponse_httpStatus :: Lens.Lens' StartFlowResponse Prelude.Int+startFlowResponse_httpStatus = Lens.lens (\StartFlowResponse' {httpStatus} -> httpStatus) (\s@StartFlowResponse' {} a -> s {httpStatus = a} :: StartFlowResponse)++instance Prelude.NFData StartFlowResponse where+ rnf StartFlowResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/StopFlow.hs view
@@ -0,0 +1,171 @@+{-# 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.MediaConnect.StopFlow+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Stops a flow.+module Amazonka.MediaConnect.StopFlow+ ( -- * Creating a Request+ StopFlow (..),+ newStopFlow,++ -- * Request Lenses+ stopFlow_flowArn,++ -- * Destructuring the Response+ StopFlowResponse (..),+ newStopFlowResponse,++ -- * Response Lenses+ stopFlowResponse_flowArn,+ stopFlowResponse_status,+ stopFlowResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopFlow' smart constructor.+data StopFlow = StopFlow'+ { -- | The ARN of the flow that you want to stop.+ flowArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'stopFlow_flowArn' - The ARN of the flow that you want to stop.+newStopFlow ::+ -- | 'flowArn'+ Prelude.Text ->+ StopFlow+newStopFlow pFlowArn_ =+ StopFlow' {flowArn = pFlowArn_}++-- | The ARN of the flow that you want to stop.+stopFlow_flowArn :: Lens.Lens' StopFlow Prelude.Text+stopFlow_flowArn = Lens.lens (\StopFlow' {flowArn} -> flowArn) (\s@StopFlow' {} a -> s {flowArn = a} :: StopFlow)++instance Core.AWSRequest StopFlow where+ type AWSResponse StopFlow = StopFlowResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ StopFlowResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> (x Data..?> "status")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StopFlow where+ hashWithSalt _salt StopFlow' {..} =+ _salt `Prelude.hashWithSalt` flowArn++instance Prelude.NFData StopFlow where+ rnf StopFlow' {..} = Prelude.rnf flowArn++instance Data.ToHeaders StopFlow where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StopFlow where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath StopFlow where+ toPath StopFlow' {..} =+ Prelude.mconcat+ ["/v1/flows/stop/", Data.toBS flowArn]++instance Data.ToQuery StopFlow where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopFlowResponse' smart constructor.+data StopFlowResponse = StopFlowResponse'+ { -- | The ARN of the flow that you stopped.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | The status of the flow when the StopFlow process begins.+ status :: Prelude.Maybe Status,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopFlowResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'stopFlowResponse_flowArn' - The ARN of the flow that you stopped.+--+-- 'status', 'stopFlowResponse_status' - The status of the flow when the StopFlow process begins.+--+-- 'httpStatus', 'stopFlowResponse_httpStatus' - The response's http status code.+newStopFlowResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StopFlowResponse+newStopFlowResponse pHttpStatus_ =+ StopFlowResponse'+ { flowArn = Prelude.Nothing,+ status = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the flow that you stopped.+stopFlowResponse_flowArn :: Lens.Lens' StopFlowResponse (Prelude.Maybe Prelude.Text)+stopFlowResponse_flowArn = Lens.lens (\StopFlowResponse' {flowArn} -> flowArn) (\s@StopFlowResponse' {} a -> s {flowArn = a} :: StopFlowResponse)++-- | The status of the flow when the StopFlow process begins.+stopFlowResponse_status :: Lens.Lens' StopFlowResponse (Prelude.Maybe Status)+stopFlowResponse_status = Lens.lens (\StopFlowResponse' {status} -> status) (\s@StopFlowResponse' {} a -> s {status = a} :: StopFlowResponse)++-- | The response's http status code.+stopFlowResponse_httpStatus :: Lens.Lens' StopFlowResponse Prelude.Int+stopFlowResponse_httpStatus = Lens.lens (\StopFlowResponse' {httpStatus} -> httpStatus) (\s@StopFlowResponse' {} a -> s {httpStatus = a} :: StopFlowResponse)++instance Prelude.NFData StopFlowResponse where+ rnf StopFlowResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/TagResource.hs view
@@ -0,0 +1,158 @@+{-# 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.MediaConnect.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)+--+-- Associates the specified tags to a resource with the specified+-- resourceArn. If existing tags on a resource are not specified in the+-- request parameters, they are not changed. When a resource is deleted,+-- the tags associated with that resource are deleted as well.+module Amazonka.MediaConnect.TagResource+ ( -- * Creating a Request+ TagResource (..),+ newTagResource,++ -- * Request Lenses+ tagResource_resourceArn,+ tagResource_tags,++ -- * Destructuring the Response+ TagResourceResponse (..),+ newTagResourceResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The tags to add to the resource. A tag is an array of key-value pairs.+-- Tag keys can have a maximum character length of 128 characters, and tag+-- values can have a maximum length of 256 characters.+--+-- /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The Amazon Resource Name (ARN) that identifies the AWS Elemental+ -- MediaConnect resource to which to add tags.+ resourceArn :: Prelude.Text,+ -- | A map from tag keys to values. Tag keys can have a maximum character+ -- length of 128 characters, and tag values can have a maximum length of+ -- 256 characters.+ tags :: Prelude.HashMap Prelude.Text Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'tagResource_resourceArn' - The Amazon Resource Name (ARN) that identifies the AWS Elemental+-- MediaConnect resource to which to add tags.+--+-- 'tags', 'tagResource_tags' - A map from tag keys to values. Tag keys can have a maximum character+-- length of 128 characters, and tag values can have a maximum length of+-- 256 characters.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) that identifies the AWS Elemental+-- MediaConnect resource to which to add tags.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | A map from tag keys to values. Tag keys can have a maximum character+-- length of 128 characters, and tag values can have a maximum length of+-- 256 characters.+tagResource_tags :: Lens.Lens' TagResource (Prelude.HashMap Prelude.Text Prelude.Text)+tagResource_tags = Lens.lens (\TagResource' {tags} -> tags) (\s@TagResource' {} a -> s {tags = a} :: TagResource) Prelude.. Lens.coerced++instance Core.AWSRequest TagResource where+ type AWSResponse TagResource = TagResourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response = Response.receiveNull TagResourceResponse'++instance Prelude.Hashable TagResource where+ hashWithSalt _salt TagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tags++instance Prelude.NFData TagResource where+ rnf TagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tags++instance Data.ToHeaders TagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON TagResource where+ toJSON TagResource' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("tags" Data..= tags)]+ )++instance Data.ToPath TagResource where+ toPath TagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery TagResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newTagResourceResponse' smart constructor.+data TagResourceResponse = TagResourceResponse'+ {+ }+ 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.+newTagResourceResponse ::+ TagResourceResponse+newTagResourceResponse = TagResourceResponse'++instance Prelude.NFData TagResourceResponse where+ rnf _ = ()
+ gen/Amazonka/MediaConnect/Types.hs view
@@ -0,0 +1,742 @@+{-# 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.MediaConnect.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.MediaConnect.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _AddFlowOutputs420Exception,+ _BadRequestException,+ _CreateFlow420Exception,+ _ForbiddenException,+ _GrantFlowEntitlements420Exception,+ _InternalServerErrorException,+ _NotFoundException,+ _ServiceUnavailableException,+ _TooManyRequestsException,++ -- * Algorithm+ Algorithm (..),++ -- * Colorimetry+ Colorimetry (..),++ -- * DurationUnits+ DurationUnits (..),++ -- * EncoderProfile+ EncoderProfile (..),++ -- * EncodingName+ EncodingName (..),++ -- * EntitlementStatus+ EntitlementStatus (..),++ -- * FailoverMode+ FailoverMode (..),++ -- * KeyType+ KeyType (..),++ -- * MaintenanceDay+ MaintenanceDay (..),++ -- * MediaStreamType+ MediaStreamType (..),++ -- * NetworkInterfaceType+ NetworkInterfaceType (..),++ -- * PriceUnits+ PriceUnits (..),++ -- * Protocol+ Protocol (..),++ -- * Range+ Range (..),++ -- * ReservationState+ ReservationState (..),++ -- * ResourceType+ ResourceType (..),++ -- * ScanMode+ ScanMode (..),++ -- * SourceType+ SourceType (..),++ -- * State+ State (..),++ -- * Status+ Status (..),++ -- * Tcs+ Tcs (..),++ -- * AddMaintenance+ AddMaintenance (..),+ newAddMaintenance,+ addMaintenance_maintenanceDay,+ addMaintenance_maintenanceStartHour,++ -- * AddMediaStreamRequest+ AddMediaStreamRequest (..),+ newAddMediaStreamRequest,+ addMediaStreamRequest_attributes,+ addMediaStreamRequest_clockRate,+ addMediaStreamRequest_description,+ addMediaStreamRequest_videoFormat,+ addMediaStreamRequest_mediaStreamType,+ addMediaStreamRequest_mediaStreamId,+ addMediaStreamRequest_mediaStreamName,++ -- * AddOutputRequest+ AddOutputRequest (..),+ newAddOutputRequest,+ addOutputRequest_cidrAllowList,+ addOutputRequest_description,+ addOutputRequest_destination,+ addOutputRequest_encryption,+ addOutputRequest_maxLatency,+ addOutputRequest_mediaStreamOutputConfigurations,+ addOutputRequest_minLatency,+ addOutputRequest_name,+ addOutputRequest_port,+ addOutputRequest_remoteId,+ addOutputRequest_senderControlPort,+ addOutputRequest_smoothingLatency,+ addOutputRequest_streamId,+ addOutputRequest_vpcInterfaceAttachment,+ addOutputRequest_protocol,++ -- * DestinationConfiguration+ DestinationConfiguration (..),+ newDestinationConfiguration,+ destinationConfiguration_destinationIp,+ destinationConfiguration_destinationPort,+ destinationConfiguration_interface,+ destinationConfiguration_outboundIp,++ -- * DestinationConfigurationRequest+ DestinationConfigurationRequest (..),+ newDestinationConfigurationRequest,+ destinationConfigurationRequest_destinationIp,+ destinationConfigurationRequest_destinationPort,+ destinationConfigurationRequest_interface,++ -- * EncodingParameters+ EncodingParameters (..),+ newEncodingParameters,+ encodingParameters_encoderProfile,+ encodingParameters_compressionFactor,++ -- * EncodingParametersRequest+ EncodingParametersRequest (..),+ newEncodingParametersRequest,+ encodingParametersRequest_encoderProfile,+ encodingParametersRequest_compressionFactor,++ -- * Encryption+ Encryption (..),+ newEncryption,+ encryption_algorithm,+ encryption_constantInitializationVector,+ encryption_deviceId,+ encryption_keyType,+ encryption_region,+ encryption_resourceId,+ encryption_secretArn,+ encryption_url,+ encryption_roleArn,++ -- * Entitlement+ Entitlement (..),+ newEntitlement,+ entitlement_dataTransferSubscriberFeePercent,+ entitlement_description,+ entitlement_encryption,+ entitlement_entitlementStatus,+ entitlement_entitlementArn,+ entitlement_subscribers,+ entitlement_name,++ -- * FailoverConfig+ FailoverConfig (..),+ newFailoverConfig,+ failoverConfig_failoverMode,+ failoverConfig_recoveryWindow,+ failoverConfig_sourcePriority,+ failoverConfig_state,++ -- * Flow+ Flow (..),+ newFlow,+ flow_description,+ flow_egressIp,+ flow_maintenance,+ flow_mediaStreams,+ flow_sourceFailoverConfig,+ flow_sources,+ flow_vpcInterfaces,+ flow_status,+ flow_entitlements,+ flow_outputs,+ flow_availabilityZone,+ flow_flowArn,+ flow_source,+ flow_name,++ -- * Fmtp+ Fmtp (..),+ newFmtp,+ fmtp_channelOrder,+ fmtp_colorimetry,+ fmtp_exactFramerate,+ fmtp_par,+ fmtp_range,+ fmtp_scanMode,+ fmtp_tcs,++ -- * FmtpRequest+ FmtpRequest (..),+ newFmtpRequest,+ fmtpRequest_channelOrder,+ fmtpRequest_colorimetry,+ fmtpRequest_exactFramerate,+ fmtpRequest_par,+ fmtpRequest_range,+ fmtpRequest_scanMode,+ fmtpRequest_tcs,++ -- * GrantEntitlementRequest+ GrantEntitlementRequest (..),+ newGrantEntitlementRequest,+ grantEntitlementRequest_dataTransferSubscriberFeePercent,+ grantEntitlementRequest_description,+ grantEntitlementRequest_encryption,+ grantEntitlementRequest_entitlementStatus,+ grantEntitlementRequest_name,+ grantEntitlementRequest_subscribers,++ -- * InputConfiguration+ InputConfiguration (..),+ newInputConfiguration,+ inputConfiguration_inputPort,+ inputConfiguration_inputIp,+ inputConfiguration_interface,++ -- * InputConfigurationRequest+ InputConfigurationRequest (..),+ newInputConfigurationRequest,+ inputConfigurationRequest_inputPort,+ inputConfigurationRequest_interface,++ -- * Interface+ Interface (..),+ newInterface,+ interface_name,++ -- * InterfaceRequest+ InterfaceRequest (..),+ newInterfaceRequest,+ interfaceRequest_name,++ -- * ListedEntitlement+ ListedEntitlement (..),+ newListedEntitlement,+ listedEntitlement_dataTransferSubscriberFeePercent,+ listedEntitlement_entitlementArn,+ listedEntitlement_entitlementName,++ -- * ListedFlow+ ListedFlow (..),+ newListedFlow,+ listedFlow_maintenance,+ listedFlow_status,+ listedFlow_description,+ listedFlow_sourceType,+ listedFlow_availabilityZone,+ listedFlow_flowArn,+ listedFlow_name,++ -- * Maintenance+ Maintenance (..),+ newMaintenance,+ maintenance_maintenanceDay,+ maintenance_maintenanceDeadline,+ maintenance_maintenanceScheduledDate,+ maintenance_maintenanceStartHour,++ -- * MediaStream+ MediaStream (..),+ newMediaStream,+ mediaStream_attributes,+ mediaStream_clockRate,+ mediaStream_description,+ mediaStream_videoFormat,+ mediaStream_mediaStreamType,+ mediaStream_mediaStreamId,+ mediaStream_mediaStreamName,+ mediaStream_fmt,++ -- * MediaStreamAttributes+ MediaStreamAttributes (..),+ newMediaStreamAttributes,+ mediaStreamAttributes_lang,+ mediaStreamAttributes_fmtp,++ -- * MediaStreamAttributesRequest+ MediaStreamAttributesRequest (..),+ newMediaStreamAttributesRequest,+ mediaStreamAttributesRequest_fmtp,+ mediaStreamAttributesRequest_lang,++ -- * MediaStreamOutputConfiguration+ MediaStreamOutputConfiguration (..),+ newMediaStreamOutputConfiguration,+ mediaStreamOutputConfiguration_destinationConfigurations,+ mediaStreamOutputConfiguration_encodingParameters,+ mediaStreamOutputConfiguration_mediaStreamName,+ mediaStreamOutputConfiguration_encodingName,++ -- * MediaStreamOutputConfigurationRequest+ MediaStreamOutputConfigurationRequest (..),+ newMediaStreamOutputConfigurationRequest,+ mediaStreamOutputConfigurationRequest_destinationConfigurations,+ mediaStreamOutputConfigurationRequest_encodingParameters,+ mediaStreamOutputConfigurationRequest_mediaStreamName,+ mediaStreamOutputConfigurationRequest_encodingName,++ -- * MediaStreamSourceConfiguration+ MediaStreamSourceConfiguration (..),+ newMediaStreamSourceConfiguration,+ mediaStreamSourceConfiguration_inputConfigurations,+ mediaStreamSourceConfiguration_mediaStreamName,+ mediaStreamSourceConfiguration_encodingName,++ -- * MediaStreamSourceConfigurationRequest+ MediaStreamSourceConfigurationRequest (..),+ newMediaStreamSourceConfigurationRequest,+ mediaStreamSourceConfigurationRequest_inputConfigurations,+ mediaStreamSourceConfigurationRequest_mediaStreamName,+ mediaStreamSourceConfigurationRequest_encodingName,++ -- * Messages+ Messages (..),+ newMessages,+ messages_errors,++ -- * Offering+ Offering (..),+ newOffering,+ offering_currencyCode,+ offering_offeringArn,+ offering_offeringDescription,+ offering_durationUnits,+ offering_duration,+ offering_pricePerUnit,+ offering_resourceSpecification,+ offering_priceUnits,++ -- * Output+ Output (..),+ newOutput,+ output_dataTransferSubscriberFeePercent,+ output_description,+ output_destination,+ output_encryption,+ output_entitlementArn,+ output_listenerAddress,+ output_mediaLiveInputArn,+ output_mediaStreamOutputConfigurations,+ output_port,+ output_transport,+ output_vpcInterfaceAttachment,+ output_outputArn,+ output_name,++ -- * Reservation+ Reservation (..),+ newReservation,+ reservation_currencyCode,+ reservation_reservationState,+ reservation_offeringArn,+ reservation_reservationArn,+ reservation_start,+ reservation_offeringDescription,+ reservation_reservationName,+ reservation_end,+ reservation_duration,+ reservation_durationUnits,+ reservation_pricePerUnit,+ reservation_resourceSpecification,+ reservation_priceUnits,++ -- * ResourceSpecification+ ResourceSpecification (..),+ newResourceSpecification,+ resourceSpecification_reservedBitrate,+ resourceSpecification_resourceType,++ -- * SetSourceRequest+ SetSourceRequest (..),+ newSetSourceRequest,+ setSourceRequest_decryption,+ setSourceRequest_description,+ setSourceRequest_entitlementArn,+ setSourceRequest_ingestPort,+ setSourceRequest_maxBitrate,+ setSourceRequest_maxLatency,+ setSourceRequest_maxSyncBuffer,+ setSourceRequest_mediaStreamSourceConfigurations,+ setSourceRequest_minLatency,+ setSourceRequest_name,+ setSourceRequest_protocol,+ setSourceRequest_senderControlPort,+ setSourceRequest_senderIpAddress,+ setSourceRequest_sourceListenerAddress,+ setSourceRequest_sourceListenerPort,+ setSourceRequest_streamId,+ setSourceRequest_vpcInterfaceName,+ setSourceRequest_whitelistCidr,++ -- * Source+ Source (..),+ newSource,+ source_dataTransferSubscriberFeePercent,+ source_decryption,+ source_description,+ source_entitlementArn,+ source_ingestIp,+ source_ingestPort,+ source_mediaStreamSourceConfigurations,+ source_senderControlPort,+ source_senderIpAddress,+ source_transport,+ source_vpcInterfaceName,+ source_whitelistCidr,+ source_sourceArn,+ source_name,++ -- * SourcePriority+ SourcePriority (..),+ newSourcePriority,+ sourcePriority_primarySource,++ -- * Transport+ Transport (..),+ newTransport,+ transport_cidrAllowList,+ transport_maxBitrate,+ transport_maxLatency,+ transport_maxSyncBuffer,+ transport_minLatency,+ transport_remoteId,+ transport_senderControlPort,+ transport_senderIpAddress,+ transport_smoothingLatency,+ transport_sourceListenerAddress,+ transport_sourceListenerPort,+ transport_streamId,+ transport_protocol,++ -- * UpdateEncryption+ UpdateEncryption (..),+ newUpdateEncryption,+ updateEncryption_algorithm,+ updateEncryption_constantInitializationVector,+ updateEncryption_deviceId,+ updateEncryption_keyType,+ updateEncryption_region,+ updateEncryption_resourceId,+ updateEncryption_roleArn,+ updateEncryption_secretArn,+ updateEncryption_url,++ -- * UpdateFailoverConfig+ UpdateFailoverConfig (..),+ newUpdateFailoverConfig,+ updateFailoverConfig_failoverMode,+ updateFailoverConfig_recoveryWindow,+ updateFailoverConfig_sourcePriority,+ updateFailoverConfig_state,++ -- * UpdateMaintenance+ UpdateMaintenance (..),+ newUpdateMaintenance,+ updateMaintenance_maintenanceDay,+ updateMaintenance_maintenanceScheduledDate,+ updateMaintenance_maintenanceStartHour,++ -- * VpcInterface+ VpcInterface (..),+ newVpcInterface,+ vpcInterface_networkInterfaceType,+ vpcInterface_networkInterfaceIds,+ vpcInterface_subnetId,+ vpcInterface_securityGroupIds,+ vpcInterface_roleArn,+ vpcInterface_name,++ -- * VpcInterfaceAttachment+ VpcInterfaceAttachment (..),+ newVpcInterfaceAttachment,+ vpcInterfaceAttachment_vpcInterfaceName,++ -- * VpcInterfaceRequest+ VpcInterfaceRequest (..),+ newVpcInterfaceRequest,+ vpcInterfaceRequest_networkInterfaceType,+ vpcInterfaceRequest_subnetId,+ vpcInterfaceRequest_securityGroupIds,+ vpcInterfaceRequest_roleArn,+ vpcInterfaceRequest_name,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.MediaConnect.Types.AddMaintenance+import Amazonka.MediaConnect.Types.AddMediaStreamRequest+import Amazonka.MediaConnect.Types.AddOutputRequest+import Amazonka.MediaConnect.Types.Algorithm+import Amazonka.MediaConnect.Types.Colorimetry+import Amazonka.MediaConnect.Types.DestinationConfiguration+import Amazonka.MediaConnect.Types.DestinationConfigurationRequest+import Amazonka.MediaConnect.Types.DurationUnits+import Amazonka.MediaConnect.Types.EncoderProfile+import Amazonka.MediaConnect.Types.EncodingName+import Amazonka.MediaConnect.Types.EncodingParameters+import Amazonka.MediaConnect.Types.EncodingParametersRequest+import Amazonka.MediaConnect.Types.Encryption+import Amazonka.MediaConnect.Types.Entitlement+import Amazonka.MediaConnect.Types.EntitlementStatus+import Amazonka.MediaConnect.Types.FailoverConfig+import Amazonka.MediaConnect.Types.FailoverMode+import Amazonka.MediaConnect.Types.Flow+import Amazonka.MediaConnect.Types.Fmtp+import Amazonka.MediaConnect.Types.FmtpRequest+import Amazonka.MediaConnect.Types.GrantEntitlementRequest+import Amazonka.MediaConnect.Types.InputConfiguration+import Amazonka.MediaConnect.Types.InputConfigurationRequest+import Amazonka.MediaConnect.Types.Interface+import Amazonka.MediaConnect.Types.InterfaceRequest+import Amazonka.MediaConnect.Types.KeyType+import Amazonka.MediaConnect.Types.ListedEntitlement+import Amazonka.MediaConnect.Types.ListedFlow+import Amazonka.MediaConnect.Types.Maintenance+import Amazonka.MediaConnect.Types.MaintenanceDay+import Amazonka.MediaConnect.Types.MediaStream+import Amazonka.MediaConnect.Types.MediaStreamAttributes+import Amazonka.MediaConnect.Types.MediaStreamAttributesRequest+import Amazonka.MediaConnect.Types.MediaStreamOutputConfiguration+import Amazonka.MediaConnect.Types.MediaStreamOutputConfigurationRequest+import Amazonka.MediaConnect.Types.MediaStreamSourceConfiguration+import Amazonka.MediaConnect.Types.MediaStreamSourceConfigurationRequest+import Amazonka.MediaConnect.Types.MediaStreamType+import Amazonka.MediaConnect.Types.Messages+import Amazonka.MediaConnect.Types.NetworkInterfaceType+import Amazonka.MediaConnect.Types.Offering+import Amazonka.MediaConnect.Types.Output+import Amazonka.MediaConnect.Types.PriceUnits+import Amazonka.MediaConnect.Types.Protocol+import Amazonka.MediaConnect.Types.Range+import Amazonka.MediaConnect.Types.Reservation+import Amazonka.MediaConnect.Types.ReservationState+import Amazonka.MediaConnect.Types.ResourceSpecification+import Amazonka.MediaConnect.Types.ResourceType+import Amazonka.MediaConnect.Types.ScanMode+import Amazonka.MediaConnect.Types.SetSourceRequest+import Amazonka.MediaConnect.Types.Source+import Amazonka.MediaConnect.Types.SourcePriority+import Amazonka.MediaConnect.Types.SourceType+import Amazonka.MediaConnect.Types.State+import Amazonka.MediaConnect.Types.Status+import Amazonka.MediaConnect.Types.Tcs+import Amazonka.MediaConnect.Types.Transport+import Amazonka.MediaConnect.Types.UpdateEncryption+import Amazonka.MediaConnect.Types.UpdateFailoverConfig+import Amazonka.MediaConnect.Types.UpdateMaintenance+import Amazonka.MediaConnect.Types.VpcInterface+import Amazonka.MediaConnect.Types.VpcInterfaceAttachment+import Amazonka.MediaConnect.Types.VpcInterfaceRequest+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-11-14@ of the Amazon MediaConnect SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "MediaConnect",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "mediaconnect",+ Core.signingName = "mediaconnect",+ Core.version = "2018-11-14",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "MediaConnect",+ 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++-- | Exception raised by AWS Elemental MediaConnect. See the error message+-- and documentation for the operation for more information on the cause of+-- this exception.+_AddFlowOutputs420Exception :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_AddFlowOutputs420Exception =+ Core._MatchServiceError+ defaultService+ "AddFlowOutputs420Exception"+ Prelude.. Core.hasStatus 420++-- | Exception raised by AWS Elemental MediaConnect. See the error message+-- and documentation for the operation for more information on the cause of+-- this exception.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+ Core._MatchServiceError+ defaultService+ "BadRequestException"+ Prelude.. Core.hasStatus 400++-- | Exception raised by AWS Elemental MediaConnect. See the error message+-- and documentation for the operation for more information on the cause of+-- this exception.+_CreateFlow420Exception :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_CreateFlow420Exception =+ Core._MatchServiceError+ defaultService+ "CreateFlow420Exception"+ Prelude.. Core.hasStatus 420++-- | Exception raised by AWS Elemental MediaConnect. See the error message+-- and documentation for the operation for more information on the cause of+-- this exception.+_ForbiddenException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ForbiddenException =+ Core._MatchServiceError+ defaultService+ "ForbiddenException"+ Prelude.. Core.hasStatus 403++-- | Exception raised by AWS Elemental MediaConnect. See the error message+-- and documentation for the operation for more information on the cause of+-- this exception.+_GrantFlowEntitlements420Exception :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_GrantFlowEntitlements420Exception =+ Core._MatchServiceError+ defaultService+ "GrantFlowEntitlements420Exception"+ Prelude.. Core.hasStatus 420++-- | Exception raised by AWS Elemental MediaConnect. See the error message+-- and documentation for the operation for more information on the cause of+-- this exception.+_InternalServerErrorException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InternalServerErrorException =+ Core._MatchServiceError+ defaultService+ "InternalServerErrorException"+ Prelude.. Core.hasStatus 500++-- | Exception raised by AWS Elemental MediaConnect. See the error message+-- and documentation for the operation for more information on the cause of+-- this exception.+_NotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NotFoundException =+ Core._MatchServiceError+ defaultService+ "NotFoundException"+ Prelude.. Core.hasStatus 404++-- | Exception raised by AWS Elemental MediaConnect. See the error message+-- and documentation for the operation for more information on the cause of+-- this exception.+_ServiceUnavailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ServiceUnavailableException =+ Core._MatchServiceError+ defaultService+ "ServiceUnavailableException"+ Prelude.. Core.hasStatus 503++-- | Exception raised by AWS Elemental MediaConnect. See the error message+-- and documentation for the operation for more information on the cause of+-- this exception.+_TooManyRequestsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_TooManyRequestsException =+ Core._MatchServiceError+ defaultService+ "TooManyRequestsException"+ Prelude.. Core.hasStatus 429
+ gen/Amazonka/MediaConnect/Types/AddMaintenance.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.MediaConnect.Types.AddMaintenance+-- 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.MediaConnect.Types.AddMaintenance where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.MaintenanceDay+import qualified Amazonka.Prelude as Prelude++-- | Create maintenance setting for a flow+--+-- /See:/ 'newAddMaintenance' smart constructor.+data AddMaintenance = AddMaintenance'+ { -- | A day of a week when the maintenance will happen. Use+ -- Monday\/Tuesday\/Wednesday\/Thursday\/Friday\/Saturday\/Sunday.+ maintenanceDay :: MaintenanceDay,+ -- | UTC time when the maintenance will happen. Use 24-hour HH:MM format.+ -- Minutes must be 00. Example: 13:00. The default value is 02:00.+ maintenanceStartHour :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddMaintenance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maintenanceDay', 'addMaintenance_maintenanceDay' - A day of a week when the maintenance will happen. Use+-- Monday\/Tuesday\/Wednesday\/Thursday\/Friday\/Saturday\/Sunday.+--+-- 'maintenanceStartHour', 'addMaintenance_maintenanceStartHour' - UTC time when the maintenance will happen. Use 24-hour HH:MM format.+-- Minutes must be 00. Example: 13:00. The default value is 02:00.+newAddMaintenance ::+ -- | 'maintenanceDay'+ MaintenanceDay ->+ -- | 'maintenanceStartHour'+ Prelude.Text ->+ AddMaintenance+newAddMaintenance+ pMaintenanceDay_+ pMaintenanceStartHour_ =+ AddMaintenance'+ { maintenanceDay = pMaintenanceDay_,+ maintenanceStartHour = pMaintenanceStartHour_+ }++-- | A day of a week when the maintenance will happen. Use+-- Monday\/Tuesday\/Wednesday\/Thursday\/Friday\/Saturday\/Sunday.+addMaintenance_maintenanceDay :: Lens.Lens' AddMaintenance MaintenanceDay+addMaintenance_maintenanceDay = Lens.lens (\AddMaintenance' {maintenanceDay} -> maintenanceDay) (\s@AddMaintenance' {} a -> s {maintenanceDay = a} :: AddMaintenance)++-- | UTC time when the maintenance will happen. Use 24-hour HH:MM format.+-- Minutes must be 00. Example: 13:00. The default value is 02:00.+addMaintenance_maintenanceStartHour :: Lens.Lens' AddMaintenance Prelude.Text+addMaintenance_maintenanceStartHour = Lens.lens (\AddMaintenance' {maintenanceStartHour} -> maintenanceStartHour) (\s@AddMaintenance' {} a -> s {maintenanceStartHour = a} :: AddMaintenance)++instance Prelude.Hashable AddMaintenance where+ hashWithSalt _salt AddMaintenance' {..} =+ _salt+ `Prelude.hashWithSalt` maintenanceDay+ `Prelude.hashWithSalt` maintenanceStartHour++instance Prelude.NFData AddMaintenance where+ rnf AddMaintenance' {..} =+ Prelude.rnf maintenanceDay+ `Prelude.seq` Prelude.rnf maintenanceStartHour++instance Data.ToJSON AddMaintenance where+ toJSON AddMaintenance' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("maintenanceDay" Data..= maintenanceDay),+ Prelude.Just+ ( "maintenanceStartHour"+ Data..= maintenanceStartHour+ )+ ]+ )
+ gen/Amazonka/MediaConnect/Types/AddMediaStreamRequest.hs view
@@ -0,0 +1,166 @@+{-# 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.MediaConnect.Types.AddMediaStreamRequest+-- 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.MediaConnect.Types.AddMediaStreamRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.MediaStreamAttributesRequest+import Amazonka.MediaConnect.Types.MediaStreamType+import qualified Amazonka.Prelude as Prelude++-- | The media stream that you want to add to the flow.+--+-- /See:/ 'newAddMediaStreamRequest' smart constructor.+data AddMediaStreamRequest = AddMediaStreamRequest'+ { -- | The attributes that you want to assign to the new media stream.+ attributes :: Prelude.Maybe MediaStreamAttributesRequest,+ -- | The sample rate (in Hz) for the stream. If the media stream type is+ -- video or ancillary data, set this value to 90000. If the media stream+ -- type is audio, set this value to either 48000 or 96000.+ clockRate :: Prelude.Maybe Prelude.Int,+ -- | A description that can help you quickly identify what your media stream+ -- is used for.+ description :: Prelude.Maybe Prelude.Text,+ -- | The resolution of the video.+ videoFormat :: Prelude.Maybe Prelude.Text,+ -- | The type of media stream.+ mediaStreamType :: MediaStreamType,+ -- | A unique identifier for the media stream.+ mediaStreamId :: Prelude.Int,+ -- | A name that helps you distinguish one media stream from another.+ mediaStreamName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddMediaStreamRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributes', 'addMediaStreamRequest_attributes' - The attributes that you want to assign to the new media stream.+--+-- 'clockRate', 'addMediaStreamRequest_clockRate' - The sample rate (in Hz) for the stream. If the media stream type is+-- video or ancillary data, set this value to 90000. If the media stream+-- type is audio, set this value to either 48000 or 96000.+--+-- 'description', 'addMediaStreamRequest_description' - A description that can help you quickly identify what your media stream+-- is used for.+--+-- 'videoFormat', 'addMediaStreamRequest_videoFormat' - The resolution of the video.+--+-- 'mediaStreamType', 'addMediaStreamRequest_mediaStreamType' - The type of media stream.+--+-- 'mediaStreamId', 'addMediaStreamRequest_mediaStreamId' - A unique identifier for the media stream.+--+-- 'mediaStreamName', 'addMediaStreamRequest_mediaStreamName' - A name that helps you distinguish one media stream from another.+newAddMediaStreamRequest ::+ -- | 'mediaStreamType'+ MediaStreamType ->+ -- | 'mediaStreamId'+ Prelude.Int ->+ -- | 'mediaStreamName'+ Prelude.Text ->+ AddMediaStreamRequest+newAddMediaStreamRequest+ pMediaStreamType_+ pMediaStreamId_+ pMediaStreamName_ =+ AddMediaStreamRequest'+ { attributes =+ Prelude.Nothing,+ clockRate = Prelude.Nothing,+ description = Prelude.Nothing,+ videoFormat = Prelude.Nothing,+ mediaStreamType = pMediaStreamType_,+ mediaStreamId = pMediaStreamId_,+ mediaStreamName = pMediaStreamName_+ }++-- | The attributes that you want to assign to the new media stream.+addMediaStreamRequest_attributes :: Lens.Lens' AddMediaStreamRequest (Prelude.Maybe MediaStreamAttributesRequest)+addMediaStreamRequest_attributes = Lens.lens (\AddMediaStreamRequest' {attributes} -> attributes) (\s@AddMediaStreamRequest' {} a -> s {attributes = a} :: AddMediaStreamRequest)++-- | The sample rate (in Hz) for the stream. If the media stream type is+-- video or ancillary data, set this value to 90000. If the media stream+-- type is audio, set this value to either 48000 or 96000.+addMediaStreamRequest_clockRate :: Lens.Lens' AddMediaStreamRequest (Prelude.Maybe Prelude.Int)+addMediaStreamRequest_clockRate = Lens.lens (\AddMediaStreamRequest' {clockRate} -> clockRate) (\s@AddMediaStreamRequest' {} a -> s {clockRate = a} :: AddMediaStreamRequest)++-- | A description that can help you quickly identify what your media stream+-- is used for.+addMediaStreamRequest_description :: Lens.Lens' AddMediaStreamRequest (Prelude.Maybe Prelude.Text)+addMediaStreamRequest_description = Lens.lens (\AddMediaStreamRequest' {description} -> description) (\s@AddMediaStreamRequest' {} a -> s {description = a} :: AddMediaStreamRequest)++-- | The resolution of the video.+addMediaStreamRequest_videoFormat :: Lens.Lens' AddMediaStreamRequest (Prelude.Maybe Prelude.Text)+addMediaStreamRequest_videoFormat = Lens.lens (\AddMediaStreamRequest' {videoFormat} -> videoFormat) (\s@AddMediaStreamRequest' {} a -> s {videoFormat = a} :: AddMediaStreamRequest)++-- | The type of media stream.+addMediaStreamRequest_mediaStreamType :: Lens.Lens' AddMediaStreamRequest MediaStreamType+addMediaStreamRequest_mediaStreamType = Lens.lens (\AddMediaStreamRequest' {mediaStreamType} -> mediaStreamType) (\s@AddMediaStreamRequest' {} a -> s {mediaStreamType = a} :: AddMediaStreamRequest)++-- | A unique identifier for the media stream.+addMediaStreamRequest_mediaStreamId :: Lens.Lens' AddMediaStreamRequest Prelude.Int+addMediaStreamRequest_mediaStreamId = Lens.lens (\AddMediaStreamRequest' {mediaStreamId} -> mediaStreamId) (\s@AddMediaStreamRequest' {} a -> s {mediaStreamId = a} :: AddMediaStreamRequest)++-- | A name that helps you distinguish one media stream from another.+addMediaStreamRequest_mediaStreamName :: Lens.Lens' AddMediaStreamRequest Prelude.Text+addMediaStreamRequest_mediaStreamName = Lens.lens (\AddMediaStreamRequest' {mediaStreamName} -> mediaStreamName) (\s@AddMediaStreamRequest' {} a -> s {mediaStreamName = a} :: AddMediaStreamRequest)++instance Prelude.Hashable AddMediaStreamRequest where+ hashWithSalt _salt AddMediaStreamRequest' {..} =+ _salt+ `Prelude.hashWithSalt` attributes+ `Prelude.hashWithSalt` clockRate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` videoFormat+ `Prelude.hashWithSalt` mediaStreamType+ `Prelude.hashWithSalt` mediaStreamId+ `Prelude.hashWithSalt` mediaStreamName++instance Prelude.NFData AddMediaStreamRequest where+ rnf AddMediaStreamRequest' {..} =+ Prelude.rnf attributes+ `Prelude.seq` Prelude.rnf clockRate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf videoFormat+ `Prelude.seq` Prelude.rnf mediaStreamType+ `Prelude.seq` Prelude.rnf mediaStreamId+ `Prelude.seq` Prelude.rnf mediaStreamName++instance Data.ToJSON AddMediaStreamRequest where+ toJSON AddMediaStreamRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("attributes" Data..=) Prelude.<$> attributes,+ ("clockRate" Data..=) Prelude.<$> clockRate,+ ("description" Data..=) Prelude.<$> description,+ ("videoFormat" Data..=) Prelude.<$> videoFormat,+ Prelude.Just+ ("mediaStreamType" Data..= mediaStreamType),+ Prelude.Just ("mediaStreamId" Data..= mediaStreamId),+ Prelude.Just+ ("mediaStreamName" Data..= mediaStreamName)+ ]+ )
+ gen/Amazonka/MediaConnect/Types/AddOutputRequest.hs view
@@ -0,0 +1,291 @@+{-# 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.MediaConnect.Types.AddOutputRequest+-- 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.MediaConnect.Types.AddOutputRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Encryption+import Amazonka.MediaConnect.Types.MediaStreamOutputConfigurationRequest+import Amazonka.MediaConnect.Types.Protocol+import Amazonka.MediaConnect.Types.VpcInterfaceAttachment+import qualified Amazonka.Prelude as Prelude++-- | The output that you want to add to this flow.+--+-- /See:/ 'newAddOutputRequest' smart constructor.+data AddOutputRequest = AddOutputRequest'+ { -- | The range of IP addresses that should be allowed to initiate output+ -- requests to this flow. These IP addresses should be in the form of a+ -- Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+ cidrAllowList :: Prelude.Maybe [Prelude.Text],+ -- | A description of the output. This description appears only on the AWS+ -- Elemental MediaConnect console and will not be seen by the end user.+ description :: Prelude.Maybe Prelude.Text,+ -- | The IP address from which video will be sent to output destinations.+ destination :: Prelude.Maybe Prelude.Text,+ -- | The type of key used for the encryption. If no keyType is provided, the+ -- service will use the default setting (static-key).+ encryption :: Prelude.Maybe Encryption,+ -- | The maximum latency in milliseconds. This parameter applies only to+ -- RIST-based, Zixi-based, and Fujitsu-based streams.+ maxLatency :: Prelude.Maybe Prelude.Int,+ -- | The media streams that are associated with the output, and the+ -- parameters for those associations.+ mediaStreamOutputConfigurations :: Prelude.Maybe [MediaStreamOutputConfigurationRequest],+ -- | The minimum latency in milliseconds for SRT-based streams. In streams+ -- that use the SRT protocol, this value that you set on your MediaConnect+ -- source or output represents the minimal potential latency of that+ -- connection. The latency of the stream is set to the highest number+ -- between the sender’s minimum latency and the receiver’s minimum latency.+ minLatency :: Prelude.Maybe Prelude.Int,+ -- | The name of the output. This value must be unique within the current+ -- flow.+ name :: Prelude.Maybe Prelude.Text,+ -- | The port to use when content is distributed to this output.+ port :: Prelude.Maybe Prelude.Int,+ -- | The remote ID for the Zixi-pull output stream.+ remoteId :: Prelude.Maybe Prelude.Text,+ -- | The port that the flow uses to send outbound requests to initiate+ -- connection with the sender.+ senderControlPort :: Prelude.Maybe Prelude.Int,+ -- | The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC+ -- streams.+ smoothingLatency :: Prelude.Maybe Prelude.Int,+ -- | The stream ID that you want to use for this transport. This parameter+ -- applies only to Zixi-based streams.+ streamId :: Prelude.Maybe Prelude.Text,+ -- | The name of the VPC interface attachment to use for this output.+ vpcInterfaceAttachment :: Prelude.Maybe VpcInterfaceAttachment,+ -- | The protocol to use for the output.+ protocol :: Protocol+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AddOutputRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cidrAllowList', 'addOutputRequest_cidrAllowList' - The range of IP addresses that should be allowed to initiate output+-- requests to this flow. These IP addresses should be in the form of a+-- Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+--+-- 'description', 'addOutputRequest_description' - A description of the output. This description appears only on the AWS+-- Elemental MediaConnect console and will not be seen by the end user.+--+-- 'destination', 'addOutputRequest_destination' - The IP address from which video will be sent to output destinations.+--+-- 'encryption', 'addOutputRequest_encryption' - The type of key used for the encryption. If no keyType is provided, the+-- service will use the default setting (static-key).+--+-- 'maxLatency', 'addOutputRequest_maxLatency' - The maximum latency in milliseconds. This parameter applies only to+-- RIST-based, Zixi-based, and Fujitsu-based streams.+--+-- 'mediaStreamOutputConfigurations', 'addOutputRequest_mediaStreamOutputConfigurations' - The media streams that are associated with the output, and the+-- parameters for those associations.+--+-- 'minLatency', 'addOutputRequest_minLatency' - The minimum latency in milliseconds for SRT-based streams. In streams+-- that use the SRT protocol, this value that you set on your MediaConnect+-- source or output represents the minimal potential latency of that+-- connection. The latency of the stream is set to the highest number+-- between the sender’s minimum latency and the receiver’s minimum latency.+--+-- 'name', 'addOutputRequest_name' - The name of the output. This value must be unique within the current+-- flow.+--+-- 'port', 'addOutputRequest_port' - The port to use when content is distributed to this output.+--+-- 'remoteId', 'addOutputRequest_remoteId' - The remote ID for the Zixi-pull output stream.+--+-- 'senderControlPort', 'addOutputRequest_senderControlPort' - The port that the flow uses to send outbound requests to initiate+-- connection with the sender.+--+-- 'smoothingLatency', 'addOutputRequest_smoothingLatency' - The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC+-- streams.+--+-- 'streamId', 'addOutputRequest_streamId' - The stream ID that you want to use for this transport. This parameter+-- applies only to Zixi-based streams.+--+-- 'vpcInterfaceAttachment', 'addOutputRequest_vpcInterfaceAttachment' - The name of the VPC interface attachment to use for this output.+--+-- 'protocol', 'addOutputRequest_protocol' - The protocol to use for the output.+newAddOutputRequest ::+ -- | 'protocol'+ Protocol ->+ AddOutputRequest+newAddOutputRequest pProtocol_ =+ AddOutputRequest'+ { cidrAllowList = Prelude.Nothing,+ description = Prelude.Nothing,+ destination = Prelude.Nothing,+ encryption = Prelude.Nothing,+ maxLatency = Prelude.Nothing,+ mediaStreamOutputConfigurations = Prelude.Nothing,+ minLatency = Prelude.Nothing,+ name = Prelude.Nothing,+ port = Prelude.Nothing,+ remoteId = Prelude.Nothing,+ senderControlPort = Prelude.Nothing,+ smoothingLatency = Prelude.Nothing,+ streamId = Prelude.Nothing,+ vpcInterfaceAttachment = Prelude.Nothing,+ protocol = pProtocol_+ }++-- | The range of IP addresses that should be allowed to initiate output+-- requests to this flow. These IP addresses should be in the form of a+-- Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+addOutputRequest_cidrAllowList :: Lens.Lens' AddOutputRequest (Prelude.Maybe [Prelude.Text])+addOutputRequest_cidrAllowList = Lens.lens (\AddOutputRequest' {cidrAllowList} -> cidrAllowList) (\s@AddOutputRequest' {} a -> s {cidrAllowList = a} :: AddOutputRequest) Prelude.. Lens.mapping Lens.coerced++-- | A description of the output. This description appears only on the AWS+-- Elemental MediaConnect console and will not be seen by the end user.+addOutputRequest_description :: Lens.Lens' AddOutputRequest (Prelude.Maybe Prelude.Text)+addOutputRequest_description = Lens.lens (\AddOutputRequest' {description} -> description) (\s@AddOutputRequest' {} a -> s {description = a} :: AddOutputRequest)++-- | The IP address from which video will be sent to output destinations.+addOutputRequest_destination :: Lens.Lens' AddOutputRequest (Prelude.Maybe Prelude.Text)+addOutputRequest_destination = Lens.lens (\AddOutputRequest' {destination} -> destination) (\s@AddOutputRequest' {} a -> s {destination = a} :: AddOutputRequest)++-- | The type of key used for the encryption. If no keyType is provided, the+-- service will use the default setting (static-key).+addOutputRequest_encryption :: Lens.Lens' AddOutputRequest (Prelude.Maybe Encryption)+addOutputRequest_encryption = Lens.lens (\AddOutputRequest' {encryption} -> encryption) (\s@AddOutputRequest' {} a -> s {encryption = a} :: AddOutputRequest)++-- | The maximum latency in milliseconds. This parameter applies only to+-- RIST-based, Zixi-based, and Fujitsu-based streams.+addOutputRequest_maxLatency :: Lens.Lens' AddOutputRequest (Prelude.Maybe Prelude.Int)+addOutputRequest_maxLatency = Lens.lens (\AddOutputRequest' {maxLatency} -> maxLatency) (\s@AddOutputRequest' {} a -> s {maxLatency = a} :: AddOutputRequest)++-- | The media streams that are associated with the output, and the+-- parameters for those associations.+addOutputRequest_mediaStreamOutputConfigurations :: Lens.Lens' AddOutputRequest (Prelude.Maybe [MediaStreamOutputConfigurationRequest])+addOutputRequest_mediaStreamOutputConfigurations = Lens.lens (\AddOutputRequest' {mediaStreamOutputConfigurations} -> mediaStreamOutputConfigurations) (\s@AddOutputRequest' {} a -> s {mediaStreamOutputConfigurations = a} :: AddOutputRequest) Prelude.. Lens.mapping Lens.coerced++-- | The minimum latency in milliseconds for SRT-based streams. In streams+-- that use the SRT protocol, this value that you set on your MediaConnect+-- source or output represents the minimal potential latency of that+-- connection. The latency of the stream is set to the highest number+-- between the sender’s minimum latency and the receiver’s minimum latency.+addOutputRequest_minLatency :: Lens.Lens' AddOutputRequest (Prelude.Maybe Prelude.Int)+addOutputRequest_minLatency = Lens.lens (\AddOutputRequest' {minLatency} -> minLatency) (\s@AddOutputRequest' {} a -> s {minLatency = a} :: AddOutputRequest)++-- | The name of the output. This value must be unique within the current+-- flow.+addOutputRequest_name :: Lens.Lens' AddOutputRequest (Prelude.Maybe Prelude.Text)+addOutputRequest_name = Lens.lens (\AddOutputRequest' {name} -> name) (\s@AddOutputRequest' {} a -> s {name = a} :: AddOutputRequest)++-- | The port to use when content is distributed to this output.+addOutputRequest_port :: Lens.Lens' AddOutputRequest (Prelude.Maybe Prelude.Int)+addOutputRequest_port = Lens.lens (\AddOutputRequest' {port} -> port) (\s@AddOutputRequest' {} a -> s {port = a} :: AddOutputRequest)++-- | The remote ID for the Zixi-pull output stream.+addOutputRequest_remoteId :: Lens.Lens' AddOutputRequest (Prelude.Maybe Prelude.Text)+addOutputRequest_remoteId = Lens.lens (\AddOutputRequest' {remoteId} -> remoteId) (\s@AddOutputRequest' {} a -> s {remoteId = a} :: AddOutputRequest)++-- | The port that the flow uses to send outbound requests to initiate+-- connection with the sender.+addOutputRequest_senderControlPort :: Lens.Lens' AddOutputRequest (Prelude.Maybe Prelude.Int)+addOutputRequest_senderControlPort = Lens.lens (\AddOutputRequest' {senderControlPort} -> senderControlPort) (\s@AddOutputRequest' {} a -> s {senderControlPort = a} :: AddOutputRequest)++-- | The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC+-- streams.+addOutputRequest_smoothingLatency :: Lens.Lens' AddOutputRequest (Prelude.Maybe Prelude.Int)+addOutputRequest_smoothingLatency = Lens.lens (\AddOutputRequest' {smoothingLatency} -> smoothingLatency) (\s@AddOutputRequest' {} a -> s {smoothingLatency = a} :: AddOutputRequest)++-- | The stream ID that you want to use for this transport. This parameter+-- applies only to Zixi-based streams.+addOutputRequest_streamId :: Lens.Lens' AddOutputRequest (Prelude.Maybe Prelude.Text)+addOutputRequest_streamId = Lens.lens (\AddOutputRequest' {streamId} -> streamId) (\s@AddOutputRequest' {} a -> s {streamId = a} :: AddOutputRequest)++-- | The name of the VPC interface attachment to use for this output.+addOutputRequest_vpcInterfaceAttachment :: Lens.Lens' AddOutputRequest (Prelude.Maybe VpcInterfaceAttachment)+addOutputRequest_vpcInterfaceAttachment = Lens.lens (\AddOutputRequest' {vpcInterfaceAttachment} -> vpcInterfaceAttachment) (\s@AddOutputRequest' {} a -> s {vpcInterfaceAttachment = a} :: AddOutputRequest)++-- | The protocol to use for the output.+addOutputRequest_protocol :: Lens.Lens' AddOutputRequest Protocol+addOutputRequest_protocol = Lens.lens (\AddOutputRequest' {protocol} -> protocol) (\s@AddOutputRequest' {} a -> s {protocol = a} :: AddOutputRequest)++instance Prelude.Hashable AddOutputRequest where+ hashWithSalt _salt AddOutputRequest' {..} =+ _salt+ `Prelude.hashWithSalt` cidrAllowList+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` destination+ `Prelude.hashWithSalt` encryption+ `Prelude.hashWithSalt` maxLatency+ `Prelude.hashWithSalt` mediaStreamOutputConfigurations+ `Prelude.hashWithSalt` minLatency+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` port+ `Prelude.hashWithSalt` remoteId+ `Prelude.hashWithSalt` senderControlPort+ `Prelude.hashWithSalt` smoothingLatency+ `Prelude.hashWithSalt` streamId+ `Prelude.hashWithSalt` vpcInterfaceAttachment+ `Prelude.hashWithSalt` protocol++instance Prelude.NFData AddOutputRequest where+ rnf AddOutputRequest' {..} =+ Prelude.rnf cidrAllowList+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf destination+ `Prelude.seq` Prelude.rnf encryption+ `Prelude.seq` Prelude.rnf maxLatency+ `Prelude.seq` Prelude.rnf mediaStreamOutputConfigurations+ `Prelude.seq` Prelude.rnf minLatency+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf port+ `Prelude.seq` Prelude.rnf remoteId+ `Prelude.seq` Prelude.rnf senderControlPort+ `Prelude.seq` Prelude.rnf smoothingLatency+ `Prelude.seq` Prelude.rnf streamId+ `Prelude.seq` Prelude.rnf vpcInterfaceAttachment+ `Prelude.seq` Prelude.rnf protocol++instance Data.ToJSON AddOutputRequest where+ toJSON AddOutputRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("cidrAllowList" Data..=) Prelude.<$> cidrAllowList,+ ("description" Data..=) Prelude.<$> description,+ ("destination" Data..=) Prelude.<$> destination,+ ("encryption" Data..=) Prelude.<$> encryption,+ ("maxLatency" Data..=) Prelude.<$> maxLatency,+ ("mediaStreamOutputConfigurations" Data..=)+ Prelude.<$> mediaStreamOutputConfigurations,+ ("minLatency" Data..=) Prelude.<$> minLatency,+ ("name" Data..=) Prelude.<$> name,+ ("port" Data..=) Prelude.<$> port,+ ("remoteId" Data..=) Prelude.<$> remoteId,+ ("senderControlPort" Data..=)+ Prelude.<$> senderControlPort,+ ("smoothingLatency" Data..=)+ Prelude.<$> smoothingLatency,+ ("streamId" Data..=) Prelude.<$> streamId,+ ("vpcInterfaceAttachment" Data..=)+ Prelude.<$> vpcInterfaceAttachment,+ Prelude.Just ("protocol" Data..= protocol)+ ]+ )
+ gen/Amazonka/MediaConnect/Types/Algorithm.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.MediaConnect.Types.Algorithm+-- 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.MediaConnect.Types.Algorithm+ ( Algorithm+ ( ..,+ Algorithm_Aes128,+ Algorithm_Aes192,+ Algorithm_Aes256+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Algorithm = Algorithm'+ { fromAlgorithm ::+ 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 Algorithm_Aes128 :: Algorithm+pattern Algorithm_Aes128 = Algorithm' "aes128"++pattern Algorithm_Aes192 :: Algorithm+pattern Algorithm_Aes192 = Algorithm' "aes192"++pattern Algorithm_Aes256 :: Algorithm+pattern Algorithm_Aes256 = Algorithm' "aes256"++{-# COMPLETE+ Algorithm_Aes128,+ Algorithm_Aes192,+ Algorithm_Aes256,+ Algorithm'+ #-}
+ gen/Amazonka/MediaConnect/Types/Colorimetry.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.Colorimetry+-- 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.MediaConnect.Types.Colorimetry+ ( Colorimetry+ ( ..,+ Colorimetry_BT2020,+ Colorimetry_BT2100,+ Colorimetry_BT601,+ Colorimetry_BT709,+ Colorimetry_ST2065_1,+ Colorimetry_ST2065_3,+ Colorimetry_XYZ+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Colorimetry = Colorimetry'+ { fromColorimetry ::+ 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 Colorimetry_BT2020 :: Colorimetry+pattern Colorimetry_BT2020 = Colorimetry' "BT2020"++pattern Colorimetry_BT2100 :: Colorimetry+pattern Colorimetry_BT2100 = Colorimetry' "BT2100"++pattern Colorimetry_BT601 :: Colorimetry+pattern Colorimetry_BT601 = Colorimetry' "BT601"++pattern Colorimetry_BT709 :: Colorimetry+pattern Colorimetry_BT709 = Colorimetry' "BT709"++pattern Colorimetry_ST2065_1 :: Colorimetry+pattern Colorimetry_ST2065_1 = Colorimetry' "ST2065-1"++pattern Colorimetry_ST2065_3 :: Colorimetry+pattern Colorimetry_ST2065_3 = Colorimetry' "ST2065-3"++pattern Colorimetry_XYZ :: Colorimetry+pattern Colorimetry_XYZ = Colorimetry' "XYZ"++{-# COMPLETE+ Colorimetry_BT2020,+ Colorimetry_BT2100,+ Colorimetry_BT601,+ Colorimetry_BT709,+ Colorimetry_ST2065_1,+ Colorimetry_ST2065_3,+ Colorimetry_XYZ,+ Colorimetry'+ #-}
+ gen/Amazonka/MediaConnect/Types/DestinationConfiguration.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.DestinationConfiguration+-- 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.MediaConnect.Types.DestinationConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Interface+import qualified Amazonka.Prelude as Prelude++-- | The transport parameters that are associated with an outbound media+-- stream.+--+-- /See:/ 'newDestinationConfiguration' smart constructor.+data DestinationConfiguration = DestinationConfiguration'+ { -- | The IP address where contents of the media stream will be sent.+ destinationIp :: Prelude.Text,+ -- | The port to use when the content of the media stream is distributed to+ -- the output.+ destinationPort :: Prelude.Int,+ -- | The VPC interface that is used for the media stream associated with the+ -- output.+ interface :: Interface,+ -- | The IP address that the receiver requires in order to establish a+ -- connection with the flow. This value is represented by the elastic+ -- network interface IP address of the VPC. This field applies only to+ -- outputs that use the CDI or ST 2110 JPEG XS protocol.+ outboundIp :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DestinationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destinationIp', 'destinationConfiguration_destinationIp' - The IP address where contents of the media stream will be sent.+--+-- 'destinationPort', 'destinationConfiguration_destinationPort' - The port to use when the content of the media stream is distributed to+-- the output.+--+-- 'interface', 'destinationConfiguration_interface' - The VPC interface that is used for the media stream associated with the+-- output.+--+-- 'outboundIp', 'destinationConfiguration_outboundIp' - The IP address that the receiver requires in order to establish a+-- connection with the flow. This value is represented by the elastic+-- network interface IP address of the VPC. This field applies only to+-- outputs that use the CDI or ST 2110 JPEG XS protocol.+newDestinationConfiguration ::+ -- | 'destinationIp'+ Prelude.Text ->+ -- | 'destinationPort'+ Prelude.Int ->+ -- | 'interface'+ Interface ->+ -- | 'outboundIp'+ Prelude.Text ->+ DestinationConfiguration+newDestinationConfiguration+ pDestinationIp_+ pDestinationPort_+ pInterface_+ pOutboundIp_ =+ DestinationConfiguration'+ { destinationIp =+ pDestinationIp_,+ destinationPort = pDestinationPort_,+ interface = pInterface_,+ outboundIp = pOutboundIp_+ }++-- | The IP address where contents of the media stream will be sent.+destinationConfiguration_destinationIp :: Lens.Lens' DestinationConfiguration Prelude.Text+destinationConfiguration_destinationIp = Lens.lens (\DestinationConfiguration' {destinationIp} -> destinationIp) (\s@DestinationConfiguration' {} a -> s {destinationIp = a} :: DestinationConfiguration)++-- | The port to use when the content of the media stream is distributed to+-- the output.+destinationConfiguration_destinationPort :: Lens.Lens' DestinationConfiguration Prelude.Int+destinationConfiguration_destinationPort = Lens.lens (\DestinationConfiguration' {destinationPort} -> destinationPort) (\s@DestinationConfiguration' {} a -> s {destinationPort = a} :: DestinationConfiguration)++-- | The VPC interface that is used for the media stream associated with the+-- output.+destinationConfiguration_interface :: Lens.Lens' DestinationConfiguration Interface+destinationConfiguration_interface = Lens.lens (\DestinationConfiguration' {interface} -> interface) (\s@DestinationConfiguration' {} a -> s {interface = a} :: DestinationConfiguration)++-- | The IP address that the receiver requires in order to establish a+-- connection with the flow. This value is represented by the elastic+-- network interface IP address of the VPC. This field applies only to+-- outputs that use the CDI or ST 2110 JPEG XS protocol.+destinationConfiguration_outboundIp :: Lens.Lens' DestinationConfiguration Prelude.Text+destinationConfiguration_outboundIp = Lens.lens (\DestinationConfiguration' {outboundIp} -> outboundIp) (\s@DestinationConfiguration' {} a -> s {outboundIp = a} :: DestinationConfiguration)++instance Data.FromJSON DestinationConfiguration where+ parseJSON =+ Data.withObject+ "DestinationConfiguration"+ ( \x ->+ DestinationConfiguration'+ Prelude.<$> (x Data..: "destinationIp")+ Prelude.<*> (x Data..: "destinationPort")+ Prelude.<*> (x Data..: "interface")+ Prelude.<*> (x Data..: "outboundIp")+ )++instance Prelude.Hashable DestinationConfiguration where+ hashWithSalt _salt DestinationConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` destinationIp+ `Prelude.hashWithSalt` destinationPort+ `Prelude.hashWithSalt` interface+ `Prelude.hashWithSalt` outboundIp++instance Prelude.NFData DestinationConfiguration where+ rnf DestinationConfiguration' {..} =+ Prelude.rnf destinationIp+ `Prelude.seq` Prelude.rnf destinationPort+ `Prelude.seq` Prelude.rnf interface+ `Prelude.seq` Prelude.rnf outboundIp
+ gen/Amazonka/MediaConnect/Types/DestinationConfigurationRequest.hs view
@@ -0,0 +1,126 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.DestinationConfigurationRequest+-- 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.MediaConnect.Types.DestinationConfigurationRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.InterfaceRequest+import qualified Amazonka.Prelude as Prelude++-- | The transport parameters that you want to associate with an outbound+-- media stream.+--+-- /See:/ 'newDestinationConfigurationRequest' smart constructor.+data DestinationConfigurationRequest = DestinationConfigurationRequest'+ { -- | The IP address where you want MediaConnect to send contents of the media+ -- stream.+ destinationIp :: Prelude.Text,+ -- | The port that you want MediaConnect to use when it distributes the media+ -- stream to the output.+ destinationPort :: Prelude.Int,+ -- | The VPC interface that you want to use for the media stream associated+ -- with the output.+ interface :: InterfaceRequest+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DestinationConfigurationRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destinationIp', 'destinationConfigurationRequest_destinationIp' - The IP address where you want MediaConnect to send contents of the media+-- stream.+--+-- 'destinationPort', 'destinationConfigurationRequest_destinationPort' - The port that you want MediaConnect to use when it distributes the media+-- stream to the output.+--+-- 'interface', 'destinationConfigurationRequest_interface' - The VPC interface that you want to use for the media stream associated+-- with the output.+newDestinationConfigurationRequest ::+ -- | 'destinationIp'+ Prelude.Text ->+ -- | 'destinationPort'+ Prelude.Int ->+ -- | 'interface'+ InterfaceRequest ->+ DestinationConfigurationRequest+newDestinationConfigurationRequest+ pDestinationIp_+ pDestinationPort_+ pInterface_ =+ DestinationConfigurationRequest'+ { destinationIp =+ pDestinationIp_,+ destinationPort = pDestinationPort_,+ interface = pInterface_+ }++-- | The IP address where you want MediaConnect to send contents of the media+-- stream.+destinationConfigurationRequest_destinationIp :: Lens.Lens' DestinationConfigurationRequest Prelude.Text+destinationConfigurationRequest_destinationIp = Lens.lens (\DestinationConfigurationRequest' {destinationIp} -> destinationIp) (\s@DestinationConfigurationRequest' {} a -> s {destinationIp = a} :: DestinationConfigurationRequest)++-- | The port that you want MediaConnect to use when it distributes the media+-- stream to the output.+destinationConfigurationRequest_destinationPort :: Lens.Lens' DestinationConfigurationRequest Prelude.Int+destinationConfigurationRequest_destinationPort = Lens.lens (\DestinationConfigurationRequest' {destinationPort} -> destinationPort) (\s@DestinationConfigurationRequest' {} a -> s {destinationPort = a} :: DestinationConfigurationRequest)++-- | The VPC interface that you want to use for the media stream associated+-- with the output.+destinationConfigurationRequest_interface :: Lens.Lens' DestinationConfigurationRequest InterfaceRequest+destinationConfigurationRequest_interface = Lens.lens (\DestinationConfigurationRequest' {interface} -> interface) (\s@DestinationConfigurationRequest' {} a -> s {interface = a} :: DestinationConfigurationRequest)++instance+ Prelude.Hashable+ DestinationConfigurationRequest+ where+ hashWithSalt+ _salt+ DestinationConfigurationRequest' {..} =+ _salt+ `Prelude.hashWithSalt` destinationIp+ `Prelude.hashWithSalt` destinationPort+ `Prelude.hashWithSalt` interface++instance+ Prelude.NFData+ DestinationConfigurationRequest+ where+ rnf DestinationConfigurationRequest' {..} =+ Prelude.rnf destinationIp+ `Prelude.seq` Prelude.rnf destinationPort+ `Prelude.seq` Prelude.rnf interface++instance Data.ToJSON DestinationConfigurationRequest where+ toJSON DestinationConfigurationRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("destinationIp" Data..= destinationIp),+ Prelude.Just+ ("destinationPort" Data..= destinationPort),+ Prelude.Just ("interface" Data..= interface)+ ]+ )
+ gen/Amazonka/MediaConnect/Types/DurationUnits.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.MediaConnect.Types.DurationUnits+-- 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.MediaConnect.Types.DurationUnits+ ( DurationUnits+ ( ..,+ DurationUnits_MONTHS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype DurationUnits = DurationUnits'+ { fromDurationUnits ::+ 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 DurationUnits_MONTHS :: DurationUnits+pattern DurationUnits_MONTHS = DurationUnits' "MONTHS"++{-# COMPLETE+ DurationUnits_MONTHS,+ DurationUnits'+ #-}
+ gen/Amazonka/MediaConnect/Types/EncoderProfile.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.MediaConnect.Types.EncoderProfile+-- 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.MediaConnect.Types.EncoderProfile+ ( EncoderProfile+ ( ..,+ EncoderProfile_High,+ EncoderProfile_Main+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EncoderProfile = EncoderProfile'+ { fromEncoderProfile ::+ 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 EncoderProfile_High :: EncoderProfile+pattern EncoderProfile_High = EncoderProfile' "high"++pattern EncoderProfile_Main :: EncoderProfile+pattern EncoderProfile_Main = EncoderProfile' "main"++{-# COMPLETE+ EncoderProfile_High,+ EncoderProfile_Main,+ EncoderProfile'+ #-}
+ gen/Amazonka/MediaConnect/Types/EncodingName.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.MediaConnect.Types.EncodingName+-- 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.MediaConnect.Types.EncodingName+ ( EncodingName+ ( ..,+ EncodingName_Jxsv,+ EncodingName_Pcm,+ EncodingName_Raw,+ EncodingName_Smpte291+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EncodingName = EncodingName'+ { fromEncodingName ::+ 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 EncodingName_Jxsv :: EncodingName+pattern EncodingName_Jxsv = EncodingName' "jxsv"++pattern EncodingName_Pcm :: EncodingName+pattern EncodingName_Pcm = EncodingName' "pcm"++pattern EncodingName_Raw :: EncodingName+pattern EncodingName_Raw = EncodingName' "raw"++pattern EncodingName_Smpte291 :: EncodingName+pattern EncodingName_Smpte291 = EncodingName' "smpte291"++{-# COMPLETE+ EncodingName_Jxsv,+ EncodingName_Pcm,+ EncodingName_Raw,+ EncodingName_Smpte291,+ EncodingName'+ #-}
+ gen/Amazonka/MediaConnect/Types/EncodingParameters.hs view
@@ -0,0 +1,115 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.EncodingParameters+-- 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.MediaConnect.Types.EncodingParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.EncoderProfile+import qualified Amazonka.Prelude as Prelude++-- | A collection of parameters that determine how MediaConnect will convert+-- the content. These fields only apply to outputs on flows that have a CDI+-- source.+--+-- /See:/ 'newEncodingParameters' smart constructor.+data EncodingParameters = EncodingParameters'+ { -- | A setting on the encoder that drives compression settings. This property+ -- only applies to video media streams associated with outputs that use the+ -- ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol.+ encoderProfile :: EncoderProfile,+ -- | A value that is used to calculate compression for an output. The bitrate+ -- of the output is calculated as follows: Output bitrate = (1 \/+ -- compressionFactor) * (source bitrate) This property only applies to+ -- outputs that use the ST 2110 JPEG XS protocol, with a flow source that+ -- uses the CDI protocol. Valid values are floating point numbers in the+ -- range of 3.0 to 10.0, inclusive.+ compressionFactor :: Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EncodingParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'encoderProfile', 'encodingParameters_encoderProfile' - A setting on the encoder that drives compression settings. This property+-- only applies to video media streams associated with outputs that use the+-- ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol.+--+-- 'compressionFactor', 'encodingParameters_compressionFactor' - A value that is used to calculate compression for an output. The bitrate+-- of the output is calculated as follows: Output bitrate = (1 \/+-- compressionFactor) * (source bitrate) This property only applies to+-- outputs that use the ST 2110 JPEG XS protocol, with a flow source that+-- uses the CDI protocol. Valid values are floating point numbers in the+-- range of 3.0 to 10.0, inclusive.+newEncodingParameters ::+ -- | 'encoderProfile'+ EncoderProfile ->+ -- | 'compressionFactor'+ Prelude.Double ->+ EncodingParameters+newEncodingParameters+ pEncoderProfile_+ pCompressionFactor_ =+ EncodingParameters'+ { encoderProfile =+ pEncoderProfile_,+ compressionFactor = pCompressionFactor_+ }++-- | A setting on the encoder that drives compression settings. This property+-- only applies to video media streams associated with outputs that use the+-- ST 2110 JPEG XS protocol, with a flow source that uses the CDI protocol.+encodingParameters_encoderProfile :: Lens.Lens' EncodingParameters EncoderProfile+encodingParameters_encoderProfile = Lens.lens (\EncodingParameters' {encoderProfile} -> encoderProfile) (\s@EncodingParameters' {} a -> s {encoderProfile = a} :: EncodingParameters)++-- | A value that is used to calculate compression for an output. The bitrate+-- of the output is calculated as follows: Output bitrate = (1 \/+-- compressionFactor) * (source bitrate) This property only applies to+-- outputs that use the ST 2110 JPEG XS protocol, with a flow source that+-- uses the CDI protocol. Valid values are floating point numbers in the+-- range of 3.0 to 10.0, inclusive.+encodingParameters_compressionFactor :: Lens.Lens' EncodingParameters Prelude.Double+encodingParameters_compressionFactor = Lens.lens (\EncodingParameters' {compressionFactor} -> compressionFactor) (\s@EncodingParameters' {} a -> s {compressionFactor = a} :: EncodingParameters)++instance Data.FromJSON EncodingParameters where+ parseJSON =+ Data.withObject+ "EncodingParameters"+ ( \x ->+ EncodingParameters'+ Prelude.<$> (x Data..: "encoderProfile")+ Prelude.<*> (x Data..: "compressionFactor")+ )++instance Prelude.Hashable EncodingParameters where+ hashWithSalt _salt EncodingParameters' {..} =+ _salt+ `Prelude.hashWithSalt` encoderProfile+ `Prelude.hashWithSalt` compressionFactor++instance Prelude.NFData EncodingParameters where+ rnf EncodingParameters' {..} =+ Prelude.rnf encoderProfile+ `Prelude.seq` Prelude.rnf compressionFactor
+ gen/Amazonka/MediaConnect/Types/EncodingParametersRequest.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.MediaConnect.Types.EncodingParametersRequest+-- 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.MediaConnect.Types.EncodingParametersRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.EncoderProfile+import qualified Amazonka.Prelude as Prelude++-- | A collection of parameters that determine how MediaConnect will convert+-- the content. These fields only apply to outputs on flows that have a CDI+-- source.+--+-- /See:/ 'newEncodingParametersRequest' smart constructor.+data EncodingParametersRequest = EncodingParametersRequest'+ { -- | A setting on the encoder that drives compression settings. This property+ -- only applies to video media streams associated with outputs that use the+ -- ST 2110 JPEG XS protocol, if at least one source on the flow uses the+ -- CDI protocol.+ encoderProfile :: EncoderProfile,+ -- | A value that is used to calculate compression for an output. The bitrate+ -- of the output is calculated as follows: Output bitrate = (1 \/+ -- compressionFactor) * (source bitrate) This property only applies to+ -- outputs that use the ST 2110 JPEG XS protocol, with a flow source that+ -- uses the CDI protocol. Valid values are floating point numbers in the+ -- range of 3.0 to 10.0, inclusive.+ compressionFactor :: Prelude.Double+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EncodingParametersRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'encoderProfile', 'encodingParametersRequest_encoderProfile' - A setting on the encoder that drives compression settings. This property+-- only applies to video media streams associated with outputs that use the+-- ST 2110 JPEG XS protocol, if at least one source on the flow uses the+-- CDI protocol.+--+-- 'compressionFactor', 'encodingParametersRequest_compressionFactor' - A value that is used to calculate compression for an output. The bitrate+-- of the output is calculated as follows: Output bitrate = (1 \/+-- compressionFactor) * (source bitrate) This property only applies to+-- outputs that use the ST 2110 JPEG XS protocol, with a flow source that+-- uses the CDI protocol. Valid values are floating point numbers in the+-- range of 3.0 to 10.0, inclusive.+newEncodingParametersRequest ::+ -- | 'encoderProfile'+ EncoderProfile ->+ -- | 'compressionFactor'+ Prelude.Double ->+ EncodingParametersRequest+newEncodingParametersRequest+ pEncoderProfile_+ pCompressionFactor_ =+ EncodingParametersRequest'+ { encoderProfile =+ pEncoderProfile_,+ compressionFactor = pCompressionFactor_+ }++-- | A setting on the encoder that drives compression settings. This property+-- only applies to video media streams associated with outputs that use the+-- ST 2110 JPEG XS protocol, if at least one source on the flow uses the+-- CDI protocol.+encodingParametersRequest_encoderProfile :: Lens.Lens' EncodingParametersRequest EncoderProfile+encodingParametersRequest_encoderProfile = Lens.lens (\EncodingParametersRequest' {encoderProfile} -> encoderProfile) (\s@EncodingParametersRequest' {} a -> s {encoderProfile = a} :: EncodingParametersRequest)++-- | A value that is used to calculate compression for an output. The bitrate+-- of the output is calculated as follows: Output bitrate = (1 \/+-- compressionFactor) * (source bitrate) This property only applies to+-- outputs that use the ST 2110 JPEG XS protocol, with a flow source that+-- uses the CDI protocol. Valid values are floating point numbers in the+-- range of 3.0 to 10.0, inclusive.+encodingParametersRequest_compressionFactor :: Lens.Lens' EncodingParametersRequest Prelude.Double+encodingParametersRequest_compressionFactor = Lens.lens (\EncodingParametersRequest' {compressionFactor} -> compressionFactor) (\s@EncodingParametersRequest' {} a -> s {compressionFactor = a} :: EncodingParametersRequest)++instance Prelude.Hashable EncodingParametersRequest where+ hashWithSalt _salt EncodingParametersRequest' {..} =+ _salt+ `Prelude.hashWithSalt` encoderProfile+ `Prelude.hashWithSalt` compressionFactor++instance Prelude.NFData EncodingParametersRequest where+ rnf EncodingParametersRequest' {..} =+ Prelude.rnf encoderProfile+ `Prelude.seq` Prelude.rnf compressionFactor++instance Data.ToJSON EncodingParametersRequest where+ toJSON EncodingParametersRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("encoderProfile" Data..= encoderProfile),+ Prelude.Just+ ("compressionFactor" Data..= compressionFactor)+ ]+ )
+ gen/Amazonka/MediaConnect/Types/Encryption.hs view
@@ -0,0 +1,240 @@+{-# 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.MediaConnect.Types.Encryption+-- 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.MediaConnect.Types.Encryption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Algorithm+import Amazonka.MediaConnect.Types.KeyType+import qualified Amazonka.Prelude as Prelude++-- | Information about the encryption of the flow.+--+-- /See:/ 'newEncryption' smart constructor.+data Encryption = Encryption'+ { -- | The type of algorithm that is used for the encryption (such as aes128,+ -- aes192, or aes256).+ algorithm :: Prelude.Maybe Algorithm,+ -- | A 128-bit, 16-byte hex value represented by a 32-character string, to be+ -- used with the key for encrypting content. This parameter is not valid+ -- for static key encryption.+ constantInitializationVector :: Prelude.Maybe Prelude.Text,+ -- | The value of one of the devices that you configured with your digital+ -- rights management (DRM) platform key provider. This parameter is+ -- required for SPEKE encryption and is not valid for static key+ -- encryption.+ deviceId :: Prelude.Maybe Prelude.Text,+ -- | The type of key that is used for the encryption. If no keyType is+ -- provided, the service will use the default setting (static-key).+ keyType :: Prelude.Maybe KeyType,+ -- | The AWS Region that the API Gateway proxy endpoint was created in. This+ -- parameter is required for SPEKE encryption and is not valid for static+ -- key encryption.+ region :: Prelude.Maybe Prelude.Text,+ -- | An identifier for the content. The service sends this value to the key+ -- server to identify the current endpoint. The resource ID is also known+ -- as the content ID. This parameter is required for SPEKE encryption and+ -- is not valid for static key encryption.+ resourceId :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the secret that you created in AWS Secrets Manager to store+ -- the encryption key. This parameter is required for static key encryption+ -- and is not valid for SPEKE encryption.+ secretArn :: Prelude.Maybe Prelude.Text,+ -- | The URL from the API Gateway proxy that you set up to talk to your key+ -- server. This parameter is required for SPEKE encryption and is not valid+ -- for static key encryption.+ url :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the role that you created during setup (when you set up AWS+ -- Elemental MediaConnect as a trusted entity).+ roleArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Encryption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'algorithm', 'encryption_algorithm' - The type of algorithm that is used for the encryption (such as aes128,+-- aes192, or aes256).+--+-- 'constantInitializationVector', 'encryption_constantInitializationVector' - A 128-bit, 16-byte hex value represented by a 32-character string, to be+-- used with the key for encrypting content. This parameter is not valid+-- for static key encryption.+--+-- 'deviceId', 'encryption_deviceId' - The value of one of the devices that you configured with your digital+-- rights management (DRM) platform key provider. This parameter is+-- required for SPEKE encryption and is not valid for static key+-- encryption.+--+-- 'keyType', 'encryption_keyType' - The type of key that is used for the encryption. If no keyType is+-- provided, the service will use the default setting (static-key).+--+-- 'region', 'encryption_region' - The AWS Region that the API Gateway proxy endpoint was created in. This+-- parameter is required for SPEKE encryption and is not valid for static+-- key encryption.+--+-- 'resourceId', 'encryption_resourceId' - An identifier for the content. The service sends this value to the key+-- server to identify the current endpoint. The resource ID is also known+-- as the content ID. This parameter is required for SPEKE encryption and+-- is not valid for static key encryption.+--+-- 'secretArn', 'encryption_secretArn' - The ARN of the secret that you created in AWS Secrets Manager to store+-- the encryption key. This parameter is required for static key encryption+-- and is not valid for SPEKE encryption.+--+-- 'url', 'encryption_url' - The URL from the API Gateway proxy that you set up to talk to your key+-- server. This parameter is required for SPEKE encryption and is not valid+-- for static key encryption.+--+-- 'roleArn', 'encryption_roleArn' - The ARN of the role that you created during setup (when you set up AWS+-- Elemental MediaConnect as a trusted entity).+newEncryption ::+ -- | 'roleArn'+ Prelude.Text ->+ Encryption+newEncryption pRoleArn_ =+ Encryption'+ { algorithm = Prelude.Nothing,+ constantInitializationVector = Prelude.Nothing,+ deviceId = Prelude.Nothing,+ keyType = Prelude.Nothing,+ region = Prelude.Nothing,+ resourceId = Prelude.Nothing,+ secretArn = Prelude.Nothing,+ url = Prelude.Nothing,+ roleArn = pRoleArn_+ }++-- | The type of algorithm that is used for the encryption (such as aes128,+-- aes192, or aes256).+encryption_algorithm :: Lens.Lens' Encryption (Prelude.Maybe Algorithm)+encryption_algorithm = Lens.lens (\Encryption' {algorithm} -> algorithm) (\s@Encryption' {} a -> s {algorithm = a} :: Encryption)++-- | A 128-bit, 16-byte hex value represented by a 32-character string, to be+-- used with the key for encrypting content. This parameter is not valid+-- for static key encryption.+encryption_constantInitializationVector :: Lens.Lens' Encryption (Prelude.Maybe Prelude.Text)+encryption_constantInitializationVector = Lens.lens (\Encryption' {constantInitializationVector} -> constantInitializationVector) (\s@Encryption' {} a -> s {constantInitializationVector = a} :: Encryption)++-- | The value of one of the devices that you configured with your digital+-- rights management (DRM) platform key provider. This parameter is+-- required for SPEKE encryption and is not valid for static key+-- encryption.+encryption_deviceId :: Lens.Lens' Encryption (Prelude.Maybe Prelude.Text)+encryption_deviceId = Lens.lens (\Encryption' {deviceId} -> deviceId) (\s@Encryption' {} a -> s {deviceId = a} :: Encryption)++-- | The type of key that is used for the encryption. If no keyType is+-- provided, the service will use the default setting (static-key).+encryption_keyType :: Lens.Lens' Encryption (Prelude.Maybe KeyType)+encryption_keyType = Lens.lens (\Encryption' {keyType} -> keyType) (\s@Encryption' {} a -> s {keyType = a} :: Encryption)++-- | The AWS Region that the API Gateway proxy endpoint was created in. This+-- parameter is required for SPEKE encryption and is not valid for static+-- key encryption.+encryption_region :: Lens.Lens' Encryption (Prelude.Maybe Prelude.Text)+encryption_region = Lens.lens (\Encryption' {region} -> region) (\s@Encryption' {} a -> s {region = a} :: Encryption)++-- | An identifier for the content. The service sends this value to the key+-- server to identify the current endpoint. The resource ID is also known+-- as the content ID. This parameter is required for SPEKE encryption and+-- is not valid for static key encryption.+encryption_resourceId :: Lens.Lens' Encryption (Prelude.Maybe Prelude.Text)+encryption_resourceId = Lens.lens (\Encryption' {resourceId} -> resourceId) (\s@Encryption' {} a -> s {resourceId = a} :: Encryption)++-- | The ARN of the secret that you created in AWS Secrets Manager to store+-- the encryption key. This parameter is required for static key encryption+-- and is not valid for SPEKE encryption.+encryption_secretArn :: Lens.Lens' Encryption (Prelude.Maybe Prelude.Text)+encryption_secretArn = Lens.lens (\Encryption' {secretArn} -> secretArn) (\s@Encryption' {} a -> s {secretArn = a} :: Encryption)++-- | The URL from the API Gateway proxy that you set up to talk to your key+-- server. This parameter is required for SPEKE encryption and is not valid+-- for static key encryption.+encryption_url :: Lens.Lens' Encryption (Prelude.Maybe Prelude.Text)+encryption_url = Lens.lens (\Encryption' {url} -> url) (\s@Encryption' {} a -> s {url = a} :: Encryption)++-- | The ARN of the role that you created during setup (when you set up AWS+-- Elemental MediaConnect as a trusted entity).+encryption_roleArn :: Lens.Lens' Encryption Prelude.Text+encryption_roleArn = Lens.lens (\Encryption' {roleArn} -> roleArn) (\s@Encryption' {} a -> s {roleArn = a} :: Encryption)++instance Data.FromJSON Encryption where+ parseJSON =+ Data.withObject+ "Encryption"+ ( \x ->+ Encryption'+ Prelude.<$> (x Data..:? "algorithm")+ Prelude.<*> (x Data..:? "constantInitializationVector")+ Prelude.<*> (x Data..:? "deviceId")+ Prelude.<*> (x Data..:? "keyType")+ Prelude.<*> (x Data..:? "region")+ Prelude.<*> (x Data..:? "resourceId")+ Prelude.<*> (x Data..:? "secretArn")+ Prelude.<*> (x Data..:? "url")+ Prelude.<*> (x Data..: "roleArn")+ )++instance Prelude.Hashable Encryption where+ hashWithSalt _salt Encryption' {..} =+ _salt+ `Prelude.hashWithSalt` algorithm+ `Prelude.hashWithSalt` constantInitializationVector+ `Prelude.hashWithSalt` deviceId+ `Prelude.hashWithSalt` keyType+ `Prelude.hashWithSalt` region+ `Prelude.hashWithSalt` resourceId+ `Prelude.hashWithSalt` secretArn+ `Prelude.hashWithSalt` url+ `Prelude.hashWithSalt` roleArn++instance Prelude.NFData Encryption where+ rnf Encryption' {..} =+ Prelude.rnf algorithm+ `Prelude.seq` Prelude.rnf constantInitializationVector+ `Prelude.seq` Prelude.rnf deviceId+ `Prelude.seq` Prelude.rnf keyType+ `Prelude.seq` Prelude.rnf region+ `Prelude.seq` Prelude.rnf resourceId+ `Prelude.seq` Prelude.rnf secretArn+ `Prelude.seq` Prelude.rnf url+ `Prelude.seq` Prelude.rnf roleArn++instance Data.ToJSON Encryption where+ toJSON Encryption' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("algorithm" Data..=) Prelude.<$> algorithm,+ ("constantInitializationVector" Data..=)+ Prelude.<$> constantInitializationVector,+ ("deviceId" Data..=) Prelude.<$> deviceId,+ ("keyType" Data..=) Prelude.<$> keyType,+ ("region" Data..=) Prelude.<$> region,+ ("resourceId" Data..=) Prelude.<$> resourceId,+ ("secretArn" Data..=) Prelude.<$> secretArn,+ ("url" Data..=) Prelude.<$> url,+ Prelude.Just ("roleArn" Data..= roleArn)+ ]+ )
+ gen/Amazonka/MediaConnect/Types/Entitlement.hs view
@@ -0,0 +1,163 @@+{-# 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.MediaConnect.Types.Entitlement+-- 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.MediaConnect.Types.Entitlement where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Encryption+import Amazonka.MediaConnect.Types.EntitlementStatus+import qualified Amazonka.Prelude as Prelude++-- | The settings for a flow entitlement.+--+-- /See:/ 'newEntitlement' smart constructor.+data Entitlement = Entitlement'+ { -- | Percentage from 0-100 of the data transfer cost to be billed to the+ -- subscriber.+ dataTransferSubscriberFeePercent :: Prelude.Maybe Prelude.Int,+ -- | A description of the entitlement.+ description :: Prelude.Maybe Prelude.Text,+ -- | The type of encryption that will be used on the output that is+ -- associated with this entitlement.+ encryption :: Prelude.Maybe Encryption,+ -- | An indication of whether the entitlement is enabled.+ entitlementStatus :: Prelude.Maybe EntitlementStatus,+ -- | The ARN of the entitlement.+ entitlementArn :: Prelude.Text,+ -- | The AWS account IDs that you want to share your content with. The+ -- receiving accounts (subscribers) will be allowed to create their own+ -- flow using your content as the source.+ subscribers :: [Prelude.Text],+ -- | The name of the entitlement.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Entitlement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataTransferSubscriberFeePercent', 'entitlement_dataTransferSubscriberFeePercent' - Percentage from 0-100 of the data transfer cost to be billed to the+-- subscriber.+--+-- 'description', 'entitlement_description' - A description of the entitlement.+--+-- 'encryption', 'entitlement_encryption' - The type of encryption that will be used on the output that is+-- associated with this entitlement.+--+-- 'entitlementStatus', 'entitlement_entitlementStatus' - An indication of whether the entitlement is enabled.+--+-- 'entitlementArn', 'entitlement_entitlementArn' - The ARN of the entitlement.+--+-- 'subscribers', 'entitlement_subscribers' - The AWS account IDs that you want to share your content with. The+-- receiving accounts (subscribers) will be allowed to create their own+-- flow using your content as the source.+--+-- 'name', 'entitlement_name' - The name of the entitlement.+newEntitlement ::+ -- | 'entitlementArn'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ Entitlement+newEntitlement pEntitlementArn_ pName_ =+ Entitlement'+ { dataTransferSubscriberFeePercent =+ Prelude.Nothing,+ description = Prelude.Nothing,+ encryption = Prelude.Nothing,+ entitlementStatus = Prelude.Nothing,+ entitlementArn = pEntitlementArn_,+ subscribers = Prelude.mempty,+ name = pName_+ }++-- | Percentage from 0-100 of the data transfer cost to be billed to the+-- subscriber.+entitlement_dataTransferSubscriberFeePercent :: Lens.Lens' Entitlement (Prelude.Maybe Prelude.Int)+entitlement_dataTransferSubscriberFeePercent = Lens.lens (\Entitlement' {dataTransferSubscriberFeePercent} -> dataTransferSubscriberFeePercent) (\s@Entitlement' {} a -> s {dataTransferSubscriberFeePercent = a} :: Entitlement)++-- | A description of the entitlement.+entitlement_description :: Lens.Lens' Entitlement (Prelude.Maybe Prelude.Text)+entitlement_description = Lens.lens (\Entitlement' {description} -> description) (\s@Entitlement' {} a -> s {description = a} :: Entitlement)++-- | The type of encryption that will be used on the output that is+-- associated with this entitlement.+entitlement_encryption :: Lens.Lens' Entitlement (Prelude.Maybe Encryption)+entitlement_encryption = Lens.lens (\Entitlement' {encryption} -> encryption) (\s@Entitlement' {} a -> s {encryption = a} :: Entitlement)++-- | An indication of whether the entitlement is enabled.+entitlement_entitlementStatus :: Lens.Lens' Entitlement (Prelude.Maybe EntitlementStatus)+entitlement_entitlementStatus = Lens.lens (\Entitlement' {entitlementStatus} -> entitlementStatus) (\s@Entitlement' {} a -> s {entitlementStatus = a} :: Entitlement)++-- | The ARN of the entitlement.+entitlement_entitlementArn :: Lens.Lens' Entitlement Prelude.Text+entitlement_entitlementArn = Lens.lens (\Entitlement' {entitlementArn} -> entitlementArn) (\s@Entitlement' {} a -> s {entitlementArn = a} :: Entitlement)++-- | The AWS account IDs that you want to share your content with. The+-- receiving accounts (subscribers) will be allowed to create their own+-- flow using your content as the source.+entitlement_subscribers :: Lens.Lens' Entitlement [Prelude.Text]+entitlement_subscribers = Lens.lens (\Entitlement' {subscribers} -> subscribers) (\s@Entitlement' {} a -> s {subscribers = a} :: Entitlement) Prelude.. Lens.coerced++-- | The name of the entitlement.+entitlement_name :: Lens.Lens' Entitlement Prelude.Text+entitlement_name = Lens.lens (\Entitlement' {name} -> name) (\s@Entitlement' {} a -> s {name = a} :: Entitlement)++instance Data.FromJSON Entitlement where+ parseJSON =+ Data.withObject+ "Entitlement"+ ( \x ->+ Entitlement'+ Prelude.<$> (x Data..:? "dataTransferSubscriberFeePercent")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "encryption")+ Prelude.<*> (x Data..:? "entitlementStatus")+ Prelude.<*> (x Data..: "entitlementArn")+ Prelude.<*> (x Data..:? "subscribers" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "name")+ )++instance Prelude.Hashable Entitlement where+ hashWithSalt _salt Entitlement' {..} =+ _salt+ `Prelude.hashWithSalt` dataTransferSubscriberFeePercent+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` encryption+ `Prelude.hashWithSalt` entitlementStatus+ `Prelude.hashWithSalt` entitlementArn+ `Prelude.hashWithSalt` subscribers+ `Prelude.hashWithSalt` name++instance Prelude.NFData Entitlement where+ rnf Entitlement' {..} =+ Prelude.rnf dataTransferSubscriberFeePercent+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf encryption+ `Prelude.seq` Prelude.rnf entitlementStatus+ `Prelude.seq` Prelude.rnf entitlementArn+ `Prelude.seq` Prelude.rnf subscribers+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/MediaConnect/Types/EntitlementStatus.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.MediaConnect.Types.EntitlementStatus+-- 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.MediaConnect.Types.EntitlementStatus+ ( EntitlementStatus+ ( ..,+ EntitlementStatus_DISABLED,+ EntitlementStatus_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype EntitlementStatus = EntitlementStatus'+ { fromEntitlementStatus ::+ 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 EntitlementStatus_DISABLED :: EntitlementStatus+pattern EntitlementStatus_DISABLED = EntitlementStatus' "DISABLED"++pattern EntitlementStatus_ENABLED :: EntitlementStatus+pattern EntitlementStatus_ENABLED = EntitlementStatus' "ENABLED"++{-# COMPLETE+ EntitlementStatus_DISABLED,+ EntitlementStatus_ENABLED,+ EntitlementStatus'+ #-}
+ gen/Amazonka/MediaConnect/Types/FailoverConfig.hs view
@@ -0,0 +1,132 @@+{-# 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.MediaConnect.Types.FailoverConfig+-- 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.MediaConnect.Types.FailoverConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.FailoverMode+import Amazonka.MediaConnect.Types.SourcePriority+import Amazonka.MediaConnect.Types.State+import qualified Amazonka.Prelude as Prelude++-- | The settings for source failover.+--+-- /See:/ 'newFailoverConfig' smart constructor.+data FailoverConfig = FailoverConfig'+ { -- | The type of failover you choose for this flow. MERGE combines the source+ -- streams into a single stream, allowing graceful recovery from any+ -- single-source loss. FAILOVER allows switching between different streams.+ failoverMode :: Prelude.Maybe FailoverMode,+ -- | Search window time to look for dash-7 packets+ recoveryWindow :: Prelude.Maybe Prelude.Int,+ -- | The priority you want to assign to a source. You can have a primary+ -- stream and a backup stream or two equally prioritized streams.+ sourcePriority :: Prelude.Maybe SourcePriority,+ state :: Prelude.Maybe State+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FailoverConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'failoverMode', 'failoverConfig_failoverMode' - The type of failover you choose for this flow. MERGE combines the source+-- streams into a single stream, allowing graceful recovery from any+-- single-source loss. FAILOVER allows switching between different streams.+--+-- 'recoveryWindow', 'failoverConfig_recoveryWindow' - Search window time to look for dash-7 packets+--+-- 'sourcePriority', 'failoverConfig_sourcePriority' - The priority you want to assign to a source. You can have a primary+-- stream and a backup stream or two equally prioritized streams.+--+-- 'state', 'failoverConfig_state' - Undocumented member.+newFailoverConfig ::+ FailoverConfig+newFailoverConfig =+ FailoverConfig'+ { failoverMode = Prelude.Nothing,+ recoveryWindow = Prelude.Nothing,+ sourcePriority = Prelude.Nothing,+ state = Prelude.Nothing+ }++-- | The type of failover you choose for this flow. MERGE combines the source+-- streams into a single stream, allowing graceful recovery from any+-- single-source loss. FAILOVER allows switching between different streams.+failoverConfig_failoverMode :: Lens.Lens' FailoverConfig (Prelude.Maybe FailoverMode)+failoverConfig_failoverMode = Lens.lens (\FailoverConfig' {failoverMode} -> failoverMode) (\s@FailoverConfig' {} a -> s {failoverMode = a} :: FailoverConfig)++-- | Search window time to look for dash-7 packets+failoverConfig_recoveryWindow :: Lens.Lens' FailoverConfig (Prelude.Maybe Prelude.Int)+failoverConfig_recoveryWindow = Lens.lens (\FailoverConfig' {recoveryWindow} -> recoveryWindow) (\s@FailoverConfig' {} a -> s {recoveryWindow = a} :: FailoverConfig)++-- | The priority you want to assign to a source. You can have a primary+-- stream and a backup stream or two equally prioritized streams.+failoverConfig_sourcePriority :: Lens.Lens' FailoverConfig (Prelude.Maybe SourcePriority)+failoverConfig_sourcePriority = Lens.lens (\FailoverConfig' {sourcePriority} -> sourcePriority) (\s@FailoverConfig' {} a -> s {sourcePriority = a} :: FailoverConfig)++-- | Undocumented member.+failoverConfig_state :: Lens.Lens' FailoverConfig (Prelude.Maybe State)+failoverConfig_state = Lens.lens (\FailoverConfig' {state} -> state) (\s@FailoverConfig' {} a -> s {state = a} :: FailoverConfig)++instance Data.FromJSON FailoverConfig where+ parseJSON =+ Data.withObject+ "FailoverConfig"+ ( \x ->+ FailoverConfig'+ Prelude.<$> (x Data..:? "failoverMode")+ Prelude.<*> (x Data..:? "recoveryWindow")+ Prelude.<*> (x Data..:? "sourcePriority")+ Prelude.<*> (x Data..:? "state")+ )++instance Prelude.Hashable FailoverConfig where+ hashWithSalt _salt FailoverConfig' {..} =+ _salt+ `Prelude.hashWithSalt` failoverMode+ `Prelude.hashWithSalt` recoveryWindow+ `Prelude.hashWithSalt` sourcePriority+ `Prelude.hashWithSalt` state++instance Prelude.NFData FailoverConfig where+ rnf FailoverConfig' {..} =+ Prelude.rnf failoverMode+ `Prelude.seq` Prelude.rnf recoveryWindow+ `Prelude.seq` Prelude.rnf sourcePriority+ `Prelude.seq` Prelude.rnf state++instance Data.ToJSON FailoverConfig where+ toJSON FailoverConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("failoverMode" Data..=) Prelude.<$> failoverMode,+ ("recoveryWindow" Data..=)+ Prelude.<$> recoveryWindow,+ ("sourcePriority" Data..=)+ Prelude.<$> sourcePriority,+ ("state" Data..=) Prelude.<$> state+ ]+ )
+ gen/Amazonka/MediaConnect/Types/FailoverMode.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.MediaConnect.Types.FailoverMode+-- 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.MediaConnect.Types.FailoverMode+ ( FailoverMode+ ( ..,+ FailoverMode_FAILOVER,+ FailoverMode_MERGE+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype FailoverMode = FailoverMode'+ { fromFailoverMode ::+ 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 FailoverMode_FAILOVER :: FailoverMode+pattern FailoverMode_FAILOVER = FailoverMode' "FAILOVER"++pattern FailoverMode_MERGE :: FailoverMode+pattern FailoverMode_MERGE = FailoverMode' "MERGE"++{-# COMPLETE+ FailoverMode_FAILOVER,+ FailoverMode_MERGE,+ FailoverMode'+ #-}
+ gen/Amazonka/MediaConnect/Types/Flow.hs view
@@ -0,0 +1,263 @@+{-# 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.MediaConnect.Types.Flow+-- 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.MediaConnect.Types.Flow where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Entitlement+import Amazonka.MediaConnect.Types.FailoverConfig+import Amazonka.MediaConnect.Types.Maintenance+import Amazonka.MediaConnect.Types.MediaStream+import Amazonka.MediaConnect.Types.Output+import Amazonka.MediaConnect.Types.Source+import Amazonka.MediaConnect.Types.Status+import Amazonka.MediaConnect.Types.VpcInterface+import qualified Amazonka.Prelude as Prelude++-- | The settings for a flow, including its source, outputs, and+-- entitlements.+--+-- /See:/ 'newFlow' smart constructor.+data Flow = Flow'+ { -- | A description of the flow. This value is not used or seen outside of the+ -- current AWS Elemental MediaConnect account.+ description :: Prelude.Maybe Prelude.Text,+ -- | The IP address from which video will be sent to output destinations.+ egressIp :: Prelude.Maybe Prelude.Text,+ maintenance :: Prelude.Maybe Maintenance,+ -- | The media streams that are associated with the flow. After you associate+ -- a media stream with a source, you can also associate it with outputs on+ -- the flow.+ mediaStreams :: Prelude.Maybe [MediaStream],+ sourceFailoverConfig :: Prelude.Maybe FailoverConfig,+ sources :: Prelude.Maybe [Source],+ -- | The VPC Interfaces for this flow.+ vpcInterfaces :: Prelude.Maybe [VpcInterface],+ -- | The current status of the flow.+ status :: Status,+ -- | The entitlements in this flow.+ entitlements :: [Entitlement],+ -- | The outputs in this flow.+ outputs :: [Output],+ -- | The Availability Zone that you want to create the flow in. These options+ -- are limited to the Availability Zones within the current AWS.+ availabilityZone :: Prelude.Text,+ -- | The Amazon Resource Name (ARN), a unique identifier for any AWS+ -- resource, of the flow.+ flowArn :: Prelude.Text,+ source :: Source,+ -- | The name of the flow.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Flow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'flow_description' - A description of the flow. This value is not used or seen outside of the+-- current AWS Elemental MediaConnect account.+--+-- 'egressIp', 'flow_egressIp' - The IP address from which video will be sent to output destinations.+--+-- 'maintenance', 'flow_maintenance' - Undocumented member.+--+-- 'mediaStreams', 'flow_mediaStreams' - The media streams that are associated with the flow. After you associate+-- a media stream with a source, you can also associate it with outputs on+-- the flow.+--+-- 'sourceFailoverConfig', 'flow_sourceFailoverConfig' - Undocumented member.+--+-- 'sources', 'flow_sources' - Undocumented member.+--+-- 'vpcInterfaces', 'flow_vpcInterfaces' - The VPC Interfaces for this flow.+--+-- 'status', 'flow_status' - The current status of the flow.+--+-- 'entitlements', 'flow_entitlements' - The entitlements in this flow.+--+-- 'outputs', 'flow_outputs' - The outputs in this flow.+--+-- 'availabilityZone', 'flow_availabilityZone' - The Availability Zone that you want to create the flow in. These options+-- are limited to the Availability Zones within the current AWS.+--+-- 'flowArn', 'flow_flowArn' - The Amazon Resource Name (ARN), a unique identifier for any AWS+-- resource, of the flow.+--+-- 'source', 'flow_source' - Undocumented member.+--+-- 'name', 'flow_name' - The name of the flow.+newFlow ::+ -- | 'status'+ Status ->+ -- | 'availabilityZone'+ Prelude.Text ->+ -- | 'flowArn'+ Prelude.Text ->+ -- | 'source'+ Source ->+ -- | 'name'+ Prelude.Text ->+ Flow+newFlow+ pStatus_+ pAvailabilityZone_+ pFlowArn_+ pSource_+ pName_ =+ Flow'+ { description = Prelude.Nothing,+ egressIp = Prelude.Nothing,+ maintenance = Prelude.Nothing,+ mediaStreams = Prelude.Nothing,+ sourceFailoverConfig = Prelude.Nothing,+ sources = Prelude.Nothing,+ vpcInterfaces = Prelude.Nothing,+ status = pStatus_,+ entitlements = Prelude.mempty,+ outputs = Prelude.mempty,+ availabilityZone = pAvailabilityZone_,+ flowArn = pFlowArn_,+ source = pSource_,+ name = pName_+ }++-- | A description of the flow. This value is not used or seen outside of the+-- current AWS Elemental MediaConnect account.+flow_description :: Lens.Lens' Flow (Prelude.Maybe Prelude.Text)+flow_description = Lens.lens (\Flow' {description} -> description) (\s@Flow' {} a -> s {description = a} :: Flow)++-- | The IP address from which video will be sent to output destinations.+flow_egressIp :: Lens.Lens' Flow (Prelude.Maybe Prelude.Text)+flow_egressIp = Lens.lens (\Flow' {egressIp} -> egressIp) (\s@Flow' {} a -> s {egressIp = a} :: Flow)++-- | Undocumented member.+flow_maintenance :: Lens.Lens' Flow (Prelude.Maybe Maintenance)+flow_maintenance = Lens.lens (\Flow' {maintenance} -> maintenance) (\s@Flow' {} a -> s {maintenance = a} :: Flow)++-- | The media streams that are associated with the flow. After you associate+-- a media stream with a source, you can also associate it with outputs on+-- the flow.+flow_mediaStreams :: Lens.Lens' Flow (Prelude.Maybe [MediaStream])+flow_mediaStreams = Lens.lens (\Flow' {mediaStreams} -> mediaStreams) (\s@Flow' {} a -> s {mediaStreams = a} :: Flow) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+flow_sourceFailoverConfig :: Lens.Lens' Flow (Prelude.Maybe FailoverConfig)+flow_sourceFailoverConfig = Lens.lens (\Flow' {sourceFailoverConfig} -> sourceFailoverConfig) (\s@Flow' {} a -> s {sourceFailoverConfig = a} :: Flow)++-- | Undocumented member.+flow_sources :: Lens.Lens' Flow (Prelude.Maybe [Source])+flow_sources = Lens.lens (\Flow' {sources} -> sources) (\s@Flow' {} a -> s {sources = a} :: Flow) Prelude.. Lens.mapping Lens.coerced++-- | The VPC Interfaces for this flow.+flow_vpcInterfaces :: Lens.Lens' Flow (Prelude.Maybe [VpcInterface])+flow_vpcInterfaces = Lens.lens (\Flow' {vpcInterfaces} -> vpcInterfaces) (\s@Flow' {} a -> s {vpcInterfaces = a} :: Flow) Prelude.. Lens.mapping Lens.coerced++-- | The current status of the flow.+flow_status :: Lens.Lens' Flow Status+flow_status = Lens.lens (\Flow' {status} -> status) (\s@Flow' {} a -> s {status = a} :: Flow)++-- | The entitlements in this flow.+flow_entitlements :: Lens.Lens' Flow [Entitlement]+flow_entitlements = Lens.lens (\Flow' {entitlements} -> entitlements) (\s@Flow' {} a -> s {entitlements = a} :: Flow) Prelude.. Lens.coerced++-- | The outputs in this flow.+flow_outputs :: Lens.Lens' Flow [Output]+flow_outputs = Lens.lens (\Flow' {outputs} -> outputs) (\s@Flow' {} a -> s {outputs = a} :: Flow) Prelude.. Lens.coerced++-- | The Availability Zone that you want to create the flow in. These options+-- are limited to the Availability Zones within the current AWS.+flow_availabilityZone :: Lens.Lens' Flow Prelude.Text+flow_availabilityZone = Lens.lens (\Flow' {availabilityZone} -> availabilityZone) (\s@Flow' {} a -> s {availabilityZone = a} :: Flow)++-- | The Amazon Resource Name (ARN), a unique identifier for any AWS+-- resource, of the flow.+flow_flowArn :: Lens.Lens' Flow Prelude.Text+flow_flowArn = Lens.lens (\Flow' {flowArn} -> flowArn) (\s@Flow' {} a -> s {flowArn = a} :: Flow)++-- | Undocumented member.+flow_source :: Lens.Lens' Flow Source+flow_source = Lens.lens (\Flow' {source} -> source) (\s@Flow' {} a -> s {source = a} :: Flow)++-- | The name of the flow.+flow_name :: Lens.Lens' Flow Prelude.Text+flow_name = Lens.lens (\Flow' {name} -> name) (\s@Flow' {} a -> s {name = a} :: Flow)++instance Data.FromJSON Flow where+ parseJSON =+ Data.withObject+ "Flow"+ ( \x ->+ Flow'+ Prelude.<$> (x Data..:? "description")+ Prelude.<*> (x Data..:? "egressIp")+ Prelude.<*> (x Data..:? "maintenance")+ Prelude.<*> (x Data..:? "mediaStreams" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "sourceFailoverConfig")+ Prelude.<*> (x Data..:? "sources" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "vpcInterfaces" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "status")+ Prelude.<*> (x Data..:? "entitlements" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "outputs" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "availabilityZone")+ Prelude.<*> (x Data..: "flowArn")+ Prelude.<*> (x Data..: "source")+ Prelude.<*> (x Data..: "name")+ )++instance Prelude.Hashable Flow where+ hashWithSalt _salt Flow' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` egressIp+ `Prelude.hashWithSalt` maintenance+ `Prelude.hashWithSalt` mediaStreams+ `Prelude.hashWithSalt` sourceFailoverConfig+ `Prelude.hashWithSalt` sources+ `Prelude.hashWithSalt` vpcInterfaces+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` entitlements+ `Prelude.hashWithSalt` outputs+ `Prelude.hashWithSalt` availabilityZone+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` source+ `Prelude.hashWithSalt` name++instance Prelude.NFData Flow where+ rnf Flow' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf egressIp+ `Prelude.seq` Prelude.rnf maintenance+ `Prelude.seq` Prelude.rnf mediaStreams+ `Prelude.seq` Prelude.rnf sourceFailoverConfig+ `Prelude.seq` Prelude.rnf sources+ `Prelude.seq` Prelude.rnf vpcInterfaces+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf entitlements+ `Prelude.seq` Prelude.rnf outputs+ `Prelude.seq` Prelude.rnf availabilityZone+ `Prelude.seq` Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf source+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/MediaConnect/Types/Fmtp.hs view
@@ -0,0 +1,157 @@+{-# 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.MediaConnect.Types.Fmtp+-- 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.MediaConnect.Types.Fmtp where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Colorimetry+import Amazonka.MediaConnect.Types.Range+import Amazonka.MediaConnect.Types.ScanMode+import Amazonka.MediaConnect.Types.Tcs+import qualified Amazonka.Prelude as Prelude++-- | FMTP+--+-- /See:/ 'newFmtp' smart constructor.+data Fmtp = Fmtp'+ { -- | The format of the audio channel.+ channelOrder :: Prelude.Maybe Prelude.Text,+ -- | The format that is used for the representation of color.+ colorimetry :: Prelude.Maybe Colorimetry,+ -- | The frame rate for the video stream, in frames\/second. For example:+ -- 60000\/1001. If you specify a whole number, MediaConnect uses a ratio of+ -- N\/1. For example, if you specify 60, MediaConnect uses 60\/1 as the+ -- exactFramerate.+ exactFramerate :: Prelude.Maybe Prelude.Text,+ -- | The pixel aspect ratio (PAR) of the video.+ par :: Prelude.Maybe Prelude.Text,+ -- | The encoding range of the video.+ range :: Prelude.Maybe Range,+ -- | The type of compression that was used to smooth the video’s appearance+ scanMode :: Prelude.Maybe ScanMode,+ -- | The transfer characteristic system (TCS) that is used in the video.+ tcs :: Prelude.Maybe Tcs+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Fmtp' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelOrder', 'fmtp_channelOrder' - The format of the audio channel.+--+-- 'colorimetry', 'fmtp_colorimetry' - The format that is used for the representation of color.+--+-- 'exactFramerate', 'fmtp_exactFramerate' - The frame rate for the video stream, in frames\/second. For example:+-- 60000\/1001. If you specify a whole number, MediaConnect uses a ratio of+-- N\/1. For example, if you specify 60, MediaConnect uses 60\/1 as the+-- exactFramerate.+--+-- 'par', 'fmtp_par' - The pixel aspect ratio (PAR) of the video.+--+-- 'range', 'fmtp_range' - The encoding range of the video.+--+-- 'scanMode', 'fmtp_scanMode' - The type of compression that was used to smooth the video’s appearance+--+-- 'tcs', 'fmtp_tcs' - The transfer characteristic system (TCS) that is used in the video.+newFmtp ::+ Fmtp+newFmtp =+ Fmtp'+ { channelOrder = Prelude.Nothing,+ colorimetry = Prelude.Nothing,+ exactFramerate = Prelude.Nothing,+ par = Prelude.Nothing,+ range = Prelude.Nothing,+ scanMode = Prelude.Nothing,+ tcs = Prelude.Nothing+ }++-- | The format of the audio channel.+fmtp_channelOrder :: Lens.Lens' Fmtp (Prelude.Maybe Prelude.Text)+fmtp_channelOrder = Lens.lens (\Fmtp' {channelOrder} -> channelOrder) (\s@Fmtp' {} a -> s {channelOrder = a} :: Fmtp)++-- | The format that is used for the representation of color.+fmtp_colorimetry :: Lens.Lens' Fmtp (Prelude.Maybe Colorimetry)+fmtp_colorimetry = Lens.lens (\Fmtp' {colorimetry} -> colorimetry) (\s@Fmtp' {} a -> s {colorimetry = a} :: Fmtp)++-- | The frame rate for the video stream, in frames\/second. For example:+-- 60000\/1001. If you specify a whole number, MediaConnect uses a ratio of+-- N\/1. For example, if you specify 60, MediaConnect uses 60\/1 as the+-- exactFramerate.+fmtp_exactFramerate :: Lens.Lens' Fmtp (Prelude.Maybe Prelude.Text)+fmtp_exactFramerate = Lens.lens (\Fmtp' {exactFramerate} -> exactFramerate) (\s@Fmtp' {} a -> s {exactFramerate = a} :: Fmtp)++-- | The pixel aspect ratio (PAR) of the video.+fmtp_par :: Lens.Lens' Fmtp (Prelude.Maybe Prelude.Text)+fmtp_par = Lens.lens (\Fmtp' {par} -> par) (\s@Fmtp' {} a -> s {par = a} :: Fmtp)++-- | The encoding range of the video.+fmtp_range :: Lens.Lens' Fmtp (Prelude.Maybe Range)+fmtp_range = Lens.lens (\Fmtp' {range} -> range) (\s@Fmtp' {} a -> s {range = a} :: Fmtp)++-- | The type of compression that was used to smooth the video’s appearance+fmtp_scanMode :: Lens.Lens' Fmtp (Prelude.Maybe ScanMode)+fmtp_scanMode = Lens.lens (\Fmtp' {scanMode} -> scanMode) (\s@Fmtp' {} a -> s {scanMode = a} :: Fmtp)++-- | The transfer characteristic system (TCS) that is used in the video.+fmtp_tcs :: Lens.Lens' Fmtp (Prelude.Maybe Tcs)+fmtp_tcs = Lens.lens (\Fmtp' {tcs} -> tcs) (\s@Fmtp' {} a -> s {tcs = a} :: Fmtp)++instance Data.FromJSON Fmtp where+ parseJSON =+ Data.withObject+ "Fmtp"+ ( \x ->+ Fmtp'+ Prelude.<$> (x Data..:? "channelOrder")+ Prelude.<*> (x Data..:? "colorimetry")+ Prelude.<*> (x Data..:? "exactFramerate")+ Prelude.<*> (x Data..:? "par")+ Prelude.<*> (x Data..:? "range")+ Prelude.<*> (x Data..:? "scanMode")+ Prelude.<*> (x Data..:? "tcs")+ )++instance Prelude.Hashable Fmtp where+ hashWithSalt _salt Fmtp' {..} =+ _salt+ `Prelude.hashWithSalt` channelOrder+ `Prelude.hashWithSalt` colorimetry+ `Prelude.hashWithSalt` exactFramerate+ `Prelude.hashWithSalt` par+ `Prelude.hashWithSalt` range+ `Prelude.hashWithSalt` scanMode+ `Prelude.hashWithSalt` tcs++instance Prelude.NFData Fmtp where+ rnf Fmtp' {..} =+ Prelude.rnf channelOrder+ `Prelude.seq` Prelude.rnf colorimetry+ `Prelude.seq` Prelude.rnf exactFramerate+ `Prelude.seq` Prelude.rnf par+ `Prelude.seq` Prelude.rnf range+ `Prelude.seq` Prelude.rnf scanMode+ `Prelude.seq` Prelude.rnf tcs
+ gen/Amazonka/MediaConnect/Types/FmtpRequest.hs view
@@ -0,0 +1,157 @@+{-# 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.MediaConnect.Types.FmtpRequest+-- 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.MediaConnect.Types.FmtpRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Colorimetry+import Amazonka.MediaConnect.Types.Range+import Amazonka.MediaConnect.Types.ScanMode+import Amazonka.MediaConnect.Types.Tcs+import qualified Amazonka.Prelude as Prelude++-- | The settings that you want to use to define the media stream.+--+-- /See:/ 'newFmtpRequest' smart constructor.+data FmtpRequest = FmtpRequest'+ { -- | The format of the audio channel.+ channelOrder :: Prelude.Maybe Prelude.Text,+ -- | The format that is used for the representation of color.+ colorimetry :: Prelude.Maybe Colorimetry,+ -- | The frame rate for the video stream, in frames\/second. For example:+ -- 60000\/1001. If you specify a whole number, MediaConnect uses a ratio of+ -- N\/1. For example, if you specify 60, MediaConnect uses 60\/1 as the+ -- exactFramerate.+ exactFramerate :: Prelude.Maybe Prelude.Text,+ -- | The pixel aspect ratio (PAR) of the video.+ par :: Prelude.Maybe Prelude.Text,+ -- | The encoding range of the video.+ range :: Prelude.Maybe Range,+ -- | The type of compression that was used to smooth the video’s appearance.+ scanMode :: Prelude.Maybe ScanMode,+ -- | The transfer characteristic system (TCS) that is used in the video.+ tcs :: Prelude.Maybe Tcs+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FmtpRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelOrder', 'fmtpRequest_channelOrder' - The format of the audio channel.+--+-- 'colorimetry', 'fmtpRequest_colorimetry' - The format that is used for the representation of color.+--+-- 'exactFramerate', 'fmtpRequest_exactFramerate' - The frame rate for the video stream, in frames\/second. For example:+-- 60000\/1001. If you specify a whole number, MediaConnect uses a ratio of+-- N\/1. For example, if you specify 60, MediaConnect uses 60\/1 as the+-- exactFramerate.+--+-- 'par', 'fmtpRequest_par' - The pixel aspect ratio (PAR) of the video.+--+-- 'range', 'fmtpRequest_range' - The encoding range of the video.+--+-- 'scanMode', 'fmtpRequest_scanMode' - The type of compression that was used to smooth the video’s appearance.+--+-- 'tcs', 'fmtpRequest_tcs' - The transfer characteristic system (TCS) that is used in the video.+newFmtpRequest ::+ FmtpRequest+newFmtpRequest =+ FmtpRequest'+ { channelOrder = Prelude.Nothing,+ colorimetry = Prelude.Nothing,+ exactFramerate = Prelude.Nothing,+ par = Prelude.Nothing,+ range = Prelude.Nothing,+ scanMode = Prelude.Nothing,+ tcs = Prelude.Nothing+ }++-- | The format of the audio channel.+fmtpRequest_channelOrder :: Lens.Lens' FmtpRequest (Prelude.Maybe Prelude.Text)+fmtpRequest_channelOrder = Lens.lens (\FmtpRequest' {channelOrder} -> channelOrder) (\s@FmtpRequest' {} a -> s {channelOrder = a} :: FmtpRequest)++-- | The format that is used for the representation of color.+fmtpRequest_colorimetry :: Lens.Lens' FmtpRequest (Prelude.Maybe Colorimetry)+fmtpRequest_colorimetry = Lens.lens (\FmtpRequest' {colorimetry} -> colorimetry) (\s@FmtpRequest' {} a -> s {colorimetry = a} :: FmtpRequest)++-- | The frame rate for the video stream, in frames\/second. For example:+-- 60000\/1001. If you specify a whole number, MediaConnect uses a ratio of+-- N\/1. For example, if you specify 60, MediaConnect uses 60\/1 as the+-- exactFramerate.+fmtpRequest_exactFramerate :: Lens.Lens' FmtpRequest (Prelude.Maybe Prelude.Text)+fmtpRequest_exactFramerate = Lens.lens (\FmtpRequest' {exactFramerate} -> exactFramerate) (\s@FmtpRequest' {} a -> s {exactFramerate = a} :: FmtpRequest)++-- | The pixel aspect ratio (PAR) of the video.+fmtpRequest_par :: Lens.Lens' FmtpRequest (Prelude.Maybe Prelude.Text)+fmtpRequest_par = Lens.lens (\FmtpRequest' {par} -> par) (\s@FmtpRequest' {} a -> s {par = a} :: FmtpRequest)++-- | The encoding range of the video.+fmtpRequest_range :: Lens.Lens' FmtpRequest (Prelude.Maybe Range)+fmtpRequest_range = Lens.lens (\FmtpRequest' {range} -> range) (\s@FmtpRequest' {} a -> s {range = a} :: FmtpRequest)++-- | The type of compression that was used to smooth the video’s appearance.+fmtpRequest_scanMode :: Lens.Lens' FmtpRequest (Prelude.Maybe ScanMode)+fmtpRequest_scanMode = Lens.lens (\FmtpRequest' {scanMode} -> scanMode) (\s@FmtpRequest' {} a -> s {scanMode = a} :: FmtpRequest)++-- | The transfer characteristic system (TCS) that is used in the video.+fmtpRequest_tcs :: Lens.Lens' FmtpRequest (Prelude.Maybe Tcs)+fmtpRequest_tcs = Lens.lens (\FmtpRequest' {tcs} -> tcs) (\s@FmtpRequest' {} a -> s {tcs = a} :: FmtpRequest)++instance Prelude.Hashable FmtpRequest where+ hashWithSalt _salt FmtpRequest' {..} =+ _salt+ `Prelude.hashWithSalt` channelOrder+ `Prelude.hashWithSalt` colorimetry+ `Prelude.hashWithSalt` exactFramerate+ `Prelude.hashWithSalt` par+ `Prelude.hashWithSalt` range+ `Prelude.hashWithSalt` scanMode+ `Prelude.hashWithSalt` tcs++instance Prelude.NFData FmtpRequest where+ rnf FmtpRequest' {..} =+ Prelude.rnf channelOrder+ `Prelude.seq` Prelude.rnf colorimetry+ `Prelude.seq` Prelude.rnf exactFramerate+ `Prelude.seq` Prelude.rnf par+ `Prelude.seq` Prelude.rnf range+ `Prelude.seq` Prelude.rnf scanMode+ `Prelude.seq` Prelude.rnf tcs++instance Data.ToJSON FmtpRequest where+ toJSON FmtpRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("channelOrder" Data..=) Prelude.<$> channelOrder,+ ("colorimetry" Data..=) Prelude.<$> colorimetry,+ ("exactFramerate" Data..=)+ Prelude.<$> exactFramerate,+ ("par" Data..=) Prelude.<$> par,+ ("range" Data..=) Prelude.<$> range,+ ("scanMode" Data..=) Prelude.<$> scanMode,+ ("tcs" Data..=) Prelude.<$> tcs+ ]+ )
+ gen/Amazonka/MediaConnect/Types/GrantEntitlementRequest.hs view
@@ -0,0 +1,166 @@+{-# 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.MediaConnect.Types.GrantEntitlementRequest+-- 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.MediaConnect.Types.GrantEntitlementRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Encryption+import Amazonka.MediaConnect.Types.EntitlementStatus+import qualified Amazonka.Prelude as Prelude++-- | The entitlements that you want to grant on a flow.+--+-- /See:/ 'newGrantEntitlementRequest' smart constructor.+data GrantEntitlementRequest = GrantEntitlementRequest'+ { -- | Percentage from 0-100 of the data transfer cost to be billed to the+ -- subscriber.+ dataTransferSubscriberFeePercent :: Prelude.Maybe Prelude.Int,+ -- | A description of the entitlement. This description appears only on the+ -- AWS Elemental MediaConnect console and will not be seen by the+ -- subscriber or end user.+ description :: Prelude.Maybe Prelude.Text,+ -- | The type of encryption that will be used on the output that is+ -- associated with this entitlement.+ encryption :: Prelude.Maybe Encryption,+ -- | An indication of whether the new entitlement should be enabled or+ -- disabled as soon as it is created. If you don’t specify the+ -- entitlementStatus field in your request, MediaConnect sets it to+ -- ENABLED.+ entitlementStatus :: Prelude.Maybe EntitlementStatus,+ -- | The name of the entitlement. This value must be unique within the+ -- current flow.+ name :: Prelude.Maybe Prelude.Text,+ -- | The AWS account IDs that you want to share your content with. The+ -- receiving accounts (subscribers) will be allowed to create their own+ -- flows using your content as the source.+ subscribers :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GrantEntitlementRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataTransferSubscriberFeePercent', 'grantEntitlementRequest_dataTransferSubscriberFeePercent' - Percentage from 0-100 of the data transfer cost to be billed to the+-- subscriber.+--+-- 'description', 'grantEntitlementRequest_description' - A description of the entitlement. This description appears only on the+-- AWS Elemental MediaConnect console and will not be seen by the+-- subscriber or end user.+--+-- 'encryption', 'grantEntitlementRequest_encryption' - The type of encryption that will be used on the output that is+-- associated with this entitlement.+--+-- 'entitlementStatus', 'grantEntitlementRequest_entitlementStatus' - An indication of whether the new entitlement should be enabled or+-- disabled as soon as it is created. If you don’t specify the+-- entitlementStatus field in your request, MediaConnect sets it to+-- ENABLED.+--+-- 'name', 'grantEntitlementRequest_name' - The name of the entitlement. This value must be unique within the+-- current flow.+--+-- 'subscribers', 'grantEntitlementRequest_subscribers' - The AWS account IDs that you want to share your content with. The+-- receiving accounts (subscribers) will be allowed to create their own+-- flows using your content as the source.+newGrantEntitlementRequest ::+ GrantEntitlementRequest+newGrantEntitlementRequest =+ GrantEntitlementRequest'+ { dataTransferSubscriberFeePercent =+ Prelude.Nothing,+ description = Prelude.Nothing,+ encryption = Prelude.Nothing,+ entitlementStatus = Prelude.Nothing,+ name = Prelude.Nothing,+ subscribers = Prelude.mempty+ }++-- | Percentage from 0-100 of the data transfer cost to be billed to the+-- subscriber.+grantEntitlementRequest_dataTransferSubscriberFeePercent :: Lens.Lens' GrantEntitlementRequest (Prelude.Maybe Prelude.Int)+grantEntitlementRequest_dataTransferSubscriberFeePercent = Lens.lens (\GrantEntitlementRequest' {dataTransferSubscriberFeePercent} -> dataTransferSubscriberFeePercent) (\s@GrantEntitlementRequest' {} a -> s {dataTransferSubscriberFeePercent = a} :: GrantEntitlementRequest)++-- | A description of the entitlement. This description appears only on the+-- AWS Elemental MediaConnect console and will not be seen by the+-- subscriber or end user.+grantEntitlementRequest_description :: Lens.Lens' GrantEntitlementRequest (Prelude.Maybe Prelude.Text)+grantEntitlementRequest_description = Lens.lens (\GrantEntitlementRequest' {description} -> description) (\s@GrantEntitlementRequest' {} a -> s {description = a} :: GrantEntitlementRequest)++-- | The type of encryption that will be used on the output that is+-- associated with this entitlement.+grantEntitlementRequest_encryption :: Lens.Lens' GrantEntitlementRequest (Prelude.Maybe Encryption)+grantEntitlementRequest_encryption = Lens.lens (\GrantEntitlementRequest' {encryption} -> encryption) (\s@GrantEntitlementRequest' {} a -> s {encryption = a} :: GrantEntitlementRequest)++-- | An indication of whether the new entitlement should be enabled or+-- disabled as soon as it is created. If you don’t specify the+-- entitlementStatus field in your request, MediaConnect sets it to+-- ENABLED.+grantEntitlementRequest_entitlementStatus :: Lens.Lens' GrantEntitlementRequest (Prelude.Maybe EntitlementStatus)+grantEntitlementRequest_entitlementStatus = Lens.lens (\GrantEntitlementRequest' {entitlementStatus} -> entitlementStatus) (\s@GrantEntitlementRequest' {} a -> s {entitlementStatus = a} :: GrantEntitlementRequest)++-- | The name of the entitlement. This value must be unique within the+-- current flow.+grantEntitlementRequest_name :: Lens.Lens' GrantEntitlementRequest (Prelude.Maybe Prelude.Text)+grantEntitlementRequest_name = Lens.lens (\GrantEntitlementRequest' {name} -> name) (\s@GrantEntitlementRequest' {} a -> s {name = a} :: GrantEntitlementRequest)++-- | The AWS account IDs that you want to share your content with. The+-- receiving accounts (subscribers) will be allowed to create their own+-- flows using your content as the source.+grantEntitlementRequest_subscribers :: Lens.Lens' GrantEntitlementRequest [Prelude.Text]+grantEntitlementRequest_subscribers = Lens.lens (\GrantEntitlementRequest' {subscribers} -> subscribers) (\s@GrantEntitlementRequest' {} a -> s {subscribers = a} :: GrantEntitlementRequest) Prelude.. Lens.coerced++instance Prelude.Hashable GrantEntitlementRequest where+ hashWithSalt _salt GrantEntitlementRequest' {..} =+ _salt+ `Prelude.hashWithSalt` dataTransferSubscriberFeePercent+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` encryption+ `Prelude.hashWithSalt` entitlementStatus+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` subscribers++instance Prelude.NFData GrantEntitlementRequest where+ rnf GrantEntitlementRequest' {..} =+ Prelude.rnf dataTransferSubscriberFeePercent+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf encryption+ `Prelude.seq` Prelude.rnf entitlementStatus+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf subscribers++instance Data.ToJSON GrantEntitlementRequest where+ toJSON GrantEntitlementRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("dataTransferSubscriberFeePercent" Data..=)+ Prelude.<$> dataTransferSubscriberFeePercent,+ ("description" Data..=) Prelude.<$> description,+ ("encryption" Data..=) Prelude.<$> encryption,+ ("entitlementStatus" Data..=)+ Prelude.<$> entitlementStatus,+ ("name" Data..=) Prelude.<$> name,+ Prelude.Just ("subscribers" Data..= subscribers)+ ]+ )
+ gen/Amazonka/MediaConnect/Types/InputConfiguration.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.InputConfiguration+-- 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.MediaConnect.Types.InputConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Interface+import qualified Amazonka.Prelude as Prelude++-- | The transport parameters that are associated with an incoming media+-- stream.+--+-- /See:/ 'newInputConfiguration' smart constructor.+data InputConfiguration = InputConfiguration'+ { -- | The port that the flow listens on for an incoming media stream.+ inputPort :: Prelude.Int,+ -- | The IP address that the flow listens on for incoming content for a media+ -- stream.+ inputIp :: Prelude.Text,+ -- | The VPC interface where the media stream comes in from.+ interface :: Interface+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputPort', 'inputConfiguration_inputPort' - The port that the flow listens on for an incoming media stream.+--+-- 'inputIp', 'inputConfiguration_inputIp' - The IP address that the flow listens on for incoming content for a media+-- stream.+--+-- 'interface', 'inputConfiguration_interface' - The VPC interface where the media stream comes in from.+newInputConfiguration ::+ -- | 'inputPort'+ Prelude.Int ->+ -- | 'inputIp'+ Prelude.Text ->+ -- | 'interface'+ Interface ->+ InputConfiguration+newInputConfiguration+ pInputPort_+ pInputIp_+ pInterface_ =+ InputConfiguration'+ { inputPort = pInputPort_,+ inputIp = pInputIp_,+ interface = pInterface_+ }++-- | The port that the flow listens on for an incoming media stream.+inputConfiguration_inputPort :: Lens.Lens' InputConfiguration Prelude.Int+inputConfiguration_inputPort = Lens.lens (\InputConfiguration' {inputPort} -> inputPort) (\s@InputConfiguration' {} a -> s {inputPort = a} :: InputConfiguration)++-- | The IP address that the flow listens on for incoming content for a media+-- stream.+inputConfiguration_inputIp :: Lens.Lens' InputConfiguration Prelude.Text+inputConfiguration_inputIp = Lens.lens (\InputConfiguration' {inputIp} -> inputIp) (\s@InputConfiguration' {} a -> s {inputIp = a} :: InputConfiguration)++-- | The VPC interface where the media stream comes in from.+inputConfiguration_interface :: Lens.Lens' InputConfiguration Interface+inputConfiguration_interface = Lens.lens (\InputConfiguration' {interface} -> interface) (\s@InputConfiguration' {} a -> s {interface = a} :: InputConfiguration)++instance Data.FromJSON InputConfiguration where+ parseJSON =+ Data.withObject+ "InputConfiguration"+ ( \x ->+ InputConfiguration'+ Prelude.<$> (x Data..: "inputPort")+ Prelude.<*> (x Data..: "inputIp")+ Prelude.<*> (x Data..: "interface")+ )++instance Prelude.Hashable InputConfiguration where+ hashWithSalt _salt InputConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` inputPort+ `Prelude.hashWithSalt` inputIp+ `Prelude.hashWithSalt` interface++instance Prelude.NFData InputConfiguration where+ rnf InputConfiguration' {..} =+ Prelude.rnf inputPort+ `Prelude.seq` Prelude.rnf inputIp+ `Prelude.seq` Prelude.rnf interface
+ gen/Amazonka/MediaConnect/Types/InputConfigurationRequest.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.InputConfigurationRequest+-- 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.MediaConnect.Types.InputConfigurationRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.InterfaceRequest+import qualified Amazonka.Prelude as Prelude++-- | The transport parameters that you want to associate with an incoming+-- media stream.+--+-- /See:/ 'newInputConfigurationRequest' smart constructor.+data InputConfigurationRequest = InputConfigurationRequest'+ { -- | The port that you want the flow to listen on for an incoming media+ -- stream.+ inputPort :: Prelude.Int,+ -- | The VPC interface that you want to use for the incoming media stream.+ interface :: InterfaceRequest+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputConfigurationRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputPort', 'inputConfigurationRequest_inputPort' - The port that you want the flow to listen on for an incoming media+-- stream.+--+-- 'interface', 'inputConfigurationRequest_interface' - The VPC interface that you want to use for the incoming media stream.+newInputConfigurationRequest ::+ -- | 'inputPort'+ Prelude.Int ->+ -- | 'interface'+ InterfaceRequest ->+ InputConfigurationRequest+newInputConfigurationRequest pInputPort_ pInterface_ =+ InputConfigurationRequest'+ { inputPort = pInputPort_,+ interface = pInterface_+ }++-- | The port that you want the flow to listen on for an incoming media+-- stream.+inputConfigurationRequest_inputPort :: Lens.Lens' InputConfigurationRequest Prelude.Int+inputConfigurationRequest_inputPort = Lens.lens (\InputConfigurationRequest' {inputPort} -> inputPort) (\s@InputConfigurationRequest' {} a -> s {inputPort = a} :: InputConfigurationRequest)++-- | The VPC interface that you want to use for the incoming media stream.+inputConfigurationRequest_interface :: Lens.Lens' InputConfigurationRequest InterfaceRequest+inputConfigurationRequest_interface = Lens.lens (\InputConfigurationRequest' {interface} -> interface) (\s@InputConfigurationRequest' {} a -> s {interface = a} :: InputConfigurationRequest)++instance Prelude.Hashable InputConfigurationRequest where+ hashWithSalt _salt InputConfigurationRequest' {..} =+ _salt+ `Prelude.hashWithSalt` inputPort+ `Prelude.hashWithSalt` interface++instance Prelude.NFData InputConfigurationRequest where+ rnf InputConfigurationRequest' {..} =+ Prelude.rnf inputPort+ `Prelude.seq` Prelude.rnf interface++instance Data.ToJSON InputConfigurationRequest where+ toJSON InputConfigurationRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("inputPort" Data..= inputPort),+ Prelude.Just ("interface" Data..= interface)+ ]+ )
+ gen/Amazonka/MediaConnect/Types/Interface.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.Interface+-- 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.MediaConnect.Types.Interface 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 VPC interface that is used for the media stream associated with the+-- source or output.+--+-- /See:/ 'newInterface' smart constructor.+data Interface = Interface'+ { -- | The name of the VPC interface.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Interface' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'interface_name' - The name of the VPC interface.+newInterface ::+ -- | 'name'+ Prelude.Text ->+ Interface+newInterface pName_ = Interface' {name = pName_}++-- | The name of the VPC interface.+interface_name :: Lens.Lens' Interface Prelude.Text+interface_name = Lens.lens (\Interface' {name} -> name) (\s@Interface' {} a -> s {name = a} :: Interface)++instance Data.FromJSON Interface where+ parseJSON =+ Data.withObject+ "Interface"+ (\x -> Interface' Prelude.<$> (x Data..: "name"))++instance Prelude.Hashable Interface where+ hashWithSalt _salt Interface' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData Interface where+ rnf Interface' {..} = Prelude.rnf name
+ gen/Amazonka/MediaConnect/Types/InterfaceRequest.hs view
@@ -0,0 +1,69 @@+{-# 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.MediaConnect.Types.InterfaceRequest+-- 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.MediaConnect.Types.InterfaceRequest 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 VPC interface that you want to designate where the media stream is+-- coming from or going to.+--+-- /See:/ 'newInterfaceRequest' smart constructor.+data InterfaceRequest = InterfaceRequest'+ { -- | The name of the VPC interface.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InterfaceRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'interfaceRequest_name' - The name of the VPC interface.+newInterfaceRequest ::+ -- | 'name'+ Prelude.Text ->+ InterfaceRequest+newInterfaceRequest pName_ =+ InterfaceRequest' {name = pName_}++-- | The name of the VPC interface.+interfaceRequest_name :: Lens.Lens' InterfaceRequest Prelude.Text+interfaceRequest_name = Lens.lens (\InterfaceRequest' {name} -> name) (\s@InterfaceRequest' {} a -> s {name = a} :: InterfaceRequest)++instance Prelude.Hashable InterfaceRequest where+ hashWithSalt _salt InterfaceRequest' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData InterfaceRequest where+ rnf InterfaceRequest' {..} = Prelude.rnf name++instance Data.ToJSON InterfaceRequest where+ toJSON InterfaceRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("name" Data..= name)]+ )
+ gen/Amazonka/MediaConnect/Types/KeyType.hs view
@@ -0,0 +1,73 @@+{-# 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.MediaConnect.Types.KeyType+-- 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.MediaConnect.Types.KeyType+ ( KeyType+ ( ..,+ KeyType_Speke,+ KeyType_Srt_password,+ KeyType_Static_key+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype KeyType = KeyType' {fromKeyType :: 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 KeyType_Speke :: KeyType+pattern KeyType_Speke = KeyType' "speke"++pattern KeyType_Srt_password :: KeyType+pattern KeyType_Srt_password = KeyType' "srt-password"++pattern KeyType_Static_key :: KeyType+pattern KeyType_Static_key = KeyType' "static-key"++{-# COMPLETE+ KeyType_Speke,+ KeyType_Srt_password,+ KeyType_Static_key,+ KeyType'+ #-}
+ gen/Amazonka/MediaConnect/Types/ListedEntitlement.hs view
@@ -0,0 +1,106 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.ListedEntitlement+-- 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.MediaConnect.Types.ListedEntitlement 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++-- | An entitlement that has been granted to you from other AWS accounts.+--+-- /See:/ 'newListedEntitlement' smart constructor.+data ListedEntitlement = ListedEntitlement'+ { -- | Percentage from 0-100 of the data transfer cost to be billed to the+ -- subscriber.+ dataTransferSubscriberFeePercent :: Prelude.Maybe Prelude.Int,+ -- | The ARN of the entitlement.+ entitlementArn :: Prelude.Text,+ -- | The name of the entitlement.+ entitlementName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListedEntitlement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataTransferSubscriberFeePercent', 'listedEntitlement_dataTransferSubscriberFeePercent' - Percentage from 0-100 of the data transfer cost to be billed to the+-- subscriber.+--+-- 'entitlementArn', 'listedEntitlement_entitlementArn' - The ARN of the entitlement.+--+-- 'entitlementName', 'listedEntitlement_entitlementName' - The name of the entitlement.+newListedEntitlement ::+ -- | 'entitlementArn'+ Prelude.Text ->+ -- | 'entitlementName'+ Prelude.Text ->+ ListedEntitlement+newListedEntitlement+ pEntitlementArn_+ pEntitlementName_ =+ ListedEntitlement'+ { dataTransferSubscriberFeePercent =+ Prelude.Nothing,+ entitlementArn = pEntitlementArn_,+ entitlementName = pEntitlementName_+ }++-- | Percentage from 0-100 of the data transfer cost to be billed to the+-- subscriber.+listedEntitlement_dataTransferSubscriberFeePercent :: Lens.Lens' ListedEntitlement (Prelude.Maybe Prelude.Int)+listedEntitlement_dataTransferSubscriberFeePercent = Lens.lens (\ListedEntitlement' {dataTransferSubscriberFeePercent} -> dataTransferSubscriberFeePercent) (\s@ListedEntitlement' {} a -> s {dataTransferSubscriberFeePercent = a} :: ListedEntitlement)++-- | The ARN of the entitlement.+listedEntitlement_entitlementArn :: Lens.Lens' ListedEntitlement Prelude.Text+listedEntitlement_entitlementArn = Lens.lens (\ListedEntitlement' {entitlementArn} -> entitlementArn) (\s@ListedEntitlement' {} a -> s {entitlementArn = a} :: ListedEntitlement)++-- | The name of the entitlement.+listedEntitlement_entitlementName :: Lens.Lens' ListedEntitlement Prelude.Text+listedEntitlement_entitlementName = Lens.lens (\ListedEntitlement' {entitlementName} -> entitlementName) (\s@ListedEntitlement' {} a -> s {entitlementName = a} :: ListedEntitlement)++instance Data.FromJSON ListedEntitlement where+ parseJSON =+ Data.withObject+ "ListedEntitlement"+ ( \x ->+ ListedEntitlement'+ Prelude.<$> (x Data..:? "dataTransferSubscriberFeePercent")+ Prelude.<*> (x Data..: "entitlementArn")+ Prelude.<*> (x Data..: "entitlementName")+ )++instance Prelude.Hashable ListedEntitlement where+ hashWithSalt _salt ListedEntitlement' {..} =+ _salt+ `Prelude.hashWithSalt` dataTransferSubscriberFeePercent+ `Prelude.hashWithSalt` entitlementArn+ `Prelude.hashWithSalt` entitlementName++instance Prelude.NFData ListedEntitlement where+ rnf ListedEntitlement' {..} =+ Prelude.rnf dataTransferSubscriberFeePercent+ `Prelude.seq` Prelude.rnf entitlementArn+ `Prelude.seq` Prelude.rnf entitlementName
+ gen/Amazonka/MediaConnect/Types/ListedFlow.hs view
@@ -0,0 +1,174 @@+{-# 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.MediaConnect.Types.ListedFlow+-- 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.MediaConnect.Types.ListedFlow where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Maintenance+import Amazonka.MediaConnect.Types.SourceType+import Amazonka.MediaConnect.Types.Status+import qualified Amazonka.Prelude as Prelude++-- | Provides a summary of a flow, including its ARN, Availability Zone, and+-- source type.+--+-- /See:/ 'newListedFlow' smart constructor.+data ListedFlow = ListedFlow'+ { maintenance :: Prelude.Maybe Maintenance,+ -- | The current status of the flow.+ status :: Status,+ -- | A description of the flow.+ description :: Prelude.Text,+ -- | The type of source. This value is either owned (originated somewhere+ -- other than an AWS Elemental MediaConnect flow owned by another AWS+ -- account) or entitled (originated at an AWS Elemental MediaConnect flow+ -- owned by another AWS account).+ sourceType :: SourceType,+ -- | The Availability Zone that the flow was created in.+ availabilityZone :: Prelude.Text,+ -- | The ARN of the flow.+ flowArn :: Prelude.Text,+ -- | The name of the flow.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListedFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maintenance', 'listedFlow_maintenance' - Undocumented member.+--+-- 'status', 'listedFlow_status' - The current status of the flow.+--+-- 'description', 'listedFlow_description' - A description of the flow.+--+-- 'sourceType', 'listedFlow_sourceType' - The type of source. This value is either owned (originated somewhere+-- other than an AWS Elemental MediaConnect flow owned by another AWS+-- account) or entitled (originated at an AWS Elemental MediaConnect flow+-- owned by another AWS account).+--+-- 'availabilityZone', 'listedFlow_availabilityZone' - The Availability Zone that the flow was created in.+--+-- 'flowArn', 'listedFlow_flowArn' - The ARN of the flow.+--+-- 'name', 'listedFlow_name' - The name of the flow.+newListedFlow ::+ -- | 'status'+ Status ->+ -- | 'description'+ Prelude.Text ->+ -- | 'sourceType'+ SourceType ->+ -- | 'availabilityZone'+ Prelude.Text ->+ -- | 'flowArn'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ ListedFlow+newListedFlow+ pStatus_+ pDescription_+ pSourceType_+ pAvailabilityZone_+ pFlowArn_+ pName_ =+ ListedFlow'+ { maintenance = Prelude.Nothing,+ status = pStatus_,+ description = pDescription_,+ sourceType = pSourceType_,+ availabilityZone = pAvailabilityZone_,+ flowArn = pFlowArn_,+ name = pName_+ }++-- | Undocumented member.+listedFlow_maintenance :: Lens.Lens' ListedFlow (Prelude.Maybe Maintenance)+listedFlow_maintenance = Lens.lens (\ListedFlow' {maintenance} -> maintenance) (\s@ListedFlow' {} a -> s {maintenance = a} :: ListedFlow)++-- | The current status of the flow.+listedFlow_status :: Lens.Lens' ListedFlow Status+listedFlow_status = Lens.lens (\ListedFlow' {status} -> status) (\s@ListedFlow' {} a -> s {status = a} :: ListedFlow)++-- | A description of the flow.+listedFlow_description :: Lens.Lens' ListedFlow Prelude.Text+listedFlow_description = Lens.lens (\ListedFlow' {description} -> description) (\s@ListedFlow' {} a -> s {description = a} :: ListedFlow)++-- | The type of source. This value is either owned (originated somewhere+-- other than an AWS Elemental MediaConnect flow owned by another AWS+-- account) or entitled (originated at an AWS Elemental MediaConnect flow+-- owned by another AWS account).+listedFlow_sourceType :: Lens.Lens' ListedFlow SourceType+listedFlow_sourceType = Lens.lens (\ListedFlow' {sourceType} -> sourceType) (\s@ListedFlow' {} a -> s {sourceType = a} :: ListedFlow)++-- | The Availability Zone that the flow was created in.+listedFlow_availabilityZone :: Lens.Lens' ListedFlow Prelude.Text+listedFlow_availabilityZone = Lens.lens (\ListedFlow' {availabilityZone} -> availabilityZone) (\s@ListedFlow' {} a -> s {availabilityZone = a} :: ListedFlow)++-- | The ARN of the flow.+listedFlow_flowArn :: Lens.Lens' ListedFlow Prelude.Text+listedFlow_flowArn = Lens.lens (\ListedFlow' {flowArn} -> flowArn) (\s@ListedFlow' {} a -> s {flowArn = a} :: ListedFlow)++-- | The name of the flow.+listedFlow_name :: Lens.Lens' ListedFlow Prelude.Text+listedFlow_name = Lens.lens (\ListedFlow' {name} -> name) (\s@ListedFlow' {} a -> s {name = a} :: ListedFlow)++instance Data.FromJSON ListedFlow where+ parseJSON =+ Data.withObject+ "ListedFlow"+ ( \x ->+ ListedFlow'+ Prelude.<$> (x Data..:? "maintenance")+ Prelude.<*> (x Data..: "status")+ Prelude.<*> (x Data..: "description")+ Prelude.<*> (x Data..: "sourceType")+ Prelude.<*> (x Data..: "availabilityZone")+ Prelude.<*> (x Data..: "flowArn")+ Prelude.<*> (x Data..: "name")+ )++instance Prelude.Hashable ListedFlow where+ hashWithSalt _salt ListedFlow' {..} =+ _salt+ `Prelude.hashWithSalt` maintenance+ `Prelude.hashWithSalt` status+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` sourceType+ `Prelude.hashWithSalt` availabilityZone+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` name++instance Prelude.NFData ListedFlow where+ rnf ListedFlow' {..} =+ Prelude.rnf maintenance+ `Prelude.seq` Prelude.rnf status+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf sourceType+ `Prelude.seq` Prelude.rnf availabilityZone+ `Prelude.seq` Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/MediaConnect/Types/Maintenance.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.Maintenance+-- 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.MediaConnect.Types.Maintenance where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.MaintenanceDay+import qualified Amazonka.Prelude as Prelude++-- | The maintenance setting of a flow+--+-- /See:/ 'newMaintenance' smart constructor.+data Maintenance = Maintenance'+ { -- | A day of a week when the maintenance will happen. Use+ -- Monday\/Tuesday\/Wednesday\/Thursday\/Friday\/Saturday\/Sunday.+ maintenanceDay :: Prelude.Maybe MaintenanceDay,+ -- | The Maintenance has to be performed before this deadline in ISO UTC+ -- format. Example: 2021-01-30T08:30:00Z.+ maintenanceDeadline :: Prelude.Maybe Prelude.Text,+ -- | A scheduled date in ISO UTC format when the maintenance will happen. Use+ -- YYYY-MM-DD format. Example: 2021-01-30.+ maintenanceScheduledDate :: Prelude.Maybe Prelude.Text,+ -- | UTC time when the maintenance will happen. Use 24-hour HH:MM format.+ -- Minutes must be 00. Example: 13:00. The default value is 02:00.+ maintenanceStartHour :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Maintenance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maintenanceDay', 'maintenance_maintenanceDay' - A day of a week when the maintenance will happen. Use+-- Monday\/Tuesday\/Wednesday\/Thursday\/Friday\/Saturday\/Sunday.+--+-- 'maintenanceDeadline', 'maintenance_maintenanceDeadline' - The Maintenance has to be performed before this deadline in ISO UTC+-- format. Example: 2021-01-30T08:30:00Z.+--+-- 'maintenanceScheduledDate', 'maintenance_maintenanceScheduledDate' - A scheduled date in ISO UTC format when the maintenance will happen. Use+-- YYYY-MM-DD format. Example: 2021-01-30.+--+-- 'maintenanceStartHour', 'maintenance_maintenanceStartHour' - UTC time when the maintenance will happen. Use 24-hour HH:MM format.+-- Minutes must be 00. Example: 13:00. The default value is 02:00.+newMaintenance ::+ Maintenance+newMaintenance =+ Maintenance'+ { maintenanceDay = Prelude.Nothing,+ maintenanceDeadline = Prelude.Nothing,+ maintenanceScheduledDate = Prelude.Nothing,+ maintenanceStartHour = Prelude.Nothing+ }++-- | A day of a week when the maintenance will happen. Use+-- Monday\/Tuesday\/Wednesday\/Thursday\/Friday\/Saturday\/Sunday.+maintenance_maintenanceDay :: Lens.Lens' Maintenance (Prelude.Maybe MaintenanceDay)+maintenance_maintenanceDay = Lens.lens (\Maintenance' {maintenanceDay} -> maintenanceDay) (\s@Maintenance' {} a -> s {maintenanceDay = a} :: Maintenance)++-- | The Maintenance has to be performed before this deadline in ISO UTC+-- format. Example: 2021-01-30T08:30:00Z.+maintenance_maintenanceDeadline :: Lens.Lens' Maintenance (Prelude.Maybe Prelude.Text)+maintenance_maintenanceDeadline = Lens.lens (\Maintenance' {maintenanceDeadline} -> maintenanceDeadline) (\s@Maintenance' {} a -> s {maintenanceDeadline = a} :: Maintenance)++-- | A scheduled date in ISO UTC format when the maintenance will happen. Use+-- YYYY-MM-DD format. Example: 2021-01-30.+maintenance_maintenanceScheduledDate :: Lens.Lens' Maintenance (Prelude.Maybe Prelude.Text)+maintenance_maintenanceScheduledDate = Lens.lens (\Maintenance' {maintenanceScheduledDate} -> maintenanceScheduledDate) (\s@Maintenance' {} a -> s {maintenanceScheduledDate = a} :: Maintenance)++-- | UTC time when the maintenance will happen. Use 24-hour HH:MM format.+-- Minutes must be 00. Example: 13:00. The default value is 02:00.+maintenance_maintenanceStartHour :: Lens.Lens' Maintenance (Prelude.Maybe Prelude.Text)+maintenance_maintenanceStartHour = Lens.lens (\Maintenance' {maintenanceStartHour} -> maintenanceStartHour) (\s@Maintenance' {} a -> s {maintenanceStartHour = a} :: Maintenance)++instance Data.FromJSON Maintenance where+ parseJSON =+ Data.withObject+ "Maintenance"+ ( \x ->+ Maintenance'+ Prelude.<$> (x Data..:? "maintenanceDay")+ Prelude.<*> (x Data..:? "maintenanceDeadline")+ Prelude.<*> (x Data..:? "maintenanceScheduledDate")+ Prelude.<*> (x Data..:? "maintenanceStartHour")+ )++instance Prelude.Hashable Maintenance where+ hashWithSalt _salt Maintenance' {..} =+ _salt+ `Prelude.hashWithSalt` maintenanceDay+ `Prelude.hashWithSalt` maintenanceDeadline+ `Prelude.hashWithSalt` maintenanceScheduledDate+ `Prelude.hashWithSalt` maintenanceStartHour++instance Prelude.NFData Maintenance where+ rnf Maintenance' {..} =+ Prelude.rnf maintenanceDay+ `Prelude.seq` Prelude.rnf maintenanceDeadline+ `Prelude.seq` Prelude.rnf maintenanceScheduledDate+ `Prelude.seq` Prelude.rnf maintenanceStartHour
+ gen/Amazonka/MediaConnect/Types/MaintenanceDay.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.MaintenanceDay+-- 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.MediaConnect.Types.MaintenanceDay+ ( MaintenanceDay+ ( ..,+ MaintenanceDay_Friday,+ MaintenanceDay_Monday,+ MaintenanceDay_Saturday,+ MaintenanceDay_Sunday,+ MaintenanceDay_Thursday,+ MaintenanceDay_Tuesday,+ MaintenanceDay_Wednesday+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MaintenanceDay = MaintenanceDay'+ { fromMaintenanceDay ::+ 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 MaintenanceDay_Friday :: MaintenanceDay+pattern MaintenanceDay_Friday = MaintenanceDay' "Friday"++pattern MaintenanceDay_Monday :: MaintenanceDay+pattern MaintenanceDay_Monday = MaintenanceDay' "Monday"++pattern MaintenanceDay_Saturday :: MaintenanceDay+pattern MaintenanceDay_Saturday = MaintenanceDay' "Saturday"++pattern MaintenanceDay_Sunday :: MaintenanceDay+pattern MaintenanceDay_Sunday = MaintenanceDay' "Sunday"++pattern MaintenanceDay_Thursday :: MaintenanceDay+pattern MaintenanceDay_Thursday = MaintenanceDay' "Thursday"++pattern MaintenanceDay_Tuesday :: MaintenanceDay+pattern MaintenanceDay_Tuesday = MaintenanceDay' "Tuesday"++pattern MaintenanceDay_Wednesday :: MaintenanceDay+pattern MaintenanceDay_Wednesday = MaintenanceDay' "Wednesday"++{-# COMPLETE+ MaintenanceDay_Friday,+ MaintenanceDay_Monday,+ MaintenanceDay_Saturday,+ MaintenanceDay_Sunday,+ MaintenanceDay_Thursday,+ MaintenanceDay_Tuesday,+ MaintenanceDay_Wednesday,+ MaintenanceDay'+ #-}
+ gen/Amazonka/MediaConnect/Types/MediaStream.hs view
@@ -0,0 +1,186 @@+{-# 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.MediaConnect.Types.MediaStream+-- 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.MediaConnect.Types.MediaStream where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.MediaStreamAttributes+import Amazonka.MediaConnect.Types.MediaStreamType+import qualified Amazonka.Prelude as Prelude++-- | A single track or stream of media that contains video, audio, or+-- ancillary data. After you add a media stream to a flow, you can+-- associate it with sources and outputs on that flow, as long as they use+-- the CDI protocol or the ST 2110 JPEG XS protocol. Each source or output+-- can consist of one or many media streams.+--+-- /See:/ 'newMediaStream' smart constructor.+data MediaStream = MediaStream'+ { -- | Attributes that are related to the media stream.+ attributes :: Prelude.Maybe MediaStreamAttributes,+ -- | The sample rate for the stream. This value is measured in Hz.+ clockRate :: Prelude.Maybe Prelude.Int,+ -- | A description that can help you quickly identify what your media stream+ -- is used for.+ description :: Prelude.Maybe Prelude.Text,+ -- | The resolution of the video.+ videoFormat :: Prelude.Maybe Prelude.Text,+ -- | The type of media stream.+ mediaStreamType :: MediaStreamType,+ -- | A unique identifier for the media stream.+ mediaStreamId :: Prelude.Int,+ -- | A name that helps you distinguish one media stream from another.+ mediaStreamName :: Prelude.Text,+ -- | The format type number (sometimes referred to as RTP payload type) of+ -- the media stream. MediaConnect assigns this value to the media stream.+ -- For ST 2110 JPEG XS outputs, you need to provide this value to the+ -- receiver.+ fmt :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaStream' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributes', 'mediaStream_attributes' - Attributes that are related to the media stream.+--+-- 'clockRate', 'mediaStream_clockRate' - The sample rate for the stream. This value is measured in Hz.+--+-- 'description', 'mediaStream_description' - A description that can help you quickly identify what your media stream+-- is used for.+--+-- 'videoFormat', 'mediaStream_videoFormat' - The resolution of the video.+--+-- 'mediaStreamType', 'mediaStream_mediaStreamType' - The type of media stream.+--+-- 'mediaStreamId', 'mediaStream_mediaStreamId' - A unique identifier for the media stream.+--+-- 'mediaStreamName', 'mediaStream_mediaStreamName' - A name that helps you distinguish one media stream from another.+--+-- 'fmt', 'mediaStream_fmt' - The format type number (sometimes referred to as RTP payload type) of+-- the media stream. MediaConnect assigns this value to the media stream.+-- For ST 2110 JPEG XS outputs, you need to provide this value to the+-- receiver.+newMediaStream ::+ -- | 'mediaStreamType'+ MediaStreamType ->+ -- | 'mediaStreamId'+ Prelude.Int ->+ -- | 'mediaStreamName'+ Prelude.Text ->+ -- | 'fmt'+ Prelude.Int ->+ MediaStream+newMediaStream+ pMediaStreamType_+ pMediaStreamId_+ pMediaStreamName_+ pFmt_ =+ MediaStream'+ { attributes = Prelude.Nothing,+ clockRate = Prelude.Nothing,+ description = Prelude.Nothing,+ videoFormat = Prelude.Nothing,+ mediaStreamType = pMediaStreamType_,+ mediaStreamId = pMediaStreamId_,+ mediaStreamName = pMediaStreamName_,+ fmt = pFmt_+ }++-- | Attributes that are related to the media stream.+mediaStream_attributes :: Lens.Lens' MediaStream (Prelude.Maybe MediaStreamAttributes)+mediaStream_attributes = Lens.lens (\MediaStream' {attributes} -> attributes) (\s@MediaStream' {} a -> s {attributes = a} :: MediaStream)++-- | The sample rate for the stream. This value is measured in Hz.+mediaStream_clockRate :: Lens.Lens' MediaStream (Prelude.Maybe Prelude.Int)+mediaStream_clockRate = Lens.lens (\MediaStream' {clockRate} -> clockRate) (\s@MediaStream' {} a -> s {clockRate = a} :: MediaStream)++-- | A description that can help you quickly identify what your media stream+-- is used for.+mediaStream_description :: Lens.Lens' MediaStream (Prelude.Maybe Prelude.Text)+mediaStream_description = Lens.lens (\MediaStream' {description} -> description) (\s@MediaStream' {} a -> s {description = a} :: MediaStream)++-- | The resolution of the video.+mediaStream_videoFormat :: Lens.Lens' MediaStream (Prelude.Maybe Prelude.Text)+mediaStream_videoFormat = Lens.lens (\MediaStream' {videoFormat} -> videoFormat) (\s@MediaStream' {} a -> s {videoFormat = a} :: MediaStream)++-- | The type of media stream.+mediaStream_mediaStreamType :: Lens.Lens' MediaStream MediaStreamType+mediaStream_mediaStreamType = Lens.lens (\MediaStream' {mediaStreamType} -> mediaStreamType) (\s@MediaStream' {} a -> s {mediaStreamType = a} :: MediaStream)++-- | A unique identifier for the media stream.+mediaStream_mediaStreamId :: Lens.Lens' MediaStream Prelude.Int+mediaStream_mediaStreamId = Lens.lens (\MediaStream' {mediaStreamId} -> mediaStreamId) (\s@MediaStream' {} a -> s {mediaStreamId = a} :: MediaStream)++-- | A name that helps you distinguish one media stream from another.+mediaStream_mediaStreamName :: Lens.Lens' MediaStream Prelude.Text+mediaStream_mediaStreamName = Lens.lens (\MediaStream' {mediaStreamName} -> mediaStreamName) (\s@MediaStream' {} a -> s {mediaStreamName = a} :: MediaStream)++-- | The format type number (sometimes referred to as RTP payload type) of+-- the media stream. MediaConnect assigns this value to the media stream.+-- For ST 2110 JPEG XS outputs, you need to provide this value to the+-- receiver.+mediaStream_fmt :: Lens.Lens' MediaStream Prelude.Int+mediaStream_fmt = Lens.lens (\MediaStream' {fmt} -> fmt) (\s@MediaStream' {} a -> s {fmt = a} :: MediaStream)++instance Data.FromJSON MediaStream where+ parseJSON =+ Data.withObject+ "MediaStream"+ ( \x ->+ MediaStream'+ Prelude.<$> (x Data..:? "attributes")+ Prelude.<*> (x Data..:? "clockRate")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "videoFormat")+ Prelude.<*> (x Data..: "mediaStreamType")+ Prelude.<*> (x Data..: "mediaStreamId")+ Prelude.<*> (x Data..: "mediaStreamName")+ Prelude.<*> (x Data..: "fmt")+ )++instance Prelude.Hashable MediaStream where+ hashWithSalt _salt MediaStream' {..} =+ _salt+ `Prelude.hashWithSalt` attributes+ `Prelude.hashWithSalt` clockRate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` videoFormat+ `Prelude.hashWithSalt` mediaStreamType+ `Prelude.hashWithSalt` mediaStreamId+ `Prelude.hashWithSalt` mediaStreamName+ `Prelude.hashWithSalt` fmt++instance Prelude.NFData MediaStream where+ rnf MediaStream' {..} =+ Prelude.rnf attributes+ `Prelude.seq` Prelude.rnf clockRate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf videoFormat+ `Prelude.seq` Prelude.rnf mediaStreamType+ `Prelude.seq` Prelude.rnf mediaStreamId+ `Prelude.seq` Prelude.rnf mediaStreamName+ `Prelude.seq` Prelude.rnf fmt
+ gen/Amazonka/MediaConnect/Types/MediaStreamAttributes.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.MediaStreamAttributes+-- 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.MediaConnect.Types.MediaStreamAttributes where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Fmtp+import qualified Amazonka.Prelude as Prelude++-- | Attributes that are related to the media stream.+--+-- /See:/ 'newMediaStreamAttributes' smart constructor.+data MediaStreamAttributes = MediaStreamAttributes'+ { -- | The audio language, in a format that is recognized by the receiver.+ lang :: Prelude.Maybe Prelude.Text,+ -- | A set of parameters that define the media stream.+ fmtp :: Fmtp+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaStreamAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'lang', 'mediaStreamAttributes_lang' - The audio language, in a format that is recognized by the receiver.+--+-- 'fmtp', 'mediaStreamAttributes_fmtp' - A set of parameters that define the media stream.+newMediaStreamAttributes ::+ -- | 'fmtp'+ Fmtp ->+ MediaStreamAttributes+newMediaStreamAttributes pFmtp_ =+ MediaStreamAttributes'+ { lang = Prelude.Nothing,+ fmtp = pFmtp_+ }++-- | The audio language, in a format that is recognized by the receiver.+mediaStreamAttributes_lang :: Lens.Lens' MediaStreamAttributes (Prelude.Maybe Prelude.Text)+mediaStreamAttributes_lang = Lens.lens (\MediaStreamAttributes' {lang} -> lang) (\s@MediaStreamAttributes' {} a -> s {lang = a} :: MediaStreamAttributes)++-- | A set of parameters that define the media stream.+mediaStreamAttributes_fmtp :: Lens.Lens' MediaStreamAttributes Fmtp+mediaStreamAttributes_fmtp = Lens.lens (\MediaStreamAttributes' {fmtp} -> fmtp) (\s@MediaStreamAttributes' {} a -> s {fmtp = a} :: MediaStreamAttributes)++instance Data.FromJSON MediaStreamAttributes where+ parseJSON =+ Data.withObject+ "MediaStreamAttributes"+ ( \x ->+ MediaStreamAttributes'+ Prelude.<$> (x Data..:? "lang")+ Prelude.<*> (x Data..: "fmtp")+ )++instance Prelude.Hashable MediaStreamAttributes where+ hashWithSalt _salt MediaStreamAttributes' {..} =+ _salt+ `Prelude.hashWithSalt` lang+ `Prelude.hashWithSalt` fmtp++instance Prelude.NFData MediaStreamAttributes where+ rnf MediaStreamAttributes' {..} =+ Prelude.rnf lang `Prelude.seq` Prelude.rnf fmtp
+ gen/Amazonka/MediaConnect/Types/MediaStreamAttributesRequest.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.MediaStreamAttributesRequest+-- 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.MediaConnect.Types.MediaStreamAttributesRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.FmtpRequest+import qualified Amazonka.Prelude as Prelude++-- | Attributes that are related to the media stream.+--+-- /See:/ 'newMediaStreamAttributesRequest' smart constructor.+data MediaStreamAttributesRequest = MediaStreamAttributesRequest'+ { -- | The settings that you want to use to define the media stream.+ fmtp :: Prelude.Maybe FmtpRequest,+ -- | The audio language, in a format that is recognized by the receiver.+ lang :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaStreamAttributesRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fmtp', 'mediaStreamAttributesRequest_fmtp' - The settings that you want to use to define the media stream.+--+-- 'lang', 'mediaStreamAttributesRequest_lang' - The audio language, in a format that is recognized by the receiver.+newMediaStreamAttributesRequest ::+ MediaStreamAttributesRequest+newMediaStreamAttributesRequest =+ MediaStreamAttributesRequest'+ { fmtp =+ Prelude.Nothing,+ lang = Prelude.Nothing+ }++-- | The settings that you want to use to define the media stream.+mediaStreamAttributesRequest_fmtp :: Lens.Lens' MediaStreamAttributesRequest (Prelude.Maybe FmtpRequest)+mediaStreamAttributesRequest_fmtp = Lens.lens (\MediaStreamAttributesRequest' {fmtp} -> fmtp) (\s@MediaStreamAttributesRequest' {} a -> s {fmtp = a} :: MediaStreamAttributesRequest)++-- | The audio language, in a format that is recognized by the receiver.+mediaStreamAttributesRequest_lang :: Lens.Lens' MediaStreamAttributesRequest (Prelude.Maybe Prelude.Text)+mediaStreamAttributesRequest_lang = Lens.lens (\MediaStreamAttributesRequest' {lang} -> lang) (\s@MediaStreamAttributesRequest' {} a -> s {lang = a} :: MediaStreamAttributesRequest)++instance+ Prelude.Hashable+ MediaStreamAttributesRequest+ where+ hashWithSalt _salt MediaStreamAttributesRequest' {..} =+ _salt+ `Prelude.hashWithSalt` fmtp+ `Prelude.hashWithSalt` lang++instance Prelude.NFData MediaStreamAttributesRequest where+ rnf MediaStreamAttributesRequest' {..} =+ Prelude.rnf fmtp `Prelude.seq` Prelude.rnf lang++instance Data.ToJSON MediaStreamAttributesRequest where+ toJSON MediaStreamAttributesRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("fmtp" Data..=) Prelude.<$> fmtp,+ ("lang" Data..=) Prelude.<$> lang+ ]+ )
+ gen/Amazonka/MediaConnect/Types/MediaStreamOutputConfiguration.hs view
@@ -0,0 +1,142 @@+{-# 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.MediaConnect.Types.MediaStreamOutputConfiguration+-- 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.MediaConnect.Types.MediaStreamOutputConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.DestinationConfiguration+import Amazonka.MediaConnect.Types.EncodingName+import Amazonka.MediaConnect.Types.EncodingParameters+import qualified Amazonka.Prelude as Prelude++-- | The media stream that is associated with the output, and the parameters+-- for that association.+--+-- /See:/ 'newMediaStreamOutputConfiguration' smart constructor.+data MediaStreamOutputConfiguration = MediaStreamOutputConfiguration'+ { -- | The transport parameters that are associated with each outbound media+ -- stream.+ destinationConfigurations :: Prelude.Maybe [DestinationConfiguration],+ -- | Encoding parameters+ encodingParameters :: Prelude.Maybe EncodingParameters,+ -- | The name of the media stream.+ mediaStreamName :: Prelude.Text,+ -- | The format that was used to encode the data. For ancillary data streams,+ -- set the encoding name to smpte291. For audio streams, set the encoding+ -- name to pcm. For video, 2110 streams, set the encoding name to raw. For+ -- video, JPEG XS streams, set the encoding name to jxsv.+ encodingName :: EncodingName+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaStreamOutputConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destinationConfigurations', 'mediaStreamOutputConfiguration_destinationConfigurations' - The transport parameters that are associated with each outbound media+-- stream.+--+-- 'encodingParameters', 'mediaStreamOutputConfiguration_encodingParameters' - Encoding parameters+--+-- 'mediaStreamName', 'mediaStreamOutputConfiguration_mediaStreamName' - The name of the media stream.+--+-- 'encodingName', 'mediaStreamOutputConfiguration_encodingName' - The format that was used to encode the data. For ancillary data streams,+-- set the encoding name to smpte291. For audio streams, set the encoding+-- name to pcm. For video, 2110 streams, set the encoding name to raw. For+-- video, JPEG XS streams, set the encoding name to jxsv.+newMediaStreamOutputConfiguration ::+ -- | 'mediaStreamName'+ Prelude.Text ->+ -- | 'encodingName'+ EncodingName ->+ MediaStreamOutputConfiguration+newMediaStreamOutputConfiguration+ pMediaStreamName_+ pEncodingName_ =+ MediaStreamOutputConfiguration'+ { destinationConfigurations =+ Prelude.Nothing,+ encodingParameters = Prelude.Nothing,+ mediaStreamName = pMediaStreamName_,+ encodingName = pEncodingName_+ }++-- | The transport parameters that are associated with each outbound media+-- stream.+mediaStreamOutputConfiguration_destinationConfigurations :: Lens.Lens' MediaStreamOutputConfiguration (Prelude.Maybe [DestinationConfiguration])+mediaStreamOutputConfiguration_destinationConfigurations = Lens.lens (\MediaStreamOutputConfiguration' {destinationConfigurations} -> destinationConfigurations) (\s@MediaStreamOutputConfiguration' {} a -> s {destinationConfigurations = a} :: MediaStreamOutputConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Encoding parameters+mediaStreamOutputConfiguration_encodingParameters :: Lens.Lens' MediaStreamOutputConfiguration (Prelude.Maybe EncodingParameters)+mediaStreamOutputConfiguration_encodingParameters = Lens.lens (\MediaStreamOutputConfiguration' {encodingParameters} -> encodingParameters) (\s@MediaStreamOutputConfiguration' {} a -> s {encodingParameters = a} :: MediaStreamOutputConfiguration)++-- | The name of the media stream.+mediaStreamOutputConfiguration_mediaStreamName :: Lens.Lens' MediaStreamOutputConfiguration Prelude.Text+mediaStreamOutputConfiguration_mediaStreamName = Lens.lens (\MediaStreamOutputConfiguration' {mediaStreamName} -> mediaStreamName) (\s@MediaStreamOutputConfiguration' {} a -> s {mediaStreamName = a} :: MediaStreamOutputConfiguration)++-- | The format that was used to encode the data. For ancillary data streams,+-- set the encoding name to smpte291. For audio streams, set the encoding+-- name to pcm. For video, 2110 streams, set the encoding name to raw. For+-- video, JPEG XS streams, set the encoding name to jxsv.+mediaStreamOutputConfiguration_encodingName :: Lens.Lens' MediaStreamOutputConfiguration EncodingName+mediaStreamOutputConfiguration_encodingName = Lens.lens (\MediaStreamOutputConfiguration' {encodingName} -> encodingName) (\s@MediaStreamOutputConfiguration' {} a -> s {encodingName = a} :: MediaStreamOutputConfiguration)++instance Data.FromJSON MediaStreamOutputConfiguration where+ parseJSON =+ Data.withObject+ "MediaStreamOutputConfiguration"+ ( \x ->+ MediaStreamOutputConfiguration'+ Prelude.<$> ( x+ Data..:? "destinationConfigurations"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "encodingParameters")+ Prelude.<*> (x Data..: "mediaStreamName")+ Prelude.<*> (x Data..: "encodingName")+ )++instance+ Prelude.Hashable+ MediaStreamOutputConfiguration+ where+ hashWithSalt+ _salt+ MediaStreamOutputConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` destinationConfigurations+ `Prelude.hashWithSalt` encodingParameters+ `Prelude.hashWithSalt` mediaStreamName+ `Prelude.hashWithSalt` encodingName++instance+ Prelude.NFData+ MediaStreamOutputConfiguration+ where+ rnf MediaStreamOutputConfiguration' {..} =+ Prelude.rnf destinationConfigurations+ `Prelude.seq` Prelude.rnf encodingParameters+ `Prelude.seq` Prelude.rnf mediaStreamName+ `Prelude.seq` Prelude.rnf encodingName
+ gen/Amazonka/MediaConnect/Types/MediaStreamOutputConfigurationRequest.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.MediaConnect.Types.MediaStreamOutputConfigurationRequest+-- 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.MediaConnect.Types.MediaStreamOutputConfigurationRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.DestinationConfigurationRequest+import Amazonka.MediaConnect.Types.EncodingName+import Amazonka.MediaConnect.Types.EncodingParametersRequest+import qualified Amazonka.Prelude as Prelude++-- | The media stream that you want to associate with the output, and the+-- parameters for that association.+--+-- /See:/ 'newMediaStreamOutputConfigurationRequest' smart constructor.+data MediaStreamOutputConfigurationRequest = MediaStreamOutputConfigurationRequest'+ { -- | The transport parameters that you want to associate with the media+ -- stream.+ destinationConfigurations :: Prelude.Maybe [DestinationConfigurationRequest],+ -- | A collection of parameters that determine how MediaConnect will convert+ -- the content. These fields only apply to outputs on flows that have a CDI+ -- source.+ encodingParameters :: Prelude.Maybe EncodingParametersRequest,+ -- | The name of the media stream that is associated with the output.+ mediaStreamName :: Prelude.Text,+ -- | The format that will be used to encode the data. For ancillary data+ -- streams, set the encoding name to smpte291. For audio streams, set the+ -- encoding name to pcm. For video, 2110 streams, set the encoding name to+ -- raw. For video, JPEG XS streams, set the encoding name to jxsv.+ encodingName :: EncodingName+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaStreamOutputConfigurationRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'destinationConfigurations', 'mediaStreamOutputConfigurationRequest_destinationConfigurations' - The transport parameters that you want to associate with the media+-- stream.+--+-- 'encodingParameters', 'mediaStreamOutputConfigurationRequest_encodingParameters' - A collection of parameters that determine how MediaConnect will convert+-- the content. These fields only apply to outputs on flows that have a CDI+-- source.+--+-- 'mediaStreamName', 'mediaStreamOutputConfigurationRequest_mediaStreamName' - The name of the media stream that is associated with the output.+--+-- 'encodingName', 'mediaStreamOutputConfigurationRequest_encodingName' - The format that will be used to encode the data. For ancillary data+-- streams, set the encoding name to smpte291. For audio streams, set the+-- encoding name to pcm. For video, 2110 streams, set the encoding name to+-- raw. For video, JPEG XS streams, set the encoding name to jxsv.+newMediaStreamOutputConfigurationRequest ::+ -- | 'mediaStreamName'+ Prelude.Text ->+ -- | 'encodingName'+ EncodingName ->+ MediaStreamOutputConfigurationRequest+newMediaStreamOutputConfigurationRequest+ pMediaStreamName_+ pEncodingName_ =+ MediaStreamOutputConfigurationRequest'+ { destinationConfigurations =+ Prelude.Nothing,+ encodingParameters = Prelude.Nothing,+ mediaStreamName = pMediaStreamName_,+ encodingName = pEncodingName_+ }++-- | The transport parameters that you want to associate with the media+-- stream.+mediaStreamOutputConfigurationRequest_destinationConfigurations :: Lens.Lens' MediaStreamOutputConfigurationRequest (Prelude.Maybe [DestinationConfigurationRequest])+mediaStreamOutputConfigurationRequest_destinationConfigurations = Lens.lens (\MediaStreamOutputConfigurationRequest' {destinationConfigurations} -> destinationConfigurations) (\s@MediaStreamOutputConfigurationRequest' {} a -> s {destinationConfigurations = a} :: MediaStreamOutputConfigurationRequest) Prelude.. Lens.mapping Lens.coerced++-- | A collection of parameters that determine how MediaConnect will convert+-- the content. These fields only apply to outputs on flows that have a CDI+-- source.+mediaStreamOutputConfigurationRequest_encodingParameters :: Lens.Lens' MediaStreamOutputConfigurationRequest (Prelude.Maybe EncodingParametersRequest)+mediaStreamOutputConfigurationRequest_encodingParameters = Lens.lens (\MediaStreamOutputConfigurationRequest' {encodingParameters} -> encodingParameters) (\s@MediaStreamOutputConfigurationRequest' {} a -> s {encodingParameters = a} :: MediaStreamOutputConfigurationRequest)++-- | The name of the media stream that is associated with the output.+mediaStreamOutputConfigurationRequest_mediaStreamName :: Lens.Lens' MediaStreamOutputConfigurationRequest Prelude.Text+mediaStreamOutputConfigurationRequest_mediaStreamName = Lens.lens (\MediaStreamOutputConfigurationRequest' {mediaStreamName} -> mediaStreamName) (\s@MediaStreamOutputConfigurationRequest' {} a -> s {mediaStreamName = a} :: MediaStreamOutputConfigurationRequest)++-- | The format that will be used to encode the data. For ancillary data+-- streams, set the encoding name to smpte291. For audio streams, set the+-- encoding name to pcm. For video, 2110 streams, set the encoding name to+-- raw. For video, JPEG XS streams, set the encoding name to jxsv.+mediaStreamOutputConfigurationRequest_encodingName :: Lens.Lens' MediaStreamOutputConfigurationRequest EncodingName+mediaStreamOutputConfigurationRequest_encodingName = Lens.lens (\MediaStreamOutputConfigurationRequest' {encodingName} -> encodingName) (\s@MediaStreamOutputConfigurationRequest' {} a -> s {encodingName = a} :: MediaStreamOutputConfigurationRequest)++instance+ Prelude.Hashable+ MediaStreamOutputConfigurationRequest+ where+ hashWithSalt+ _salt+ MediaStreamOutputConfigurationRequest' {..} =+ _salt+ `Prelude.hashWithSalt` destinationConfigurations+ `Prelude.hashWithSalt` encodingParameters+ `Prelude.hashWithSalt` mediaStreamName+ `Prelude.hashWithSalt` encodingName++instance+ Prelude.NFData+ MediaStreamOutputConfigurationRequest+ where+ rnf MediaStreamOutputConfigurationRequest' {..} =+ Prelude.rnf destinationConfigurations+ `Prelude.seq` Prelude.rnf encodingParameters+ `Prelude.seq` Prelude.rnf mediaStreamName+ `Prelude.seq` Prelude.rnf encodingName++instance+ Data.ToJSON+ MediaStreamOutputConfigurationRequest+ where+ toJSON MediaStreamOutputConfigurationRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("destinationConfigurations" Data..=)+ Prelude.<$> destinationConfigurations,+ ("encodingParameters" Data..=)+ Prelude.<$> encodingParameters,+ Prelude.Just+ ("mediaStreamName" Data..= mediaStreamName),+ Prelude.Just ("encodingName" Data..= encodingName)+ ]+ )
+ gen/Amazonka/MediaConnect/Types/MediaStreamSourceConfiguration.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.MediaStreamSourceConfiguration+-- 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.MediaConnect.Types.MediaStreamSourceConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.EncodingName+import Amazonka.MediaConnect.Types.InputConfiguration+import qualified Amazonka.Prelude as Prelude++-- | The media stream that is associated with the source, and the parameters+-- for that association.+--+-- /See:/ 'newMediaStreamSourceConfiguration' smart constructor.+data MediaStreamSourceConfiguration = MediaStreamSourceConfiguration'+ { -- | The transport parameters that are associated with an incoming media+ -- stream.+ inputConfigurations :: Prelude.Maybe [InputConfiguration],+ -- | The name of the media stream.+ mediaStreamName :: Prelude.Text,+ -- | The format that was used to encode the data. For ancillary data streams,+ -- set the encoding name to smpte291. For audio streams, set the encoding+ -- name to pcm. For video, 2110 streams, set the encoding name to raw. For+ -- video, JPEG XS streams, set the encoding name to jxsv.+ encodingName :: EncodingName+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaStreamSourceConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputConfigurations', 'mediaStreamSourceConfiguration_inputConfigurations' - The transport parameters that are associated with an incoming media+-- stream.+--+-- 'mediaStreamName', 'mediaStreamSourceConfiguration_mediaStreamName' - The name of the media stream.+--+-- 'encodingName', 'mediaStreamSourceConfiguration_encodingName' - The format that was used to encode the data. For ancillary data streams,+-- set the encoding name to smpte291. For audio streams, set the encoding+-- name to pcm. For video, 2110 streams, set the encoding name to raw. For+-- video, JPEG XS streams, set the encoding name to jxsv.+newMediaStreamSourceConfiguration ::+ -- | 'mediaStreamName'+ Prelude.Text ->+ -- | 'encodingName'+ EncodingName ->+ MediaStreamSourceConfiguration+newMediaStreamSourceConfiguration+ pMediaStreamName_+ pEncodingName_ =+ MediaStreamSourceConfiguration'+ { inputConfigurations =+ Prelude.Nothing,+ mediaStreamName = pMediaStreamName_,+ encodingName = pEncodingName_+ }++-- | The transport parameters that are associated with an incoming media+-- stream.+mediaStreamSourceConfiguration_inputConfigurations :: Lens.Lens' MediaStreamSourceConfiguration (Prelude.Maybe [InputConfiguration])+mediaStreamSourceConfiguration_inputConfigurations = Lens.lens (\MediaStreamSourceConfiguration' {inputConfigurations} -> inputConfigurations) (\s@MediaStreamSourceConfiguration' {} a -> s {inputConfigurations = a} :: MediaStreamSourceConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The name of the media stream.+mediaStreamSourceConfiguration_mediaStreamName :: Lens.Lens' MediaStreamSourceConfiguration Prelude.Text+mediaStreamSourceConfiguration_mediaStreamName = Lens.lens (\MediaStreamSourceConfiguration' {mediaStreamName} -> mediaStreamName) (\s@MediaStreamSourceConfiguration' {} a -> s {mediaStreamName = a} :: MediaStreamSourceConfiguration)++-- | The format that was used to encode the data. For ancillary data streams,+-- set the encoding name to smpte291. For audio streams, set the encoding+-- name to pcm. For video, 2110 streams, set the encoding name to raw. For+-- video, JPEG XS streams, set the encoding name to jxsv.+mediaStreamSourceConfiguration_encodingName :: Lens.Lens' MediaStreamSourceConfiguration EncodingName+mediaStreamSourceConfiguration_encodingName = Lens.lens (\MediaStreamSourceConfiguration' {encodingName} -> encodingName) (\s@MediaStreamSourceConfiguration' {} a -> s {encodingName = a} :: MediaStreamSourceConfiguration)++instance Data.FromJSON MediaStreamSourceConfiguration where+ parseJSON =+ Data.withObject+ "MediaStreamSourceConfiguration"+ ( \x ->+ MediaStreamSourceConfiguration'+ Prelude.<$> ( x+ Data..:? "inputConfigurations"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..: "mediaStreamName")+ Prelude.<*> (x Data..: "encodingName")+ )++instance+ Prelude.Hashable+ MediaStreamSourceConfiguration+ where+ hashWithSalt+ _salt+ MediaStreamSourceConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` inputConfigurations+ `Prelude.hashWithSalt` mediaStreamName+ `Prelude.hashWithSalt` encodingName++instance+ Prelude.NFData+ MediaStreamSourceConfiguration+ where+ rnf MediaStreamSourceConfiguration' {..} =+ Prelude.rnf inputConfigurations+ `Prelude.seq` Prelude.rnf mediaStreamName+ `Prelude.seq` Prelude.rnf encodingName
+ gen/Amazonka/MediaConnect/Types/MediaStreamSourceConfigurationRequest.hs view
@@ -0,0 +1,130 @@+{-# 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.MediaConnect.Types.MediaStreamSourceConfigurationRequest+-- 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.MediaConnect.Types.MediaStreamSourceConfigurationRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.EncodingName+import Amazonka.MediaConnect.Types.InputConfigurationRequest+import qualified Amazonka.Prelude as Prelude++-- | The definition of a media stream that you want to associate with the+-- source.+--+-- /See:/ 'newMediaStreamSourceConfigurationRequest' smart constructor.+data MediaStreamSourceConfigurationRequest = MediaStreamSourceConfigurationRequest'+ { -- | The transport parameters that you want to associate with the media+ -- stream.+ inputConfigurations :: Prelude.Maybe [InputConfigurationRequest],+ -- | The name of the media stream.+ mediaStreamName :: Prelude.Text,+ -- | The format you want to use to encode the data. For ancillary data+ -- streams, set the encoding name to smpte291. For audio streams, set the+ -- encoding name to pcm. For video, 2110 streams, set the encoding name to+ -- raw. For video, JPEG XS streams, set the encoding name to jxsv.+ encodingName :: EncodingName+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MediaStreamSourceConfigurationRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputConfigurations', 'mediaStreamSourceConfigurationRequest_inputConfigurations' - The transport parameters that you want to associate with the media+-- stream.+--+-- 'mediaStreamName', 'mediaStreamSourceConfigurationRequest_mediaStreamName' - The name of the media stream.+--+-- 'encodingName', 'mediaStreamSourceConfigurationRequest_encodingName' - The format you want to use to encode the data. For ancillary data+-- streams, set the encoding name to smpte291. For audio streams, set the+-- encoding name to pcm. For video, 2110 streams, set the encoding name to+-- raw. For video, JPEG XS streams, set the encoding name to jxsv.+newMediaStreamSourceConfigurationRequest ::+ -- | 'mediaStreamName'+ Prelude.Text ->+ -- | 'encodingName'+ EncodingName ->+ MediaStreamSourceConfigurationRequest+newMediaStreamSourceConfigurationRequest+ pMediaStreamName_+ pEncodingName_ =+ MediaStreamSourceConfigurationRequest'+ { inputConfigurations =+ Prelude.Nothing,+ mediaStreamName = pMediaStreamName_,+ encodingName = pEncodingName_+ }++-- | The transport parameters that you want to associate with the media+-- stream.+mediaStreamSourceConfigurationRequest_inputConfigurations :: Lens.Lens' MediaStreamSourceConfigurationRequest (Prelude.Maybe [InputConfigurationRequest])+mediaStreamSourceConfigurationRequest_inputConfigurations = Lens.lens (\MediaStreamSourceConfigurationRequest' {inputConfigurations} -> inputConfigurations) (\s@MediaStreamSourceConfigurationRequest' {} a -> s {inputConfigurations = a} :: MediaStreamSourceConfigurationRequest) Prelude.. Lens.mapping Lens.coerced++-- | The name of the media stream.+mediaStreamSourceConfigurationRequest_mediaStreamName :: Lens.Lens' MediaStreamSourceConfigurationRequest Prelude.Text+mediaStreamSourceConfigurationRequest_mediaStreamName = Lens.lens (\MediaStreamSourceConfigurationRequest' {mediaStreamName} -> mediaStreamName) (\s@MediaStreamSourceConfigurationRequest' {} a -> s {mediaStreamName = a} :: MediaStreamSourceConfigurationRequest)++-- | The format you want to use to encode the data. For ancillary data+-- streams, set the encoding name to smpte291. For audio streams, set the+-- encoding name to pcm. For video, 2110 streams, set the encoding name to+-- raw. For video, JPEG XS streams, set the encoding name to jxsv.+mediaStreamSourceConfigurationRequest_encodingName :: Lens.Lens' MediaStreamSourceConfigurationRequest EncodingName+mediaStreamSourceConfigurationRequest_encodingName = Lens.lens (\MediaStreamSourceConfigurationRequest' {encodingName} -> encodingName) (\s@MediaStreamSourceConfigurationRequest' {} a -> s {encodingName = a} :: MediaStreamSourceConfigurationRequest)++instance+ Prelude.Hashable+ MediaStreamSourceConfigurationRequest+ where+ hashWithSalt+ _salt+ MediaStreamSourceConfigurationRequest' {..} =+ _salt+ `Prelude.hashWithSalt` inputConfigurations+ `Prelude.hashWithSalt` mediaStreamName+ `Prelude.hashWithSalt` encodingName++instance+ Prelude.NFData+ MediaStreamSourceConfigurationRequest+ where+ rnf MediaStreamSourceConfigurationRequest' {..} =+ Prelude.rnf inputConfigurations+ `Prelude.seq` Prelude.rnf mediaStreamName+ `Prelude.seq` Prelude.rnf encodingName++instance+ Data.ToJSON+ MediaStreamSourceConfigurationRequest+ where+ toJSON MediaStreamSourceConfigurationRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("inputConfigurations" Data..=)+ Prelude.<$> inputConfigurations,+ Prelude.Just+ ("mediaStreamName" Data..= mediaStreamName),+ Prelude.Just ("encodingName" Data..= encodingName)+ ]+ )
+ gen/Amazonka/MediaConnect/Types/MediaStreamType.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.MediaConnect.Types.MediaStreamType+-- 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.MediaConnect.Types.MediaStreamType+ ( MediaStreamType+ ( ..,+ MediaStreamType_Ancillary_data,+ MediaStreamType_Audio,+ MediaStreamType_Video+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MediaStreamType = MediaStreamType'+ { fromMediaStreamType ::+ 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 MediaStreamType_Ancillary_data :: MediaStreamType+pattern MediaStreamType_Ancillary_data = MediaStreamType' "ancillary-data"++pattern MediaStreamType_Audio :: MediaStreamType+pattern MediaStreamType_Audio = MediaStreamType' "audio"++pattern MediaStreamType_Video :: MediaStreamType+pattern MediaStreamType_Video = MediaStreamType' "video"++{-# COMPLETE+ MediaStreamType_Ancillary_data,+ MediaStreamType_Audio,+ MediaStreamType_Video,+ MediaStreamType'+ #-}
+ gen/Amazonka/MediaConnect/Types/Messages.hs view
@@ -0,0 +1,70 @@+{-# 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.MediaConnect.Types.Messages+-- 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.MediaConnect.Types.Messages 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++-- | Messages that provide the state of the flow.+--+-- /See:/ 'newMessages' smart constructor.+data Messages = Messages'+ { -- | A list of errors that might have been generated from processes on this+ -- flow.+ errors :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Messages' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errors', 'messages_errors' - A list of errors that might have been generated from processes on this+-- flow.+newMessages ::+ Messages+newMessages = Messages' {errors = Prelude.mempty}++-- | A list of errors that might have been generated from processes on this+-- flow.+messages_errors :: Lens.Lens' Messages [Prelude.Text]+messages_errors = Lens.lens (\Messages' {errors} -> errors) (\s@Messages' {} a -> s {errors = a} :: Messages) Prelude.. Lens.coerced++instance Data.FromJSON Messages where+ parseJSON =+ Data.withObject+ "Messages"+ ( \x ->+ Messages'+ Prelude.<$> (x Data..:? "errors" Data..!= Prelude.mempty)+ )++instance Prelude.Hashable Messages where+ hashWithSalt _salt Messages' {..} =+ _salt `Prelude.hashWithSalt` errors++instance Prelude.NFData Messages where+ rnf Messages' {..} = Prelude.rnf errors
+ gen/Amazonka/MediaConnect/Types/NetworkInterfaceType.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.MediaConnect.Types.NetworkInterfaceType+-- 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.MediaConnect.Types.NetworkInterfaceType+ ( NetworkInterfaceType+ ( ..,+ NetworkInterfaceType_Efa,+ NetworkInterfaceType_Ena+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype NetworkInterfaceType = NetworkInterfaceType'+ { fromNetworkInterfaceType ::+ 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 NetworkInterfaceType_Efa :: NetworkInterfaceType+pattern NetworkInterfaceType_Efa = NetworkInterfaceType' "efa"++pattern NetworkInterfaceType_Ena :: NetworkInterfaceType+pattern NetworkInterfaceType_Ena = NetworkInterfaceType' "ena"++{-# COMPLETE+ NetworkInterfaceType_Efa,+ NetworkInterfaceType_Ena,+ NetworkInterfaceType'+ #-}
+ gen/Amazonka/MediaConnect/Types/Offering.hs view
@@ -0,0 +1,199 @@+{-# 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.MediaConnect.Types.Offering+-- 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.MediaConnect.Types.Offering where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.DurationUnits+import Amazonka.MediaConnect.Types.PriceUnits+import Amazonka.MediaConnect.Types.ResourceSpecification+import qualified Amazonka.Prelude as Prelude++-- | A savings plan that reserves a certain amount of outbound bandwidth+-- usage at a discounted rate each month over a period of time.+--+-- /See:/ 'newOffering' smart constructor.+data Offering = Offering'+ { -- | The type of currency that is used for billing. The currencyCode used for+ -- all reservations is US dollars.+ currencyCode :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) that MediaConnect assigns to the+ -- offering.+ offeringArn :: Prelude.Text,+ -- | A description of the offering.+ offeringDescription :: Prelude.Text,+ -- | The unit of measurement for the duration of the offering.+ durationUnits :: DurationUnits,+ -- | The length of time that your reservation would be active.+ duration :: Prelude.Int,+ -- | The cost of a single unit. This value, in combination with priceUnits,+ -- makes up the rate.+ pricePerUnit :: Prelude.Text,+ -- | A definition of the amount of outbound bandwidth that you would be+ -- reserving if you purchase the offering.+ resourceSpecification :: ResourceSpecification,+ -- | The unit of measurement that is used for billing. This value, in+ -- combination with pricePerUnit, makes up the rate.+ priceUnits :: PriceUnits+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Offering' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'currencyCode', 'offering_currencyCode' - The type of currency that is used for billing. The currencyCode used for+-- all reservations is US dollars.+--+-- 'offeringArn', 'offering_offeringArn' - The Amazon Resource Name (ARN) that MediaConnect assigns to the+-- offering.+--+-- 'offeringDescription', 'offering_offeringDescription' - A description of the offering.+--+-- 'durationUnits', 'offering_durationUnits' - The unit of measurement for the duration of the offering.+--+-- 'duration', 'offering_duration' - The length of time that your reservation would be active.+--+-- 'pricePerUnit', 'offering_pricePerUnit' - The cost of a single unit. This value, in combination with priceUnits,+-- makes up the rate.+--+-- 'resourceSpecification', 'offering_resourceSpecification' - A definition of the amount of outbound bandwidth that you would be+-- reserving if you purchase the offering.+--+-- 'priceUnits', 'offering_priceUnits' - The unit of measurement that is used for billing. This value, in+-- combination with pricePerUnit, makes up the rate.+newOffering ::+ -- | 'currencyCode'+ Prelude.Text ->+ -- | 'offeringArn'+ Prelude.Text ->+ -- | 'offeringDescription'+ Prelude.Text ->+ -- | 'durationUnits'+ DurationUnits ->+ -- | 'duration'+ Prelude.Int ->+ -- | 'pricePerUnit'+ Prelude.Text ->+ -- | 'resourceSpecification'+ ResourceSpecification ->+ -- | 'priceUnits'+ PriceUnits ->+ Offering+newOffering+ pCurrencyCode_+ pOfferingArn_+ pOfferingDescription_+ pDurationUnits_+ pDuration_+ pPricePerUnit_+ pResourceSpecification_+ pPriceUnits_ =+ Offering'+ { currencyCode = pCurrencyCode_,+ offeringArn = pOfferingArn_,+ offeringDescription = pOfferingDescription_,+ durationUnits = pDurationUnits_,+ duration = pDuration_,+ pricePerUnit = pPricePerUnit_,+ resourceSpecification = pResourceSpecification_,+ priceUnits = pPriceUnits_+ }++-- | The type of currency that is used for billing. The currencyCode used for+-- all reservations is US dollars.+offering_currencyCode :: Lens.Lens' Offering Prelude.Text+offering_currencyCode = Lens.lens (\Offering' {currencyCode} -> currencyCode) (\s@Offering' {} a -> s {currencyCode = a} :: Offering)++-- | The Amazon Resource Name (ARN) that MediaConnect assigns to the+-- offering.+offering_offeringArn :: Lens.Lens' Offering Prelude.Text+offering_offeringArn = Lens.lens (\Offering' {offeringArn} -> offeringArn) (\s@Offering' {} a -> s {offeringArn = a} :: Offering)++-- | A description of the offering.+offering_offeringDescription :: Lens.Lens' Offering Prelude.Text+offering_offeringDescription = Lens.lens (\Offering' {offeringDescription} -> offeringDescription) (\s@Offering' {} a -> s {offeringDescription = a} :: Offering)++-- | The unit of measurement for the duration of the offering.+offering_durationUnits :: Lens.Lens' Offering DurationUnits+offering_durationUnits = Lens.lens (\Offering' {durationUnits} -> durationUnits) (\s@Offering' {} a -> s {durationUnits = a} :: Offering)++-- | The length of time that your reservation would be active.+offering_duration :: Lens.Lens' Offering Prelude.Int+offering_duration = Lens.lens (\Offering' {duration} -> duration) (\s@Offering' {} a -> s {duration = a} :: Offering)++-- | The cost of a single unit. This value, in combination with priceUnits,+-- makes up the rate.+offering_pricePerUnit :: Lens.Lens' Offering Prelude.Text+offering_pricePerUnit = Lens.lens (\Offering' {pricePerUnit} -> pricePerUnit) (\s@Offering' {} a -> s {pricePerUnit = a} :: Offering)++-- | A definition of the amount of outbound bandwidth that you would be+-- reserving if you purchase the offering.+offering_resourceSpecification :: Lens.Lens' Offering ResourceSpecification+offering_resourceSpecification = Lens.lens (\Offering' {resourceSpecification} -> resourceSpecification) (\s@Offering' {} a -> s {resourceSpecification = a} :: Offering)++-- | The unit of measurement that is used for billing. This value, in+-- combination with pricePerUnit, makes up the rate.+offering_priceUnits :: Lens.Lens' Offering PriceUnits+offering_priceUnits = Lens.lens (\Offering' {priceUnits} -> priceUnits) (\s@Offering' {} a -> s {priceUnits = a} :: Offering)++instance Data.FromJSON Offering where+ parseJSON =+ Data.withObject+ "Offering"+ ( \x ->+ Offering'+ Prelude.<$> (x Data..: "currencyCode")+ Prelude.<*> (x Data..: "offeringArn")+ Prelude.<*> (x Data..: "offeringDescription")+ Prelude.<*> (x Data..: "durationUnits")+ Prelude.<*> (x Data..: "duration")+ Prelude.<*> (x Data..: "pricePerUnit")+ Prelude.<*> (x Data..: "resourceSpecification")+ Prelude.<*> (x Data..: "priceUnits")+ )++instance Prelude.Hashable Offering where+ hashWithSalt _salt Offering' {..} =+ _salt+ `Prelude.hashWithSalt` currencyCode+ `Prelude.hashWithSalt` offeringArn+ `Prelude.hashWithSalt` offeringDescription+ `Prelude.hashWithSalt` durationUnits+ `Prelude.hashWithSalt` duration+ `Prelude.hashWithSalt` pricePerUnit+ `Prelude.hashWithSalt` resourceSpecification+ `Prelude.hashWithSalt` priceUnits++instance Prelude.NFData Offering where+ rnf Offering' {..} =+ Prelude.rnf currencyCode+ `Prelude.seq` Prelude.rnf offeringArn+ `Prelude.seq` Prelude.rnf offeringDescription+ `Prelude.seq` Prelude.rnf durationUnits+ `Prelude.seq` Prelude.rnf duration+ `Prelude.seq` Prelude.rnf pricePerUnit+ `Prelude.seq` Prelude.rnf resourceSpecification+ `Prelude.seq` Prelude.rnf priceUnits
+ gen/Amazonka/MediaConnect/Types/Output.hs view
@@ -0,0 +1,261 @@+{-# 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.MediaConnect.Types.Output+-- 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.MediaConnect.Types.Output where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Encryption+import Amazonka.MediaConnect.Types.MediaStreamOutputConfiguration+import Amazonka.MediaConnect.Types.Transport+import Amazonka.MediaConnect.Types.VpcInterfaceAttachment+import qualified Amazonka.Prelude as Prelude++-- | The settings for an output.+--+-- /See:/ 'newOutput' smart constructor.+data Output = Output'+ { -- | Percentage from 0-100 of the data transfer cost to be billed to the+ -- subscriber.+ dataTransferSubscriberFeePercent :: Prelude.Maybe Prelude.Int,+ -- | A description of the output.+ description :: Prelude.Maybe Prelude.Text,+ -- | The address where you want to send the output.+ destination :: Prelude.Maybe Prelude.Text,+ -- | The type of key used for the encryption. If no keyType is provided, the+ -- service will use the default setting (static-key).+ encryption :: Prelude.Maybe Encryption,+ -- | The ARN of the entitlement on the originator\'\'s flow. This value is+ -- relevant only on entitled flows.+ entitlementArn :: Prelude.Maybe Prelude.Text,+ -- | The IP address that the receiver requires in order to establish a+ -- connection with the flow. For public networking, the ListenerAddress is+ -- represented by the elastic IP address of the flow. For private+ -- networking, the ListenerAddress is represented by the elastic network+ -- interface IP address of the VPC. This field applies only to outputs that+ -- use the Zixi pull or SRT listener protocol.+ listenerAddress :: Prelude.Maybe Prelude.Text,+ -- | The input ARN of the AWS Elemental MediaLive channel. This parameter is+ -- relevant only for outputs that were added by creating a MediaLive input.+ mediaLiveInputArn :: Prelude.Maybe Prelude.Text,+ -- | The configuration for each media stream that is associated with the+ -- output.+ mediaStreamOutputConfigurations :: Prelude.Maybe [MediaStreamOutputConfiguration],+ -- | The port to use when content is distributed to this output.+ port :: Prelude.Maybe Prelude.Int,+ -- | Attributes related to the transport stream that are used in the output.+ transport :: Prelude.Maybe Transport,+ -- | The name of the VPC interface attachment to use for this output.+ vpcInterfaceAttachment :: Prelude.Maybe VpcInterfaceAttachment,+ -- | The ARN of the output.+ outputArn :: Prelude.Text,+ -- | The name of the output. This value must be unique within the current+ -- flow.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Output' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataTransferSubscriberFeePercent', 'output_dataTransferSubscriberFeePercent' - Percentage from 0-100 of the data transfer cost to be billed to the+-- subscriber.+--+-- 'description', 'output_description' - A description of the output.+--+-- 'destination', 'output_destination' - The address where you want to send the output.+--+-- 'encryption', 'output_encryption' - The type of key used for the encryption. If no keyType is provided, the+-- service will use the default setting (static-key).+--+-- 'entitlementArn', 'output_entitlementArn' - The ARN of the entitlement on the originator\'\'s flow. This value is+-- relevant only on entitled flows.+--+-- 'listenerAddress', 'output_listenerAddress' - The IP address that the receiver requires in order to establish a+-- connection with the flow. For public networking, the ListenerAddress is+-- represented by the elastic IP address of the flow. For private+-- networking, the ListenerAddress is represented by the elastic network+-- interface IP address of the VPC. This field applies only to outputs that+-- use the Zixi pull or SRT listener protocol.+--+-- 'mediaLiveInputArn', 'output_mediaLiveInputArn' - The input ARN of the AWS Elemental MediaLive channel. This parameter is+-- relevant only for outputs that were added by creating a MediaLive input.+--+-- 'mediaStreamOutputConfigurations', 'output_mediaStreamOutputConfigurations' - The configuration for each media stream that is associated with the+-- output.+--+-- 'port', 'output_port' - The port to use when content is distributed to this output.+--+-- 'transport', 'output_transport' - Attributes related to the transport stream that are used in the output.+--+-- 'vpcInterfaceAttachment', 'output_vpcInterfaceAttachment' - The name of the VPC interface attachment to use for this output.+--+-- 'outputArn', 'output_outputArn' - The ARN of the output.+--+-- 'name', 'output_name' - The name of the output. This value must be unique within the current+-- flow.+newOutput ::+ -- | 'outputArn'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ Output+newOutput pOutputArn_ pName_ =+ Output'+ { dataTransferSubscriberFeePercent =+ Prelude.Nothing,+ description = Prelude.Nothing,+ destination = Prelude.Nothing,+ encryption = Prelude.Nothing,+ entitlementArn = Prelude.Nothing,+ listenerAddress = Prelude.Nothing,+ mediaLiveInputArn = Prelude.Nothing,+ mediaStreamOutputConfigurations = Prelude.Nothing,+ port = Prelude.Nothing,+ transport = Prelude.Nothing,+ vpcInterfaceAttachment = Prelude.Nothing,+ outputArn = pOutputArn_,+ name = pName_+ }++-- | Percentage from 0-100 of the data transfer cost to be billed to the+-- subscriber.+output_dataTransferSubscriberFeePercent :: Lens.Lens' Output (Prelude.Maybe Prelude.Int)+output_dataTransferSubscriberFeePercent = Lens.lens (\Output' {dataTransferSubscriberFeePercent} -> dataTransferSubscriberFeePercent) (\s@Output' {} a -> s {dataTransferSubscriberFeePercent = a} :: Output)++-- | A description of the output.+output_description :: Lens.Lens' Output (Prelude.Maybe Prelude.Text)+output_description = Lens.lens (\Output' {description} -> description) (\s@Output' {} a -> s {description = a} :: Output)++-- | The address where you want to send the output.+output_destination :: Lens.Lens' Output (Prelude.Maybe Prelude.Text)+output_destination = Lens.lens (\Output' {destination} -> destination) (\s@Output' {} a -> s {destination = a} :: Output)++-- | The type of key used for the encryption. If no keyType is provided, the+-- service will use the default setting (static-key).+output_encryption :: Lens.Lens' Output (Prelude.Maybe Encryption)+output_encryption = Lens.lens (\Output' {encryption} -> encryption) (\s@Output' {} a -> s {encryption = a} :: Output)++-- | The ARN of the entitlement on the originator\'\'s flow. This value is+-- relevant only on entitled flows.+output_entitlementArn :: Lens.Lens' Output (Prelude.Maybe Prelude.Text)+output_entitlementArn = Lens.lens (\Output' {entitlementArn} -> entitlementArn) (\s@Output' {} a -> s {entitlementArn = a} :: Output)++-- | The IP address that the receiver requires in order to establish a+-- connection with the flow. For public networking, the ListenerAddress is+-- represented by the elastic IP address of the flow. For private+-- networking, the ListenerAddress is represented by the elastic network+-- interface IP address of the VPC. This field applies only to outputs that+-- use the Zixi pull or SRT listener protocol.+output_listenerAddress :: Lens.Lens' Output (Prelude.Maybe Prelude.Text)+output_listenerAddress = Lens.lens (\Output' {listenerAddress} -> listenerAddress) (\s@Output' {} a -> s {listenerAddress = a} :: Output)++-- | The input ARN of the AWS Elemental MediaLive channel. This parameter is+-- relevant only for outputs that were added by creating a MediaLive input.+output_mediaLiveInputArn :: Lens.Lens' Output (Prelude.Maybe Prelude.Text)+output_mediaLiveInputArn = Lens.lens (\Output' {mediaLiveInputArn} -> mediaLiveInputArn) (\s@Output' {} a -> s {mediaLiveInputArn = a} :: Output)++-- | The configuration for each media stream that is associated with the+-- output.+output_mediaStreamOutputConfigurations :: Lens.Lens' Output (Prelude.Maybe [MediaStreamOutputConfiguration])+output_mediaStreamOutputConfigurations = Lens.lens (\Output' {mediaStreamOutputConfigurations} -> mediaStreamOutputConfigurations) (\s@Output' {} a -> s {mediaStreamOutputConfigurations = a} :: Output) Prelude.. Lens.mapping Lens.coerced++-- | The port to use when content is distributed to this output.+output_port :: Lens.Lens' Output (Prelude.Maybe Prelude.Int)+output_port = Lens.lens (\Output' {port} -> port) (\s@Output' {} a -> s {port = a} :: Output)++-- | Attributes related to the transport stream that are used in the output.+output_transport :: Lens.Lens' Output (Prelude.Maybe Transport)+output_transport = Lens.lens (\Output' {transport} -> transport) (\s@Output' {} a -> s {transport = a} :: Output)++-- | The name of the VPC interface attachment to use for this output.+output_vpcInterfaceAttachment :: Lens.Lens' Output (Prelude.Maybe VpcInterfaceAttachment)+output_vpcInterfaceAttachment = Lens.lens (\Output' {vpcInterfaceAttachment} -> vpcInterfaceAttachment) (\s@Output' {} a -> s {vpcInterfaceAttachment = a} :: Output)++-- | The ARN of the output.+output_outputArn :: Lens.Lens' Output Prelude.Text+output_outputArn = Lens.lens (\Output' {outputArn} -> outputArn) (\s@Output' {} a -> s {outputArn = a} :: Output)++-- | The name of the output. This value must be unique within the current+-- flow.+output_name :: Lens.Lens' Output Prelude.Text+output_name = Lens.lens (\Output' {name} -> name) (\s@Output' {} a -> s {name = a} :: Output)++instance Data.FromJSON Output where+ parseJSON =+ Data.withObject+ "Output"+ ( \x ->+ Output'+ Prelude.<$> (x Data..:? "dataTransferSubscriberFeePercent")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "destination")+ Prelude.<*> (x Data..:? "encryption")+ Prelude.<*> (x Data..:? "entitlementArn")+ Prelude.<*> (x Data..:? "listenerAddress")+ Prelude.<*> (x Data..:? "mediaLiveInputArn")+ Prelude.<*> ( x+ Data..:? "mediaStreamOutputConfigurations"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "port")+ Prelude.<*> (x Data..:? "transport")+ Prelude.<*> (x Data..:? "vpcInterfaceAttachment")+ Prelude.<*> (x Data..: "outputArn")+ Prelude.<*> (x Data..: "name")+ )++instance Prelude.Hashable Output where+ hashWithSalt _salt Output' {..} =+ _salt+ `Prelude.hashWithSalt` dataTransferSubscriberFeePercent+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` destination+ `Prelude.hashWithSalt` encryption+ `Prelude.hashWithSalt` entitlementArn+ `Prelude.hashWithSalt` listenerAddress+ `Prelude.hashWithSalt` mediaLiveInputArn+ `Prelude.hashWithSalt` mediaStreamOutputConfigurations+ `Prelude.hashWithSalt` port+ `Prelude.hashWithSalt` transport+ `Prelude.hashWithSalt` vpcInterfaceAttachment+ `Prelude.hashWithSalt` outputArn+ `Prelude.hashWithSalt` name++instance Prelude.NFData Output where+ rnf Output' {..} =+ Prelude.rnf dataTransferSubscriberFeePercent+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf destination+ `Prelude.seq` Prelude.rnf encryption+ `Prelude.seq` Prelude.rnf entitlementArn+ `Prelude.seq` Prelude.rnf listenerAddress+ `Prelude.seq` Prelude.rnf mediaLiveInputArn+ `Prelude.seq` Prelude.rnf mediaStreamOutputConfigurations+ `Prelude.seq` Prelude.rnf port+ `Prelude.seq` Prelude.rnf transport+ `Prelude.seq` Prelude.rnf vpcInterfaceAttachment+ `Prelude.seq` Prelude.rnf outputArn+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/MediaConnect/Types/PriceUnits.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.MediaConnect.Types.PriceUnits+-- 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.MediaConnect.Types.PriceUnits+ ( PriceUnits+ ( ..,+ PriceUnits_HOURLY+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PriceUnits = PriceUnits'+ { fromPriceUnits ::+ 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 PriceUnits_HOURLY :: PriceUnits+pattern PriceUnits_HOURLY = PriceUnits' "HOURLY"++{-# COMPLETE+ PriceUnits_HOURLY,+ PriceUnits'+ #-}
+ gen/Amazonka/MediaConnect/Types/Protocol.hs view
@@ -0,0 +1,111 @@+{-# 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.MediaConnect.Types.Protocol+-- 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.MediaConnect.Types.Protocol+ ( Protocol+ ( ..,+ Protocol_Cdi,+ Protocol_Fujitsu_qos,+ Protocol_Rist,+ Protocol_Rtp,+ Protocol_Rtp_fec,+ Protocol_Srt_caller,+ Protocol_Srt_listener,+ Protocol_St2110_jpegxs,+ Protocol_Zixi_pull,+ Protocol_Zixi_push+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Protocol = Protocol'+ { fromProtocol ::+ 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 Protocol_Cdi :: Protocol+pattern Protocol_Cdi = Protocol' "cdi"++pattern Protocol_Fujitsu_qos :: Protocol+pattern Protocol_Fujitsu_qos = Protocol' "fujitsu-qos"++pattern Protocol_Rist :: Protocol+pattern Protocol_Rist = Protocol' "rist"++pattern Protocol_Rtp :: Protocol+pattern Protocol_Rtp = Protocol' "rtp"++pattern Protocol_Rtp_fec :: Protocol+pattern Protocol_Rtp_fec = Protocol' "rtp-fec"++pattern Protocol_Srt_caller :: Protocol+pattern Protocol_Srt_caller = Protocol' "srt-caller"++pattern Protocol_Srt_listener :: Protocol+pattern Protocol_Srt_listener = Protocol' "srt-listener"++pattern Protocol_St2110_jpegxs :: Protocol+pattern Protocol_St2110_jpegxs = Protocol' "st2110-jpegxs"++pattern Protocol_Zixi_pull :: Protocol+pattern Protocol_Zixi_pull = Protocol' "zixi-pull"++pattern Protocol_Zixi_push :: Protocol+pattern Protocol_Zixi_push = Protocol' "zixi-push"++{-# COMPLETE+ Protocol_Cdi,+ Protocol_Fujitsu_qos,+ Protocol_Rist,+ Protocol_Rtp,+ Protocol_Rtp_fec,+ Protocol_Srt_caller,+ Protocol_Srt_listener,+ Protocol_St2110_jpegxs,+ Protocol_Zixi_pull,+ Protocol_Zixi_push,+ Protocol'+ #-}
+ gen/Amazonka/MediaConnect/Types/Range.hs view
@@ -0,0 +1,73 @@+{-# 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.MediaConnect.Types.Range+-- 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.MediaConnect.Types.Range+ ( Range+ ( ..,+ Range_FULL,+ Range_FULLPROTECT,+ Range_NARROW+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Range = Range' {fromRange :: 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 Range_FULL :: Range+pattern Range_FULL = Range' "FULL"++pattern Range_FULLPROTECT :: Range+pattern Range_FULLPROTECT = Range' "FULLPROTECT"++pattern Range_NARROW :: Range+pattern Range_NARROW = Range' "NARROW"++{-# COMPLETE+ Range_FULL,+ Range_FULLPROTECT,+ Range_NARROW,+ Range'+ #-}
+ gen/Amazonka/MediaConnect/Types/Reservation.hs view
@@ -0,0 +1,310 @@+{-# 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.MediaConnect.Types.Reservation+-- 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.MediaConnect.Types.Reservation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.DurationUnits+import Amazonka.MediaConnect.Types.PriceUnits+import Amazonka.MediaConnect.Types.ReservationState+import Amazonka.MediaConnect.Types.ResourceSpecification+import qualified Amazonka.Prelude as Prelude++-- | A pricing agreement for a discounted rate for a specific outbound+-- bandwidth that your MediaConnect account will use each month over a+-- specific time period. The discounted rate in the reservation applies to+-- outbound bandwidth for all flows from your account until your account+-- reaches the amount of bandwidth in your reservation. If you use more+-- outbound bandwidth than the agreed upon amount in a single month, the+-- overage is charged at the on-demand rate.+--+-- /See:/ 'newReservation' smart constructor.+data Reservation = Reservation'+ { -- | The type of currency that is used for billing. The currencyCode used for+ -- your reservation is US dollars.+ currencyCode :: Prelude.Text,+ -- | The status of your reservation.+ reservationState :: ReservationState,+ -- | The Amazon Resource Name (ARN) that MediaConnect assigns to the+ -- offering.+ offeringArn :: Prelude.Text,+ -- | The Amazon Resource Name (ARN) that MediaConnect assigns to the+ -- reservation when you purchase an offering.+ reservationArn :: Prelude.Text,+ -- | The day and time that the reservation becomes active. You set this value+ -- when you purchase the offering.+ start :: Prelude.Text,+ -- | A description of the offering. MediaConnect defines this value in the+ -- offering.+ offeringDescription :: Prelude.Text,+ -- | The name that you assigned to the reservation when you purchased the+ -- offering.+ reservationName :: Prelude.Text,+ -- | The day and time that this reservation expires. This value is calculated+ -- based on the start date and time that you set and the offering\'s+ -- duration.+ end :: Prelude.Text,+ -- | The length of time that this reservation is active. MediaConnect defines+ -- this value in the offering.+ duration :: Prelude.Int,+ -- | The unit of measurement for the duration of the reservation.+ -- MediaConnect defines this value in the offering.+ durationUnits :: DurationUnits,+ -- | The cost of a single unit. This value, in combination with priceUnits,+ -- makes up the rate. MediaConnect defines this value in the offering.+ pricePerUnit :: Prelude.Text,+ -- | A definition of the amount of outbound bandwidth that you would be+ -- reserving if you purchase the offering. MediaConnect defines the values+ -- that make up the resourceSpecification in the offering.+ resourceSpecification :: ResourceSpecification,+ -- | The unit of measurement that is used for billing. This value, in+ -- combination with pricePerUnit, makes up the rate. MediaConnect defines+ -- this value in the offering.+ priceUnits :: PriceUnits+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Reservation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'currencyCode', 'reservation_currencyCode' - The type of currency that is used for billing. The currencyCode used for+-- your reservation is US dollars.+--+-- 'reservationState', 'reservation_reservationState' - The status of your reservation.+--+-- 'offeringArn', 'reservation_offeringArn' - The Amazon Resource Name (ARN) that MediaConnect assigns to the+-- offering.+--+-- 'reservationArn', 'reservation_reservationArn' - The Amazon Resource Name (ARN) that MediaConnect assigns to the+-- reservation when you purchase an offering.+--+-- 'start', 'reservation_start' - The day and time that the reservation becomes active. You set this value+-- when you purchase the offering.+--+-- 'offeringDescription', 'reservation_offeringDescription' - A description of the offering. MediaConnect defines this value in the+-- offering.+--+-- 'reservationName', 'reservation_reservationName' - The name that you assigned to the reservation when you purchased the+-- offering.+--+-- 'end', 'reservation_end' - The day and time that this reservation expires. This value is calculated+-- based on the start date and time that you set and the offering\'s+-- duration.+--+-- 'duration', 'reservation_duration' - The length of time that this reservation is active. MediaConnect defines+-- this value in the offering.+--+-- 'durationUnits', 'reservation_durationUnits' - The unit of measurement for the duration of the reservation.+-- MediaConnect defines this value in the offering.+--+-- 'pricePerUnit', 'reservation_pricePerUnit' - The cost of a single unit. This value, in combination with priceUnits,+-- makes up the rate. MediaConnect defines this value in the offering.+--+-- 'resourceSpecification', 'reservation_resourceSpecification' - A definition of the amount of outbound bandwidth that you would be+-- reserving if you purchase the offering. MediaConnect defines the values+-- that make up the resourceSpecification in the offering.+--+-- 'priceUnits', 'reservation_priceUnits' - The unit of measurement that is used for billing. This value, in+-- combination with pricePerUnit, makes up the rate. MediaConnect defines+-- this value in the offering.+newReservation ::+ -- | 'currencyCode'+ Prelude.Text ->+ -- | 'reservationState'+ ReservationState ->+ -- | 'offeringArn'+ Prelude.Text ->+ -- | 'reservationArn'+ Prelude.Text ->+ -- | 'start'+ Prelude.Text ->+ -- | 'offeringDescription'+ Prelude.Text ->+ -- | 'reservationName'+ Prelude.Text ->+ -- | 'end'+ Prelude.Text ->+ -- | 'duration'+ Prelude.Int ->+ -- | 'durationUnits'+ DurationUnits ->+ -- | 'pricePerUnit'+ Prelude.Text ->+ -- | 'resourceSpecification'+ ResourceSpecification ->+ -- | 'priceUnits'+ PriceUnits ->+ Reservation+newReservation+ pCurrencyCode_+ pReservationState_+ pOfferingArn_+ pReservationArn_+ pStart_+ pOfferingDescription_+ pReservationName_+ pEnd_+ pDuration_+ pDurationUnits_+ pPricePerUnit_+ pResourceSpecification_+ pPriceUnits_ =+ Reservation'+ { currencyCode = pCurrencyCode_,+ reservationState = pReservationState_,+ offeringArn = pOfferingArn_,+ reservationArn = pReservationArn_,+ start = pStart_,+ offeringDescription = pOfferingDescription_,+ reservationName = pReservationName_,+ end = pEnd_,+ duration = pDuration_,+ durationUnits = pDurationUnits_,+ pricePerUnit = pPricePerUnit_,+ resourceSpecification = pResourceSpecification_,+ priceUnits = pPriceUnits_+ }++-- | The type of currency that is used for billing. The currencyCode used for+-- your reservation is US dollars.+reservation_currencyCode :: Lens.Lens' Reservation Prelude.Text+reservation_currencyCode = Lens.lens (\Reservation' {currencyCode} -> currencyCode) (\s@Reservation' {} a -> s {currencyCode = a} :: Reservation)++-- | The status of your reservation.+reservation_reservationState :: Lens.Lens' Reservation ReservationState+reservation_reservationState = Lens.lens (\Reservation' {reservationState} -> reservationState) (\s@Reservation' {} a -> s {reservationState = a} :: Reservation)++-- | The Amazon Resource Name (ARN) that MediaConnect assigns to the+-- offering.+reservation_offeringArn :: Lens.Lens' Reservation Prelude.Text+reservation_offeringArn = Lens.lens (\Reservation' {offeringArn} -> offeringArn) (\s@Reservation' {} a -> s {offeringArn = a} :: Reservation)++-- | The Amazon Resource Name (ARN) that MediaConnect assigns to the+-- reservation when you purchase an offering.+reservation_reservationArn :: Lens.Lens' Reservation Prelude.Text+reservation_reservationArn = Lens.lens (\Reservation' {reservationArn} -> reservationArn) (\s@Reservation' {} a -> s {reservationArn = a} :: Reservation)++-- | The day and time that the reservation becomes active. You set this value+-- when you purchase the offering.+reservation_start :: Lens.Lens' Reservation Prelude.Text+reservation_start = Lens.lens (\Reservation' {start} -> start) (\s@Reservation' {} a -> s {start = a} :: Reservation)++-- | A description of the offering. MediaConnect defines this value in the+-- offering.+reservation_offeringDescription :: Lens.Lens' Reservation Prelude.Text+reservation_offeringDescription = Lens.lens (\Reservation' {offeringDescription} -> offeringDescription) (\s@Reservation' {} a -> s {offeringDescription = a} :: Reservation)++-- | The name that you assigned to the reservation when you purchased the+-- offering.+reservation_reservationName :: Lens.Lens' Reservation Prelude.Text+reservation_reservationName = Lens.lens (\Reservation' {reservationName} -> reservationName) (\s@Reservation' {} a -> s {reservationName = a} :: Reservation)++-- | The day and time that this reservation expires. This value is calculated+-- based on the start date and time that you set and the offering\'s+-- duration.+reservation_end :: Lens.Lens' Reservation Prelude.Text+reservation_end = Lens.lens (\Reservation' {end} -> end) (\s@Reservation' {} a -> s {end = a} :: Reservation)++-- | The length of time that this reservation is active. MediaConnect defines+-- this value in the offering.+reservation_duration :: Lens.Lens' Reservation Prelude.Int+reservation_duration = Lens.lens (\Reservation' {duration} -> duration) (\s@Reservation' {} a -> s {duration = a} :: Reservation)++-- | The unit of measurement for the duration of the reservation.+-- MediaConnect defines this value in the offering.+reservation_durationUnits :: Lens.Lens' Reservation DurationUnits+reservation_durationUnits = Lens.lens (\Reservation' {durationUnits} -> durationUnits) (\s@Reservation' {} a -> s {durationUnits = a} :: Reservation)++-- | The cost of a single unit. This value, in combination with priceUnits,+-- makes up the rate. MediaConnect defines this value in the offering.+reservation_pricePerUnit :: Lens.Lens' Reservation Prelude.Text+reservation_pricePerUnit = Lens.lens (\Reservation' {pricePerUnit} -> pricePerUnit) (\s@Reservation' {} a -> s {pricePerUnit = a} :: Reservation)++-- | A definition of the amount of outbound bandwidth that you would be+-- reserving if you purchase the offering. MediaConnect defines the values+-- that make up the resourceSpecification in the offering.+reservation_resourceSpecification :: Lens.Lens' Reservation ResourceSpecification+reservation_resourceSpecification = Lens.lens (\Reservation' {resourceSpecification} -> resourceSpecification) (\s@Reservation' {} a -> s {resourceSpecification = a} :: Reservation)++-- | The unit of measurement that is used for billing. This value, in+-- combination with pricePerUnit, makes up the rate. MediaConnect defines+-- this value in the offering.+reservation_priceUnits :: Lens.Lens' Reservation PriceUnits+reservation_priceUnits = Lens.lens (\Reservation' {priceUnits} -> priceUnits) (\s@Reservation' {} a -> s {priceUnits = a} :: Reservation)++instance Data.FromJSON Reservation where+ parseJSON =+ Data.withObject+ "Reservation"+ ( \x ->+ Reservation'+ Prelude.<$> (x Data..: "currencyCode")+ Prelude.<*> (x Data..: "reservationState")+ Prelude.<*> (x Data..: "offeringArn")+ Prelude.<*> (x Data..: "reservationArn")+ Prelude.<*> (x Data..: "start")+ Prelude.<*> (x Data..: "offeringDescription")+ Prelude.<*> (x Data..: "reservationName")+ Prelude.<*> (x Data..: "end")+ Prelude.<*> (x Data..: "duration")+ Prelude.<*> (x Data..: "durationUnits")+ Prelude.<*> (x Data..: "pricePerUnit")+ Prelude.<*> (x Data..: "resourceSpecification")+ Prelude.<*> (x Data..: "priceUnits")+ )++instance Prelude.Hashable Reservation where+ hashWithSalt _salt Reservation' {..} =+ _salt+ `Prelude.hashWithSalt` currencyCode+ `Prelude.hashWithSalt` reservationState+ `Prelude.hashWithSalt` offeringArn+ `Prelude.hashWithSalt` reservationArn+ `Prelude.hashWithSalt` start+ `Prelude.hashWithSalt` offeringDescription+ `Prelude.hashWithSalt` reservationName+ `Prelude.hashWithSalt` end+ `Prelude.hashWithSalt` duration+ `Prelude.hashWithSalt` durationUnits+ `Prelude.hashWithSalt` pricePerUnit+ `Prelude.hashWithSalt` resourceSpecification+ `Prelude.hashWithSalt` priceUnits++instance Prelude.NFData Reservation where+ rnf Reservation' {..} =+ Prelude.rnf currencyCode+ `Prelude.seq` Prelude.rnf reservationState+ `Prelude.seq` Prelude.rnf offeringArn+ `Prelude.seq` Prelude.rnf reservationArn+ `Prelude.seq` Prelude.rnf start+ `Prelude.seq` Prelude.rnf offeringDescription+ `Prelude.seq` Prelude.rnf reservationName+ `Prelude.seq` Prelude.rnf end+ `Prelude.seq` Prelude.rnf duration+ `Prelude.seq` Prelude.rnf durationUnits+ `Prelude.seq` Prelude.rnf pricePerUnit+ `Prelude.seq` Prelude.rnf resourceSpecification+ `Prelude.seq` Prelude.rnf priceUnits
+ gen/Amazonka/MediaConnect/Types/ReservationState.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.MediaConnect.Types.ReservationState+-- 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.MediaConnect.Types.ReservationState+ ( ReservationState+ ( ..,+ ReservationState_ACTIVE,+ ReservationState_CANCELED,+ ReservationState_EXPIRED,+ ReservationState_PROCESSING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ReservationState = ReservationState'+ { fromReservationState ::+ 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 ReservationState_ACTIVE :: ReservationState+pattern ReservationState_ACTIVE = ReservationState' "ACTIVE"++pattern ReservationState_CANCELED :: ReservationState+pattern ReservationState_CANCELED = ReservationState' "CANCELED"++pattern ReservationState_EXPIRED :: ReservationState+pattern ReservationState_EXPIRED = ReservationState' "EXPIRED"++pattern ReservationState_PROCESSING :: ReservationState+pattern ReservationState_PROCESSING = ReservationState' "PROCESSING"++{-# COMPLETE+ ReservationState_ACTIVE,+ ReservationState_CANCELED,+ ReservationState_EXPIRED,+ ReservationState_PROCESSING,+ ReservationState'+ #-}
+ gen/Amazonka/MediaConnect/Types/ResourceSpecification.hs view
@@ -0,0 +1,88 @@+{-# 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.MediaConnect.Types.ResourceSpecification+-- 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.MediaConnect.Types.ResourceSpecification where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.ResourceType+import qualified Amazonka.Prelude as Prelude++-- | A definition of what is being billed for, including the type and amount.+--+-- /See:/ 'newResourceSpecification' smart constructor.+data ResourceSpecification = ResourceSpecification'+ { -- | The amount of outbound bandwidth that is discounted in the offering.+ reservedBitrate :: Prelude.Maybe Prelude.Int,+ -- | The type of resource and the unit that is being billed for.+ resourceType :: ResourceType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResourceSpecification' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'reservedBitrate', 'resourceSpecification_reservedBitrate' - The amount of outbound bandwidth that is discounted in the offering.+--+-- 'resourceType', 'resourceSpecification_resourceType' - The type of resource and the unit that is being billed for.+newResourceSpecification ::+ -- | 'resourceType'+ ResourceType ->+ ResourceSpecification+newResourceSpecification pResourceType_ =+ ResourceSpecification'+ { reservedBitrate =+ Prelude.Nothing,+ resourceType = pResourceType_+ }++-- | The amount of outbound bandwidth that is discounted in the offering.+resourceSpecification_reservedBitrate :: Lens.Lens' ResourceSpecification (Prelude.Maybe Prelude.Int)+resourceSpecification_reservedBitrate = Lens.lens (\ResourceSpecification' {reservedBitrate} -> reservedBitrate) (\s@ResourceSpecification' {} a -> s {reservedBitrate = a} :: ResourceSpecification)++-- | The type of resource and the unit that is being billed for.+resourceSpecification_resourceType :: Lens.Lens' ResourceSpecification ResourceType+resourceSpecification_resourceType = Lens.lens (\ResourceSpecification' {resourceType} -> resourceType) (\s@ResourceSpecification' {} a -> s {resourceType = a} :: ResourceSpecification)++instance Data.FromJSON ResourceSpecification where+ parseJSON =+ Data.withObject+ "ResourceSpecification"+ ( \x ->+ ResourceSpecification'+ Prelude.<$> (x Data..:? "reservedBitrate")+ Prelude.<*> (x Data..: "resourceType")+ )++instance Prelude.Hashable ResourceSpecification where+ hashWithSalt _salt ResourceSpecification' {..} =+ _salt+ `Prelude.hashWithSalt` reservedBitrate+ `Prelude.hashWithSalt` resourceType++instance Prelude.NFData ResourceSpecification where+ rnf ResourceSpecification' {..} =+ Prelude.rnf reservedBitrate+ `Prelude.seq` Prelude.rnf resourceType
+ gen/Amazonka/MediaConnect/Types/ResourceType.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.MediaConnect.Types.ResourceType+-- 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.MediaConnect.Types.ResourceType+ ( ResourceType+ ( ..,+ ResourceType_Mbps_Outbound_Bandwidth+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ResourceType = ResourceType'+ { fromResourceType ::+ 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 ResourceType_Mbps_Outbound_Bandwidth :: ResourceType+pattern ResourceType_Mbps_Outbound_Bandwidth = ResourceType' "Mbps_Outbound_Bandwidth"++{-# COMPLETE+ ResourceType_Mbps_Outbound_Bandwidth,+ ResourceType'+ #-}
+ gen/Amazonka/MediaConnect/Types/ScanMode.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.MediaConnect.Types.ScanMode+-- 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.MediaConnect.Types.ScanMode+ ( ScanMode+ ( ..,+ ScanMode_Interlace,+ ScanMode_Progressive,+ ScanMode_Progressive_segmented_frame+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ScanMode = ScanMode'+ { fromScanMode ::+ 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 ScanMode_Interlace :: ScanMode+pattern ScanMode_Interlace = ScanMode' "interlace"++pattern ScanMode_Progressive :: ScanMode+pattern ScanMode_Progressive = ScanMode' "progressive"++pattern ScanMode_Progressive_segmented_frame :: ScanMode+pattern ScanMode_Progressive_segmented_frame = ScanMode' "progressive-segmented-frame"++{-# COMPLETE+ ScanMode_Interlace,+ ScanMode_Progressive,+ ScanMode_Progressive_segmented_frame,+ ScanMode'+ #-}
+ gen/Amazonka/MediaConnect/Types/SetSourceRequest.hs view
@@ -0,0 +1,333 @@+{-# 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.MediaConnect.Types.SetSourceRequest+-- 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.MediaConnect.Types.SetSourceRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Encryption+import Amazonka.MediaConnect.Types.MediaStreamSourceConfigurationRequest+import Amazonka.MediaConnect.Types.Protocol+import qualified Amazonka.Prelude as Prelude++-- | The settings for the source of the flow.+--+-- /See:/ 'newSetSourceRequest' smart constructor.+data SetSourceRequest = SetSourceRequest'+ { -- | The type of encryption that is used on the content ingested from this+ -- source.+ decryption :: Prelude.Maybe Encryption,+ -- | A description for the source. This value is not used or seen outside of+ -- the current AWS Elemental MediaConnect account.+ description :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the entitlement that allows you to subscribe to this flow.+ -- The entitlement is set by the flow originator, and the ARN is generated+ -- as part of the originator\'s flow.+ entitlementArn :: Prelude.Maybe Prelude.Text,+ -- | The port that the flow will be listening on for incoming content.+ ingestPort :: Prelude.Maybe Prelude.Int,+ -- | The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.+ maxBitrate :: Prelude.Maybe Prelude.Int,+ -- | The maximum latency in milliseconds. This parameter applies only to+ -- RIST-based, Zixi-based, and Fujitsu-based streams.+ maxLatency :: Prelude.Maybe Prelude.Int,+ -- | The size of the buffer (in milliseconds) to use to sync incoming source+ -- data.+ maxSyncBuffer :: Prelude.Maybe Prelude.Int,+ -- | The media streams that are associated with the source, and the+ -- parameters for those associations.+ mediaStreamSourceConfigurations :: Prelude.Maybe [MediaStreamSourceConfigurationRequest],+ -- | The minimum latency in milliseconds for SRT-based streams. In streams+ -- that use the SRT protocol, this value that you set on your MediaConnect+ -- source or output represents the minimal potential latency of that+ -- connection. The latency of the stream is set to the highest number+ -- between the sender’s minimum latency and the receiver’s minimum latency.+ minLatency :: Prelude.Maybe Prelude.Int,+ -- | The name of the source.+ name :: Prelude.Maybe Prelude.Text,+ -- | The protocol that is used by the source.+ protocol :: Prelude.Maybe Protocol,+ -- | The port that the flow uses to send outbound requests to initiate+ -- connection with the sender.+ senderControlPort :: Prelude.Maybe Prelude.Int,+ -- | The IP address that the flow communicates with to initiate connection+ -- with the sender.+ senderIpAddress :: Prelude.Maybe Prelude.Text,+ -- | Source IP or domain name for SRT-caller protocol.+ sourceListenerAddress :: Prelude.Maybe Prelude.Text,+ -- | Source port for SRT-caller protocol.+ sourceListenerPort :: Prelude.Maybe Prelude.Int,+ -- | The stream ID that you want to use for this transport. This parameter+ -- applies only to Zixi-based streams.+ streamId :: Prelude.Maybe Prelude.Text,+ -- | The name of the VPC interface to use for this source.+ vpcInterfaceName :: Prelude.Maybe Prelude.Text,+ -- | The range of IP addresses that should be allowed to contribute content+ -- to your source. These IP addresses should be in the form of a Classless+ -- Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+ whitelistCidr :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SetSourceRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'decryption', 'setSourceRequest_decryption' - The type of encryption that is used on the content ingested from this+-- source.+--+-- 'description', 'setSourceRequest_description' - A description for the source. This value is not used or seen outside of+-- the current AWS Elemental MediaConnect account.+--+-- 'entitlementArn', 'setSourceRequest_entitlementArn' - The ARN of the entitlement that allows you to subscribe to this flow.+-- The entitlement is set by the flow originator, and the ARN is generated+-- as part of the originator\'s flow.+--+-- 'ingestPort', 'setSourceRequest_ingestPort' - The port that the flow will be listening on for incoming content.+--+-- 'maxBitrate', 'setSourceRequest_maxBitrate' - The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.+--+-- 'maxLatency', 'setSourceRequest_maxLatency' - The maximum latency in milliseconds. This parameter applies only to+-- RIST-based, Zixi-based, and Fujitsu-based streams.+--+-- 'maxSyncBuffer', 'setSourceRequest_maxSyncBuffer' - The size of the buffer (in milliseconds) to use to sync incoming source+-- data.+--+-- 'mediaStreamSourceConfigurations', 'setSourceRequest_mediaStreamSourceConfigurations' - The media streams that are associated with the source, and the+-- parameters for those associations.+--+-- 'minLatency', 'setSourceRequest_minLatency' - The minimum latency in milliseconds for SRT-based streams. In streams+-- that use the SRT protocol, this value that you set on your MediaConnect+-- source or output represents the minimal potential latency of that+-- connection. The latency of the stream is set to the highest number+-- between the sender’s minimum latency and the receiver’s minimum latency.+--+-- 'name', 'setSourceRequest_name' - The name of the source.+--+-- 'protocol', 'setSourceRequest_protocol' - The protocol that is used by the source.+--+-- 'senderControlPort', 'setSourceRequest_senderControlPort' - The port that the flow uses to send outbound requests to initiate+-- connection with the sender.+--+-- 'senderIpAddress', 'setSourceRequest_senderIpAddress' - The IP address that the flow communicates with to initiate connection+-- with the sender.+--+-- 'sourceListenerAddress', 'setSourceRequest_sourceListenerAddress' - Source IP or domain name for SRT-caller protocol.+--+-- 'sourceListenerPort', 'setSourceRequest_sourceListenerPort' - Source port for SRT-caller protocol.+--+-- 'streamId', 'setSourceRequest_streamId' - The stream ID that you want to use for this transport. This parameter+-- applies only to Zixi-based streams.+--+-- 'vpcInterfaceName', 'setSourceRequest_vpcInterfaceName' - The name of the VPC interface to use for this source.+--+-- 'whitelistCidr', 'setSourceRequest_whitelistCidr' - The range of IP addresses that should be allowed to contribute content+-- to your source. These IP addresses should be in the form of a Classless+-- Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+newSetSourceRequest ::+ SetSourceRequest+newSetSourceRequest =+ SetSourceRequest'+ { decryption = Prelude.Nothing,+ description = Prelude.Nothing,+ entitlementArn = Prelude.Nothing,+ ingestPort = Prelude.Nothing,+ maxBitrate = Prelude.Nothing,+ maxLatency = Prelude.Nothing,+ maxSyncBuffer = Prelude.Nothing,+ mediaStreamSourceConfigurations = Prelude.Nothing,+ minLatency = Prelude.Nothing,+ name = Prelude.Nothing,+ protocol = Prelude.Nothing,+ senderControlPort = Prelude.Nothing,+ senderIpAddress = Prelude.Nothing,+ sourceListenerAddress = Prelude.Nothing,+ sourceListenerPort = Prelude.Nothing,+ streamId = Prelude.Nothing,+ vpcInterfaceName = Prelude.Nothing,+ whitelistCidr = Prelude.Nothing+ }++-- | The type of encryption that is used on the content ingested from this+-- source.+setSourceRequest_decryption :: Lens.Lens' SetSourceRequest (Prelude.Maybe Encryption)+setSourceRequest_decryption = Lens.lens (\SetSourceRequest' {decryption} -> decryption) (\s@SetSourceRequest' {} a -> s {decryption = a} :: SetSourceRequest)++-- | A description for the source. This value is not used or seen outside of+-- the current AWS Elemental MediaConnect account.+setSourceRequest_description :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Text)+setSourceRequest_description = Lens.lens (\SetSourceRequest' {description} -> description) (\s@SetSourceRequest' {} a -> s {description = a} :: SetSourceRequest)++-- | The ARN of the entitlement that allows you to subscribe to this flow.+-- The entitlement is set by the flow originator, and the ARN is generated+-- as part of the originator\'s flow.+setSourceRequest_entitlementArn :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Text)+setSourceRequest_entitlementArn = Lens.lens (\SetSourceRequest' {entitlementArn} -> entitlementArn) (\s@SetSourceRequest' {} a -> s {entitlementArn = a} :: SetSourceRequest)++-- | The port that the flow will be listening on for incoming content.+setSourceRequest_ingestPort :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Int)+setSourceRequest_ingestPort = Lens.lens (\SetSourceRequest' {ingestPort} -> ingestPort) (\s@SetSourceRequest' {} a -> s {ingestPort = a} :: SetSourceRequest)++-- | The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.+setSourceRequest_maxBitrate :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Int)+setSourceRequest_maxBitrate = Lens.lens (\SetSourceRequest' {maxBitrate} -> maxBitrate) (\s@SetSourceRequest' {} a -> s {maxBitrate = a} :: SetSourceRequest)++-- | The maximum latency in milliseconds. This parameter applies only to+-- RIST-based, Zixi-based, and Fujitsu-based streams.+setSourceRequest_maxLatency :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Int)+setSourceRequest_maxLatency = Lens.lens (\SetSourceRequest' {maxLatency} -> maxLatency) (\s@SetSourceRequest' {} a -> s {maxLatency = a} :: SetSourceRequest)++-- | The size of the buffer (in milliseconds) to use to sync incoming source+-- data.+setSourceRequest_maxSyncBuffer :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Int)+setSourceRequest_maxSyncBuffer = Lens.lens (\SetSourceRequest' {maxSyncBuffer} -> maxSyncBuffer) (\s@SetSourceRequest' {} a -> s {maxSyncBuffer = a} :: SetSourceRequest)++-- | The media streams that are associated with the source, and the+-- parameters for those associations.+setSourceRequest_mediaStreamSourceConfigurations :: Lens.Lens' SetSourceRequest (Prelude.Maybe [MediaStreamSourceConfigurationRequest])+setSourceRequest_mediaStreamSourceConfigurations = Lens.lens (\SetSourceRequest' {mediaStreamSourceConfigurations} -> mediaStreamSourceConfigurations) (\s@SetSourceRequest' {} a -> s {mediaStreamSourceConfigurations = a} :: SetSourceRequest) Prelude.. Lens.mapping Lens.coerced++-- | The minimum latency in milliseconds for SRT-based streams. In streams+-- that use the SRT protocol, this value that you set on your MediaConnect+-- source or output represents the minimal potential latency of that+-- connection. The latency of the stream is set to the highest number+-- between the sender’s minimum latency and the receiver’s minimum latency.+setSourceRequest_minLatency :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Int)+setSourceRequest_minLatency = Lens.lens (\SetSourceRequest' {minLatency} -> minLatency) (\s@SetSourceRequest' {} a -> s {minLatency = a} :: SetSourceRequest)++-- | The name of the source.+setSourceRequest_name :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Text)+setSourceRequest_name = Lens.lens (\SetSourceRequest' {name} -> name) (\s@SetSourceRequest' {} a -> s {name = a} :: SetSourceRequest)++-- | The protocol that is used by the source.+setSourceRequest_protocol :: Lens.Lens' SetSourceRequest (Prelude.Maybe Protocol)+setSourceRequest_protocol = Lens.lens (\SetSourceRequest' {protocol} -> protocol) (\s@SetSourceRequest' {} a -> s {protocol = a} :: SetSourceRequest)++-- | The port that the flow uses to send outbound requests to initiate+-- connection with the sender.+setSourceRequest_senderControlPort :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Int)+setSourceRequest_senderControlPort = Lens.lens (\SetSourceRequest' {senderControlPort} -> senderControlPort) (\s@SetSourceRequest' {} a -> s {senderControlPort = a} :: SetSourceRequest)++-- | The IP address that the flow communicates with to initiate connection+-- with the sender.+setSourceRequest_senderIpAddress :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Text)+setSourceRequest_senderIpAddress = Lens.lens (\SetSourceRequest' {senderIpAddress} -> senderIpAddress) (\s@SetSourceRequest' {} a -> s {senderIpAddress = a} :: SetSourceRequest)++-- | Source IP or domain name for SRT-caller protocol.+setSourceRequest_sourceListenerAddress :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Text)+setSourceRequest_sourceListenerAddress = Lens.lens (\SetSourceRequest' {sourceListenerAddress} -> sourceListenerAddress) (\s@SetSourceRequest' {} a -> s {sourceListenerAddress = a} :: SetSourceRequest)++-- | Source port for SRT-caller protocol.+setSourceRequest_sourceListenerPort :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Int)+setSourceRequest_sourceListenerPort = Lens.lens (\SetSourceRequest' {sourceListenerPort} -> sourceListenerPort) (\s@SetSourceRequest' {} a -> s {sourceListenerPort = a} :: SetSourceRequest)++-- | The stream ID that you want to use for this transport. This parameter+-- applies only to Zixi-based streams.+setSourceRequest_streamId :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Text)+setSourceRequest_streamId = Lens.lens (\SetSourceRequest' {streamId} -> streamId) (\s@SetSourceRequest' {} a -> s {streamId = a} :: SetSourceRequest)++-- | The name of the VPC interface to use for this source.+setSourceRequest_vpcInterfaceName :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Text)+setSourceRequest_vpcInterfaceName = Lens.lens (\SetSourceRequest' {vpcInterfaceName} -> vpcInterfaceName) (\s@SetSourceRequest' {} a -> s {vpcInterfaceName = a} :: SetSourceRequest)++-- | The range of IP addresses that should be allowed to contribute content+-- to your source. These IP addresses should be in the form of a Classless+-- Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+setSourceRequest_whitelistCidr :: Lens.Lens' SetSourceRequest (Prelude.Maybe Prelude.Text)+setSourceRequest_whitelistCidr = Lens.lens (\SetSourceRequest' {whitelistCidr} -> whitelistCidr) (\s@SetSourceRequest' {} a -> s {whitelistCidr = a} :: SetSourceRequest)++instance Prelude.Hashable SetSourceRequest where+ hashWithSalt _salt SetSourceRequest' {..} =+ _salt+ `Prelude.hashWithSalt` decryption+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` entitlementArn+ `Prelude.hashWithSalt` ingestPort+ `Prelude.hashWithSalt` maxBitrate+ `Prelude.hashWithSalt` maxLatency+ `Prelude.hashWithSalt` maxSyncBuffer+ `Prelude.hashWithSalt` mediaStreamSourceConfigurations+ `Prelude.hashWithSalt` minLatency+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` protocol+ `Prelude.hashWithSalt` senderControlPort+ `Prelude.hashWithSalt` senderIpAddress+ `Prelude.hashWithSalt` sourceListenerAddress+ `Prelude.hashWithSalt` sourceListenerPort+ `Prelude.hashWithSalt` streamId+ `Prelude.hashWithSalt` vpcInterfaceName+ `Prelude.hashWithSalt` whitelistCidr++instance Prelude.NFData SetSourceRequest where+ rnf SetSourceRequest' {..} =+ Prelude.rnf decryption+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf entitlementArn+ `Prelude.seq` Prelude.rnf ingestPort+ `Prelude.seq` Prelude.rnf maxBitrate+ `Prelude.seq` Prelude.rnf maxLatency+ `Prelude.seq` Prelude.rnf maxSyncBuffer+ `Prelude.seq` Prelude.rnf mediaStreamSourceConfigurations+ `Prelude.seq` Prelude.rnf minLatency+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf protocol+ `Prelude.seq` Prelude.rnf senderControlPort+ `Prelude.seq` Prelude.rnf senderIpAddress+ `Prelude.seq` Prelude.rnf sourceListenerAddress+ `Prelude.seq` Prelude.rnf sourceListenerPort+ `Prelude.seq` Prelude.rnf streamId+ `Prelude.seq` Prelude.rnf vpcInterfaceName+ `Prelude.seq` Prelude.rnf whitelistCidr++instance Data.ToJSON SetSourceRequest where+ toJSON SetSourceRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("decryption" Data..=) Prelude.<$> decryption,+ ("description" Data..=) Prelude.<$> description,+ ("entitlementArn" Data..=)+ Prelude.<$> entitlementArn,+ ("ingestPort" Data..=) Prelude.<$> ingestPort,+ ("maxBitrate" Data..=) Prelude.<$> maxBitrate,+ ("maxLatency" Data..=) Prelude.<$> maxLatency,+ ("maxSyncBuffer" Data..=) Prelude.<$> maxSyncBuffer,+ ("mediaStreamSourceConfigurations" Data..=)+ Prelude.<$> mediaStreamSourceConfigurations,+ ("minLatency" Data..=) Prelude.<$> minLatency,+ ("name" Data..=) Prelude.<$> name,+ ("protocol" Data..=) Prelude.<$> protocol,+ ("senderControlPort" Data..=)+ Prelude.<$> senderControlPort,+ ("senderIpAddress" Data..=)+ Prelude.<$> senderIpAddress,+ ("sourceListenerAddress" Data..=)+ Prelude.<$> sourceListenerAddress,+ ("sourceListenerPort" Data..=)+ Prelude.<$> sourceListenerPort,+ ("streamId" Data..=) Prelude.<$> streamId,+ ("vpcInterfaceName" Data..=)+ Prelude.<$> vpcInterfaceName,+ ("whitelistCidr" Data..=) Prelude.<$> whitelistCidr+ ]+ )
+ gen/Amazonka/MediaConnect/Types/Source.hs view
@@ -0,0 +1,269 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.Source+-- 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.MediaConnect.Types.Source where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Encryption+import Amazonka.MediaConnect.Types.MediaStreamSourceConfiguration+import Amazonka.MediaConnect.Types.Transport+import qualified Amazonka.Prelude as Prelude++-- | The settings for the source of the flow.+--+-- /See:/ 'newSource' smart constructor.+data Source = Source'+ { -- | Percentage from 0-100 of the data transfer cost to be billed to the+ -- subscriber.+ dataTransferSubscriberFeePercent :: Prelude.Maybe Prelude.Int,+ -- | The type of encryption that is used on the content ingested from this+ -- source.+ decryption :: Prelude.Maybe Encryption,+ -- | A description for the source. This value is not used or seen outside of+ -- the current AWS Elemental MediaConnect account.+ description :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the entitlement that allows you to subscribe to content that+ -- comes from another AWS account. The entitlement is set by the content+ -- originator and the ARN is generated as part of the originator\'s flow.+ entitlementArn :: Prelude.Maybe Prelude.Text,+ -- | The IP address that the flow will be listening on for incoming content.+ ingestIp :: Prelude.Maybe Prelude.Text,+ -- | The port that the flow will be listening on for incoming content.+ ingestPort :: Prelude.Maybe Prelude.Int,+ -- | The media streams that are associated with the source, and the+ -- parameters for those associations.+ mediaStreamSourceConfigurations :: Prelude.Maybe [MediaStreamSourceConfiguration],+ -- | The port that the flow uses to send outbound requests to initiate+ -- connection with the sender.+ senderControlPort :: Prelude.Maybe Prelude.Int,+ -- | The IP address that the flow communicates with to initiate connection+ -- with the sender.+ senderIpAddress :: Prelude.Maybe Prelude.Text,+ -- | Attributes related to the transport stream that are used in the source.+ transport :: Prelude.Maybe Transport,+ -- | The name of the VPC interface that is used for this source.+ vpcInterfaceName :: Prelude.Maybe Prelude.Text,+ -- | The range of IP addresses that should be allowed to contribute content+ -- to your source. These IP addresses should be in the form of a Classless+ -- Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+ whitelistCidr :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the source.+ sourceArn :: Prelude.Text,+ -- | The name of the source.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Source' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataTransferSubscriberFeePercent', 'source_dataTransferSubscriberFeePercent' - Percentage from 0-100 of the data transfer cost to be billed to the+-- subscriber.+--+-- 'decryption', 'source_decryption' - The type of encryption that is used on the content ingested from this+-- source.+--+-- 'description', 'source_description' - A description for the source. This value is not used or seen outside of+-- the current AWS Elemental MediaConnect account.+--+-- 'entitlementArn', 'source_entitlementArn' - The ARN of the entitlement that allows you to subscribe to content that+-- comes from another AWS account. The entitlement is set by the content+-- originator and the ARN is generated as part of the originator\'s flow.+--+-- 'ingestIp', 'source_ingestIp' - The IP address that the flow will be listening on for incoming content.+--+-- 'ingestPort', 'source_ingestPort' - The port that the flow will be listening on for incoming content.+--+-- 'mediaStreamSourceConfigurations', 'source_mediaStreamSourceConfigurations' - The media streams that are associated with the source, and the+-- parameters for those associations.+--+-- 'senderControlPort', 'source_senderControlPort' - The port that the flow uses to send outbound requests to initiate+-- connection with the sender.+--+-- 'senderIpAddress', 'source_senderIpAddress' - The IP address that the flow communicates with to initiate connection+-- with the sender.+--+-- 'transport', 'source_transport' - Attributes related to the transport stream that are used in the source.+--+-- 'vpcInterfaceName', 'source_vpcInterfaceName' - The name of the VPC interface that is used for this source.+--+-- 'whitelistCidr', 'source_whitelistCidr' - The range of IP addresses that should be allowed to contribute content+-- to your source. These IP addresses should be in the form of a Classless+-- Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+--+-- 'sourceArn', 'source_sourceArn' - The ARN of the source.+--+-- 'name', 'source_name' - The name of the source.+newSource ::+ -- | 'sourceArn'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ Source+newSource pSourceArn_ pName_ =+ Source'+ { dataTransferSubscriberFeePercent =+ Prelude.Nothing,+ decryption = Prelude.Nothing,+ description = Prelude.Nothing,+ entitlementArn = Prelude.Nothing,+ ingestIp = Prelude.Nothing,+ ingestPort = Prelude.Nothing,+ mediaStreamSourceConfigurations = Prelude.Nothing,+ senderControlPort = Prelude.Nothing,+ senderIpAddress = Prelude.Nothing,+ transport = Prelude.Nothing,+ vpcInterfaceName = Prelude.Nothing,+ whitelistCidr = Prelude.Nothing,+ sourceArn = pSourceArn_,+ name = pName_+ }++-- | Percentage from 0-100 of the data transfer cost to be billed to the+-- subscriber.+source_dataTransferSubscriberFeePercent :: Lens.Lens' Source (Prelude.Maybe Prelude.Int)+source_dataTransferSubscriberFeePercent = Lens.lens (\Source' {dataTransferSubscriberFeePercent} -> dataTransferSubscriberFeePercent) (\s@Source' {} a -> s {dataTransferSubscriberFeePercent = a} :: Source)++-- | The type of encryption that is used on the content ingested from this+-- source.+source_decryption :: Lens.Lens' Source (Prelude.Maybe Encryption)+source_decryption = Lens.lens (\Source' {decryption} -> decryption) (\s@Source' {} a -> s {decryption = a} :: Source)++-- | A description for the source. This value is not used or seen outside of+-- the current AWS Elemental MediaConnect account.+source_description :: Lens.Lens' Source (Prelude.Maybe Prelude.Text)+source_description = Lens.lens (\Source' {description} -> description) (\s@Source' {} a -> s {description = a} :: Source)++-- | The ARN of the entitlement that allows you to subscribe to content that+-- comes from another AWS account. The entitlement is set by the content+-- originator and the ARN is generated as part of the originator\'s flow.+source_entitlementArn :: Lens.Lens' Source (Prelude.Maybe Prelude.Text)+source_entitlementArn = Lens.lens (\Source' {entitlementArn} -> entitlementArn) (\s@Source' {} a -> s {entitlementArn = a} :: Source)++-- | The IP address that the flow will be listening on for incoming content.+source_ingestIp :: Lens.Lens' Source (Prelude.Maybe Prelude.Text)+source_ingestIp = Lens.lens (\Source' {ingestIp} -> ingestIp) (\s@Source' {} a -> s {ingestIp = a} :: Source)++-- | The port that the flow will be listening on for incoming content.+source_ingestPort :: Lens.Lens' Source (Prelude.Maybe Prelude.Int)+source_ingestPort = Lens.lens (\Source' {ingestPort} -> ingestPort) (\s@Source' {} a -> s {ingestPort = a} :: Source)++-- | The media streams that are associated with the source, and the+-- parameters for those associations.+source_mediaStreamSourceConfigurations :: Lens.Lens' Source (Prelude.Maybe [MediaStreamSourceConfiguration])+source_mediaStreamSourceConfigurations = Lens.lens (\Source' {mediaStreamSourceConfigurations} -> mediaStreamSourceConfigurations) (\s@Source' {} a -> s {mediaStreamSourceConfigurations = a} :: Source) Prelude.. Lens.mapping Lens.coerced++-- | The port that the flow uses to send outbound requests to initiate+-- connection with the sender.+source_senderControlPort :: Lens.Lens' Source (Prelude.Maybe Prelude.Int)+source_senderControlPort = Lens.lens (\Source' {senderControlPort} -> senderControlPort) (\s@Source' {} a -> s {senderControlPort = a} :: Source)++-- | The IP address that the flow communicates with to initiate connection+-- with the sender.+source_senderIpAddress :: Lens.Lens' Source (Prelude.Maybe Prelude.Text)+source_senderIpAddress = Lens.lens (\Source' {senderIpAddress} -> senderIpAddress) (\s@Source' {} a -> s {senderIpAddress = a} :: Source)++-- | Attributes related to the transport stream that are used in the source.+source_transport :: Lens.Lens' Source (Prelude.Maybe Transport)+source_transport = Lens.lens (\Source' {transport} -> transport) (\s@Source' {} a -> s {transport = a} :: Source)++-- | The name of the VPC interface that is used for this source.+source_vpcInterfaceName :: Lens.Lens' Source (Prelude.Maybe Prelude.Text)+source_vpcInterfaceName = Lens.lens (\Source' {vpcInterfaceName} -> vpcInterfaceName) (\s@Source' {} a -> s {vpcInterfaceName = a} :: Source)++-- | The range of IP addresses that should be allowed to contribute content+-- to your source. These IP addresses should be in the form of a Classless+-- Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+source_whitelistCidr :: Lens.Lens' Source (Prelude.Maybe Prelude.Text)+source_whitelistCidr = Lens.lens (\Source' {whitelistCidr} -> whitelistCidr) (\s@Source' {} a -> s {whitelistCidr = a} :: Source)++-- | The ARN of the source.+source_sourceArn :: Lens.Lens' Source Prelude.Text+source_sourceArn = Lens.lens (\Source' {sourceArn} -> sourceArn) (\s@Source' {} a -> s {sourceArn = a} :: Source)++-- | The name of the source.+source_name :: Lens.Lens' Source Prelude.Text+source_name = Lens.lens (\Source' {name} -> name) (\s@Source' {} a -> s {name = a} :: Source)++instance Data.FromJSON Source where+ parseJSON =+ Data.withObject+ "Source"+ ( \x ->+ Source'+ Prelude.<$> (x Data..:? "dataTransferSubscriberFeePercent")+ Prelude.<*> (x Data..:? "decryption")+ Prelude.<*> (x Data..:? "description")+ Prelude.<*> (x Data..:? "entitlementArn")+ Prelude.<*> (x Data..:? "ingestIp")+ Prelude.<*> (x Data..:? "ingestPort")+ Prelude.<*> ( x+ Data..:? "mediaStreamSourceConfigurations"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "senderControlPort")+ Prelude.<*> (x Data..:? "senderIpAddress")+ Prelude.<*> (x Data..:? "transport")+ Prelude.<*> (x Data..:? "vpcInterfaceName")+ Prelude.<*> (x Data..:? "whitelistCidr")+ Prelude.<*> (x Data..: "sourceArn")+ Prelude.<*> (x Data..: "name")+ )++instance Prelude.Hashable Source where+ hashWithSalt _salt Source' {..} =+ _salt+ `Prelude.hashWithSalt` dataTransferSubscriberFeePercent+ `Prelude.hashWithSalt` decryption+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` entitlementArn+ `Prelude.hashWithSalt` ingestIp+ `Prelude.hashWithSalt` ingestPort+ `Prelude.hashWithSalt` mediaStreamSourceConfigurations+ `Prelude.hashWithSalt` senderControlPort+ `Prelude.hashWithSalt` senderIpAddress+ `Prelude.hashWithSalt` transport+ `Prelude.hashWithSalt` vpcInterfaceName+ `Prelude.hashWithSalt` whitelistCidr+ `Prelude.hashWithSalt` sourceArn+ `Prelude.hashWithSalt` name++instance Prelude.NFData Source where+ rnf Source' {..} =+ Prelude.rnf dataTransferSubscriberFeePercent+ `Prelude.seq` Prelude.rnf decryption+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf entitlementArn+ `Prelude.seq` Prelude.rnf ingestIp+ `Prelude.seq` Prelude.rnf ingestPort+ `Prelude.seq` Prelude.rnf mediaStreamSourceConfigurations+ `Prelude.seq` Prelude.rnf senderControlPort+ `Prelude.seq` Prelude.rnf senderIpAddress+ `Prelude.seq` Prelude.rnf transport+ `Prelude.seq` Prelude.rnf vpcInterfaceName+ `Prelude.seq` Prelude.rnf whitelistCidr+ `Prelude.seq` Prelude.rnf sourceArn+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/MediaConnect/Types/SourcePriority.hs view
@@ -0,0 +1,78 @@+{-# 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.MediaConnect.Types.SourcePriority+-- 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.MediaConnect.Types.SourcePriority 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 priority you want to assign to a source. You can have a primary+-- stream and a backup stream or two equally prioritized streams.+--+-- /See:/ 'newSourcePriority' smart constructor.+data SourcePriority = SourcePriority'+ { -- | The name of the source you choose as the primary source for this flow.+ primarySource :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourcePriority' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'primarySource', 'sourcePriority_primarySource' - The name of the source you choose as the primary source for this flow.+newSourcePriority ::+ SourcePriority+newSourcePriority =+ SourcePriority' {primarySource = Prelude.Nothing}++-- | The name of the source you choose as the primary source for this flow.+sourcePriority_primarySource :: Lens.Lens' SourcePriority (Prelude.Maybe Prelude.Text)+sourcePriority_primarySource = Lens.lens (\SourcePriority' {primarySource} -> primarySource) (\s@SourcePriority' {} a -> s {primarySource = a} :: SourcePriority)++instance Data.FromJSON SourcePriority where+ parseJSON =+ Data.withObject+ "SourcePriority"+ ( \x ->+ SourcePriority'+ Prelude.<$> (x Data..:? "primarySource")+ )++instance Prelude.Hashable SourcePriority where+ hashWithSalt _salt SourcePriority' {..} =+ _salt `Prelude.hashWithSalt` primarySource++instance Prelude.NFData SourcePriority where+ rnf SourcePriority' {..} = Prelude.rnf primarySource++instance Data.ToJSON SourcePriority where+ toJSON SourcePriority' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("primarySource" Data..=)+ Prelude.<$> primarySource+ ]+ )
+ gen/Amazonka/MediaConnect/Types/SourceType.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.MediaConnect.Types.SourceType+-- 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.MediaConnect.Types.SourceType+ ( SourceType+ ( ..,+ SourceType_ENTITLED,+ SourceType_OWNED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype SourceType = SourceType'+ { fromSourceType ::+ 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 SourceType_ENTITLED :: SourceType+pattern SourceType_ENTITLED = SourceType' "ENTITLED"++pattern SourceType_OWNED :: SourceType+pattern SourceType_OWNED = SourceType' "OWNED"++{-# COMPLETE+ SourceType_ENTITLED,+ SourceType_OWNED,+ SourceType'+ #-}
+ gen/Amazonka/MediaConnect/Types/State.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.State+-- 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.MediaConnect.Types.State+ ( State+ ( ..,+ State_DISABLED,+ State_ENABLED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype State = State' {fromState :: 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 State_DISABLED :: State+pattern State_DISABLED = State' "DISABLED"++pattern State_ENABLED :: State+pattern State_ENABLED = State' "ENABLED"++{-# COMPLETE+ State_DISABLED,+ State_ENABLED,+ State'+ #-}
+ gen/Amazonka/MediaConnect/Types/Status.hs view
@@ -0,0 +1,93 @@+{-# 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.MediaConnect.Types.Status+-- 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.MediaConnect.Types.Status+ ( Status+ ( ..,+ Status_ACTIVE,+ Status_DELETING,+ Status_ERROR,+ Status_STANDBY,+ Status_STARTING,+ Status_STOPPING,+ Status_UPDATING+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Status = Status' {fromStatus :: 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 Status_ACTIVE :: Status+pattern Status_ACTIVE = Status' "ACTIVE"++pattern Status_DELETING :: Status+pattern Status_DELETING = Status' "DELETING"++pattern Status_ERROR :: Status+pattern Status_ERROR = Status' "ERROR"++pattern Status_STANDBY :: Status+pattern Status_STANDBY = Status' "STANDBY"++pattern Status_STARTING :: Status+pattern Status_STARTING = Status' "STARTING"++pattern Status_STOPPING :: Status+pattern Status_STOPPING = Status' "STOPPING"++pattern Status_UPDATING :: Status+pattern Status_UPDATING = Status' "UPDATING"++{-# COMPLETE+ Status_ACTIVE,+ Status_DELETING,+ Status_ERROR,+ Status_STANDBY,+ Status_STARTING,+ Status_STOPPING,+ Status_UPDATING,+ Status'+ #-}
+ gen/Amazonka/MediaConnect/Types/Tcs.hs view
@@ -0,0 +1,103 @@+{-# 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.MediaConnect.Types.Tcs+-- 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.MediaConnect.Types.Tcs+ ( Tcs+ ( ..,+ Tcs_BT2100LINHLG,+ Tcs_BT2100LINPQ,+ Tcs_DENSITY,+ Tcs_HLG,+ Tcs_LINEAR,+ Tcs_PQ,+ Tcs_SDR,+ Tcs_ST2065_1,+ Tcs_ST428_1+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Tcs = Tcs' {fromTcs :: 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 Tcs_BT2100LINHLG :: Tcs+pattern Tcs_BT2100LINHLG = Tcs' "BT2100LINHLG"++pattern Tcs_BT2100LINPQ :: Tcs+pattern Tcs_BT2100LINPQ = Tcs' "BT2100LINPQ"++pattern Tcs_DENSITY :: Tcs+pattern Tcs_DENSITY = Tcs' "DENSITY"++pattern Tcs_HLG :: Tcs+pattern Tcs_HLG = Tcs' "HLG"++pattern Tcs_LINEAR :: Tcs+pattern Tcs_LINEAR = Tcs' "LINEAR"++pattern Tcs_PQ :: Tcs+pattern Tcs_PQ = Tcs' "PQ"++pattern Tcs_SDR :: Tcs+pattern Tcs_SDR = Tcs' "SDR"++pattern Tcs_ST2065_1 :: Tcs+pattern Tcs_ST2065_1 = Tcs' "ST2065-1"++pattern Tcs_ST428_1 :: Tcs+pattern Tcs_ST428_1 = Tcs' "ST428-1"++{-# COMPLETE+ Tcs_BT2100LINHLG,+ Tcs_BT2100LINPQ,+ Tcs_DENSITY,+ Tcs_HLG,+ Tcs_LINEAR,+ Tcs_PQ,+ Tcs_SDR,+ Tcs_ST2065_1,+ Tcs_ST428_1,+ Tcs'+ #-}
+ gen/Amazonka/MediaConnect/Types/Transport.hs view
@@ -0,0 +1,256 @@+{-# 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.MediaConnect.Types.Transport+-- 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.MediaConnect.Types.Transport where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Protocol+import qualified Amazonka.Prelude as Prelude++-- | Attributes related to the transport stream that are used in a source or+-- output.+--+-- /See:/ 'newTransport' smart constructor.+data Transport = Transport'+ { -- | The range of IP addresses that should be allowed to initiate output+ -- requests to this flow. These IP addresses should be in the form of a+ -- Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+ cidrAllowList :: Prelude.Maybe [Prelude.Text],+ -- | The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.+ maxBitrate :: Prelude.Maybe Prelude.Int,+ -- | The maximum latency in milliseconds. This parameter applies only to+ -- RIST-based, Zixi-based, and Fujitsu-based streams.+ maxLatency :: Prelude.Maybe Prelude.Int,+ -- | The size of the buffer (in milliseconds) to use to sync incoming source+ -- data.+ maxSyncBuffer :: Prelude.Maybe Prelude.Int,+ -- | The minimum latency in milliseconds for SRT-based streams. In streams+ -- that use the SRT protocol, this value that you set on your MediaConnect+ -- source or output represents the minimal potential latency of that+ -- connection. The latency of the stream is set to the highest number+ -- between the sender’s minimum latency and the receiver’s minimum latency.+ minLatency :: Prelude.Maybe Prelude.Int,+ -- | The remote ID for the Zixi-pull stream.+ remoteId :: Prelude.Maybe Prelude.Text,+ -- | The port that the flow uses to send outbound requests to initiate+ -- connection with the sender.+ senderControlPort :: Prelude.Maybe Prelude.Int,+ -- | The IP address that the flow communicates with to initiate connection+ -- with the sender.+ senderIpAddress :: Prelude.Maybe Prelude.Text,+ -- | The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC+ -- streams.+ smoothingLatency :: Prelude.Maybe Prelude.Int,+ -- | Source IP or domain name for SRT-caller protocol.+ sourceListenerAddress :: Prelude.Maybe Prelude.Text,+ -- | Source port for SRT-caller protocol.+ sourceListenerPort :: Prelude.Maybe Prelude.Int,+ -- | The stream ID that you want to use for this transport. This parameter+ -- applies only to Zixi-based streams.+ streamId :: Prelude.Maybe Prelude.Text,+ -- | The protocol that is used by the source or output.+ protocol :: Protocol+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Transport' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cidrAllowList', 'transport_cidrAllowList' - The range of IP addresses that should be allowed to initiate output+-- requests to this flow. These IP addresses should be in the form of a+-- Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+--+-- 'maxBitrate', 'transport_maxBitrate' - The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.+--+-- 'maxLatency', 'transport_maxLatency' - The maximum latency in milliseconds. This parameter applies only to+-- RIST-based, Zixi-based, and Fujitsu-based streams.+--+-- 'maxSyncBuffer', 'transport_maxSyncBuffer' - The size of the buffer (in milliseconds) to use to sync incoming source+-- data.+--+-- 'minLatency', 'transport_minLatency' - The minimum latency in milliseconds for SRT-based streams. In streams+-- that use the SRT protocol, this value that you set on your MediaConnect+-- source or output represents the minimal potential latency of that+-- connection. The latency of the stream is set to the highest number+-- between the sender’s minimum latency and the receiver’s minimum latency.+--+-- 'remoteId', 'transport_remoteId' - The remote ID for the Zixi-pull stream.+--+-- 'senderControlPort', 'transport_senderControlPort' - The port that the flow uses to send outbound requests to initiate+-- connection with the sender.+--+-- 'senderIpAddress', 'transport_senderIpAddress' - The IP address that the flow communicates with to initiate connection+-- with the sender.+--+-- 'smoothingLatency', 'transport_smoothingLatency' - The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC+-- streams.+--+-- 'sourceListenerAddress', 'transport_sourceListenerAddress' - Source IP or domain name for SRT-caller protocol.+--+-- 'sourceListenerPort', 'transport_sourceListenerPort' - Source port for SRT-caller protocol.+--+-- 'streamId', 'transport_streamId' - The stream ID that you want to use for this transport. This parameter+-- applies only to Zixi-based streams.+--+-- 'protocol', 'transport_protocol' - The protocol that is used by the source or output.+newTransport ::+ -- | 'protocol'+ Protocol ->+ Transport+newTransport pProtocol_ =+ Transport'+ { cidrAllowList = Prelude.Nothing,+ maxBitrate = Prelude.Nothing,+ maxLatency = Prelude.Nothing,+ maxSyncBuffer = Prelude.Nothing,+ minLatency = Prelude.Nothing,+ remoteId = Prelude.Nothing,+ senderControlPort = Prelude.Nothing,+ senderIpAddress = Prelude.Nothing,+ smoothingLatency = Prelude.Nothing,+ sourceListenerAddress = Prelude.Nothing,+ sourceListenerPort = Prelude.Nothing,+ streamId = Prelude.Nothing,+ protocol = pProtocol_+ }++-- | The range of IP addresses that should be allowed to initiate output+-- requests to this flow. These IP addresses should be in the form of a+-- Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+transport_cidrAllowList :: Lens.Lens' Transport (Prelude.Maybe [Prelude.Text])+transport_cidrAllowList = Lens.lens (\Transport' {cidrAllowList} -> cidrAllowList) (\s@Transport' {} a -> s {cidrAllowList = a} :: Transport) Prelude.. Lens.mapping Lens.coerced++-- | The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.+transport_maxBitrate :: Lens.Lens' Transport (Prelude.Maybe Prelude.Int)+transport_maxBitrate = Lens.lens (\Transport' {maxBitrate} -> maxBitrate) (\s@Transport' {} a -> s {maxBitrate = a} :: Transport)++-- | The maximum latency in milliseconds. This parameter applies only to+-- RIST-based, Zixi-based, and Fujitsu-based streams.+transport_maxLatency :: Lens.Lens' Transport (Prelude.Maybe Prelude.Int)+transport_maxLatency = Lens.lens (\Transport' {maxLatency} -> maxLatency) (\s@Transport' {} a -> s {maxLatency = a} :: Transport)++-- | The size of the buffer (in milliseconds) to use to sync incoming source+-- data.+transport_maxSyncBuffer :: Lens.Lens' Transport (Prelude.Maybe Prelude.Int)+transport_maxSyncBuffer = Lens.lens (\Transport' {maxSyncBuffer} -> maxSyncBuffer) (\s@Transport' {} a -> s {maxSyncBuffer = a} :: Transport)++-- | The minimum latency in milliseconds for SRT-based streams. In streams+-- that use the SRT protocol, this value that you set on your MediaConnect+-- source or output represents the minimal potential latency of that+-- connection. The latency of the stream is set to the highest number+-- between the sender’s minimum latency and the receiver’s minimum latency.+transport_minLatency :: Lens.Lens' Transport (Prelude.Maybe Prelude.Int)+transport_minLatency = Lens.lens (\Transport' {minLatency} -> minLatency) (\s@Transport' {} a -> s {minLatency = a} :: Transport)++-- | The remote ID for the Zixi-pull stream.+transport_remoteId :: Lens.Lens' Transport (Prelude.Maybe Prelude.Text)+transport_remoteId = Lens.lens (\Transport' {remoteId} -> remoteId) (\s@Transport' {} a -> s {remoteId = a} :: Transport)++-- | The port that the flow uses to send outbound requests to initiate+-- connection with the sender.+transport_senderControlPort :: Lens.Lens' Transport (Prelude.Maybe Prelude.Int)+transport_senderControlPort = Lens.lens (\Transport' {senderControlPort} -> senderControlPort) (\s@Transport' {} a -> s {senderControlPort = a} :: Transport)++-- | The IP address that the flow communicates with to initiate connection+-- with the sender.+transport_senderIpAddress :: Lens.Lens' Transport (Prelude.Maybe Prelude.Text)+transport_senderIpAddress = Lens.lens (\Transport' {senderIpAddress} -> senderIpAddress) (\s@Transport' {} a -> s {senderIpAddress = a} :: Transport)++-- | The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC+-- streams.+transport_smoothingLatency :: Lens.Lens' Transport (Prelude.Maybe Prelude.Int)+transport_smoothingLatency = Lens.lens (\Transport' {smoothingLatency} -> smoothingLatency) (\s@Transport' {} a -> s {smoothingLatency = a} :: Transport)++-- | Source IP or domain name for SRT-caller protocol.+transport_sourceListenerAddress :: Lens.Lens' Transport (Prelude.Maybe Prelude.Text)+transport_sourceListenerAddress = Lens.lens (\Transport' {sourceListenerAddress} -> sourceListenerAddress) (\s@Transport' {} a -> s {sourceListenerAddress = a} :: Transport)++-- | Source port for SRT-caller protocol.+transport_sourceListenerPort :: Lens.Lens' Transport (Prelude.Maybe Prelude.Int)+transport_sourceListenerPort = Lens.lens (\Transport' {sourceListenerPort} -> sourceListenerPort) (\s@Transport' {} a -> s {sourceListenerPort = a} :: Transport)++-- | The stream ID that you want to use for this transport. This parameter+-- applies only to Zixi-based streams.+transport_streamId :: Lens.Lens' Transport (Prelude.Maybe Prelude.Text)+transport_streamId = Lens.lens (\Transport' {streamId} -> streamId) (\s@Transport' {} a -> s {streamId = a} :: Transport)++-- | The protocol that is used by the source or output.+transport_protocol :: Lens.Lens' Transport Protocol+transport_protocol = Lens.lens (\Transport' {protocol} -> protocol) (\s@Transport' {} a -> s {protocol = a} :: Transport)++instance Data.FromJSON Transport where+ parseJSON =+ Data.withObject+ "Transport"+ ( \x ->+ Transport'+ Prelude.<$> (x Data..:? "cidrAllowList" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "maxBitrate")+ Prelude.<*> (x Data..:? "maxLatency")+ Prelude.<*> (x Data..:? "maxSyncBuffer")+ Prelude.<*> (x Data..:? "minLatency")+ Prelude.<*> (x Data..:? "remoteId")+ Prelude.<*> (x Data..:? "senderControlPort")+ Prelude.<*> (x Data..:? "senderIpAddress")+ Prelude.<*> (x Data..:? "smoothingLatency")+ Prelude.<*> (x Data..:? "sourceListenerAddress")+ Prelude.<*> (x Data..:? "sourceListenerPort")+ Prelude.<*> (x Data..:? "streamId")+ Prelude.<*> (x Data..: "protocol")+ )++instance Prelude.Hashable Transport where+ hashWithSalt _salt Transport' {..} =+ _salt+ `Prelude.hashWithSalt` cidrAllowList+ `Prelude.hashWithSalt` maxBitrate+ `Prelude.hashWithSalt` maxLatency+ `Prelude.hashWithSalt` maxSyncBuffer+ `Prelude.hashWithSalt` minLatency+ `Prelude.hashWithSalt` remoteId+ `Prelude.hashWithSalt` senderControlPort+ `Prelude.hashWithSalt` senderIpAddress+ `Prelude.hashWithSalt` smoothingLatency+ `Prelude.hashWithSalt` sourceListenerAddress+ `Prelude.hashWithSalt` sourceListenerPort+ `Prelude.hashWithSalt` streamId+ `Prelude.hashWithSalt` protocol++instance Prelude.NFData Transport where+ rnf Transport' {..} =+ Prelude.rnf cidrAllowList+ `Prelude.seq` Prelude.rnf maxBitrate+ `Prelude.seq` Prelude.rnf maxLatency+ `Prelude.seq` Prelude.rnf maxSyncBuffer+ `Prelude.seq` Prelude.rnf minLatency+ `Prelude.seq` Prelude.rnf remoteId+ `Prelude.seq` Prelude.rnf senderControlPort+ `Prelude.seq` Prelude.rnf senderIpAddress+ `Prelude.seq` Prelude.rnf smoothingLatency+ `Prelude.seq` Prelude.rnf sourceListenerAddress+ `Prelude.seq` Prelude.rnf sourceListenerPort+ `Prelude.seq` Prelude.rnf streamId+ `Prelude.seq` Prelude.rnf protocol
+ gen/Amazonka/MediaConnect/Types/UpdateEncryption.hs view
@@ -0,0 +1,221 @@+{-# 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.MediaConnect.Types.UpdateEncryption+-- 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.MediaConnect.Types.UpdateEncryption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.Algorithm+import Amazonka.MediaConnect.Types.KeyType+import qualified Amazonka.Prelude as Prelude++-- | Information about the encryption of the flow.+--+-- /See:/ 'newUpdateEncryption' smart constructor.+data UpdateEncryption = UpdateEncryption'+ { -- | The type of algorithm that is used for the encryption (such as aes128,+ -- aes192, or aes256).+ algorithm :: Prelude.Maybe Algorithm,+ -- | A 128-bit, 16-byte hex value represented by a 32-character string, to be+ -- used with the key for encrypting content. This parameter is not valid+ -- for static key encryption.+ constantInitializationVector :: Prelude.Maybe Prelude.Text,+ -- | The value of one of the devices that you configured with your digital+ -- rights management (DRM) platform key provider. This parameter is+ -- required for SPEKE encryption and is not valid for static key+ -- encryption.+ deviceId :: Prelude.Maybe Prelude.Text,+ -- | The type of key that is used for the encryption. If no keyType is+ -- provided, the service will use the default setting (static-key).+ keyType :: Prelude.Maybe KeyType,+ -- | The AWS Region that the API Gateway proxy endpoint was created in. This+ -- parameter is required for SPEKE encryption and is not valid for static+ -- key encryption.+ region :: Prelude.Maybe Prelude.Text,+ -- | An identifier for the content. The service sends this value to the key+ -- server to identify the current endpoint. The resource ID is also known+ -- as the content ID. This parameter is required for SPEKE encryption and+ -- is not valid for static key encryption.+ resourceId :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the role that you created during setup (when you set up AWS+ -- Elemental MediaConnect as a trusted entity).+ roleArn :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the secret that you created in AWS Secrets Manager to store+ -- the encryption key. This parameter is required for static key encryption+ -- and is not valid for SPEKE encryption.+ secretArn :: Prelude.Maybe Prelude.Text,+ -- | The URL from the API Gateway proxy that you set up to talk to your key+ -- server. This parameter is required for SPEKE encryption and is not valid+ -- for static key encryption.+ url :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateEncryption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'algorithm', 'updateEncryption_algorithm' - The type of algorithm that is used for the encryption (such as aes128,+-- aes192, or aes256).+--+-- 'constantInitializationVector', 'updateEncryption_constantInitializationVector' - A 128-bit, 16-byte hex value represented by a 32-character string, to be+-- used with the key for encrypting content. This parameter is not valid+-- for static key encryption.+--+-- 'deviceId', 'updateEncryption_deviceId' - The value of one of the devices that you configured with your digital+-- rights management (DRM) platform key provider. This parameter is+-- required for SPEKE encryption and is not valid for static key+-- encryption.+--+-- 'keyType', 'updateEncryption_keyType' - The type of key that is used for the encryption. If no keyType is+-- provided, the service will use the default setting (static-key).+--+-- 'region', 'updateEncryption_region' - The AWS Region that the API Gateway proxy endpoint was created in. This+-- parameter is required for SPEKE encryption and is not valid for static+-- key encryption.+--+-- 'resourceId', 'updateEncryption_resourceId' - An identifier for the content. The service sends this value to the key+-- server to identify the current endpoint. The resource ID is also known+-- as the content ID. This parameter is required for SPEKE encryption and+-- is not valid for static key encryption.+--+-- 'roleArn', 'updateEncryption_roleArn' - The ARN of the role that you created during setup (when you set up AWS+-- Elemental MediaConnect as a trusted entity).+--+-- 'secretArn', 'updateEncryption_secretArn' - The ARN of the secret that you created in AWS Secrets Manager to store+-- the encryption key. This parameter is required for static key encryption+-- and is not valid for SPEKE encryption.+--+-- 'url', 'updateEncryption_url' - The URL from the API Gateway proxy that you set up to talk to your key+-- server. This parameter is required for SPEKE encryption and is not valid+-- for static key encryption.+newUpdateEncryption ::+ UpdateEncryption+newUpdateEncryption =+ UpdateEncryption'+ { algorithm = Prelude.Nothing,+ constantInitializationVector = Prelude.Nothing,+ deviceId = Prelude.Nothing,+ keyType = Prelude.Nothing,+ region = Prelude.Nothing,+ resourceId = Prelude.Nothing,+ roleArn = Prelude.Nothing,+ secretArn = Prelude.Nothing,+ url = Prelude.Nothing+ }++-- | The type of algorithm that is used for the encryption (such as aes128,+-- aes192, or aes256).+updateEncryption_algorithm :: Lens.Lens' UpdateEncryption (Prelude.Maybe Algorithm)+updateEncryption_algorithm = Lens.lens (\UpdateEncryption' {algorithm} -> algorithm) (\s@UpdateEncryption' {} a -> s {algorithm = a} :: UpdateEncryption)++-- | A 128-bit, 16-byte hex value represented by a 32-character string, to be+-- used with the key for encrypting content. This parameter is not valid+-- for static key encryption.+updateEncryption_constantInitializationVector :: Lens.Lens' UpdateEncryption (Prelude.Maybe Prelude.Text)+updateEncryption_constantInitializationVector = Lens.lens (\UpdateEncryption' {constantInitializationVector} -> constantInitializationVector) (\s@UpdateEncryption' {} a -> s {constantInitializationVector = a} :: UpdateEncryption)++-- | The value of one of the devices that you configured with your digital+-- rights management (DRM) platform key provider. This parameter is+-- required for SPEKE encryption and is not valid for static key+-- encryption.+updateEncryption_deviceId :: Lens.Lens' UpdateEncryption (Prelude.Maybe Prelude.Text)+updateEncryption_deviceId = Lens.lens (\UpdateEncryption' {deviceId} -> deviceId) (\s@UpdateEncryption' {} a -> s {deviceId = a} :: UpdateEncryption)++-- | The type of key that is used for the encryption. If no keyType is+-- provided, the service will use the default setting (static-key).+updateEncryption_keyType :: Lens.Lens' UpdateEncryption (Prelude.Maybe KeyType)+updateEncryption_keyType = Lens.lens (\UpdateEncryption' {keyType} -> keyType) (\s@UpdateEncryption' {} a -> s {keyType = a} :: UpdateEncryption)++-- | The AWS Region that the API Gateway proxy endpoint was created in. This+-- parameter is required for SPEKE encryption and is not valid for static+-- key encryption.+updateEncryption_region :: Lens.Lens' UpdateEncryption (Prelude.Maybe Prelude.Text)+updateEncryption_region = Lens.lens (\UpdateEncryption' {region} -> region) (\s@UpdateEncryption' {} a -> s {region = a} :: UpdateEncryption)++-- | An identifier for the content. The service sends this value to the key+-- server to identify the current endpoint. The resource ID is also known+-- as the content ID. This parameter is required for SPEKE encryption and+-- is not valid for static key encryption.+updateEncryption_resourceId :: Lens.Lens' UpdateEncryption (Prelude.Maybe Prelude.Text)+updateEncryption_resourceId = Lens.lens (\UpdateEncryption' {resourceId} -> resourceId) (\s@UpdateEncryption' {} a -> s {resourceId = a} :: UpdateEncryption)++-- | The ARN of the role that you created during setup (when you set up AWS+-- Elemental MediaConnect as a trusted entity).+updateEncryption_roleArn :: Lens.Lens' UpdateEncryption (Prelude.Maybe Prelude.Text)+updateEncryption_roleArn = Lens.lens (\UpdateEncryption' {roleArn} -> roleArn) (\s@UpdateEncryption' {} a -> s {roleArn = a} :: UpdateEncryption)++-- | The ARN of the secret that you created in AWS Secrets Manager to store+-- the encryption key. This parameter is required for static key encryption+-- and is not valid for SPEKE encryption.+updateEncryption_secretArn :: Lens.Lens' UpdateEncryption (Prelude.Maybe Prelude.Text)+updateEncryption_secretArn = Lens.lens (\UpdateEncryption' {secretArn} -> secretArn) (\s@UpdateEncryption' {} a -> s {secretArn = a} :: UpdateEncryption)++-- | The URL from the API Gateway proxy that you set up to talk to your key+-- server. This parameter is required for SPEKE encryption and is not valid+-- for static key encryption.+updateEncryption_url :: Lens.Lens' UpdateEncryption (Prelude.Maybe Prelude.Text)+updateEncryption_url = Lens.lens (\UpdateEncryption' {url} -> url) (\s@UpdateEncryption' {} a -> s {url = a} :: UpdateEncryption)++instance Prelude.Hashable UpdateEncryption where+ hashWithSalt _salt UpdateEncryption' {..} =+ _salt+ `Prelude.hashWithSalt` algorithm+ `Prelude.hashWithSalt` constantInitializationVector+ `Prelude.hashWithSalt` deviceId+ `Prelude.hashWithSalt` keyType+ `Prelude.hashWithSalt` region+ `Prelude.hashWithSalt` resourceId+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` secretArn+ `Prelude.hashWithSalt` url++instance Prelude.NFData UpdateEncryption where+ rnf UpdateEncryption' {..} =+ Prelude.rnf algorithm+ `Prelude.seq` Prelude.rnf constantInitializationVector+ `Prelude.seq` Prelude.rnf deviceId+ `Prelude.seq` Prelude.rnf keyType+ `Prelude.seq` Prelude.rnf region+ `Prelude.seq` Prelude.rnf resourceId+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf secretArn+ `Prelude.seq` Prelude.rnf url++instance Data.ToJSON UpdateEncryption where+ toJSON UpdateEncryption' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("algorithm" Data..=) Prelude.<$> algorithm,+ ("constantInitializationVector" Data..=)+ Prelude.<$> constantInitializationVector,+ ("deviceId" Data..=) Prelude.<$> deviceId,+ ("keyType" Data..=) Prelude.<$> keyType,+ ("region" Data..=) Prelude.<$> region,+ ("resourceId" Data..=) Prelude.<$> resourceId,+ ("roleArn" Data..=) Prelude.<$> roleArn,+ ("secretArn" Data..=) Prelude.<$> secretArn,+ ("url" Data..=) Prelude.<$> url+ ]+ )
+ gen/Amazonka/MediaConnect/Types/UpdateFailoverConfig.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.UpdateFailoverConfig+-- 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.MediaConnect.Types.UpdateFailoverConfig where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.FailoverMode+import Amazonka.MediaConnect.Types.SourcePriority+import Amazonka.MediaConnect.Types.State+import qualified Amazonka.Prelude as Prelude++-- | The settings for source failover.+--+-- /See:/ 'newUpdateFailoverConfig' smart constructor.+data UpdateFailoverConfig = UpdateFailoverConfig'+ { -- | The type of failover you choose for this flow. MERGE combines the source+ -- streams into a single stream, allowing graceful recovery from any+ -- single-source loss. FAILOVER allows switching between different streams.+ failoverMode :: Prelude.Maybe FailoverMode,+ -- | Recovery window time to look for dash-7 packets+ recoveryWindow :: Prelude.Maybe Prelude.Int,+ -- | The priority you want to assign to a source. You can have a primary+ -- stream and a backup stream or two equally prioritized streams.+ sourcePriority :: Prelude.Maybe SourcePriority,+ state :: Prelude.Maybe State+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFailoverConfig' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'failoverMode', 'updateFailoverConfig_failoverMode' - The type of failover you choose for this flow. MERGE combines the source+-- streams into a single stream, allowing graceful recovery from any+-- single-source loss. FAILOVER allows switching between different streams.+--+-- 'recoveryWindow', 'updateFailoverConfig_recoveryWindow' - Recovery window time to look for dash-7 packets+--+-- 'sourcePriority', 'updateFailoverConfig_sourcePriority' - The priority you want to assign to a source. You can have a primary+-- stream and a backup stream or two equally prioritized streams.+--+-- 'state', 'updateFailoverConfig_state' - Undocumented member.+newUpdateFailoverConfig ::+ UpdateFailoverConfig+newUpdateFailoverConfig =+ UpdateFailoverConfig'+ { failoverMode =+ Prelude.Nothing,+ recoveryWindow = Prelude.Nothing,+ sourcePriority = Prelude.Nothing,+ state = Prelude.Nothing+ }++-- | The type of failover you choose for this flow. MERGE combines the source+-- streams into a single stream, allowing graceful recovery from any+-- single-source loss. FAILOVER allows switching between different streams.+updateFailoverConfig_failoverMode :: Lens.Lens' UpdateFailoverConfig (Prelude.Maybe FailoverMode)+updateFailoverConfig_failoverMode = Lens.lens (\UpdateFailoverConfig' {failoverMode} -> failoverMode) (\s@UpdateFailoverConfig' {} a -> s {failoverMode = a} :: UpdateFailoverConfig)++-- | Recovery window time to look for dash-7 packets+updateFailoverConfig_recoveryWindow :: Lens.Lens' UpdateFailoverConfig (Prelude.Maybe Prelude.Int)+updateFailoverConfig_recoveryWindow = Lens.lens (\UpdateFailoverConfig' {recoveryWindow} -> recoveryWindow) (\s@UpdateFailoverConfig' {} a -> s {recoveryWindow = a} :: UpdateFailoverConfig)++-- | The priority you want to assign to a source. You can have a primary+-- stream and a backup stream or two equally prioritized streams.+updateFailoverConfig_sourcePriority :: Lens.Lens' UpdateFailoverConfig (Prelude.Maybe SourcePriority)+updateFailoverConfig_sourcePriority = Lens.lens (\UpdateFailoverConfig' {sourcePriority} -> sourcePriority) (\s@UpdateFailoverConfig' {} a -> s {sourcePriority = a} :: UpdateFailoverConfig)++-- | Undocumented member.+updateFailoverConfig_state :: Lens.Lens' UpdateFailoverConfig (Prelude.Maybe State)+updateFailoverConfig_state = Lens.lens (\UpdateFailoverConfig' {state} -> state) (\s@UpdateFailoverConfig' {} a -> s {state = a} :: UpdateFailoverConfig)++instance Prelude.Hashable UpdateFailoverConfig where+ hashWithSalt _salt UpdateFailoverConfig' {..} =+ _salt+ `Prelude.hashWithSalt` failoverMode+ `Prelude.hashWithSalt` recoveryWindow+ `Prelude.hashWithSalt` sourcePriority+ `Prelude.hashWithSalt` state++instance Prelude.NFData UpdateFailoverConfig where+ rnf UpdateFailoverConfig' {..} =+ Prelude.rnf failoverMode+ `Prelude.seq` Prelude.rnf recoveryWindow+ `Prelude.seq` Prelude.rnf sourcePriority+ `Prelude.seq` Prelude.rnf state++instance Data.ToJSON UpdateFailoverConfig where+ toJSON UpdateFailoverConfig' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("failoverMode" Data..=) Prelude.<$> failoverMode,+ ("recoveryWindow" Data..=)+ Prelude.<$> recoveryWindow,+ ("sourcePriority" Data..=)+ Prelude.<$> sourcePriority,+ ("state" Data..=) Prelude.<$> state+ ]+ )
+ gen/Amazonka/MediaConnect/Types/UpdateMaintenance.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.Types.UpdateMaintenance+-- 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.MediaConnect.Types.UpdateMaintenance where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.MaintenanceDay+import qualified Amazonka.Prelude as Prelude++-- | Update maintenance setting for a flow+--+-- /See:/ 'newUpdateMaintenance' smart constructor.+data UpdateMaintenance = UpdateMaintenance'+ { -- | A day of a week when the maintenance will happen. use+ -- Monday\/Tuesday\/Wednesday\/Thursday\/Friday\/Saturday\/Sunday.+ maintenanceDay :: Prelude.Maybe MaintenanceDay,+ -- | A scheduled date in ISO UTC format when the maintenance will happen. Use+ -- YYYY-MM-DD format. Example: 2021-01-30.+ maintenanceScheduledDate :: Prelude.Maybe Prelude.Text,+ -- | UTC time when the maintenance will happen. Use 24-hour HH:MM format.+ -- Minutes must be 00. Example: 13:00. The default value is 02:00.+ maintenanceStartHour :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateMaintenance' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maintenanceDay', 'updateMaintenance_maintenanceDay' - A day of a week when the maintenance will happen. use+-- Monday\/Tuesday\/Wednesday\/Thursday\/Friday\/Saturday\/Sunday.+--+-- 'maintenanceScheduledDate', 'updateMaintenance_maintenanceScheduledDate' - A scheduled date in ISO UTC format when the maintenance will happen. Use+-- YYYY-MM-DD format. Example: 2021-01-30.+--+-- 'maintenanceStartHour', 'updateMaintenance_maintenanceStartHour' - UTC time when the maintenance will happen. Use 24-hour HH:MM format.+-- Minutes must be 00. Example: 13:00. The default value is 02:00.+newUpdateMaintenance ::+ UpdateMaintenance+newUpdateMaintenance =+ UpdateMaintenance'+ { maintenanceDay =+ Prelude.Nothing,+ maintenanceScheduledDate = Prelude.Nothing,+ maintenanceStartHour = Prelude.Nothing+ }++-- | A day of a week when the maintenance will happen. use+-- Monday\/Tuesday\/Wednesday\/Thursday\/Friday\/Saturday\/Sunday.+updateMaintenance_maintenanceDay :: Lens.Lens' UpdateMaintenance (Prelude.Maybe MaintenanceDay)+updateMaintenance_maintenanceDay = Lens.lens (\UpdateMaintenance' {maintenanceDay} -> maintenanceDay) (\s@UpdateMaintenance' {} a -> s {maintenanceDay = a} :: UpdateMaintenance)++-- | A scheduled date in ISO UTC format when the maintenance will happen. Use+-- YYYY-MM-DD format. Example: 2021-01-30.+updateMaintenance_maintenanceScheduledDate :: Lens.Lens' UpdateMaintenance (Prelude.Maybe Prelude.Text)+updateMaintenance_maintenanceScheduledDate = Lens.lens (\UpdateMaintenance' {maintenanceScheduledDate} -> maintenanceScheduledDate) (\s@UpdateMaintenance' {} a -> s {maintenanceScheduledDate = a} :: UpdateMaintenance)++-- | UTC time when the maintenance will happen. Use 24-hour HH:MM format.+-- Minutes must be 00. Example: 13:00. The default value is 02:00.+updateMaintenance_maintenanceStartHour :: Lens.Lens' UpdateMaintenance (Prelude.Maybe Prelude.Text)+updateMaintenance_maintenanceStartHour = Lens.lens (\UpdateMaintenance' {maintenanceStartHour} -> maintenanceStartHour) (\s@UpdateMaintenance' {} a -> s {maintenanceStartHour = a} :: UpdateMaintenance)++instance Prelude.Hashable UpdateMaintenance where+ hashWithSalt _salt UpdateMaintenance' {..} =+ _salt+ `Prelude.hashWithSalt` maintenanceDay+ `Prelude.hashWithSalt` maintenanceScheduledDate+ `Prelude.hashWithSalt` maintenanceStartHour++instance Prelude.NFData UpdateMaintenance where+ rnf UpdateMaintenance' {..} =+ Prelude.rnf maintenanceDay+ `Prelude.seq` Prelude.rnf maintenanceScheduledDate+ `Prelude.seq` Prelude.rnf maintenanceStartHour++instance Data.ToJSON UpdateMaintenance where+ toJSON UpdateMaintenance' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maintenanceDay" Data..=)+ Prelude.<$> maintenanceDay,+ ("maintenanceScheduledDate" Data..=)+ Prelude.<$> maintenanceScheduledDate,+ ("maintenanceStartHour" Data..=)+ Prelude.<$> maintenanceStartHour+ ]+ )
+ gen/Amazonka/MediaConnect/Types/VpcInterface.hs view
@@ -0,0 +1,158 @@+{-# 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.MediaConnect.Types.VpcInterface+-- 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.MediaConnect.Types.VpcInterface where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.NetworkInterfaceType+import qualified Amazonka.Prelude as Prelude++-- | The settings for a VPC Source.+--+-- /See:/ 'newVpcInterface' smart constructor.+data VpcInterface = VpcInterface'+ { -- | The type of network interface.+ networkInterfaceType :: NetworkInterfaceType,+ -- | IDs of the network interfaces created in customer\'s account by+ -- MediaConnect.+ networkInterfaceIds :: [Prelude.Text],+ -- | Subnet must be in the AZ of the Flow+ subnetId :: Prelude.Text,+ -- | Security Group IDs to be used on ENI.+ securityGroupIds :: [Prelude.Text],+ -- | Role Arn MediaConnect can assumes to create ENIs in customer\'s account+ roleArn :: Prelude.Text,+ -- | Immutable and has to be a unique against other VpcInterfaces in this+ -- Flow.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcInterface' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkInterfaceType', 'vpcInterface_networkInterfaceType' - The type of network interface.+--+-- 'networkInterfaceIds', 'vpcInterface_networkInterfaceIds' - IDs of the network interfaces created in customer\'s account by+-- MediaConnect.+--+-- 'subnetId', 'vpcInterface_subnetId' - Subnet must be in the AZ of the Flow+--+-- 'securityGroupIds', 'vpcInterface_securityGroupIds' - Security Group IDs to be used on ENI.+--+-- 'roleArn', 'vpcInterface_roleArn' - Role Arn MediaConnect can assumes to create ENIs in customer\'s account+--+-- 'name', 'vpcInterface_name' - Immutable and has to be a unique against other VpcInterfaces in this+-- Flow.+newVpcInterface ::+ -- | 'networkInterfaceType'+ NetworkInterfaceType ->+ -- | 'subnetId'+ Prelude.Text ->+ -- | 'roleArn'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ VpcInterface+newVpcInterface+ pNetworkInterfaceType_+ pSubnetId_+ pRoleArn_+ pName_ =+ VpcInterface'+ { networkInterfaceType =+ pNetworkInterfaceType_,+ networkInterfaceIds = Prelude.mempty,+ subnetId = pSubnetId_,+ securityGroupIds = Prelude.mempty,+ roleArn = pRoleArn_,+ name = pName_+ }++-- | The type of network interface.+vpcInterface_networkInterfaceType :: Lens.Lens' VpcInterface NetworkInterfaceType+vpcInterface_networkInterfaceType = Lens.lens (\VpcInterface' {networkInterfaceType} -> networkInterfaceType) (\s@VpcInterface' {} a -> s {networkInterfaceType = a} :: VpcInterface)++-- | IDs of the network interfaces created in customer\'s account by+-- MediaConnect.+vpcInterface_networkInterfaceIds :: Lens.Lens' VpcInterface [Prelude.Text]+vpcInterface_networkInterfaceIds = Lens.lens (\VpcInterface' {networkInterfaceIds} -> networkInterfaceIds) (\s@VpcInterface' {} a -> s {networkInterfaceIds = a} :: VpcInterface) Prelude.. Lens.coerced++-- | Subnet must be in the AZ of the Flow+vpcInterface_subnetId :: Lens.Lens' VpcInterface Prelude.Text+vpcInterface_subnetId = Lens.lens (\VpcInterface' {subnetId} -> subnetId) (\s@VpcInterface' {} a -> s {subnetId = a} :: VpcInterface)++-- | Security Group IDs to be used on ENI.+vpcInterface_securityGroupIds :: Lens.Lens' VpcInterface [Prelude.Text]+vpcInterface_securityGroupIds = Lens.lens (\VpcInterface' {securityGroupIds} -> securityGroupIds) (\s@VpcInterface' {} a -> s {securityGroupIds = a} :: VpcInterface) Prelude.. Lens.coerced++-- | Role Arn MediaConnect can assumes to create ENIs in customer\'s account+vpcInterface_roleArn :: Lens.Lens' VpcInterface Prelude.Text+vpcInterface_roleArn = Lens.lens (\VpcInterface' {roleArn} -> roleArn) (\s@VpcInterface' {} a -> s {roleArn = a} :: VpcInterface)++-- | Immutable and has to be a unique against other VpcInterfaces in this+-- Flow.+vpcInterface_name :: Lens.Lens' VpcInterface Prelude.Text+vpcInterface_name = Lens.lens (\VpcInterface' {name} -> name) (\s@VpcInterface' {} a -> s {name = a} :: VpcInterface)++instance Data.FromJSON VpcInterface where+ parseJSON =+ Data.withObject+ "VpcInterface"+ ( \x ->+ VpcInterface'+ Prelude.<$> (x Data..: "networkInterfaceType")+ Prelude.<*> ( x+ Data..:? "networkInterfaceIds"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..: "subnetId")+ Prelude.<*> ( x+ Data..:? "securityGroupIds"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..: "roleArn")+ Prelude.<*> (x Data..: "name")+ )++instance Prelude.Hashable VpcInterface where+ hashWithSalt _salt VpcInterface' {..} =+ _salt+ `Prelude.hashWithSalt` networkInterfaceType+ `Prelude.hashWithSalt` networkInterfaceIds+ `Prelude.hashWithSalt` subnetId+ `Prelude.hashWithSalt` securityGroupIds+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` name++instance Prelude.NFData VpcInterface where+ rnf VpcInterface' {..} =+ Prelude.rnf networkInterfaceType+ `Prelude.seq` Prelude.rnf networkInterfaceIds+ `Prelude.seq` Prelude.rnf subnetId+ `Prelude.seq` Prelude.rnf securityGroupIds+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/MediaConnect/Types/VpcInterfaceAttachment.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.MediaConnect.Types.VpcInterfaceAttachment+-- 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.MediaConnect.Types.VpcInterfaceAttachment 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 settings for attaching a VPC interface to an output.+--+-- /See:/ 'newVpcInterfaceAttachment' smart constructor.+data VpcInterfaceAttachment = VpcInterfaceAttachment'+ { -- | The name of the VPC interface to use for this output.+ vpcInterfaceName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcInterfaceAttachment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'vpcInterfaceName', 'vpcInterfaceAttachment_vpcInterfaceName' - The name of the VPC interface to use for this output.+newVpcInterfaceAttachment ::+ VpcInterfaceAttachment+newVpcInterfaceAttachment =+ VpcInterfaceAttachment'+ { vpcInterfaceName =+ Prelude.Nothing+ }++-- | The name of the VPC interface to use for this output.+vpcInterfaceAttachment_vpcInterfaceName :: Lens.Lens' VpcInterfaceAttachment (Prelude.Maybe Prelude.Text)+vpcInterfaceAttachment_vpcInterfaceName = Lens.lens (\VpcInterfaceAttachment' {vpcInterfaceName} -> vpcInterfaceName) (\s@VpcInterfaceAttachment' {} a -> s {vpcInterfaceName = a} :: VpcInterfaceAttachment)++instance Data.FromJSON VpcInterfaceAttachment where+ parseJSON =+ Data.withObject+ "VpcInterfaceAttachment"+ ( \x ->+ VpcInterfaceAttachment'+ Prelude.<$> (x Data..:? "vpcInterfaceName")+ )++instance Prelude.Hashable VpcInterfaceAttachment where+ hashWithSalt _salt VpcInterfaceAttachment' {..} =+ _salt `Prelude.hashWithSalt` vpcInterfaceName++instance Prelude.NFData VpcInterfaceAttachment where+ rnf VpcInterfaceAttachment' {..} =+ Prelude.rnf vpcInterfaceName++instance Data.ToJSON VpcInterfaceAttachment where+ toJSON VpcInterfaceAttachment' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("vpcInterfaceName" Data..=)+ Prelude.<$> vpcInterfaceName+ ]+ )
+ gen/Amazonka/MediaConnect/Types/VpcInterfaceRequest.hs view
@@ -0,0 +1,135 @@+{-# 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.MediaConnect.Types.VpcInterfaceRequest+-- 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.MediaConnect.Types.VpcInterfaceRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types.NetworkInterfaceType+import qualified Amazonka.Prelude as Prelude++-- | Desired VPC Interface for a Flow+--+-- /See:/ 'newVpcInterfaceRequest' smart constructor.+data VpcInterfaceRequest = VpcInterfaceRequest'+ { -- | The type of network interface. If this value is not included in the+ -- request, MediaConnect uses ENA as the networkInterfaceType.+ networkInterfaceType :: Prelude.Maybe NetworkInterfaceType,+ -- | Subnet must be in the AZ of the Flow+ subnetId :: Prelude.Text,+ -- | Security Group IDs to be used on ENI.+ securityGroupIds :: [Prelude.Text],+ -- | Role Arn MediaConnect can assumes to create ENIs in customer\'s account+ roleArn :: Prelude.Text,+ -- | The name of the VPC Interface. This value must be unique within the+ -- current flow.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VpcInterfaceRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'networkInterfaceType', 'vpcInterfaceRequest_networkInterfaceType' - The type of network interface. If this value is not included in the+-- request, MediaConnect uses ENA as the networkInterfaceType.+--+-- 'subnetId', 'vpcInterfaceRequest_subnetId' - Subnet must be in the AZ of the Flow+--+-- 'securityGroupIds', 'vpcInterfaceRequest_securityGroupIds' - Security Group IDs to be used on ENI.+--+-- 'roleArn', 'vpcInterfaceRequest_roleArn' - Role Arn MediaConnect can assumes to create ENIs in customer\'s account+--+-- 'name', 'vpcInterfaceRequest_name' - The name of the VPC Interface. This value must be unique within the+-- current flow.+newVpcInterfaceRequest ::+ -- | 'subnetId'+ Prelude.Text ->+ -- | 'roleArn'+ Prelude.Text ->+ -- | 'name'+ Prelude.Text ->+ VpcInterfaceRequest+newVpcInterfaceRequest pSubnetId_ pRoleArn_ pName_ =+ VpcInterfaceRequest'+ { networkInterfaceType =+ Prelude.Nothing,+ subnetId = pSubnetId_,+ securityGroupIds = Prelude.mempty,+ roleArn = pRoleArn_,+ name = pName_+ }++-- | The type of network interface. If this value is not included in the+-- request, MediaConnect uses ENA as the networkInterfaceType.+vpcInterfaceRequest_networkInterfaceType :: Lens.Lens' VpcInterfaceRequest (Prelude.Maybe NetworkInterfaceType)+vpcInterfaceRequest_networkInterfaceType = Lens.lens (\VpcInterfaceRequest' {networkInterfaceType} -> networkInterfaceType) (\s@VpcInterfaceRequest' {} a -> s {networkInterfaceType = a} :: VpcInterfaceRequest)++-- | Subnet must be in the AZ of the Flow+vpcInterfaceRequest_subnetId :: Lens.Lens' VpcInterfaceRequest Prelude.Text+vpcInterfaceRequest_subnetId = Lens.lens (\VpcInterfaceRequest' {subnetId} -> subnetId) (\s@VpcInterfaceRequest' {} a -> s {subnetId = a} :: VpcInterfaceRequest)++-- | Security Group IDs to be used on ENI.+vpcInterfaceRequest_securityGroupIds :: Lens.Lens' VpcInterfaceRequest [Prelude.Text]+vpcInterfaceRequest_securityGroupIds = Lens.lens (\VpcInterfaceRequest' {securityGroupIds} -> securityGroupIds) (\s@VpcInterfaceRequest' {} a -> s {securityGroupIds = a} :: VpcInterfaceRequest) Prelude.. Lens.coerced++-- | Role Arn MediaConnect can assumes to create ENIs in customer\'s account+vpcInterfaceRequest_roleArn :: Lens.Lens' VpcInterfaceRequest Prelude.Text+vpcInterfaceRequest_roleArn = Lens.lens (\VpcInterfaceRequest' {roleArn} -> roleArn) (\s@VpcInterfaceRequest' {} a -> s {roleArn = a} :: VpcInterfaceRequest)++-- | The name of the VPC Interface. This value must be unique within the+-- current flow.+vpcInterfaceRequest_name :: Lens.Lens' VpcInterfaceRequest Prelude.Text+vpcInterfaceRequest_name = Lens.lens (\VpcInterfaceRequest' {name} -> name) (\s@VpcInterfaceRequest' {} a -> s {name = a} :: VpcInterfaceRequest)++instance Prelude.Hashable VpcInterfaceRequest where+ hashWithSalt _salt VpcInterfaceRequest' {..} =+ _salt+ `Prelude.hashWithSalt` networkInterfaceType+ `Prelude.hashWithSalt` subnetId+ `Prelude.hashWithSalt` securityGroupIds+ `Prelude.hashWithSalt` roleArn+ `Prelude.hashWithSalt` name++instance Prelude.NFData VpcInterfaceRequest where+ rnf VpcInterfaceRequest' {..} =+ Prelude.rnf networkInterfaceType+ `Prelude.seq` Prelude.rnf subnetId+ `Prelude.seq` Prelude.rnf securityGroupIds+ `Prelude.seq` Prelude.rnf roleArn+ `Prelude.seq` Prelude.rnf name++instance Data.ToJSON VpcInterfaceRequest where+ toJSON VpcInterfaceRequest' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("networkInterfaceType" Data..=)+ Prelude.<$> networkInterfaceType,+ Prelude.Just ("subnetId" Data..= subnetId),+ Prelude.Just+ ("securityGroupIds" Data..= securityGroupIds),+ Prelude.Just ("roleArn" Data..= roleArn),+ Prelude.Just ("name" Data..= name)+ ]+ )
+ gen/Amazonka/MediaConnect/UntagResource.hs view
@@ -0,0 +1,143 @@+{-# 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.MediaConnect.UntagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes specified tags from a resource.+module Amazonka.MediaConnect.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_tagKeys,+ untagResource_resourceArn,++ -- * Destructuring the Response+ UntagResourceResponse (..),+ newUntagResourceResponse,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The keys of the tags to be removed.+ tagKeys :: [Prelude.Text],+ -- | The Amazon Resource Name (ARN) that identifies the AWS Elemental+ -- MediaConnect resource from which to delete tags.+ resourceArn :: 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:+--+-- 'tagKeys', 'untagResource_tagKeys' - The keys of the tags to be removed.+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) that identifies the AWS Elemental+-- MediaConnect resource from which to delete tags.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { tagKeys = Prelude.mempty,+ resourceArn = pResourceArn_+ }++-- | The keys of the tags to be removed.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++-- | The Amazon Resource Name (ARN) that identifies the AWS Elemental+-- MediaConnect resource from which to delete tags.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveNull UntagResourceResponse'++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` tagKeys+ `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf tagKeys+ `Prelude.seq` Prelude.rnf resourceArn++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath UntagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+ toQuery UntagResource' {..} =+ Prelude.mconcat+ ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ {+ }+ 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.+newUntagResourceResponse ::+ UntagResourceResponse+newUntagResourceResponse = UntagResourceResponse'++instance Prelude.NFData UntagResourceResponse where+ rnf _ = ()
+ gen/Amazonka/MediaConnect/UpdateFlow.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.UpdateFlow+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates flow+module Amazonka.MediaConnect.UpdateFlow+ ( -- * Creating a Request+ UpdateFlow (..),+ newUpdateFlow,++ -- * Request Lenses+ updateFlow_maintenance,+ updateFlow_sourceFailoverConfig,+ updateFlow_flowArn,++ -- * Destructuring the Response+ UpdateFlowResponse (..),+ newUpdateFlowResponse,++ -- * Response Lenses+ updateFlowResponse_flow,+ updateFlowResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to update flow.+--+-- /See:/ 'newUpdateFlow' smart constructor.+data UpdateFlow = UpdateFlow'+ { maintenance :: Prelude.Maybe UpdateMaintenance,+ sourceFailoverConfig :: Prelude.Maybe UpdateFailoverConfig,+ -- | The flow that you want to update.+ flowArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFlow' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'maintenance', 'updateFlow_maintenance' - Undocumented member.+--+-- 'sourceFailoverConfig', 'updateFlow_sourceFailoverConfig' - Undocumented member.+--+-- 'flowArn', 'updateFlow_flowArn' - The flow that you want to update.+newUpdateFlow ::+ -- | 'flowArn'+ Prelude.Text ->+ UpdateFlow+newUpdateFlow pFlowArn_ =+ UpdateFlow'+ { maintenance = Prelude.Nothing,+ sourceFailoverConfig = Prelude.Nothing,+ flowArn = pFlowArn_+ }++-- | Undocumented member.+updateFlow_maintenance :: Lens.Lens' UpdateFlow (Prelude.Maybe UpdateMaintenance)+updateFlow_maintenance = Lens.lens (\UpdateFlow' {maintenance} -> maintenance) (\s@UpdateFlow' {} a -> s {maintenance = a} :: UpdateFlow)++-- | Undocumented member.+updateFlow_sourceFailoverConfig :: Lens.Lens' UpdateFlow (Prelude.Maybe UpdateFailoverConfig)+updateFlow_sourceFailoverConfig = Lens.lens (\UpdateFlow' {sourceFailoverConfig} -> sourceFailoverConfig) (\s@UpdateFlow' {} a -> s {sourceFailoverConfig = a} :: UpdateFlow)++-- | The flow that you want to update.+updateFlow_flowArn :: Lens.Lens' UpdateFlow Prelude.Text+updateFlow_flowArn = Lens.lens (\UpdateFlow' {flowArn} -> flowArn) (\s@UpdateFlow' {} a -> s {flowArn = a} :: UpdateFlow)++instance Core.AWSRequest UpdateFlow where+ type AWSResponse UpdateFlow = UpdateFlowResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateFlowResponse'+ Prelude.<$> (x Data..?> "flow")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateFlow where+ hashWithSalt _salt UpdateFlow' {..} =+ _salt+ `Prelude.hashWithSalt` maintenance+ `Prelude.hashWithSalt` sourceFailoverConfig+ `Prelude.hashWithSalt` flowArn++instance Prelude.NFData UpdateFlow where+ rnf UpdateFlow' {..} =+ Prelude.rnf maintenance+ `Prelude.seq` Prelude.rnf sourceFailoverConfig+ `Prelude.seq` Prelude.rnf flowArn++instance Data.ToHeaders UpdateFlow where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateFlow where+ toJSON UpdateFlow' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("maintenance" Data..=) Prelude.<$> maintenance,+ ("sourceFailoverConfig" Data..=)+ Prelude.<$> sourceFailoverConfig+ ]+ )++instance Data.ToPath UpdateFlow where+ toPath UpdateFlow' {..} =+ Prelude.mconcat ["/v1/flows/", Data.toBS flowArn]++instance Data.ToQuery UpdateFlow where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFlowResponse' smart constructor.+data UpdateFlowResponse = UpdateFlowResponse'+ { flow :: Prelude.Maybe Flow,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFlowResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flow', 'updateFlowResponse_flow' - Undocumented member.+--+-- 'httpStatus', 'updateFlowResponse_httpStatus' - The response's http status code.+newUpdateFlowResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateFlowResponse+newUpdateFlowResponse pHttpStatus_ =+ UpdateFlowResponse'+ { flow = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Undocumented member.+updateFlowResponse_flow :: Lens.Lens' UpdateFlowResponse (Prelude.Maybe Flow)+updateFlowResponse_flow = Lens.lens (\UpdateFlowResponse' {flow} -> flow) (\s@UpdateFlowResponse' {} a -> s {flow = a} :: UpdateFlowResponse)++-- | The response's http status code.+updateFlowResponse_httpStatus :: Lens.Lens' UpdateFlowResponse Prelude.Int+updateFlowResponse_httpStatus = Lens.lens (\UpdateFlowResponse' {httpStatus} -> httpStatus) (\s@UpdateFlowResponse' {} a -> s {httpStatus = a} :: UpdateFlowResponse)++instance Prelude.NFData UpdateFlowResponse where+ rnf UpdateFlowResponse' {..} =+ Prelude.rnf flow+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/UpdateFlowEntitlement.hs view
@@ -0,0 +1,285 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaConnect.UpdateFlowEntitlement+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- You can change an entitlement\'s description, subscribers, and+-- encryption. If you change the subscribers, the service will remove the+-- outputs that are are used by the subscribers that are removed.+module Amazonka.MediaConnect.UpdateFlowEntitlement+ ( -- * Creating a Request+ UpdateFlowEntitlement (..),+ newUpdateFlowEntitlement,++ -- * Request Lenses+ updateFlowEntitlement_description,+ updateFlowEntitlement_encryption,+ updateFlowEntitlement_entitlementStatus,+ updateFlowEntitlement_subscribers,+ updateFlowEntitlement_flowArn,+ updateFlowEntitlement_entitlementArn,++ -- * Destructuring the Response+ UpdateFlowEntitlementResponse (..),+ newUpdateFlowEntitlementResponse,++ -- * Response Lenses+ updateFlowEntitlementResponse_entitlement,+ updateFlowEntitlementResponse_flowArn,+ updateFlowEntitlementResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The entitlement fields that you want to update.+--+-- /See:/ 'newUpdateFlowEntitlement' smart constructor.+data UpdateFlowEntitlement = UpdateFlowEntitlement'+ { -- | A description of the entitlement. This description appears only on the+ -- AWS Elemental MediaConnect console and will not be seen by the+ -- subscriber or end user.+ description :: Prelude.Maybe Prelude.Text,+ -- | The type of encryption that will be used on the output associated with+ -- this entitlement.+ encryption :: Prelude.Maybe UpdateEncryption,+ -- | An indication of whether you want to enable the entitlement to allow+ -- access, or disable it to stop streaming content to the subscriber’s flow+ -- temporarily. If you don’t specify the entitlementStatus field in your+ -- request, MediaConnect leaves the value unchanged.+ entitlementStatus :: Prelude.Maybe EntitlementStatus,+ -- | The AWS account IDs that you want to share your content with. The+ -- receiving accounts (subscribers) will be allowed to create their own+ -- flow using your content as the source.+ subscribers :: Prelude.Maybe [Prelude.Text],+ -- | The flow that is associated with the entitlement that you want to+ -- update.+ flowArn :: Prelude.Text,+ -- | The ARN of the entitlement that you want to update.+ entitlementArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFlowEntitlement' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'description', 'updateFlowEntitlement_description' - A description of the entitlement. This description appears only on the+-- AWS Elemental MediaConnect console and will not be seen by the+-- subscriber or end user.+--+-- 'encryption', 'updateFlowEntitlement_encryption' - The type of encryption that will be used on the output associated with+-- this entitlement.+--+-- 'entitlementStatus', 'updateFlowEntitlement_entitlementStatus' - An indication of whether you want to enable the entitlement to allow+-- access, or disable it to stop streaming content to the subscriber’s flow+-- temporarily. If you don’t specify the entitlementStatus field in your+-- request, MediaConnect leaves the value unchanged.+--+-- 'subscribers', 'updateFlowEntitlement_subscribers' - The AWS account IDs that you want to share your content with. The+-- receiving accounts (subscribers) will be allowed to create their own+-- flow using your content as the source.+--+-- 'flowArn', 'updateFlowEntitlement_flowArn' - The flow that is associated with the entitlement that you want to+-- update.+--+-- 'entitlementArn', 'updateFlowEntitlement_entitlementArn' - The ARN of the entitlement that you want to update.+newUpdateFlowEntitlement ::+ -- | 'flowArn'+ Prelude.Text ->+ -- | 'entitlementArn'+ Prelude.Text ->+ UpdateFlowEntitlement+newUpdateFlowEntitlement pFlowArn_ pEntitlementArn_ =+ UpdateFlowEntitlement'+ { description =+ Prelude.Nothing,+ encryption = Prelude.Nothing,+ entitlementStatus = Prelude.Nothing,+ subscribers = Prelude.Nothing,+ flowArn = pFlowArn_,+ entitlementArn = pEntitlementArn_+ }++-- | A description of the entitlement. This description appears only on the+-- AWS Elemental MediaConnect console and will not be seen by the+-- subscriber or end user.+updateFlowEntitlement_description :: Lens.Lens' UpdateFlowEntitlement (Prelude.Maybe Prelude.Text)+updateFlowEntitlement_description = Lens.lens (\UpdateFlowEntitlement' {description} -> description) (\s@UpdateFlowEntitlement' {} a -> s {description = a} :: UpdateFlowEntitlement)++-- | The type of encryption that will be used on the output associated with+-- this entitlement.+updateFlowEntitlement_encryption :: Lens.Lens' UpdateFlowEntitlement (Prelude.Maybe UpdateEncryption)+updateFlowEntitlement_encryption = Lens.lens (\UpdateFlowEntitlement' {encryption} -> encryption) (\s@UpdateFlowEntitlement' {} a -> s {encryption = a} :: UpdateFlowEntitlement)++-- | An indication of whether you want to enable the entitlement to allow+-- access, or disable it to stop streaming content to the subscriber’s flow+-- temporarily. If you don’t specify the entitlementStatus field in your+-- request, MediaConnect leaves the value unchanged.+updateFlowEntitlement_entitlementStatus :: Lens.Lens' UpdateFlowEntitlement (Prelude.Maybe EntitlementStatus)+updateFlowEntitlement_entitlementStatus = Lens.lens (\UpdateFlowEntitlement' {entitlementStatus} -> entitlementStatus) (\s@UpdateFlowEntitlement' {} a -> s {entitlementStatus = a} :: UpdateFlowEntitlement)++-- | The AWS account IDs that you want to share your content with. The+-- receiving accounts (subscribers) will be allowed to create their own+-- flow using your content as the source.+updateFlowEntitlement_subscribers :: Lens.Lens' UpdateFlowEntitlement (Prelude.Maybe [Prelude.Text])+updateFlowEntitlement_subscribers = Lens.lens (\UpdateFlowEntitlement' {subscribers} -> subscribers) (\s@UpdateFlowEntitlement' {} a -> s {subscribers = a} :: UpdateFlowEntitlement) Prelude.. Lens.mapping Lens.coerced++-- | The flow that is associated with the entitlement that you want to+-- update.+updateFlowEntitlement_flowArn :: Lens.Lens' UpdateFlowEntitlement Prelude.Text+updateFlowEntitlement_flowArn = Lens.lens (\UpdateFlowEntitlement' {flowArn} -> flowArn) (\s@UpdateFlowEntitlement' {} a -> s {flowArn = a} :: UpdateFlowEntitlement)++-- | The ARN of the entitlement that you want to update.+updateFlowEntitlement_entitlementArn :: Lens.Lens' UpdateFlowEntitlement Prelude.Text+updateFlowEntitlement_entitlementArn = Lens.lens (\UpdateFlowEntitlement' {entitlementArn} -> entitlementArn) (\s@UpdateFlowEntitlement' {} a -> s {entitlementArn = a} :: UpdateFlowEntitlement)++instance Core.AWSRequest UpdateFlowEntitlement where+ type+ AWSResponse UpdateFlowEntitlement =+ UpdateFlowEntitlementResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateFlowEntitlementResponse'+ Prelude.<$> (x Data..?> "entitlement")+ Prelude.<*> (x Data..?> "flowArn")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateFlowEntitlement where+ hashWithSalt _salt UpdateFlowEntitlement' {..} =+ _salt+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` encryption+ `Prelude.hashWithSalt` entitlementStatus+ `Prelude.hashWithSalt` subscribers+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` entitlementArn++instance Prelude.NFData UpdateFlowEntitlement where+ rnf UpdateFlowEntitlement' {..} =+ Prelude.rnf description+ `Prelude.seq` Prelude.rnf encryption+ `Prelude.seq` Prelude.rnf entitlementStatus+ `Prelude.seq` Prelude.rnf subscribers+ `Prelude.seq` Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf entitlementArn++instance Data.ToHeaders UpdateFlowEntitlement where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateFlowEntitlement where+ toJSON UpdateFlowEntitlement' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("description" Data..=) Prelude.<$> description,+ ("encryption" Data..=) Prelude.<$> encryption,+ ("entitlementStatus" Data..=)+ Prelude.<$> entitlementStatus,+ ("subscribers" Data..=) Prelude.<$> subscribers+ ]+ )++instance Data.ToPath UpdateFlowEntitlement where+ toPath UpdateFlowEntitlement' {..} =+ Prelude.mconcat+ [ "/v1/flows/",+ Data.toBS flowArn,+ "/entitlements/",+ Data.toBS entitlementArn+ ]++instance Data.ToQuery UpdateFlowEntitlement where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFlowEntitlementResponse' smart constructor.+data UpdateFlowEntitlementResponse = UpdateFlowEntitlementResponse'+ { -- | The new configuration of the entitlement that you updated.+ entitlement :: Prelude.Maybe Entitlement,+ -- | The ARN of the flow that this entitlement was granted on.+ flowArn :: 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 'UpdateFlowEntitlementResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'entitlement', 'updateFlowEntitlementResponse_entitlement' - The new configuration of the entitlement that you updated.+--+-- 'flowArn', 'updateFlowEntitlementResponse_flowArn' - The ARN of the flow that this entitlement was granted on.+--+-- 'httpStatus', 'updateFlowEntitlementResponse_httpStatus' - The response's http status code.+newUpdateFlowEntitlementResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateFlowEntitlementResponse+newUpdateFlowEntitlementResponse pHttpStatus_ =+ UpdateFlowEntitlementResponse'+ { entitlement =+ Prelude.Nothing,+ flowArn = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The new configuration of the entitlement that you updated.+updateFlowEntitlementResponse_entitlement :: Lens.Lens' UpdateFlowEntitlementResponse (Prelude.Maybe Entitlement)+updateFlowEntitlementResponse_entitlement = Lens.lens (\UpdateFlowEntitlementResponse' {entitlement} -> entitlement) (\s@UpdateFlowEntitlementResponse' {} a -> s {entitlement = a} :: UpdateFlowEntitlementResponse)++-- | The ARN of the flow that this entitlement was granted on.+updateFlowEntitlementResponse_flowArn :: Lens.Lens' UpdateFlowEntitlementResponse (Prelude.Maybe Prelude.Text)+updateFlowEntitlementResponse_flowArn = Lens.lens (\UpdateFlowEntitlementResponse' {flowArn} -> flowArn) (\s@UpdateFlowEntitlementResponse' {} a -> s {flowArn = a} :: UpdateFlowEntitlementResponse)++-- | The response's http status code.+updateFlowEntitlementResponse_httpStatus :: Lens.Lens' UpdateFlowEntitlementResponse Prelude.Int+updateFlowEntitlementResponse_httpStatus = Lens.lens (\UpdateFlowEntitlementResponse' {httpStatus} -> httpStatus) (\s@UpdateFlowEntitlementResponse' {} a -> s {httpStatus = a} :: UpdateFlowEntitlementResponse)++instance Prelude.NFData UpdateFlowEntitlementResponse where+ rnf UpdateFlowEntitlementResponse' {..} =+ Prelude.rnf entitlement+ `Prelude.seq` Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/UpdateFlowMediaStream.hs view
@@ -0,0 +1,278 @@+{-# 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.MediaConnect.UpdateFlowMediaStream+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing media stream.+module Amazonka.MediaConnect.UpdateFlowMediaStream+ ( -- * Creating a Request+ UpdateFlowMediaStream (..),+ newUpdateFlowMediaStream,++ -- * Request Lenses+ updateFlowMediaStream_attributes,+ updateFlowMediaStream_clockRate,+ updateFlowMediaStream_description,+ updateFlowMediaStream_mediaStreamType,+ updateFlowMediaStream_videoFormat,+ updateFlowMediaStream_flowArn,+ updateFlowMediaStream_mediaStreamName,++ -- * Destructuring the Response+ UpdateFlowMediaStreamResponse (..),+ newUpdateFlowMediaStreamResponse,++ -- * Response Lenses+ updateFlowMediaStreamResponse_flowArn,+ updateFlowMediaStreamResponse_mediaStream,+ updateFlowMediaStreamResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The fields that you want to update in the media stream.+--+-- /See:/ 'newUpdateFlowMediaStream' smart constructor.+data UpdateFlowMediaStream = UpdateFlowMediaStream'+ { -- | The attributes that you want to assign to the media stream.+ attributes :: Prelude.Maybe MediaStreamAttributesRequest,+ -- | The sample rate (in Hz) for the stream. If the media stream type is+ -- video or ancillary data, set this value to 90000. If the media stream+ -- type is audio, set this value to either 48000 or 96000.+ clockRate :: Prelude.Maybe Prelude.Int,+ -- | Description+ description :: Prelude.Maybe Prelude.Text,+ -- | The type of media stream.+ mediaStreamType :: Prelude.Maybe MediaStreamType,+ -- | The resolution of the video.+ videoFormat :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the flow.+ flowArn :: Prelude.Text,+ -- | The name of the media stream that you want to update.+ mediaStreamName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFlowMediaStream' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'attributes', 'updateFlowMediaStream_attributes' - The attributes that you want to assign to the media stream.+--+-- 'clockRate', 'updateFlowMediaStream_clockRate' - The sample rate (in Hz) for the stream. If the media stream type is+-- video or ancillary data, set this value to 90000. If the media stream+-- type is audio, set this value to either 48000 or 96000.+--+-- 'description', 'updateFlowMediaStream_description' - Description+--+-- 'mediaStreamType', 'updateFlowMediaStream_mediaStreamType' - The type of media stream.+--+-- 'videoFormat', 'updateFlowMediaStream_videoFormat' - The resolution of the video.+--+-- 'flowArn', 'updateFlowMediaStream_flowArn' - The Amazon Resource Name (ARN) of the flow.+--+-- 'mediaStreamName', 'updateFlowMediaStream_mediaStreamName' - The name of the media stream that you want to update.+newUpdateFlowMediaStream ::+ -- | 'flowArn'+ Prelude.Text ->+ -- | 'mediaStreamName'+ Prelude.Text ->+ UpdateFlowMediaStream+newUpdateFlowMediaStream pFlowArn_ pMediaStreamName_ =+ UpdateFlowMediaStream'+ { attributes =+ Prelude.Nothing,+ clockRate = Prelude.Nothing,+ description = Prelude.Nothing,+ mediaStreamType = Prelude.Nothing,+ videoFormat = Prelude.Nothing,+ flowArn = pFlowArn_,+ mediaStreamName = pMediaStreamName_+ }++-- | The attributes that you want to assign to the media stream.+updateFlowMediaStream_attributes :: Lens.Lens' UpdateFlowMediaStream (Prelude.Maybe MediaStreamAttributesRequest)+updateFlowMediaStream_attributes = Lens.lens (\UpdateFlowMediaStream' {attributes} -> attributes) (\s@UpdateFlowMediaStream' {} a -> s {attributes = a} :: UpdateFlowMediaStream)++-- | The sample rate (in Hz) for the stream. If the media stream type is+-- video or ancillary data, set this value to 90000. If the media stream+-- type is audio, set this value to either 48000 or 96000.+updateFlowMediaStream_clockRate :: Lens.Lens' UpdateFlowMediaStream (Prelude.Maybe Prelude.Int)+updateFlowMediaStream_clockRate = Lens.lens (\UpdateFlowMediaStream' {clockRate} -> clockRate) (\s@UpdateFlowMediaStream' {} a -> s {clockRate = a} :: UpdateFlowMediaStream)++-- | Description+updateFlowMediaStream_description :: Lens.Lens' UpdateFlowMediaStream (Prelude.Maybe Prelude.Text)+updateFlowMediaStream_description = Lens.lens (\UpdateFlowMediaStream' {description} -> description) (\s@UpdateFlowMediaStream' {} a -> s {description = a} :: UpdateFlowMediaStream)++-- | The type of media stream.+updateFlowMediaStream_mediaStreamType :: Lens.Lens' UpdateFlowMediaStream (Prelude.Maybe MediaStreamType)+updateFlowMediaStream_mediaStreamType = Lens.lens (\UpdateFlowMediaStream' {mediaStreamType} -> mediaStreamType) (\s@UpdateFlowMediaStream' {} a -> s {mediaStreamType = a} :: UpdateFlowMediaStream)++-- | The resolution of the video.+updateFlowMediaStream_videoFormat :: Lens.Lens' UpdateFlowMediaStream (Prelude.Maybe Prelude.Text)+updateFlowMediaStream_videoFormat = Lens.lens (\UpdateFlowMediaStream' {videoFormat} -> videoFormat) (\s@UpdateFlowMediaStream' {} a -> s {videoFormat = a} :: UpdateFlowMediaStream)++-- | The Amazon Resource Name (ARN) of the flow.+updateFlowMediaStream_flowArn :: Lens.Lens' UpdateFlowMediaStream Prelude.Text+updateFlowMediaStream_flowArn = Lens.lens (\UpdateFlowMediaStream' {flowArn} -> flowArn) (\s@UpdateFlowMediaStream' {} a -> s {flowArn = a} :: UpdateFlowMediaStream)++-- | The name of the media stream that you want to update.+updateFlowMediaStream_mediaStreamName :: Lens.Lens' UpdateFlowMediaStream Prelude.Text+updateFlowMediaStream_mediaStreamName = Lens.lens (\UpdateFlowMediaStream' {mediaStreamName} -> mediaStreamName) (\s@UpdateFlowMediaStream' {} a -> s {mediaStreamName = a} :: UpdateFlowMediaStream)++instance Core.AWSRequest UpdateFlowMediaStream where+ type+ AWSResponse UpdateFlowMediaStream =+ UpdateFlowMediaStreamResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateFlowMediaStreamResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> (x Data..?> "mediaStream")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateFlowMediaStream where+ hashWithSalt _salt UpdateFlowMediaStream' {..} =+ _salt+ `Prelude.hashWithSalt` attributes+ `Prelude.hashWithSalt` clockRate+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` mediaStreamType+ `Prelude.hashWithSalt` videoFormat+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` mediaStreamName++instance Prelude.NFData UpdateFlowMediaStream where+ rnf UpdateFlowMediaStream' {..} =+ Prelude.rnf attributes+ `Prelude.seq` Prelude.rnf clockRate+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf mediaStreamType+ `Prelude.seq` Prelude.rnf videoFormat+ `Prelude.seq` Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf mediaStreamName++instance Data.ToHeaders UpdateFlowMediaStream where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateFlowMediaStream where+ toJSON UpdateFlowMediaStream' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("attributes" Data..=) Prelude.<$> attributes,+ ("clockRate" Data..=) Prelude.<$> clockRate,+ ("description" Data..=) Prelude.<$> description,+ ("mediaStreamType" Data..=)+ Prelude.<$> mediaStreamType,+ ("videoFormat" Data..=) Prelude.<$> videoFormat+ ]+ )++instance Data.ToPath UpdateFlowMediaStream where+ toPath UpdateFlowMediaStream' {..} =+ Prelude.mconcat+ [ "/v1/flows/",+ Data.toBS flowArn,+ "/mediaStreams/",+ Data.toBS mediaStreamName+ ]++instance Data.ToQuery UpdateFlowMediaStream where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFlowMediaStreamResponse' smart constructor.+data UpdateFlowMediaStreamResponse = UpdateFlowMediaStreamResponse'+ { -- | The ARN of the flow that is associated with the media stream that you+ -- updated.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | The media stream that you updated.+ mediaStream :: Prelude.Maybe MediaStream,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFlowMediaStreamResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'updateFlowMediaStreamResponse_flowArn' - The ARN of the flow that is associated with the media stream that you+-- updated.+--+-- 'mediaStream', 'updateFlowMediaStreamResponse_mediaStream' - The media stream that you updated.+--+-- 'httpStatus', 'updateFlowMediaStreamResponse_httpStatus' - The response's http status code.+newUpdateFlowMediaStreamResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateFlowMediaStreamResponse+newUpdateFlowMediaStreamResponse pHttpStatus_ =+ UpdateFlowMediaStreamResponse'+ { flowArn =+ Prelude.Nothing,+ mediaStream = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the flow that is associated with the media stream that you+-- updated.+updateFlowMediaStreamResponse_flowArn :: Lens.Lens' UpdateFlowMediaStreamResponse (Prelude.Maybe Prelude.Text)+updateFlowMediaStreamResponse_flowArn = Lens.lens (\UpdateFlowMediaStreamResponse' {flowArn} -> flowArn) (\s@UpdateFlowMediaStreamResponse' {} a -> s {flowArn = a} :: UpdateFlowMediaStreamResponse)++-- | The media stream that you updated.+updateFlowMediaStreamResponse_mediaStream :: Lens.Lens' UpdateFlowMediaStreamResponse (Prelude.Maybe MediaStream)+updateFlowMediaStreamResponse_mediaStream = Lens.lens (\UpdateFlowMediaStreamResponse' {mediaStream} -> mediaStream) (\s@UpdateFlowMediaStreamResponse' {} a -> s {mediaStream = a} :: UpdateFlowMediaStreamResponse)++-- | The response's http status code.+updateFlowMediaStreamResponse_httpStatus :: Lens.Lens' UpdateFlowMediaStreamResponse Prelude.Int+updateFlowMediaStreamResponse_httpStatus = Lens.lens (\UpdateFlowMediaStreamResponse' {httpStatus} -> httpStatus) (\s@UpdateFlowMediaStreamResponse' {} a -> s {httpStatus = a} :: UpdateFlowMediaStreamResponse)++instance Prelude.NFData UpdateFlowMediaStreamResponse where+ rnf UpdateFlowMediaStreamResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf mediaStream+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/UpdateFlowOutput.hs view
@@ -0,0 +1,444 @@+{-# 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.MediaConnect.UpdateFlowOutput+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates an existing flow output.+module Amazonka.MediaConnect.UpdateFlowOutput+ ( -- * Creating a Request+ UpdateFlowOutput (..),+ newUpdateFlowOutput,++ -- * Request Lenses+ updateFlowOutput_cidrAllowList,+ updateFlowOutput_description,+ updateFlowOutput_destination,+ updateFlowOutput_encryption,+ updateFlowOutput_maxLatency,+ updateFlowOutput_mediaStreamOutputConfigurations,+ updateFlowOutput_minLatency,+ updateFlowOutput_port,+ updateFlowOutput_protocol,+ updateFlowOutput_remoteId,+ updateFlowOutput_senderControlPort,+ updateFlowOutput_senderIpAddress,+ updateFlowOutput_smoothingLatency,+ updateFlowOutput_streamId,+ updateFlowOutput_vpcInterfaceAttachment,+ updateFlowOutput_flowArn,+ updateFlowOutput_outputArn,++ -- * Destructuring the Response+ UpdateFlowOutputResponse (..),+ newUpdateFlowOutputResponse,++ -- * Response Lenses+ updateFlowOutputResponse_flowArn,+ updateFlowOutputResponse_output,+ updateFlowOutputResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | The fields that you want to update in the output.+--+-- /See:/ 'newUpdateFlowOutput' smart constructor.+data UpdateFlowOutput = UpdateFlowOutput'+ { -- | The range of IP addresses that should be allowed to initiate output+ -- requests to this flow. These IP addresses should be in the form of a+ -- Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+ cidrAllowList :: Prelude.Maybe [Prelude.Text],+ -- | A description of the output. This description appears only on the AWS+ -- Elemental MediaConnect console and will not be seen by the end user.+ description :: Prelude.Maybe Prelude.Text,+ -- | The IP address where you want to send the output.+ destination :: Prelude.Maybe Prelude.Text,+ -- | The type of key used for the encryption. If no keyType is provided, the+ -- service will use the default setting (static-key).+ encryption :: Prelude.Maybe UpdateEncryption,+ -- | The maximum latency in milliseconds. This parameter applies only to+ -- RIST-based, Zixi-based, and Fujitsu-based streams.+ maxLatency :: Prelude.Maybe Prelude.Int,+ -- | The media streams that are associated with the output, and the+ -- parameters for those associations.+ mediaStreamOutputConfigurations :: Prelude.Maybe [MediaStreamOutputConfigurationRequest],+ -- | The minimum latency in milliseconds for SRT-based streams. In streams+ -- that use the SRT protocol, this value that you set on your MediaConnect+ -- source or output represents the minimal potential latency of that+ -- connection. The latency of the stream is set to the highest number+ -- between the sender’s minimum latency and the receiver’s minimum latency.+ minLatency :: Prelude.Maybe Prelude.Int,+ -- | The port to use when content is distributed to this output.+ port :: Prelude.Maybe Prelude.Int,+ -- | The protocol to use for the output.+ protocol :: Prelude.Maybe Protocol,+ -- | The remote ID for the Zixi-pull stream.+ remoteId :: Prelude.Maybe Prelude.Text,+ -- | The port that the flow uses to send outbound requests to initiate+ -- connection with the sender.+ senderControlPort :: Prelude.Maybe Prelude.Int,+ -- | The IP address that the flow communicates with to initiate connection+ -- with the sender.+ senderIpAddress :: Prelude.Maybe Prelude.Text,+ -- | The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC+ -- streams.+ smoothingLatency :: Prelude.Maybe Prelude.Int,+ -- | The stream ID that you want to use for this transport. This parameter+ -- applies only to Zixi-based streams.+ streamId :: Prelude.Maybe Prelude.Text,+ -- | The name of the VPC interface attachment to use for this output.+ vpcInterfaceAttachment :: Prelude.Maybe VpcInterfaceAttachment,+ -- | The flow that is associated with the output that you want to update.+ flowArn :: Prelude.Text,+ -- | The ARN of the output that you want to update.+ outputArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFlowOutput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cidrAllowList', 'updateFlowOutput_cidrAllowList' - The range of IP addresses that should be allowed to initiate output+-- requests to this flow. These IP addresses should be in the form of a+-- Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+--+-- 'description', 'updateFlowOutput_description' - A description of the output. This description appears only on the AWS+-- Elemental MediaConnect console and will not be seen by the end user.+--+-- 'destination', 'updateFlowOutput_destination' - The IP address where you want to send the output.+--+-- 'encryption', 'updateFlowOutput_encryption' - The type of key used for the encryption. If no keyType is provided, the+-- service will use the default setting (static-key).+--+-- 'maxLatency', 'updateFlowOutput_maxLatency' - The maximum latency in milliseconds. This parameter applies only to+-- RIST-based, Zixi-based, and Fujitsu-based streams.+--+-- 'mediaStreamOutputConfigurations', 'updateFlowOutput_mediaStreamOutputConfigurations' - The media streams that are associated with the output, and the+-- parameters for those associations.+--+-- 'minLatency', 'updateFlowOutput_minLatency' - The minimum latency in milliseconds for SRT-based streams. In streams+-- that use the SRT protocol, this value that you set on your MediaConnect+-- source or output represents the minimal potential latency of that+-- connection. The latency of the stream is set to the highest number+-- between the sender’s minimum latency and the receiver’s minimum latency.+--+-- 'port', 'updateFlowOutput_port' - The port to use when content is distributed to this output.+--+-- 'protocol', 'updateFlowOutput_protocol' - The protocol to use for the output.+--+-- 'remoteId', 'updateFlowOutput_remoteId' - The remote ID for the Zixi-pull stream.+--+-- 'senderControlPort', 'updateFlowOutput_senderControlPort' - The port that the flow uses to send outbound requests to initiate+-- connection with the sender.+--+-- 'senderIpAddress', 'updateFlowOutput_senderIpAddress' - The IP address that the flow communicates with to initiate connection+-- with the sender.+--+-- 'smoothingLatency', 'updateFlowOutput_smoothingLatency' - The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC+-- streams.+--+-- 'streamId', 'updateFlowOutput_streamId' - The stream ID that you want to use for this transport. This parameter+-- applies only to Zixi-based streams.+--+-- 'vpcInterfaceAttachment', 'updateFlowOutput_vpcInterfaceAttachment' - The name of the VPC interface attachment to use for this output.+--+-- 'flowArn', 'updateFlowOutput_flowArn' - The flow that is associated with the output that you want to update.+--+-- 'outputArn', 'updateFlowOutput_outputArn' - The ARN of the output that you want to update.+newUpdateFlowOutput ::+ -- | 'flowArn'+ Prelude.Text ->+ -- | 'outputArn'+ Prelude.Text ->+ UpdateFlowOutput+newUpdateFlowOutput pFlowArn_ pOutputArn_ =+ UpdateFlowOutput'+ { cidrAllowList = Prelude.Nothing,+ description = Prelude.Nothing,+ destination = Prelude.Nothing,+ encryption = Prelude.Nothing,+ maxLatency = Prelude.Nothing,+ mediaStreamOutputConfigurations = Prelude.Nothing,+ minLatency = Prelude.Nothing,+ port = Prelude.Nothing,+ protocol = Prelude.Nothing,+ remoteId = Prelude.Nothing,+ senderControlPort = Prelude.Nothing,+ senderIpAddress = Prelude.Nothing,+ smoothingLatency = Prelude.Nothing,+ streamId = Prelude.Nothing,+ vpcInterfaceAttachment = Prelude.Nothing,+ flowArn = pFlowArn_,+ outputArn = pOutputArn_+ }++-- | The range of IP addresses that should be allowed to initiate output+-- requests to this flow. These IP addresses should be in the form of a+-- Classless Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+updateFlowOutput_cidrAllowList :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe [Prelude.Text])+updateFlowOutput_cidrAllowList = Lens.lens (\UpdateFlowOutput' {cidrAllowList} -> cidrAllowList) (\s@UpdateFlowOutput' {} a -> s {cidrAllowList = a} :: UpdateFlowOutput) Prelude.. Lens.mapping Lens.coerced++-- | A description of the output. This description appears only on the AWS+-- Elemental MediaConnect console and will not be seen by the end user.+updateFlowOutput_description :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe Prelude.Text)+updateFlowOutput_description = Lens.lens (\UpdateFlowOutput' {description} -> description) (\s@UpdateFlowOutput' {} a -> s {description = a} :: UpdateFlowOutput)++-- | The IP address where you want to send the output.+updateFlowOutput_destination :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe Prelude.Text)+updateFlowOutput_destination = Lens.lens (\UpdateFlowOutput' {destination} -> destination) (\s@UpdateFlowOutput' {} a -> s {destination = a} :: UpdateFlowOutput)++-- | The type of key used for the encryption. If no keyType is provided, the+-- service will use the default setting (static-key).+updateFlowOutput_encryption :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe UpdateEncryption)+updateFlowOutput_encryption = Lens.lens (\UpdateFlowOutput' {encryption} -> encryption) (\s@UpdateFlowOutput' {} a -> s {encryption = a} :: UpdateFlowOutput)++-- | The maximum latency in milliseconds. This parameter applies only to+-- RIST-based, Zixi-based, and Fujitsu-based streams.+updateFlowOutput_maxLatency :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe Prelude.Int)+updateFlowOutput_maxLatency = Lens.lens (\UpdateFlowOutput' {maxLatency} -> maxLatency) (\s@UpdateFlowOutput' {} a -> s {maxLatency = a} :: UpdateFlowOutput)++-- | The media streams that are associated with the output, and the+-- parameters for those associations.+updateFlowOutput_mediaStreamOutputConfigurations :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe [MediaStreamOutputConfigurationRequest])+updateFlowOutput_mediaStreamOutputConfigurations = Lens.lens (\UpdateFlowOutput' {mediaStreamOutputConfigurations} -> mediaStreamOutputConfigurations) (\s@UpdateFlowOutput' {} a -> s {mediaStreamOutputConfigurations = a} :: UpdateFlowOutput) Prelude.. Lens.mapping Lens.coerced++-- | The minimum latency in milliseconds for SRT-based streams. In streams+-- that use the SRT protocol, this value that you set on your MediaConnect+-- source or output represents the minimal potential latency of that+-- connection. The latency of the stream is set to the highest number+-- between the sender’s minimum latency and the receiver’s minimum latency.+updateFlowOutput_minLatency :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe Prelude.Int)+updateFlowOutput_minLatency = Lens.lens (\UpdateFlowOutput' {minLatency} -> minLatency) (\s@UpdateFlowOutput' {} a -> s {minLatency = a} :: UpdateFlowOutput)++-- | The port to use when content is distributed to this output.+updateFlowOutput_port :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe Prelude.Int)+updateFlowOutput_port = Lens.lens (\UpdateFlowOutput' {port} -> port) (\s@UpdateFlowOutput' {} a -> s {port = a} :: UpdateFlowOutput)++-- | The protocol to use for the output.+updateFlowOutput_protocol :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe Protocol)+updateFlowOutput_protocol = Lens.lens (\UpdateFlowOutput' {protocol} -> protocol) (\s@UpdateFlowOutput' {} a -> s {protocol = a} :: UpdateFlowOutput)++-- | The remote ID for the Zixi-pull stream.+updateFlowOutput_remoteId :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe Prelude.Text)+updateFlowOutput_remoteId = Lens.lens (\UpdateFlowOutput' {remoteId} -> remoteId) (\s@UpdateFlowOutput' {} a -> s {remoteId = a} :: UpdateFlowOutput)++-- | The port that the flow uses to send outbound requests to initiate+-- connection with the sender.+updateFlowOutput_senderControlPort :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe Prelude.Int)+updateFlowOutput_senderControlPort = Lens.lens (\UpdateFlowOutput' {senderControlPort} -> senderControlPort) (\s@UpdateFlowOutput' {} a -> s {senderControlPort = a} :: UpdateFlowOutput)++-- | The IP address that the flow communicates with to initiate connection+-- with the sender.+updateFlowOutput_senderIpAddress :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe Prelude.Text)+updateFlowOutput_senderIpAddress = Lens.lens (\UpdateFlowOutput' {senderIpAddress} -> senderIpAddress) (\s@UpdateFlowOutput' {} a -> s {senderIpAddress = a} :: UpdateFlowOutput)++-- | The smoothing latency in milliseconds for RIST, RTP, and RTP-FEC+-- streams.+updateFlowOutput_smoothingLatency :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe Prelude.Int)+updateFlowOutput_smoothingLatency = Lens.lens (\UpdateFlowOutput' {smoothingLatency} -> smoothingLatency) (\s@UpdateFlowOutput' {} a -> s {smoothingLatency = a} :: UpdateFlowOutput)++-- | The stream ID that you want to use for this transport. This parameter+-- applies only to Zixi-based streams.+updateFlowOutput_streamId :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe Prelude.Text)+updateFlowOutput_streamId = Lens.lens (\UpdateFlowOutput' {streamId} -> streamId) (\s@UpdateFlowOutput' {} a -> s {streamId = a} :: UpdateFlowOutput)++-- | The name of the VPC interface attachment to use for this output.+updateFlowOutput_vpcInterfaceAttachment :: Lens.Lens' UpdateFlowOutput (Prelude.Maybe VpcInterfaceAttachment)+updateFlowOutput_vpcInterfaceAttachment = Lens.lens (\UpdateFlowOutput' {vpcInterfaceAttachment} -> vpcInterfaceAttachment) (\s@UpdateFlowOutput' {} a -> s {vpcInterfaceAttachment = a} :: UpdateFlowOutput)++-- | The flow that is associated with the output that you want to update.+updateFlowOutput_flowArn :: Lens.Lens' UpdateFlowOutput Prelude.Text+updateFlowOutput_flowArn = Lens.lens (\UpdateFlowOutput' {flowArn} -> flowArn) (\s@UpdateFlowOutput' {} a -> s {flowArn = a} :: UpdateFlowOutput)++-- | The ARN of the output that you want to update.+updateFlowOutput_outputArn :: Lens.Lens' UpdateFlowOutput Prelude.Text+updateFlowOutput_outputArn = Lens.lens (\UpdateFlowOutput' {outputArn} -> outputArn) (\s@UpdateFlowOutput' {} a -> s {outputArn = a} :: UpdateFlowOutput)++instance Core.AWSRequest UpdateFlowOutput where+ type+ AWSResponse UpdateFlowOutput =+ UpdateFlowOutputResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateFlowOutputResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> (x Data..?> "output")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateFlowOutput where+ hashWithSalt _salt UpdateFlowOutput' {..} =+ _salt+ `Prelude.hashWithSalt` cidrAllowList+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` destination+ `Prelude.hashWithSalt` encryption+ `Prelude.hashWithSalt` maxLatency+ `Prelude.hashWithSalt` mediaStreamOutputConfigurations+ `Prelude.hashWithSalt` minLatency+ `Prelude.hashWithSalt` port+ `Prelude.hashWithSalt` protocol+ `Prelude.hashWithSalt` remoteId+ `Prelude.hashWithSalt` senderControlPort+ `Prelude.hashWithSalt` senderIpAddress+ `Prelude.hashWithSalt` smoothingLatency+ `Prelude.hashWithSalt` streamId+ `Prelude.hashWithSalt` vpcInterfaceAttachment+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` outputArn++instance Prelude.NFData UpdateFlowOutput where+ rnf UpdateFlowOutput' {..} =+ Prelude.rnf cidrAllowList+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf destination+ `Prelude.seq` Prelude.rnf encryption+ `Prelude.seq` Prelude.rnf maxLatency+ `Prelude.seq` Prelude.rnf mediaStreamOutputConfigurations+ `Prelude.seq` Prelude.rnf minLatency+ `Prelude.seq` Prelude.rnf port+ `Prelude.seq` Prelude.rnf protocol+ `Prelude.seq` Prelude.rnf remoteId+ `Prelude.seq` Prelude.rnf senderControlPort+ `Prelude.seq` Prelude.rnf senderIpAddress+ `Prelude.seq` Prelude.rnf smoothingLatency+ `Prelude.seq` Prelude.rnf streamId+ `Prelude.seq` Prelude.rnf vpcInterfaceAttachment+ `Prelude.seq` Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf outputArn++instance Data.ToHeaders UpdateFlowOutput where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateFlowOutput where+ toJSON UpdateFlowOutput' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("cidrAllowList" Data..=) Prelude.<$> cidrAllowList,+ ("description" Data..=) Prelude.<$> description,+ ("destination" Data..=) Prelude.<$> destination,+ ("encryption" Data..=) Prelude.<$> encryption,+ ("maxLatency" Data..=) Prelude.<$> maxLatency,+ ("mediaStreamOutputConfigurations" Data..=)+ Prelude.<$> mediaStreamOutputConfigurations,+ ("minLatency" Data..=) Prelude.<$> minLatency,+ ("port" Data..=) Prelude.<$> port,+ ("protocol" Data..=) Prelude.<$> protocol,+ ("remoteId" Data..=) Prelude.<$> remoteId,+ ("senderControlPort" Data..=)+ Prelude.<$> senderControlPort,+ ("senderIpAddress" Data..=)+ Prelude.<$> senderIpAddress,+ ("smoothingLatency" Data..=)+ Prelude.<$> smoothingLatency,+ ("streamId" Data..=) Prelude.<$> streamId,+ ("vpcInterfaceAttachment" Data..=)+ Prelude.<$> vpcInterfaceAttachment+ ]+ )++instance Data.ToPath UpdateFlowOutput where+ toPath UpdateFlowOutput' {..} =+ Prelude.mconcat+ [ "/v1/flows/",+ Data.toBS flowArn,+ "/outputs/",+ Data.toBS outputArn+ ]++instance Data.ToQuery UpdateFlowOutput where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFlowOutputResponse' smart constructor.+data UpdateFlowOutputResponse = UpdateFlowOutputResponse'+ { -- | The ARN of the flow that is associated with the updated output.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | The new settings of the output that you updated.+ output :: Prelude.Maybe Output,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFlowOutputResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'updateFlowOutputResponse_flowArn' - The ARN of the flow that is associated with the updated output.+--+-- 'output', 'updateFlowOutputResponse_output' - The new settings of the output that you updated.+--+-- 'httpStatus', 'updateFlowOutputResponse_httpStatus' - The response's http status code.+newUpdateFlowOutputResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateFlowOutputResponse+newUpdateFlowOutputResponse pHttpStatus_ =+ UpdateFlowOutputResponse'+ { flowArn =+ Prelude.Nothing,+ output = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the flow that is associated with the updated output.+updateFlowOutputResponse_flowArn :: Lens.Lens' UpdateFlowOutputResponse (Prelude.Maybe Prelude.Text)+updateFlowOutputResponse_flowArn = Lens.lens (\UpdateFlowOutputResponse' {flowArn} -> flowArn) (\s@UpdateFlowOutputResponse' {} a -> s {flowArn = a} :: UpdateFlowOutputResponse)++-- | The new settings of the output that you updated.+updateFlowOutputResponse_output :: Lens.Lens' UpdateFlowOutputResponse (Prelude.Maybe Output)+updateFlowOutputResponse_output = Lens.lens (\UpdateFlowOutputResponse' {output} -> output) (\s@UpdateFlowOutputResponse' {} a -> s {output = a} :: UpdateFlowOutputResponse)++-- | The response's http status code.+updateFlowOutputResponse_httpStatus :: Lens.Lens' UpdateFlowOutputResponse Prelude.Int+updateFlowOutputResponse_httpStatus = Lens.lens (\UpdateFlowOutputResponse' {httpStatus} -> httpStatus) (\s@UpdateFlowOutputResponse' {} a -> s {httpStatus = a} :: UpdateFlowOutputResponse)++instance Prelude.NFData UpdateFlowOutputResponse where+ rnf UpdateFlowOutputResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf output+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/UpdateFlowSource.hs view
@@ -0,0 +1,475 @@+{-# 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.MediaConnect.UpdateFlowSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates the source of a flow.+module Amazonka.MediaConnect.UpdateFlowSource+ ( -- * Creating a Request+ UpdateFlowSource (..),+ newUpdateFlowSource,++ -- * Request Lenses+ updateFlowSource_decryption,+ updateFlowSource_description,+ updateFlowSource_entitlementArn,+ updateFlowSource_ingestPort,+ updateFlowSource_maxBitrate,+ updateFlowSource_maxLatency,+ updateFlowSource_maxSyncBuffer,+ updateFlowSource_mediaStreamSourceConfigurations,+ updateFlowSource_minLatency,+ updateFlowSource_protocol,+ updateFlowSource_senderControlPort,+ updateFlowSource_senderIpAddress,+ updateFlowSource_sourceListenerAddress,+ updateFlowSource_sourceListenerPort,+ updateFlowSource_streamId,+ updateFlowSource_vpcInterfaceName,+ updateFlowSource_whitelistCidr,+ updateFlowSource_flowArn,+ updateFlowSource_sourceArn,++ -- * Destructuring the Response+ UpdateFlowSourceResponse (..),+ newUpdateFlowSourceResponse,++ -- * Response Lenses+ updateFlowSourceResponse_flowArn,+ updateFlowSourceResponse_source,+ updateFlowSourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | A request to update the source of a flow.+--+-- /See:/ 'newUpdateFlowSource' smart constructor.+data UpdateFlowSource = UpdateFlowSource'+ { -- | The type of encryption used on the content ingested from this source.+ decryption :: Prelude.Maybe UpdateEncryption,+ -- | A description for the source. This value is not used or seen outside of+ -- the current AWS Elemental MediaConnect account.+ description :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the entitlement that allows you to subscribe to this flow.+ -- The entitlement is set by the flow originator, and the ARN is generated+ -- as part of the originator\'s flow.+ entitlementArn :: Prelude.Maybe Prelude.Text,+ -- | The port that the flow will be listening on for incoming content.+ ingestPort :: Prelude.Maybe Prelude.Int,+ -- | The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.+ maxBitrate :: Prelude.Maybe Prelude.Int,+ -- | The maximum latency in milliseconds. This parameter applies only to+ -- RIST-based, Zixi-based, and Fujitsu-based streams.+ maxLatency :: Prelude.Maybe Prelude.Int,+ -- | The size of the buffer (in milliseconds) to use to sync incoming source+ -- data.+ maxSyncBuffer :: Prelude.Maybe Prelude.Int,+ -- | The media streams that are associated with the source, and the+ -- parameters for those associations.+ mediaStreamSourceConfigurations :: Prelude.Maybe [MediaStreamSourceConfigurationRequest],+ -- | The minimum latency in milliseconds for SRT-based streams. In streams+ -- that use the SRT protocol, this value that you set on your MediaConnect+ -- source or output represents the minimal potential latency of that+ -- connection. The latency of the stream is set to the highest number+ -- between the sender’s minimum latency and the receiver’s minimum latency.+ minLatency :: Prelude.Maybe Prelude.Int,+ -- | The protocol that is used by the source.+ protocol :: Prelude.Maybe Protocol,+ -- | The port that the flow uses to send outbound requests to initiate+ -- connection with the sender.+ senderControlPort :: Prelude.Maybe Prelude.Int,+ -- | The IP address that the flow communicates with to initiate connection+ -- with the sender.+ senderIpAddress :: Prelude.Maybe Prelude.Text,+ -- | Source IP or domain name for SRT-caller protocol.+ sourceListenerAddress :: Prelude.Maybe Prelude.Text,+ -- | Source port for SRT-caller protocol.+ sourceListenerPort :: Prelude.Maybe Prelude.Int,+ -- | The stream ID that you want to use for this transport. This parameter+ -- applies only to Zixi-based streams.+ streamId :: Prelude.Maybe Prelude.Text,+ -- | The name of the VPC interface to use for this source.+ vpcInterfaceName :: Prelude.Maybe Prelude.Text,+ -- | The range of IP addresses that should be allowed to contribute content+ -- to your source. These IP addresses should be in the form of a Classless+ -- Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+ whitelistCidr :: Prelude.Maybe Prelude.Text,+ -- | The flow that is associated with the source that you want to update.+ flowArn :: Prelude.Text,+ -- | The ARN of the source that you want to update.+ sourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFlowSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'decryption', 'updateFlowSource_decryption' - The type of encryption used on the content ingested from this source.+--+-- 'description', 'updateFlowSource_description' - A description for the source. This value is not used or seen outside of+-- the current AWS Elemental MediaConnect account.+--+-- 'entitlementArn', 'updateFlowSource_entitlementArn' - The ARN of the entitlement that allows you to subscribe to this flow.+-- The entitlement is set by the flow originator, and the ARN is generated+-- as part of the originator\'s flow.+--+-- 'ingestPort', 'updateFlowSource_ingestPort' - The port that the flow will be listening on for incoming content.+--+-- 'maxBitrate', 'updateFlowSource_maxBitrate' - The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.+--+-- 'maxLatency', 'updateFlowSource_maxLatency' - The maximum latency in milliseconds. This parameter applies only to+-- RIST-based, Zixi-based, and Fujitsu-based streams.+--+-- 'maxSyncBuffer', 'updateFlowSource_maxSyncBuffer' - The size of the buffer (in milliseconds) to use to sync incoming source+-- data.+--+-- 'mediaStreamSourceConfigurations', 'updateFlowSource_mediaStreamSourceConfigurations' - The media streams that are associated with the source, and the+-- parameters for those associations.+--+-- 'minLatency', 'updateFlowSource_minLatency' - The minimum latency in milliseconds for SRT-based streams. In streams+-- that use the SRT protocol, this value that you set on your MediaConnect+-- source or output represents the minimal potential latency of that+-- connection. The latency of the stream is set to the highest number+-- between the sender’s minimum latency and the receiver’s minimum latency.+--+-- 'protocol', 'updateFlowSource_protocol' - The protocol that is used by the source.+--+-- 'senderControlPort', 'updateFlowSource_senderControlPort' - The port that the flow uses to send outbound requests to initiate+-- connection with the sender.+--+-- 'senderIpAddress', 'updateFlowSource_senderIpAddress' - The IP address that the flow communicates with to initiate connection+-- with the sender.+--+-- 'sourceListenerAddress', 'updateFlowSource_sourceListenerAddress' - Source IP or domain name for SRT-caller protocol.+--+-- 'sourceListenerPort', 'updateFlowSource_sourceListenerPort' - Source port for SRT-caller protocol.+--+-- 'streamId', 'updateFlowSource_streamId' - The stream ID that you want to use for this transport. This parameter+-- applies only to Zixi-based streams.+--+-- 'vpcInterfaceName', 'updateFlowSource_vpcInterfaceName' - The name of the VPC interface to use for this source.+--+-- 'whitelistCidr', 'updateFlowSource_whitelistCidr' - The range of IP addresses that should be allowed to contribute content+-- to your source. These IP addresses should be in the form of a Classless+-- Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+--+-- 'flowArn', 'updateFlowSource_flowArn' - The flow that is associated with the source that you want to update.+--+-- 'sourceArn', 'updateFlowSource_sourceArn' - The ARN of the source that you want to update.+newUpdateFlowSource ::+ -- | 'flowArn'+ Prelude.Text ->+ -- | 'sourceArn'+ Prelude.Text ->+ UpdateFlowSource+newUpdateFlowSource pFlowArn_ pSourceArn_ =+ UpdateFlowSource'+ { decryption = Prelude.Nothing,+ description = Prelude.Nothing,+ entitlementArn = Prelude.Nothing,+ ingestPort = Prelude.Nothing,+ maxBitrate = Prelude.Nothing,+ maxLatency = Prelude.Nothing,+ maxSyncBuffer = Prelude.Nothing,+ mediaStreamSourceConfigurations = Prelude.Nothing,+ minLatency = Prelude.Nothing,+ protocol = Prelude.Nothing,+ senderControlPort = Prelude.Nothing,+ senderIpAddress = Prelude.Nothing,+ sourceListenerAddress = Prelude.Nothing,+ sourceListenerPort = Prelude.Nothing,+ streamId = Prelude.Nothing,+ vpcInterfaceName = Prelude.Nothing,+ whitelistCidr = Prelude.Nothing,+ flowArn = pFlowArn_,+ sourceArn = pSourceArn_+ }++-- | The type of encryption used on the content ingested from this source.+updateFlowSource_decryption :: Lens.Lens' UpdateFlowSource (Prelude.Maybe UpdateEncryption)+updateFlowSource_decryption = Lens.lens (\UpdateFlowSource' {decryption} -> decryption) (\s@UpdateFlowSource' {} a -> s {decryption = a} :: UpdateFlowSource)++-- | A description for the source. This value is not used or seen outside of+-- the current AWS Elemental MediaConnect account.+updateFlowSource_description :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Text)+updateFlowSource_description = Lens.lens (\UpdateFlowSource' {description} -> description) (\s@UpdateFlowSource' {} a -> s {description = a} :: UpdateFlowSource)++-- | The ARN of the entitlement that allows you to subscribe to this flow.+-- The entitlement is set by the flow originator, and the ARN is generated+-- as part of the originator\'s flow.+updateFlowSource_entitlementArn :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Text)+updateFlowSource_entitlementArn = Lens.lens (\UpdateFlowSource' {entitlementArn} -> entitlementArn) (\s@UpdateFlowSource' {} a -> s {entitlementArn = a} :: UpdateFlowSource)++-- | The port that the flow will be listening on for incoming content.+updateFlowSource_ingestPort :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Int)+updateFlowSource_ingestPort = Lens.lens (\UpdateFlowSource' {ingestPort} -> ingestPort) (\s@UpdateFlowSource' {} a -> s {ingestPort = a} :: UpdateFlowSource)++-- | The smoothing max bitrate for RIST, RTP, and RTP-FEC streams.+updateFlowSource_maxBitrate :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Int)+updateFlowSource_maxBitrate = Lens.lens (\UpdateFlowSource' {maxBitrate} -> maxBitrate) (\s@UpdateFlowSource' {} a -> s {maxBitrate = a} :: UpdateFlowSource)++-- | The maximum latency in milliseconds. This parameter applies only to+-- RIST-based, Zixi-based, and Fujitsu-based streams.+updateFlowSource_maxLatency :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Int)+updateFlowSource_maxLatency = Lens.lens (\UpdateFlowSource' {maxLatency} -> maxLatency) (\s@UpdateFlowSource' {} a -> s {maxLatency = a} :: UpdateFlowSource)++-- | The size of the buffer (in milliseconds) to use to sync incoming source+-- data.+updateFlowSource_maxSyncBuffer :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Int)+updateFlowSource_maxSyncBuffer = Lens.lens (\UpdateFlowSource' {maxSyncBuffer} -> maxSyncBuffer) (\s@UpdateFlowSource' {} a -> s {maxSyncBuffer = a} :: UpdateFlowSource)++-- | The media streams that are associated with the source, and the+-- parameters for those associations.+updateFlowSource_mediaStreamSourceConfigurations :: Lens.Lens' UpdateFlowSource (Prelude.Maybe [MediaStreamSourceConfigurationRequest])+updateFlowSource_mediaStreamSourceConfigurations = Lens.lens (\UpdateFlowSource' {mediaStreamSourceConfigurations} -> mediaStreamSourceConfigurations) (\s@UpdateFlowSource' {} a -> s {mediaStreamSourceConfigurations = a} :: UpdateFlowSource) Prelude.. Lens.mapping Lens.coerced++-- | The minimum latency in milliseconds for SRT-based streams. In streams+-- that use the SRT protocol, this value that you set on your MediaConnect+-- source or output represents the minimal potential latency of that+-- connection. The latency of the stream is set to the highest number+-- between the sender’s minimum latency and the receiver’s minimum latency.+updateFlowSource_minLatency :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Int)+updateFlowSource_minLatency = Lens.lens (\UpdateFlowSource' {minLatency} -> minLatency) (\s@UpdateFlowSource' {} a -> s {minLatency = a} :: UpdateFlowSource)++-- | The protocol that is used by the source.+updateFlowSource_protocol :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Protocol)+updateFlowSource_protocol = Lens.lens (\UpdateFlowSource' {protocol} -> protocol) (\s@UpdateFlowSource' {} a -> s {protocol = a} :: UpdateFlowSource)++-- | The port that the flow uses to send outbound requests to initiate+-- connection with the sender.+updateFlowSource_senderControlPort :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Int)+updateFlowSource_senderControlPort = Lens.lens (\UpdateFlowSource' {senderControlPort} -> senderControlPort) (\s@UpdateFlowSource' {} a -> s {senderControlPort = a} :: UpdateFlowSource)++-- | The IP address that the flow communicates with to initiate connection+-- with the sender.+updateFlowSource_senderIpAddress :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Text)+updateFlowSource_senderIpAddress = Lens.lens (\UpdateFlowSource' {senderIpAddress} -> senderIpAddress) (\s@UpdateFlowSource' {} a -> s {senderIpAddress = a} :: UpdateFlowSource)++-- | Source IP or domain name for SRT-caller protocol.+updateFlowSource_sourceListenerAddress :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Text)+updateFlowSource_sourceListenerAddress = Lens.lens (\UpdateFlowSource' {sourceListenerAddress} -> sourceListenerAddress) (\s@UpdateFlowSource' {} a -> s {sourceListenerAddress = a} :: UpdateFlowSource)++-- | Source port for SRT-caller protocol.+updateFlowSource_sourceListenerPort :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Int)+updateFlowSource_sourceListenerPort = Lens.lens (\UpdateFlowSource' {sourceListenerPort} -> sourceListenerPort) (\s@UpdateFlowSource' {} a -> s {sourceListenerPort = a} :: UpdateFlowSource)++-- | The stream ID that you want to use for this transport. This parameter+-- applies only to Zixi-based streams.+updateFlowSource_streamId :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Text)+updateFlowSource_streamId = Lens.lens (\UpdateFlowSource' {streamId} -> streamId) (\s@UpdateFlowSource' {} a -> s {streamId = a} :: UpdateFlowSource)++-- | The name of the VPC interface to use for this source.+updateFlowSource_vpcInterfaceName :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Text)+updateFlowSource_vpcInterfaceName = Lens.lens (\UpdateFlowSource' {vpcInterfaceName} -> vpcInterfaceName) (\s@UpdateFlowSource' {} a -> s {vpcInterfaceName = a} :: UpdateFlowSource)++-- | The range of IP addresses that should be allowed to contribute content+-- to your source. These IP addresses should be in the form of a Classless+-- Inter-Domain Routing (CIDR) block; for example, 10.0.0.0\/16.+updateFlowSource_whitelistCidr :: Lens.Lens' UpdateFlowSource (Prelude.Maybe Prelude.Text)+updateFlowSource_whitelistCidr = Lens.lens (\UpdateFlowSource' {whitelistCidr} -> whitelistCidr) (\s@UpdateFlowSource' {} a -> s {whitelistCidr = a} :: UpdateFlowSource)++-- | The flow that is associated with the source that you want to update.+updateFlowSource_flowArn :: Lens.Lens' UpdateFlowSource Prelude.Text+updateFlowSource_flowArn = Lens.lens (\UpdateFlowSource' {flowArn} -> flowArn) (\s@UpdateFlowSource' {} a -> s {flowArn = a} :: UpdateFlowSource)++-- | The ARN of the source that you want to update.+updateFlowSource_sourceArn :: Lens.Lens' UpdateFlowSource Prelude.Text+updateFlowSource_sourceArn = Lens.lens (\UpdateFlowSource' {sourceArn} -> sourceArn) (\s@UpdateFlowSource' {} a -> s {sourceArn = a} :: UpdateFlowSource)++instance Core.AWSRequest UpdateFlowSource where+ type+ AWSResponse UpdateFlowSource =+ UpdateFlowSourceResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateFlowSourceResponse'+ Prelude.<$> (x Data..?> "flowArn")+ Prelude.<*> (x Data..?> "source")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateFlowSource where+ hashWithSalt _salt UpdateFlowSource' {..} =+ _salt+ `Prelude.hashWithSalt` decryption+ `Prelude.hashWithSalt` description+ `Prelude.hashWithSalt` entitlementArn+ `Prelude.hashWithSalt` ingestPort+ `Prelude.hashWithSalt` maxBitrate+ `Prelude.hashWithSalt` maxLatency+ `Prelude.hashWithSalt` maxSyncBuffer+ `Prelude.hashWithSalt` mediaStreamSourceConfigurations+ `Prelude.hashWithSalt` minLatency+ `Prelude.hashWithSalt` protocol+ `Prelude.hashWithSalt` senderControlPort+ `Prelude.hashWithSalt` senderIpAddress+ `Prelude.hashWithSalt` sourceListenerAddress+ `Prelude.hashWithSalt` sourceListenerPort+ `Prelude.hashWithSalt` streamId+ `Prelude.hashWithSalt` vpcInterfaceName+ `Prelude.hashWithSalt` whitelistCidr+ `Prelude.hashWithSalt` flowArn+ `Prelude.hashWithSalt` sourceArn++instance Prelude.NFData UpdateFlowSource where+ rnf UpdateFlowSource' {..} =+ Prelude.rnf decryption+ `Prelude.seq` Prelude.rnf description+ `Prelude.seq` Prelude.rnf entitlementArn+ `Prelude.seq` Prelude.rnf ingestPort+ `Prelude.seq` Prelude.rnf maxBitrate+ `Prelude.seq` Prelude.rnf maxLatency+ `Prelude.seq` Prelude.rnf maxSyncBuffer+ `Prelude.seq` Prelude.rnf mediaStreamSourceConfigurations+ `Prelude.seq` Prelude.rnf minLatency+ `Prelude.seq` Prelude.rnf protocol+ `Prelude.seq` Prelude.rnf senderControlPort+ `Prelude.seq` Prelude.rnf senderIpAddress+ `Prelude.seq` Prelude.rnf sourceListenerAddress+ `Prelude.seq` Prelude.rnf sourceListenerPort+ `Prelude.seq` Prelude.rnf streamId+ `Prelude.seq` Prelude.rnf vpcInterfaceName+ `Prelude.seq` Prelude.rnf whitelistCidr+ `Prelude.seq` Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf sourceArn++instance Data.ToHeaders UpdateFlowSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateFlowSource where+ toJSON UpdateFlowSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("decryption" Data..=) Prelude.<$> decryption,+ ("description" Data..=) Prelude.<$> description,+ ("entitlementArn" Data..=)+ Prelude.<$> entitlementArn,+ ("ingestPort" Data..=) Prelude.<$> ingestPort,+ ("maxBitrate" Data..=) Prelude.<$> maxBitrate,+ ("maxLatency" Data..=) Prelude.<$> maxLatency,+ ("maxSyncBuffer" Data..=) Prelude.<$> maxSyncBuffer,+ ("mediaStreamSourceConfigurations" Data..=)+ Prelude.<$> mediaStreamSourceConfigurations,+ ("minLatency" Data..=) Prelude.<$> minLatency,+ ("protocol" Data..=) Prelude.<$> protocol,+ ("senderControlPort" Data..=)+ Prelude.<$> senderControlPort,+ ("senderIpAddress" Data..=)+ Prelude.<$> senderIpAddress,+ ("sourceListenerAddress" Data..=)+ Prelude.<$> sourceListenerAddress,+ ("sourceListenerPort" Data..=)+ Prelude.<$> sourceListenerPort,+ ("streamId" Data..=) Prelude.<$> streamId,+ ("vpcInterfaceName" Data..=)+ Prelude.<$> vpcInterfaceName,+ ("whitelistCidr" Data..=) Prelude.<$> whitelistCidr+ ]+ )++instance Data.ToPath UpdateFlowSource where+ toPath UpdateFlowSource' {..} =+ Prelude.mconcat+ [ "/v1/flows/",+ Data.toBS flowArn,+ "/source/",+ Data.toBS sourceArn+ ]++instance Data.ToQuery UpdateFlowSource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateFlowSourceResponse' smart constructor.+data UpdateFlowSourceResponse = UpdateFlowSourceResponse'+ { -- | The ARN of the flow that you want to update.+ flowArn :: Prelude.Maybe Prelude.Text,+ -- | The settings for the source of the flow.+ source :: Prelude.Maybe Source,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateFlowSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'flowArn', 'updateFlowSourceResponse_flowArn' - The ARN of the flow that you want to update.+--+-- 'source', 'updateFlowSourceResponse_source' - The settings for the source of the flow.+--+-- 'httpStatus', 'updateFlowSourceResponse_httpStatus' - The response's http status code.+newUpdateFlowSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateFlowSourceResponse+newUpdateFlowSourceResponse pHttpStatus_ =+ UpdateFlowSourceResponse'+ { flowArn =+ Prelude.Nothing,+ source = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the flow that you want to update.+updateFlowSourceResponse_flowArn :: Lens.Lens' UpdateFlowSourceResponse (Prelude.Maybe Prelude.Text)+updateFlowSourceResponse_flowArn = Lens.lens (\UpdateFlowSourceResponse' {flowArn} -> flowArn) (\s@UpdateFlowSourceResponse' {} a -> s {flowArn = a} :: UpdateFlowSourceResponse)++-- | The settings for the source of the flow.+updateFlowSourceResponse_source :: Lens.Lens' UpdateFlowSourceResponse (Prelude.Maybe Source)+updateFlowSourceResponse_source = Lens.lens (\UpdateFlowSourceResponse' {source} -> source) (\s@UpdateFlowSourceResponse' {} a -> s {source = a} :: UpdateFlowSourceResponse)++-- | The response's http status code.+updateFlowSourceResponse_httpStatus :: Lens.Lens' UpdateFlowSourceResponse Prelude.Int+updateFlowSourceResponse_httpStatus = Lens.lens (\UpdateFlowSourceResponse' {httpStatus} -> httpStatus) (\s@UpdateFlowSourceResponse' {} a -> s {httpStatus = a} :: UpdateFlowSourceResponse)++instance Prelude.NFData UpdateFlowSourceResponse where+ rnf UpdateFlowSourceResponse' {..} =+ Prelude.rnf flowArn+ `Prelude.seq` Prelude.rnf source+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaConnect/Waiters.hs view
@@ -0,0 +1,137 @@+{-# 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.MediaConnect.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.MediaConnect.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaConnect.DescribeFlow+import Amazonka.MediaConnect.Lens+import Amazonka.MediaConnect.Types+import qualified Amazonka.Prelude as Prelude++-- | Polls 'Amazonka.MediaConnect.DescribeFlow' every 3 seconds until a successful state is reached. An error is returned after 40 failed checks.+newFlowActive :: Core.Wait DescribeFlow+newFlowActive =+ Core.Wait+ { Core.name = "FlowActive",+ Core.attempts = 40,+ Core.delay = 3,+ Core.acceptors =+ [ Core.matchAll+ "ACTIVE"+ Core.AcceptSuccess+ ( describeFlowResponse_flow+ Prelude.. Lens._Just+ Prelude.. flow_status+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "STARTING"+ Core.AcceptRetry+ ( describeFlowResponse_flow+ Prelude.. Lens._Just+ Prelude.. flow_status+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "UPDATING"+ Core.AcceptRetry+ ( describeFlowResponse_flow+ Prelude.. Lens._Just+ Prelude.. flow_status+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchStatus 500 Core.AcceptRetry,+ Core.matchStatus 503 Core.AcceptRetry,+ Core.matchAll+ "ERROR"+ Core.AcceptFailure+ ( describeFlowResponse_flow+ Prelude.. Lens._Just+ Prelude.. flow_status+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.MediaConnect.DescribeFlow' every 3 seconds until a successful state is reached. An error is returned after 40 failed checks.+newFlowDeleted :: Core.Wait DescribeFlow+newFlowDeleted =+ Core.Wait+ { Core.name = "FlowDeleted",+ Core.attempts = 40,+ Core.delay = 3,+ Core.acceptors =+ [ Core.matchStatus 404 Core.AcceptSuccess,+ Core.matchAll+ "DELETING"+ Core.AcceptRetry+ ( describeFlowResponse_flow+ Prelude.. Lens._Just+ Prelude.. flow_status+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchStatus 500 Core.AcceptRetry,+ Core.matchStatus 503 Core.AcceptRetry,+ Core.matchAll+ "ERROR"+ Core.AcceptFailure+ ( describeFlowResponse_flow+ Prelude.. Lens._Just+ Prelude.. flow_status+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }++-- | Polls 'Amazonka.MediaConnect.DescribeFlow' every 3 seconds until a successful state is reached. An error is returned after 40 failed checks.+newFlowStandby :: Core.Wait DescribeFlow+newFlowStandby =+ Core.Wait+ { Core.name = "FlowStandby",+ Core.attempts = 40,+ Core.delay = 3,+ Core.acceptors =+ [ Core.matchAll+ "STANDBY"+ Core.AcceptSuccess+ ( describeFlowResponse_flow+ Prelude.. Lens._Just+ Prelude.. flow_status+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchAll+ "STOPPING"+ Core.AcceptRetry+ ( describeFlowResponse_flow+ Prelude.. Lens._Just+ Prelude.. flow_status+ Prelude.. Lens.to Data.toTextCI+ ),+ Core.matchStatus 500 Core.AcceptRetry,+ Core.matchStatus 503 Core.AcceptRetry,+ Core.matchAll+ "ERROR"+ Core.AcceptFailure+ ( describeFlowResponse_flow+ Prelude.. Lens._Just+ Prelude.. flow_status+ Prelude.. Lens.to Data.toTextCI+ )+ ]+ }
+ 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.MediaConnect+import Test.Amazonka.MediaConnect.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "MediaConnect"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/MediaConnect.hs view
@@ -0,0 +1,638 @@+{-# 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.MediaConnect+-- 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.MediaConnect where++import Amazonka.MediaConnect+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.MediaConnect.Internal+import Test.Amazonka.Prelude+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+-- [ testGroup "request"+-- [ requestAddFlowMediaStreams $+-- newAddFlowMediaStreams+--+-- , requestAddFlowOutputs $+-- newAddFlowOutputs+--+-- , requestAddFlowSources $+-- newAddFlowSources+--+-- , requestAddFlowVpcInterfaces $+-- newAddFlowVpcInterfaces+--+-- , requestCreateFlow $+-- newCreateFlow+--+-- , requestDeleteFlow $+-- newDeleteFlow+--+-- , requestDescribeFlow $+-- newDescribeFlow+--+-- , requestDescribeOffering $+-- newDescribeOffering+--+-- , requestDescribeReservation $+-- newDescribeReservation+--+-- , requestGrantFlowEntitlements $+-- newGrantFlowEntitlements+--+-- , requestListEntitlements $+-- newListEntitlements+--+-- , requestListFlows $+-- newListFlows+--+-- , requestListOfferings $+-- newListOfferings+--+-- , requestListReservations $+-- newListReservations+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestPurchaseOffering $+-- newPurchaseOffering+--+-- , requestRemoveFlowMediaStream $+-- newRemoveFlowMediaStream+--+-- , requestRemoveFlowOutput $+-- newRemoveFlowOutput+--+-- , requestRemoveFlowSource $+-- newRemoveFlowSource+--+-- , requestRemoveFlowVpcInterface $+-- newRemoveFlowVpcInterface+--+-- , requestRevokeFlowEntitlement $+-- newRevokeFlowEntitlement+--+-- , requestStartFlow $+-- newStartFlow+--+-- , requestStopFlow $+-- newStopFlow+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateFlow $+-- newUpdateFlow+--+-- , requestUpdateFlowEntitlement $+-- newUpdateFlowEntitlement+--+-- , requestUpdateFlowMediaStream $+-- newUpdateFlowMediaStream+--+-- , requestUpdateFlowOutput $+-- newUpdateFlowOutput+--+-- , requestUpdateFlowSource $+-- newUpdateFlowSource+--+-- ]++-- , testGroup "response"+-- [ responseAddFlowMediaStreams $+-- newAddFlowMediaStreamsResponse+--+-- , responseAddFlowOutputs $+-- newAddFlowOutputsResponse+--+-- , responseAddFlowSources $+-- newAddFlowSourcesResponse+--+-- , responseAddFlowVpcInterfaces $+-- newAddFlowVpcInterfacesResponse+--+-- , responseCreateFlow $+-- newCreateFlowResponse+--+-- , responseDeleteFlow $+-- newDeleteFlowResponse+--+-- , responseDescribeFlow $+-- newDescribeFlowResponse+--+-- , responseDescribeOffering $+-- newDescribeOfferingResponse+--+-- , responseDescribeReservation $+-- newDescribeReservationResponse+--+-- , responseGrantFlowEntitlements $+-- newGrantFlowEntitlementsResponse+--+-- , responseListEntitlements $+-- newListEntitlementsResponse+--+-- , responseListFlows $+-- newListFlowsResponse+--+-- , responseListOfferings $+-- newListOfferingsResponse+--+-- , responseListReservations $+-- newListReservationsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responsePurchaseOffering $+-- newPurchaseOfferingResponse+--+-- , responseRemoveFlowMediaStream $+-- newRemoveFlowMediaStreamResponse+--+-- , responseRemoveFlowOutput $+-- newRemoveFlowOutputResponse+--+-- , responseRemoveFlowSource $+-- newRemoveFlowSourceResponse+--+-- , responseRemoveFlowVpcInterface $+-- newRemoveFlowVpcInterfaceResponse+--+-- , responseRevokeFlowEntitlement $+-- newRevokeFlowEntitlementResponse+--+-- , responseStartFlow $+-- newStartFlowResponse+--+-- , responseStopFlow $+-- newStopFlowResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateFlow $+-- newUpdateFlowResponse+--+-- , responseUpdateFlowEntitlement $+-- newUpdateFlowEntitlementResponse+--+-- , responseUpdateFlowMediaStream $+-- newUpdateFlowMediaStreamResponse+--+-- , responseUpdateFlowOutput $+-- newUpdateFlowOutputResponse+--+-- , responseUpdateFlowSource $+-- newUpdateFlowSourceResponse+--+-- ]+-- ]++-- Requests++requestAddFlowMediaStreams :: AddFlowMediaStreams -> TestTree+requestAddFlowMediaStreams =+ req+ "AddFlowMediaStreams"+ "fixture/AddFlowMediaStreams.yaml"++requestAddFlowOutputs :: AddFlowOutputs -> TestTree+requestAddFlowOutputs =+ req+ "AddFlowOutputs"+ "fixture/AddFlowOutputs.yaml"++requestAddFlowSources :: AddFlowSources -> TestTree+requestAddFlowSources =+ req+ "AddFlowSources"+ "fixture/AddFlowSources.yaml"++requestAddFlowVpcInterfaces :: AddFlowVpcInterfaces -> TestTree+requestAddFlowVpcInterfaces =+ req+ "AddFlowVpcInterfaces"+ "fixture/AddFlowVpcInterfaces.yaml"++requestCreateFlow :: CreateFlow -> TestTree+requestCreateFlow =+ req+ "CreateFlow"+ "fixture/CreateFlow.yaml"++requestDeleteFlow :: DeleteFlow -> TestTree+requestDeleteFlow =+ req+ "DeleteFlow"+ "fixture/DeleteFlow.yaml"++requestDescribeFlow :: DescribeFlow -> TestTree+requestDescribeFlow =+ req+ "DescribeFlow"+ "fixture/DescribeFlow.yaml"++requestDescribeOffering :: DescribeOffering -> TestTree+requestDescribeOffering =+ req+ "DescribeOffering"+ "fixture/DescribeOffering.yaml"++requestDescribeReservation :: DescribeReservation -> TestTree+requestDescribeReservation =+ req+ "DescribeReservation"+ "fixture/DescribeReservation.yaml"++requestGrantFlowEntitlements :: GrantFlowEntitlements -> TestTree+requestGrantFlowEntitlements =+ req+ "GrantFlowEntitlements"+ "fixture/GrantFlowEntitlements.yaml"++requestListEntitlements :: ListEntitlements -> TestTree+requestListEntitlements =+ req+ "ListEntitlements"+ "fixture/ListEntitlements.yaml"++requestListFlows :: ListFlows -> TestTree+requestListFlows =+ req+ "ListFlows"+ "fixture/ListFlows.yaml"++requestListOfferings :: ListOfferings -> TestTree+requestListOfferings =+ req+ "ListOfferings"+ "fixture/ListOfferings.yaml"++requestListReservations :: ListReservations -> TestTree+requestListReservations =+ req+ "ListReservations"+ "fixture/ListReservations.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestPurchaseOffering :: PurchaseOffering -> TestTree+requestPurchaseOffering =+ req+ "PurchaseOffering"+ "fixture/PurchaseOffering.yaml"++requestRemoveFlowMediaStream :: RemoveFlowMediaStream -> TestTree+requestRemoveFlowMediaStream =+ req+ "RemoveFlowMediaStream"+ "fixture/RemoveFlowMediaStream.yaml"++requestRemoveFlowOutput :: RemoveFlowOutput -> TestTree+requestRemoveFlowOutput =+ req+ "RemoveFlowOutput"+ "fixture/RemoveFlowOutput.yaml"++requestRemoveFlowSource :: RemoveFlowSource -> TestTree+requestRemoveFlowSource =+ req+ "RemoveFlowSource"+ "fixture/RemoveFlowSource.yaml"++requestRemoveFlowVpcInterface :: RemoveFlowVpcInterface -> TestTree+requestRemoveFlowVpcInterface =+ req+ "RemoveFlowVpcInterface"+ "fixture/RemoveFlowVpcInterface.yaml"++requestRevokeFlowEntitlement :: RevokeFlowEntitlement -> TestTree+requestRevokeFlowEntitlement =+ req+ "RevokeFlowEntitlement"+ "fixture/RevokeFlowEntitlement.yaml"++requestStartFlow :: StartFlow -> TestTree+requestStartFlow =+ req+ "StartFlow"+ "fixture/StartFlow.yaml"++requestStopFlow :: StopFlow -> TestTree+requestStopFlow =+ req+ "StopFlow"+ "fixture/StopFlow.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateFlow :: UpdateFlow -> TestTree+requestUpdateFlow =+ req+ "UpdateFlow"+ "fixture/UpdateFlow.yaml"++requestUpdateFlowEntitlement :: UpdateFlowEntitlement -> TestTree+requestUpdateFlowEntitlement =+ req+ "UpdateFlowEntitlement"+ "fixture/UpdateFlowEntitlement.yaml"++requestUpdateFlowMediaStream :: UpdateFlowMediaStream -> TestTree+requestUpdateFlowMediaStream =+ req+ "UpdateFlowMediaStream"+ "fixture/UpdateFlowMediaStream.yaml"++requestUpdateFlowOutput :: UpdateFlowOutput -> TestTree+requestUpdateFlowOutput =+ req+ "UpdateFlowOutput"+ "fixture/UpdateFlowOutput.yaml"++requestUpdateFlowSource :: UpdateFlowSource -> TestTree+requestUpdateFlowSource =+ req+ "UpdateFlowSource"+ "fixture/UpdateFlowSource.yaml"++-- Responses++responseAddFlowMediaStreams :: AddFlowMediaStreamsResponse -> TestTree+responseAddFlowMediaStreams =+ res+ "AddFlowMediaStreamsResponse"+ "fixture/AddFlowMediaStreamsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AddFlowMediaStreams)++responseAddFlowOutputs :: AddFlowOutputsResponse -> TestTree+responseAddFlowOutputs =+ res+ "AddFlowOutputsResponse"+ "fixture/AddFlowOutputsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AddFlowOutputs)++responseAddFlowSources :: AddFlowSourcesResponse -> TestTree+responseAddFlowSources =+ res+ "AddFlowSourcesResponse"+ "fixture/AddFlowSourcesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AddFlowSources)++responseAddFlowVpcInterfaces :: AddFlowVpcInterfacesResponse -> TestTree+responseAddFlowVpcInterfaces =+ res+ "AddFlowVpcInterfacesResponse"+ "fixture/AddFlowVpcInterfacesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy AddFlowVpcInterfaces)++responseCreateFlow :: CreateFlowResponse -> TestTree+responseCreateFlow =+ res+ "CreateFlowResponse"+ "fixture/CreateFlowResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateFlow)++responseDeleteFlow :: DeleteFlowResponse -> TestTree+responseDeleteFlow =+ res+ "DeleteFlowResponse"+ "fixture/DeleteFlowResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteFlow)++responseDescribeFlow :: DescribeFlowResponse -> TestTree+responseDescribeFlow =+ res+ "DescribeFlowResponse"+ "fixture/DescribeFlowResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeFlow)++responseDescribeOffering :: DescribeOfferingResponse -> TestTree+responseDescribeOffering =+ res+ "DescribeOfferingResponse"+ "fixture/DescribeOfferingResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeOffering)++responseDescribeReservation :: DescribeReservationResponse -> TestTree+responseDescribeReservation =+ res+ "DescribeReservationResponse"+ "fixture/DescribeReservationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeReservation)++responseGrantFlowEntitlements :: GrantFlowEntitlementsResponse -> TestTree+responseGrantFlowEntitlements =+ res+ "GrantFlowEntitlementsResponse"+ "fixture/GrantFlowEntitlementsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GrantFlowEntitlements)++responseListEntitlements :: ListEntitlementsResponse -> TestTree+responseListEntitlements =+ res+ "ListEntitlementsResponse"+ "fixture/ListEntitlementsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListEntitlements)++responseListFlows :: ListFlowsResponse -> TestTree+responseListFlows =+ res+ "ListFlowsResponse"+ "fixture/ListFlowsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListFlows)++responseListOfferings :: ListOfferingsResponse -> TestTree+responseListOfferings =+ res+ "ListOfferingsResponse"+ "fixture/ListOfferingsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListOfferings)++responseListReservations :: ListReservationsResponse -> TestTree+responseListReservations =+ res+ "ListReservationsResponse"+ "fixture/ListReservationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListReservations)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responsePurchaseOffering :: PurchaseOfferingResponse -> TestTree+responsePurchaseOffering =+ res+ "PurchaseOfferingResponse"+ "fixture/PurchaseOfferingResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PurchaseOffering)++responseRemoveFlowMediaStream :: RemoveFlowMediaStreamResponse -> TestTree+responseRemoveFlowMediaStream =+ res+ "RemoveFlowMediaStreamResponse"+ "fixture/RemoveFlowMediaStreamResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy RemoveFlowMediaStream)++responseRemoveFlowOutput :: RemoveFlowOutputResponse -> TestTree+responseRemoveFlowOutput =+ res+ "RemoveFlowOutputResponse"+ "fixture/RemoveFlowOutputResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy RemoveFlowOutput)++responseRemoveFlowSource :: RemoveFlowSourceResponse -> TestTree+responseRemoveFlowSource =+ res+ "RemoveFlowSourceResponse"+ "fixture/RemoveFlowSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy RemoveFlowSource)++responseRemoveFlowVpcInterface :: RemoveFlowVpcInterfaceResponse -> TestTree+responseRemoveFlowVpcInterface =+ res+ "RemoveFlowVpcInterfaceResponse"+ "fixture/RemoveFlowVpcInterfaceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy RemoveFlowVpcInterface)++responseRevokeFlowEntitlement :: RevokeFlowEntitlementResponse -> TestTree+responseRevokeFlowEntitlement =+ res+ "RevokeFlowEntitlementResponse"+ "fixture/RevokeFlowEntitlementResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy RevokeFlowEntitlement)++responseStartFlow :: StartFlowResponse -> TestTree+responseStartFlow =+ res+ "StartFlowResponse"+ "fixture/StartFlowResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartFlow)++responseStopFlow :: StopFlowResponse -> TestTree+responseStopFlow =+ res+ "StopFlowResponse"+ "fixture/StopFlowResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StopFlow)++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)++responseUpdateFlow :: UpdateFlowResponse -> TestTree+responseUpdateFlow =+ res+ "UpdateFlowResponse"+ "fixture/UpdateFlowResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFlow)++responseUpdateFlowEntitlement :: UpdateFlowEntitlementResponse -> TestTree+responseUpdateFlowEntitlement =+ res+ "UpdateFlowEntitlementResponse"+ "fixture/UpdateFlowEntitlementResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFlowEntitlement)++responseUpdateFlowMediaStream :: UpdateFlowMediaStreamResponse -> TestTree+responseUpdateFlowMediaStream =+ res+ "UpdateFlowMediaStreamResponse"+ "fixture/UpdateFlowMediaStreamResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFlowMediaStream)++responseUpdateFlowOutput :: UpdateFlowOutputResponse -> TestTree+responseUpdateFlowOutput =+ res+ "UpdateFlowOutputResponse"+ "fixture/UpdateFlowOutputResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFlowOutput)++responseUpdateFlowSource :: UpdateFlowSourceResponse -> TestTree+responseUpdateFlowSource =+ res+ "UpdateFlowSourceResponse"+ "fixture/UpdateFlowSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateFlowSource)
+ test/Test/Amazonka/MediaConnect.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.MediaConnect+-- 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.MediaConnect+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/MediaConnect/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.MediaConnect.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.MediaConnect.Internal where