amazonka-mediatailor (empty) → 2.0
raw patch · 188 files changed
+21196/−0 lines, 188 filesdep +amazonka-coredep +amazonka-mediatailordep +amazonka-test
Dependencies added: amazonka-core, amazonka-mediatailor, amazonka-test, base, bytestring, case-insensitive, tasty, tasty-hunit, text, time, unordered-containers
Files
- LICENSE +367/−0
- README.md +44/−0
- amazonka-mediatailor.cabal +175/−0
- fixture/ConfigureLogsForPlaybackConfiguration.yaml +10/−0
- fixture/ConfigureLogsForPlaybackConfigurationResponse.proto +0/−0
- fixture/CreateChannel.yaml +10/−0
- fixture/CreateChannelResponse.proto +0/−0
- fixture/CreateLiveSource.yaml +10/−0
- fixture/CreateLiveSourceResponse.proto +0/−0
- fixture/CreatePrefetchSchedule.yaml +10/−0
- fixture/CreatePrefetchScheduleResponse.proto +0/−0
- fixture/CreateProgram.yaml +10/−0
- fixture/CreateProgramResponse.proto +0/−0
- fixture/CreateSourceLocation.yaml +10/−0
- fixture/CreateSourceLocationResponse.proto +0/−0
- fixture/CreateVodSource.yaml +10/−0
- fixture/CreateVodSourceResponse.proto +0/−0
- fixture/DeleteChannel.yaml +10/−0
- fixture/DeleteChannelPolicy.yaml +10/−0
- fixture/DeleteChannelPolicyResponse.proto +0/−0
- fixture/DeleteChannelResponse.proto +0/−0
- fixture/DeleteLiveSource.yaml +10/−0
- fixture/DeleteLiveSourceResponse.proto +0/−0
- fixture/DeletePlaybackConfiguration.yaml +10/−0
- fixture/DeletePlaybackConfigurationResponse.proto +0/−0
- fixture/DeletePrefetchSchedule.yaml +10/−0
- fixture/DeletePrefetchScheduleResponse.proto +0/−0
- fixture/DeleteProgram.yaml +10/−0
- fixture/DeleteProgramResponse.proto +0/−0
- fixture/DeleteSourceLocation.yaml +10/−0
- fixture/DeleteSourceLocationResponse.proto +0/−0
- fixture/DeleteVodSource.yaml +10/−0
- fixture/DeleteVodSourceResponse.proto +0/−0
- fixture/DescribeChannel.yaml +10/−0
- fixture/DescribeChannelResponse.proto +0/−0
- fixture/DescribeLiveSource.yaml +10/−0
- fixture/DescribeLiveSourceResponse.proto +0/−0
- fixture/DescribeProgram.yaml +10/−0
- fixture/DescribeProgramResponse.proto +0/−0
- fixture/DescribeSourceLocation.yaml +10/−0
- fixture/DescribeSourceLocationResponse.proto +0/−0
- fixture/DescribeVodSource.yaml +10/−0
- fixture/DescribeVodSourceResponse.proto +0/−0
- fixture/GetChannelPolicy.yaml +10/−0
- fixture/GetChannelPolicyResponse.proto +0/−0
- fixture/GetChannelSchedule.yaml +10/−0
- fixture/GetChannelScheduleResponse.proto +0/−0
- fixture/GetPlaybackConfiguration.yaml +10/−0
- fixture/GetPlaybackConfigurationResponse.proto +0/−0
- fixture/GetPrefetchSchedule.yaml +10/−0
- fixture/GetPrefetchScheduleResponse.proto +0/−0
- fixture/ListAlerts.yaml +10/−0
- fixture/ListAlertsResponse.proto +0/−0
- fixture/ListChannels.yaml +10/−0
- fixture/ListChannelsResponse.proto +0/−0
- fixture/ListLiveSources.yaml +10/−0
- fixture/ListLiveSourcesResponse.proto +0/−0
- fixture/ListPlaybackConfigurations.yaml +10/−0
- fixture/ListPlaybackConfigurationsResponse.proto +0/−0
- fixture/ListPrefetchSchedules.yaml +10/−0
- fixture/ListPrefetchSchedulesResponse.proto +0/−0
- fixture/ListSourceLocations.yaml +10/−0
- fixture/ListSourceLocationsResponse.proto +0/−0
- fixture/ListTagsForResource.yaml +10/−0
- fixture/ListTagsForResourceResponse.proto +0/−0
- fixture/ListVodSources.yaml +10/−0
- fixture/ListVodSourcesResponse.proto +0/−0
- fixture/PutChannelPolicy.yaml +10/−0
- fixture/PutChannelPolicyResponse.proto +0/−0
- fixture/PutPlaybackConfiguration.yaml +10/−0
- fixture/PutPlaybackConfigurationResponse.proto +0/−0
- fixture/StartChannel.yaml +10/−0
- fixture/StartChannelResponse.proto +0/−0
- fixture/StopChannel.yaml +10/−0
- fixture/StopChannelResponse.proto +0/−0
- fixture/TagResource.yaml +10/−0
- fixture/TagResourceResponse.proto +0/−0
- fixture/UntagResource.yaml +10/−0
- fixture/UntagResourceResponse.proto +0/−0
- fixture/UpdateChannel.yaml +10/−0
- fixture/UpdateChannelResponse.proto +0/−0
- fixture/UpdateLiveSource.yaml +10/−0
- fixture/UpdateLiveSourceResponse.proto +0/−0
- fixture/UpdateSourceLocation.yaml +10/−0
- fixture/UpdateSourceLocationResponse.proto +0/−0
- fixture/UpdateVodSource.yaml +10/−0
- fixture/UpdateVodSourceResponse.proto +0/−0
- gen/Amazonka/MediaTailor.hs +558/−0
- gen/Amazonka/MediaTailor/ConfigureLogsForPlaybackConfiguration.hs +268/−0
- gen/Amazonka/MediaTailor/CreateChannel.hs +397/−0
- gen/Amazonka/MediaTailor/CreateLiveSource.hs +311/−0
- gen/Amazonka/MediaTailor/CreatePrefetchSchedule.hs +370/−0
- gen/Amazonka/MediaTailor/CreateProgram.hs +363/−0
- gen/Amazonka/MediaTailor/CreateSourceLocation.hs +382/−0
- gen/Amazonka/MediaTailor/CreateVodSource.hs +311/−0
- gen/Amazonka/MediaTailor/DeleteChannel.hs +146/−0
- gen/Amazonka/MediaTailor/DeleteChannelPolicy.hs +148/−0
- gen/Amazonka/MediaTailor/DeleteLiveSource.hs +172/−0
- gen/Amazonka/MediaTailor/DeletePlaybackConfiguration.hs +153/−0
- gen/Amazonka/MediaTailor/DeletePrefetchSchedule.hs +183/−0
- gen/Amazonka/MediaTailor/DeleteProgram.hs +168/−0
- gen/Amazonka/MediaTailor/DeleteSourceLocation.hs +154/−0
- gen/Amazonka/MediaTailor/DeleteVodSource.hs +169/−0
- gen/Amazonka/MediaTailor/DescribeChannel.hs +280/−0
- gen/Amazonka/MediaTailor/DescribeLiveSource.hs +267/−0
- gen/Amazonka/MediaTailor/DescribeProgram.hs +286/−0
- gen/Amazonka/MediaTailor/DescribeSourceLocation.hs +282/−0
- gen/Amazonka/MediaTailor/DescribeVodSource.hs +268/−0
- gen/Amazonka/MediaTailor/GetChannelPolicy.hs +162/−0
- gen/Amazonka/MediaTailor/GetChannelSchedule.hs +286/−0
- gen/Amazonka/MediaTailor/GetPlaybackConfiguration.hs +503/−0
- gen/Amazonka/MediaTailor/GetPrefetchSchedule.hs +287/−0
- gen/Amazonka/MediaTailor/Lens.hs +762/−0
- gen/Amazonka/MediaTailor/ListAlerts.hs +239/−0
- gen/Amazonka/MediaTailor/ListChannels.hs +224/−0
- gen/Amazonka/MediaTailor/ListLiveSources.hs +245/−0
- gen/Amazonka/MediaTailor/ListPlaybackConfigurations.hs +238/−0
- gen/Amazonka/MediaTailor/ListPrefetchSchedules.hs +303/−0
- gen/Amazonka/MediaTailor/ListSourceLocations.hs +227/−0
- gen/Amazonka/MediaTailor/ListTagsForResource.hs +172/−0
- gen/Amazonka/MediaTailor/ListVodSources.hs +245/−0
- gen/Amazonka/MediaTailor/PutChannelPolicy.hs +173/−0
- gen/Amazonka/MediaTailor/PutPlaybackConfiguration.hs +801/−0
- gen/Amazonka/MediaTailor/StartChannel.hs +147/−0
- gen/Amazonka/MediaTailor/StopChannel.hs +146/−0
- gen/Amazonka/MediaTailor/TagResource.hs +154/−0
- gen/Amazonka/MediaTailor/Types.hs +499/−0
- gen/Amazonka/MediaTailor/Types/AccessConfiguration.hs +171/−0
- gen/Amazonka/MediaTailor/Types/AccessType.hs +71/−0
- gen/Amazonka/MediaTailor/Types/AdBreak.hs +174/−0
- gen/Amazonka/MediaTailor/Types/AdMarkerPassthrough.hs +81/−0
- gen/Amazonka/MediaTailor/Types/Alert.hs +139/−0
- gen/Amazonka/MediaTailor/Types/AvailMatchingCriteria.hs +141/−0
- gen/Amazonka/MediaTailor/Types/AvailSuppression.hs +131/−0
- gen/Amazonka/MediaTailor/Types/Bumper.hs +96/−0
- gen/Amazonka/MediaTailor/Types/CdnConfiguration.hs +130/−0
- gen/Amazonka/MediaTailor/Types/Channel.hs +239/−0
- gen/Amazonka/MediaTailor/Types/ChannelState.hs +71/−0
- gen/Amazonka/MediaTailor/Types/DashConfiguration.hs +137/−0
- gen/Amazonka/MediaTailor/Types/DashConfigurationForPut.hs +119/−0
- gen/Amazonka/MediaTailor/Types/DashPlaylistSettings.hs +145/−0
- gen/Amazonka/MediaTailor/Types/DefaultSegmentDeliveryConfiguration.hs +102/−0
- gen/Amazonka/MediaTailor/Types/HlsConfiguration.hs +75/−0
- gen/Amazonka/MediaTailor/Types/HlsPlaylistSettings.hs +84/−0
- gen/Amazonka/MediaTailor/Types/HttpConfiguration.hs +79/−0
- gen/Amazonka/MediaTailor/Types/HttpPackageConfiguration.hs +125/−0
- gen/Amazonka/MediaTailor/Types/LivePreRollConfiguration.hs +117/−0
- gen/Amazonka/MediaTailor/Types/LiveSource.hs +166/−0
- gen/Amazonka/MediaTailor/Types/LogConfiguration.hs +98/−0
- gen/Amazonka/MediaTailor/Types/ManifestProcessingRules.hs +102/−0
- gen/Amazonka/MediaTailor/Types/MessageType.hs +71/−0
- gen/Amazonka/MediaTailor/Types/Mode.hs +68/−0
- gen/Amazonka/MediaTailor/Types/Operator.hs +66/−0
- gen/Amazonka/MediaTailor/Types/OriginManifestType.hs +71/−0
- gen/Amazonka/MediaTailor/Types/PlaybackConfiguration.hs +419/−0
- gen/Amazonka/MediaTailor/Types/PlaybackMode.hs +71/−0
- gen/Amazonka/MediaTailor/Types/PrefetchConsumption.hs +136/−0
- gen/Amazonka/MediaTailor/Types/PrefetchRetrieval.hs +148/−0
- gen/Amazonka/MediaTailor/Types/PrefetchSchedule.hs +181/−0
- gen/Amazonka/MediaTailor/Types/RelativePosition.hs +71/−0
- gen/Amazonka/MediaTailor/Types/RequestOutputItem.hs +122/−0
- gen/Amazonka/MediaTailor/Types/ResponseOutputItem.hs +138/−0
- gen/Amazonka/MediaTailor/Types/ScheduleAdBreak.hs +112/−0
- gen/Amazonka/MediaTailor/Types/ScheduleConfiguration.hs +71/−0
- gen/Amazonka/MediaTailor/Types/ScheduleEntry.hs +198/−0
- gen/Amazonka/MediaTailor/Types/ScheduleEntryType.hs +71/−0
- gen/Amazonka/MediaTailor/Types/SecretsManagerAccessTokenConfiguration.hs +139/−0
- gen/Amazonka/MediaTailor/Types/SegmentDeliveryConfiguration.hs +114/−0
- gen/Amazonka/MediaTailor/Types/SegmentationDescriptor.hs +263/−0
- gen/Amazonka/MediaTailor/Types/SlateSource.hs +97/−0
- gen/Amazonka/MediaTailor/Types/SourceLocation.hs +198/−0
- gen/Amazonka/MediaTailor/Types/SpliceInsertMessage.hs +142/−0
- gen/Amazonka/MediaTailor/Types/Tier.hs +68/−0
- gen/Amazonka/MediaTailor/Types/TimeSignalMessage.hs +99/−0
- gen/Amazonka/MediaTailor/Types/Transition.hs +185/−0
- gen/Amazonka/MediaTailor/Types/Type.hs +68/−0
- gen/Amazonka/MediaTailor/Types/VodSource.hs +166/−0
- gen/Amazonka/MediaTailor/UntagResource.hs +140/−0
- gen/Amazonka/MediaTailor/UpdateChannel.hs +350/−0
- gen/Amazonka/MediaTailor/UpdateLiveSource.hs +296/−0
- gen/Amazonka/MediaTailor/UpdateSourceLocation.hs +360/−0
- gen/Amazonka/MediaTailor/UpdateVodSource.hs +296/−0
- gen/Amazonka/MediaTailor/Waiters.hs +24/−0
- src/.gitkeep +0/−0
- test/Main.hs +23/−0
- test/Test/Amazonka/Gen/MediaTailor.hs +878/−0
- test/Test/Amazonka/MediaTailor.hs +20/−0
- test/Test/Amazonka/MediaTailor/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 MediaTailor SDK++* [Version](#version)+* [Description](#description)+* [Contribute](#contribute)+* [Licence](#licence)+++## Version+ +`2.0` - Derived from API version @2018-04-23@ of the AWS service descriptions, licensed under Apache 2.0.++## Description++Documentation is available via [Hackage](http://hackage.haskell.org/package/amazonka-mediatailor)+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.MediaTailor](http://hackage.haskell.org/package/amazonka-mediatailor/docs/Amazonka-MediaTailor.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-mediatailor` 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-mediatailor.cabal view
@@ -0,0 +1,175 @@+cabal-version: 2.2+name: amazonka-mediatailor+version: 2.0+synopsis: Amazon MediaTailor 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-04-23@ 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.MediaTailor.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.MediaTailor" 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-mediatailor++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.MediaTailor+ Amazonka.MediaTailor.ConfigureLogsForPlaybackConfiguration+ Amazonka.MediaTailor.CreateChannel+ Amazonka.MediaTailor.CreateLiveSource+ Amazonka.MediaTailor.CreatePrefetchSchedule+ Amazonka.MediaTailor.CreateProgram+ Amazonka.MediaTailor.CreateSourceLocation+ Amazonka.MediaTailor.CreateVodSource+ Amazonka.MediaTailor.DeleteChannel+ Amazonka.MediaTailor.DeleteChannelPolicy+ Amazonka.MediaTailor.DeleteLiveSource+ Amazonka.MediaTailor.DeletePlaybackConfiguration+ Amazonka.MediaTailor.DeletePrefetchSchedule+ Amazonka.MediaTailor.DeleteProgram+ Amazonka.MediaTailor.DeleteSourceLocation+ Amazonka.MediaTailor.DeleteVodSource+ Amazonka.MediaTailor.DescribeChannel+ Amazonka.MediaTailor.DescribeLiveSource+ Amazonka.MediaTailor.DescribeProgram+ Amazonka.MediaTailor.DescribeSourceLocation+ Amazonka.MediaTailor.DescribeVodSource+ Amazonka.MediaTailor.GetChannelPolicy+ Amazonka.MediaTailor.GetChannelSchedule+ Amazonka.MediaTailor.GetPlaybackConfiguration+ Amazonka.MediaTailor.GetPrefetchSchedule+ Amazonka.MediaTailor.Lens+ Amazonka.MediaTailor.ListAlerts+ Amazonka.MediaTailor.ListChannels+ Amazonka.MediaTailor.ListLiveSources+ Amazonka.MediaTailor.ListPlaybackConfigurations+ Amazonka.MediaTailor.ListPrefetchSchedules+ Amazonka.MediaTailor.ListSourceLocations+ Amazonka.MediaTailor.ListTagsForResource+ Amazonka.MediaTailor.ListVodSources+ Amazonka.MediaTailor.PutChannelPolicy+ Amazonka.MediaTailor.PutPlaybackConfiguration+ Amazonka.MediaTailor.StartChannel+ Amazonka.MediaTailor.StopChannel+ Amazonka.MediaTailor.TagResource+ Amazonka.MediaTailor.Types+ Amazonka.MediaTailor.Types.AccessConfiguration+ Amazonka.MediaTailor.Types.AccessType+ Amazonka.MediaTailor.Types.AdBreak+ Amazonka.MediaTailor.Types.AdMarkerPassthrough+ Amazonka.MediaTailor.Types.Alert+ Amazonka.MediaTailor.Types.AvailMatchingCriteria+ Amazonka.MediaTailor.Types.AvailSuppression+ Amazonka.MediaTailor.Types.Bumper+ Amazonka.MediaTailor.Types.CdnConfiguration+ Amazonka.MediaTailor.Types.Channel+ Amazonka.MediaTailor.Types.ChannelState+ Amazonka.MediaTailor.Types.DashConfiguration+ Amazonka.MediaTailor.Types.DashConfigurationForPut+ Amazonka.MediaTailor.Types.DashPlaylistSettings+ Amazonka.MediaTailor.Types.DefaultSegmentDeliveryConfiguration+ Amazonka.MediaTailor.Types.HlsConfiguration+ Amazonka.MediaTailor.Types.HlsPlaylistSettings+ Amazonka.MediaTailor.Types.HttpConfiguration+ Amazonka.MediaTailor.Types.HttpPackageConfiguration+ Amazonka.MediaTailor.Types.LivePreRollConfiguration+ Amazonka.MediaTailor.Types.LiveSource+ Amazonka.MediaTailor.Types.LogConfiguration+ Amazonka.MediaTailor.Types.ManifestProcessingRules+ Amazonka.MediaTailor.Types.MessageType+ Amazonka.MediaTailor.Types.Mode+ Amazonka.MediaTailor.Types.Operator+ Amazonka.MediaTailor.Types.OriginManifestType+ Amazonka.MediaTailor.Types.PlaybackConfiguration+ Amazonka.MediaTailor.Types.PlaybackMode+ Amazonka.MediaTailor.Types.PrefetchConsumption+ Amazonka.MediaTailor.Types.PrefetchRetrieval+ Amazonka.MediaTailor.Types.PrefetchSchedule+ Amazonka.MediaTailor.Types.RelativePosition+ Amazonka.MediaTailor.Types.RequestOutputItem+ Amazonka.MediaTailor.Types.ResponseOutputItem+ Amazonka.MediaTailor.Types.ScheduleAdBreak+ Amazonka.MediaTailor.Types.ScheduleConfiguration+ Amazonka.MediaTailor.Types.ScheduleEntry+ Amazonka.MediaTailor.Types.ScheduleEntryType+ Amazonka.MediaTailor.Types.SecretsManagerAccessTokenConfiguration+ Amazonka.MediaTailor.Types.SegmentationDescriptor+ Amazonka.MediaTailor.Types.SegmentDeliveryConfiguration+ Amazonka.MediaTailor.Types.SlateSource+ Amazonka.MediaTailor.Types.SourceLocation+ Amazonka.MediaTailor.Types.SpliceInsertMessage+ Amazonka.MediaTailor.Types.Tier+ Amazonka.MediaTailor.Types.TimeSignalMessage+ Amazonka.MediaTailor.Types.Transition+ Amazonka.MediaTailor.Types.Type+ Amazonka.MediaTailor.Types.VodSource+ Amazonka.MediaTailor.UntagResource+ Amazonka.MediaTailor.UpdateChannel+ Amazonka.MediaTailor.UpdateLiveSource+ Amazonka.MediaTailor.UpdateSourceLocation+ Amazonka.MediaTailor.UpdateVodSource+ Amazonka.MediaTailor.Waiters++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , base >=4.12 && <5++test-suite amazonka-mediatailor-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.MediaTailor+ Test.Amazonka.MediaTailor+ Test.Amazonka.MediaTailor.Internal++ build-depends:+ , amazonka-core >=2.0 && <2.1+ , amazonka-mediatailor+ , amazonka-test >=2.0 && <2.1+ , base+ , bytestring+ , case-insensitive+ , tasty+ , tasty-hunit+ , text+ , time+ , unordered-containers
+ fixture/ConfigureLogsForPlaybackConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/ConfigureLogsForPlaybackConfigurationResponse.proto view
+ fixture/CreateChannel.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/CreateChannelResponse.proto view
+ fixture/CreateLiveSource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/CreateLiveSourceResponse.proto view
+ fixture/CreatePrefetchSchedule.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/CreatePrefetchScheduleResponse.proto view
+ fixture/CreateProgram.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/CreateProgramResponse.proto view
+ fixture/CreateSourceLocation.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/CreateSourceLocationResponse.proto view
+ fixture/CreateVodSource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/CreateVodSourceResponse.proto view
+ fixture/DeleteChannel.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/DeleteChannelPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/DeleteChannelPolicyResponse.proto view
+ fixture/DeleteChannelResponse.proto view
+ fixture/DeleteLiveSource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/DeleteLiveSourceResponse.proto view
+ fixture/DeletePlaybackConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/DeletePlaybackConfigurationResponse.proto view
+ fixture/DeletePrefetchSchedule.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/DeletePrefetchScheduleResponse.proto view
+ fixture/DeleteProgram.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/DeleteProgramResponse.proto view
+ fixture/DeleteSourceLocation.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/DeleteSourceLocationResponse.proto view
+ fixture/DeleteVodSource.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/DeleteVodSourceResponse.proto view
+ fixture/DescribeChannel.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/DescribeChannelResponse.proto view
+ fixture/DescribeLiveSource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/DescribeLiveSourceResponse.proto view
+ fixture/DescribeProgram.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/DescribeProgramResponse.proto view
+ fixture/DescribeSourceLocation.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/DescribeSourceLocationResponse.proto view
+ fixture/DescribeVodSource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/DescribeVodSourceResponse.proto view
+ fixture/GetChannelPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/GetChannelPolicyResponse.proto view
+ fixture/GetChannelSchedule.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/GetChannelScheduleResponse.proto view
+ fixture/GetPlaybackConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/GetPlaybackConfigurationResponse.proto view
+ fixture/GetPrefetchSchedule.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/GetPrefetchScheduleResponse.proto view
+ fixture/ListAlerts.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/ListAlertsResponse.proto view
+ fixture/ListChannels.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/ListChannelsResponse.proto view
+ fixture/ListLiveSources.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/ListLiveSourcesResponse.proto view
+ fixture/ListPlaybackConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/ListPlaybackConfigurationsResponse.proto view
+ fixture/ListPrefetchSchedules.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/ListPrefetchSchedulesResponse.proto view
+ fixture/ListSourceLocations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/ListSourceLocationsResponse.proto view
+ fixture/ListTagsForResource.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/ListVodSources.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/ListVodSourcesResponse.proto view
+ fixture/PutChannelPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/PutChannelPolicyResponse.proto view
+ fixture/PutPlaybackConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/PutPlaybackConfigurationResponse.proto view
+ fixture/StartChannel.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/StartChannelResponse.proto view
+ fixture/StopChannel.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/StopChannelResponse.proto view
+ fixture/TagResource.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/UpdateChannel.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/UpdateChannelResponse.proto view
+ fixture/UpdateLiveSource.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/UpdateLiveSourceResponse.proto view
+ fixture/UpdateSourceLocation.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/UpdateSourceLocationResponse.proto view
+ fixture/UpdateVodSource.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+ Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/api.mediatailor/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+ Host: api.mediatailor.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/UpdateVodSourceResponse.proto view
+ gen/Amazonka/MediaTailor.hs view
@@ -0,0 +1,558 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Amazonka.MediaTailor+-- 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-04-23@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Use the AWS Elemental MediaTailor SDKs and CLI to configure scalable ad+-- insertion and linear channels. With MediaTailor, you can assemble+-- existing content into a linear stream and serve targeted ads to viewers+-- while maintaining broadcast quality in over-the-top (OTT) video+-- applications. For information about using the service, including+-- detailed information about the settings covered in this guide, see the+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ AWS Elemental MediaTailor User Guide>.+--+-- Through the SDKs and the CLI you manage AWS Elemental MediaTailor+-- configurations and channels the same as you do through the console. For+-- example, you specify ad insertion behavior and mapping information for+-- the origin server and the ad decision server (ADS).+module Amazonka.MediaTailor+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ -- $errors++ -- ** BadRequestException+ _BadRequestException,++ -- * Waiters+ -- $waiters++ -- * Operations+ -- $operations++ -- ** ConfigureLogsForPlaybackConfiguration+ ConfigureLogsForPlaybackConfiguration (ConfigureLogsForPlaybackConfiguration'),+ newConfigureLogsForPlaybackConfiguration,+ ConfigureLogsForPlaybackConfigurationResponse (ConfigureLogsForPlaybackConfigurationResponse'),+ newConfigureLogsForPlaybackConfigurationResponse,++ -- ** CreateChannel+ CreateChannel (CreateChannel'),+ newCreateChannel,+ CreateChannelResponse (CreateChannelResponse'),+ newCreateChannelResponse,++ -- ** CreateLiveSource+ CreateLiveSource (CreateLiveSource'),+ newCreateLiveSource,+ CreateLiveSourceResponse (CreateLiveSourceResponse'),+ newCreateLiveSourceResponse,++ -- ** CreatePrefetchSchedule+ CreatePrefetchSchedule (CreatePrefetchSchedule'),+ newCreatePrefetchSchedule,+ CreatePrefetchScheduleResponse (CreatePrefetchScheduleResponse'),+ newCreatePrefetchScheduleResponse,++ -- ** CreateProgram+ CreateProgram (CreateProgram'),+ newCreateProgram,+ CreateProgramResponse (CreateProgramResponse'),+ newCreateProgramResponse,++ -- ** CreateSourceLocation+ CreateSourceLocation (CreateSourceLocation'),+ newCreateSourceLocation,+ CreateSourceLocationResponse (CreateSourceLocationResponse'),+ newCreateSourceLocationResponse,++ -- ** CreateVodSource+ CreateVodSource (CreateVodSource'),+ newCreateVodSource,+ CreateVodSourceResponse (CreateVodSourceResponse'),+ newCreateVodSourceResponse,++ -- ** DeleteChannel+ DeleteChannel (DeleteChannel'),+ newDeleteChannel,+ DeleteChannelResponse (DeleteChannelResponse'),+ newDeleteChannelResponse,++ -- ** DeleteChannelPolicy+ DeleteChannelPolicy (DeleteChannelPolicy'),+ newDeleteChannelPolicy,+ DeleteChannelPolicyResponse (DeleteChannelPolicyResponse'),+ newDeleteChannelPolicyResponse,++ -- ** DeleteLiveSource+ DeleteLiveSource (DeleteLiveSource'),+ newDeleteLiveSource,+ DeleteLiveSourceResponse (DeleteLiveSourceResponse'),+ newDeleteLiveSourceResponse,++ -- ** DeletePlaybackConfiguration+ DeletePlaybackConfiguration (DeletePlaybackConfiguration'),+ newDeletePlaybackConfiguration,+ DeletePlaybackConfigurationResponse (DeletePlaybackConfigurationResponse'),+ newDeletePlaybackConfigurationResponse,++ -- ** DeletePrefetchSchedule+ DeletePrefetchSchedule (DeletePrefetchSchedule'),+ newDeletePrefetchSchedule,+ DeletePrefetchScheduleResponse (DeletePrefetchScheduleResponse'),+ newDeletePrefetchScheduleResponse,++ -- ** DeleteProgram+ DeleteProgram (DeleteProgram'),+ newDeleteProgram,+ DeleteProgramResponse (DeleteProgramResponse'),+ newDeleteProgramResponse,++ -- ** DeleteSourceLocation+ DeleteSourceLocation (DeleteSourceLocation'),+ newDeleteSourceLocation,+ DeleteSourceLocationResponse (DeleteSourceLocationResponse'),+ newDeleteSourceLocationResponse,++ -- ** DeleteVodSource+ DeleteVodSource (DeleteVodSource'),+ newDeleteVodSource,+ DeleteVodSourceResponse (DeleteVodSourceResponse'),+ newDeleteVodSourceResponse,++ -- ** DescribeChannel+ DescribeChannel (DescribeChannel'),+ newDescribeChannel,+ DescribeChannelResponse (DescribeChannelResponse'),+ newDescribeChannelResponse,++ -- ** DescribeLiveSource+ DescribeLiveSource (DescribeLiveSource'),+ newDescribeLiveSource,+ DescribeLiveSourceResponse (DescribeLiveSourceResponse'),+ newDescribeLiveSourceResponse,++ -- ** DescribeProgram+ DescribeProgram (DescribeProgram'),+ newDescribeProgram,+ DescribeProgramResponse (DescribeProgramResponse'),+ newDescribeProgramResponse,++ -- ** DescribeSourceLocation+ DescribeSourceLocation (DescribeSourceLocation'),+ newDescribeSourceLocation,+ DescribeSourceLocationResponse (DescribeSourceLocationResponse'),+ newDescribeSourceLocationResponse,++ -- ** DescribeVodSource+ DescribeVodSource (DescribeVodSource'),+ newDescribeVodSource,+ DescribeVodSourceResponse (DescribeVodSourceResponse'),+ newDescribeVodSourceResponse,++ -- ** GetChannelPolicy+ GetChannelPolicy (GetChannelPolicy'),+ newGetChannelPolicy,+ GetChannelPolicyResponse (GetChannelPolicyResponse'),+ newGetChannelPolicyResponse,++ -- ** GetChannelSchedule (Paginated)+ GetChannelSchedule (GetChannelSchedule'),+ newGetChannelSchedule,+ GetChannelScheduleResponse (GetChannelScheduleResponse'),+ newGetChannelScheduleResponse,++ -- ** GetPlaybackConfiguration+ GetPlaybackConfiguration (GetPlaybackConfiguration'),+ newGetPlaybackConfiguration,+ GetPlaybackConfigurationResponse (GetPlaybackConfigurationResponse'),+ newGetPlaybackConfigurationResponse,++ -- ** GetPrefetchSchedule+ GetPrefetchSchedule (GetPrefetchSchedule'),+ newGetPrefetchSchedule,+ GetPrefetchScheduleResponse (GetPrefetchScheduleResponse'),+ newGetPrefetchScheduleResponse,++ -- ** ListAlerts (Paginated)+ ListAlerts (ListAlerts'),+ newListAlerts,+ ListAlertsResponse (ListAlertsResponse'),+ newListAlertsResponse,++ -- ** ListChannels (Paginated)+ ListChannels (ListChannels'),+ newListChannels,+ ListChannelsResponse (ListChannelsResponse'),+ newListChannelsResponse,++ -- ** ListLiveSources (Paginated)+ ListLiveSources (ListLiveSources'),+ newListLiveSources,+ ListLiveSourcesResponse (ListLiveSourcesResponse'),+ newListLiveSourcesResponse,++ -- ** ListPlaybackConfigurations (Paginated)+ ListPlaybackConfigurations (ListPlaybackConfigurations'),+ newListPlaybackConfigurations,+ ListPlaybackConfigurationsResponse (ListPlaybackConfigurationsResponse'),+ newListPlaybackConfigurationsResponse,++ -- ** ListPrefetchSchedules (Paginated)+ ListPrefetchSchedules (ListPrefetchSchedules'),+ newListPrefetchSchedules,+ ListPrefetchSchedulesResponse (ListPrefetchSchedulesResponse'),+ newListPrefetchSchedulesResponse,++ -- ** ListSourceLocations (Paginated)+ ListSourceLocations (ListSourceLocations'),+ newListSourceLocations,+ ListSourceLocationsResponse (ListSourceLocationsResponse'),+ newListSourceLocationsResponse,++ -- ** ListTagsForResource+ ListTagsForResource (ListTagsForResource'),+ newListTagsForResource,+ ListTagsForResourceResponse (ListTagsForResourceResponse'),+ newListTagsForResourceResponse,++ -- ** ListVodSources (Paginated)+ ListVodSources (ListVodSources'),+ newListVodSources,+ ListVodSourcesResponse (ListVodSourcesResponse'),+ newListVodSourcesResponse,++ -- ** PutChannelPolicy+ PutChannelPolicy (PutChannelPolicy'),+ newPutChannelPolicy,+ PutChannelPolicyResponse (PutChannelPolicyResponse'),+ newPutChannelPolicyResponse,++ -- ** PutPlaybackConfiguration+ PutPlaybackConfiguration (PutPlaybackConfiguration'),+ newPutPlaybackConfiguration,+ PutPlaybackConfigurationResponse (PutPlaybackConfigurationResponse'),+ newPutPlaybackConfigurationResponse,++ -- ** StartChannel+ StartChannel (StartChannel'),+ newStartChannel,+ StartChannelResponse (StartChannelResponse'),+ newStartChannelResponse,++ -- ** StopChannel+ StopChannel (StopChannel'),+ newStopChannel,+ StopChannelResponse (StopChannelResponse'),+ newStopChannelResponse,++ -- ** TagResource+ TagResource (TagResource'),+ newTagResource,+ TagResourceResponse (TagResourceResponse'),+ newTagResourceResponse,++ -- ** UntagResource+ UntagResource (UntagResource'),+ newUntagResource,+ UntagResourceResponse (UntagResourceResponse'),+ newUntagResourceResponse,++ -- ** UpdateChannel+ UpdateChannel (UpdateChannel'),+ newUpdateChannel,+ UpdateChannelResponse (UpdateChannelResponse'),+ newUpdateChannelResponse,++ -- ** UpdateLiveSource+ UpdateLiveSource (UpdateLiveSource'),+ newUpdateLiveSource,+ UpdateLiveSourceResponse (UpdateLiveSourceResponse'),+ newUpdateLiveSourceResponse,++ -- ** UpdateSourceLocation+ UpdateSourceLocation (UpdateSourceLocation'),+ newUpdateSourceLocation,+ UpdateSourceLocationResponse (UpdateSourceLocationResponse'),+ newUpdateSourceLocationResponse,++ -- ** UpdateVodSource+ UpdateVodSource (UpdateVodSource'),+ newUpdateVodSource,+ UpdateVodSourceResponse (UpdateVodSourceResponse'),+ newUpdateVodSourceResponse,++ -- * Types++ -- ** AccessType+ AccessType (..),++ -- ** ChannelState+ ChannelState (..),++ -- ** MessageType+ MessageType (..),++ -- ** Mode+ Mode (..),++ -- ** Operator+ Operator (..),++ -- ** OriginManifestType+ OriginManifestType (..),++ -- ** PlaybackMode+ PlaybackMode (..),++ -- ** RelativePosition+ RelativePosition (..),++ -- ** ScheduleEntryType+ ScheduleEntryType (..),++ -- ** Tier+ Tier (..),++ -- ** Type+ Type (..),++ -- ** AccessConfiguration+ AccessConfiguration (AccessConfiguration'),+ newAccessConfiguration,++ -- ** AdBreak+ AdBreak (AdBreak'),+ newAdBreak,++ -- ** AdMarkerPassthrough+ AdMarkerPassthrough (AdMarkerPassthrough'),+ newAdMarkerPassthrough,++ -- ** Alert+ Alert (Alert'),+ newAlert,++ -- ** AvailMatchingCriteria+ AvailMatchingCriteria (AvailMatchingCriteria'),+ newAvailMatchingCriteria,++ -- ** AvailSuppression+ AvailSuppression (AvailSuppression'),+ newAvailSuppression,++ -- ** Bumper+ Bumper (Bumper'),+ newBumper,++ -- ** CdnConfiguration+ CdnConfiguration (CdnConfiguration'),+ newCdnConfiguration,++ -- ** Channel+ Channel (Channel'),+ newChannel,++ -- ** DashConfiguration+ DashConfiguration (DashConfiguration'),+ newDashConfiguration,++ -- ** DashConfigurationForPut+ DashConfigurationForPut (DashConfigurationForPut'),+ newDashConfigurationForPut,++ -- ** DashPlaylistSettings+ DashPlaylistSettings (DashPlaylistSettings'),+ newDashPlaylistSettings,++ -- ** DefaultSegmentDeliveryConfiguration+ DefaultSegmentDeliveryConfiguration (DefaultSegmentDeliveryConfiguration'),+ newDefaultSegmentDeliveryConfiguration,++ -- ** HlsConfiguration+ HlsConfiguration (HlsConfiguration'),+ newHlsConfiguration,++ -- ** HlsPlaylistSettings+ HlsPlaylistSettings (HlsPlaylistSettings'),+ newHlsPlaylistSettings,++ -- ** HttpConfiguration+ HttpConfiguration (HttpConfiguration'),+ newHttpConfiguration,++ -- ** HttpPackageConfiguration+ HttpPackageConfiguration (HttpPackageConfiguration'),+ newHttpPackageConfiguration,++ -- ** LivePreRollConfiguration+ LivePreRollConfiguration (LivePreRollConfiguration'),+ newLivePreRollConfiguration,++ -- ** LiveSource+ LiveSource (LiveSource'),+ newLiveSource,++ -- ** LogConfiguration+ LogConfiguration (LogConfiguration'),+ newLogConfiguration,++ -- ** ManifestProcessingRules+ ManifestProcessingRules (ManifestProcessingRules'),+ newManifestProcessingRules,++ -- ** PlaybackConfiguration+ PlaybackConfiguration (PlaybackConfiguration'),+ newPlaybackConfiguration,++ -- ** PrefetchConsumption+ PrefetchConsumption (PrefetchConsumption'),+ newPrefetchConsumption,++ -- ** PrefetchRetrieval+ PrefetchRetrieval (PrefetchRetrieval'),+ newPrefetchRetrieval,++ -- ** PrefetchSchedule+ PrefetchSchedule (PrefetchSchedule'),+ newPrefetchSchedule,++ -- ** RequestOutputItem+ RequestOutputItem (RequestOutputItem'),+ newRequestOutputItem,++ -- ** ResponseOutputItem+ ResponseOutputItem (ResponseOutputItem'),+ newResponseOutputItem,++ -- ** ScheduleAdBreak+ ScheduleAdBreak (ScheduleAdBreak'),+ newScheduleAdBreak,++ -- ** ScheduleConfiguration+ ScheduleConfiguration (ScheduleConfiguration'),+ newScheduleConfiguration,++ -- ** ScheduleEntry+ ScheduleEntry (ScheduleEntry'),+ newScheduleEntry,++ -- ** SecretsManagerAccessTokenConfiguration+ SecretsManagerAccessTokenConfiguration (SecretsManagerAccessTokenConfiguration'),+ newSecretsManagerAccessTokenConfiguration,++ -- ** SegmentDeliveryConfiguration+ SegmentDeliveryConfiguration (SegmentDeliveryConfiguration'),+ newSegmentDeliveryConfiguration,++ -- ** SegmentationDescriptor+ SegmentationDescriptor (SegmentationDescriptor'),+ newSegmentationDescriptor,++ -- ** SlateSource+ SlateSource (SlateSource'),+ newSlateSource,++ -- ** SourceLocation+ SourceLocation (SourceLocation'),+ newSourceLocation,++ -- ** SpliceInsertMessage+ SpliceInsertMessage (SpliceInsertMessage'),+ newSpliceInsertMessage,++ -- ** TimeSignalMessage+ TimeSignalMessage (TimeSignalMessage'),+ newTimeSignalMessage,++ -- ** Transition+ Transition (Transition'),+ newTransition,++ -- ** VodSource+ VodSource (VodSource'),+ newVodSource,+ )+where++import Amazonka.MediaTailor.ConfigureLogsForPlaybackConfiguration+import Amazonka.MediaTailor.CreateChannel+import Amazonka.MediaTailor.CreateLiveSource+import Amazonka.MediaTailor.CreatePrefetchSchedule+import Amazonka.MediaTailor.CreateProgram+import Amazonka.MediaTailor.CreateSourceLocation+import Amazonka.MediaTailor.CreateVodSource+import Amazonka.MediaTailor.DeleteChannel+import Amazonka.MediaTailor.DeleteChannelPolicy+import Amazonka.MediaTailor.DeleteLiveSource+import Amazonka.MediaTailor.DeletePlaybackConfiguration+import Amazonka.MediaTailor.DeletePrefetchSchedule+import Amazonka.MediaTailor.DeleteProgram+import Amazonka.MediaTailor.DeleteSourceLocation+import Amazonka.MediaTailor.DeleteVodSource+import Amazonka.MediaTailor.DescribeChannel+import Amazonka.MediaTailor.DescribeLiveSource+import Amazonka.MediaTailor.DescribeProgram+import Amazonka.MediaTailor.DescribeSourceLocation+import Amazonka.MediaTailor.DescribeVodSource+import Amazonka.MediaTailor.GetChannelPolicy+import Amazonka.MediaTailor.GetChannelSchedule+import Amazonka.MediaTailor.GetPlaybackConfiguration+import Amazonka.MediaTailor.GetPrefetchSchedule+import Amazonka.MediaTailor.Lens+import Amazonka.MediaTailor.ListAlerts+import Amazonka.MediaTailor.ListChannels+import Amazonka.MediaTailor.ListLiveSources+import Amazonka.MediaTailor.ListPlaybackConfigurations+import Amazonka.MediaTailor.ListPrefetchSchedules+import Amazonka.MediaTailor.ListSourceLocations+import Amazonka.MediaTailor.ListTagsForResource+import Amazonka.MediaTailor.ListVodSources+import Amazonka.MediaTailor.PutChannelPolicy+import Amazonka.MediaTailor.PutPlaybackConfiguration+import Amazonka.MediaTailor.StartChannel+import Amazonka.MediaTailor.StopChannel+import Amazonka.MediaTailor.TagResource+import Amazonka.MediaTailor.Types+import Amazonka.MediaTailor.UntagResource+import Amazonka.MediaTailor.UpdateChannel+import Amazonka.MediaTailor.UpdateLiveSource+import Amazonka.MediaTailor.UpdateSourceLocation+import Amazonka.MediaTailor.UpdateVodSource+import Amazonka.MediaTailor.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 'MediaTailor'.++-- $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/MediaTailor/ConfigureLogsForPlaybackConfiguration.hs view
@@ -0,0 +1,268 @@+{-# 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.MediaTailor.ConfigureLogsForPlaybackConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Amazon CloudWatch log settings for a playback configuration.+module Amazonka.MediaTailor.ConfigureLogsForPlaybackConfiguration+ ( -- * Creating a Request+ ConfigureLogsForPlaybackConfiguration (..),+ newConfigureLogsForPlaybackConfiguration,++ -- * Request Lenses+ configureLogsForPlaybackConfiguration_percentEnabled,+ configureLogsForPlaybackConfiguration_playbackConfigurationName,++ -- * Destructuring the Response+ ConfigureLogsForPlaybackConfigurationResponse (..),+ newConfigureLogsForPlaybackConfigurationResponse,++ -- * Response Lenses+ configureLogsForPlaybackConfigurationResponse_playbackConfigurationName,+ configureLogsForPlaybackConfigurationResponse_httpStatus,+ configureLogsForPlaybackConfigurationResponse_percentEnabled,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | Configures Amazon CloudWatch log settings for a playback configuration.+--+-- /See:/ 'newConfigureLogsForPlaybackConfiguration' smart constructor.+data ConfigureLogsForPlaybackConfiguration = ConfigureLogsForPlaybackConfiguration'+ { -- | The percentage of session logs that MediaTailor sends to your Cloudwatch+ -- Logs account. For example, if your playback configuration has 1000+ -- sessions and percentEnabled is set to @60@, MediaTailor sends logs for+ -- 600 of the sessions to CloudWatch Logs. MediaTailor decides at random+ -- which of the playback configuration sessions to send logs for. If you+ -- want to view logs for a specific session, you can use the+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/debug-log-mode.html debug log mode>.+ --+ -- Valid values: @0@ - @100@+ percentEnabled :: Prelude.Int,+ -- | The name of the playback configuration.+ playbackConfigurationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConfigureLogsForPlaybackConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'percentEnabled', 'configureLogsForPlaybackConfiguration_percentEnabled' - The percentage of session logs that MediaTailor sends to your Cloudwatch+-- Logs account. For example, if your playback configuration has 1000+-- sessions and percentEnabled is set to @60@, MediaTailor sends logs for+-- 600 of the sessions to CloudWatch Logs. MediaTailor decides at random+-- which of the playback configuration sessions to send logs for. If you+-- want to view logs for a specific session, you can use the+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/debug-log-mode.html debug log mode>.+--+-- Valid values: @0@ - @100@+--+-- 'playbackConfigurationName', 'configureLogsForPlaybackConfiguration_playbackConfigurationName' - The name of the playback configuration.+newConfigureLogsForPlaybackConfiguration ::+ -- | 'percentEnabled'+ Prelude.Int ->+ -- | 'playbackConfigurationName'+ Prelude.Text ->+ ConfigureLogsForPlaybackConfiguration+newConfigureLogsForPlaybackConfiguration+ pPercentEnabled_+ pPlaybackConfigurationName_ =+ ConfigureLogsForPlaybackConfiguration'+ { percentEnabled =+ pPercentEnabled_,+ playbackConfigurationName =+ pPlaybackConfigurationName_+ }++-- | The percentage of session logs that MediaTailor sends to your Cloudwatch+-- Logs account. For example, if your playback configuration has 1000+-- sessions and percentEnabled is set to @60@, MediaTailor sends logs for+-- 600 of the sessions to CloudWatch Logs. MediaTailor decides at random+-- which of the playback configuration sessions to send logs for. If you+-- want to view logs for a specific session, you can use the+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/debug-log-mode.html debug log mode>.+--+-- Valid values: @0@ - @100@+configureLogsForPlaybackConfiguration_percentEnabled :: Lens.Lens' ConfigureLogsForPlaybackConfiguration Prelude.Int+configureLogsForPlaybackConfiguration_percentEnabled = Lens.lens (\ConfigureLogsForPlaybackConfiguration' {percentEnabled} -> percentEnabled) (\s@ConfigureLogsForPlaybackConfiguration' {} a -> s {percentEnabled = a} :: ConfigureLogsForPlaybackConfiguration)++-- | The name of the playback configuration.+configureLogsForPlaybackConfiguration_playbackConfigurationName :: Lens.Lens' ConfigureLogsForPlaybackConfiguration Prelude.Text+configureLogsForPlaybackConfiguration_playbackConfigurationName = Lens.lens (\ConfigureLogsForPlaybackConfiguration' {playbackConfigurationName} -> playbackConfigurationName) (\s@ConfigureLogsForPlaybackConfiguration' {} a -> s {playbackConfigurationName = a} :: ConfigureLogsForPlaybackConfiguration)++instance+ Core.AWSRequest+ ConfigureLogsForPlaybackConfiguration+ where+ type+ AWSResponse+ ConfigureLogsForPlaybackConfiguration =+ ConfigureLogsForPlaybackConfigurationResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ConfigureLogsForPlaybackConfigurationResponse'+ Prelude.<$> (x Data..?> "PlaybackConfigurationName")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ Prelude.<*> (x Data..:> "PercentEnabled")+ )++instance+ Prelude.Hashable+ ConfigureLogsForPlaybackConfiguration+ where+ hashWithSalt+ _salt+ ConfigureLogsForPlaybackConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` percentEnabled+ `Prelude.hashWithSalt` playbackConfigurationName++instance+ Prelude.NFData+ ConfigureLogsForPlaybackConfiguration+ where+ rnf ConfigureLogsForPlaybackConfiguration' {..} =+ Prelude.rnf percentEnabled+ `Prelude.seq` Prelude.rnf playbackConfigurationName++instance+ Data.ToHeaders+ ConfigureLogsForPlaybackConfiguration+ where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance+ Data.ToJSON+ ConfigureLogsForPlaybackConfiguration+ where+ toJSON ConfigureLogsForPlaybackConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("PercentEnabled" Data..= percentEnabled),+ Prelude.Just+ ( "PlaybackConfigurationName"+ Data..= playbackConfigurationName+ )+ ]+ )++instance+ Data.ToPath+ ConfigureLogsForPlaybackConfiguration+ where+ toPath =+ Prelude.const+ "/configureLogs/playbackConfiguration"++instance+ Data.ToQuery+ ConfigureLogsForPlaybackConfiguration+ where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newConfigureLogsForPlaybackConfigurationResponse' smart constructor.+data ConfigureLogsForPlaybackConfigurationResponse = ConfigureLogsForPlaybackConfigurationResponse'+ { -- | The name of the playback configuration.+ playbackConfigurationName :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int,+ -- | The percentage of session logs that MediaTailor sends to your Cloudwatch+ -- Logs account.+ percentEnabled :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ConfigureLogsForPlaybackConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'playbackConfigurationName', 'configureLogsForPlaybackConfigurationResponse_playbackConfigurationName' - The name of the playback configuration.+--+-- 'httpStatus', 'configureLogsForPlaybackConfigurationResponse_httpStatus' - The response's http status code.+--+-- 'percentEnabled', 'configureLogsForPlaybackConfigurationResponse_percentEnabled' - The percentage of session logs that MediaTailor sends to your Cloudwatch+-- Logs account.+newConfigureLogsForPlaybackConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ -- | 'percentEnabled'+ Prelude.Int ->+ ConfigureLogsForPlaybackConfigurationResponse+newConfigureLogsForPlaybackConfigurationResponse+ pHttpStatus_+ pPercentEnabled_ =+ ConfigureLogsForPlaybackConfigurationResponse'+ { playbackConfigurationName =+ Prelude.Nothing,+ httpStatus = pHttpStatus_,+ percentEnabled =+ pPercentEnabled_+ }++-- | The name of the playback configuration.+configureLogsForPlaybackConfigurationResponse_playbackConfigurationName :: Lens.Lens' ConfigureLogsForPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+configureLogsForPlaybackConfigurationResponse_playbackConfigurationName = Lens.lens (\ConfigureLogsForPlaybackConfigurationResponse' {playbackConfigurationName} -> playbackConfigurationName) (\s@ConfigureLogsForPlaybackConfigurationResponse' {} a -> s {playbackConfigurationName = a} :: ConfigureLogsForPlaybackConfigurationResponse)++-- | The response's http status code.+configureLogsForPlaybackConfigurationResponse_httpStatus :: Lens.Lens' ConfigureLogsForPlaybackConfigurationResponse Prelude.Int+configureLogsForPlaybackConfigurationResponse_httpStatus = Lens.lens (\ConfigureLogsForPlaybackConfigurationResponse' {httpStatus} -> httpStatus) (\s@ConfigureLogsForPlaybackConfigurationResponse' {} a -> s {httpStatus = a} :: ConfigureLogsForPlaybackConfigurationResponse)++-- | The percentage of session logs that MediaTailor sends to your Cloudwatch+-- Logs account.+configureLogsForPlaybackConfigurationResponse_percentEnabled :: Lens.Lens' ConfigureLogsForPlaybackConfigurationResponse Prelude.Int+configureLogsForPlaybackConfigurationResponse_percentEnabled = Lens.lens (\ConfigureLogsForPlaybackConfigurationResponse' {percentEnabled} -> percentEnabled) (\s@ConfigureLogsForPlaybackConfigurationResponse' {} a -> s {percentEnabled = a} :: ConfigureLogsForPlaybackConfigurationResponse)++instance+ Prelude.NFData+ ConfigureLogsForPlaybackConfigurationResponse+ where+ rnf+ ConfigureLogsForPlaybackConfigurationResponse' {..} =+ Prelude.rnf playbackConfigurationName+ `Prelude.seq` Prelude.rnf httpStatus+ `Prelude.seq` Prelude.rnf percentEnabled
+ gen/Amazonka/MediaTailor/CreateChannel.hs view
@@ -0,0 +1,397 @@+{-# 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.MediaTailor.CreateChannel+-- 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 channel. For information about MediaTailor channels, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-channels.html Working with channels>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.CreateChannel+ ( -- * Creating a Request+ CreateChannel (..),+ newCreateChannel,++ -- * Request Lenses+ createChannel_fillerSlate,+ createChannel_tags,+ createChannel_tier,+ createChannel_channelName,+ createChannel_outputs,+ createChannel_playbackMode,++ -- * Destructuring the Response+ CreateChannelResponse (..),+ newCreateChannelResponse,++ -- * Response Lenses+ createChannelResponse_arn,+ createChannelResponse_channelName,+ createChannelResponse_channelState,+ createChannelResponse_creationTime,+ createChannelResponse_fillerSlate,+ createChannelResponse_lastModifiedTime,+ createChannelResponse_outputs,+ createChannelResponse_playbackMode,+ createChannelResponse_tags,+ createChannelResponse_tier,+ createChannelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateChannel' smart constructor.+data CreateChannel = CreateChannel'+ { -- | The slate used to fill gaps between programs in the schedule. You must+ -- configure filler slate if your channel uses the @LINEAR@ @PlaybackMode@.+ -- MediaTailor doesn\'t support filler slate for channels using the @LOOP@+ -- @PlaybackMode@.+ fillerSlate :: Prelude.Maybe SlateSource,+ -- | The tags to assign to the channel. Tags are key-value pairs that you can+ -- associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The tier of the channel.+ tier :: Prelude.Maybe Tier,+ -- | The name of the channel.+ channelName :: Prelude.Text,+ -- | The channel\'s output properties.+ outputs :: [RequestOutputItem],+ -- | The type of playback mode to use for this channel.+ --+ -- @LINEAR@ - The programs in the schedule play once back-to-back in the+ -- schedule.+ --+ -- @LOOP@ - The programs in the schedule play back-to-back in an endless+ -- loop. When the last program in the schedule stops playing, playback+ -- loops back to the first program in the schedule.+ playbackMode :: PlaybackMode+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateChannel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fillerSlate', 'createChannel_fillerSlate' - The slate used to fill gaps between programs in the schedule. You must+-- configure filler slate if your channel uses the @LINEAR@ @PlaybackMode@.+-- MediaTailor doesn\'t support filler slate for channels using the @LOOP@+-- @PlaybackMode@.+--+-- 'tags', 'createChannel_tags' - The tags to assign to the channel. Tags are key-value pairs that you can+-- associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'tier', 'createChannel_tier' - The tier of the channel.+--+-- 'channelName', 'createChannel_channelName' - The name of the channel.+--+-- 'outputs', 'createChannel_outputs' - The channel\'s output properties.+--+-- 'playbackMode', 'createChannel_playbackMode' - The type of playback mode to use for this channel.+--+-- @LINEAR@ - The programs in the schedule play once back-to-back in the+-- schedule.+--+-- @LOOP@ - The programs in the schedule play back-to-back in an endless+-- loop. When the last program in the schedule stops playing, playback+-- loops back to the first program in the schedule.+newCreateChannel ::+ -- | 'channelName'+ Prelude.Text ->+ -- | 'playbackMode'+ PlaybackMode ->+ CreateChannel+newCreateChannel pChannelName_ pPlaybackMode_ =+ CreateChannel'+ { fillerSlate = Prelude.Nothing,+ tags = Prelude.Nothing,+ tier = Prelude.Nothing,+ channelName = pChannelName_,+ outputs = Prelude.mempty,+ playbackMode = pPlaybackMode_+ }++-- | The slate used to fill gaps between programs in the schedule. You must+-- configure filler slate if your channel uses the @LINEAR@ @PlaybackMode@.+-- MediaTailor doesn\'t support filler slate for channels using the @LOOP@+-- @PlaybackMode@.+createChannel_fillerSlate :: Lens.Lens' CreateChannel (Prelude.Maybe SlateSource)+createChannel_fillerSlate = Lens.lens (\CreateChannel' {fillerSlate} -> fillerSlate) (\s@CreateChannel' {} a -> s {fillerSlate = a} :: CreateChannel)++-- | The tags to assign to the channel. Tags are key-value pairs that you can+-- associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+createChannel_tags :: Lens.Lens' CreateChannel (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createChannel_tags = Lens.lens (\CreateChannel' {tags} -> tags) (\s@CreateChannel' {} a -> s {tags = a} :: CreateChannel) Prelude.. Lens.mapping Lens.coerced++-- | The tier of the channel.+createChannel_tier :: Lens.Lens' CreateChannel (Prelude.Maybe Tier)+createChannel_tier = Lens.lens (\CreateChannel' {tier} -> tier) (\s@CreateChannel' {} a -> s {tier = a} :: CreateChannel)++-- | The name of the channel.+createChannel_channelName :: Lens.Lens' CreateChannel Prelude.Text+createChannel_channelName = Lens.lens (\CreateChannel' {channelName} -> channelName) (\s@CreateChannel' {} a -> s {channelName = a} :: CreateChannel)++-- | The channel\'s output properties.+createChannel_outputs :: Lens.Lens' CreateChannel [RequestOutputItem]+createChannel_outputs = Lens.lens (\CreateChannel' {outputs} -> outputs) (\s@CreateChannel' {} a -> s {outputs = a} :: CreateChannel) Prelude.. Lens.coerced++-- | The type of playback mode to use for this channel.+--+-- @LINEAR@ - The programs in the schedule play once back-to-back in the+-- schedule.+--+-- @LOOP@ - The programs in the schedule play back-to-back in an endless+-- loop. When the last program in the schedule stops playing, playback+-- loops back to the first program in the schedule.+createChannel_playbackMode :: Lens.Lens' CreateChannel PlaybackMode+createChannel_playbackMode = Lens.lens (\CreateChannel' {playbackMode} -> playbackMode) (\s@CreateChannel' {} a -> s {playbackMode = a} :: CreateChannel)++instance Core.AWSRequest CreateChannel where+ type+ AWSResponse CreateChannel =+ CreateChannelResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateChannelResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "ChannelName")+ Prelude.<*> (x Data..?> "ChannelState")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "FillerSlate")+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> (x Data..?> "Outputs" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "PlaybackMode")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "Tier")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateChannel where+ hashWithSalt _salt CreateChannel' {..} =+ _salt+ `Prelude.hashWithSalt` fillerSlate+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` tier+ `Prelude.hashWithSalt` channelName+ `Prelude.hashWithSalt` outputs+ `Prelude.hashWithSalt` playbackMode++instance Prelude.NFData CreateChannel where+ rnf CreateChannel' {..} =+ Prelude.rnf fillerSlate+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf tier+ `Prelude.seq` Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf outputs+ `Prelude.seq` Prelude.rnf playbackMode++instance Data.ToHeaders CreateChannel where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateChannel where+ toJSON CreateChannel' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FillerSlate" Data..=) Prelude.<$> fillerSlate,+ ("tags" Data..=) Prelude.<$> tags,+ ("Tier" Data..=) Prelude.<$> tier,+ Prelude.Just ("Outputs" Data..= outputs),+ Prelude.Just ("PlaybackMode" Data..= playbackMode)+ ]+ )++instance Data.ToPath CreateChannel where+ toPath CreateChannel' {..} =+ Prelude.mconcat+ ["/channel/", Data.toBS channelName]++instance Data.ToQuery CreateChannel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateChannelResponse' smart constructor.+data CreateChannelResponse = CreateChannelResponse'+ { -- | The Amazon Resource Name (ARN) to assign to the channel.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The name to assign to the channel.+ channelName :: Prelude.Maybe Prelude.Text,+ -- | Indicates whether the channel is in a running state or not.+ channelState :: Prelude.Maybe ChannelState,+ -- | The timestamp of when the channel was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | Contains information about the slate used to fill gaps between programs+ -- in the schedule.+ fillerSlate :: Prelude.Maybe SlateSource,+ -- | The timestamp of when the channel was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The output properties to assign to the channel.+ outputs :: Prelude.Maybe [ResponseOutputItem],+ -- | The playback mode to assign to the channel.+ playbackMode :: Prelude.Maybe Prelude.Text,+ -- | The tags to assign to the channel. Tags are key-value pairs that you can+ -- associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The tier of the channel.+ tier :: 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 'CreateChannelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createChannelResponse_arn' - The Amazon Resource Name (ARN) to assign to the channel.+--+-- 'channelName', 'createChannelResponse_channelName' - The name to assign to the channel.+--+-- 'channelState', 'createChannelResponse_channelState' - Indicates whether the channel is in a running state or not.+--+-- 'creationTime', 'createChannelResponse_creationTime' - The timestamp of when the channel was created.+--+-- 'fillerSlate', 'createChannelResponse_fillerSlate' - Contains information about the slate used to fill gaps between programs+-- in the schedule.+--+-- 'lastModifiedTime', 'createChannelResponse_lastModifiedTime' - The timestamp of when the channel was last modified.+--+-- 'outputs', 'createChannelResponse_outputs' - The output properties to assign to the channel.+--+-- 'playbackMode', 'createChannelResponse_playbackMode' - The playback mode to assign to the channel.+--+-- 'tags', 'createChannelResponse_tags' - The tags to assign to the channel. Tags are key-value pairs that you can+-- associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'tier', 'createChannelResponse_tier' - The tier of the channel.+--+-- 'httpStatus', 'createChannelResponse_httpStatus' - The response's http status code.+newCreateChannelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateChannelResponse+newCreateChannelResponse pHttpStatus_ =+ CreateChannelResponse'+ { arn = Prelude.Nothing,+ channelName = Prelude.Nothing,+ channelState = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ fillerSlate = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ outputs = Prelude.Nothing,+ playbackMode = Prelude.Nothing,+ tags = Prelude.Nothing,+ tier = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) to assign to the channel.+createChannelResponse_arn :: Lens.Lens' CreateChannelResponse (Prelude.Maybe Prelude.Text)+createChannelResponse_arn = Lens.lens (\CreateChannelResponse' {arn} -> arn) (\s@CreateChannelResponse' {} a -> s {arn = a} :: CreateChannelResponse)++-- | The name to assign to the channel.+createChannelResponse_channelName :: Lens.Lens' CreateChannelResponse (Prelude.Maybe Prelude.Text)+createChannelResponse_channelName = Lens.lens (\CreateChannelResponse' {channelName} -> channelName) (\s@CreateChannelResponse' {} a -> s {channelName = a} :: CreateChannelResponse)++-- | Indicates whether the channel is in a running state or not.+createChannelResponse_channelState :: Lens.Lens' CreateChannelResponse (Prelude.Maybe ChannelState)+createChannelResponse_channelState = Lens.lens (\CreateChannelResponse' {channelState} -> channelState) (\s@CreateChannelResponse' {} a -> s {channelState = a} :: CreateChannelResponse)++-- | The timestamp of when the channel was created.+createChannelResponse_creationTime :: Lens.Lens' CreateChannelResponse (Prelude.Maybe Prelude.UTCTime)+createChannelResponse_creationTime = Lens.lens (\CreateChannelResponse' {creationTime} -> creationTime) (\s@CreateChannelResponse' {} a -> s {creationTime = a} :: CreateChannelResponse) Prelude.. Lens.mapping Data._Time++-- | Contains information about the slate used to fill gaps between programs+-- in the schedule.+createChannelResponse_fillerSlate :: Lens.Lens' CreateChannelResponse (Prelude.Maybe SlateSource)+createChannelResponse_fillerSlate = Lens.lens (\CreateChannelResponse' {fillerSlate} -> fillerSlate) (\s@CreateChannelResponse' {} a -> s {fillerSlate = a} :: CreateChannelResponse)++-- | The timestamp of when the channel was last modified.+createChannelResponse_lastModifiedTime :: Lens.Lens' CreateChannelResponse (Prelude.Maybe Prelude.UTCTime)+createChannelResponse_lastModifiedTime = Lens.lens (\CreateChannelResponse' {lastModifiedTime} -> lastModifiedTime) (\s@CreateChannelResponse' {} a -> s {lastModifiedTime = a} :: CreateChannelResponse) Prelude.. Lens.mapping Data._Time++-- | The output properties to assign to the channel.+createChannelResponse_outputs :: Lens.Lens' CreateChannelResponse (Prelude.Maybe [ResponseOutputItem])+createChannelResponse_outputs = Lens.lens (\CreateChannelResponse' {outputs} -> outputs) (\s@CreateChannelResponse' {} a -> s {outputs = a} :: CreateChannelResponse) Prelude.. Lens.mapping Lens.coerced++-- | The playback mode to assign to the channel.+createChannelResponse_playbackMode :: Lens.Lens' CreateChannelResponse (Prelude.Maybe Prelude.Text)+createChannelResponse_playbackMode = Lens.lens (\CreateChannelResponse' {playbackMode} -> playbackMode) (\s@CreateChannelResponse' {} a -> s {playbackMode = a} :: CreateChannelResponse)++-- | The tags to assign to the channel. Tags are key-value pairs that you can+-- associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+createChannelResponse_tags :: Lens.Lens' CreateChannelResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createChannelResponse_tags = Lens.lens (\CreateChannelResponse' {tags} -> tags) (\s@CreateChannelResponse' {} a -> s {tags = a} :: CreateChannelResponse) Prelude.. Lens.mapping Lens.coerced++-- | The tier of the channel.+createChannelResponse_tier :: Lens.Lens' CreateChannelResponse (Prelude.Maybe Prelude.Text)+createChannelResponse_tier = Lens.lens (\CreateChannelResponse' {tier} -> tier) (\s@CreateChannelResponse' {} a -> s {tier = a} :: CreateChannelResponse)++-- | The response's http status code.+createChannelResponse_httpStatus :: Lens.Lens' CreateChannelResponse Prelude.Int+createChannelResponse_httpStatus = Lens.lens (\CreateChannelResponse' {httpStatus} -> httpStatus) (\s@CreateChannelResponse' {} a -> s {httpStatus = a} :: CreateChannelResponse)++instance Prelude.NFData CreateChannelResponse where+ rnf CreateChannelResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf channelState+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf fillerSlate+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf outputs+ `Prelude.seq` Prelude.rnf playbackMode+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf tier+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/CreateLiveSource.hs view
@@ -0,0 +1,311 @@+{-# 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.MediaTailor.CreateLiveSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The live source configuration.+module Amazonka.MediaTailor.CreateLiveSource+ ( -- * Creating a Request+ CreateLiveSource (..),+ newCreateLiveSource,++ -- * Request Lenses+ createLiveSource_tags,+ createLiveSource_httpPackageConfigurations,+ createLiveSource_liveSourceName,+ createLiveSource_sourceLocationName,++ -- * Destructuring the Response+ CreateLiveSourceResponse (..),+ newCreateLiveSourceResponse,++ -- * Response Lenses+ createLiveSourceResponse_arn,+ createLiveSourceResponse_creationTime,+ createLiveSourceResponse_httpPackageConfigurations,+ createLiveSourceResponse_lastModifiedTime,+ createLiveSourceResponse_liveSourceName,+ createLiveSourceResponse_sourceLocationName,+ createLiveSourceResponse_tags,+ createLiveSourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateLiveSource' smart constructor.+data CreateLiveSource = CreateLiveSource'+ { -- | The tags to assign to the live source. Tags are key-value pairs that you+ -- can associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | A list of HTTP package configuration parameters for this live source.+ httpPackageConfigurations :: [HttpPackageConfiguration],+ -- | The name of the live source.+ liveSourceName :: Prelude.Text,+ -- | The name of the source location.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateLiveSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createLiveSource_tags' - The tags to assign to the live source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'httpPackageConfigurations', 'createLiveSource_httpPackageConfigurations' - A list of HTTP package configuration parameters for this live source.+--+-- 'liveSourceName', 'createLiveSource_liveSourceName' - The name of the live source.+--+-- 'sourceLocationName', 'createLiveSource_sourceLocationName' - The name of the source location.+newCreateLiveSource ::+ -- | 'liveSourceName'+ Prelude.Text ->+ -- | 'sourceLocationName'+ Prelude.Text ->+ CreateLiveSource+newCreateLiveSource+ pLiveSourceName_+ pSourceLocationName_ =+ CreateLiveSource'+ { tags = Prelude.Nothing,+ httpPackageConfigurations = Prelude.mempty,+ liveSourceName = pLiveSourceName_,+ sourceLocationName = pSourceLocationName_+ }++-- | The tags to assign to the live source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+createLiveSource_tags :: Lens.Lens' CreateLiveSource (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createLiveSource_tags = Lens.lens (\CreateLiveSource' {tags} -> tags) (\s@CreateLiveSource' {} a -> s {tags = a} :: CreateLiveSource) Prelude.. Lens.mapping Lens.coerced++-- | A list of HTTP package configuration parameters for this live source.+createLiveSource_httpPackageConfigurations :: Lens.Lens' CreateLiveSource [HttpPackageConfiguration]+createLiveSource_httpPackageConfigurations = Lens.lens (\CreateLiveSource' {httpPackageConfigurations} -> httpPackageConfigurations) (\s@CreateLiveSource' {} a -> s {httpPackageConfigurations = a} :: CreateLiveSource) Prelude.. Lens.coerced++-- | The name of the live source.+createLiveSource_liveSourceName :: Lens.Lens' CreateLiveSource Prelude.Text+createLiveSource_liveSourceName = Lens.lens (\CreateLiveSource' {liveSourceName} -> liveSourceName) (\s@CreateLiveSource' {} a -> s {liveSourceName = a} :: CreateLiveSource)++-- | The name of the source location.+createLiveSource_sourceLocationName :: Lens.Lens' CreateLiveSource Prelude.Text+createLiveSource_sourceLocationName = Lens.lens (\CreateLiveSource' {sourceLocationName} -> sourceLocationName) (\s@CreateLiveSource' {} a -> s {sourceLocationName = a} :: CreateLiveSource)++instance Core.AWSRequest CreateLiveSource where+ type+ AWSResponse CreateLiveSource =+ CreateLiveSourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateLiveSourceResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> ( x+ Data..?> "HttpPackageConfigurations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> (x Data..?> "LiveSourceName")+ Prelude.<*> (x Data..?> "SourceLocationName")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateLiveSource where+ hashWithSalt _salt CreateLiveSource' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` httpPackageConfigurations+ `Prelude.hashWithSalt` liveSourceName+ `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData CreateLiveSource where+ rnf CreateLiveSource' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpPackageConfigurations+ `Prelude.seq` Prelude.rnf liveSourceName+ `Prelude.seq` Prelude.rnf sourceLocationName++instance Data.ToHeaders CreateLiveSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateLiveSource where+ toJSON CreateLiveSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ( "HttpPackageConfigurations"+ Data..= httpPackageConfigurations+ )+ ]+ )++instance Data.ToPath CreateLiveSource where+ toPath CreateLiveSource' {..} =+ Prelude.mconcat+ [ "/sourceLocation/",+ Data.toBS sourceLocationName,+ "/liveSource/",+ Data.toBS liveSourceName+ ]++instance Data.ToQuery CreateLiveSource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateLiveSourceResponse' smart constructor.+data CreateLiveSourceResponse = CreateLiveSourceResponse'+ { -- | The ARN to assign to the live source.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The time the live source was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | A list of HTTP package configuration parameters for this live source.+ httpPackageConfigurations :: Prelude.Maybe [HttpPackageConfiguration],+ -- | The time the live source was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The name to assign to the live source.+ liveSourceName :: Prelude.Maybe Prelude.Text,+ -- | The name to assign to the source location of the live source.+ sourceLocationName :: Prelude.Maybe Prelude.Text,+ -- | The tags to assign to the live source. Tags are key-value pairs that you+ -- can associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ 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 'CreateLiveSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createLiveSourceResponse_arn' - The ARN to assign to the live source.+--+-- 'creationTime', 'createLiveSourceResponse_creationTime' - The time the live source was created.+--+-- 'httpPackageConfigurations', 'createLiveSourceResponse_httpPackageConfigurations' - A list of HTTP package configuration parameters for this live source.+--+-- 'lastModifiedTime', 'createLiveSourceResponse_lastModifiedTime' - The time the live source was last modified.+--+-- 'liveSourceName', 'createLiveSourceResponse_liveSourceName' - The name to assign to the live source.+--+-- 'sourceLocationName', 'createLiveSourceResponse_sourceLocationName' - The name to assign to the source location of the live source.+--+-- 'tags', 'createLiveSourceResponse_tags' - The tags to assign to the live source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'httpStatus', 'createLiveSourceResponse_httpStatus' - The response's http status code.+newCreateLiveSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateLiveSourceResponse+newCreateLiveSourceResponse pHttpStatus_ =+ CreateLiveSourceResponse'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ httpPackageConfigurations = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ liveSourceName = Prelude.Nothing,+ sourceLocationName = Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN to assign to the live source.+createLiveSourceResponse_arn :: Lens.Lens' CreateLiveSourceResponse (Prelude.Maybe Prelude.Text)+createLiveSourceResponse_arn = Lens.lens (\CreateLiveSourceResponse' {arn} -> arn) (\s@CreateLiveSourceResponse' {} a -> s {arn = a} :: CreateLiveSourceResponse)++-- | The time the live source was created.+createLiveSourceResponse_creationTime :: Lens.Lens' CreateLiveSourceResponse (Prelude.Maybe Prelude.UTCTime)+createLiveSourceResponse_creationTime = Lens.lens (\CreateLiveSourceResponse' {creationTime} -> creationTime) (\s@CreateLiveSourceResponse' {} a -> s {creationTime = a} :: CreateLiveSourceResponse) Prelude.. Lens.mapping Data._Time++-- | A list of HTTP package configuration parameters for this live source.+createLiveSourceResponse_httpPackageConfigurations :: Lens.Lens' CreateLiveSourceResponse (Prelude.Maybe [HttpPackageConfiguration])+createLiveSourceResponse_httpPackageConfigurations = Lens.lens (\CreateLiveSourceResponse' {httpPackageConfigurations} -> httpPackageConfigurations) (\s@CreateLiveSourceResponse' {} a -> s {httpPackageConfigurations = a} :: CreateLiveSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The time the live source was last modified.+createLiveSourceResponse_lastModifiedTime :: Lens.Lens' CreateLiveSourceResponse (Prelude.Maybe Prelude.UTCTime)+createLiveSourceResponse_lastModifiedTime = Lens.lens (\CreateLiveSourceResponse' {lastModifiedTime} -> lastModifiedTime) (\s@CreateLiveSourceResponse' {} a -> s {lastModifiedTime = a} :: CreateLiveSourceResponse) Prelude.. Lens.mapping Data._Time++-- | The name to assign to the live source.+createLiveSourceResponse_liveSourceName :: Lens.Lens' CreateLiveSourceResponse (Prelude.Maybe Prelude.Text)+createLiveSourceResponse_liveSourceName = Lens.lens (\CreateLiveSourceResponse' {liveSourceName} -> liveSourceName) (\s@CreateLiveSourceResponse' {} a -> s {liveSourceName = a} :: CreateLiveSourceResponse)++-- | The name to assign to the source location of the live source.+createLiveSourceResponse_sourceLocationName :: Lens.Lens' CreateLiveSourceResponse (Prelude.Maybe Prelude.Text)+createLiveSourceResponse_sourceLocationName = Lens.lens (\CreateLiveSourceResponse' {sourceLocationName} -> sourceLocationName) (\s@CreateLiveSourceResponse' {} a -> s {sourceLocationName = a} :: CreateLiveSourceResponse)++-- | The tags to assign to the live source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+createLiveSourceResponse_tags :: Lens.Lens' CreateLiveSourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createLiveSourceResponse_tags = Lens.lens (\CreateLiveSourceResponse' {tags} -> tags) (\s@CreateLiveSourceResponse' {} a -> s {tags = a} :: CreateLiveSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+createLiveSourceResponse_httpStatus :: Lens.Lens' CreateLiveSourceResponse Prelude.Int+createLiveSourceResponse_httpStatus = Lens.lens (\CreateLiveSourceResponse' {httpStatus} -> httpStatus) (\s@CreateLiveSourceResponse' {} a -> s {httpStatus = a} :: CreateLiveSourceResponse)++instance Prelude.NFData CreateLiveSourceResponse where+ rnf CreateLiveSourceResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf httpPackageConfigurations+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf liveSourceName+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/CreatePrefetchSchedule.hs view
@@ -0,0 +1,370 @@+{-# 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.MediaTailor.CreatePrefetchSchedule+-- 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 prefetch schedule for a playback configuration. A prefetch+-- schedule allows you to tell MediaTailor to fetch and prepare certain ads+-- before an ad break happens. For more information about ad prefetching,+-- see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/prefetching-ads.html Using ad prefetching>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.CreatePrefetchSchedule+ ( -- * Creating a Request+ CreatePrefetchSchedule (..),+ newCreatePrefetchSchedule,++ -- * Request Lenses+ createPrefetchSchedule_streamId,+ createPrefetchSchedule_consumption,+ createPrefetchSchedule_name,+ createPrefetchSchedule_playbackConfigurationName,+ createPrefetchSchedule_retrieval,++ -- * Destructuring the Response+ CreatePrefetchScheduleResponse (..),+ newCreatePrefetchScheduleResponse,++ -- * Response Lenses+ createPrefetchScheduleResponse_arn,+ createPrefetchScheduleResponse_consumption,+ createPrefetchScheduleResponse_name,+ createPrefetchScheduleResponse_playbackConfigurationName,+ createPrefetchScheduleResponse_retrieval,+ createPrefetchScheduleResponse_streamId,+ createPrefetchScheduleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreatePrefetchSchedule' smart constructor.+data CreatePrefetchSchedule = CreatePrefetchSchedule'+ { -- | An optional stream identifier that MediaTailor uses to prefetch ads for+ -- multiple streams that use the same playback configuration. If @StreamId@+ -- is specified, MediaTailor returns all of the prefetch schedules with an+ -- exact match on @StreamId@. If not specified, MediaTailor returns all of+ -- the prefetch schedules for the playback configuration, regardless of+ -- @StreamId@.+ streamId :: Prelude.Maybe Prelude.Text,+ -- | The configuration settings for MediaTailor\'s /consumption/ of the+ -- prefetched ads from the ad decision server. Each consumption+ -- configuration contains an end time and an optional start time that+ -- define the /consumption window/. Prefetch schedules automatically expire+ -- no earlier than seven days after the end time.+ consumption :: PrefetchConsumption,+ -- | The name to assign to the schedule request.+ name :: Prelude.Text,+ -- | The name to assign to the playback configuration.+ playbackConfigurationName :: Prelude.Text,+ -- | The configuration settings for retrieval of prefetched ads from the ad+ -- decision server. Only one set of prefetched ads will be retrieved and+ -- subsequently consumed for each ad break.+ retrieval :: PrefetchRetrieval+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreatePrefetchSchedule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'streamId', 'createPrefetchSchedule_streamId' - An optional stream identifier that MediaTailor uses to prefetch ads for+-- multiple streams that use the same playback configuration. If @StreamId@+-- is specified, MediaTailor returns all of the prefetch schedules with an+-- exact match on @StreamId@. If not specified, MediaTailor returns all of+-- the prefetch schedules for the playback configuration, regardless of+-- @StreamId@.+--+-- 'consumption', 'createPrefetchSchedule_consumption' - The configuration settings for MediaTailor\'s /consumption/ of the+-- prefetched ads from the ad decision server. Each consumption+-- configuration contains an end time and an optional start time that+-- define the /consumption window/. Prefetch schedules automatically expire+-- no earlier than seven days after the end time.+--+-- 'name', 'createPrefetchSchedule_name' - The name to assign to the schedule request.+--+-- 'playbackConfigurationName', 'createPrefetchSchedule_playbackConfigurationName' - The name to assign to the playback configuration.+--+-- 'retrieval', 'createPrefetchSchedule_retrieval' - The configuration settings for retrieval of prefetched ads from the ad+-- decision server. Only one set of prefetched ads will be retrieved and+-- subsequently consumed for each ad break.+newCreatePrefetchSchedule ::+ -- | 'consumption'+ PrefetchConsumption ->+ -- | 'name'+ Prelude.Text ->+ -- | 'playbackConfigurationName'+ Prelude.Text ->+ -- | 'retrieval'+ PrefetchRetrieval ->+ CreatePrefetchSchedule+newCreatePrefetchSchedule+ pConsumption_+ pName_+ pPlaybackConfigurationName_+ pRetrieval_ =+ CreatePrefetchSchedule'+ { streamId = Prelude.Nothing,+ consumption = pConsumption_,+ name = pName_,+ playbackConfigurationName =+ pPlaybackConfigurationName_,+ retrieval = pRetrieval_+ }++-- | An optional stream identifier that MediaTailor uses to prefetch ads for+-- multiple streams that use the same playback configuration. If @StreamId@+-- is specified, MediaTailor returns all of the prefetch schedules with an+-- exact match on @StreamId@. If not specified, MediaTailor returns all of+-- the prefetch schedules for the playback configuration, regardless of+-- @StreamId@.+createPrefetchSchedule_streamId :: Lens.Lens' CreatePrefetchSchedule (Prelude.Maybe Prelude.Text)+createPrefetchSchedule_streamId = Lens.lens (\CreatePrefetchSchedule' {streamId} -> streamId) (\s@CreatePrefetchSchedule' {} a -> s {streamId = a} :: CreatePrefetchSchedule)++-- | The configuration settings for MediaTailor\'s /consumption/ of the+-- prefetched ads from the ad decision server. Each consumption+-- configuration contains an end time and an optional start time that+-- define the /consumption window/. Prefetch schedules automatically expire+-- no earlier than seven days after the end time.+createPrefetchSchedule_consumption :: Lens.Lens' CreatePrefetchSchedule PrefetchConsumption+createPrefetchSchedule_consumption = Lens.lens (\CreatePrefetchSchedule' {consumption} -> consumption) (\s@CreatePrefetchSchedule' {} a -> s {consumption = a} :: CreatePrefetchSchedule)++-- | The name to assign to the schedule request.+createPrefetchSchedule_name :: Lens.Lens' CreatePrefetchSchedule Prelude.Text+createPrefetchSchedule_name = Lens.lens (\CreatePrefetchSchedule' {name} -> name) (\s@CreatePrefetchSchedule' {} a -> s {name = a} :: CreatePrefetchSchedule)++-- | The name to assign to the playback configuration.+createPrefetchSchedule_playbackConfigurationName :: Lens.Lens' CreatePrefetchSchedule Prelude.Text+createPrefetchSchedule_playbackConfigurationName = Lens.lens (\CreatePrefetchSchedule' {playbackConfigurationName} -> playbackConfigurationName) (\s@CreatePrefetchSchedule' {} a -> s {playbackConfigurationName = a} :: CreatePrefetchSchedule)++-- | The configuration settings for retrieval of prefetched ads from the ad+-- decision server. Only one set of prefetched ads will be retrieved and+-- subsequently consumed for each ad break.+createPrefetchSchedule_retrieval :: Lens.Lens' CreatePrefetchSchedule PrefetchRetrieval+createPrefetchSchedule_retrieval = Lens.lens (\CreatePrefetchSchedule' {retrieval} -> retrieval) (\s@CreatePrefetchSchedule' {} a -> s {retrieval = a} :: CreatePrefetchSchedule)++instance Core.AWSRequest CreatePrefetchSchedule where+ type+ AWSResponse CreatePrefetchSchedule =+ CreatePrefetchScheduleResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreatePrefetchScheduleResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "Consumption")+ Prelude.<*> (x Data..?> "Name")+ Prelude.<*> (x Data..?> "PlaybackConfigurationName")+ Prelude.<*> (x Data..?> "Retrieval")+ Prelude.<*> (x Data..?> "StreamId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreatePrefetchSchedule where+ hashWithSalt _salt CreatePrefetchSchedule' {..} =+ _salt+ `Prelude.hashWithSalt` streamId+ `Prelude.hashWithSalt` consumption+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` playbackConfigurationName+ `Prelude.hashWithSalt` retrieval++instance Prelude.NFData CreatePrefetchSchedule where+ rnf CreatePrefetchSchedule' {..} =+ Prelude.rnf streamId+ `Prelude.seq` Prelude.rnf consumption+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf playbackConfigurationName+ `Prelude.seq` Prelude.rnf retrieval++instance Data.ToHeaders CreatePrefetchSchedule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreatePrefetchSchedule where+ toJSON CreatePrefetchSchedule' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("StreamId" Data..=) Prelude.<$> streamId,+ Prelude.Just ("Consumption" Data..= consumption),+ Prelude.Just ("Retrieval" Data..= retrieval)+ ]+ )++instance Data.ToPath CreatePrefetchSchedule where+ toPath CreatePrefetchSchedule' {..} =+ Prelude.mconcat+ [ "/prefetchSchedule/",+ Data.toBS playbackConfigurationName,+ "/",+ Data.toBS name+ ]++instance Data.ToQuery CreatePrefetchSchedule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreatePrefetchScheduleResponse' smart constructor.+data CreatePrefetchScheduleResponse = CreatePrefetchScheduleResponse'+ { -- | The ARN to assign to the prefetch schedule.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The configuration settings for MediaTailor\'s /consumption/ of the+ -- prefetched ads from the ad decision server. Each consumption+ -- configuration contains an end time and an optional start time that+ -- define the /consumption window/. Prefetch schedules automatically expire+ -- no earlier than seven days after the end time.+ consumption :: Prelude.Maybe PrefetchConsumption,+ -- | The name to assign to the prefetch schedule.+ name :: Prelude.Maybe Prelude.Text,+ -- | The name to assign to the playback configuration.+ playbackConfigurationName :: Prelude.Maybe Prelude.Text,+ -- | The configuration settings for retrieval of prefetched ads from the ad+ -- decision server. Only one set of prefetched ads will be retrieved and+ -- subsequently consumed for each ad break.+ retrieval :: Prelude.Maybe PrefetchRetrieval,+ -- | An optional stream identifier that MediaTailor uses to prefetch ads for+ -- multiple streams that use the same playback configuration. If @StreamId@+ -- is specified, MediaTailor returns all of the prefetch schedules with an+ -- exact match on @StreamId@. If not specified, MediaTailor returns all of+ -- the prefetch schedules for the playback configuration, regardless of+ -- @StreamId@.+ streamId :: 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 'CreatePrefetchScheduleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createPrefetchScheduleResponse_arn' - The ARN to assign to the prefetch schedule.+--+-- 'consumption', 'createPrefetchScheduleResponse_consumption' - The configuration settings for MediaTailor\'s /consumption/ of the+-- prefetched ads from the ad decision server. Each consumption+-- configuration contains an end time and an optional start time that+-- define the /consumption window/. Prefetch schedules automatically expire+-- no earlier than seven days after the end time.+--+-- 'name', 'createPrefetchScheduleResponse_name' - The name to assign to the prefetch schedule.+--+-- 'playbackConfigurationName', 'createPrefetchScheduleResponse_playbackConfigurationName' - The name to assign to the playback configuration.+--+-- 'retrieval', 'createPrefetchScheduleResponse_retrieval' - The configuration settings for retrieval of prefetched ads from the ad+-- decision server. Only one set of prefetched ads will be retrieved and+-- subsequently consumed for each ad break.+--+-- 'streamId', 'createPrefetchScheduleResponse_streamId' - An optional stream identifier that MediaTailor uses to prefetch ads for+-- multiple streams that use the same playback configuration. If @StreamId@+-- is specified, MediaTailor returns all of the prefetch schedules with an+-- exact match on @StreamId@. If not specified, MediaTailor returns all of+-- the prefetch schedules for the playback configuration, regardless of+-- @StreamId@.+--+-- 'httpStatus', 'createPrefetchScheduleResponse_httpStatus' - The response's http status code.+newCreatePrefetchScheduleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreatePrefetchScheduleResponse+newCreatePrefetchScheduleResponse pHttpStatus_ =+ CreatePrefetchScheduleResponse'+ { arn =+ Prelude.Nothing,+ consumption = Prelude.Nothing,+ name = Prelude.Nothing,+ playbackConfigurationName = Prelude.Nothing,+ retrieval = Prelude.Nothing,+ streamId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN to assign to the prefetch schedule.+createPrefetchScheduleResponse_arn :: Lens.Lens' CreatePrefetchScheduleResponse (Prelude.Maybe Prelude.Text)+createPrefetchScheduleResponse_arn = Lens.lens (\CreatePrefetchScheduleResponse' {arn} -> arn) (\s@CreatePrefetchScheduleResponse' {} a -> s {arn = a} :: CreatePrefetchScheduleResponse)++-- | The configuration settings for MediaTailor\'s /consumption/ of the+-- prefetched ads from the ad decision server. Each consumption+-- configuration contains an end time and an optional start time that+-- define the /consumption window/. Prefetch schedules automatically expire+-- no earlier than seven days after the end time.+createPrefetchScheduleResponse_consumption :: Lens.Lens' CreatePrefetchScheduleResponse (Prelude.Maybe PrefetchConsumption)+createPrefetchScheduleResponse_consumption = Lens.lens (\CreatePrefetchScheduleResponse' {consumption} -> consumption) (\s@CreatePrefetchScheduleResponse' {} a -> s {consumption = a} :: CreatePrefetchScheduleResponse)++-- | The name to assign to the prefetch schedule.+createPrefetchScheduleResponse_name :: Lens.Lens' CreatePrefetchScheduleResponse (Prelude.Maybe Prelude.Text)+createPrefetchScheduleResponse_name = Lens.lens (\CreatePrefetchScheduleResponse' {name} -> name) (\s@CreatePrefetchScheduleResponse' {} a -> s {name = a} :: CreatePrefetchScheduleResponse)++-- | The name to assign to the playback configuration.+createPrefetchScheduleResponse_playbackConfigurationName :: Lens.Lens' CreatePrefetchScheduleResponse (Prelude.Maybe Prelude.Text)+createPrefetchScheduleResponse_playbackConfigurationName = Lens.lens (\CreatePrefetchScheduleResponse' {playbackConfigurationName} -> playbackConfigurationName) (\s@CreatePrefetchScheduleResponse' {} a -> s {playbackConfigurationName = a} :: CreatePrefetchScheduleResponse)++-- | The configuration settings for retrieval of prefetched ads from the ad+-- decision server. Only one set of prefetched ads will be retrieved and+-- subsequently consumed for each ad break.+createPrefetchScheduleResponse_retrieval :: Lens.Lens' CreatePrefetchScheduleResponse (Prelude.Maybe PrefetchRetrieval)+createPrefetchScheduleResponse_retrieval = Lens.lens (\CreatePrefetchScheduleResponse' {retrieval} -> retrieval) (\s@CreatePrefetchScheduleResponse' {} a -> s {retrieval = a} :: CreatePrefetchScheduleResponse)++-- | An optional stream identifier that MediaTailor uses to prefetch ads for+-- multiple streams that use the same playback configuration. If @StreamId@+-- is specified, MediaTailor returns all of the prefetch schedules with an+-- exact match on @StreamId@. If not specified, MediaTailor returns all of+-- the prefetch schedules for the playback configuration, regardless of+-- @StreamId@.+createPrefetchScheduleResponse_streamId :: Lens.Lens' CreatePrefetchScheduleResponse (Prelude.Maybe Prelude.Text)+createPrefetchScheduleResponse_streamId = Lens.lens (\CreatePrefetchScheduleResponse' {streamId} -> streamId) (\s@CreatePrefetchScheduleResponse' {} a -> s {streamId = a} :: CreatePrefetchScheduleResponse)++-- | The response's http status code.+createPrefetchScheduleResponse_httpStatus :: Lens.Lens' CreatePrefetchScheduleResponse Prelude.Int+createPrefetchScheduleResponse_httpStatus = Lens.lens (\CreatePrefetchScheduleResponse' {httpStatus} -> httpStatus) (\s@CreatePrefetchScheduleResponse' {} a -> s {httpStatus = a} :: CreatePrefetchScheduleResponse)++instance+ Prelude.NFData+ CreatePrefetchScheduleResponse+ where+ rnf CreatePrefetchScheduleResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf consumption+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf playbackConfigurationName+ `Prelude.seq` Prelude.rnf retrieval+ `Prelude.seq` Prelude.rnf streamId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/CreateProgram.hs view
@@ -0,0 +1,363 @@+{-# 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.MediaTailor.CreateProgram+-- 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 program within a channel. For information about programs, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-programs.html Working with programs>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.CreateProgram+ ( -- * Creating a Request+ CreateProgram (..),+ newCreateProgram,++ -- * Request Lenses+ createProgram_adBreaks,+ createProgram_liveSourceName,+ createProgram_vodSourceName,+ createProgram_channelName,+ createProgram_programName,+ createProgram_scheduleConfiguration,+ createProgram_sourceLocationName,++ -- * Destructuring the Response+ CreateProgramResponse (..),+ newCreateProgramResponse,++ -- * Response Lenses+ createProgramResponse_adBreaks,+ createProgramResponse_arn,+ createProgramResponse_channelName,+ createProgramResponse_creationTime,+ createProgramResponse_liveSourceName,+ createProgramResponse_programName,+ createProgramResponse_scheduledStartTime,+ createProgramResponse_sourceLocationName,+ createProgramResponse_vodSourceName,+ createProgramResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateProgram' smart constructor.+data CreateProgram = CreateProgram'+ { -- | The ad break configuration settings.+ adBreaks :: Prelude.Maybe [AdBreak],+ -- | The name of the LiveSource for this Program.+ liveSourceName :: Prelude.Maybe Prelude.Text,+ -- | The name that\'s used to refer to a VOD source.+ vodSourceName :: Prelude.Maybe Prelude.Text,+ -- | The name of the channel for this Program.+ channelName :: Prelude.Text,+ -- | The name of the Program.+ programName :: Prelude.Text,+ -- | The schedule configuration settings.+ scheduleConfiguration :: ScheduleConfiguration,+ -- | The name of the source location.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateProgram' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adBreaks', 'createProgram_adBreaks' - The ad break configuration settings.+--+-- 'liveSourceName', 'createProgram_liveSourceName' - The name of the LiveSource for this Program.+--+-- 'vodSourceName', 'createProgram_vodSourceName' - The name that\'s used to refer to a VOD source.+--+-- 'channelName', 'createProgram_channelName' - The name of the channel for this Program.+--+-- 'programName', 'createProgram_programName' - The name of the Program.+--+-- 'scheduleConfiguration', 'createProgram_scheduleConfiguration' - The schedule configuration settings.+--+-- 'sourceLocationName', 'createProgram_sourceLocationName' - The name of the source location.+newCreateProgram ::+ -- | 'channelName'+ Prelude.Text ->+ -- | 'programName'+ Prelude.Text ->+ -- | 'scheduleConfiguration'+ ScheduleConfiguration ->+ -- | 'sourceLocationName'+ Prelude.Text ->+ CreateProgram+newCreateProgram+ pChannelName_+ pProgramName_+ pScheduleConfiguration_+ pSourceLocationName_ =+ CreateProgram'+ { adBreaks = Prelude.Nothing,+ liveSourceName = Prelude.Nothing,+ vodSourceName = Prelude.Nothing,+ channelName = pChannelName_,+ programName = pProgramName_,+ scheduleConfiguration = pScheduleConfiguration_,+ sourceLocationName = pSourceLocationName_+ }++-- | The ad break configuration settings.+createProgram_adBreaks :: Lens.Lens' CreateProgram (Prelude.Maybe [AdBreak])+createProgram_adBreaks = Lens.lens (\CreateProgram' {adBreaks} -> adBreaks) (\s@CreateProgram' {} a -> s {adBreaks = a} :: CreateProgram) Prelude.. Lens.mapping Lens.coerced++-- | The name of the LiveSource for this Program.+createProgram_liveSourceName :: Lens.Lens' CreateProgram (Prelude.Maybe Prelude.Text)+createProgram_liveSourceName = Lens.lens (\CreateProgram' {liveSourceName} -> liveSourceName) (\s@CreateProgram' {} a -> s {liveSourceName = a} :: CreateProgram)++-- | The name that\'s used to refer to a VOD source.+createProgram_vodSourceName :: Lens.Lens' CreateProgram (Prelude.Maybe Prelude.Text)+createProgram_vodSourceName = Lens.lens (\CreateProgram' {vodSourceName} -> vodSourceName) (\s@CreateProgram' {} a -> s {vodSourceName = a} :: CreateProgram)++-- | The name of the channel for this Program.+createProgram_channelName :: Lens.Lens' CreateProgram Prelude.Text+createProgram_channelName = Lens.lens (\CreateProgram' {channelName} -> channelName) (\s@CreateProgram' {} a -> s {channelName = a} :: CreateProgram)++-- | The name of the Program.+createProgram_programName :: Lens.Lens' CreateProgram Prelude.Text+createProgram_programName = Lens.lens (\CreateProgram' {programName} -> programName) (\s@CreateProgram' {} a -> s {programName = a} :: CreateProgram)++-- | The schedule configuration settings.+createProgram_scheduleConfiguration :: Lens.Lens' CreateProgram ScheduleConfiguration+createProgram_scheduleConfiguration = Lens.lens (\CreateProgram' {scheduleConfiguration} -> scheduleConfiguration) (\s@CreateProgram' {} a -> s {scheduleConfiguration = a} :: CreateProgram)++-- | The name of the source location.+createProgram_sourceLocationName :: Lens.Lens' CreateProgram Prelude.Text+createProgram_sourceLocationName = Lens.lens (\CreateProgram' {sourceLocationName} -> sourceLocationName) (\s@CreateProgram' {} a -> s {sourceLocationName = a} :: CreateProgram)++instance Core.AWSRequest CreateProgram where+ type+ AWSResponse CreateProgram =+ CreateProgramResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateProgramResponse'+ Prelude.<$> (x Data..?> "AdBreaks" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "ChannelName")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "LiveSourceName")+ Prelude.<*> (x Data..?> "ProgramName")+ Prelude.<*> (x Data..?> "ScheduledStartTime")+ Prelude.<*> (x Data..?> "SourceLocationName")+ Prelude.<*> (x Data..?> "VodSourceName")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateProgram where+ hashWithSalt _salt CreateProgram' {..} =+ _salt+ `Prelude.hashWithSalt` adBreaks+ `Prelude.hashWithSalt` liveSourceName+ `Prelude.hashWithSalt` vodSourceName+ `Prelude.hashWithSalt` channelName+ `Prelude.hashWithSalt` programName+ `Prelude.hashWithSalt` scheduleConfiguration+ `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData CreateProgram where+ rnf CreateProgram' {..} =+ Prelude.rnf adBreaks+ `Prelude.seq` Prelude.rnf liveSourceName+ `Prelude.seq` Prelude.rnf vodSourceName+ `Prelude.seq` Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf programName+ `Prelude.seq` Prelude.rnf scheduleConfiguration+ `Prelude.seq` Prelude.rnf sourceLocationName++instance Data.ToHeaders CreateProgram where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateProgram where+ toJSON CreateProgram' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AdBreaks" Data..=) Prelude.<$> adBreaks,+ ("LiveSourceName" Data..=)+ Prelude.<$> liveSourceName,+ ("VodSourceName" Data..=) Prelude.<$> vodSourceName,+ Prelude.Just+ ( "ScheduleConfiguration"+ Data..= scheduleConfiguration+ ),+ Prelude.Just+ ("SourceLocationName" Data..= sourceLocationName)+ ]+ )++instance Data.ToPath CreateProgram where+ toPath CreateProgram' {..} =+ Prelude.mconcat+ [ "/channel/",+ Data.toBS channelName,+ "/program/",+ Data.toBS programName+ ]++instance Data.ToQuery CreateProgram where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateProgramResponse' smart constructor.+data CreateProgramResponse = CreateProgramResponse'+ { -- | The ad break configuration settings.+ adBreaks :: Prelude.Maybe [AdBreak],+ -- | The ARN to assign to the program.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The name to assign to the channel for this program.+ channelName :: Prelude.Maybe Prelude.Text,+ -- | The time the program was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the LiveSource for this Program.+ liveSourceName :: Prelude.Maybe Prelude.Text,+ -- | The name to assign to this program.+ programName :: Prelude.Maybe Prelude.Text,+ -- | The scheduled start time for this Program.+ scheduledStartTime :: Prelude.Maybe Data.POSIX,+ -- | The name to assign to the source location for this program.+ sourceLocationName :: Prelude.Maybe Prelude.Text,+ -- | The name that\'s used to refer to a VOD source.+ vodSourceName :: 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 'CreateProgramResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adBreaks', 'createProgramResponse_adBreaks' - The ad break configuration settings.+--+-- 'arn', 'createProgramResponse_arn' - The ARN to assign to the program.+--+-- 'channelName', 'createProgramResponse_channelName' - The name to assign to the channel for this program.+--+-- 'creationTime', 'createProgramResponse_creationTime' - The time the program was created.+--+-- 'liveSourceName', 'createProgramResponse_liveSourceName' - The name of the LiveSource for this Program.+--+-- 'programName', 'createProgramResponse_programName' - The name to assign to this program.+--+-- 'scheduledStartTime', 'createProgramResponse_scheduledStartTime' - The scheduled start time for this Program.+--+-- 'sourceLocationName', 'createProgramResponse_sourceLocationName' - The name to assign to the source location for this program.+--+-- 'vodSourceName', 'createProgramResponse_vodSourceName' - The name that\'s used to refer to a VOD source.+--+-- 'httpStatus', 'createProgramResponse_httpStatus' - The response's http status code.+newCreateProgramResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateProgramResponse+newCreateProgramResponse pHttpStatus_ =+ CreateProgramResponse'+ { adBreaks = Prelude.Nothing,+ arn = Prelude.Nothing,+ channelName = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ liveSourceName = Prelude.Nothing,+ programName = Prelude.Nothing,+ scheduledStartTime = Prelude.Nothing,+ sourceLocationName = Prelude.Nothing,+ vodSourceName = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ad break configuration settings.+createProgramResponse_adBreaks :: Lens.Lens' CreateProgramResponse (Prelude.Maybe [AdBreak])+createProgramResponse_adBreaks = Lens.lens (\CreateProgramResponse' {adBreaks} -> adBreaks) (\s@CreateProgramResponse' {} a -> s {adBreaks = a} :: CreateProgramResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN to assign to the program.+createProgramResponse_arn :: Lens.Lens' CreateProgramResponse (Prelude.Maybe Prelude.Text)+createProgramResponse_arn = Lens.lens (\CreateProgramResponse' {arn} -> arn) (\s@CreateProgramResponse' {} a -> s {arn = a} :: CreateProgramResponse)++-- | The name to assign to the channel for this program.+createProgramResponse_channelName :: Lens.Lens' CreateProgramResponse (Prelude.Maybe Prelude.Text)+createProgramResponse_channelName = Lens.lens (\CreateProgramResponse' {channelName} -> channelName) (\s@CreateProgramResponse' {} a -> s {channelName = a} :: CreateProgramResponse)++-- | The time the program was created.+createProgramResponse_creationTime :: Lens.Lens' CreateProgramResponse (Prelude.Maybe Prelude.UTCTime)+createProgramResponse_creationTime = Lens.lens (\CreateProgramResponse' {creationTime} -> creationTime) (\s@CreateProgramResponse' {} a -> s {creationTime = a} :: CreateProgramResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the LiveSource for this Program.+createProgramResponse_liveSourceName :: Lens.Lens' CreateProgramResponse (Prelude.Maybe Prelude.Text)+createProgramResponse_liveSourceName = Lens.lens (\CreateProgramResponse' {liveSourceName} -> liveSourceName) (\s@CreateProgramResponse' {} a -> s {liveSourceName = a} :: CreateProgramResponse)++-- | The name to assign to this program.+createProgramResponse_programName :: Lens.Lens' CreateProgramResponse (Prelude.Maybe Prelude.Text)+createProgramResponse_programName = Lens.lens (\CreateProgramResponse' {programName} -> programName) (\s@CreateProgramResponse' {} a -> s {programName = a} :: CreateProgramResponse)++-- | The scheduled start time for this Program.+createProgramResponse_scheduledStartTime :: Lens.Lens' CreateProgramResponse (Prelude.Maybe Prelude.UTCTime)+createProgramResponse_scheduledStartTime = Lens.lens (\CreateProgramResponse' {scheduledStartTime} -> scheduledStartTime) (\s@CreateProgramResponse' {} a -> s {scheduledStartTime = a} :: CreateProgramResponse) Prelude.. Lens.mapping Data._Time++-- | The name to assign to the source location for this program.+createProgramResponse_sourceLocationName :: Lens.Lens' CreateProgramResponse (Prelude.Maybe Prelude.Text)+createProgramResponse_sourceLocationName = Lens.lens (\CreateProgramResponse' {sourceLocationName} -> sourceLocationName) (\s@CreateProgramResponse' {} a -> s {sourceLocationName = a} :: CreateProgramResponse)++-- | The name that\'s used to refer to a VOD source.+createProgramResponse_vodSourceName :: Lens.Lens' CreateProgramResponse (Prelude.Maybe Prelude.Text)+createProgramResponse_vodSourceName = Lens.lens (\CreateProgramResponse' {vodSourceName} -> vodSourceName) (\s@CreateProgramResponse' {} a -> s {vodSourceName = a} :: CreateProgramResponse)++-- | The response's http status code.+createProgramResponse_httpStatus :: Lens.Lens' CreateProgramResponse Prelude.Int+createProgramResponse_httpStatus = Lens.lens (\CreateProgramResponse' {httpStatus} -> httpStatus) (\s@CreateProgramResponse' {} a -> s {httpStatus = a} :: CreateProgramResponse)++instance Prelude.NFData CreateProgramResponse where+ rnf CreateProgramResponse' {..} =+ Prelude.rnf adBreaks+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf liveSourceName+ `Prelude.seq` Prelude.rnf programName+ `Prelude.seq` Prelude.rnf scheduledStartTime+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf vodSourceName+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/CreateSourceLocation.hs view
@@ -0,0 +1,382 @@+{-# 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.MediaTailor.CreateSourceLocation+-- 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 source location. A source location is a container for sources.+-- For more information about source locations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-source-locations.html Working with source locations>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.CreateSourceLocation+ ( -- * Creating a Request+ CreateSourceLocation (..),+ newCreateSourceLocation,++ -- * Request Lenses+ createSourceLocation_accessConfiguration,+ createSourceLocation_defaultSegmentDeliveryConfiguration,+ createSourceLocation_segmentDeliveryConfigurations,+ createSourceLocation_tags,+ createSourceLocation_httpConfiguration,+ createSourceLocation_sourceLocationName,++ -- * Destructuring the Response+ CreateSourceLocationResponse (..),+ newCreateSourceLocationResponse,++ -- * Response Lenses+ createSourceLocationResponse_accessConfiguration,+ createSourceLocationResponse_arn,+ createSourceLocationResponse_creationTime,+ createSourceLocationResponse_defaultSegmentDeliveryConfiguration,+ createSourceLocationResponse_httpConfiguration,+ createSourceLocationResponse_lastModifiedTime,+ createSourceLocationResponse_segmentDeliveryConfigurations,+ createSourceLocationResponse_sourceLocationName,+ createSourceLocationResponse_tags,+ createSourceLocationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateSourceLocation' smart constructor.+data CreateSourceLocation = CreateSourceLocation'+ { -- | Access configuration parameters. Configures the type of authentication+ -- used to access content from your source location.+ accessConfiguration :: Prelude.Maybe AccessConfiguration,+ -- | The optional configuration for the server that serves segments.+ defaultSegmentDeliveryConfiguration :: Prelude.Maybe DefaultSegmentDeliveryConfiguration,+ -- | A list of the segment delivery configurations associated with this+ -- resource.+ segmentDeliveryConfigurations :: Prelude.Maybe [SegmentDeliveryConfiguration],+ -- | The tags to assign to the source location. Tags are key-value pairs that+ -- you can associate with Amazon resources to help with organization,+ -- access control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The source\'s HTTP package configurations.+ httpConfiguration :: HttpConfiguration,+ -- | The name associated with the source location.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateSourceLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessConfiguration', 'createSourceLocation_accessConfiguration' - Access configuration parameters. Configures the type of authentication+-- used to access content from your source location.+--+-- 'defaultSegmentDeliveryConfiguration', 'createSourceLocation_defaultSegmentDeliveryConfiguration' - The optional configuration for the server that serves segments.+--+-- 'segmentDeliveryConfigurations', 'createSourceLocation_segmentDeliveryConfigurations' - A list of the segment delivery configurations associated with this+-- resource.+--+-- 'tags', 'createSourceLocation_tags' - The tags to assign to the source location. Tags are key-value pairs that+-- you can associate with Amazon resources to help with organization,+-- access control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'httpConfiguration', 'createSourceLocation_httpConfiguration' - The source\'s HTTP package configurations.+--+-- 'sourceLocationName', 'createSourceLocation_sourceLocationName' - The name associated with the source location.+newCreateSourceLocation ::+ -- | 'httpConfiguration'+ HttpConfiguration ->+ -- | 'sourceLocationName'+ Prelude.Text ->+ CreateSourceLocation+newCreateSourceLocation+ pHttpConfiguration_+ pSourceLocationName_ =+ CreateSourceLocation'+ { accessConfiguration =+ Prelude.Nothing,+ defaultSegmentDeliveryConfiguration =+ Prelude.Nothing,+ segmentDeliveryConfigurations = Prelude.Nothing,+ tags = Prelude.Nothing,+ httpConfiguration = pHttpConfiguration_,+ sourceLocationName = pSourceLocationName_+ }++-- | Access configuration parameters. Configures the type of authentication+-- used to access content from your source location.+createSourceLocation_accessConfiguration :: Lens.Lens' CreateSourceLocation (Prelude.Maybe AccessConfiguration)+createSourceLocation_accessConfiguration = Lens.lens (\CreateSourceLocation' {accessConfiguration} -> accessConfiguration) (\s@CreateSourceLocation' {} a -> s {accessConfiguration = a} :: CreateSourceLocation)++-- | The optional configuration for the server that serves segments.+createSourceLocation_defaultSegmentDeliveryConfiguration :: Lens.Lens' CreateSourceLocation (Prelude.Maybe DefaultSegmentDeliveryConfiguration)+createSourceLocation_defaultSegmentDeliveryConfiguration = Lens.lens (\CreateSourceLocation' {defaultSegmentDeliveryConfiguration} -> defaultSegmentDeliveryConfiguration) (\s@CreateSourceLocation' {} a -> s {defaultSegmentDeliveryConfiguration = a} :: CreateSourceLocation)++-- | A list of the segment delivery configurations associated with this+-- resource.+createSourceLocation_segmentDeliveryConfigurations :: Lens.Lens' CreateSourceLocation (Prelude.Maybe [SegmentDeliveryConfiguration])+createSourceLocation_segmentDeliveryConfigurations = Lens.lens (\CreateSourceLocation' {segmentDeliveryConfigurations} -> segmentDeliveryConfigurations) (\s@CreateSourceLocation' {} a -> s {segmentDeliveryConfigurations = a} :: CreateSourceLocation) Prelude.. Lens.mapping Lens.coerced++-- | The tags to assign to the source location. Tags are key-value pairs that+-- you can associate with Amazon resources to help with organization,+-- access control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+createSourceLocation_tags :: Lens.Lens' CreateSourceLocation (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createSourceLocation_tags = Lens.lens (\CreateSourceLocation' {tags} -> tags) (\s@CreateSourceLocation' {} a -> s {tags = a} :: CreateSourceLocation) Prelude.. Lens.mapping Lens.coerced++-- | The source\'s HTTP package configurations.+createSourceLocation_httpConfiguration :: Lens.Lens' CreateSourceLocation HttpConfiguration+createSourceLocation_httpConfiguration = Lens.lens (\CreateSourceLocation' {httpConfiguration} -> httpConfiguration) (\s@CreateSourceLocation' {} a -> s {httpConfiguration = a} :: CreateSourceLocation)++-- | The name associated with the source location.+createSourceLocation_sourceLocationName :: Lens.Lens' CreateSourceLocation Prelude.Text+createSourceLocation_sourceLocationName = Lens.lens (\CreateSourceLocation' {sourceLocationName} -> sourceLocationName) (\s@CreateSourceLocation' {} a -> s {sourceLocationName = a} :: CreateSourceLocation)++instance Core.AWSRequest CreateSourceLocation where+ type+ AWSResponse CreateSourceLocation =+ CreateSourceLocationResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateSourceLocationResponse'+ Prelude.<$> (x Data..?> "AccessConfiguration")+ Prelude.<*> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "DefaultSegmentDeliveryConfiguration")+ Prelude.<*> (x Data..?> "HttpConfiguration")+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> ( x+ Data..?> "SegmentDeliveryConfigurations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "SourceLocationName")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateSourceLocation where+ hashWithSalt _salt CreateSourceLocation' {..} =+ _salt+ `Prelude.hashWithSalt` accessConfiguration+ `Prelude.hashWithSalt` defaultSegmentDeliveryConfiguration+ `Prelude.hashWithSalt` segmentDeliveryConfigurations+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` httpConfiguration+ `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData CreateSourceLocation where+ rnf CreateSourceLocation' {..} =+ Prelude.rnf accessConfiguration+ `Prelude.seq` Prelude.rnf defaultSegmentDeliveryConfiguration+ `Prelude.seq` Prelude.rnf segmentDeliveryConfigurations+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpConfiguration+ `Prelude.seq` Prelude.rnf sourceLocationName++instance Data.ToHeaders CreateSourceLocation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateSourceLocation where+ toJSON CreateSourceLocation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AccessConfiguration" Data..=)+ Prelude.<$> accessConfiguration,+ ("DefaultSegmentDeliveryConfiguration" Data..=)+ Prelude.<$> defaultSegmentDeliveryConfiguration,+ ("SegmentDeliveryConfigurations" Data..=)+ Prelude.<$> segmentDeliveryConfigurations,+ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ("HttpConfiguration" Data..= httpConfiguration)+ ]+ )++instance Data.ToPath CreateSourceLocation where+ toPath CreateSourceLocation' {..} =+ Prelude.mconcat+ ["/sourceLocation/", Data.toBS sourceLocationName]++instance Data.ToQuery CreateSourceLocation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateSourceLocationResponse' smart constructor.+data CreateSourceLocationResponse = CreateSourceLocationResponse'+ { -- | Access configuration parameters. Configures the type of authentication+ -- used to access content from your source location.+ accessConfiguration :: Prelude.Maybe AccessConfiguration,+ -- | The ARN to assign to the source location.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The time the source location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The optional configuration for the server that serves segments.+ defaultSegmentDeliveryConfiguration :: Prelude.Maybe DefaultSegmentDeliveryConfiguration,+ -- | The source\'s HTTP package configurations.+ httpConfiguration :: Prelude.Maybe HttpConfiguration,+ -- | The time the source location was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The segment delivery configurations for the source location. For+ -- information about MediaTailor configurations, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html Working with configurations in AWS Elemental MediaTailor>.+ segmentDeliveryConfigurations :: Prelude.Maybe [SegmentDeliveryConfiguration],+ -- | The name to assign to the source location.+ sourceLocationName :: Prelude.Maybe Prelude.Text,+ -- | The tags to assign to the source location. Tags are key-value pairs that+ -- you can associate with Amazon resources to help with organization,+ -- access control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ 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 'CreateSourceLocationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessConfiguration', 'createSourceLocationResponse_accessConfiguration' - Access configuration parameters. Configures the type of authentication+-- used to access content from your source location.+--+-- 'arn', 'createSourceLocationResponse_arn' - The ARN to assign to the source location.+--+-- 'creationTime', 'createSourceLocationResponse_creationTime' - The time the source location was created.+--+-- 'defaultSegmentDeliveryConfiguration', 'createSourceLocationResponse_defaultSegmentDeliveryConfiguration' - The optional configuration for the server that serves segments.+--+-- 'httpConfiguration', 'createSourceLocationResponse_httpConfiguration' - The source\'s HTTP package configurations.+--+-- 'lastModifiedTime', 'createSourceLocationResponse_lastModifiedTime' - The time the source location was last modified.+--+-- 'segmentDeliveryConfigurations', 'createSourceLocationResponse_segmentDeliveryConfigurations' - The segment delivery configurations for the source location. For+-- information about MediaTailor configurations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html Working with configurations in AWS Elemental MediaTailor>.+--+-- 'sourceLocationName', 'createSourceLocationResponse_sourceLocationName' - The name to assign to the source location.+--+-- 'tags', 'createSourceLocationResponse_tags' - The tags to assign to the source location. Tags are key-value pairs that+-- you can associate with Amazon resources to help with organization,+-- access control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'httpStatus', 'createSourceLocationResponse_httpStatus' - The response's http status code.+newCreateSourceLocationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateSourceLocationResponse+newCreateSourceLocationResponse pHttpStatus_ =+ CreateSourceLocationResponse'+ { accessConfiguration =+ Prelude.Nothing,+ arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ defaultSegmentDeliveryConfiguration =+ Prelude.Nothing,+ httpConfiguration = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ segmentDeliveryConfigurations =+ Prelude.Nothing,+ sourceLocationName = Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Access configuration parameters. Configures the type of authentication+-- used to access content from your source location.+createSourceLocationResponse_accessConfiguration :: Lens.Lens' CreateSourceLocationResponse (Prelude.Maybe AccessConfiguration)+createSourceLocationResponse_accessConfiguration = Lens.lens (\CreateSourceLocationResponse' {accessConfiguration} -> accessConfiguration) (\s@CreateSourceLocationResponse' {} a -> s {accessConfiguration = a} :: CreateSourceLocationResponse)++-- | The ARN to assign to the source location.+createSourceLocationResponse_arn :: Lens.Lens' CreateSourceLocationResponse (Prelude.Maybe Prelude.Text)+createSourceLocationResponse_arn = Lens.lens (\CreateSourceLocationResponse' {arn} -> arn) (\s@CreateSourceLocationResponse' {} a -> s {arn = a} :: CreateSourceLocationResponse)++-- | The time the source location was created.+createSourceLocationResponse_creationTime :: Lens.Lens' CreateSourceLocationResponse (Prelude.Maybe Prelude.UTCTime)+createSourceLocationResponse_creationTime = Lens.lens (\CreateSourceLocationResponse' {creationTime} -> creationTime) (\s@CreateSourceLocationResponse' {} a -> s {creationTime = a} :: CreateSourceLocationResponse) Prelude.. Lens.mapping Data._Time++-- | The optional configuration for the server that serves segments.+createSourceLocationResponse_defaultSegmentDeliveryConfiguration :: Lens.Lens' CreateSourceLocationResponse (Prelude.Maybe DefaultSegmentDeliveryConfiguration)+createSourceLocationResponse_defaultSegmentDeliveryConfiguration = Lens.lens (\CreateSourceLocationResponse' {defaultSegmentDeliveryConfiguration} -> defaultSegmentDeliveryConfiguration) (\s@CreateSourceLocationResponse' {} a -> s {defaultSegmentDeliveryConfiguration = a} :: CreateSourceLocationResponse)++-- | The source\'s HTTP package configurations.+createSourceLocationResponse_httpConfiguration :: Lens.Lens' CreateSourceLocationResponse (Prelude.Maybe HttpConfiguration)+createSourceLocationResponse_httpConfiguration = Lens.lens (\CreateSourceLocationResponse' {httpConfiguration} -> httpConfiguration) (\s@CreateSourceLocationResponse' {} a -> s {httpConfiguration = a} :: CreateSourceLocationResponse)++-- | The time the source location was last modified.+createSourceLocationResponse_lastModifiedTime :: Lens.Lens' CreateSourceLocationResponse (Prelude.Maybe Prelude.UTCTime)+createSourceLocationResponse_lastModifiedTime = Lens.lens (\CreateSourceLocationResponse' {lastModifiedTime} -> lastModifiedTime) (\s@CreateSourceLocationResponse' {} a -> s {lastModifiedTime = a} :: CreateSourceLocationResponse) Prelude.. Lens.mapping Data._Time++-- | The segment delivery configurations for the source location. For+-- information about MediaTailor configurations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html Working with configurations in AWS Elemental MediaTailor>.+createSourceLocationResponse_segmentDeliveryConfigurations :: Lens.Lens' CreateSourceLocationResponse (Prelude.Maybe [SegmentDeliveryConfiguration])+createSourceLocationResponse_segmentDeliveryConfigurations = Lens.lens (\CreateSourceLocationResponse' {segmentDeliveryConfigurations} -> segmentDeliveryConfigurations) (\s@CreateSourceLocationResponse' {} a -> s {segmentDeliveryConfigurations = a} :: CreateSourceLocationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The name to assign to the source location.+createSourceLocationResponse_sourceLocationName :: Lens.Lens' CreateSourceLocationResponse (Prelude.Maybe Prelude.Text)+createSourceLocationResponse_sourceLocationName = Lens.lens (\CreateSourceLocationResponse' {sourceLocationName} -> sourceLocationName) (\s@CreateSourceLocationResponse' {} a -> s {sourceLocationName = a} :: CreateSourceLocationResponse)++-- | The tags to assign to the source location. Tags are key-value pairs that+-- you can associate with Amazon resources to help with organization,+-- access control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+createSourceLocationResponse_tags :: Lens.Lens' CreateSourceLocationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createSourceLocationResponse_tags = Lens.lens (\CreateSourceLocationResponse' {tags} -> tags) (\s@CreateSourceLocationResponse' {} a -> s {tags = a} :: CreateSourceLocationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+createSourceLocationResponse_httpStatus :: Lens.Lens' CreateSourceLocationResponse Prelude.Int+createSourceLocationResponse_httpStatus = Lens.lens (\CreateSourceLocationResponse' {httpStatus} -> httpStatus) (\s@CreateSourceLocationResponse' {} a -> s {httpStatus = a} :: CreateSourceLocationResponse)++instance Prelude.NFData CreateSourceLocationResponse where+ rnf CreateSourceLocationResponse' {..} =+ Prelude.rnf accessConfiguration+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf defaultSegmentDeliveryConfiguration+ `Prelude.seq` Prelude.rnf httpConfiguration+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf segmentDeliveryConfigurations+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/CreateVodSource.hs view
@@ -0,0 +1,311 @@+{-# 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.MediaTailor.CreateVodSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The VOD source configuration parameters.+module Amazonka.MediaTailor.CreateVodSource+ ( -- * Creating a Request+ CreateVodSource (..),+ newCreateVodSource,++ -- * Request Lenses+ createVodSource_tags,+ createVodSource_httpPackageConfigurations,+ createVodSource_sourceLocationName,+ createVodSource_vodSourceName,++ -- * Destructuring the Response+ CreateVodSourceResponse (..),+ newCreateVodSourceResponse,++ -- * Response Lenses+ createVodSourceResponse_arn,+ createVodSourceResponse_creationTime,+ createVodSourceResponse_httpPackageConfigurations,+ createVodSourceResponse_lastModifiedTime,+ createVodSourceResponse_sourceLocationName,+ createVodSourceResponse_tags,+ createVodSourceResponse_vodSourceName,+ createVodSourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newCreateVodSource' smart constructor.+data CreateVodSource = CreateVodSource'+ { -- | The tags to assign to the VOD source. Tags are key-value pairs that you+ -- can associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | A list of HTTP package configuration parameters for this VOD source.+ httpPackageConfigurations :: [HttpPackageConfiguration],+ -- | The name of the source location for this VOD source.+ sourceLocationName :: Prelude.Text,+ -- | The name associated with the VOD source.>+ vodSourceName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateVodSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'createVodSource_tags' - The tags to assign to the VOD source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'httpPackageConfigurations', 'createVodSource_httpPackageConfigurations' - A list of HTTP package configuration parameters for this VOD source.+--+-- 'sourceLocationName', 'createVodSource_sourceLocationName' - The name of the source location for this VOD source.+--+-- 'vodSourceName', 'createVodSource_vodSourceName' - The name associated with the VOD source.>+newCreateVodSource ::+ -- | 'sourceLocationName'+ Prelude.Text ->+ -- | 'vodSourceName'+ Prelude.Text ->+ CreateVodSource+newCreateVodSource+ pSourceLocationName_+ pVodSourceName_ =+ CreateVodSource'+ { tags = Prelude.Nothing,+ httpPackageConfigurations = Prelude.mempty,+ sourceLocationName = pSourceLocationName_,+ vodSourceName = pVodSourceName_+ }++-- | The tags to assign to the VOD source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+createVodSource_tags :: Lens.Lens' CreateVodSource (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createVodSource_tags = Lens.lens (\CreateVodSource' {tags} -> tags) (\s@CreateVodSource' {} a -> s {tags = a} :: CreateVodSource) Prelude.. Lens.mapping Lens.coerced++-- | A list of HTTP package configuration parameters for this VOD source.+createVodSource_httpPackageConfigurations :: Lens.Lens' CreateVodSource [HttpPackageConfiguration]+createVodSource_httpPackageConfigurations = Lens.lens (\CreateVodSource' {httpPackageConfigurations} -> httpPackageConfigurations) (\s@CreateVodSource' {} a -> s {httpPackageConfigurations = a} :: CreateVodSource) Prelude.. Lens.coerced++-- | The name of the source location for this VOD source.+createVodSource_sourceLocationName :: Lens.Lens' CreateVodSource Prelude.Text+createVodSource_sourceLocationName = Lens.lens (\CreateVodSource' {sourceLocationName} -> sourceLocationName) (\s@CreateVodSource' {} a -> s {sourceLocationName = a} :: CreateVodSource)++-- | The name associated with the VOD source.>+createVodSource_vodSourceName :: Lens.Lens' CreateVodSource Prelude.Text+createVodSource_vodSourceName = Lens.lens (\CreateVodSource' {vodSourceName} -> vodSourceName) (\s@CreateVodSource' {} a -> s {vodSourceName = a} :: CreateVodSource)++instance Core.AWSRequest CreateVodSource where+ type+ AWSResponse CreateVodSource =+ CreateVodSourceResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ CreateVodSourceResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> ( x+ Data..?> "HttpPackageConfigurations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> (x Data..?> "SourceLocationName")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "VodSourceName")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable CreateVodSource where+ hashWithSalt _salt CreateVodSource' {..} =+ _salt+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` httpPackageConfigurations+ `Prelude.hashWithSalt` sourceLocationName+ `Prelude.hashWithSalt` vodSourceName++instance Prelude.NFData CreateVodSource where+ rnf CreateVodSource' {..} =+ Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpPackageConfigurations+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf vodSourceName++instance Data.ToHeaders CreateVodSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON CreateVodSource where+ toJSON CreateVodSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("tags" Data..=) Prelude.<$> tags,+ Prelude.Just+ ( "HttpPackageConfigurations"+ Data..= httpPackageConfigurations+ )+ ]+ )++instance Data.ToPath CreateVodSource where+ toPath CreateVodSource' {..} =+ Prelude.mconcat+ [ "/sourceLocation/",+ Data.toBS sourceLocationName,+ "/vodSource/",+ Data.toBS vodSourceName+ ]++instance Data.ToQuery CreateVodSource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateVodSourceResponse' smart constructor.+data CreateVodSourceResponse = CreateVodSourceResponse'+ { -- | The ARN to assign to this VOD source.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The time the VOD source was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | A list of HTTP package configuration parameters for this VOD source.+ httpPackageConfigurations :: Prelude.Maybe [HttpPackageConfiguration],+ -- | The time the VOD source was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The name to assign to the source location for this VOD source.+ sourceLocationName :: Prelude.Maybe Prelude.Text,+ -- | The tags to assign to the VOD source. Tags are key-value pairs that you+ -- can associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name to assign to the VOD source.+ vodSourceName :: 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 'CreateVodSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'createVodSourceResponse_arn' - The ARN to assign to this VOD source.+--+-- 'creationTime', 'createVodSourceResponse_creationTime' - The time the VOD source was created.+--+-- 'httpPackageConfigurations', 'createVodSourceResponse_httpPackageConfigurations' - A list of HTTP package configuration parameters for this VOD source.+--+-- 'lastModifiedTime', 'createVodSourceResponse_lastModifiedTime' - The time the VOD source was last modified.+--+-- 'sourceLocationName', 'createVodSourceResponse_sourceLocationName' - The name to assign to the source location for this VOD source.+--+-- 'tags', 'createVodSourceResponse_tags' - The tags to assign to the VOD source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'vodSourceName', 'createVodSourceResponse_vodSourceName' - The name to assign to the VOD source.+--+-- 'httpStatus', 'createVodSourceResponse_httpStatus' - The response's http status code.+newCreateVodSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ CreateVodSourceResponse+newCreateVodSourceResponse pHttpStatus_ =+ CreateVodSourceResponse'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ httpPackageConfigurations = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ sourceLocationName = Prelude.Nothing,+ tags = Prelude.Nothing,+ vodSourceName = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN to assign to this VOD source.+createVodSourceResponse_arn :: Lens.Lens' CreateVodSourceResponse (Prelude.Maybe Prelude.Text)+createVodSourceResponse_arn = Lens.lens (\CreateVodSourceResponse' {arn} -> arn) (\s@CreateVodSourceResponse' {} a -> s {arn = a} :: CreateVodSourceResponse)++-- | The time the VOD source was created.+createVodSourceResponse_creationTime :: Lens.Lens' CreateVodSourceResponse (Prelude.Maybe Prelude.UTCTime)+createVodSourceResponse_creationTime = Lens.lens (\CreateVodSourceResponse' {creationTime} -> creationTime) (\s@CreateVodSourceResponse' {} a -> s {creationTime = a} :: CreateVodSourceResponse) Prelude.. Lens.mapping Data._Time++-- | A list of HTTP package configuration parameters for this VOD source.+createVodSourceResponse_httpPackageConfigurations :: Lens.Lens' CreateVodSourceResponse (Prelude.Maybe [HttpPackageConfiguration])+createVodSourceResponse_httpPackageConfigurations = Lens.lens (\CreateVodSourceResponse' {httpPackageConfigurations} -> httpPackageConfigurations) (\s@CreateVodSourceResponse' {} a -> s {httpPackageConfigurations = a} :: CreateVodSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The time the VOD source was last modified.+createVodSourceResponse_lastModifiedTime :: Lens.Lens' CreateVodSourceResponse (Prelude.Maybe Prelude.UTCTime)+createVodSourceResponse_lastModifiedTime = Lens.lens (\CreateVodSourceResponse' {lastModifiedTime} -> lastModifiedTime) (\s@CreateVodSourceResponse' {} a -> s {lastModifiedTime = a} :: CreateVodSourceResponse) Prelude.. Lens.mapping Data._Time++-- | The name to assign to the source location for this VOD source.+createVodSourceResponse_sourceLocationName :: Lens.Lens' CreateVodSourceResponse (Prelude.Maybe Prelude.Text)+createVodSourceResponse_sourceLocationName = Lens.lens (\CreateVodSourceResponse' {sourceLocationName} -> sourceLocationName) (\s@CreateVodSourceResponse' {} a -> s {sourceLocationName = a} :: CreateVodSourceResponse)++-- | The tags to assign to the VOD source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+createVodSourceResponse_tags :: Lens.Lens' CreateVodSourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+createVodSourceResponse_tags = Lens.lens (\CreateVodSourceResponse' {tags} -> tags) (\s@CreateVodSourceResponse' {} a -> s {tags = a} :: CreateVodSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The name to assign to the VOD source.+createVodSourceResponse_vodSourceName :: Lens.Lens' CreateVodSourceResponse (Prelude.Maybe Prelude.Text)+createVodSourceResponse_vodSourceName = Lens.lens (\CreateVodSourceResponse' {vodSourceName} -> vodSourceName) (\s@CreateVodSourceResponse' {} a -> s {vodSourceName = a} :: CreateVodSourceResponse)++-- | The response's http status code.+createVodSourceResponse_httpStatus :: Lens.Lens' CreateVodSourceResponse Prelude.Int+createVodSourceResponse_httpStatus = Lens.lens (\CreateVodSourceResponse' {httpStatus} -> httpStatus) (\s@CreateVodSourceResponse' {} a -> s {httpStatus = a} :: CreateVodSourceResponse)++instance Prelude.NFData CreateVodSourceResponse where+ rnf CreateVodSourceResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf httpPackageConfigurations+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf vodSourceName+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/DeleteChannel.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.DeleteChannel+-- 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 channel. For information about MediaTailor channels, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-channels.html Working with channels>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.DeleteChannel+ ( -- * Creating a Request+ DeleteChannel (..),+ newDeleteChannel,++ -- * Request Lenses+ deleteChannel_channelName,++ -- * Destructuring the Response+ DeleteChannelResponse (..),+ newDeleteChannelResponse,++ -- * Response Lenses+ deleteChannelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteChannel' smart constructor.+data DeleteChannel = DeleteChannel'+ { -- | The name of the channel.+ channelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelName', 'deleteChannel_channelName' - The name of the channel.+newDeleteChannel ::+ -- | 'channelName'+ Prelude.Text ->+ DeleteChannel+newDeleteChannel pChannelName_ =+ DeleteChannel' {channelName = pChannelName_}++-- | The name of the channel.+deleteChannel_channelName :: Lens.Lens' DeleteChannel Prelude.Text+deleteChannel_channelName = Lens.lens (\DeleteChannel' {channelName} -> channelName) (\s@DeleteChannel' {} a -> s {channelName = a} :: DeleteChannel)++instance Core.AWSRequest DeleteChannel where+ type+ AWSResponse DeleteChannel =+ DeleteChannelResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteChannelResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteChannel where+ hashWithSalt _salt DeleteChannel' {..} =+ _salt `Prelude.hashWithSalt` channelName++instance Prelude.NFData DeleteChannel where+ rnf DeleteChannel' {..} = Prelude.rnf channelName++instance Data.ToHeaders DeleteChannel where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteChannel where+ toPath DeleteChannel' {..} =+ Prelude.mconcat+ ["/channel/", Data.toBS channelName]++instance Data.ToQuery DeleteChannel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteChannelResponse' smart constructor.+data DeleteChannelResponse = DeleteChannelResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteChannelResponse_httpStatus' - The response's http status code.+newDeleteChannelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteChannelResponse+newDeleteChannelResponse pHttpStatus_ =+ DeleteChannelResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteChannelResponse_httpStatus :: Lens.Lens' DeleteChannelResponse Prelude.Int+deleteChannelResponse_httpStatus = Lens.lens (\DeleteChannelResponse' {httpStatus} -> httpStatus) (\s@DeleteChannelResponse' {} a -> s {httpStatus = a} :: DeleteChannelResponse)++instance Prelude.NFData DeleteChannelResponse where+ rnf DeleteChannelResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/DeleteChannelPolicy.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.DeleteChannelPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The channel policy to delete.+module Amazonka.MediaTailor.DeleteChannelPolicy+ ( -- * Creating a Request+ DeleteChannelPolicy (..),+ newDeleteChannelPolicy,++ -- * Request Lenses+ deleteChannelPolicy_channelName,++ -- * Destructuring the Response+ DeleteChannelPolicyResponse (..),+ newDeleteChannelPolicyResponse,++ -- * Response Lenses+ deleteChannelPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteChannelPolicy' smart constructor.+data DeleteChannelPolicy = DeleteChannelPolicy'+ { -- | The name of the channel associated with this channel policy.+ channelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannelPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelName', 'deleteChannelPolicy_channelName' - The name of the channel associated with this channel policy.+newDeleteChannelPolicy ::+ -- | 'channelName'+ Prelude.Text ->+ DeleteChannelPolicy+newDeleteChannelPolicy pChannelName_ =+ DeleteChannelPolicy' {channelName = pChannelName_}++-- | The name of the channel associated with this channel policy.+deleteChannelPolicy_channelName :: Lens.Lens' DeleteChannelPolicy Prelude.Text+deleteChannelPolicy_channelName = Lens.lens (\DeleteChannelPolicy' {channelName} -> channelName) (\s@DeleteChannelPolicy' {} a -> s {channelName = a} :: DeleteChannelPolicy)++instance Core.AWSRequest DeleteChannelPolicy where+ type+ AWSResponse DeleteChannelPolicy =+ DeleteChannelPolicyResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteChannelPolicyResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteChannelPolicy where+ hashWithSalt _salt DeleteChannelPolicy' {..} =+ _salt `Prelude.hashWithSalt` channelName++instance Prelude.NFData DeleteChannelPolicy where+ rnf DeleteChannelPolicy' {..} =+ Prelude.rnf channelName++instance Data.ToHeaders DeleteChannelPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteChannelPolicy where+ toPath DeleteChannelPolicy' {..} =+ Prelude.mconcat+ ["/channel/", Data.toBS channelName, "/policy"]++instance Data.ToQuery DeleteChannelPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteChannelPolicyResponse' smart constructor.+data DeleteChannelPolicyResponse = DeleteChannelPolicyResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteChannelPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteChannelPolicyResponse_httpStatus' - The response's http status code.+newDeleteChannelPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteChannelPolicyResponse+newDeleteChannelPolicyResponse pHttpStatus_ =+ DeleteChannelPolicyResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteChannelPolicyResponse_httpStatus :: Lens.Lens' DeleteChannelPolicyResponse Prelude.Int+deleteChannelPolicyResponse_httpStatus = Lens.lens (\DeleteChannelPolicyResponse' {httpStatus} -> httpStatus) (\s@DeleteChannelPolicyResponse' {} a -> s {httpStatus = a} :: DeleteChannelPolicyResponse)++instance Prelude.NFData DeleteChannelPolicyResponse where+ rnf DeleteChannelPolicyResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/DeleteLiveSource.hs view
@@ -0,0 +1,172 @@+{-# 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.MediaTailor.DeleteLiveSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The live source to delete.+module Amazonka.MediaTailor.DeleteLiveSource+ ( -- * Creating a Request+ DeleteLiveSource (..),+ newDeleteLiveSource,++ -- * Request Lenses+ deleteLiveSource_liveSourceName,+ deleteLiveSource_sourceLocationName,++ -- * Destructuring the Response+ DeleteLiveSourceResponse (..),+ newDeleteLiveSourceResponse,++ -- * Response Lenses+ deleteLiveSourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteLiveSource' smart constructor.+data DeleteLiveSource = DeleteLiveSource'+ { -- | The name of the live source.+ liveSourceName :: Prelude.Text,+ -- | The name of the source location associated with this Live Source.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLiveSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'liveSourceName', 'deleteLiveSource_liveSourceName' - The name of the live source.+--+-- 'sourceLocationName', 'deleteLiveSource_sourceLocationName' - The name of the source location associated with this Live Source.+newDeleteLiveSource ::+ -- | 'liveSourceName'+ Prelude.Text ->+ -- | 'sourceLocationName'+ Prelude.Text ->+ DeleteLiveSource+newDeleteLiveSource+ pLiveSourceName_+ pSourceLocationName_ =+ DeleteLiveSource'+ { liveSourceName =+ pLiveSourceName_,+ sourceLocationName = pSourceLocationName_+ }++-- | The name of the live source.+deleteLiveSource_liveSourceName :: Lens.Lens' DeleteLiveSource Prelude.Text+deleteLiveSource_liveSourceName = Lens.lens (\DeleteLiveSource' {liveSourceName} -> liveSourceName) (\s@DeleteLiveSource' {} a -> s {liveSourceName = a} :: DeleteLiveSource)++-- | The name of the source location associated with this Live Source.+deleteLiveSource_sourceLocationName :: Lens.Lens' DeleteLiveSource Prelude.Text+deleteLiveSource_sourceLocationName = Lens.lens (\DeleteLiveSource' {sourceLocationName} -> sourceLocationName) (\s@DeleteLiveSource' {} a -> s {sourceLocationName = a} :: DeleteLiveSource)++instance Core.AWSRequest DeleteLiveSource where+ type+ AWSResponse DeleteLiveSource =+ DeleteLiveSourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteLiveSourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteLiveSource where+ hashWithSalt _salt DeleteLiveSource' {..} =+ _salt+ `Prelude.hashWithSalt` liveSourceName+ `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData DeleteLiveSource where+ rnf DeleteLiveSource' {..} =+ Prelude.rnf liveSourceName+ `Prelude.seq` Prelude.rnf sourceLocationName++instance Data.ToHeaders DeleteLiveSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteLiveSource where+ toPath DeleteLiveSource' {..} =+ Prelude.mconcat+ [ "/sourceLocation/",+ Data.toBS sourceLocationName,+ "/liveSource/",+ Data.toBS liveSourceName+ ]++instance Data.ToQuery DeleteLiveSource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteLiveSourceResponse' smart constructor.+data DeleteLiveSourceResponse = DeleteLiveSourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteLiveSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteLiveSourceResponse_httpStatus' - The response's http status code.+newDeleteLiveSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteLiveSourceResponse+newDeleteLiveSourceResponse pHttpStatus_ =+ DeleteLiveSourceResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteLiveSourceResponse_httpStatus :: Lens.Lens' DeleteLiveSourceResponse Prelude.Int+deleteLiveSourceResponse_httpStatus = Lens.lens (\DeleteLiveSourceResponse' {httpStatus} -> httpStatus) (\s@DeleteLiveSourceResponse' {} a -> s {httpStatus = a} :: DeleteLiveSourceResponse)++instance Prelude.NFData DeleteLiveSourceResponse where+ rnf DeleteLiveSourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/DeletePlaybackConfiguration.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.DeletePlaybackConfiguration+-- 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 playback configuration. For information about MediaTailor+-- configurations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html Working with configurations in AWS Elemental MediaTailor>.+module Amazonka.MediaTailor.DeletePlaybackConfiguration+ ( -- * Creating a Request+ DeletePlaybackConfiguration (..),+ newDeletePlaybackConfiguration,++ -- * Request Lenses+ deletePlaybackConfiguration_name,++ -- * Destructuring the Response+ DeletePlaybackConfigurationResponse (..),+ newDeletePlaybackConfigurationResponse,++ -- * Response Lenses+ deletePlaybackConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePlaybackConfiguration' smart constructor.+data DeletePlaybackConfiguration = DeletePlaybackConfiguration'+ { -- | The name of the playback configuration.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePlaybackConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deletePlaybackConfiguration_name' - The name of the playback configuration.+newDeletePlaybackConfiguration ::+ -- | 'name'+ Prelude.Text ->+ DeletePlaybackConfiguration+newDeletePlaybackConfiguration pName_ =+ DeletePlaybackConfiguration' {name = pName_}++-- | The name of the playback configuration.+deletePlaybackConfiguration_name :: Lens.Lens' DeletePlaybackConfiguration Prelude.Text+deletePlaybackConfiguration_name = Lens.lens (\DeletePlaybackConfiguration' {name} -> name) (\s@DeletePlaybackConfiguration' {} a -> s {name = a} :: DeletePlaybackConfiguration)++instance Core.AWSRequest DeletePlaybackConfiguration where+ type+ AWSResponse DeletePlaybackConfiguration =+ DeletePlaybackConfigurationResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeletePlaybackConfigurationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeletePlaybackConfiguration where+ hashWithSalt _salt DeletePlaybackConfiguration' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData DeletePlaybackConfiguration where+ rnf DeletePlaybackConfiguration' {..} =+ Prelude.rnf name++instance Data.ToHeaders DeletePlaybackConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeletePlaybackConfiguration where+ toPath DeletePlaybackConfiguration' {..} =+ Prelude.mconcat+ ["/playbackConfiguration/", Data.toBS name]++instance Data.ToQuery DeletePlaybackConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePlaybackConfigurationResponse' smart constructor.+data DeletePlaybackConfigurationResponse = DeletePlaybackConfigurationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePlaybackConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deletePlaybackConfigurationResponse_httpStatus' - The response's http status code.+newDeletePlaybackConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeletePlaybackConfigurationResponse+newDeletePlaybackConfigurationResponse pHttpStatus_ =+ DeletePlaybackConfigurationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deletePlaybackConfigurationResponse_httpStatus :: Lens.Lens' DeletePlaybackConfigurationResponse Prelude.Int+deletePlaybackConfigurationResponse_httpStatus = Lens.lens (\DeletePlaybackConfigurationResponse' {httpStatus} -> httpStatus) (\s@DeletePlaybackConfigurationResponse' {} a -> s {httpStatus = a} :: DeletePlaybackConfigurationResponse)++instance+ Prelude.NFData+ DeletePlaybackConfigurationResponse+ where+ rnf DeletePlaybackConfigurationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/DeletePrefetchSchedule.hs view
@@ -0,0 +1,183 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.DeletePrefetchSchedule+-- 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 prefetch schedule for a specific playback configuration. If+-- you call @DeletePrefetchSchedule@ on an expired prefetch schedule,+-- MediaTailor returns an HTTP 404 status code. For more information about+-- ad prefetching, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/prefetching-ads.html Using ad prefetching>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.DeletePrefetchSchedule+ ( -- * Creating a Request+ DeletePrefetchSchedule (..),+ newDeletePrefetchSchedule,++ -- * Request Lenses+ deletePrefetchSchedule_name,+ deletePrefetchSchedule_playbackConfigurationName,++ -- * Destructuring the Response+ DeletePrefetchScheduleResponse (..),+ newDeletePrefetchScheduleResponse,++ -- * Response Lenses+ deletePrefetchScheduleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeletePrefetchSchedule' smart constructor.+data DeletePrefetchSchedule = DeletePrefetchSchedule'+ { -- | The name of the prefetch schedule. If the action is successful, the+ -- service sends back an HTTP 204 response with an empty HTTP body.+ name :: Prelude.Text,+ -- | The name of the playback configuration for this prefetch schedule.+ playbackConfigurationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePrefetchSchedule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'deletePrefetchSchedule_name' - The name of the prefetch schedule. If the action is successful, the+-- service sends back an HTTP 204 response with an empty HTTP body.+--+-- 'playbackConfigurationName', 'deletePrefetchSchedule_playbackConfigurationName' - The name of the playback configuration for this prefetch schedule.+newDeletePrefetchSchedule ::+ -- | 'name'+ Prelude.Text ->+ -- | 'playbackConfigurationName'+ Prelude.Text ->+ DeletePrefetchSchedule+newDeletePrefetchSchedule+ pName_+ pPlaybackConfigurationName_ =+ DeletePrefetchSchedule'+ { name = pName_,+ playbackConfigurationName =+ pPlaybackConfigurationName_+ }++-- | The name of the prefetch schedule. If the action is successful, the+-- service sends back an HTTP 204 response with an empty HTTP body.+deletePrefetchSchedule_name :: Lens.Lens' DeletePrefetchSchedule Prelude.Text+deletePrefetchSchedule_name = Lens.lens (\DeletePrefetchSchedule' {name} -> name) (\s@DeletePrefetchSchedule' {} a -> s {name = a} :: DeletePrefetchSchedule)++-- | The name of the playback configuration for this prefetch schedule.+deletePrefetchSchedule_playbackConfigurationName :: Lens.Lens' DeletePrefetchSchedule Prelude.Text+deletePrefetchSchedule_playbackConfigurationName = Lens.lens (\DeletePrefetchSchedule' {playbackConfigurationName} -> playbackConfigurationName) (\s@DeletePrefetchSchedule' {} a -> s {playbackConfigurationName = a} :: DeletePrefetchSchedule)++instance Core.AWSRequest DeletePrefetchSchedule where+ type+ AWSResponse DeletePrefetchSchedule =+ DeletePrefetchScheduleResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeletePrefetchScheduleResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeletePrefetchSchedule where+ hashWithSalt _salt DeletePrefetchSchedule' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` playbackConfigurationName++instance Prelude.NFData DeletePrefetchSchedule where+ rnf DeletePrefetchSchedule' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf playbackConfigurationName++instance Data.ToHeaders DeletePrefetchSchedule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeletePrefetchSchedule where+ toPath DeletePrefetchSchedule' {..} =+ Prelude.mconcat+ [ "/prefetchSchedule/",+ Data.toBS playbackConfigurationName,+ "/",+ Data.toBS name+ ]++instance Data.ToQuery DeletePrefetchSchedule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeletePrefetchScheduleResponse' smart constructor.+data DeletePrefetchScheduleResponse = DeletePrefetchScheduleResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePrefetchScheduleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deletePrefetchScheduleResponse_httpStatus' - The response's http status code.+newDeletePrefetchScheduleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeletePrefetchScheduleResponse+newDeletePrefetchScheduleResponse pHttpStatus_ =+ DeletePrefetchScheduleResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deletePrefetchScheduleResponse_httpStatus :: Lens.Lens' DeletePrefetchScheduleResponse Prelude.Int+deletePrefetchScheduleResponse_httpStatus = Lens.lens (\DeletePrefetchScheduleResponse' {httpStatus} -> httpStatus) (\s@DeletePrefetchScheduleResponse' {} a -> s {httpStatus = a} :: DeletePrefetchScheduleResponse)++instance+ Prelude.NFData+ DeletePrefetchScheduleResponse+ where+ rnf DeletePrefetchScheduleResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/DeleteProgram.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.MediaTailor.DeleteProgram+-- 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 program within a channel. For information about programs, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-programs.html Working with programs>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.DeleteProgram+ ( -- * Creating a Request+ DeleteProgram (..),+ newDeleteProgram,++ -- * Request Lenses+ deleteProgram_channelName,+ deleteProgram_programName,++ -- * Destructuring the Response+ DeleteProgramResponse (..),+ newDeleteProgramResponse,++ -- * Response Lenses+ deleteProgramResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteProgram' smart constructor.+data DeleteProgram = DeleteProgram'+ { -- | The name of the channel.+ channelName :: Prelude.Text,+ -- | The name of the program.+ programName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteProgram' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelName', 'deleteProgram_channelName' - The name of the channel.+--+-- 'programName', 'deleteProgram_programName' - The name of the program.+newDeleteProgram ::+ -- | 'channelName'+ Prelude.Text ->+ -- | 'programName'+ Prelude.Text ->+ DeleteProgram+newDeleteProgram pChannelName_ pProgramName_ =+ DeleteProgram'+ { channelName = pChannelName_,+ programName = pProgramName_+ }++-- | The name of the channel.+deleteProgram_channelName :: Lens.Lens' DeleteProgram Prelude.Text+deleteProgram_channelName = Lens.lens (\DeleteProgram' {channelName} -> channelName) (\s@DeleteProgram' {} a -> s {channelName = a} :: DeleteProgram)++-- | The name of the program.+deleteProgram_programName :: Lens.Lens' DeleteProgram Prelude.Text+deleteProgram_programName = Lens.lens (\DeleteProgram' {programName} -> programName) (\s@DeleteProgram' {} a -> s {programName = a} :: DeleteProgram)++instance Core.AWSRequest DeleteProgram where+ type+ AWSResponse DeleteProgram =+ DeleteProgramResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteProgramResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteProgram where+ hashWithSalt _salt DeleteProgram' {..} =+ _salt+ `Prelude.hashWithSalt` channelName+ `Prelude.hashWithSalt` programName++instance Prelude.NFData DeleteProgram where+ rnf DeleteProgram' {..} =+ Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf programName++instance Data.ToHeaders DeleteProgram where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteProgram where+ toPath DeleteProgram' {..} =+ Prelude.mconcat+ [ "/channel/",+ Data.toBS channelName,+ "/program/",+ Data.toBS programName+ ]++instance Data.ToQuery DeleteProgram where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteProgramResponse' smart constructor.+data DeleteProgramResponse = DeleteProgramResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteProgramResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteProgramResponse_httpStatus' - The response's http status code.+newDeleteProgramResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteProgramResponse+newDeleteProgramResponse pHttpStatus_ =+ DeleteProgramResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteProgramResponse_httpStatus :: Lens.Lens' DeleteProgramResponse Prelude.Int+deleteProgramResponse_httpStatus = Lens.lens (\DeleteProgramResponse' {httpStatus} -> httpStatus) (\s@DeleteProgramResponse' {} a -> s {httpStatus = a} :: DeleteProgramResponse)++instance Prelude.NFData DeleteProgramResponse where+ rnf DeleteProgramResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/DeleteSourceLocation.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.DeleteSourceLocation+-- 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 source location. A source location is a container for sources.+-- For more information about source locations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-source-locations.html Working with source locations>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.DeleteSourceLocation+ ( -- * Creating a Request+ DeleteSourceLocation (..),+ newDeleteSourceLocation,++ -- * Request Lenses+ deleteSourceLocation_sourceLocationName,++ -- * Destructuring the Response+ DeleteSourceLocationResponse (..),+ newDeleteSourceLocationResponse,++ -- * Response Lenses+ deleteSourceLocationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteSourceLocation' smart constructor.+data DeleteSourceLocation = DeleteSourceLocation'+ { -- | The name of the source location.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSourceLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceLocationName', 'deleteSourceLocation_sourceLocationName' - The name of the source location.+newDeleteSourceLocation ::+ -- | 'sourceLocationName'+ Prelude.Text ->+ DeleteSourceLocation+newDeleteSourceLocation pSourceLocationName_ =+ DeleteSourceLocation'+ { sourceLocationName =+ pSourceLocationName_+ }++-- | The name of the source location.+deleteSourceLocation_sourceLocationName :: Lens.Lens' DeleteSourceLocation Prelude.Text+deleteSourceLocation_sourceLocationName = Lens.lens (\DeleteSourceLocation' {sourceLocationName} -> sourceLocationName) (\s@DeleteSourceLocation' {} a -> s {sourceLocationName = a} :: DeleteSourceLocation)++instance Core.AWSRequest DeleteSourceLocation where+ type+ AWSResponse DeleteSourceLocation =+ DeleteSourceLocationResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteSourceLocationResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteSourceLocation where+ hashWithSalt _salt DeleteSourceLocation' {..} =+ _salt `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData DeleteSourceLocation where+ rnf DeleteSourceLocation' {..} =+ Prelude.rnf sourceLocationName++instance Data.ToHeaders DeleteSourceLocation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteSourceLocation where+ toPath DeleteSourceLocation' {..} =+ Prelude.mconcat+ ["/sourceLocation/", Data.toBS sourceLocationName]++instance Data.ToQuery DeleteSourceLocation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteSourceLocationResponse' smart constructor.+data DeleteSourceLocationResponse = DeleteSourceLocationResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteSourceLocationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteSourceLocationResponse_httpStatus' - The response's http status code.+newDeleteSourceLocationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteSourceLocationResponse+newDeleteSourceLocationResponse pHttpStatus_ =+ DeleteSourceLocationResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+deleteSourceLocationResponse_httpStatus :: Lens.Lens' DeleteSourceLocationResponse Prelude.Int+deleteSourceLocationResponse_httpStatus = Lens.lens (\DeleteSourceLocationResponse' {httpStatus} -> httpStatus) (\s@DeleteSourceLocationResponse' {} a -> s {httpStatus = a} :: DeleteSourceLocationResponse)++instance Prelude.NFData DeleteSourceLocationResponse where+ rnf DeleteSourceLocationResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/DeleteVodSource.hs view
@@ -0,0 +1,169 @@+{-# 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.MediaTailor.DeleteVodSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The video on demand (VOD) source to delete.+module Amazonka.MediaTailor.DeleteVodSource+ ( -- * Creating a Request+ DeleteVodSource (..),+ newDeleteVodSource,++ -- * Request Lenses+ deleteVodSource_sourceLocationName,+ deleteVodSource_vodSourceName,++ -- * Destructuring the Response+ DeleteVodSourceResponse (..),+ newDeleteVodSourceResponse,++ -- * Response Lenses+ deleteVodSourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDeleteVodSource' smart constructor.+data DeleteVodSource = DeleteVodSource'+ { -- | The name of the source location associated with this VOD Source.+ sourceLocationName :: Prelude.Text,+ -- | The name of the VOD source.+ vodSourceName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVodSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceLocationName', 'deleteVodSource_sourceLocationName' - The name of the source location associated with this VOD Source.+--+-- 'vodSourceName', 'deleteVodSource_vodSourceName' - The name of the VOD source.+newDeleteVodSource ::+ -- | 'sourceLocationName'+ Prelude.Text ->+ -- | 'vodSourceName'+ Prelude.Text ->+ DeleteVodSource+newDeleteVodSource+ pSourceLocationName_+ pVodSourceName_ =+ DeleteVodSource'+ { sourceLocationName =+ pSourceLocationName_,+ vodSourceName = pVodSourceName_+ }++-- | The name of the source location associated with this VOD Source.+deleteVodSource_sourceLocationName :: Lens.Lens' DeleteVodSource Prelude.Text+deleteVodSource_sourceLocationName = Lens.lens (\DeleteVodSource' {sourceLocationName} -> sourceLocationName) (\s@DeleteVodSource' {} a -> s {sourceLocationName = a} :: DeleteVodSource)++-- | The name of the VOD source.+deleteVodSource_vodSourceName :: Lens.Lens' DeleteVodSource Prelude.Text+deleteVodSource_vodSourceName = Lens.lens (\DeleteVodSource' {vodSourceName} -> vodSourceName) (\s@DeleteVodSource' {} a -> s {vodSourceName = a} :: DeleteVodSource)++instance Core.AWSRequest DeleteVodSource where+ type+ AWSResponse DeleteVodSource =+ DeleteVodSourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ DeleteVodSourceResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DeleteVodSource where+ hashWithSalt _salt DeleteVodSource' {..} =+ _salt+ `Prelude.hashWithSalt` sourceLocationName+ `Prelude.hashWithSalt` vodSourceName++instance Prelude.NFData DeleteVodSource where+ rnf DeleteVodSource' {..} =+ Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf vodSourceName++instance Data.ToHeaders DeleteVodSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DeleteVodSource where+ toPath DeleteVodSource' {..} =+ Prelude.mconcat+ [ "/sourceLocation/",+ Data.toBS sourceLocationName,+ "/vodSource/",+ Data.toBS vodSourceName+ ]++instance Data.ToQuery DeleteVodSource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteVodSourceResponse' smart constructor.+data DeleteVodSourceResponse = DeleteVodSourceResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteVodSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'deleteVodSourceResponse_httpStatus' - The response's http status code.+newDeleteVodSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DeleteVodSourceResponse+newDeleteVodSourceResponse pHttpStatus_ =+ DeleteVodSourceResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+deleteVodSourceResponse_httpStatus :: Lens.Lens' DeleteVodSourceResponse Prelude.Int+deleteVodSourceResponse_httpStatus = Lens.lens (\DeleteVodSourceResponse' {httpStatus} -> httpStatus) (\s@DeleteVodSourceResponse' {} a -> s {httpStatus = a} :: DeleteVodSourceResponse)++instance Prelude.NFData DeleteVodSourceResponse where+ rnf DeleteVodSourceResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/DescribeChannel.hs view
@@ -0,0 +1,280 @@+{-# 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.MediaTailor.DescribeChannel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a channel. For information about MediaTailor channels, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-channels.html Working with channels>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.DescribeChannel+ ( -- * Creating a Request+ DescribeChannel (..),+ newDescribeChannel,++ -- * Request Lenses+ describeChannel_channelName,++ -- * Destructuring the Response+ DescribeChannelResponse (..),+ newDescribeChannelResponse,++ -- * Response Lenses+ describeChannelResponse_arn,+ describeChannelResponse_channelName,+ describeChannelResponse_channelState,+ describeChannelResponse_creationTime,+ describeChannelResponse_fillerSlate,+ describeChannelResponse_lastModifiedTime,+ describeChannelResponse_outputs,+ describeChannelResponse_playbackMode,+ describeChannelResponse_tags,+ describeChannelResponse_tier,+ describeChannelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeChannel' smart constructor.+data DescribeChannel = DescribeChannel'+ { -- | The name of the channel.+ channelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeChannel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelName', 'describeChannel_channelName' - The name of the channel.+newDescribeChannel ::+ -- | 'channelName'+ Prelude.Text ->+ DescribeChannel+newDescribeChannel pChannelName_ =+ DescribeChannel' {channelName = pChannelName_}++-- | The name of the channel.+describeChannel_channelName :: Lens.Lens' DescribeChannel Prelude.Text+describeChannel_channelName = Lens.lens (\DescribeChannel' {channelName} -> channelName) (\s@DescribeChannel' {} a -> s {channelName = a} :: DescribeChannel)++instance Core.AWSRequest DescribeChannel where+ type+ AWSResponse DescribeChannel =+ DescribeChannelResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeChannelResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "ChannelName")+ Prelude.<*> (x Data..?> "ChannelState")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "FillerSlate")+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> (x Data..?> "Outputs" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "PlaybackMode")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "Tier")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeChannel where+ hashWithSalt _salt DescribeChannel' {..} =+ _salt `Prelude.hashWithSalt` channelName++instance Prelude.NFData DescribeChannel where+ rnf DescribeChannel' {..} = Prelude.rnf channelName++instance Data.ToHeaders DescribeChannel where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeChannel where+ toPath DescribeChannel' {..} =+ Prelude.mconcat+ ["/channel/", Data.toBS channelName]++instance Data.ToQuery DescribeChannel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeChannelResponse' smart constructor.+data DescribeChannelResponse = DescribeChannelResponse'+ { -- | The ARN of the channel.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The name of the channel.+ channelName :: Prelude.Maybe Prelude.Text,+ -- | Indicates whether the channel is in a running state or not.+ channelState :: Prelude.Maybe ChannelState,+ -- | The timestamp of when the channel was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | Contains information about the slate used to fill gaps between programs+ -- in the schedule.+ fillerSlate :: Prelude.Maybe SlateSource,+ -- | The timestamp of when the channel was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The channel\'s output properties.+ outputs :: Prelude.Maybe [ResponseOutputItem],+ -- | The channel\'s playback mode.+ playbackMode :: Prelude.Maybe Prelude.Text,+ -- | The tags assigned to the channel. Tags are key-value pairs that you can+ -- associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The channel\'s tier.+ tier :: 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 'DescribeChannelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'describeChannelResponse_arn' - The ARN of the channel.+--+-- 'channelName', 'describeChannelResponse_channelName' - The name of the channel.+--+-- 'channelState', 'describeChannelResponse_channelState' - Indicates whether the channel is in a running state or not.+--+-- 'creationTime', 'describeChannelResponse_creationTime' - The timestamp of when the channel was created.+--+-- 'fillerSlate', 'describeChannelResponse_fillerSlate' - Contains information about the slate used to fill gaps between programs+-- in the schedule.+--+-- 'lastModifiedTime', 'describeChannelResponse_lastModifiedTime' - The timestamp of when the channel was last modified.+--+-- 'outputs', 'describeChannelResponse_outputs' - The channel\'s output properties.+--+-- 'playbackMode', 'describeChannelResponse_playbackMode' - The channel\'s playback mode.+--+-- 'tags', 'describeChannelResponse_tags' - The tags assigned to the channel. Tags are key-value pairs that you can+-- associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'tier', 'describeChannelResponse_tier' - The channel\'s tier.+--+-- 'httpStatus', 'describeChannelResponse_httpStatus' - The response's http status code.+newDescribeChannelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeChannelResponse+newDescribeChannelResponse pHttpStatus_ =+ DescribeChannelResponse'+ { arn = Prelude.Nothing,+ channelName = Prelude.Nothing,+ channelState = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ fillerSlate = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ outputs = Prelude.Nothing,+ playbackMode = Prelude.Nothing,+ tags = Prelude.Nothing,+ tier = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the channel.+describeChannelResponse_arn :: Lens.Lens' DescribeChannelResponse (Prelude.Maybe Prelude.Text)+describeChannelResponse_arn = Lens.lens (\DescribeChannelResponse' {arn} -> arn) (\s@DescribeChannelResponse' {} a -> s {arn = a} :: DescribeChannelResponse)++-- | The name of the channel.+describeChannelResponse_channelName :: Lens.Lens' DescribeChannelResponse (Prelude.Maybe Prelude.Text)+describeChannelResponse_channelName = Lens.lens (\DescribeChannelResponse' {channelName} -> channelName) (\s@DescribeChannelResponse' {} a -> s {channelName = a} :: DescribeChannelResponse)++-- | Indicates whether the channel is in a running state or not.+describeChannelResponse_channelState :: Lens.Lens' DescribeChannelResponse (Prelude.Maybe ChannelState)+describeChannelResponse_channelState = Lens.lens (\DescribeChannelResponse' {channelState} -> channelState) (\s@DescribeChannelResponse' {} a -> s {channelState = a} :: DescribeChannelResponse)++-- | The timestamp of when the channel was created.+describeChannelResponse_creationTime :: Lens.Lens' DescribeChannelResponse (Prelude.Maybe Prelude.UTCTime)+describeChannelResponse_creationTime = Lens.lens (\DescribeChannelResponse' {creationTime} -> creationTime) (\s@DescribeChannelResponse' {} a -> s {creationTime = a} :: DescribeChannelResponse) Prelude.. Lens.mapping Data._Time++-- | Contains information about the slate used to fill gaps between programs+-- in the schedule.+describeChannelResponse_fillerSlate :: Lens.Lens' DescribeChannelResponse (Prelude.Maybe SlateSource)+describeChannelResponse_fillerSlate = Lens.lens (\DescribeChannelResponse' {fillerSlate} -> fillerSlate) (\s@DescribeChannelResponse' {} a -> s {fillerSlate = a} :: DescribeChannelResponse)++-- | The timestamp of when the channel was last modified.+describeChannelResponse_lastModifiedTime :: Lens.Lens' DescribeChannelResponse (Prelude.Maybe Prelude.UTCTime)+describeChannelResponse_lastModifiedTime = Lens.lens (\DescribeChannelResponse' {lastModifiedTime} -> lastModifiedTime) (\s@DescribeChannelResponse' {} a -> s {lastModifiedTime = a} :: DescribeChannelResponse) Prelude.. Lens.mapping Data._Time++-- | The channel\'s output properties.+describeChannelResponse_outputs :: Lens.Lens' DescribeChannelResponse (Prelude.Maybe [ResponseOutputItem])+describeChannelResponse_outputs = Lens.lens (\DescribeChannelResponse' {outputs} -> outputs) (\s@DescribeChannelResponse' {} a -> s {outputs = a} :: DescribeChannelResponse) Prelude.. Lens.mapping Lens.coerced++-- | The channel\'s playback mode.+describeChannelResponse_playbackMode :: Lens.Lens' DescribeChannelResponse (Prelude.Maybe Prelude.Text)+describeChannelResponse_playbackMode = Lens.lens (\DescribeChannelResponse' {playbackMode} -> playbackMode) (\s@DescribeChannelResponse' {} a -> s {playbackMode = a} :: DescribeChannelResponse)++-- | The tags assigned to the channel. Tags are key-value pairs that you can+-- associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+describeChannelResponse_tags :: Lens.Lens' DescribeChannelResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeChannelResponse_tags = Lens.lens (\DescribeChannelResponse' {tags} -> tags) (\s@DescribeChannelResponse' {} a -> s {tags = a} :: DescribeChannelResponse) Prelude.. Lens.mapping Lens.coerced++-- | The channel\'s tier.+describeChannelResponse_tier :: Lens.Lens' DescribeChannelResponse (Prelude.Maybe Prelude.Text)+describeChannelResponse_tier = Lens.lens (\DescribeChannelResponse' {tier} -> tier) (\s@DescribeChannelResponse' {} a -> s {tier = a} :: DescribeChannelResponse)++-- | The response's http status code.+describeChannelResponse_httpStatus :: Lens.Lens' DescribeChannelResponse Prelude.Int+describeChannelResponse_httpStatus = Lens.lens (\DescribeChannelResponse' {httpStatus} -> httpStatus) (\s@DescribeChannelResponse' {} a -> s {httpStatus = a} :: DescribeChannelResponse)++instance Prelude.NFData DescribeChannelResponse where+ rnf DescribeChannelResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf channelState+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf fillerSlate+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf outputs+ `Prelude.seq` Prelude.rnf playbackMode+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf tier+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/DescribeLiveSource.hs view
@@ -0,0 +1,267 @@+{-# 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.MediaTailor.DescribeLiveSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The live source to describe.+module Amazonka.MediaTailor.DescribeLiveSource+ ( -- * Creating a Request+ DescribeLiveSource (..),+ newDescribeLiveSource,++ -- * Request Lenses+ describeLiveSource_liveSourceName,+ describeLiveSource_sourceLocationName,++ -- * Destructuring the Response+ DescribeLiveSourceResponse (..),+ newDescribeLiveSourceResponse,++ -- * Response Lenses+ describeLiveSourceResponse_arn,+ describeLiveSourceResponse_creationTime,+ describeLiveSourceResponse_httpPackageConfigurations,+ describeLiveSourceResponse_lastModifiedTime,+ describeLiveSourceResponse_liveSourceName,+ describeLiveSourceResponse_sourceLocationName,+ describeLiveSourceResponse_tags,+ describeLiveSourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeLiveSource' smart constructor.+data DescribeLiveSource = DescribeLiveSource'+ { -- | The name of the live source.+ liveSourceName :: Prelude.Text,+ -- | The name of the source location associated with this Live Source.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeLiveSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'liveSourceName', 'describeLiveSource_liveSourceName' - The name of the live source.+--+-- 'sourceLocationName', 'describeLiveSource_sourceLocationName' - The name of the source location associated with this Live Source.+newDescribeLiveSource ::+ -- | 'liveSourceName'+ Prelude.Text ->+ -- | 'sourceLocationName'+ Prelude.Text ->+ DescribeLiveSource+newDescribeLiveSource+ pLiveSourceName_+ pSourceLocationName_ =+ DescribeLiveSource'+ { liveSourceName =+ pLiveSourceName_,+ sourceLocationName = pSourceLocationName_+ }++-- | The name of the live source.+describeLiveSource_liveSourceName :: Lens.Lens' DescribeLiveSource Prelude.Text+describeLiveSource_liveSourceName = Lens.lens (\DescribeLiveSource' {liveSourceName} -> liveSourceName) (\s@DescribeLiveSource' {} a -> s {liveSourceName = a} :: DescribeLiveSource)++-- | The name of the source location associated with this Live Source.+describeLiveSource_sourceLocationName :: Lens.Lens' DescribeLiveSource Prelude.Text+describeLiveSource_sourceLocationName = Lens.lens (\DescribeLiveSource' {sourceLocationName} -> sourceLocationName) (\s@DescribeLiveSource' {} a -> s {sourceLocationName = a} :: DescribeLiveSource)++instance Core.AWSRequest DescribeLiveSource where+ type+ AWSResponse DescribeLiveSource =+ DescribeLiveSourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeLiveSourceResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> ( x+ Data..?> "HttpPackageConfigurations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> (x Data..?> "LiveSourceName")+ Prelude.<*> (x Data..?> "SourceLocationName")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeLiveSource where+ hashWithSalt _salt DescribeLiveSource' {..} =+ _salt+ `Prelude.hashWithSalt` liveSourceName+ `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData DescribeLiveSource where+ rnf DescribeLiveSource' {..} =+ Prelude.rnf liveSourceName+ `Prelude.seq` Prelude.rnf sourceLocationName++instance Data.ToHeaders DescribeLiveSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeLiveSource where+ toPath DescribeLiveSource' {..} =+ Prelude.mconcat+ [ "/sourceLocation/",+ Data.toBS sourceLocationName,+ "/liveSource/",+ Data.toBS liveSourceName+ ]++instance Data.ToQuery DescribeLiveSource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeLiveSourceResponse' smart constructor.+data DescribeLiveSourceResponse = DescribeLiveSourceResponse'+ { -- | The ARN of the live source.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The timestamp that indicates when the live source was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The HTTP package configurations.+ httpPackageConfigurations :: Prelude.Maybe [HttpPackageConfiguration],+ -- | The timestamp that indicates when the live source was modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the live source.+ liveSourceName :: Prelude.Maybe Prelude.Text,+ -- | The name of the source location associated with the live source.+ sourceLocationName :: Prelude.Maybe Prelude.Text,+ -- | The tags assigned to the live source. Tags are key-value pairs that you+ -- can associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ 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 'DescribeLiveSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'describeLiveSourceResponse_arn' - The ARN of the live source.+--+-- 'creationTime', 'describeLiveSourceResponse_creationTime' - The timestamp that indicates when the live source was created.+--+-- 'httpPackageConfigurations', 'describeLiveSourceResponse_httpPackageConfigurations' - The HTTP package configurations.+--+-- 'lastModifiedTime', 'describeLiveSourceResponse_lastModifiedTime' - The timestamp that indicates when the live source was modified.+--+-- 'liveSourceName', 'describeLiveSourceResponse_liveSourceName' - The name of the live source.+--+-- 'sourceLocationName', 'describeLiveSourceResponse_sourceLocationName' - The name of the source location associated with the live source.+--+-- 'tags', 'describeLiveSourceResponse_tags' - The tags assigned to the live source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'httpStatus', 'describeLiveSourceResponse_httpStatus' - The response's http status code.+newDescribeLiveSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeLiveSourceResponse+newDescribeLiveSourceResponse pHttpStatus_ =+ DescribeLiveSourceResponse'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ httpPackageConfigurations = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ liveSourceName = Prelude.Nothing,+ sourceLocationName = Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the live source.+describeLiveSourceResponse_arn :: Lens.Lens' DescribeLiveSourceResponse (Prelude.Maybe Prelude.Text)+describeLiveSourceResponse_arn = Lens.lens (\DescribeLiveSourceResponse' {arn} -> arn) (\s@DescribeLiveSourceResponse' {} a -> s {arn = a} :: DescribeLiveSourceResponse)++-- | The timestamp that indicates when the live source was created.+describeLiveSourceResponse_creationTime :: Lens.Lens' DescribeLiveSourceResponse (Prelude.Maybe Prelude.UTCTime)+describeLiveSourceResponse_creationTime = Lens.lens (\DescribeLiveSourceResponse' {creationTime} -> creationTime) (\s@DescribeLiveSourceResponse' {} a -> s {creationTime = a} :: DescribeLiveSourceResponse) Prelude.. Lens.mapping Data._Time++-- | The HTTP package configurations.+describeLiveSourceResponse_httpPackageConfigurations :: Lens.Lens' DescribeLiveSourceResponse (Prelude.Maybe [HttpPackageConfiguration])+describeLiveSourceResponse_httpPackageConfigurations = Lens.lens (\DescribeLiveSourceResponse' {httpPackageConfigurations} -> httpPackageConfigurations) (\s@DescribeLiveSourceResponse' {} a -> s {httpPackageConfigurations = a} :: DescribeLiveSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The timestamp that indicates when the live source was modified.+describeLiveSourceResponse_lastModifiedTime :: Lens.Lens' DescribeLiveSourceResponse (Prelude.Maybe Prelude.UTCTime)+describeLiveSourceResponse_lastModifiedTime = Lens.lens (\DescribeLiveSourceResponse' {lastModifiedTime} -> lastModifiedTime) (\s@DescribeLiveSourceResponse' {} a -> s {lastModifiedTime = a} :: DescribeLiveSourceResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the live source.+describeLiveSourceResponse_liveSourceName :: Lens.Lens' DescribeLiveSourceResponse (Prelude.Maybe Prelude.Text)+describeLiveSourceResponse_liveSourceName = Lens.lens (\DescribeLiveSourceResponse' {liveSourceName} -> liveSourceName) (\s@DescribeLiveSourceResponse' {} a -> s {liveSourceName = a} :: DescribeLiveSourceResponse)++-- | The name of the source location associated with the live source.+describeLiveSourceResponse_sourceLocationName :: Lens.Lens' DescribeLiveSourceResponse (Prelude.Maybe Prelude.Text)+describeLiveSourceResponse_sourceLocationName = Lens.lens (\DescribeLiveSourceResponse' {sourceLocationName} -> sourceLocationName) (\s@DescribeLiveSourceResponse' {} a -> s {sourceLocationName = a} :: DescribeLiveSourceResponse)++-- | The tags assigned to the live source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+describeLiveSourceResponse_tags :: Lens.Lens' DescribeLiveSourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeLiveSourceResponse_tags = Lens.lens (\DescribeLiveSourceResponse' {tags} -> tags) (\s@DescribeLiveSourceResponse' {} a -> s {tags = a} :: DescribeLiveSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeLiveSourceResponse_httpStatus :: Lens.Lens' DescribeLiveSourceResponse Prelude.Int+describeLiveSourceResponse_httpStatus = Lens.lens (\DescribeLiveSourceResponse' {httpStatus} -> httpStatus) (\s@DescribeLiveSourceResponse' {} a -> s {httpStatus = a} :: DescribeLiveSourceResponse)++instance Prelude.NFData DescribeLiveSourceResponse where+ rnf DescribeLiveSourceResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf httpPackageConfigurations+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf liveSourceName+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/DescribeProgram.hs view
@@ -0,0 +1,286 @@+{-# 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.MediaTailor.DescribeProgram+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a program within a channel. For information about programs,+-- see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-programs.html Working with programs>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.DescribeProgram+ ( -- * Creating a Request+ DescribeProgram (..),+ newDescribeProgram,++ -- * Request Lenses+ describeProgram_channelName,+ describeProgram_programName,++ -- * Destructuring the Response+ DescribeProgramResponse (..),+ newDescribeProgramResponse,++ -- * Response Lenses+ describeProgramResponse_adBreaks,+ describeProgramResponse_arn,+ describeProgramResponse_channelName,+ describeProgramResponse_creationTime,+ describeProgramResponse_liveSourceName,+ describeProgramResponse_programName,+ describeProgramResponse_scheduledStartTime,+ describeProgramResponse_sourceLocationName,+ describeProgramResponse_vodSourceName,+ describeProgramResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeProgram' smart constructor.+data DescribeProgram = DescribeProgram'+ { -- | The name of the channel associated with this Program.+ channelName :: Prelude.Text,+ -- | The name of the program.+ programName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeProgram' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelName', 'describeProgram_channelName' - The name of the channel associated with this Program.+--+-- 'programName', 'describeProgram_programName' - The name of the program.+newDescribeProgram ::+ -- | 'channelName'+ Prelude.Text ->+ -- | 'programName'+ Prelude.Text ->+ DescribeProgram+newDescribeProgram pChannelName_ pProgramName_ =+ DescribeProgram'+ { channelName = pChannelName_,+ programName = pProgramName_+ }++-- | The name of the channel associated with this Program.+describeProgram_channelName :: Lens.Lens' DescribeProgram Prelude.Text+describeProgram_channelName = Lens.lens (\DescribeProgram' {channelName} -> channelName) (\s@DescribeProgram' {} a -> s {channelName = a} :: DescribeProgram)++-- | The name of the program.+describeProgram_programName :: Lens.Lens' DescribeProgram Prelude.Text+describeProgram_programName = Lens.lens (\DescribeProgram' {programName} -> programName) (\s@DescribeProgram' {} a -> s {programName = a} :: DescribeProgram)++instance Core.AWSRequest DescribeProgram where+ type+ AWSResponse DescribeProgram =+ DescribeProgramResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeProgramResponse'+ Prelude.<$> (x Data..?> "AdBreaks" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "ChannelName")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "LiveSourceName")+ Prelude.<*> (x Data..?> "ProgramName")+ Prelude.<*> (x Data..?> "ScheduledStartTime")+ Prelude.<*> (x Data..?> "SourceLocationName")+ Prelude.<*> (x Data..?> "VodSourceName")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeProgram where+ hashWithSalt _salt DescribeProgram' {..} =+ _salt+ `Prelude.hashWithSalt` channelName+ `Prelude.hashWithSalt` programName++instance Prelude.NFData DescribeProgram where+ rnf DescribeProgram' {..} =+ Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf programName++instance Data.ToHeaders DescribeProgram where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeProgram where+ toPath DescribeProgram' {..} =+ Prelude.mconcat+ [ "/channel/",+ Data.toBS channelName,+ "/program/",+ Data.toBS programName+ ]++instance Data.ToQuery DescribeProgram where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeProgramResponse' smart constructor.+data DescribeProgramResponse = DescribeProgramResponse'+ { -- | The ad break configuration settings.+ adBreaks :: Prelude.Maybe [AdBreak],+ -- | The ARN of the program.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The name of the channel that the program belongs to.+ channelName :: Prelude.Maybe Prelude.Text,+ -- | The timestamp of when the program was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the LiveSource for this Program.+ liveSourceName :: Prelude.Maybe Prelude.Text,+ -- | The name of the program.+ programName :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the program is scheduled to start in ISO 8601+ -- format and Coordinated Universal Time (UTC). For example, the value+ -- 2021-03-27T17:48:16.751Z represents March 27, 2021 at 17:48:16.751 UTC.+ scheduledStartTime :: Prelude.Maybe Data.POSIX,+ -- | The source location name.+ sourceLocationName :: Prelude.Maybe Prelude.Text,+ -- | The name that\'s used to refer to a VOD source.+ vodSourceName :: 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 'DescribeProgramResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adBreaks', 'describeProgramResponse_adBreaks' - The ad break configuration settings.+--+-- 'arn', 'describeProgramResponse_arn' - The ARN of the program.+--+-- 'channelName', 'describeProgramResponse_channelName' - The name of the channel that the program belongs to.+--+-- 'creationTime', 'describeProgramResponse_creationTime' - The timestamp of when the program was created.+--+-- 'liveSourceName', 'describeProgramResponse_liveSourceName' - The name of the LiveSource for this Program.+--+-- 'programName', 'describeProgramResponse_programName' - The name of the program.+--+-- 'scheduledStartTime', 'describeProgramResponse_scheduledStartTime' - The date and time that the program is scheduled to start in ISO 8601+-- format and Coordinated Universal Time (UTC). For example, the value+-- 2021-03-27T17:48:16.751Z represents March 27, 2021 at 17:48:16.751 UTC.+--+-- 'sourceLocationName', 'describeProgramResponse_sourceLocationName' - The source location name.+--+-- 'vodSourceName', 'describeProgramResponse_vodSourceName' - The name that\'s used to refer to a VOD source.+--+-- 'httpStatus', 'describeProgramResponse_httpStatus' - The response's http status code.+newDescribeProgramResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeProgramResponse+newDescribeProgramResponse pHttpStatus_ =+ DescribeProgramResponse'+ { adBreaks =+ Prelude.Nothing,+ arn = Prelude.Nothing,+ channelName = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ liveSourceName = Prelude.Nothing,+ programName = Prelude.Nothing,+ scheduledStartTime = Prelude.Nothing,+ sourceLocationName = Prelude.Nothing,+ vodSourceName = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ad break configuration settings.+describeProgramResponse_adBreaks :: Lens.Lens' DescribeProgramResponse (Prelude.Maybe [AdBreak])+describeProgramResponse_adBreaks = Lens.lens (\DescribeProgramResponse' {adBreaks} -> adBreaks) (\s@DescribeProgramResponse' {} a -> s {adBreaks = a} :: DescribeProgramResponse) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the program.+describeProgramResponse_arn :: Lens.Lens' DescribeProgramResponse (Prelude.Maybe Prelude.Text)+describeProgramResponse_arn = Lens.lens (\DescribeProgramResponse' {arn} -> arn) (\s@DescribeProgramResponse' {} a -> s {arn = a} :: DescribeProgramResponse)++-- | The name of the channel that the program belongs to.+describeProgramResponse_channelName :: Lens.Lens' DescribeProgramResponse (Prelude.Maybe Prelude.Text)+describeProgramResponse_channelName = Lens.lens (\DescribeProgramResponse' {channelName} -> channelName) (\s@DescribeProgramResponse' {} a -> s {channelName = a} :: DescribeProgramResponse)++-- | The timestamp of when the program was created.+describeProgramResponse_creationTime :: Lens.Lens' DescribeProgramResponse (Prelude.Maybe Prelude.UTCTime)+describeProgramResponse_creationTime = Lens.lens (\DescribeProgramResponse' {creationTime} -> creationTime) (\s@DescribeProgramResponse' {} a -> s {creationTime = a} :: DescribeProgramResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the LiveSource for this Program.+describeProgramResponse_liveSourceName :: Lens.Lens' DescribeProgramResponse (Prelude.Maybe Prelude.Text)+describeProgramResponse_liveSourceName = Lens.lens (\DescribeProgramResponse' {liveSourceName} -> liveSourceName) (\s@DescribeProgramResponse' {} a -> s {liveSourceName = a} :: DescribeProgramResponse)++-- | The name of the program.+describeProgramResponse_programName :: Lens.Lens' DescribeProgramResponse (Prelude.Maybe Prelude.Text)+describeProgramResponse_programName = Lens.lens (\DescribeProgramResponse' {programName} -> programName) (\s@DescribeProgramResponse' {} a -> s {programName = a} :: DescribeProgramResponse)++-- | The date and time that the program is scheduled to start in ISO 8601+-- format and Coordinated Universal Time (UTC). For example, the value+-- 2021-03-27T17:48:16.751Z represents March 27, 2021 at 17:48:16.751 UTC.+describeProgramResponse_scheduledStartTime :: Lens.Lens' DescribeProgramResponse (Prelude.Maybe Prelude.UTCTime)+describeProgramResponse_scheduledStartTime = Lens.lens (\DescribeProgramResponse' {scheduledStartTime} -> scheduledStartTime) (\s@DescribeProgramResponse' {} a -> s {scheduledStartTime = a} :: DescribeProgramResponse) Prelude.. Lens.mapping Data._Time++-- | The source location name.+describeProgramResponse_sourceLocationName :: Lens.Lens' DescribeProgramResponse (Prelude.Maybe Prelude.Text)+describeProgramResponse_sourceLocationName = Lens.lens (\DescribeProgramResponse' {sourceLocationName} -> sourceLocationName) (\s@DescribeProgramResponse' {} a -> s {sourceLocationName = a} :: DescribeProgramResponse)++-- | The name that\'s used to refer to a VOD source.+describeProgramResponse_vodSourceName :: Lens.Lens' DescribeProgramResponse (Prelude.Maybe Prelude.Text)+describeProgramResponse_vodSourceName = Lens.lens (\DescribeProgramResponse' {vodSourceName} -> vodSourceName) (\s@DescribeProgramResponse' {} a -> s {vodSourceName = a} :: DescribeProgramResponse)++-- | The response's http status code.+describeProgramResponse_httpStatus :: Lens.Lens' DescribeProgramResponse Prelude.Int+describeProgramResponse_httpStatus = Lens.lens (\DescribeProgramResponse' {httpStatus} -> httpStatus) (\s@DescribeProgramResponse' {} a -> s {httpStatus = a} :: DescribeProgramResponse)++instance Prelude.NFData DescribeProgramResponse where+ rnf DescribeProgramResponse' {..} =+ Prelude.rnf adBreaks+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf liveSourceName+ `Prelude.seq` Prelude.rnf programName+ `Prelude.seq` Prelude.rnf scheduledStartTime+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf vodSourceName+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/DescribeSourceLocation.hs view
@@ -0,0 +1,282 @@+{-# 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.MediaTailor.DescribeSourceLocation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Describes a source location. A source location is a container for+-- sources. For more information about source locations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-source-locations.html Working with source locations>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.DescribeSourceLocation+ ( -- * Creating a Request+ DescribeSourceLocation (..),+ newDescribeSourceLocation,++ -- * Request Lenses+ describeSourceLocation_sourceLocationName,++ -- * Destructuring the Response+ DescribeSourceLocationResponse (..),+ newDescribeSourceLocationResponse,++ -- * Response Lenses+ describeSourceLocationResponse_accessConfiguration,+ describeSourceLocationResponse_arn,+ describeSourceLocationResponse_creationTime,+ describeSourceLocationResponse_defaultSegmentDeliveryConfiguration,+ describeSourceLocationResponse_httpConfiguration,+ describeSourceLocationResponse_lastModifiedTime,+ describeSourceLocationResponse_segmentDeliveryConfigurations,+ describeSourceLocationResponse_sourceLocationName,+ describeSourceLocationResponse_tags,+ describeSourceLocationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeSourceLocation' smart constructor.+data DescribeSourceLocation = DescribeSourceLocation'+ { -- | The name of the source location.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeSourceLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceLocationName', 'describeSourceLocation_sourceLocationName' - The name of the source location.+newDescribeSourceLocation ::+ -- | 'sourceLocationName'+ Prelude.Text ->+ DescribeSourceLocation+newDescribeSourceLocation pSourceLocationName_ =+ DescribeSourceLocation'+ { sourceLocationName =+ pSourceLocationName_+ }++-- | The name of the source location.+describeSourceLocation_sourceLocationName :: Lens.Lens' DescribeSourceLocation Prelude.Text+describeSourceLocation_sourceLocationName = Lens.lens (\DescribeSourceLocation' {sourceLocationName} -> sourceLocationName) (\s@DescribeSourceLocation' {} a -> s {sourceLocationName = a} :: DescribeSourceLocation)++instance Core.AWSRequest DescribeSourceLocation where+ type+ AWSResponse DescribeSourceLocation =+ DescribeSourceLocationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeSourceLocationResponse'+ Prelude.<$> (x Data..?> "AccessConfiguration")+ Prelude.<*> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "DefaultSegmentDeliveryConfiguration")+ Prelude.<*> (x Data..?> "HttpConfiguration")+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> ( x+ Data..?> "SegmentDeliveryConfigurations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "SourceLocationName")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeSourceLocation where+ hashWithSalt _salt DescribeSourceLocation' {..} =+ _salt `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData DescribeSourceLocation where+ rnf DescribeSourceLocation' {..} =+ Prelude.rnf sourceLocationName++instance Data.ToHeaders DescribeSourceLocation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeSourceLocation where+ toPath DescribeSourceLocation' {..} =+ Prelude.mconcat+ ["/sourceLocation/", Data.toBS sourceLocationName]++instance Data.ToQuery DescribeSourceLocation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeSourceLocationResponse' smart constructor.+data DescribeSourceLocationResponse = DescribeSourceLocationResponse'+ { -- | The access configuration for the source location.+ accessConfiguration :: Prelude.Maybe AccessConfiguration,+ -- | The ARN of the source location.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The timestamp that indicates when the source location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The default segment delivery configuration settings.+ defaultSegmentDeliveryConfiguration :: Prelude.Maybe DefaultSegmentDeliveryConfiguration,+ -- | The HTTP package configuration settings for the source location.+ httpConfiguration :: Prelude.Maybe HttpConfiguration,+ -- | The timestamp that indicates when the source location was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | A list of the segment delivery configurations associated with this+ -- resource.+ segmentDeliveryConfigurations :: Prelude.Maybe [SegmentDeliveryConfiguration],+ -- | The name of the source location.+ sourceLocationName :: Prelude.Maybe Prelude.Text,+ -- | The tags assigned to the source location. Tags are key-value pairs that+ -- you can associate with Amazon resources to help with organization,+ -- access control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ 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 'DescribeSourceLocationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessConfiguration', 'describeSourceLocationResponse_accessConfiguration' - The access configuration for the source location.+--+-- 'arn', 'describeSourceLocationResponse_arn' - The ARN of the source location.+--+-- 'creationTime', 'describeSourceLocationResponse_creationTime' - The timestamp that indicates when the source location was created.+--+-- 'defaultSegmentDeliveryConfiguration', 'describeSourceLocationResponse_defaultSegmentDeliveryConfiguration' - The default segment delivery configuration settings.+--+-- 'httpConfiguration', 'describeSourceLocationResponse_httpConfiguration' - The HTTP package configuration settings for the source location.+--+-- 'lastModifiedTime', 'describeSourceLocationResponse_lastModifiedTime' - The timestamp that indicates when the source location was last modified.+--+-- 'segmentDeliveryConfigurations', 'describeSourceLocationResponse_segmentDeliveryConfigurations' - A list of the segment delivery configurations associated with this+-- resource.+--+-- 'sourceLocationName', 'describeSourceLocationResponse_sourceLocationName' - The name of the source location.+--+-- 'tags', 'describeSourceLocationResponse_tags' - The tags assigned to the source location. Tags are key-value pairs that+-- you can associate with Amazon resources to help with organization,+-- access control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'httpStatus', 'describeSourceLocationResponse_httpStatus' - The response's http status code.+newDescribeSourceLocationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeSourceLocationResponse+newDescribeSourceLocationResponse pHttpStatus_ =+ DescribeSourceLocationResponse'+ { accessConfiguration =+ Prelude.Nothing,+ arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ defaultSegmentDeliveryConfiguration =+ Prelude.Nothing,+ httpConfiguration = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ segmentDeliveryConfigurations =+ Prelude.Nothing,+ sourceLocationName = Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The access configuration for the source location.+describeSourceLocationResponse_accessConfiguration :: Lens.Lens' DescribeSourceLocationResponse (Prelude.Maybe AccessConfiguration)+describeSourceLocationResponse_accessConfiguration = Lens.lens (\DescribeSourceLocationResponse' {accessConfiguration} -> accessConfiguration) (\s@DescribeSourceLocationResponse' {} a -> s {accessConfiguration = a} :: DescribeSourceLocationResponse)++-- | The ARN of the source location.+describeSourceLocationResponse_arn :: Lens.Lens' DescribeSourceLocationResponse (Prelude.Maybe Prelude.Text)+describeSourceLocationResponse_arn = Lens.lens (\DescribeSourceLocationResponse' {arn} -> arn) (\s@DescribeSourceLocationResponse' {} a -> s {arn = a} :: DescribeSourceLocationResponse)++-- | The timestamp that indicates when the source location was created.+describeSourceLocationResponse_creationTime :: Lens.Lens' DescribeSourceLocationResponse (Prelude.Maybe Prelude.UTCTime)+describeSourceLocationResponse_creationTime = Lens.lens (\DescribeSourceLocationResponse' {creationTime} -> creationTime) (\s@DescribeSourceLocationResponse' {} a -> s {creationTime = a} :: DescribeSourceLocationResponse) Prelude.. Lens.mapping Data._Time++-- | The default segment delivery configuration settings.+describeSourceLocationResponse_defaultSegmentDeliveryConfiguration :: Lens.Lens' DescribeSourceLocationResponse (Prelude.Maybe DefaultSegmentDeliveryConfiguration)+describeSourceLocationResponse_defaultSegmentDeliveryConfiguration = Lens.lens (\DescribeSourceLocationResponse' {defaultSegmentDeliveryConfiguration} -> defaultSegmentDeliveryConfiguration) (\s@DescribeSourceLocationResponse' {} a -> s {defaultSegmentDeliveryConfiguration = a} :: DescribeSourceLocationResponse)++-- | The HTTP package configuration settings for the source location.+describeSourceLocationResponse_httpConfiguration :: Lens.Lens' DescribeSourceLocationResponse (Prelude.Maybe HttpConfiguration)+describeSourceLocationResponse_httpConfiguration = Lens.lens (\DescribeSourceLocationResponse' {httpConfiguration} -> httpConfiguration) (\s@DescribeSourceLocationResponse' {} a -> s {httpConfiguration = a} :: DescribeSourceLocationResponse)++-- | The timestamp that indicates when the source location was last modified.+describeSourceLocationResponse_lastModifiedTime :: Lens.Lens' DescribeSourceLocationResponse (Prelude.Maybe Prelude.UTCTime)+describeSourceLocationResponse_lastModifiedTime = Lens.lens (\DescribeSourceLocationResponse' {lastModifiedTime} -> lastModifiedTime) (\s@DescribeSourceLocationResponse' {} a -> s {lastModifiedTime = a} :: DescribeSourceLocationResponse) Prelude.. Lens.mapping Data._Time++-- | A list of the segment delivery configurations associated with this+-- resource.+describeSourceLocationResponse_segmentDeliveryConfigurations :: Lens.Lens' DescribeSourceLocationResponse (Prelude.Maybe [SegmentDeliveryConfiguration])+describeSourceLocationResponse_segmentDeliveryConfigurations = Lens.lens (\DescribeSourceLocationResponse' {segmentDeliveryConfigurations} -> segmentDeliveryConfigurations) (\s@DescribeSourceLocationResponse' {} a -> s {segmentDeliveryConfigurations = a} :: DescribeSourceLocationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The name of the source location.+describeSourceLocationResponse_sourceLocationName :: Lens.Lens' DescribeSourceLocationResponse (Prelude.Maybe Prelude.Text)+describeSourceLocationResponse_sourceLocationName = Lens.lens (\DescribeSourceLocationResponse' {sourceLocationName} -> sourceLocationName) (\s@DescribeSourceLocationResponse' {} a -> s {sourceLocationName = a} :: DescribeSourceLocationResponse)++-- | The tags assigned to the source location. Tags are key-value pairs that+-- you can associate with Amazon resources to help with organization,+-- access control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+describeSourceLocationResponse_tags :: Lens.Lens' DescribeSourceLocationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeSourceLocationResponse_tags = Lens.lens (\DescribeSourceLocationResponse' {tags} -> tags) (\s@DescribeSourceLocationResponse' {} a -> s {tags = a} :: DescribeSourceLocationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+describeSourceLocationResponse_httpStatus :: Lens.Lens' DescribeSourceLocationResponse Prelude.Int+describeSourceLocationResponse_httpStatus = Lens.lens (\DescribeSourceLocationResponse' {httpStatus} -> httpStatus) (\s@DescribeSourceLocationResponse' {} a -> s {httpStatus = a} :: DescribeSourceLocationResponse)++instance+ Prelude.NFData+ DescribeSourceLocationResponse+ where+ rnf DescribeSourceLocationResponse' {..} =+ Prelude.rnf accessConfiguration+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf defaultSegmentDeliveryConfiguration+ `Prelude.seq` Prelude.rnf httpConfiguration+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf segmentDeliveryConfigurations+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/DescribeVodSource.hs view
@@ -0,0 +1,268 @@+{-# 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.MediaTailor.DescribeVodSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Provides details about a specific video on demand (VOD) source in a+-- specific source location.+module Amazonka.MediaTailor.DescribeVodSource+ ( -- * Creating a Request+ DescribeVodSource (..),+ newDescribeVodSource,++ -- * Request Lenses+ describeVodSource_sourceLocationName,+ describeVodSource_vodSourceName,++ -- * Destructuring the Response+ DescribeVodSourceResponse (..),+ newDescribeVodSourceResponse,++ -- * Response Lenses+ describeVodSourceResponse_arn,+ describeVodSourceResponse_creationTime,+ describeVodSourceResponse_httpPackageConfigurations,+ describeVodSourceResponse_lastModifiedTime,+ describeVodSourceResponse_sourceLocationName,+ describeVodSourceResponse_tags,+ describeVodSourceResponse_vodSourceName,+ describeVodSourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newDescribeVodSource' smart constructor.+data DescribeVodSource = DescribeVodSource'+ { -- | The name of the source location associated with this VOD Source.+ sourceLocationName :: Prelude.Text,+ -- | The name of the VOD Source.+ vodSourceName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DescribeVodSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceLocationName', 'describeVodSource_sourceLocationName' - The name of the source location associated with this VOD Source.+--+-- 'vodSourceName', 'describeVodSource_vodSourceName' - The name of the VOD Source.+newDescribeVodSource ::+ -- | 'sourceLocationName'+ Prelude.Text ->+ -- | 'vodSourceName'+ Prelude.Text ->+ DescribeVodSource+newDescribeVodSource+ pSourceLocationName_+ pVodSourceName_ =+ DescribeVodSource'+ { sourceLocationName =+ pSourceLocationName_,+ vodSourceName = pVodSourceName_+ }++-- | The name of the source location associated with this VOD Source.+describeVodSource_sourceLocationName :: Lens.Lens' DescribeVodSource Prelude.Text+describeVodSource_sourceLocationName = Lens.lens (\DescribeVodSource' {sourceLocationName} -> sourceLocationName) (\s@DescribeVodSource' {} a -> s {sourceLocationName = a} :: DescribeVodSource)++-- | The name of the VOD Source.+describeVodSource_vodSourceName :: Lens.Lens' DescribeVodSource Prelude.Text+describeVodSource_vodSourceName = Lens.lens (\DescribeVodSource' {vodSourceName} -> vodSourceName) (\s@DescribeVodSource' {} a -> s {vodSourceName = a} :: DescribeVodSource)++instance Core.AWSRequest DescribeVodSource where+ type+ AWSResponse DescribeVodSource =+ DescribeVodSourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ DescribeVodSourceResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> ( x+ Data..?> "HttpPackageConfigurations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> (x Data..?> "SourceLocationName")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "VodSourceName")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable DescribeVodSource where+ hashWithSalt _salt DescribeVodSource' {..} =+ _salt+ `Prelude.hashWithSalt` sourceLocationName+ `Prelude.hashWithSalt` vodSourceName++instance Prelude.NFData DescribeVodSource where+ rnf DescribeVodSource' {..} =+ Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf vodSourceName++instance Data.ToHeaders DescribeVodSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath DescribeVodSource where+ toPath DescribeVodSource' {..} =+ Prelude.mconcat+ [ "/sourceLocation/",+ Data.toBS sourceLocationName,+ "/vodSource/",+ Data.toBS vodSourceName+ ]++instance Data.ToQuery DescribeVodSource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDescribeVodSourceResponse' smart constructor.+data DescribeVodSourceResponse = DescribeVodSourceResponse'+ { -- | The ARN of the VOD source.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The timestamp that indicates when the VOD source was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The HTTP package configurations.+ httpPackageConfigurations :: Prelude.Maybe [HttpPackageConfiguration],+ -- | The last modified time of the VOD source.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the source location associated with the VOD source.+ sourceLocationName :: Prelude.Maybe Prelude.Text,+ -- | The tags assigned to the VOD source. Tags are key-value pairs that you+ -- can associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the VOD source.+ vodSourceName :: 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 'DescribeVodSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'describeVodSourceResponse_arn' - The ARN of the VOD source.+--+-- 'creationTime', 'describeVodSourceResponse_creationTime' - The timestamp that indicates when the VOD source was created.+--+-- 'httpPackageConfigurations', 'describeVodSourceResponse_httpPackageConfigurations' - The HTTP package configurations.+--+-- 'lastModifiedTime', 'describeVodSourceResponse_lastModifiedTime' - The last modified time of the VOD source.+--+-- 'sourceLocationName', 'describeVodSourceResponse_sourceLocationName' - The name of the source location associated with the VOD source.+--+-- 'tags', 'describeVodSourceResponse_tags' - The tags assigned to the VOD source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'vodSourceName', 'describeVodSourceResponse_vodSourceName' - The name of the VOD source.+--+-- 'httpStatus', 'describeVodSourceResponse_httpStatus' - The response's http status code.+newDescribeVodSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ DescribeVodSourceResponse+newDescribeVodSourceResponse pHttpStatus_ =+ DescribeVodSourceResponse'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ httpPackageConfigurations = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ sourceLocationName = Prelude.Nothing,+ tags = Prelude.Nothing,+ vodSourceName = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The ARN of the VOD source.+describeVodSourceResponse_arn :: Lens.Lens' DescribeVodSourceResponse (Prelude.Maybe Prelude.Text)+describeVodSourceResponse_arn = Lens.lens (\DescribeVodSourceResponse' {arn} -> arn) (\s@DescribeVodSourceResponse' {} a -> s {arn = a} :: DescribeVodSourceResponse)++-- | The timestamp that indicates when the VOD source was created.+describeVodSourceResponse_creationTime :: Lens.Lens' DescribeVodSourceResponse (Prelude.Maybe Prelude.UTCTime)+describeVodSourceResponse_creationTime = Lens.lens (\DescribeVodSourceResponse' {creationTime} -> creationTime) (\s@DescribeVodSourceResponse' {} a -> s {creationTime = a} :: DescribeVodSourceResponse) Prelude.. Lens.mapping Data._Time++-- | The HTTP package configurations.+describeVodSourceResponse_httpPackageConfigurations :: Lens.Lens' DescribeVodSourceResponse (Prelude.Maybe [HttpPackageConfiguration])+describeVodSourceResponse_httpPackageConfigurations = Lens.lens (\DescribeVodSourceResponse' {httpPackageConfigurations} -> httpPackageConfigurations) (\s@DescribeVodSourceResponse' {} a -> s {httpPackageConfigurations = a} :: DescribeVodSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The last modified time of the VOD source.+describeVodSourceResponse_lastModifiedTime :: Lens.Lens' DescribeVodSourceResponse (Prelude.Maybe Prelude.UTCTime)+describeVodSourceResponse_lastModifiedTime = Lens.lens (\DescribeVodSourceResponse' {lastModifiedTime} -> lastModifiedTime) (\s@DescribeVodSourceResponse' {} a -> s {lastModifiedTime = a} :: DescribeVodSourceResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the source location associated with the VOD source.+describeVodSourceResponse_sourceLocationName :: Lens.Lens' DescribeVodSourceResponse (Prelude.Maybe Prelude.Text)+describeVodSourceResponse_sourceLocationName = Lens.lens (\DescribeVodSourceResponse' {sourceLocationName} -> sourceLocationName) (\s@DescribeVodSourceResponse' {} a -> s {sourceLocationName = a} :: DescribeVodSourceResponse)++-- | The tags assigned to the VOD source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+describeVodSourceResponse_tags :: Lens.Lens' DescribeVodSourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+describeVodSourceResponse_tags = Lens.lens (\DescribeVodSourceResponse' {tags} -> tags) (\s@DescribeVodSourceResponse' {} a -> s {tags = a} :: DescribeVodSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The name of the VOD source.+describeVodSourceResponse_vodSourceName :: Lens.Lens' DescribeVodSourceResponse (Prelude.Maybe Prelude.Text)+describeVodSourceResponse_vodSourceName = Lens.lens (\DescribeVodSourceResponse' {vodSourceName} -> vodSourceName) (\s@DescribeVodSourceResponse' {} a -> s {vodSourceName = a} :: DescribeVodSourceResponse)++-- | The response's http status code.+describeVodSourceResponse_httpStatus :: Lens.Lens' DescribeVodSourceResponse Prelude.Int+describeVodSourceResponse_httpStatus = Lens.lens (\DescribeVodSourceResponse' {httpStatus} -> httpStatus) (\s@DescribeVodSourceResponse' {} a -> s {httpStatus = a} :: DescribeVodSourceResponse)++instance Prelude.NFData DescribeVodSourceResponse where+ rnf DescribeVodSourceResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf httpPackageConfigurations+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf vodSourceName+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/GetChannelPolicy.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.GetChannelPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the channel\'s IAM policy. IAM policies are used to control+-- access to your channel.+module Amazonka.MediaTailor.GetChannelPolicy+ ( -- * Creating a Request+ GetChannelPolicy (..),+ newGetChannelPolicy,++ -- * Request Lenses+ getChannelPolicy_channelName,++ -- * Destructuring the Response+ GetChannelPolicyResponse (..),+ newGetChannelPolicyResponse,++ -- * Response Lenses+ getChannelPolicyResponse_policy,+ getChannelPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetChannelPolicy' smart constructor.+data GetChannelPolicy = GetChannelPolicy'+ { -- | The name of the channel associated with this Channel Policy.+ channelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetChannelPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelName', 'getChannelPolicy_channelName' - The name of the channel associated with this Channel Policy.+newGetChannelPolicy ::+ -- | 'channelName'+ Prelude.Text ->+ GetChannelPolicy+newGetChannelPolicy pChannelName_ =+ GetChannelPolicy' {channelName = pChannelName_}++-- | The name of the channel associated with this Channel Policy.+getChannelPolicy_channelName :: Lens.Lens' GetChannelPolicy Prelude.Text+getChannelPolicy_channelName = Lens.lens (\GetChannelPolicy' {channelName} -> channelName) (\s@GetChannelPolicy' {} a -> s {channelName = a} :: GetChannelPolicy)++instance Core.AWSRequest GetChannelPolicy where+ type+ AWSResponse GetChannelPolicy =+ GetChannelPolicyResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetChannelPolicyResponse'+ Prelude.<$> (x Data..?> "Policy")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetChannelPolicy where+ hashWithSalt _salt GetChannelPolicy' {..} =+ _salt `Prelude.hashWithSalt` channelName++instance Prelude.NFData GetChannelPolicy where+ rnf GetChannelPolicy' {..} = Prelude.rnf channelName++instance Data.ToHeaders GetChannelPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetChannelPolicy where+ toPath GetChannelPolicy' {..} =+ Prelude.mconcat+ ["/channel/", Data.toBS channelName, "/policy"]++instance Data.ToQuery GetChannelPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetChannelPolicyResponse' smart constructor.+data GetChannelPolicyResponse = GetChannelPolicyResponse'+ { -- | The IAM policy for the channel. IAM policies are used to control access+ -- to your channel.+ policy :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetChannelPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policy', 'getChannelPolicyResponse_policy' - The IAM policy for the channel. IAM policies are used to control access+-- to your channel.+--+-- 'httpStatus', 'getChannelPolicyResponse_httpStatus' - The response's http status code.+newGetChannelPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetChannelPolicyResponse+newGetChannelPolicyResponse pHttpStatus_ =+ GetChannelPolicyResponse'+ { policy = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The IAM policy for the channel. IAM policies are used to control access+-- to your channel.+getChannelPolicyResponse_policy :: Lens.Lens' GetChannelPolicyResponse (Prelude.Maybe Prelude.Text)+getChannelPolicyResponse_policy = Lens.lens (\GetChannelPolicyResponse' {policy} -> policy) (\s@GetChannelPolicyResponse' {} a -> s {policy = a} :: GetChannelPolicyResponse)++-- | The response's http status code.+getChannelPolicyResponse_httpStatus :: Lens.Lens' GetChannelPolicyResponse Prelude.Int+getChannelPolicyResponse_httpStatus = Lens.lens (\GetChannelPolicyResponse' {httpStatus} -> httpStatus) (\s@GetChannelPolicyResponse' {} a -> s {httpStatus = a} :: GetChannelPolicyResponse)++instance Prelude.NFData GetChannelPolicyResponse where+ rnf GetChannelPolicyResponse' {..} =+ Prelude.rnf policy+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/GetChannelSchedule.hs view
@@ -0,0 +1,286 @@+{-# 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.MediaTailor.GetChannelSchedule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about your channel\'s schedule.+--+-- This operation returns paginated results.+module Amazonka.MediaTailor.GetChannelSchedule+ ( -- * Creating a Request+ GetChannelSchedule (..),+ newGetChannelSchedule,++ -- * Request Lenses+ getChannelSchedule_durationMinutes,+ getChannelSchedule_maxResults,+ getChannelSchedule_nextToken,+ getChannelSchedule_channelName,++ -- * Destructuring the Response+ GetChannelScheduleResponse (..),+ newGetChannelScheduleResponse,++ -- * Response Lenses+ getChannelScheduleResponse_items,+ getChannelScheduleResponse_nextToken,+ getChannelScheduleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetChannelSchedule' smart constructor.+data GetChannelSchedule = GetChannelSchedule'+ { -- | The duration in minutes of the channel schedule.+ durationMinutes :: Prelude.Maybe Prelude.Text,+ -- | The maximum number of channel schedules that you want MediaTailor to+ -- return in response to the current request. If there are more than+ -- @MaxResults@ channel schedules, use the value of @NextToken@ in the+ -- response to get the next page of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | (Optional) If the playback configuration has more than @MaxResults@+ -- channel schedules, use @NextToken@ to get the second and subsequent+ -- pages of results.+ --+ -- For the first @GetChannelScheduleRequest@ request, omit this value.+ --+ -- For the second and subsequent requests, get the value of @NextToken@+ -- from the previous response and specify that value for @NextToken@ in the+ -- request.+ --+ -- If the previous response didn\'t include a @NextToken@ element, there+ -- are no more channel schedules to get.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the channel associated with this Channel Schedule.+ channelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetChannelSchedule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'durationMinutes', 'getChannelSchedule_durationMinutes' - The duration in minutes of the channel schedule.+--+-- 'maxResults', 'getChannelSchedule_maxResults' - The maximum number of channel schedules that you want MediaTailor to+-- return in response to the current request. If there are more than+-- @MaxResults@ channel schedules, use the value of @NextToken@ in the+-- response to get the next page of results.+--+-- 'nextToken', 'getChannelSchedule_nextToken' - (Optional) If the playback configuration has more than @MaxResults@+-- channel schedules, use @NextToken@ to get the second and subsequent+-- pages of results.+--+-- For the first @GetChannelScheduleRequest@ request, omit this value.+--+-- For the second and subsequent requests, get the value of @NextToken@+-- from the previous response and specify that value for @NextToken@ in the+-- request.+--+-- If the previous response didn\'t include a @NextToken@ element, there+-- are no more channel schedules to get.+--+-- 'channelName', 'getChannelSchedule_channelName' - The name of the channel associated with this Channel Schedule.+newGetChannelSchedule ::+ -- | 'channelName'+ Prelude.Text ->+ GetChannelSchedule+newGetChannelSchedule pChannelName_ =+ GetChannelSchedule'+ { durationMinutes =+ Prelude.Nothing,+ maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ channelName = pChannelName_+ }++-- | The duration in minutes of the channel schedule.+getChannelSchedule_durationMinutes :: Lens.Lens' GetChannelSchedule (Prelude.Maybe Prelude.Text)+getChannelSchedule_durationMinutes = Lens.lens (\GetChannelSchedule' {durationMinutes} -> durationMinutes) (\s@GetChannelSchedule' {} a -> s {durationMinutes = a} :: GetChannelSchedule)++-- | The maximum number of channel schedules that you want MediaTailor to+-- return in response to the current request. If there are more than+-- @MaxResults@ channel schedules, use the value of @NextToken@ in the+-- response to get the next page of results.+getChannelSchedule_maxResults :: Lens.Lens' GetChannelSchedule (Prelude.Maybe Prelude.Natural)+getChannelSchedule_maxResults = Lens.lens (\GetChannelSchedule' {maxResults} -> maxResults) (\s@GetChannelSchedule' {} a -> s {maxResults = a} :: GetChannelSchedule)++-- | (Optional) If the playback configuration has more than @MaxResults@+-- channel schedules, use @NextToken@ to get the second and subsequent+-- pages of results.+--+-- For the first @GetChannelScheduleRequest@ request, omit this value.+--+-- For the second and subsequent requests, get the value of @NextToken@+-- from the previous response and specify that value for @NextToken@ in the+-- request.+--+-- If the previous response didn\'t include a @NextToken@ element, there+-- are no more channel schedules to get.+getChannelSchedule_nextToken :: Lens.Lens' GetChannelSchedule (Prelude.Maybe Prelude.Text)+getChannelSchedule_nextToken = Lens.lens (\GetChannelSchedule' {nextToken} -> nextToken) (\s@GetChannelSchedule' {} a -> s {nextToken = a} :: GetChannelSchedule)++-- | The name of the channel associated with this Channel Schedule.+getChannelSchedule_channelName :: Lens.Lens' GetChannelSchedule Prelude.Text+getChannelSchedule_channelName = Lens.lens (\GetChannelSchedule' {channelName} -> channelName) (\s@GetChannelSchedule' {} a -> s {channelName = a} :: GetChannelSchedule)++instance Core.AWSPager GetChannelSchedule where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? getChannelScheduleResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? getChannelScheduleResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& getChannelSchedule_nextToken+ Lens..~ rs+ Lens.^? getChannelScheduleResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest GetChannelSchedule where+ type+ AWSResponse GetChannelSchedule =+ GetChannelScheduleResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetChannelScheduleResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetChannelSchedule where+ hashWithSalt _salt GetChannelSchedule' {..} =+ _salt+ `Prelude.hashWithSalt` durationMinutes+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` channelName++instance Prelude.NFData GetChannelSchedule where+ rnf GetChannelSchedule' {..} =+ Prelude.rnf durationMinutes+ `Prelude.seq` Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf channelName++instance Data.ToHeaders GetChannelSchedule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetChannelSchedule where+ toPath GetChannelSchedule' {..} =+ Prelude.mconcat+ ["/channel/", Data.toBS channelName, "/schedule"]++instance Data.ToQuery GetChannelSchedule where+ toQuery GetChannelSchedule' {..} =+ Prelude.mconcat+ [ "durationMinutes" Data.=: durationMinutes,+ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newGetChannelScheduleResponse' smart constructor.+data GetChannelScheduleResponse = GetChannelScheduleResponse'+ { -- | A list of schedule entries for the channel.+ items :: Prelude.Maybe [ScheduleEntry],+ -- | Pagination token returned by the list request when results exceed the+ -- maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetChannelScheduleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'getChannelScheduleResponse_items' - A list of schedule entries for the channel.+--+-- 'nextToken', 'getChannelScheduleResponse_nextToken' - Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+--+-- 'httpStatus', 'getChannelScheduleResponse_httpStatus' - The response's http status code.+newGetChannelScheduleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetChannelScheduleResponse+newGetChannelScheduleResponse pHttpStatus_ =+ GetChannelScheduleResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of schedule entries for the channel.+getChannelScheduleResponse_items :: Lens.Lens' GetChannelScheduleResponse (Prelude.Maybe [ScheduleEntry])+getChannelScheduleResponse_items = Lens.lens (\GetChannelScheduleResponse' {items} -> items) (\s@GetChannelScheduleResponse' {} a -> s {items = a} :: GetChannelScheduleResponse) Prelude.. Lens.mapping Lens.coerced++-- | Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+getChannelScheduleResponse_nextToken :: Lens.Lens' GetChannelScheduleResponse (Prelude.Maybe Prelude.Text)+getChannelScheduleResponse_nextToken = Lens.lens (\GetChannelScheduleResponse' {nextToken} -> nextToken) (\s@GetChannelScheduleResponse' {} a -> s {nextToken = a} :: GetChannelScheduleResponse)++-- | The response's http status code.+getChannelScheduleResponse_httpStatus :: Lens.Lens' GetChannelScheduleResponse Prelude.Int+getChannelScheduleResponse_httpStatus = Lens.lens (\GetChannelScheduleResponse' {httpStatus} -> httpStatus) (\s@GetChannelScheduleResponse' {} a -> s {httpStatus = a} :: GetChannelScheduleResponse)++instance Prelude.NFData GetChannelScheduleResponse where+ rnf GetChannelScheduleResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/GetPlaybackConfiguration.hs view
@@ -0,0 +1,503 @@+{-# 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.MediaTailor.GetPlaybackConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a playback configuration. For information about MediaTailor+-- configurations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html Working with configurations in AWS Elemental MediaTailor>.+module Amazonka.MediaTailor.GetPlaybackConfiguration+ ( -- * Creating a Request+ GetPlaybackConfiguration (..),+ newGetPlaybackConfiguration,++ -- * Request Lenses+ getPlaybackConfiguration_name,++ -- * Destructuring the Response+ GetPlaybackConfigurationResponse (..),+ newGetPlaybackConfigurationResponse,++ -- * Response Lenses+ getPlaybackConfigurationResponse_adDecisionServerUrl,+ getPlaybackConfigurationResponse_availSuppression,+ getPlaybackConfigurationResponse_bumper,+ getPlaybackConfigurationResponse_cdnConfiguration,+ getPlaybackConfigurationResponse_configurationAliases,+ getPlaybackConfigurationResponse_dashConfiguration,+ getPlaybackConfigurationResponse_hlsConfiguration,+ getPlaybackConfigurationResponse_livePreRollConfiguration,+ getPlaybackConfigurationResponse_logConfiguration,+ getPlaybackConfigurationResponse_manifestProcessingRules,+ getPlaybackConfigurationResponse_name,+ getPlaybackConfigurationResponse_personalizationThresholdSeconds,+ getPlaybackConfigurationResponse_playbackConfigurationArn,+ getPlaybackConfigurationResponse_playbackEndpointPrefix,+ getPlaybackConfigurationResponse_sessionInitializationEndpointPrefix,+ getPlaybackConfigurationResponse_slateAdUrl,+ getPlaybackConfigurationResponse_tags,+ getPlaybackConfigurationResponse_transcodeProfileName,+ getPlaybackConfigurationResponse_videoContentSourceUrl,+ getPlaybackConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetPlaybackConfiguration' smart constructor.+data GetPlaybackConfiguration = GetPlaybackConfiguration'+ { -- | The identifier for the playback configuration.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPlaybackConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getPlaybackConfiguration_name' - The identifier for the playback configuration.+newGetPlaybackConfiguration ::+ -- | 'name'+ Prelude.Text ->+ GetPlaybackConfiguration+newGetPlaybackConfiguration pName_ =+ GetPlaybackConfiguration' {name = pName_}++-- | The identifier for the playback configuration.+getPlaybackConfiguration_name :: Lens.Lens' GetPlaybackConfiguration Prelude.Text+getPlaybackConfiguration_name = Lens.lens (\GetPlaybackConfiguration' {name} -> name) (\s@GetPlaybackConfiguration' {} a -> s {name = a} :: GetPlaybackConfiguration)++instance Core.AWSRequest GetPlaybackConfiguration where+ type+ AWSResponse GetPlaybackConfiguration =+ GetPlaybackConfigurationResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetPlaybackConfigurationResponse'+ Prelude.<$> (x Data..?> "AdDecisionServerUrl")+ Prelude.<*> (x Data..?> "AvailSuppression")+ Prelude.<*> (x Data..?> "Bumper")+ Prelude.<*> (x Data..?> "CdnConfiguration")+ Prelude.<*> ( x+ Data..?> "ConfigurationAliases"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "DashConfiguration")+ Prelude.<*> (x Data..?> "HlsConfiguration")+ Prelude.<*> (x Data..?> "LivePreRollConfiguration")+ Prelude.<*> (x Data..?> "LogConfiguration")+ Prelude.<*> (x Data..?> "ManifestProcessingRules")+ Prelude.<*> (x Data..?> "Name")+ Prelude.<*> (x Data..?> "PersonalizationThresholdSeconds")+ Prelude.<*> (x Data..?> "PlaybackConfigurationArn")+ Prelude.<*> (x Data..?> "PlaybackEndpointPrefix")+ Prelude.<*> (x Data..?> "SessionInitializationEndpointPrefix")+ Prelude.<*> (x Data..?> "SlateAdUrl")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "TranscodeProfileName")+ Prelude.<*> (x Data..?> "VideoContentSourceUrl")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetPlaybackConfiguration where+ hashWithSalt _salt GetPlaybackConfiguration' {..} =+ _salt `Prelude.hashWithSalt` name++instance Prelude.NFData GetPlaybackConfiguration where+ rnf GetPlaybackConfiguration' {..} = Prelude.rnf name++instance Data.ToHeaders GetPlaybackConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetPlaybackConfiguration where+ toPath GetPlaybackConfiguration' {..} =+ Prelude.mconcat+ ["/playbackConfiguration/", Data.toBS name]++instance Data.ToQuery GetPlaybackConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetPlaybackConfigurationResponse' smart constructor.+data GetPlaybackConfigurationResponse = GetPlaybackConfigurationResponse'+ { -- | The URL for the ad decision server (ADS). This includes the+ -- specification of static parameters and placeholders for dynamic+ -- parameters. AWS Elemental MediaTailor substitutes player-specific and+ -- session-specific parameters as needed when calling the ADS. Alternately,+ -- for testing, you can provide a static VAST URL. The maximum length is+ -- 25,000 characters.+ adDecisionServerUrl :: Prelude.Maybe Prelude.Text,+ -- | The configuration for avail suppression, also known as ad suppression.+ -- For more information about ad suppression, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Suppression>.+ availSuppression :: Prelude.Maybe AvailSuppression,+ -- | The configuration for bumpers. Bumpers are short audio or video clips+ -- that play at the start or before the end of an ad break. To learn more+ -- about bumpers, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html Bumpers>.+ bumper :: Prelude.Maybe Bumper,+ -- | The configuration for using a content delivery network (CDN), like+ -- Amazon CloudFront, for content and ad segment management.+ cdnConfiguration :: Prelude.Maybe CdnConfiguration,+ -- | The player parameters and aliases used as dynamic variables during+ -- session initialization. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html Domain Variables>.+ configurationAliases :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | The configuration for DASH content.+ dashConfiguration :: Prelude.Maybe DashConfiguration,+ -- | The configuration for HLS content.+ hlsConfiguration :: Prelude.Maybe HlsConfiguration,+ -- | The configuration for pre-roll ad insertion.+ livePreRollConfiguration :: Prelude.Maybe LivePreRollConfiguration,+ -- | The Amazon CloudWatch log settings for a playback configuration.+ logConfiguration :: Prelude.Maybe LogConfiguration,+ -- | The configuration for manifest processing rules. Manifest processing+ -- rules enable customization of the personalized manifests created by+ -- MediaTailor.+ manifestProcessingRules :: Prelude.Maybe ManifestProcessingRules,+ -- | The identifier for the playback configuration.+ name :: Prelude.Maybe Prelude.Text,+ -- | Defines the maximum duration of underfilled ad time (in seconds) allowed+ -- in an ad break. If the duration of underfilled ad time exceeds the+ -- personalization threshold, then the personalization of the ad break is+ -- abandoned and the underlying content is shown. This feature applies to+ -- /ad replacement/ in live and VOD streams, rather than ad insertion,+ -- because it relies on an underlying content stream. For more information+ -- about ad break behavior, including ad replacement and insertion, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Behavior in AWS Elemental MediaTailor>.+ personalizationThresholdSeconds :: Prelude.Maybe Prelude.Natural,+ -- | The Amazon Resource Name (ARN) for the playback configuration.+ playbackConfigurationArn :: Prelude.Maybe Prelude.Text,+ -- | The URL that the player accesses to get a manifest from AWS Elemental+ -- MediaTailor. This session will use server-side reporting.+ playbackEndpointPrefix :: Prelude.Maybe Prelude.Text,+ -- | The URL that the player uses to initialize a session that uses+ -- client-side reporting.+ sessionInitializationEndpointPrefix :: Prelude.Maybe Prelude.Text,+ -- | The URL for a high-quality video asset to transcode and use to fill in+ -- time that\'s not used by ads. AWS Elemental MediaTailor shows the slate+ -- to fill in gaps in media content. Configuring the slate is optional for+ -- non-VPAID playback configurations. For VPAID, the slate is required+ -- because MediaTailor provides it in the slots designated for dynamic ad+ -- content. The slate must be a high-quality asset that contains both audio+ -- and video.+ slateAdUrl :: Prelude.Maybe Prelude.Text,+ -- | The tags assigned to the playback configuration. Tags are key-value+ -- pairs that you can associate with Amazon resources to help with+ -- organization, access control, and cost tracking. For more information,+ -- see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name that is used to associate this playback configuration with a+ -- custom transcode profile. This overrides the dynamic transcoding+ -- defaults of MediaTailor. Use this only if you have already set up custom+ -- profiles with the help of AWS Support.+ transcodeProfileName :: Prelude.Maybe Prelude.Text,+ -- | The URL prefix for the parent manifest for the stream, minus the asset+ -- ID. The maximum length is 512 characters.+ videoContentSourceUrl :: 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 'GetPlaybackConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adDecisionServerUrl', 'getPlaybackConfigurationResponse_adDecisionServerUrl' - The URL for the ad decision server (ADS). This includes the+-- specification of static parameters and placeholders for dynamic+-- parameters. AWS Elemental MediaTailor substitutes player-specific and+-- session-specific parameters as needed when calling the ADS. Alternately,+-- for testing, you can provide a static VAST URL. The maximum length is+-- 25,000 characters.+--+-- 'availSuppression', 'getPlaybackConfigurationResponse_availSuppression' - The configuration for avail suppression, also known as ad suppression.+-- For more information about ad suppression, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Suppression>.+--+-- 'bumper', 'getPlaybackConfigurationResponse_bumper' - The configuration for bumpers. Bumpers are short audio or video clips+-- that play at the start or before the end of an ad break. To learn more+-- about bumpers, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html Bumpers>.+--+-- 'cdnConfiguration', 'getPlaybackConfigurationResponse_cdnConfiguration' - The configuration for using a content delivery network (CDN), like+-- Amazon CloudFront, for content and ad segment management.+--+-- 'configurationAliases', 'getPlaybackConfigurationResponse_configurationAliases' - The player parameters and aliases used as dynamic variables during+-- session initialization. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html Domain Variables>.+--+-- 'dashConfiguration', 'getPlaybackConfigurationResponse_dashConfiguration' - The configuration for DASH content.+--+-- 'hlsConfiguration', 'getPlaybackConfigurationResponse_hlsConfiguration' - The configuration for HLS content.+--+-- 'livePreRollConfiguration', 'getPlaybackConfigurationResponse_livePreRollConfiguration' - The configuration for pre-roll ad insertion.+--+-- 'logConfiguration', 'getPlaybackConfigurationResponse_logConfiguration' - The Amazon CloudWatch log settings for a playback configuration.+--+-- 'manifestProcessingRules', 'getPlaybackConfigurationResponse_manifestProcessingRules' - The configuration for manifest processing rules. Manifest processing+-- rules enable customization of the personalized manifests created by+-- MediaTailor.+--+-- 'name', 'getPlaybackConfigurationResponse_name' - The identifier for the playback configuration.+--+-- 'personalizationThresholdSeconds', 'getPlaybackConfigurationResponse_personalizationThresholdSeconds' - Defines the maximum duration of underfilled ad time (in seconds) allowed+-- in an ad break. If the duration of underfilled ad time exceeds the+-- personalization threshold, then the personalization of the ad break is+-- abandoned and the underlying content is shown. This feature applies to+-- /ad replacement/ in live and VOD streams, rather than ad insertion,+-- because it relies on an underlying content stream. For more information+-- about ad break behavior, including ad replacement and insertion, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Behavior in AWS Elemental MediaTailor>.+--+-- 'playbackConfigurationArn', 'getPlaybackConfigurationResponse_playbackConfigurationArn' - The Amazon Resource Name (ARN) for the playback configuration.+--+-- 'playbackEndpointPrefix', 'getPlaybackConfigurationResponse_playbackEndpointPrefix' - The URL that the player accesses to get a manifest from AWS Elemental+-- MediaTailor. This session will use server-side reporting.+--+-- 'sessionInitializationEndpointPrefix', 'getPlaybackConfigurationResponse_sessionInitializationEndpointPrefix' - The URL that the player uses to initialize a session that uses+-- client-side reporting.+--+-- 'slateAdUrl', 'getPlaybackConfigurationResponse_slateAdUrl' - The URL for a high-quality video asset to transcode and use to fill in+-- time that\'s not used by ads. AWS Elemental MediaTailor shows the slate+-- to fill in gaps in media content. Configuring the slate is optional for+-- non-VPAID playback configurations. For VPAID, the slate is required+-- because MediaTailor provides it in the slots designated for dynamic ad+-- content. The slate must be a high-quality asset that contains both audio+-- and video.+--+-- 'tags', 'getPlaybackConfigurationResponse_tags' - The tags assigned to the playback configuration. Tags are key-value+-- pairs that you can associate with Amazon resources to help with+-- organization, access control, and cost tracking. For more information,+-- see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'transcodeProfileName', 'getPlaybackConfigurationResponse_transcodeProfileName' - The name that is used to associate this playback configuration with a+-- custom transcode profile. This overrides the dynamic transcoding+-- defaults of MediaTailor. Use this only if you have already set up custom+-- profiles with the help of AWS Support.+--+-- 'videoContentSourceUrl', 'getPlaybackConfigurationResponse_videoContentSourceUrl' - The URL prefix for the parent manifest for the stream, minus the asset+-- ID. The maximum length is 512 characters.+--+-- 'httpStatus', 'getPlaybackConfigurationResponse_httpStatus' - The response's http status code.+newGetPlaybackConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetPlaybackConfigurationResponse+newGetPlaybackConfigurationResponse pHttpStatus_ =+ GetPlaybackConfigurationResponse'+ { adDecisionServerUrl =+ Prelude.Nothing,+ availSuppression = Prelude.Nothing,+ bumper = Prelude.Nothing,+ cdnConfiguration = Prelude.Nothing,+ configurationAliases = Prelude.Nothing,+ dashConfiguration = Prelude.Nothing,+ hlsConfiguration = Prelude.Nothing,+ livePreRollConfiguration =+ Prelude.Nothing,+ logConfiguration = Prelude.Nothing,+ manifestProcessingRules = Prelude.Nothing,+ name = Prelude.Nothing,+ personalizationThresholdSeconds =+ Prelude.Nothing,+ playbackConfigurationArn =+ Prelude.Nothing,+ playbackEndpointPrefix = Prelude.Nothing,+ sessionInitializationEndpointPrefix =+ Prelude.Nothing,+ slateAdUrl = Prelude.Nothing,+ tags = Prelude.Nothing,+ transcodeProfileName = Prelude.Nothing,+ videoContentSourceUrl = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The URL for the ad decision server (ADS). This includes the+-- specification of static parameters and placeholders for dynamic+-- parameters. AWS Elemental MediaTailor substitutes player-specific and+-- session-specific parameters as needed when calling the ADS. Alternately,+-- for testing, you can provide a static VAST URL. The maximum length is+-- 25,000 characters.+getPlaybackConfigurationResponse_adDecisionServerUrl :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+getPlaybackConfigurationResponse_adDecisionServerUrl = Lens.lens (\GetPlaybackConfigurationResponse' {adDecisionServerUrl} -> adDecisionServerUrl) (\s@GetPlaybackConfigurationResponse' {} a -> s {adDecisionServerUrl = a} :: GetPlaybackConfigurationResponse)++-- | The configuration for avail suppression, also known as ad suppression.+-- For more information about ad suppression, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Suppression>.+getPlaybackConfigurationResponse_availSuppression :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe AvailSuppression)+getPlaybackConfigurationResponse_availSuppression = Lens.lens (\GetPlaybackConfigurationResponse' {availSuppression} -> availSuppression) (\s@GetPlaybackConfigurationResponse' {} a -> s {availSuppression = a} :: GetPlaybackConfigurationResponse)++-- | The configuration for bumpers. Bumpers are short audio or video clips+-- that play at the start or before the end of an ad break. To learn more+-- about bumpers, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html Bumpers>.+getPlaybackConfigurationResponse_bumper :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe Bumper)+getPlaybackConfigurationResponse_bumper = Lens.lens (\GetPlaybackConfigurationResponse' {bumper} -> bumper) (\s@GetPlaybackConfigurationResponse' {} a -> s {bumper = a} :: GetPlaybackConfigurationResponse)++-- | The configuration for using a content delivery network (CDN), like+-- Amazon CloudFront, for content and ad segment management.+getPlaybackConfigurationResponse_cdnConfiguration :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe CdnConfiguration)+getPlaybackConfigurationResponse_cdnConfiguration = Lens.lens (\GetPlaybackConfigurationResponse' {cdnConfiguration} -> cdnConfiguration) (\s@GetPlaybackConfigurationResponse' {} a -> s {cdnConfiguration = a} :: GetPlaybackConfigurationResponse)++-- | The player parameters and aliases used as dynamic variables during+-- session initialization. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html Domain Variables>.+getPlaybackConfigurationResponse_configurationAliases :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text Prelude.Text)))+getPlaybackConfigurationResponse_configurationAliases = Lens.lens (\GetPlaybackConfigurationResponse' {configurationAliases} -> configurationAliases) (\s@GetPlaybackConfigurationResponse' {} a -> s {configurationAliases = a} :: GetPlaybackConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The configuration for DASH content.+getPlaybackConfigurationResponse_dashConfiguration :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe DashConfiguration)+getPlaybackConfigurationResponse_dashConfiguration = Lens.lens (\GetPlaybackConfigurationResponse' {dashConfiguration} -> dashConfiguration) (\s@GetPlaybackConfigurationResponse' {} a -> s {dashConfiguration = a} :: GetPlaybackConfigurationResponse)++-- | The configuration for HLS content.+getPlaybackConfigurationResponse_hlsConfiguration :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe HlsConfiguration)+getPlaybackConfigurationResponse_hlsConfiguration = Lens.lens (\GetPlaybackConfigurationResponse' {hlsConfiguration} -> hlsConfiguration) (\s@GetPlaybackConfigurationResponse' {} a -> s {hlsConfiguration = a} :: GetPlaybackConfigurationResponse)++-- | The configuration for pre-roll ad insertion.+getPlaybackConfigurationResponse_livePreRollConfiguration :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe LivePreRollConfiguration)+getPlaybackConfigurationResponse_livePreRollConfiguration = Lens.lens (\GetPlaybackConfigurationResponse' {livePreRollConfiguration} -> livePreRollConfiguration) (\s@GetPlaybackConfigurationResponse' {} a -> s {livePreRollConfiguration = a} :: GetPlaybackConfigurationResponse)++-- | The Amazon CloudWatch log settings for a playback configuration.+getPlaybackConfigurationResponse_logConfiguration :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe LogConfiguration)+getPlaybackConfigurationResponse_logConfiguration = Lens.lens (\GetPlaybackConfigurationResponse' {logConfiguration} -> logConfiguration) (\s@GetPlaybackConfigurationResponse' {} a -> s {logConfiguration = a} :: GetPlaybackConfigurationResponse)++-- | The configuration for manifest processing rules. Manifest processing+-- rules enable customization of the personalized manifests created by+-- MediaTailor.+getPlaybackConfigurationResponse_manifestProcessingRules :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe ManifestProcessingRules)+getPlaybackConfigurationResponse_manifestProcessingRules = Lens.lens (\GetPlaybackConfigurationResponse' {manifestProcessingRules} -> manifestProcessingRules) (\s@GetPlaybackConfigurationResponse' {} a -> s {manifestProcessingRules = a} :: GetPlaybackConfigurationResponse)++-- | The identifier for the playback configuration.+getPlaybackConfigurationResponse_name :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+getPlaybackConfigurationResponse_name = Lens.lens (\GetPlaybackConfigurationResponse' {name} -> name) (\s@GetPlaybackConfigurationResponse' {} a -> s {name = a} :: GetPlaybackConfigurationResponse)++-- | Defines the maximum duration of underfilled ad time (in seconds) allowed+-- in an ad break. If the duration of underfilled ad time exceeds the+-- personalization threshold, then the personalization of the ad break is+-- abandoned and the underlying content is shown. This feature applies to+-- /ad replacement/ in live and VOD streams, rather than ad insertion,+-- because it relies on an underlying content stream. For more information+-- about ad break behavior, including ad replacement and insertion, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Behavior in AWS Elemental MediaTailor>.+getPlaybackConfigurationResponse_personalizationThresholdSeconds :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe Prelude.Natural)+getPlaybackConfigurationResponse_personalizationThresholdSeconds = Lens.lens (\GetPlaybackConfigurationResponse' {personalizationThresholdSeconds} -> personalizationThresholdSeconds) (\s@GetPlaybackConfigurationResponse' {} a -> s {personalizationThresholdSeconds = a} :: GetPlaybackConfigurationResponse)++-- | The Amazon Resource Name (ARN) for the playback configuration.+getPlaybackConfigurationResponse_playbackConfigurationArn :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+getPlaybackConfigurationResponse_playbackConfigurationArn = Lens.lens (\GetPlaybackConfigurationResponse' {playbackConfigurationArn} -> playbackConfigurationArn) (\s@GetPlaybackConfigurationResponse' {} a -> s {playbackConfigurationArn = a} :: GetPlaybackConfigurationResponse)++-- | The URL that the player accesses to get a manifest from AWS Elemental+-- MediaTailor. This session will use server-side reporting.+getPlaybackConfigurationResponse_playbackEndpointPrefix :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+getPlaybackConfigurationResponse_playbackEndpointPrefix = Lens.lens (\GetPlaybackConfigurationResponse' {playbackEndpointPrefix} -> playbackEndpointPrefix) (\s@GetPlaybackConfigurationResponse' {} a -> s {playbackEndpointPrefix = a} :: GetPlaybackConfigurationResponse)++-- | The URL that the player uses to initialize a session that uses+-- client-side reporting.+getPlaybackConfigurationResponse_sessionInitializationEndpointPrefix :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+getPlaybackConfigurationResponse_sessionInitializationEndpointPrefix = Lens.lens (\GetPlaybackConfigurationResponse' {sessionInitializationEndpointPrefix} -> sessionInitializationEndpointPrefix) (\s@GetPlaybackConfigurationResponse' {} a -> s {sessionInitializationEndpointPrefix = a} :: GetPlaybackConfigurationResponse)++-- | The URL for a high-quality video asset to transcode and use to fill in+-- time that\'s not used by ads. AWS Elemental MediaTailor shows the slate+-- to fill in gaps in media content. Configuring the slate is optional for+-- non-VPAID playback configurations. For VPAID, the slate is required+-- because MediaTailor provides it in the slots designated for dynamic ad+-- content. The slate must be a high-quality asset that contains both audio+-- and video.+getPlaybackConfigurationResponse_slateAdUrl :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+getPlaybackConfigurationResponse_slateAdUrl = Lens.lens (\GetPlaybackConfigurationResponse' {slateAdUrl} -> slateAdUrl) (\s@GetPlaybackConfigurationResponse' {} a -> s {slateAdUrl = a} :: GetPlaybackConfigurationResponse)++-- | The tags assigned to the playback configuration. Tags are key-value+-- pairs that you can associate with Amazon resources to help with+-- organization, access control, and cost tracking. For more information,+-- see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+getPlaybackConfigurationResponse_tags :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+getPlaybackConfigurationResponse_tags = Lens.lens (\GetPlaybackConfigurationResponse' {tags} -> tags) (\s@GetPlaybackConfigurationResponse' {} a -> s {tags = a} :: GetPlaybackConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The name that is used to associate this playback configuration with a+-- custom transcode profile. This overrides the dynamic transcoding+-- defaults of MediaTailor. Use this only if you have already set up custom+-- profiles with the help of AWS Support.+getPlaybackConfigurationResponse_transcodeProfileName :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+getPlaybackConfigurationResponse_transcodeProfileName = Lens.lens (\GetPlaybackConfigurationResponse' {transcodeProfileName} -> transcodeProfileName) (\s@GetPlaybackConfigurationResponse' {} a -> s {transcodeProfileName = a} :: GetPlaybackConfigurationResponse)++-- | The URL prefix for the parent manifest for the stream, minus the asset+-- ID. The maximum length is 512 characters.+getPlaybackConfigurationResponse_videoContentSourceUrl :: Lens.Lens' GetPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+getPlaybackConfigurationResponse_videoContentSourceUrl = Lens.lens (\GetPlaybackConfigurationResponse' {videoContentSourceUrl} -> videoContentSourceUrl) (\s@GetPlaybackConfigurationResponse' {} a -> s {videoContentSourceUrl = a} :: GetPlaybackConfigurationResponse)++-- | The response's http status code.+getPlaybackConfigurationResponse_httpStatus :: Lens.Lens' GetPlaybackConfigurationResponse Prelude.Int+getPlaybackConfigurationResponse_httpStatus = Lens.lens (\GetPlaybackConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetPlaybackConfigurationResponse' {} a -> s {httpStatus = a} :: GetPlaybackConfigurationResponse)++instance+ Prelude.NFData+ GetPlaybackConfigurationResponse+ where+ rnf GetPlaybackConfigurationResponse' {..} =+ Prelude.rnf adDecisionServerUrl+ `Prelude.seq` Prelude.rnf availSuppression+ `Prelude.seq` Prelude.rnf bumper+ `Prelude.seq` Prelude.rnf cdnConfiguration+ `Prelude.seq` Prelude.rnf configurationAliases+ `Prelude.seq` Prelude.rnf dashConfiguration+ `Prelude.seq` Prelude.rnf hlsConfiguration+ `Prelude.seq` Prelude.rnf livePreRollConfiguration+ `Prelude.seq` Prelude.rnf logConfiguration+ `Prelude.seq` Prelude.rnf manifestProcessingRules+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf personalizationThresholdSeconds+ `Prelude.seq` Prelude.rnf playbackConfigurationArn+ `Prelude.seq` Prelude.rnf playbackEndpointPrefix+ `Prelude.seq` Prelude.rnf+ sessionInitializationEndpointPrefix+ `Prelude.seq` Prelude.rnf slateAdUrl+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf transcodeProfileName+ `Prelude.seq` Prelude.rnf+ videoContentSourceUrl+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/GetPrefetchSchedule.hs view
@@ -0,0 +1,287 @@+{-# 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.MediaTailor.GetPrefetchSchedule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves a prefetch schedule for a playback configuration. A prefetch+-- schedule allows you to tell MediaTailor to fetch and prepare certain ads+-- before an ad break happens. For more information about ad prefetching,+-- see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/prefetching-ads.html Using ad prefetching>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.GetPrefetchSchedule+ ( -- * Creating a Request+ GetPrefetchSchedule (..),+ newGetPrefetchSchedule,++ -- * Request Lenses+ getPrefetchSchedule_name,+ getPrefetchSchedule_playbackConfigurationName,++ -- * Destructuring the Response+ GetPrefetchScheduleResponse (..),+ newGetPrefetchScheduleResponse,++ -- * Response Lenses+ getPrefetchScheduleResponse_arn,+ getPrefetchScheduleResponse_consumption,+ getPrefetchScheduleResponse_name,+ getPrefetchScheduleResponse_playbackConfigurationName,+ getPrefetchScheduleResponse_retrieval,+ getPrefetchScheduleResponse_streamId,+ getPrefetchScheduleResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newGetPrefetchSchedule' smart constructor.+data GetPrefetchSchedule = GetPrefetchSchedule'+ { -- | The name of the prefetch schedule. The name must be unique among all+ -- prefetch schedules that are associated with the specified playback+ -- configuration.+ name :: Prelude.Text,+ -- | Returns information about the prefetch schedule for a specific playback+ -- configuration. If you call @GetPrefetchSchedule@ on an expired prefetch+ -- schedule, MediaTailor returns an HTTP 404 status code.+ playbackConfigurationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPrefetchSchedule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'getPrefetchSchedule_name' - The name of the prefetch schedule. The name must be unique among all+-- prefetch schedules that are associated with the specified playback+-- configuration.+--+-- 'playbackConfigurationName', 'getPrefetchSchedule_playbackConfigurationName' - Returns information about the prefetch schedule for a specific playback+-- configuration. If you call @GetPrefetchSchedule@ on an expired prefetch+-- schedule, MediaTailor returns an HTTP 404 status code.+newGetPrefetchSchedule ::+ -- | 'name'+ Prelude.Text ->+ -- | 'playbackConfigurationName'+ Prelude.Text ->+ GetPrefetchSchedule+newGetPrefetchSchedule+ pName_+ pPlaybackConfigurationName_ =+ GetPrefetchSchedule'+ { name = pName_,+ playbackConfigurationName =+ pPlaybackConfigurationName_+ }++-- | The name of the prefetch schedule. The name must be unique among all+-- prefetch schedules that are associated with the specified playback+-- configuration.+getPrefetchSchedule_name :: Lens.Lens' GetPrefetchSchedule Prelude.Text+getPrefetchSchedule_name = Lens.lens (\GetPrefetchSchedule' {name} -> name) (\s@GetPrefetchSchedule' {} a -> s {name = a} :: GetPrefetchSchedule)++-- | Returns information about the prefetch schedule for a specific playback+-- configuration. If you call @GetPrefetchSchedule@ on an expired prefetch+-- schedule, MediaTailor returns an HTTP 404 status code.+getPrefetchSchedule_playbackConfigurationName :: Lens.Lens' GetPrefetchSchedule Prelude.Text+getPrefetchSchedule_playbackConfigurationName = Lens.lens (\GetPrefetchSchedule' {playbackConfigurationName} -> playbackConfigurationName) (\s@GetPrefetchSchedule' {} a -> s {playbackConfigurationName = a} :: GetPrefetchSchedule)++instance Core.AWSRequest GetPrefetchSchedule where+ type+ AWSResponse GetPrefetchSchedule =+ GetPrefetchScheduleResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ GetPrefetchScheduleResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "Consumption")+ Prelude.<*> (x Data..?> "Name")+ Prelude.<*> (x Data..?> "PlaybackConfigurationName")+ Prelude.<*> (x Data..?> "Retrieval")+ Prelude.<*> (x Data..?> "StreamId")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable GetPrefetchSchedule where+ hashWithSalt _salt GetPrefetchSchedule' {..} =+ _salt+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` playbackConfigurationName++instance Prelude.NFData GetPrefetchSchedule where+ rnf GetPrefetchSchedule' {..} =+ Prelude.rnf name+ `Prelude.seq` Prelude.rnf playbackConfigurationName++instance Data.ToHeaders GetPrefetchSchedule where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath GetPrefetchSchedule where+ toPath GetPrefetchSchedule' {..} =+ Prelude.mconcat+ [ "/prefetchSchedule/",+ Data.toBS playbackConfigurationName,+ "/",+ Data.toBS name+ ]++instance Data.ToQuery GetPrefetchSchedule where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newGetPrefetchScheduleResponse' smart constructor.+data GetPrefetchScheduleResponse = GetPrefetchScheduleResponse'+ { -- | The Amazon Resource Name (ARN) of the prefetch schedule.+ arn :: Prelude.Maybe Prelude.Text,+ -- | Consumption settings determine how, and when, MediaTailor places the+ -- prefetched ads into ad breaks. Ad consumption occurs within a span of+ -- time that you define, called a /consumption window/. You can designate+ -- which ad breaks that MediaTailor fills with prefetch ads by setting+ -- avail matching criteria.+ consumption :: Prelude.Maybe PrefetchConsumption,+ -- | The name of the prefetch schedule. The name must be unique among all+ -- prefetch schedules that are associated with the specified playback+ -- configuration.+ name :: Prelude.Maybe Prelude.Text,+ -- | The name of the playback configuration to create the prefetch schedule+ -- for.+ playbackConfigurationName :: Prelude.Maybe Prelude.Text,+ -- | A complex type that contains settings for prefetch retrieval from the ad+ -- decision server (ADS).+ retrieval :: Prelude.Maybe PrefetchRetrieval,+ -- | An optional stream identifier that you can specify in order to prefetch+ -- for multiple streams that use the same playback configuration.+ streamId :: 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 'GetPrefetchScheduleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'getPrefetchScheduleResponse_arn' - The Amazon Resource Name (ARN) of the prefetch schedule.+--+-- 'consumption', 'getPrefetchScheduleResponse_consumption' - Consumption settings determine how, and when, MediaTailor places the+-- prefetched ads into ad breaks. Ad consumption occurs within a span of+-- time that you define, called a /consumption window/. You can designate+-- which ad breaks that MediaTailor fills with prefetch ads by setting+-- avail matching criteria.+--+-- 'name', 'getPrefetchScheduleResponse_name' - The name of the prefetch schedule. The name must be unique among all+-- prefetch schedules that are associated with the specified playback+-- configuration.+--+-- 'playbackConfigurationName', 'getPrefetchScheduleResponse_playbackConfigurationName' - The name of the playback configuration to create the prefetch schedule+-- for.+--+-- 'retrieval', 'getPrefetchScheduleResponse_retrieval' - A complex type that contains settings for prefetch retrieval from the ad+-- decision server (ADS).+--+-- 'streamId', 'getPrefetchScheduleResponse_streamId' - An optional stream identifier that you can specify in order to prefetch+-- for multiple streams that use the same playback configuration.+--+-- 'httpStatus', 'getPrefetchScheduleResponse_httpStatus' - The response's http status code.+newGetPrefetchScheduleResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ GetPrefetchScheduleResponse+newGetPrefetchScheduleResponse pHttpStatus_ =+ GetPrefetchScheduleResponse'+ { arn = Prelude.Nothing,+ consumption = Prelude.Nothing,+ name = Prelude.Nothing,+ playbackConfigurationName = Prelude.Nothing,+ retrieval = Prelude.Nothing,+ streamId = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) of the prefetch schedule.+getPrefetchScheduleResponse_arn :: Lens.Lens' GetPrefetchScheduleResponse (Prelude.Maybe Prelude.Text)+getPrefetchScheduleResponse_arn = Lens.lens (\GetPrefetchScheduleResponse' {arn} -> arn) (\s@GetPrefetchScheduleResponse' {} a -> s {arn = a} :: GetPrefetchScheduleResponse)++-- | Consumption settings determine how, and when, MediaTailor places the+-- prefetched ads into ad breaks. Ad consumption occurs within a span of+-- time that you define, called a /consumption window/. You can designate+-- which ad breaks that MediaTailor fills with prefetch ads by setting+-- avail matching criteria.+getPrefetchScheduleResponse_consumption :: Lens.Lens' GetPrefetchScheduleResponse (Prelude.Maybe PrefetchConsumption)+getPrefetchScheduleResponse_consumption = Lens.lens (\GetPrefetchScheduleResponse' {consumption} -> consumption) (\s@GetPrefetchScheduleResponse' {} a -> s {consumption = a} :: GetPrefetchScheduleResponse)++-- | The name of the prefetch schedule. The name must be unique among all+-- prefetch schedules that are associated with the specified playback+-- configuration.+getPrefetchScheduleResponse_name :: Lens.Lens' GetPrefetchScheduleResponse (Prelude.Maybe Prelude.Text)+getPrefetchScheduleResponse_name = Lens.lens (\GetPrefetchScheduleResponse' {name} -> name) (\s@GetPrefetchScheduleResponse' {} a -> s {name = a} :: GetPrefetchScheduleResponse)++-- | The name of the playback configuration to create the prefetch schedule+-- for.+getPrefetchScheduleResponse_playbackConfigurationName :: Lens.Lens' GetPrefetchScheduleResponse (Prelude.Maybe Prelude.Text)+getPrefetchScheduleResponse_playbackConfigurationName = Lens.lens (\GetPrefetchScheduleResponse' {playbackConfigurationName} -> playbackConfigurationName) (\s@GetPrefetchScheduleResponse' {} a -> s {playbackConfigurationName = a} :: GetPrefetchScheduleResponse)++-- | A complex type that contains settings for prefetch retrieval from the ad+-- decision server (ADS).+getPrefetchScheduleResponse_retrieval :: Lens.Lens' GetPrefetchScheduleResponse (Prelude.Maybe PrefetchRetrieval)+getPrefetchScheduleResponse_retrieval = Lens.lens (\GetPrefetchScheduleResponse' {retrieval} -> retrieval) (\s@GetPrefetchScheduleResponse' {} a -> s {retrieval = a} :: GetPrefetchScheduleResponse)++-- | An optional stream identifier that you can specify in order to prefetch+-- for multiple streams that use the same playback configuration.+getPrefetchScheduleResponse_streamId :: Lens.Lens' GetPrefetchScheduleResponse (Prelude.Maybe Prelude.Text)+getPrefetchScheduleResponse_streamId = Lens.lens (\GetPrefetchScheduleResponse' {streamId} -> streamId) (\s@GetPrefetchScheduleResponse' {} a -> s {streamId = a} :: GetPrefetchScheduleResponse)++-- | The response's http status code.+getPrefetchScheduleResponse_httpStatus :: Lens.Lens' GetPrefetchScheduleResponse Prelude.Int+getPrefetchScheduleResponse_httpStatus = Lens.lens (\GetPrefetchScheduleResponse' {httpStatus} -> httpStatus) (\s@GetPrefetchScheduleResponse' {} a -> s {httpStatus = a} :: GetPrefetchScheduleResponse)++instance Prelude.NFData GetPrefetchScheduleResponse where+ rnf GetPrefetchScheduleResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf consumption+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf playbackConfigurationName+ `Prelude.seq` Prelude.rnf retrieval+ `Prelude.seq` Prelude.rnf streamId+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/Lens.hs view
@@ -0,0 +1,762 @@+{-# 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.MediaTailor.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.MediaTailor.Lens+ ( -- * Operations++ -- ** ConfigureLogsForPlaybackConfiguration+ configureLogsForPlaybackConfiguration_percentEnabled,+ configureLogsForPlaybackConfiguration_playbackConfigurationName,+ configureLogsForPlaybackConfigurationResponse_playbackConfigurationName,+ configureLogsForPlaybackConfigurationResponse_httpStatus,+ configureLogsForPlaybackConfigurationResponse_percentEnabled,++ -- ** CreateChannel+ createChannel_fillerSlate,+ createChannel_tags,+ createChannel_tier,+ createChannel_channelName,+ createChannel_outputs,+ createChannel_playbackMode,+ createChannelResponse_arn,+ createChannelResponse_channelName,+ createChannelResponse_channelState,+ createChannelResponse_creationTime,+ createChannelResponse_fillerSlate,+ createChannelResponse_lastModifiedTime,+ createChannelResponse_outputs,+ createChannelResponse_playbackMode,+ createChannelResponse_tags,+ createChannelResponse_tier,+ createChannelResponse_httpStatus,++ -- ** CreateLiveSource+ createLiveSource_tags,+ createLiveSource_httpPackageConfigurations,+ createLiveSource_liveSourceName,+ createLiveSource_sourceLocationName,+ createLiveSourceResponse_arn,+ createLiveSourceResponse_creationTime,+ createLiveSourceResponse_httpPackageConfigurations,+ createLiveSourceResponse_lastModifiedTime,+ createLiveSourceResponse_liveSourceName,+ createLiveSourceResponse_sourceLocationName,+ createLiveSourceResponse_tags,+ createLiveSourceResponse_httpStatus,++ -- ** CreatePrefetchSchedule+ createPrefetchSchedule_streamId,+ createPrefetchSchedule_consumption,+ createPrefetchSchedule_name,+ createPrefetchSchedule_playbackConfigurationName,+ createPrefetchSchedule_retrieval,+ createPrefetchScheduleResponse_arn,+ createPrefetchScheduleResponse_consumption,+ createPrefetchScheduleResponse_name,+ createPrefetchScheduleResponse_playbackConfigurationName,+ createPrefetchScheduleResponse_retrieval,+ createPrefetchScheduleResponse_streamId,+ createPrefetchScheduleResponse_httpStatus,++ -- ** CreateProgram+ createProgram_adBreaks,+ createProgram_liveSourceName,+ createProgram_vodSourceName,+ createProgram_channelName,+ createProgram_programName,+ createProgram_scheduleConfiguration,+ createProgram_sourceLocationName,+ createProgramResponse_adBreaks,+ createProgramResponse_arn,+ createProgramResponse_channelName,+ createProgramResponse_creationTime,+ createProgramResponse_liveSourceName,+ createProgramResponse_programName,+ createProgramResponse_scheduledStartTime,+ createProgramResponse_sourceLocationName,+ createProgramResponse_vodSourceName,+ createProgramResponse_httpStatus,++ -- ** CreateSourceLocation+ createSourceLocation_accessConfiguration,+ createSourceLocation_defaultSegmentDeliveryConfiguration,+ createSourceLocation_segmentDeliveryConfigurations,+ createSourceLocation_tags,+ createSourceLocation_httpConfiguration,+ createSourceLocation_sourceLocationName,+ createSourceLocationResponse_accessConfiguration,+ createSourceLocationResponse_arn,+ createSourceLocationResponse_creationTime,+ createSourceLocationResponse_defaultSegmentDeliveryConfiguration,+ createSourceLocationResponse_httpConfiguration,+ createSourceLocationResponse_lastModifiedTime,+ createSourceLocationResponse_segmentDeliveryConfigurations,+ createSourceLocationResponse_sourceLocationName,+ createSourceLocationResponse_tags,+ createSourceLocationResponse_httpStatus,++ -- ** CreateVodSource+ createVodSource_tags,+ createVodSource_httpPackageConfigurations,+ createVodSource_sourceLocationName,+ createVodSource_vodSourceName,+ createVodSourceResponse_arn,+ createVodSourceResponse_creationTime,+ createVodSourceResponse_httpPackageConfigurations,+ createVodSourceResponse_lastModifiedTime,+ createVodSourceResponse_sourceLocationName,+ createVodSourceResponse_tags,+ createVodSourceResponse_vodSourceName,+ createVodSourceResponse_httpStatus,++ -- ** DeleteChannel+ deleteChannel_channelName,+ deleteChannelResponse_httpStatus,++ -- ** DeleteChannelPolicy+ deleteChannelPolicy_channelName,+ deleteChannelPolicyResponse_httpStatus,++ -- ** DeleteLiveSource+ deleteLiveSource_liveSourceName,+ deleteLiveSource_sourceLocationName,+ deleteLiveSourceResponse_httpStatus,++ -- ** DeletePlaybackConfiguration+ deletePlaybackConfiguration_name,+ deletePlaybackConfigurationResponse_httpStatus,++ -- ** DeletePrefetchSchedule+ deletePrefetchSchedule_name,+ deletePrefetchSchedule_playbackConfigurationName,+ deletePrefetchScheduleResponse_httpStatus,++ -- ** DeleteProgram+ deleteProgram_channelName,+ deleteProgram_programName,+ deleteProgramResponse_httpStatus,++ -- ** DeleteSourceLocation+ deleteSourceLocation_sourceLocationName,+ deleteSourceLocationResponse_httpStatus,++ -- ** DeleteVodSource+ deleteVodSource_sourceLocationName,+ deleteVodSource_vodSourceName,+ deleteVodSourceResponse_httpStatus,++ -- ** DescribeChannel+ describeChannel_channelName,+ describeChannelResponse_arn,+ describeChannelResponse_channelName,+ describeChannelResponse_channelState,+ describeChannelResponse_creationTime,+ describeChannelResponse_fillerSlate,+ describeChannelResponse_lastModifiedTime,+ describeChannelResponse_outputs,+ describeChannelResponse_playbackMode,+ describeChannelResponse_tags,+ describeChannelResponse_tier,+ describeChannelResponse_httpStatus,++ -- ** DescribeLiveSource+ describeLiveSource_liveSourceName,+ describeLiveSource_sourceLocationName,+ describeLiveSourceResponse_arn,+ describeLiveSourceResponse_creationTime,+ describeLiveSourceResponse_httpPackageConfigurations,+ describeLiveSourceResponse_lastModifiedTime,+ describeLiveSourceResponse_liveSourceName,+ describeLiveSourceResponse_sourceLocationName,+ describeLiveSourceResponse_tags,+ describeLiveSourceResponse_httpStatus,++ -- ** DescribeProgram+ describeProgram_channelName,+ describeProgram_programName,+ describeProgramResponse_adBreaks,+ describeProgramResponse_arn,+ describeProgramResponse_channelName,+ describeProgramResponse_creationTime,+ describeProgramResponse_liveSourceName,+ describeProgramResponse_programName,+ describeProgramResponse_scheduledStartTime,+ describeProgramResponse_sourceLocationName,+ describeProgramResponse_vodSourceName,+ describeProgramResponse_httpStatus,++ -- ** DescribeSourceLocation+ describeSourceLocation_sourceLocationName,+ describeSourceLocationResponse_accessConfiguration,+ describeSourceLocationResponse_arn,+ describeSourceLocationResponse_creationTime,+ describeSourceLocationResponse_defaultSegmentDeliveryConfiguration,+ describeSourceLocationResponse_httpConfiguration,+ describeSourceLocationResponse_lastModifiedTime,+ describeSourceLocationResponse_segmentDeliveryConfigurations,+ describeSourceLocationResponse_sourceLocationName,+ describeSourceLocationResponse_tags,+ describeSourceLocationResponse_httpStatus,++ -- ** DescribeVodSource+ describeVodSource_sourceLocationName,+ describeVodSource_vodSourceName,+ describeVodSourceResponse_arn,+ describeVodSourceResponse_creationTime,+ describeVodSourceResponse_httpPackageConfigurations,+ describeVodSourceResponse_lastModifiedTime,+ describeVodSourceResponse_sourceLocationName,+ describeVodSourceResponse_tags,+ describeVodSourceResponse_vodSourceName,+ describeVodSourceResponse_httpStatus,++ -- ** GetChannelPolicy+ getChannelPolicy_channelName,+ getChannelPolicyResponse_policy,+ getChannelPolicyResponse_httpStatus,++ -- ** GetChannelSchedule+ getChannelSchedule_durationMinutes,+ getChannelSchedule_maxResults,+ getChannelSchedule_nextToken,+ getChannelSchedule_channelName,+ getChannelScheduleResponse_items,+ getChannelScheduleResponse_nextToken,+ getChannelScheduleResponse_httpStatus,++ -- ** GetPlaybackConfiguration+ getPlaybackConfiguration_name,+ getPlaybackConfigurationResponse_adDecisionServerUrl,+ getPlaybackConfigurationResponse_availSuppression,+ getPlaybackConfigurationResponse_bumper,+ getPlaybackConfigurationResponse_cdnConfiguration,+ getPlaybackConfigurationResponse_configurationAliases,+ getPlaybackConfigurationResponse_dashConfiguration,+ getPlaybackConfigurationResponse_hlsConfiguration,+ getPlaybackConfigurationResponse_livePreRollConfiguration,+ getPlaybackConfigurationResponse_logConfiguration,+ getPlaybackConfigurationResponse_manifestProcessingRules,+ getPlaybackConfigurationResponse_name,+ getPlaybackConfigurationResponse_personalizationThresholdSeconds,+ getPlaybackConfigurationResponse_playbackConfigurationArn,+ getPlaybackConfigurationResponse_playbackEndpointPrefix,+ getPlaybackConfigurationResponse_sessionInitializationEndpointPrefix,+ getPlaybackConfigurationResponse_slateAdUrl,+ getPlaybackConfigurationResponse_tags,+ getPlaybackConfigurationResponse_transcodeProfileName,+ getPlaybackConfigurationResponse_videoContentSourceUrl,+ getPlaybackConfigurationResponse_httpStatus,++ -- ** GetPrefetchSchedule+ getPrefetchSchedule_name,+ getPrefetchSchedule_playbackConfigurationName,+ getPrefetchScheduleResponse_arn,+ getPrefetchScheduleResponse_consumption,+ getPrefetchScheduleResponse_name,+ getPrefetchScheduleResponse_playbackConfigurationName,+ getPrefetchScheduleResponse_retrieval,+ getPrefetchScheduleResponse_streamId,+ getPrefetchScheduleResponse_httpStatus,++ -- ** ListAlerts+ listAlerts_maxResults,+ listAlerts_nextToken,+ listAlerts_resourceArn,+ listAlertsResponse_items,+ listAlertsResponse_nextToken,+ listAlertsResponse_httpStatus,++ -- ** ListChannels+ listChannels_maxResults,+ listChannels_nextToken,+ listChannelsResponse_items,+ listChannelsResponse_nextToken,+ listChannelsResponse_httpStatus,++ -- ** ListLiveSources+ listLiveSources_maxResults,+ listLiveSources_nextToken,+ listLiveSources_sourceLocationName,+ listLiveSourcesResponse_items,+ listLiveSourcesResponse_nextToken,+ listLiveSourcesResponse_httpStatus,++ -- ** ListPlaybackConfigurations+ listPlaybackConfigurations_maxResults,+ listPlaybackConfigurations_nextToken,+ listPlaybackConfigurationsResponse_items,+ listPlaybackConfigurationsResponse_nextToken,+ listPlaybackConfigurationsResponse_httpStatus,++ -- ** ListPrefetchSchedules+ listPrefetchSchedules_maxResults,+ listPrefetchSchedules_nextToken,+ listPrefetchSchedules_streamId,+ listPrefetchSchedules_playbackConfigurationName,+ listPrefetchSchedulesResponse_items,+ listPrefetchSchedulesResponse_nextToken,+ listPrefetchSchedulesResponse_httpStatus,++ -- ** ListSourceLocations+ listSourceLocations_maxResults,+ listSourceLocations_nextToken,+ listSourceLocationsResponse_items,+ listSourceLocationsResponse_nextToken,+ listSourceLocationsResponse_httpStatus,++ -- ** ListTagsForResource+ listTagsForResource_resourceArn,+ listTagsForResourceResponse_tags,+ listTagsForResourceResponse_httpStatus,++ -- ** ListVodSources+ listVodSources_maxResults,+ listVodSources_nextToken,+ listVodSources_sourceLocationName,+ listVodSourcesResponse_items,+ listVodSourcesResponse_nextToken,+ listVodSourcesResponse_httpStatus,++ -- ** PutChannelPolicy+ putChannelPolicy_channelName,+ putChannelPolicy_policy,+ putChannelPolicyResponse_httpStatus,++ -- ** PutPlaybackConfiguration+ putPlaybackConfiguration_adDecisionServerUrl,+ putPlaybackConfiguration_availSuppression,+ putPlaybackConfiguration_bumper,+ putPlaybackConfiguration_cdnConfiguration,+ putPlaybackConfiguration_configurationAliases,+ putPlaybackConfiguration_dashConfiguration,+ putPlaybackConfiguration_livePreRollConfiguration,+ putPlaybackConfiguration_manifestProcessingRules,+ putPlaybackConfiguration_personalizationThresholdSeconds,+ putPlaybackConfiguration_slateAdUrl,+ putPlaybackConfiguration_tags,+ putPlaybackConfiguration_transcodeProfileName,+ putPlaybackConfiguration_videoContentSourceUrl,+ putPlaybackConfiguration_name,+ putPlaybackConfigurationResponse_adDecisionServerUrl,+ putPlaybackConfigurationResponse_availSuppression,+ putPlaybackConfigurationResponse_bumper,+ putPlaybackConfigurationResponse_cdnConfiguration,+ putPlaybackConfigurationResponse_configurationAliases,+ putPlaybackConfigurationResponse_dashConfiguration,+ putPlaybackConfigurationResponse_hlsConfiguration,+ putPlaybackConfigurationResponse_livePreRollConfiguration,+ putPlaybackConfigurationResponse_logConfiguration,+ putPlaybackConfigurationResponse_manifestProcessingRules,+ putPlaybackConfigurationResponse_name,+ putPlaybackConfigurationResponse_personalizationThresholdSeconds,+ putPlaybackConfigurationResponse_playbackConfigurationArn,+ putPlaybackConfigurationResponse_playbackEndpointPrefix,+ putPlaybackConfigurationResponse_sessionInitializationEndpointPrefix,+ putPlaybackConfigurationResponse_slateAdUrl,+ putPlaybackConfigurationResponse_tags,+ putPlaybackConfigurationResponse_transcodeProfileName,+ putPlaybackConfigurationResponse_videoContentSourceUrl,+ putPlaybackConfigurationResponse_httpStatus,++ -- ** StartChannel+ startChannel_channelName,+ startChannelResponse_httpStatus,++ -- ** StopChannel+ stopChannel_channelName,+ stopChannelResponse_httpStatus,++ -- ** TagResource+ tagResource_resourceArn,+ tagResource_tags,++ -- ** UntagResource+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- ** UpdateChannel+ updateChannel_fillerSlate,+ updateChannel_channelName,+ updateChannel_outputs,+ updateChannelResponse_arn,+ updateChannelResponse_channelName,+ updateChannelResponse_channelState,+ updateChannelResponse_creationTime,+ updateChannelResponse_fillerSlate,+ updateChannelResponse_lastModifiedTime,+ updateChannelResponse_outputs,+ updateChannelResponse_playbackMode,+ updateChannelResponse_tags,+ updateChannelResponse_tier,+ updateChannelResponse_httpStatus,++ -- ** UpdateLiveSource+ updateLiveSource_httpPackageConfigurations,+ updateLiveSource_liveSourceName,+ updateLiveSource_sourceLocationName,+ updateLiveSourceResponse_arn,+ updateLiveSourceResponse_creationTime,+ updateLiveSourceResponse_httpPackageConfigurations,+ updateLiveSourceResponse_lastModifiedTime,+ updateLiveSourceResponse_liveSourceName,+ updateLiveSourceResponse_sourceLocationName,+ updateLiveSourceResponse_tags,+ updateLiveSourceResponse_httpStatus,++ -- ** UpdateSourceLocation+ updateSourceLocation_accessConfiguration,+ updateSourceLocation_defaultSegmentDeliveryConfiguration,+ updateSourceLocation_segmentDeliveryConfigurations,+ updateSourceLocation_httpConfiguration,+ updateSourceLocation_sourceLocationName,+ updateSourceLocationResponse_accessConfiguration,+ updateSourceLocationResponse_arn,+ updateSourceLocationResponse_creationTime,+ updateSourceLocationResponse_defaultSegmentDeliveryConfiguration,+ updateSourceLocationResponse_httpConfiguration,+ updateSourceLocationResponse_lastModifiedTime,+ updateSourceLocationResponse_segmentDeliveryConfigurations,+ updateSourceLocationResponse_sourceLocationName,+ updateSourceLocationResponse_tags,+ updateSourceLocationResponse_httpStatus,++ -- ** UpdateVodSource+ updateVodSource_httpPackageConfigurations,+ updateVodSource_sourceLocationName,+ updateVodSource_vodSourceName,+ updateVodSourceResponse_arn,+ updateVodSourceResponse_creationTime,+ updateVodSourceResponse_httpPackageConfigurations,+ updateVodSourceResponse_lastModifiedTime,+ updateVodSourceResponse_sourceLocationName,+ updateVodSourceResponse_tags,+ updateVodSourceResponse_vodSourceName,+ updateVodSourceResponse_httpStatus,++ -- * Types++ -- ** AccessConfiguration+ accessConfiguration_accessType,+ accessConfiguration_secretsManagerAccessTokenConfiguration,++ -- ** AdBreak+ adBreak_messageType,+ adBreak_offsetMillis,+ adBreak_slate,+ adBreak_spliceInsertMessage,+ adBreak_timeSignalMessage,++ -- ** AdMarkerPassthrough+ adMarkerPassthrough_enabled,++ -- ** Alert+ alert_alertCode,+ alert_alertMessage,+ alert_lastModifiedTime,+ alert_relatedResourceArns,+ alert_resourceArn,++ -- ** AvailMatchingCriteria+ availMatchingCriteria_dynamicVariable,+ availMatchingCriteria_operator,++ -- ** AvailSuppression+ availSuppression_mode,+ availSuppression_value,++ -- ** Bumper+ bumper_endUrl,+ bumper_startUrl,++ -- ** CdnConfiguration+ cdnConfiguration_adSegmentUrlPrefix,+ cdnConfiguration_contentSegmentUrlPrefix,++ -- ** Channel+ channel_creationTime,+ channel_fillerSlate,+ channel_lastModifiedTime,+ channel_tags,+ channel_arn,+ channel_channelName,+ channel_channelState,+ channel_outputs,+ channel_playbackMode,+ channel_tier,++ -- ** DashConfiguration+ dashConfiguration_manifestEndpointPrefix,+ dashConfiguration_mpdLocation,+ dashConfiguration_originManifestType,++ -- ** DashConfigurationForPut+ dashConfigurationForPut_mpdLocation,+ dashConfigurationForPut_originManifestType,++ -- ** DashPlaylistSettings+ dashPlaylistSettings_manifestWindowSeconds,+ dashPlaylistSettings_minBufferTimeSeconds,+ dashPlaylistSettings_minUpdatePeriodSeconds,+ dashPlaylistSettings_suggestedPresentationDelaySeconds,++ -- ** DefaultSegmentDeliveryConfiguration+ defaultSegmentDeliveryConfiguration_baseUrl,++ -- ** HlsConfiguration+ hlsConfiguration_manifestEndpointPrefix,++ -- ** HlsPlaylistSettings+ hlsPlaylistSettings_manifestWindowSeconds,++ -- ** HttpConfiguration+ httpConfiguration_baseUrl,++ -- ** HttpPackageConfiguration+ httpPackageConfiguration_path,+ httpPackageConfiguration_sourceGroup,+ httpPackageConfiguration_type,++ -- ** LivePreRollConfiguration+ livePreRollConfiguration_adDecisionServerUrl,+ livePreRollConfiguration_maxDurationSeconds,++ -- ** LiveSource+ liveSource_creationTime,+ liveSource_lastModifiedTime,+ liveSource_tags,+ liveSource_arn,+ liveSource_httpPackageConfigurations,+ liveSource_liveSourceName,+ liveSource_sourceLocationName,++ -- ** LogConfiguration+ logConfiguration_percentEnabled,++ -- ** ManifestProcessingRules+ manifestProcessingRules_adMarkerPassthrough,++ -- ** PlaybackConfiguration+ playbackConfiguration_adDecisionServerUrl,+ playbackConfiguration_availSuppression,+ playbackConfiguration_bumper,+ playbackConfiguration_cdnConfiguration,+ playbackConfiguration_configurationAliases,+ playbackConfiguration_dashConfiguration,+ playbackConfiguration_hlsConfiguration,+ playbackConfiguration_livePreRollConfiguration,+ playbackConfiguration_logConfiguration,+ playbackConfiguration_manifestProcessingRules,+ playbackConfiguration_name,+ playbackConfiguration_personalizationThresholdSeconds,+ playbackConfiguration_playbackConfigurationArn,+ playbackConfiguration_playbackEndpointPrefix,+ playbackConfiguration_sessionInitializationEndpointPrefix,+ playbackConfiguration_slateAdUrl,+ playbackConfiguration_tags,+ playbackConfiguration_transcodeProfileName,+ playbackConfiguration_videoContentSourceUrl,++ -- ** PrefetchConsumption+ prefetchConsumption_availMatchingCriteria,+ prefetchConsumption_startTime,+ prefetchConsumption_endTime,++ -- ** PrefetchRetrieval+ prefetchRetrieval_dynamicVariables,+ prefetchRetrieval_startTime,+ prefetchRetrieval_endTime,++ -- ** PrefetchSchedule+ prefetchSchedule_streamId,+ prefetchSchedule_arn,+ prefetchSchedule_consumption,+ prefetchSchedule_name,+ prefetchSchedule_playbackConfigurationName,+ prefetchSchedule_retrieval,++ -- ** RequestOutputItem+ requestOutputItem_dashPlaylistSettings,+ requestOutputItem_hlsPlaylistSettings,+ requestOutputItem_manifestName,+ requestOutputItem_sourceGroup,++ -- ** ResponseOutputItem+ responseOutputItem_dashPlaylistSettings,+ responseOutputItem_hlsPlaylistSettings,+ responseOutputItem_manifestName,+ responseOutputItem_playbackUrl,+ responseOutputItem_sourceGroup,++ -- ** ScheduleAdBreak+ scheduleAdBreak_approximateDurationSeconds,+ scheduleAdBreak_approximateStartTime,+ scheduleAdBreak_sourceLocationName,+ scheduleAdBreak_vodSourceName,++ -- ** ScheduleConfiguration+ scheduleConfiguration_transition,++ -- ** ScheduleEntry+ scheduleEntry_approximateDurationSeconds,+ scheduleEntry_approximateStartTime,+ scheduleEntry_liveSourceName,+ scheduleEntry_scheduleAdBreaks,+ scheduleEntry_scheduleEntryType,+ scheduleEntry_vodSourceName,+ scheduleEntry_arn,+ scheduleEntry_channelName,+ scheduleEntry_programName,+ scheduleEntry_sourceLocationName,++ -- ** SecretsManagerAccessTokenConfiguration+ secretsManagerAccessTokenConfiguration_headerName,+ secretsManagerAccessTokenConfiguration_secretArn,+ secretsManagerAccessTokenConfiguration_secretStringKey,++ -- ** SegmentDeliveryConfiguration+ segmentDeliveryConfiguration_baseUrl,+ segmentDeliveryConfiguration_name,++ -- ** SegmentationDescriptor+ segmentationDescriptor_segmentNum,+ segmentationDescriptor_segmentationEventId,+ segmentationDescriptor_segmentationTypeId,+ segmentationDescriptor_segmentationUpid,+ segmentationDescriptor_segmentationUpidType,+ segmentationDescriptor_segmentsExpected,+ segmentationDescriptor_subSegmentNum,+ segmentationDescriptor_subSegmentsExpected,++ -- ** SlateSource+ slateSource_sourceLocationName,+ slateSource_vodSourceName,++ -- ** SourceLocation+ sourceLocation_accessConfiguration,+ sourceLocation_creationTime,+ sourceLocation_defaultSegmentDeliveryConfiguration,+ sourceLocation_lastModifiedTime,+ sourceLocation_segmentDeliveryConfigurations,+ sourceLocation_tags,+ sourceLocation_arn,+ sourceLocation_httpConfiguration,+ sourceLocation_sourceLocationName,++ -- ** SpliceInsertMessage+ spliceInsertMessage_availNum,+ spliceInsertMessage_availsExpected,+ spliceInsertMessage_spliceEventId,+ spliceInsertMessage_uniqueProgramId,++ -- ** TimeSignalMessage+ timeSignalMessage_segmentationDescriptors,++ -- ** Transition+ transition_durationMillis,+ transition_relativeProgram,+ transition_scheduledStartTimeMillis,+ transition_relativePosition,+ transition_type,++ -- ** VodSource+ vodSource_creationTime,+ vodSource_lastModifiedTime,+ vodSource_tags,+ vodSource_arn,+ vodSource_httpPackageConfigurations,+ vodSource_sourceLocationName,+ vodSource_vodSourceName,+ )+where++import Amazonka.MediaTailor.ConfigureLogsForPlaybackConfiguration+import Amazonka.MediaTailor.CreateChannel+import Amazonka.MediaTailor.CreateLiveSource+import Amazonka.MediaTailor.CreatePrefetchSchedule+import Amazonka.MediaTailor.CreateProgram+import Amazonka.MediaTailor.CreateSourceLocation+import Amazonka.MediaTailor.CreateVodSource+import Amazonka.MediaTailor.DeleteChannel+import Amazonka.MediaTailor.DeleteChannelPolicy+import Amazonka.MediaTailor.DeleteLiveSource+import Amazonka.MediaTailor.DeletePlaybackConfiguration+import Amazonka.MediaTailor.DeletePrefetchSchedule+import Amazonka.MediaTailor.DeleteProgram+import Amazonka.MediaTailor.DeleteSourceLocation+import Amazonka.MediaTailor.DeleteVodSource+import Amazonka.MediaTailor.DescribeChannel+import Amazonka.MediaTailor.DescribeLiveSource+import Amazonka.MediaTailor.DescribeProgram+import Amazonka.MediaTailor.DescribeSourceLocation+import Amazonka.MediaTailor.DescribeVodSource+import Amazonka.MediaTailor.GetChannelPolicy+import Amazonka.MediaTailor.GetChannelSchedule+import Amazonka.MediaTailor.GetPlaybackConfiguration+import Amazonka.MediaTailor.GetPrefetchSchedule+import Amazonka.MediaTailor.ListAlerts+import Amazonka.MediaTailor.ListChannels+import Amazonka.MediaTailor.ListLiveSources+import Amazonka.MediaTailor.ListPlaybackConfigurations+import Amazonka.MediaTailor.ListPrefetchSchedules+import Amazonka.MediaTailor.ListSourceLocations+import Amazonka.MediaTailor.ListTagsForResource+import Amazonka.MediaTailor.ListVodSources+import Amazonka.MediaTailor.PutChannelPolicy+import Amazonka.MediaTailor.PutPlaybackConfiguration+import Amazonka.MediaTailor.StartChannel+import Amazonka.MediaTailor.StopChannel+import Amazonka.MediaTailor.TagResource+import Amazonka.MediaTailor.Types.AccessConfiguration+import Amazonka.MediaTailor.Types.AdBreak+import Amazonka.MediaTailor.Types.AdMarkerPassthrough+import Amazonka.MediaTailor.Types.Alert+import Amazonka.MediaTailor.Types.AvailMatchingCriteria+import Amazonka.MediaTailor.Types.AvailSuppression+import Amazonka.MediaTailor.Types.Bumper+import Amazonka.MediaTailor.Types.CdnConfiguration+import Amazonka.MediaTailor.Types.Channel+import Amazonka.MediaTailor.Types.DashConfiguration+import Amazonka.MediaTailor.Types.DashConfigurationForPut+import Amazonka.MediaTailor.Types.DashPlaylistSettings+import Amazonka.MediaTailor.Types.DefaultSegmentDeliveryConfiguration+import Amazonka.MediaTailor.Types.HlsConfiguration+import Amazonka.MediaTailor.Types.HlsPlaylistSettings+import Amazonka.MediaTailor.Types.HttpConfiguration+import Amazonka.MediaTailor.Types.HttpPackageConfiguration+import Amazonka.MediaTailor.Types.LivePreRollConfiguration+import Amazonka.MediaTailor.Types.LiveSource+import Amazonka.MediaTailor.Types.LogConfiguration+import Amazonka.MediaTailor.Types.ManifestProcessingRules+import Amazonka.MediaTailor.Types.PlaybackConfiguration+import Amazonka.MediaTailor.Types.PrefetchConsumption+import Amazonka.MediaTailor.Types.PrefetchRetrieval+import Amazonka.MediaTailor.Types.PrefetchSchedule+import Amazonka.MediaTailor.Types.RequestOutputItem+import Amazonka.MediaTailor.Types.ResponseOutputItem+import Amazonka.MediaTailor.Types.ScheduleAdBreak+import Amazonka.MediaTailor.Types.ScheduleConfiguration+import Amazonka.MediaTailor.Types.ScheduleEntry+import Amazonka.MediaTailor.Types.SecretsManagerAccessTokenConfiguration+import Amazonka.MediaTailor.Types.SegmentDeliveryConfiguration+import Amazonka.MediaTailor.Types.SegmentationDescriptor+import Amazonka.MediaTailor.Types.SlateSource+import Amazonka.MediaTailor.Types.SourceLocation+import Amazonka.MediaTailor.Types.SpliceInsertMessage+import Amazonka.MediaTailor.Types.TimeSignalMessage+import Amazonka.MediaTailor.Types.Transition+import Amazonka.MediaTailor.Types.VodSource+import Amazonka.MediaTailor.UntagResource+import Amazonka.MediaTailor.UpdateChannel+import Amazonka.MediaTailor.UpdateLiveSource+import Amazonka.MediaTailor.UpdateSourceLocation+import Amazonka.MediaTailor.UpdateVodSource
+ gen/Amazonka/MediaTailor/ListAlerts.hs view
@@ -0,0 +1,239 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.ListAlerts+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the alerts that are associated with a MediaTailor channel assembly+-- resource.+--+-- This operation returns paginated results.+module Amazonka.MediaTailor.ListAlerts+ ( -- * Creating a Request+ ListAlerts (..),+ newListAlerts,++ -- * Request Lenses+ listAlerts_maxResults,+ listAlerts_nextToken,+ listAlerts_resourceArn,++ -- * Destructuring the Response+ ListAlertsResponse (..),+ newListAlertsResponse,++ -- * Response Lenses+ listAlertsResponse_items,+ listAlertsResponse_nextToken,+ listAlertsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListAlerts' smart constructor.+data ListAlerts = ListAlerts'+ { -- | The maximum number of alerts that you want MediaTailor to return in+ -- response to the current request. If there are more than @MaxResults@+ -- alerts, use the value of @NextToken@ in the response to get the next+ -- page of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Pagination token returned by the list request when results exceed the+ -- maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the resource.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAlerts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listAlerts_maxResults' - The maximum number of alerts that you want MediaTailor to return in+-- response to the current request. If there are more than @MaxResults@+-- alerts, use the value of @NextToken@ in the response to get the next+-- page of results.+--+-- 'nextToken', 'listAlerts_nextToken' - Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+--+-- 'resourceArn', 'listAlerts_resourceArn' - The Amazon Resource Name (ARN) of the resource.+newListAlerts ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListAlerts+newListAlerts pResourceArn_ =+ ListAlerts'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ resourceArn = pResourceArn_+ }++-- | The maximum number of alerts that you want MediaTailor to return in+-- response to the current request. If there are more than @MaxResults@+-- alerts, use the value of @NextToken@ in the response to get the next+-- page of results.+listAlerts_maxResults :: Lens.Lens' ListAlerts (Prelude.Maybe Prelude.Natural)+listAlerts_maxResults = Lens.lens (\ListAlerts' {maxResults} -> maxResults) (\s@ListAlerts' {} a -> s {maxResults = a} :: ListAlerts)++-- | Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+listAlerts_nextToken :: Lens.Lens' ListAlerts (Prelude.Maybe Prelude.Text)+listAlerts_nextToken = Lens.lens (\ListAlerts' {nextToken} -> nextToken) (\s@ListAlerts' {} a -> s {nextToken = a} :: ListAlerts)++-- | The Amazon Resource Name (ARN) of the resource.+listAlerts_resourceArn :: Lens.Lens' ListAlerts Prelude.Text+listAlerts_resourceArn = Lens.lens (\ListAlerts' {resourceArn} -> resourceArn) (\s@ListAlerts' {} a -> s {resourceArn = a} :: ListAlerts)++instance Core.AWSPager ListAlerts where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listAlertsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listAlertsResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listAlerts_nextToken+ Lens..~ rs+ Lens.^? listAlertsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListAlerts where+ type AWSResponse ListAlerts = ListAlertsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListAlertsResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListAlerts where+ hashWithSalt _salt ListAlerts' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListAlerts where+ rnf ListAlerts' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf resourceArn++instance Data.ToHeaders ListAlerts where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListAlerts where+ toPath = Prelude.const "/alerts"++instance Data.ToQuery ListAlerts where+ toQuery ListAlerts' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken,+ "resourceArn" Data.=: resourceArn+ ]++-- | /See:/ 'newListAlertsResponse' smart constructor.+data ListAlertsResponse = ListAlertsResponse'+ { -- | A list of alerts that are associated with this resource.+ items :: Prelude.Maybe [Alert],+ -- | Pagination token returned by the list request when results exceed the+ -- maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListAlertsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listAlertsResponse_items' - A list of alerts that are associated with this resource.+--+-- 'nextToken', 'listAlertsResponse_nextToken' - Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+--+-- 'httpStatus', 'listAlertsResponse_httpStatus' - The response's http status code.+newListAlertsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListAlertsResponse+newListAlertsResponse pHttpStatus_ =+ ListAlertsResponse'+ { items = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of alerts that are associated with this resource.+listAlertsResponse_items :: Lens.Lens' ListAlertsResponse (Prelude.Maybe [Alert])+listAlertsResponse_items = Lens.lens (\ListAlertsResponse' {items} -> items) (\s@ListAlertsResponse' {} a -> s {items = a} :: ListAlertsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+listAlertsResponse_nextToken :: Lens.Lens' ListAlertsResponse (Prelude.Maybe Prelude.Text)+listAlertsResponse_nextToken = Lens.lens (\ListAlertsResponse' {nextToken} -> nextToken) (\s@ListAlertsResponse' {} a -> s {nextToken = a} :: ListAlertsResponse)++-- | The response's http status code.+listAlertsResponse_httpStatus :: Lens.Lens' ListAlertsResponse Prelude.Int+listAlertsResponse_httpStatus = Lens.lens (\ListAlertsResponse' {httpStatus} -> httpStatus) (\s@ListAlertsResponse' {} a -> s {httpStatus = a} :: ListAlertsResponse)++instance Prelude.NFData ListAlertsResponse where+ rnf ListAlertsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/ListChannels.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.MediaTailor.ListChannels+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves information about the channels that are associated with the+-- current AWS account.+--+-- This operation returns paginated results.+module Amazonka.MediaTailor.ListChannels+ ( -- * Creating a Request+ ListChannels (..),+ newListChannels,++ -- * Request Lenses+ listChannels_maxResults,+ listChannels_nextToken,++ -- * Destructuring the Response+ ListChannelsResponse (..),+ newListChannelsResponse,++ -- * Response Lenses+ listChannelsResponse_items,+ listChannelsResponse_nextToken,+ listChannelsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListChannels' smart constructor.+data ListChannels = ListChannels'+ { -- | The maximum number of channels that you want MediaTailor to return in+ -- response to the current request. If there are more than @MaxResults@+ -- channels, use the value of @NextToken@ in the response to get the next+ -- page of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Pagination token returned by the list request when results exceed the+ -- maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannels' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listChannels_maxResults' - The maximum number of channels that you want MediaTailor to return in+-- response to the current request. If there are more than @MaxResults@+-- channels, use the value of @NextToken@ in the response to get the next+-- page of results.+--+-- 'nextToken', 'listChannels_nextToken' - Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+newListChannels ::+ ListChannels+newListChannels =+ ListChannels'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of channels that you want MediaTailor to return in+-- response to the current request. If there are more than @MaxResults@+-- channels, use the value of @NextToken@ in the response to get the next+-- page of results.+listChannels_maxResults :: Lens.Lens' ListChannels (Prelude.Maybe Prelude.Natural)+listChannels_maxResults = Lens.lens (\ListChannels' {maxResults} -> maxResults) (\s@ListChannels' {} a -> s {maxResults = a} :: ListChannels)++-- | Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+listChannels_nextToken :: Lens.Lens' ListChannels (Prelude.Maybe Prelude.Text)+listChannels_nextToken = Lens.lens (\ListChannels' {nextToken} -> nextToken) (\s@ListChannels' {} a -> s {nextToken = a} :: ListChannels)++instance Core.AWSPager ListChannels where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listChannelsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listChannelsResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listChannels_nextToken+ Lens..~ rs+ Lens.^? listChannelsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListChannels where+ type AWSResponse ListChannels = ListChannelsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListChannelsResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListChannels where+ hashWithSalt _salt ListChannels' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListChannels where+ rnf ListChannels' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListChannels where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListChannels where+ toPath = Prelude.const "/channels"++instance Data.ToQuery ListChannels where+ toQuery ListChannels' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListChannelsResponse' smart constructor.+data ListChannelsResponse = ListChannelsResponse'+ { -- | A list of channels that are associated with this account.+ items :: Prelude.Maybe [Channel],+ -- | Pagination token returned by the list request when results exceed the+ -- maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListChannelsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listChannelsResponse_items' - A list of channels that are associated with this account.+--+-- 'nextToken', 'listChannelsResponse_nextToken' - Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+--+-- 'httpStatus', 'listChannelsResponse_httpStatus' - The response's http status code.+newListChannelsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListChannelsResponse+newListChannelsResponse pHttpStatus_ =+ ListChannelsResponse'+ { items = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of channels that are associated with this account.+listChannelsResponse_items :: Lens.Lens' ListChannelsResponse (Prelude.Maybe [Channel])+listChannelsResponse_items = Lens.lens (\ListChannelsResponse' {items} -> items) (\s@ListChannelsResponse' {} a -> s {items = a} :: ListChannelsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+listChannelsResponse_nextToken :: Lens.Lens' ListChannelsResponse (Prelude.Maybe Prelude.Text)+listChannelsResponse_nextToken = Lens.lens (\ListChannelsResponse' {nextToken} -> nextToken) (\s@ListChannelsResponse' {} a -> s {nextToken = a} :: ListChannelsResponse)++-- | The response's http status code.+listChannelsResponse_httpStatus :: Lens.Lens' ListChannelsResponse Prelude.Int+listChannelsResponse_httpStatus = Lens.lens (\ListChannelsResponse' {httpStatus} -> httpStatus) (\s@ListChannelsResponse' {} a -> s {httpStatus = a} :: ListChannelsResponse)++instance Prelude.NFData ListChannelsResponse where+ rnf ListChannelsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/ListLiveSources.hs view
@@ -0,0 +1,245 @@+{-# 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.MediaTailor.ListLiveSources+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the live sources contained in a source location. A source+-- represents a piece of content.+--+-- This operation returns paginated results.+module Amazonka.MediaTailor.ListLiveSources+ ( -- * Creating a Request+ ListLiveSources (..),+ newListLiveSources,++ -- * Request Lenses+ listLiveSources_maxResults,+ listLiveSources_nextToken,+ listLiveSources_sourceLocationName,++ -- * Destructuring the Response+ ListLiveSourcesResponse (..),+ newListLiveSourcesResponse,++ -- * Response Lenses+ listLiveSourcesResponse_items,+ listLiveSourcesResponse_nextToken,+ listLiveSourcesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListLiveSources' smart constructor.+data ListLiveSources = ListLiveSources'+ { -- | The maximum number of live sources that you want MediaTailor to return+ -- in response to the current request. If there are more than @MaxResults@+ -- live sources, use the value of @NextToken@ in the response to get the+ -- next page of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Pagination token returned by the list request when results exceed the+ -- maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the source location associated with this Live Sources list.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLiveSources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listLiveSources_maxResults' - The maximum number of live sources that you want MediaTailor to return+-- in response to the current request. If there are more than @MaxResults@+-- live sources, use the value of @NextToken@ in the response to get the+-- next page of results.+--+-- 'nextToken', 'listLiveSources_nextToken' - Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+--+-- 'sourceLocationName', 'listLiveSources_sourceLocationName' - The name of the source location associated with this Live Sources list.+newListLiveSources ::+ -- | 'sourceLocationName'+ Prelude.Text ->+ ListLiveSources+newListLiveSources pSourceLocationName_ =+ ListLiveSources'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ sourceLocationName = pSourceLocationName_+ }++-- | The maximum number of live sources that you want MediaTailor to return+-- in response to the current request. If there are more than @MaxResults@+-- live sources, use the value of @NextToken@ in the response to get the+-- next page of results.+listLiveSources_maxResults :: Lens.Lens' ListLiveSources (Prelude.Maybe Prelude.Natural)+listLiveSources_maxResults = Lens.lens (\ListLiveSources' {maxResults} -> maxResults) (\s@ListLiveSources' {} a -> s {maxResults = a} :: ListLiveSources)++-- | Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+listLiveSources_nextToken :: Lens.Lens' ListLiveSources (Prelude.Maybe Prelude.Text)+listLiveSources_nextToken = Lens.lens (\ListLiveSources' {nextToken} -> nextToken) (\s@ListLiveSources' {} a -> s {nextToken = a} :: ListLiveSources)++-- | The name of the source location associated with this Live Sources list.+listLiveSources_sourceLocationName :: Lens.Lens' ListLiveSources Prelude.Text+listLiveSources_sourceLocationName = Lens.lens (\ListLiveSources' {sourceLocationName} -> sourceLocationName) (\s@ListLiveSources' {} a -> s {sourceLocationName = a} :: ListLiveSources)++instance Core.AWSPager ListLiveSources where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listLiveSourcesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listLiveSourcesResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listLiveSources_nextToken+ Lens..~ rs+ Lens.^? listLiveSourcesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListLiveSources where+ type+ AWSResponse ListLiveSources =+ ListLiveSourcesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListLiveSourcesResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListLiveSources where+ hashWithSalt _salt ListLiveSources' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData ListLiveSources where+ rnf ListLiveSources' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf sourceLocationName++instance Data.ToHeaders ListLiveSources where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListLiveSources where+ toPath ListLiveSources' {..} =+ Prelude.mconcat+ [ "/sourceLocation/",+ Data.toBS sourceLocationName,+ "/liveSources"+ ]++instance Data.ToQuery ListLiveSources where+ toQuery ListLiveSources' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListLiveSourcesResponse' smart constructor.+data ListLiveSourcesResponse = ListLiveSourcesResponse'+ { -- | Lists the live sources.+ items :: Prelude.Maybe [LiveSource],+ -- | Pagination token returned by the list request when results exceed the+ -- maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListLiveSourcesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listLiveSourcesResponse_items' - Lists the live sources.+--+-- 'nextToken', 'listLiveSourcesResponse_nextToken' - Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+--+-- 'httpStatus', 'listLiveSourcesResponse_httpStatus' - The response's http status code.+newListLiveSourcesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListLiveSourcesResponse+newListLiveSourcesResponse pHttpStatus_ =+ ListLiveSourcesResponse'+ { items = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Lists the live sources.+listLiveSourcesResponse_items :: Lens.Lens' ListLiveSourcesResponse (Prelude.Maybe [LiveSource])+listLiveSourcesResponse_items = Lens.lens (\ListLiveSourcesResponse' {items} -> items) (\s@ListLiveSourcesResponse' {} a -> s {items = a} :: ListLiveSourcesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+listLiveSourcesResponse_nextToken :: Lens.Lens' ListLiveSourcesResponse (Prelude.Maybe Prelude.Text)+listLiveSourcesResponse_nextToken = Lens.lens (\ListLiveSourcesResponse' {nextToken} -> nextToken) (\s@ListLiveSourcesResponse' {} a -> s {nextToken = a} :: ListLiveSourcesResponse)++-- | The response's http status code.+listLiveSourcesResponse_httpStatus :: Lens.Lens' ListLiveSourcesResponse Prelude.Int+listLiveSourcesResponse_httpStatus = Lens.lens (\ListLiveSourcesResponse' {httpStatus} -> httpStatus) (\s@ListLiveSourcesResponse' {} a -> s {httpStatus = a} :: ListLiveSourcesResponse)++instance Prelude.NFData ListLiveSourcesResponse where+ rnf ListLiveSourcesResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/ListPlaybackConfigurations.hs view
@@ -0,0 +1,238 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.ListPlaybackConfigurations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves existing playback configurations. For information about+-- MediaTailor configurations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html Working with Configurations in AWS Elemental MediaTailor>.+--+-- This operation returns paginated results.+module Amazonka.MediaTailor.ListPlaybackConfigurations+ ( -- * Creating a Request+ ListPlaybackConfigurations (..),+ newListPlaybackConfigurations,++ -- * Request Lenses+ listPlaybackConfigurations_maxResults,+ listPlaybackConfigurations_nextToken,++ -- * Destructuring the Response+ ListPlaybackConfigurationsResponse (..),+ newListPlaybackConfigurationsResponse,++ -- * Response Lenses+ listPlaybackConfigurationsResponse_items,+ listPlaybackConfigurationsResponse_nextToken,+ listPlaybackConfigurationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPlaybackConfigurations' smart constructor.+data ListPlaybackConfigurations = ListPlaybackConfigurations'+ { -- | The maximum number of playback configurations that you want MediaTailor+ -- to return in response to the current request. If there are more than+ -- @MaxResults@ playback configurations, use the value of @NextToken@ in+ -- the response to get the next page of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Pagination token returned by the list request when results exceed the+ -- maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPlaybackConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPlaybackConfigurations_maxResults' - The maximum number of playback configurations that you want MediaTailor+-- to return in response to the current request. If there are more than+-- @MaxResults@ playback configurations, use the value of @NextToken@ in+-- the response to get the next page of results.+--+-- 'nextToken', 'listPlaybackConfigurations_nextToken' - Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+newListPlaybackConfigurations ::+ ListPlaybackConfigurations+newListPlaybackConfigurations =+ ListPlaybackConfigurations'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of playback configurations that you want MediaTailor+-- to return in response to the current request. If there are more than+-- @MaxResults@ playback configurations, use the value of @NextToken@ in+-- the response to get the next page of results.+listPlaybackConfigurations_maxResults :: Lens.Lens' ListPlaybackConfigurations (Prelude.Maybe Prelude.Natural)+listPlaybackConfigurations_maxResults = Lens.lens (\ListPlaybackConfigurations' {maxResults} -> maxResults) (\s@ListPlaybackConfigurations' {} a -> s {maxResults = a} :: ListPlaybackConfigurations)++-- | Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+listPlaybackConfigurations_nextToken :: Lens.Lens' ListPlaybackConfigurations (Prelude.Maybe Prelude.Text)+listPlaybackConfigurations_nextToken = Lens.lens (\ListPlaybackConfigurations' {nextToken} -> nextToken) (\s@ListPlaybackConfigurations' {} a -> s {nextToken = a} :: ListPlaybackConfigurations)++instance Core.AWSPager ListPlaybackConfigurations where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listPlaybackConfigurationsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listPlaybackConfigurationsResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listPlaybackConfigurations_nextToken+ Lens..~ rs+ Lens.^? listPlaybackConfigurationsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListPlaybackConfigurations where+ type+ AWSResponse ListPlaybackConfigurations =+ ListPlaybackConfigurationsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListPlaybackConfigurationsResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListPlaybackConfigurations where+ hashWithSalt _salt ListPlaybackConfigurations' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListPlaybackConfigurations where+ rnf ListPlaybackConfigurations' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListPlaybackConfigurations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListPlaybackConfigurations where+ toPath = Prelude.const "/playbackConfigurations"++instance Data.ToQuery ListPlaybackConfigurations where+ toQuery ListPlaybackConfigurations' {..} =+ Prelude.mconcat+ [ "MaxResults" Data.=: maxResults,+ "NextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListPlaybackConfigurationsResponse' smart constructor.+data ListPlaybackConfigurationsResponse = ListPlaybackConfigurationsResponse'+ { -- | Array of playback configurations. This might be all the available+ -- configurations or a subset, depending on the settings that you provide+ -- and the total number of configurations stored.+ items :: Prelude.Maybe [PlaybackConfiguration],+ -- | Pagination token returned by the GET list request when results exceed+ -- the maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPlaybackConfigurationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listPlaybackConfigurationsResponse_items' - Array of playback configurations. This might be all the available+-- configurations or a subset, depending on the settings that you provide+-- and the total number of configurations stored.+--+-- 'nextToken', 'listPlaybackConfigurationsResponse_nextToken' - Pagination token returned by the GET list request when results exceed+-- the maximum allowed. Use the token to fetch the next page of results.+--+-- 'httpStatus', 'listPlaybackConfigurationsResponse_httpStatus' - The response's http status code.+newListPlaybackConfigurationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListPlaybackConfigurationsResponse+newListPlaybackConfigurationsResponse pHttpStatus_ =+ ListPlaybackConfigurationsResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Array of playback configurations. This might be all the available+-- configurations or a subset, depending on the settings that you provide+-- and the total number of configurations stored.+listPlaybackConfigurationsResponse_items :: Lens.Lens' ListPlaybackConfigurationsResponse (Prelude.Maybe [PlaybackConfiguration])+listPlaybackConfigurationsResponse_items = Lens.lens (\ListPlaybackConfigurationsResponse' {items} -> items) (\s@ListPlaybackConfigurationsResponse' {} a -> s {items = a} :: ListPlaybackConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Pagination token returned by the GET list request when results exceed+-- the maximum allowed. Use the token to fetch the next page of results.+listPlaybackConfigurationsResponse_nextToken :: Lens.Lens' ListPlaybackConfigurationsResponse (Prelude.Maybe Prelude.Text)+listPlaybackConfigurationsResponse_nextToken = Lens.lens (\ListPlaybackConfigurationsResponse' {nextToken} -> nextToken) (\s@ListPlaybackConfigurationsResponse' {} a -> s {nextToken = a} :: ListPlaybackConfigurationsResponse)++-- | The response's http status code.+listPlaybackConfigurationsResponse_httpStatus :: Lens.Lens' ListPlaybackConfigurationsResponse Prelude.Int+listPlaybackConfigurationsResponse_httpStatus = Lens.lens (\ListPlaybackConfigurationsResponse' {httpStatus} -> httpStatus) (\s@ListPlaybackConfigurationsResponse' {} a -> s {httpStatus = a} :: ListPlaybackConfigurationsResponse)++instance+ Prelude.NFData+ ListPlaybackConfigurationsResponse+ where+ rnf ListPlaybackConfigurationsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/ListPrefetchSchedules.hs view
@@ -0,0 +1,303 @@+{-# 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.MediaTailor.ListPrefetchSchedules+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the prefetch schedules for a playback configuration.+--+-- This operation returns paginated results.+module Amazonka.MediaTailor.ListPrefetchSchedules+ ( -- * Creating a Request+ ListPrefetchSchedules (..),+ newListPrefetchSchedules,++ -- * Request Lenses+ listPrefetchSchedules_maxResults,+ listPrefetchSchedules_nextToken,+ listPrefetchSchedules_streamId,+ listPrefetchSchedules_playbackConfigurationName,++ -- * Destructuring the Response+ ListPrefetchSchedulesResponse (..),+ newListPrefetchSchedulesResponse,++ -- * Response Lenses+ listPrefetchSchedulesResponse_items,+ listPrefetchSchedulesResponse_nextToken,+ listPrefetchSchedulesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListPrefetchSchedules' smart constructor.+data ListPrefetchSchedules = ListPrefetchSchedules'+ { -- | The maximum number of prefetch schedules that you want MediaTailor to+ -- return in response to the current request. If there are more than+ -- @MaxResults@ prefetch schedules, use the value of @NextToken@ in the+ -- response to get the next page of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | (Optional) If the playback configuration has more than @MaxResults@+ -- prefetch schedules, use @NextToken@ to get the second and subsequent+ -- pages of results.+ --+ -- For the first @ListPrefetchSchedulesRequest@ request, omit this value.+ --+ -- For the second and subsequent requests, get the value of @NextToken@+ -- from the previous response and specify that value for @NextToken@ in the+ -- request.+ --+ -- If the previous response didn\'t include a @NextToken@ element, there+ -- are no more prefetch schedules to get.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | An optional filtering parameter whereby MediaTailor filters the prefetch+ -- schedules to include only specific streams.+ streamId :: Prelude.Maybe Prelude.Text,+ -- | Retrieves the prefetch schedule(s) for a specific playback+ -- configuration.+ playbackConfigurationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPrefetchSchedules' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listPrefetchSchedules_maxResults' - The maximum number of prefetch schedules that you want MediaTailor to+-- return in response to the current request. If there are more than+-- @MaxResults@ prefetch schedules, use the value of @NextToken@ in the+-- response to get the next page of results.+--+-- 'nextToken', 'listPrefetchSchedules_nextToken' - (Optional) If the playback configuration has more than @MaxResults@+-- prefetch schedules, use @NextToken@ to get the second and subsequent+-- pages of results.+--+-- For the first @ListPrefetchSchedulesRequest@ request, omit this value.+--+-- For the second and subsequent requests, get the value of @NextToken@+-- from the previous response and specify that value for @NextToken@ in the+-- request.+--+-- If the previous response didn\'t include a @NextToken@ element, there+-- are no more prefetch schedules to get.+--+-- 'streamId', 'listPrefetchSchedules_streamId' - An optional filtering parameter whereby MediaTailor filters the prefetch+-- schedules to include only specific streams.+--+-- 'playbackConfigurationName', 'listPrefetchSchedules_playbackConfigurationName' - Retrieves the prefetch schedule(s) for a specific playback+-- configuration.+newListPrefetchSchedules ::+ -- | 'playbackConfigurationName'+ Prelude.Text ->+ ListPrefetchSchedules+newListPrefetchSchedules pPlaybackConfigurationName_ =+ ListPrefetchSchedules'+ { maxResults =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ streamId = Prelude.Nothing,+ playbackConfigurationName =+ pPlaybackConfigurationName_+ }++-- | The maximum number of prefetch schedules that you want MediaTailor to+-- return in response to the current request. If there are more than+-- @MaxResults@ prefetch schedules, use the value of @NextToken@ in the+-- response to get the next page of results.+listPrefetchSchedules_maxResults :: Lens.Lens' ListPrefetchSchedules (Prelude.Maybe Prelude.Natural)+listPrefetchSchedules_maxResults = Lens.lens (\ListPrefetchSchedules' {maxResults} -> maxResults) (\s@ListPrefetchSchedules' {} a -> s {maxResults = a} :: ListPrefetchSchedules)++-- | (Optional) If the playback configuration has more than @MaxResults@+-- prefetch schedules, use @NextToken@ to get the second and subsequent+-- pages of results.+--+-- For the first @ListPrefetchSchedulesRequest@ request, omit this value.+--+-- For the second and subsequent requests, get the value of @NextToken@+-- from the previous response and specify that value for @NextToken@ in the+-- request.+--+-- If the previous response didn\'t include a @NextToken@ element, there+-- are no more prefetch schedules to get.+listPrefetchSchedules_nextToken :: Lens.Lens' ListPrefetchSchedules (Prelude.Maybe Prelude.Text)+listPrefetchSchedules_nextToken = Lens.lens (\ListPrefetchSchedules' {nextToken} -> nextToken) (\s@ListPrefetchSchedules' {} a -> s {nextToken = a} :: ListPrefetchSchedules)++-- | An optional filtering parameter whereby MediaTailor filters the prefetch+-- schedules to include only specific streams.+listPrefetchSchedules_streamId :: Lens.Lens' ListPrefetchSchedules (Prelude.Maybe Prelude.Text)+listPrefetchSchedules_streamId = Lens.lens (\ListPrefetchSchedules' {streamId} -> streamId) (\s@ListPrefetchSchedules' {} a -> s {streamId = a} :: ListPrefetchSchedules)++-- | Retrieves the prefetch schedule(s) for a specific playback+-- configuration.+listPrefetchSchedules_playbackConfigurationName :: Lens.Lens' ListPrefetchSchedules Prelude.Text+listPrefetchSchedules_playbackConfigurationName = Lens.lens (\ListPrefetchSchedules' {playbackConfigurationName} -> playbackConfigurationName) (\s@ListPrefetchSchedules' {} a -> s {playbackConfigurationName = a} :: ListPrefetchSchedules)++instance Core.AWSPager ListPrefetchSchedules where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listPrefetchSchedulesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listPrefetchSchedulesResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listPrefetchSchedules_nextToken+ Lens..~ rs+ Lens.^? listPrefetchSchedulesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListPrefetchSchedules where+ type+ AWSResponse ListPrefetchSchedules =+ ListPrefetchSchedulesResponse+ request overrides =+ Request.postJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListPrefetchSchedulesResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListPrefetchSchedules where+ hashWithSalt _salt ListPrefetchSchedules' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` streamId+ `Prelude.hashWithSalt` playbackConfigurationName++instance Prelude.NFData ListPrefetchSchedules where+ rnf ListPrefetchSchedules' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf streamId+ `Prelude.seq` Prelude.rnf playbackConfigurationName++instance Data.ToHeaders ListPrefetchSchedules where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON ListPrefetchSchedules where+ toJSON ListPrefetchSchedules' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MaxResults" Data..=) Prelude.<$> maxResults,+ ("NextToken" Data..=) Prelude.<$> nextToken,+ ("StreamId" Data..=) Prelude.<$> streamId+ ]+ )++instance Data.ToPath ListPrefetchSchedules where+ toPath ListPrefetchSchedules' {..} =+ Prelude.mconcat+ [ "/prefetchSchedule/",+ Data.toBS playbackConfigurationName+ ]++instance Data.ToQuery ListPrefetchSchedules where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListPrefetchSchedulesResponse' smart constructor.+data ListPrefetchSchedulesResponse = ListPrefetchSchedulesResponse'+ { -- | Lists the prefetch schedules. An empty @Items@ list doesn\'t mean there+ -- aren\'t more items to fetch, just that that page was empty.+ items :: Prelude.Maybe [PrefetchSchedule],+ -- | Pagination token returned by the list request when results exceed the+ -- maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPrefetchSchedulesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listPrefetchSchedulesResponse_items' - Lists the prefetch schedules. An empty @Items@ list doesn\'t mean there+-- aren\'t more items to fetch, just that that page was empty.+--+-- 'nextToken', 'listPrefetchSchedulesResponse_nextToken' - Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+--+-- 'httpStatus', 'listPrefetchSchedulesResponse_httpStatus' - The response's http status code.+newListPrefetchSchedulesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListPrefetchSchedulesResponse+newListPrefetchSchedulesResponse pHttpStatus_ =+ ListPrefetchSchedulesResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Lists the prefetch schedules. An empty @Items@ list doesn\'t mean there+-- aren\'t more items to fetch, just that that page was empty.+listPrefetchSchedulesResponse_items :: Lens.Lens' ListPrefetchSchedulesResponse (Prelude.Maybe [PrefetchSchedule])+listPrefetchSchedulesResponse_items = Lens.lens (\ListPrefetchSchedulesResponse' {items} -> items) (\s@ListPrefetchSchedulesResponse' {} a -> s {items = a} :: ListPrefetchSchedulesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+listPrefetchSchedulesResponse_nextToken :: Lens.Lens' ListPrefetchSchedulesResponse (Prelude.Maybe Prelude.Text)+listPrefetchSchedulesResponse_nextToken = Lens.lens (\ListPrefetchSchedulesResponse' {nextToken} -> nextToken) (\s@ListPrefetchSchedulesResponse' {} a -> s {nextToken = a} :: ListPrefetchSchedulesResponse)++-- | The response's http status code.+listPrefetchSchedulesResponse_httpStatus :: Lens.Lens' ListPrefetchSchedulesResponse Prelude.Int+listPrefetchSchedulesResponse_httpStatus = Lens.lens (\ListPrefetchSchedulesResponse' {httpStatus} -> httpStatus) (\s@ListPrefetchSchedulesResponse' {} a -> s {httpStatus = a} :: ListPrefetchSchedulesResponse)++instance Prelude.NFData ListPrefetchSchedulesResponse where+ rnf ListPrefetchSchedulesResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/ListSourceLocations.hs view
@@ -0,0 +1,227 @@+{-# 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.MediaTailor.ListSourceLocations+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the source locations for a channel. A source location defines the+-- host server URL, and contains a list of sources.+--+-- This operation returns paginated results.+module Amazonka.MediaTailor.ListSourceLocations+ ( -- * Creating a Request+ ListSourceLocations (..),+ newListSourceLocations,++ -- * Request Lenses+ listSourceLocations_maxResults,+ listSourceLocations_nextToken,++ -- * Destructuring the Response+ ListSourceLocationsResponse (..),+ newListSourceLocationsResponse,++ -- * Response Lenses+ listSourceLocationsResponse_items,+ listSourceLocationsResponse_nextToken,+ listSourceLocationsResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListSourceLocations' smart constructor.+data ListSourceLocations = ListSourceLocations'+ { -- | The maximum number of source locations that you want MediaTailor to+ -- return in response to the current request. If there are more than+ -- @MaxResults@ source locations, use the value of @NextToken@ in the+ -- response to get the next page of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Pagination token returned by the list request when results exceed the+ -- maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSourceLocations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listSourceLocations_maxResults' - The maximum number of source locations that you want MediaTailor to+-- return in response to the current request. If there are more than+-- @MaxResults@ source locations, use the value of @NextToken@ in the+-- response to get the next page of results.+--+-- 'nextToken', 'listSourceLocations_nextToken' - Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+newListSourceLocations ::+ ListSourceLocations+newListSourceLocations =+ ListSourceLocations'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing+ }++-- | The maximum number of source locations that you want MediaTailor to+-- return in response to the current request. If there are more than+-- @MaxResults@ source locations, use the value of @NextToken@ in the+-- response to get the next page of results.+listSourceLocations_maxResults :: Lens.Lens' ListSourceLocations (Prelude.Maybe Prelude.Natural)+listSourceLocations_maxResults = Lens.lens (\ListSourceLocations' {maxResults} -> maxResults) (\s@ListSourceLocations' {} a -> s {maxResults = a} :: ListSourceLocations)++-- | Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+listSourceLocations_nextToken :: Lens.Lens' ListSourceLocations (Prelude.Maybe Prelude.Text)+listSourceLocations_nextToken = Lens.lens (\ListSourceLocations' {nextToken} -> nextToken) (\s@ListSourceLocations' {} a -> s {nextToken = a} :: ListSourceLocations)++instance Core.AWSPager ListSourceLocations where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listSourceLocationsResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listSourceLocationsResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listSourceLocations_nextToken+ Lens..~ rs+ Lens.^? listSourceLocationsResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListSourceLocations where+ type+ AWSResponse ListSourceLocations =+ ListSourceLocationsResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListSourceLocationsResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListSourceLocations where+ hashWithSalt _salt ListSourceLocations' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken++instance Prelude.NFData ListSourceLocations where+ rnf ListSourceLocations' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken++instance Data.ToHeaders ListSourceLocations where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListSourceLocations where+ toPath = Prelude.const "/sourceLocations"++instance Data.ToQuery ListSourceLocations where+ toQuery ListSourceLocations' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListSourceLocationsResponse' smart constructor.+data ListSourceLocationsResponse = ListSourceLocationsResponse'+ { -- | A list of source locations.+ items :: Prelude.Maybe [SourceLocation],+ -- | Pagination token returned by the list request when results exceed the+ -- maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListSourceLocationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listSourceLocationsResponse_items' - A list of source locations.+--+-- 'nextToken', 'listSourceLocationsResponse_nextToken' - Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+--+-- 'httpStatus', 'listSourceLocationsResponse_httpStatus' - The response's http status code.+newListSourceLocationsResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListSourceLocationsResponse+newListSourceLocationsResponse pHttpStatus_ =+ ListSourceLocationsResponse'+ { items =+ Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | A list of source locations.+listSourceLocationsResponse_items :: Lens.Lens' ListSourceLocationsResponse (Prelude.Maybe [SourceLocation])+listSourceLocationsResponse_items = Lens.lens (\ListSourceLocationsResponse' {items} -> items) (\s@ListSourceLocationsResponse' {} a -> s {items = a} :: ListSourceLocationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+listSourceLocationsResponse_nextToken :: Lens.Lens' ListSourceLocationsResponse (Prelude.Maybe Prelude.Text)+listSourceLocationsResponse_nextToken = Lens.lens (\ListSourceLocationsResponse' {nextToken} -> nextToken) (\s@ListSourceLocationsResponse' {} a -> s {nextToken = a} :: ListSourceLocationsResponse)++-- | The response's http status code.+listSourceLocationsResponse_httpStatus :: Lens.Lens' ListSourceLocationsResponse Prelude.Int+listSourceLocationsResponse_httpStatus = Lens.lens (\ListSourceLocationsResponse' {httpStatus} -> httpStatus) (\s@ListSourceLocationsResponse' {} a -> s {httpStatus = a} :: ListSourceLocationsResponse)++instance Prelude.NFData ListSourceLocationsResponse where+ rnf ListSourceLocationsResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/ListTagsForResource.hs view
@@ -0,0 +1,172 @@+{-# 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.MediaTailor.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)+--+-- A list of tags that are associated with this resource. Tags are+-- key-value pairs that you can associate with Amazon resources to help+-- with organization, access control, and cost tracking. For more+-- information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+module Amazonka.MediaTailor.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.MediaTailor.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) associated with this resource.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'listTagsForResource_resourceArn' - The Amazon Resource Name (ARN) associated with this resource.+newListTagsForResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ ListTagsForResource+newListTagsForResource pResourceArn_ =+ ListTagsForResource' {resourceArn = pResourceArn_}++-- | The Amazon Resource Name (ARN) associated with this resource.+listTagsForResource_resourceArn :: Lens.Lens' ListTagsForResource Prelude.Text+listTagsForResource_resourceArn = Lens.lens (\ListTagsForResource' {resourceArn} -> resourceArn) (\s@ListTagsForResource' {} a -> s {resourceArn = a} :: ListTagsForResource)++instance Core.AWSRequest ListTagsForResource where+ type+ AWSResponse ListTagsForResource =+ ListTagsForResourceResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListTagsForResourceResponse'+ Prelude.<$> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListTagsForResource where+ hashWithSalt _salt ListTagsForResource' {..} =+ _salt `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData ListTagsForResource where+ rnf ListTagsForResource' {..} =+ Prelude.rnf resourceArn++instance Data.ToHeaders ListTagsForResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListTagsForResource where+ toPath ListTagsForResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery ListTagsForResource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListTagsForResourceResponse' smart constructor.+data ListTagsForResourceResponse = ListTagsForResourceResponse'+ { -- | The tags associated with this resource. Tags are key-value pairs that+ -- you can associate with Amazon resources to help with organization,+ -- access control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListTagsForResourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tags', 'listTagsForResourceResponse_tags' - The tags associated with this resource. Tags are key-value pairs that+-- you can associate with Amazon resources to help with organization,+-- access control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'httpStatus', 'listTagsForResourceResponse_httpStatus' - The response's http status code.+newListTagsForResourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListTagsForResourceResponse+newListTagsForResourceResponse pHttpStatus_ =+ ListTagsForResourceResponse'+ { tags =+ Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The tags associated with this resource. Tags are key-value pairs that+-- you can associate with Amazon resources to help with organization,+-- access control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+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/MediaTailor/ListVodSources.hs view
@@ -0,0 +1,245 @@+{-# 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.MediaTailor.ListVodSources+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the VOD sources contained in a source location. A source+-- represents a piece of content.+--+-- This operation returns paginated results.+module Amazonka.MediaTailor.ListVodSources+ ( -- * Creating a Request+ ListVodSources (..),+ newListVodSources,++ -- * Request Lenses+ listVodSources_maxResults,+ listVodSources_nextToken,+ listVodSources_sourceLocationName,++ -- * Destructuring the Response+ ListVodSourcesResponse (..),+ newListVodSourcesResponse,++ -- * Response Lenses+ listVodSourcesResponse_items,+ listVodSourcesResponse_nextToken,+ listVodSourcesResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newListVodSources' smart constructor.+data ListVodSources = ListVodSources'+ { -- | The maximum number of VOD sources that you want MediaTailor to return in+ -- response to the current request. If there are more than @MaxResults@ VOD+ -- sources, use the value of @NextToken@ in the response to get the next+ -- page of results.+ maxResults :: Prelude.Maybe Prelude.Natural,+ -- | Pagination token returned by the list request when results exceed the+ -- maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The name of the source location associated with this VOD Source list.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVodSources' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.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', 'listVodSources_maxResults' - The maximum number of VOD sources that you want MediaTailor to return in+-- response to the current request. If there are more than @MaxResults@ VOD+-- sources, use the value of @NextToken@ in the response to get the next+-- page of results.+--+-- 'nextToken', 'listVodSources_nextToken' - Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+--+-- 'sourceLocationName', 'listVodSources_sourceLocationName' - The name of the source location associated with this VOD Source list.+newListVodSources ::+ -- | 'sourceLocationName'+ Prelude.Text ->+ ListVodSources+newListVodSources pSourceLocationName_ =+ ListVodSources'+ { maxResults = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ sourceLocationName = pSourceLocationName_+ }++-- | The maximum number of VOD sources that you want MediaTailor to return in+-- response to the current request. If there are more than @MaxResults@ VOD+-- sources, use the value of @NextToken@ in the response to get the next+-- page of results.+listVodSources_maxResults :: Lens.Lens' ListVodSources (Prelude.Maybe Prelude.Natural)+listVodSources_maxResults = Lens.lens (\ListVodSources' {maxResults} -> maxResults) (\s@ListVodSources' {} a -> s {maxResults = a} :: ListVodSources)++-- | Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+listVodSources_nextToken :: Lens.Lens' ListVodSources (Prelude.Maybe Prelude.Text)+listVodSources_nextToken = Lens.lens (\ListVodSources' {nextToken} -> nextToken) (\s@ListVodSources' {} a -> s {nextToken = a} :: ListVodSources)++-- | The name of the source location associated with this VOD Source list.+listVodSources_sourceLocationName :: Lens.Lens' ListVodSources Prelude.Text+listVodSources_sourceLocationName = Lens.lens (\ListVodSources' {sourceLocationName} -> sourceLocationName) (\s@ListVodSources' {} a -> s {sourceLocationName = a} :: ListVodSources)++instance Core.AWSPager ListVodSources where+ page rq rs+ | Core.stop+ ( rs+ Lens.^? listVodSourcesResponse_nextToken+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Core.stop+ ( rs+ Lens.^? listVodSourcesResponse_items+ Prelude.. Lens._Just+ ) =+ Prelude.Nothing+ | Prelude.otherwise =+ Prelude.Just+ Prelude.$ rq+ Prelude.& listVodSources_nextToken+ Lens..~ rs+ Lens.^? listVodSourcesResponse_nextToken+ Prelude.. Lens._Just++instance Core.AWSRequest ListVodSources where+ type+ AWSResponse ListVodSources =+ ListVodSourcesResponse+ request overrides =+ Request.get (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ ListVodSourcesResponse'+ Prelude.<$> (x Data..?> "Items" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "NextToken")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable ListVodSources where+ hashWithSalt _salt ListVodSources' {..} =+ _salt+ `Prelude.hashWithSalt` maxResults+ `Prelude.hashWithSalt` nextToken+ `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData ListVodSources where+ rnf ListVodSources' {..} =+ Prelude.rnf maxResults+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf sourceLocationName++instance Data.ToHeaders ListVodSources where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath ListVodSources where+ toPath ListVodSources' {..} =+ Prelude.mconcat+ [ "/sourceLocation/",+ Data.toBS sourceLocationName,+ "/vodSources"+ ]++instance Data.ToQuery ListVodSources where+ toQuery ListVodSources' {..} =+ Prelude.mconcat+ [ "maxResults" Data.=: maxResults,+ "nextToken" Data.=: nextToken+ ]++-- | /See:/ 'newListVodSourcesResponse' smart constructor.+data ListVodSourcesResponse = ListVodSourcesResponse'+ { -- | Lists the VOD sources.+ items :: Prelude.Maybe [VodSource],+ -- | Pagination token returned by the list request when results exceed the+ -- maximum allowed. Use the token to fetch the next page of results.+ nextToken :: Prelude.Maybe Prelude.Text,+ -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListVodSourcesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'items', 'listVodSourcesResponse_items' - Lists the VOD sources.+--+-- 'nextToken', 'listVodSourcesResponse_nextToken' - Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+--+-- 'httpStatus', 'listVodSourcesResponse_httpStatus' - The response's http status code.+newListVodSourcesResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ ListVodSourcesResponse+newListVodSourcesResponse pHttpStatus_ =+ ListVodSourcesResponse'+ { items = Prelude.Nothing,+ nextToken = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Lists the VOD sources.+listVodSourcesResponse_items :: Lens.Lens' ListVodSourcesResponse (Prelude.Maybe [VodSource])+listVodSourcesResponse_items = Lens.lens (\ListVodSourcesResponse' {items} -> items) (\s@ListVodSourcesResponse' {} a -> s {items = a} :: ListVodSourcesResponse) Prelude.. Lens.mapping Lens.coerced++-- | Pagination token returned by the list request when results exceed the+-- maximum allowed. Use the token to fetch the next page of results.+listVodSourcesResponse_nextToken :: Lens.Lens' ListVodSourcesResponse (Prelude.Maybe Prelude.Text)+listVodSourcesResponse_nextToken = Lens.lens (\ListVodSourcesResponse' {nextToken} -> nextToken) (\s@ListVodSourcesResponse' {} a -> s {nextToken = a} :: ListVodSourcesResponse)++-- | The response's http status code.+listVodSourcesResponse_httpStatus :: Lens.Lens' ListVodSourcesResponse Prelude.Int+listVodSourcesResponse_httpStatus = Lens.lens (\ListVodSourcesResponse' {httpStatus} -> httpStatus) (\s@ListVodSourcesResponse' {} a -> s {httpStatus = a} :: ListVodSourcesResponse)++instance Prelude.NFData ListVodSourcesResponse where+ rnf ListVodSourcesResponse' {..} =+ Prelude.rnf items+ `Prelude.seq` Prelude.rnf nextToken+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/PutChannelPolicy.hs view
@@ -0,0 +1,173 @@+{-# 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.MediaTailor.PutChannelPolicy+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates an IAM policy for the channel. IAM policies are used to control+-- access to your channel.+module Amazonka.MediaTailor.PutChannelPolicy+ ( -- * Creating a Request+ PutChannelPolicy (..),+ newPutChannelPolicy,++ -- * Request Lenses+ putChannelPolicy_channelName,+ putChannelPolicy_policy,++ -- * Destructuring the Response+ PutChannelPolicyResponse (..),+ newPutChannelPolicyResponse,++ -- * Response Lenses+ putChannelPolicyResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutChannelPolicy' smart constructor.+data PutChannelPolicy = PutChannelPolicy'+ { -- | The channel name associated with this Channel Policy.+ channelName :: Prelude.Text,+ -- | Adds an IAM role that determines the permissions of your channel.+ policy :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutChannelPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelName', 'putChannelPolicy_channelName' - The channel name associated with this Channel Policy.+--+-- 'policy', 'putChannelPolicy_policy' - Adds an IAM role that determines the permissions of your channel.+newPutChannelPolicy ::+ -- | 'channelName'+ Prelude.Text ->+ -- | 'policy'+ Prelude.Text ->+ PutChannelPolicy+newPutChannelPolicy pChannelName_ pPolicy_ =+ PutChannelPolicy'+ { channelName = pChannelName_,+ policy = pPolicy_+ }++-- | The channel name associated with this Channel Policy.+putChannelPolicy_channelName :: Lens.Lens' PutChannelPolicy Prelude.Text+putChannelPolicy_channelName = Lens.lens (\PutChannelPolicy' {channelName} -> channelName) (\s@PutChannelPolicy' {} a -> s {channelName = a} :: PutChannelPolicy)++-- | Adds an IAM role that determines the permissions of your channel.+putChannelPolicy_policy :: Lens.Lens' PutChannelPolicy Prelude.Text+putChannelPolicy_policy = Lens.lens (\PutChannelPolicy' {policy} -> policy) (\s@PutChannelPolicy' {} a -> s {policy = a} :: PutChannelPolicy)++instance Core.AWSRequest PutChannelPolicy where+ type+ AWSResponse PutChannelPolicy =+ PutChannelPolicyResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ PutChannelPolicyResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutChannelPolicy where+ hashWithSalt _salt PutChannelPolicy' {..} =+ _salt+ `Prelude.hashWithSalt` channelName+ `Prelude.hashWithSalt` policy++instance Prelude.NFData PutChannelPolicy where+ rnf PutChannelPolicy' {..} =+ Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf policy++instance Data.ToHeaders PutChannelPolicy where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutChannelPolicy where+ toJSON PutChannelPolicy' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Policy" Data..= policy)]+ )++instance Data.ToPath PutChannelPolicy where+ toPath PutChannelPolicy' {..} =+ Prelude.mconcat+ ["/channel/", Data.toBS channelName, "/policy"]++instance Data.ToQuery PutChannelPolicy where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutChannelPolicyResponse' smart constructor.+data PutChannelPolicyResponse = PutChannelPolicyResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutChannelPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'putChannelPolicyResponse_httpStatus' - The response's http status code.+newPutChannelPolicyResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutChannelPolicyResponse+newPutChannelPolicyResponse pHttpStatus_ =+ PutChannelPolicyResponse'+ { httpStatus =+ pHttpStatus_+ }++-- | The response's http status code.+putChannelPolicyResponse_httpStatus :: Lens.Lens' PutChannelPolicyResponse Prelude.Int+putChannelPolicyResponse_httpStatus = Lens.lens (\PutChannelPolicyResponse' {httpStatus} -> httpStatus) (\s@PutChannelPolicyResponse' {} a -> s {httpStatus = a} :: PutChannelPolicyResponse)++instance Prelude.NFData PutChannelPolicyResponse where+ rnf PutChannelPolicyResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/PutPlaybackConfiguration.hs view
@@ -0,0 +1,801 @@+{-# 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.MediaTailor.PutPlaybackConfiguration+-- 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 playback configuration. For information about MediaTailor+-- configurations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html Working with configurations in AWS Elemental MediaTailor>.+module Amazonka.MediaTailor.PutPlaybackConfiguration+ ( -- * Creating a Request+ PutPlaybackConfiguration (..),+ newPutPlaybackConfiguration,++ -- * Request Lenses+ putPlaybackConfiguration_adDecisionServerUrl,+ putPlaybackConfiguration_availSuppression,+ putPlaybackConfiguration_bumper,+ putPlaybackConfiguration_cdnConfiguration,+ putPlaybackConfiguration_configurationAliases,+ putPlaybackConfiguration_dashConfiguration,+ putPlaybackConfiguration_livePreRollConfiguration,+ putPlaybackConfiguration_manifestProcessingRules,+ putPlaybackConfiguration_personalizationThresholdSeconds,+ putPlaybackConfiguration_slateAdUrl,+ putPlaybackConfiguration_tags,+ putPlaybackConfiguration_transcodeProfileName,+ putPlaybackConfiguration_videoContentSourceUrl,+ putPlaybackConfiguration_name,++ -- * Destructuring the Response+ PutPlaybackConfigurationResponse (..),+ newPutPlaybackConfigurationResponse,++ -- * Response Lenses+ putPlaybackConfigurationResponse_adDecisionServerUrl,+ putPlaybackConfigurationResponse_availSuppression,+ putPlaybackConfigurationResponse_bumper,+ putPlaybackConfigurationResponse_cdnConfiguration,+ putPlaybackConfigurationResponse_configurationAliases,+ putPlaybackConfigurationResponse_dashConfiguration,+ putPlaybackConfigurationResponse_hlsConfiguration,+ putPlaybackConfigurationResponse_livePreRollConfiguration,+ putPlaybackConfigurationResponse_logConfiguration,+ putPlaybackConfigurationResponse_manifestProcessingRules,+ putPlaybackConfigurationResponse_name,+ putPlaybackConfigurationResponse_personalizationThresholdSeconds,+ putPlaybackConfigurationResponse_playbackConfigurationArn,+ putPlaybackConfigurationResponse_playbackEndpointPrefix,+ putPlaybackConfigurationResponse_sessionInitializationEndpointPrefix,+ putPlaybackConfigurationResponse_slateAdUrl,+ putPlaybackConfigurationResponse_tags,+ putPlaybackConfigurationResponse_transcodeProfileName,+ putPlaybackConfigurationResponse_videoContentSourceUrl,+ putPlaybackConfigurationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newPutPlaybackConfiguration' smart constructor.+data PutPlaybackConfiguration = PutPlaybackConfiguration'+ { -- | The URL for the ad decision server (ADS). This includes the+ -- specification of static parameters and placeholders for dynamic+ -- parameters. AWS Elemental MediaTailor substitutes player-specific and+ -- session-specific parameters as needed when calling the ADS. Alternately,+ -- for testing you can provide a static VAST URL. The maximum length is+ -- 25,000 characters.+ adDecisionServerUrl :: Prelude.Maybe Prelude.Text,+ -- | The configuration for avail suppression, also known as ad suppression.+ -- For more information about ad suppression, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Suppression>.+ availSuppression :: Prelude.Maybe AvailSuppression,+ -- | The configuration for bumpers. Bumpers are short audio or video clips+ -- that play at the start or before the end of an ad break. To learn more+ -- about bumpers, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html Bumpers>.+ bumper :: Prelude.Maybe Bumper,+ -- | The configuration for using a content delivery network (CDN), like+ -- Amazon CloudFront, for content and ad segment management.+ cdnConfiguration :: Prelude.Maybe CdnConfiguration,+ -- | The player parameters and aliases used as dynamic variables during+ -- session initialization. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html Domain Variables>.+ configurationAliases :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | The configuration for DASH content.+ dashConfiguration :: Prelude.Maybe DashConfigurationForPut,+ -- | The configuration for pre-roll ad insertion.+ livePreRollConfiguration :: Prelude.Maybe LivePreRollConfiguration,+ -- | The configuration for manifest processing rules. Manifest processing+ -- rules enable customization of the personalized manifests created by+ -- MediaTailor.+ manifestProcessingRules :: Prelude.Maybe ManifestProcessingRules,+ -- | Defines the maximum duration of underfilled ad time (in seconds) allowed+ -- in an ad break. If the duration of underfilled ad time exceeds the+ -- personalization threshold, then the personalization of the ad break is+ -- abandoned and the underlying content is shown. This feature applies to+ -- /ad replacement/ in live and VOD streams, rather than ad insertion,+ -- because it relies on an underlying content stream. For more information+ -- about ad break behavior, including ad replacement and insertion, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Behavior in AWS Elemental MediaTailor>.+ personalizationThresholdSeconds :: Prelude.Maybe Prelude.Natural,+ -- | The URL for a high-quality video asset to transcode and use to fill in+ -- time that\'s not used by ads. AWS Elemental MediaTailor shows the slate+ -- to fill in gaps in media content. Configuring the slate is optional for+ -- non-VPAID configurations. For VPAID, the slate is required because+ -- MediaTailor provides it in the slots that are designated for dynamic ad+ -- content. The slate must be a high-quality asset that contains both audio+ -- and video.+ slateAdUrl :: Prelude.Maybe Prelude.Text,+ -- | The tags to assign to the playback configuration. Tags are key-value+ -- pairs that you can associate with Amazon resources to help with+ -- organization, access control, and cost tracking. For more information,+ -- see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name that is used to associate this playback configuration with a+ -- custom transcode profile. This overrides the dynamic transcoding+ -- defaults of MediaTailor. Use this only if you have already set up custom+ -- profiles with the help of AWS Support.+ transcodeProfileName :: Prelude.Maybe Prelude.Text,+ -- | The URL prefix for the parent manifest for the stream, minus the asset+ -- ID. The maximum length is 512 characters.+ videoContentSourceUrl :: Prelude.Maybe Prelude.Text,+ -- | The identifier for the playback configuration.+ name :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutPlaybackConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adDecisionServerUrl', 'putPlaybackConfiguration_adDecisionServerUrl' - The URL for the ad decision server (ADS). This includes the+-- specification of static parameters and placeholders for dynamic+-- parameters. AWS Elemental MediaTailor substitutes player-specific and+-- session-specific parameters as needed when calling the ADS. Alternately,+-- for testing you can provide a static VAST URL. The maximum length is+-- 25,000 characters.+--+-- 'availSuppression', 'putPlaybackConfiguration_availSuppression' - The configuration for avail suppression, also known as ad suppression.+-- For more information about ad suppression, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Suppression>.+--+-- 'bumper', 'putPlaybackConfiguration_bumper' - The configuration for bumpers. Bumpers are short audio or video clips+-- that play at the start or before the end of an ad break. To learn more+-- about bumpers, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html Bumpers>.+--+-- 'cdnConfiguration', 'putPlaybackConfiguration_cdnConfiguration' - The configuration for using a content delivery network (CDN), like+-- Amazon CloudFront, for content and ad segment management.+--+-- 'configurationAliases', 'putPlaybackConfiguration_configurationAliases' - The player parameters and aliases used as dynamic variables during+-- session initialization. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html Domain Variables>.+--+-- 'dashConfiguration', 'putPlaybackConfiguration_dashConfiguration' - The configuration for DASH content.+--+-- 'livePreRollConfiguration', 'putPlaybackConfiguration_livePreRollConfiguration' - The configuration for pre-roll ad insertion.+--+-- 'manifestProcessingRules', 'putPlaybackConfiguration_manifestProcessingRules' - The configuration for manifest processing rules. Manifest processing+-- rules enable customization of the personalized manifests created by+-- MediaTailor.+--+-- 'personalizationThresholdSeconds', 'putPlaybackConfiguration_personalizationThresholdSeconds' - Defines the maximum duration of underfilled ad time (in seconds) allowed+-- in an ad break. If the duration of underfilled ad time exceeds the+-- personalization threshold, then the personalization of the ad break is+-- abandoned and the underlying content is shown. This feature applies to+-- /ad replacement/ in live and VOD streams, rather than ad insertion,+-- because it relies on an underlying content stream. For more information+-- about ad break behavior, including ad replacement and insertion, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Behavior in AWS Elemental MediaTailor>.+--+-- 'slateAdUrl', 'putPlaybackConfiguration_slateAdUrl' - The URL for a high-quality video asset to transcode and use to fill in+-- time that\'s not used by ads. AWS Elemental MediaTailor shows the slate+-- to fill in gaps in media content. Configuring the slate is optional for+-- non-VPAID configurations. For VPAID, the slate is required because+-- MediaTailor provides it in the slots that are designated for dynamic ad+-- content. The slate must be a high-quality asset that contains both audio+-- and video.+--+-- 'tags', 'putPlaybackConfiguration_tags' - The tags to assign to the playback configuration. Tags are key-value+-- pairs that you can associate with Amazon resources to help with+-- organization, access control, and cost tracking. For more information,+-- see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'transcodeProfileName', 'putPlaybackConfiguration_transcodeProfileName' - The name that is used to associate this playback configuration with a+-- custom transcode profile. This overrides the dynamic transcoding+-- defaults of MediaTailor. Use this only if you have already set up custom+-- profiles with the help of AWS Support.+--+-- 'videoContentSourceUrl', 'putPlaybackConfiguration_videoContentSourceUrl' - The URL prefix for the parent manifest for the stream, minus the asset+-- ID. The maximum length is 512 characters.+--+-- 'name', 'putPlaybackConfiguration_name' - The identifier for the playback configuration.+newPutPlaybackConfiguration ::+ -- | 'name'+ Prelude.Text ->+ PutPlaybackConfiguration+newPutPlaybackConfiguration pName_ =+ PutPlaybackConfiguration'+ { adDecisionServerUrl =+ Prelude.Nothing,+ availSuppression = Prelude.Nothing,+ bumper = Prelude.Nothing,+ cdnConfiguration = Prelude.Nothing,+ configurationAliases = Prelude.Nothing,+ dashConfiguration = Prelude.Nothing,+ livePreRollConfiguration = Prelude.Nothing,+ manifestProcessingRules = Prelude.Nothing,+ personalizationThresholdSeconds = Prelude.Nothing,+ slateAdUrl = Prelude.Nothing,+ tags = Prelude.Nothing,+ transcodeProfileName = Prelude.Nothing,+ videoContentSourceUrl = Prelude.Nothing,+ name = pName_+ }++-- | The URL for the ad decision server (ADS). This includes the+-- specification of static parameters and placeholders for dynamic+-- parameters. AWS Elemental MediaTailor substitutes player-specific and+-- session-specific parameters as needed when calling the ADS. Alternately,+-- for testing you can provide a static VAST URL. The maximum length is+-- 25,000 characters.+putPlaybackConfiguration_adDecisionServerUrl :: Lens.Lens' PutPlaybackConfiguration (Prelude.Maybe Prelude.Text)+putPlaybackConfiguration_adDecisionServerUrl = Lens.lens (\PutPlaybackConfiguration' {adDecisionServerUrl} -> adDecisionServerUrl) (\s@PutPlaybackConfiguration' {} a -> s {adDecisionServerUrl = a} :: PutPlaybackConfiguration)++-- | The configuration for avail suppression, also known as ad suppression.+-- For more information about ad suppression, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Suppression>.+putPlaybackConfiguration_availSuppression :: Lens.Lens' PutPlaybackConfiguration (Prelude.Maybe AvailSuppression)+putPlaybackConfiguration_availSuppression = Lens.lens (\PutPlaybackConfiguration' {availSuppression} -> availSuppression) (\s@PutPlaybackConfiguration' {} a -> s {availSuppression = a} :: PutPlaybackConfiguration)++-- | The configuration for bumpers. Bumpers are short audio or video clips+-- that play at the start or before the end of an ad break. To learn more+-- about bumpers, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html Bumpers>.+putPlaybackConfiguration_bumper :: Lens.Lens' PutPlaybackConfiguration (Prelude.Maybe Bumper)+putPlaybackConfiguration_bumper = Lens.lens (\PutPlaybackConfiguration' {bumper} -> bumper) (\s@PutPlaybackConfiguration' {} a -> s {bumper = a} :: PutPlaybackConfiguration)++-- | The configuration for using a content delivery network (CDN), like+-- Amazon CloudFront, for content and ad segment management.+putPlaybackConfiguration_cdnConfiguration :: Lens.Lens' PutPlaybackConfiguration (Prelude.Maybe CdnConfiguration)+putPlaybackConfiguration_cdnConfiguration = Lens.lens (\PutPlaybackConfiguration' {cdnConfiguration} -> cdnConfiguration) (\s@PutPlaybackConfiguration' {} a -> s {cdnConfiguration = a} :: PutPlaybackConfiguration)++-- | The player parameters and aliases used as dynamic variables during+-- session initialization. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html Domain Variables>.+putPlaybackConfiguration_configurationAliases :: Lens.Lens' PutPlaybackConfiguration (Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text Prelude.Text)))+putPlaybackConfiguration_configurationAliases = Lens.lens (\PutPlaybackConfiguration' {configurationAliases} -> configurationAliases) (\s@PutPlaybackConfiguration' {} a -> s {configurationAliases = a} :: PutPlaybackConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The configuration for DASH content.+putPlaybackConfiguration_dashConfiguration :: Lens.Lens' PutPlaybackConfiguration (Prelude.Maybe DashConfigurationForPut)+putPlaybackConfiguration_dashConfiguration = Lens.lens (\PutPlaybackConfiguration' {dashConfiguration} -> dashConfiguration) (\s@PutPlaybackConfiguration' {} a -> s {dashConfiguration = a} :: PutPlaybackConfiguration)++-- | The configuration for pre-roll ad insertion.+putPlaybackConfiguration_livePreRollConfiguration :: Lens.Lens' PutPlaybackConfiguration (Prelude.Maybe LivePreRollConfiguration)+putPlaybackConfiguration_livePreRollConfiguration = Lens.lens (\PutPlaybackConfiguration' {livePreRollConfiguration} -> livePreRollConfiguration) (\s@PutPlaybackConfiguration' {} a -> s {livePreRollConfiguration = a} :: PutPlaybackConfiguration)++-- | The configuration for manifest processing rules. Manifest processing+-- rules enable customization of the personalized manifests created by+-- MediaTailor.+putPlaybackConfiguration_manifestProcessingRules :: Lens.Lens' PutPlaybackConfiguration (Prelude.Maybe ManifestProcessingRules)+putPlaybackConfiguration_manifestProcessingRules = Lens.lens (\PutPlaybackConfiguration' {manifestProcessingRules} -> manifestProcessingRules) (\s@PutPlaybackConfiguration' {} a -> s {manifestProcessingRules = a} :: PutPlaybackConfiguration)++-- | Defines the maximum duration of underfilled ad time (in seconds) allowed+-- in an ad break. If the duration of underfilled ad time exceeds the+-- personalization threshold, then the personalization of the ad break is+-- abandoned and the underlying content is shown. This feature applies to+-- /ad replacement/ in live and VOD streams, rather than ad insertion,+-- because it relies on an underlying content stream. For more information+-- about ad break behavior, including ad replacement and insertion, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Behavior in AWS Elemental MediaTailor>.+putPlaybackConfiguration_personalizationThresholdSeconds :: Lens.Lens' PutPlaybackConfiguration (Prelude.Maybe Prelude.Natural)+putPlaybackConfiguration_personalizationThresholdSeconds = Lens.lens (\PutPlaybackConfiguration' {personalizationThresholdSeconds} -> personalizationThresholdSeconds) (\s@PutPlaybackConfiguration' {} a -> s {personalizationThresholdSeconds = a} :: PutPlaybackConfiguration)++-- | The URL for a high-quality video asset to transcode and use to fill in+-- time that\'s not used by ads. AWS Elemental MediaTailor shows the slate+-- to fill in gaps in media content. Configuring the slate is optional for+-- non-VPAID configurations. For VPAID, the slate is required because+-- MediaTailor provides it in the slots that are designated for dynamic ad+-- content. The slate must be a high-quality asset that contains both audio+-- and video.+putPlaybackConfiguration_slateAdUrl :: Lens.Lens' PutPlaybackConfiguration (Prelude.Maybe Prelude.Text)+putPlaybackConfiguration_slateAdUrl = Lens.lens (\PutPlaybackConfiguration' {slateAdUrl} -> slateAdUrl) (\s@PutPlaybackConfiguration' {} a -> s {slateAdUrl = a} :: PutPlaybackConfiguration)++-- | The tags to assign to the playback configuration. Tags are key-value+-- pairs that you can associate with Amazon resources to help with+-- organization, access control, and cost tracking. For more information,+-- see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+putPlaybackConfiguration_tags :: Lens.Lens' PutPlaybackConfiguration (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+putPlaybackConfiguration_tags = Lens.lens (\PutPlaybackConfiguration' {tags} -> tags) (\s@PutPlaybackConfiguration' {} a -> s {tags = a} :: PutPlaybackConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The name that is used to associate this playback configuration with a+-- custom transcode profile. This overrides the dynamic transcoding+-- defaults of MediaTailor. Use this only if you have already set up custom+-- profiles with the help of AWS Support.+putPlaybackConfiguration_transcodeProfileName :: Lens.Lens' PutPlaybackConfiguration (Prelude.Maybe Prelude.Text)+putPlaybackConfiguration_transcodeProfileName = Lens.lens (\PutPlaybackConfiguration' {transcodeProfileName} -> transcodeProfileName) (\s@PutPlaybackConfiguration' {} a -> s {transcodeProfileName = a} :: PutPlaybackConfiguration)++-- | The URL prefix for the parent manifest for the stream, minus the asset+-- ID. The maximum length is 512 characters.+putPlaybackConfiguration_videoContentSourceUrl :: Lens.Lens' PutPlaybackConfiguration (Prelude.Maybe Prelude.Text)+putPlaybackConfiguration_videoContentSourceUrl = Lens.lens (\PutPlaybackConfiguration' {videoContentSourceUrl} -> videoContentSourceUrl) (\s@PutPlaybackConfiguration' {} a -> s {videoContentSourceUrl = a} :: PutPlaybackConfiguration)++-- | The identifier for the playback configuration.+putPlaybackConfiguration_name :: Lens.Lens' PutPlaybackConfiguration Prelude.Text+putPlaybackConfiguration_name = Lens.lens (\PutPlaybackConfiguration' {name} -> name) (\s@PutPlaybackConfiguration' {} a -> s {name = a} :: PutPlaybackConfiguration)++instance Core.AWSRequest PutPlaybackConfiguration where+ type+ AWSResponse PutPlaybackConfiguration =+ PutPlaybackConfigurationResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ PutPlaybackConfigurationResponse'+ Prelude.<$> (x Data..?> "AdDecisionServerUrl")+ Prelude.<*> (x Data..?> "AvailSuppression")+ Prelude.<*> (x Data..?> "Bumper")+ Prelude.<*> (x Data..?> "CdnConfiguration")+ Prelude.<*> ( x+ Data..?> "ConfigurationAliases"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "DashConfiguration")+ Prelude.<*> (x Data..?> "HlsConfiguration")+ Prelude.<*> (x Data..?> "LivePreRollConfiguration")+ Prelude.<*> (x Data..?> "LogConfiguration")+ Prelude.<*> (x Data..?> "ManifestProcessingRules")+ Prelude.<*> (x Data..?> "Name")+ Prelude.<*> (x Data..?> "PersonalizationThresholdSeconds")+ Prelude.<*> (x Data..?> "PlaybackConfigurationArn")+ Prelude.<*> (x Data..?> "PlaybackEndpointPrefix")+ Prelude.<*> (x Data..?> "SessionInitializationEndpointPrefix")+ Prelude.<*> (x Data..?> "SlateAdUrl")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "TranscodeProfileName")+ Prelude.<*> (x Data..?> "VideoContentSourceUrl")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable PutPlaybackConfiguration where+ hashWithSalt _salt PutPlaybackConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` adDecisionServerUrl+ `Prelude.hashWithSalt` availSuppression+ `Prelude.hashWithSalt` bumper+ `Prelude.hashWithSalt` cdnConfiguration+ `Prelude.hashWithSalt` configurationAliases+ `Prelude.hashWithSalt` dashConfiguration+ `Prelude.hashWithSalt` livePreRollConfiguration+ `Prelude.hashWithSalt` manifestProcessingRules+ `Prelude.hashWithSalt` personalizationThresholdSeconds+ `Prelude.hashWithSalt` slateAdUrl+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` transcodeProfileName+ `Prelude.hashWithSalt` videoContentSourceUrl+ `Prelude.hashWithSalt` name++instance Prelude.NFData PutPlaybackConfiguration where+ rnf PutPlaybackConfiguration' {..} =+ Prelude.rnf adDecisionServerUrl+ `Prelude.seq` Prelude.rnf availSuppression+ `Prelude.seq` Prelude.rnf bumper+ `Prelude.seq` Prelude.rnf cdnConfiguration+ `Prelude.seq` Prelude.rnf configurationAliases+ `Prelude.seq` Prelude.rnf dashConfiguration+ `Prelude.seq` Prelude.rnf livePreRollConfiguration+ `Prelude.seq` Prelude.rnf manifestProcessingRules+ `Prelude.seq` Prelude.rnf personalizationThresholdSeconds+ `Prelude.seq` Prelude.rnf slateAdUrl+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf transcodeProfileName+ `Prelude.seq` Prelude.rnf videoContentSourceUrl+ `Prelude.seq` Prelude.rnf name++instance Data.ToHeaders PutPlaybackConfiguration where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON PutPlaybackConfiguration where+ toJSON PutPlaybackConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AdDecisionServerUrl" Data..=)+ Prelude.<$> adDecisionServerUrl,+ ("AvailSuppression" Data..=)+ Prelude.<$> availSuppression,+ ("Bumper" Data..=) Prelude.<$> bumper,+ ("CdnConfiguration" Data..=)+ Prelude.<$> cdnConfiguration,+ ("ConfigurationAliases" Data..=)+ Prelude.<$> configurationAliases,+ ("DashConfiguration" Data..=)+ Prelude.<$> dashConfiguration,+ ("LivePreRollConfiguration" Data..=)+ Prelude.<$> livePreRollConfiguration,+ ("ManifestProcessingRules" Data..=)+ Prelude.<$> manifestProcessingRules,+ ("PersonalizationThresholdSeconds" Data..=)+ Prelude.<$> personalizationThresholdSeconds,+ ("SlateAdUrl" Data..=) Prelude.<$> slateAdUrl,+ ("tags" Data..=) Prelude.<$> tags,+ ("TranscodeProfileName" Data..=)+ Prelude.<$> transcodeProfileName,+ ("VideoContentSourceUrl" Data..=)+ Prelude.<$> videoContentSourceUrl,+ Prelude.Just ("Name" Data..= name)+ ]+ )++instance Data.ToPath PutPlaybackConfiguration where+ toPath = Prelude.const "/playbackConfiguration"++instance Data.ToQuery PutPlaybackConfiguration where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutPlaybackConfigurationResponse' smart constructor.+data PutPlaybackConfigurationResponse = PutPlaybackConfigurationResponse'+ { -- | The URL for the ad decision server (ADS). This includes the+ -- specification of static parameters and placeholders for dynamic+ -- parameters. AWS Elemental MediaTailor substitutes player-specific and+ -- session-specific parameters as needed when calling the ADS. Alternately,+ -- for testing you can provide a static VAST URL. The maximum length is+ -- 25,000 characters.+ adDecisionServerUrl :: Prelude.Maybe Prelude.Text,+ -- | The configuration for avail suppression, also known as ad suppression.+ -- For more information about ad suppression, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Suppression>.+ availSuppression :: Prelude.Maybe AvailSuppression,+ -- | The configuration for bumpers. Bumpers are short audio or video clips+ -- that play at the start or before the end of an ad break. To learn more+ -- about bumpers, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html Bumpers>.+ bumper :: Prelude.Maybe Bumper,+ -- | The configuration for using a content delivery network (CDN), like+ -- Amazon CloudFront, for content and ad segment management.+ cdnConfiguration :: Prelude.Maybe CdnConfiguration,+ -- | The player parameters and aliases used as dynamic variables during+ -- session initialization. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html Domain Variables>.+ configurationAliases :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | The configuration for DASH content.+ dashConfiguration :: Prelude.Maybe DashConfiguration,+ -- | The configuration for HLS content.+ hlsConfiguration :: Prelude.Maybe HlsConfiguration,+ -- | The configuration for pre-roll ad insertion.+ livePreRollConfiguration :: Prelude.Maybe LivePreRollConfiguration,+ -- | The Amazon CloudWatch log settings for a playback configuration.+ logConfiguration :: Prelude.Maybe LogConfiguration,+ -- | The configuration for manifest processing rules. Manifest processing+ -- rules enable customization of the personalized manifests created by+ -- MediaTailor.+ manifestProcessingRules :: Prelude.Maybe ManifestProcessingRules,+ -- | The identifier for the playback configuration.+ name :: Prelude.Maybe Prelude.Text,+ -- | Defines the maximum duration of underfilled ad time (in seconds) allowed+ -- in an ad break. If the duration of underfilled ad time exceeds the+ -- personalization threshold, then the personalization of the ad break is+ -- abandoned and the underlying content is shown. This feature applies to+ -- /ad replacement/ in live and VOD streams, rather than ad insertion,+ -- because it relies on an underlying content stream. For more information+ -- about ad break behavior, including ad replacement and insertion, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Behavior in AWS Elemental MediaTailor>.+ personalizationThresholdSeconds :: Prelude.Maybe Prelude.Natural,+ -- | The Amazon Resource Name (ARN) associated with the playback+ -- configuration.+ playbackConfigurationArn :: Prelude.Maybe Prelude.Text,+ -- | The playback endpoint prefix associated with the playback configuration.+ playbackEndpointPrefix :: Prelude.Maybe Prelude.Text,+ -- | The session initialization endpoint prefix associated with the playback+ -- configuration.+ sessionInitializationEndpointPrefix :: Prelude.Maybe Prelude.Text,+ -- | The URL for a high-quality video asset to transcode and use to fill in+ -- time that\'s not used by ads. AWS Elemental MediaTailor shows the slate+ -- to fill in gaps in media content. Configuring the slate is optional for+ -- non-VPAID configurations. For VPAID, the slate is required because+ -- MediaTailor provides it in the slots that are designated for dynamic ad+ -- content. The slate must be a high-quality asset that contains both audio+ -- and video.+ slateAdUrl :: Prelude.Maybe Prelude.Text,+ -- | The tags to assign to the playback configuration. Tags are key-value+ -- pairs that you can associate with Amazon resources to help with+ -- organization, access control, and cost tracking. For more information,+ -- see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name that is used to associate this playback configuration with a+ -- custom transcode profile. This overrides the dynamic transcoding+ -- defaults of MediaTailor. Use this only if you have already set up custom+ -- profiles with the help of AWS Support.+ transcodeProfileName :: Prelude.Maybe Prelude.Text,+ -- | The URL prefix for the parent manifest for the stream, minus the asset+ -- ID. The maximum length is 512 characters.+ videoContentSourceUrl :: 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 'PutPlaybackConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adDecisionServerUrl', 'putPlaybackConfigurationResponse_adDecisionServerUrl' - The URL for the ad decision server (ADS). This includes the+-- specification of static parameters and placeholders for dynamic+-- parameters. AWS Elemental MediaTailor substitutes player-specific and+-- session-specific parameters as needed when calling the ADS. Alternately,+-- for testing you can provide a static VAST URL. The maximum length is+-- 25,000 characters.+--+-- 'availSuppression', 'putPlaybackConfigurationResponse_availSuppression' - The configuration for avail suppression, also known as ad suppression.+-- For more information about ad suppression, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Suppression>.+--+-- 'bumper', 'putPlaybackConfigurationResponse_bumper' - The configuration for bumpers. Bumpers are short audio or video clips+-- that play at the start or before the end of an ad break. To learn more+-- about bumpers, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html Bumpers>.+--+-- 'cdnConfiguration', 'putPlaybackConfigurationResponse_cdnConfiguration' - The configuration for using a content delivery network (CDN), like+-- Amazon CloudFront, for content and ad segment management.+--+-- 'configurationAliases', 'putPlaybackConfigurationResponse_configurationAliases' - The player parameters and aliases used as dynamic variables during+-- session initialization. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html Domain Variables>.+--+-- 'dashConfiguration', 'putPlaybackConfigurationResponse_dashConfiguration' - The configuration for DASH content.+--+-- 'hlsConfiguration', 'putPlaybackConfigurationResponse_hlsConfiguration' - The configuration for HLS content.+--+-- 'livePreRollConfiguration', 'putPlaybackConfigurationResponse_livePreRollConfiguration' - The configuration for pre-roll ad insertion.+--+-- 'logConfiguration', 'putPlaybackConfigurationResponse_logConfiguration' - The Amazon CloudWatch log settings for a playback configuration.+--+-- 'manifestProcessingRules', 'putPlaybackConfigurationResponse_manifestProcessingRules' - The configuration for manifest processing rules. Manifest processing+-- rules enable customization of the personalized manifests created by+-- MediaTailor.+--+-- 'name', 'putPlaybackConfigurationResponse_name' - The identifier for the playback configuration.+--+-- 'personalizationThresholdSeconds', 'putPlaybackConfigurationResponse_personalizationThresholdSeconds' - Defines the maximum duration of underfilled ad time (in seconds) allowed+-- in an ad break. If the duration of underfilled ad time exceeds the+-- personalization threshold, then the personalization of the ad break is+-- abandoned and the underlying content is shown. This feature applies to+-- /ad replacement/ in live and VOD streams, rather than ad insertion,+-- because it relies on an underlying content stream. For more information+-- about ad break behavior, including ad replacement and insertion, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Behavior in AWS Elemental MediaTailor>.+--+-- 'playbackConfigurationArn', 'putPlaybackConfigurationResponse_playbackConfigurationArn' - The Amazon Resource Name (ARN) associated with the playback+-- configuration.+--+-- 'playbackEndpointPrefix', 'putPlaybackConfigurationResponse_playbackEndpointPrefix' - The playback endpoint prefix associated with the playback configuration.+--+-- 'sessionInitializationEndpointPrefix', 'putPlaybackConfigurationResponse_sessionInitializationEndpointPrefix' - The session initialization endpoint prefix associated with the playback+-- configuration.+--+-- 'slateAdUrl', 'putPlaybackConfigurationResponse_slateAdUrl' - The URL for a high-quality video asset to transcode and use to fill in+-- time that\'s not used by ads. AWS Elemental MediaTailor shows the slate+-- to fill in gaps in media content. Configuring the slate is optional for+-- non-VPAID configurations. For VPAID, the slate is required because+-- MediaTailor provides it in the slots that are designated for dynamic ad+-- content. The slate must be a high-quality asset that contains both audio+-- and video.+--+-- 'tags', 'putPlaybackConfigurationResponse_tags' - The tags to assign to the playback configuration. Tags are key-value+-- pairs that you can associate with Amazon resources to help with+-- organization, access control, and cost tracking. For more information,+-- see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'transcodeProfileName', 'putPlaybackConfigurationResponse_transcodeProfileName' - The name that is used to associate this playback configuration with a+-- custom transcode profile. This overrides the dynamic transcoding+-- defaults of MediaTailor. Use this only if you have already set up custom+-- profiles with the help of AWS Support.+--+-- 'videoContentSourceUrl', 'putPlaybackConfigurationResponse_videoContentSourceUrl' - The URL prefix for the parent manifest for the stream, minus the asset+-- ID. The maximum length is 512 characters.+--+-- 'httpStatus', 'putPlaybackConfigurationResponse_httpStatus' - The response's http status code.+newPutPlaybackConfigurationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ PutPlaybackConfigurationResponse+newPutPlaybackConfigurationResponse pHttpStatus_ =+ PutPlaybackConfigurationResponse'+ { adDecisionServerUrl =+ Prelude.Nothing,+ availSuppression = Prelude.Nothing,+ bumper = Prelude.Nothing,+ cdnConfiguration = Prelude.Nothing,+ configurationAliases = Prelude.Nothing,+ dashConfiguration = Prelude.Nothing,+ hlsConfiguration = Prelude.Nothing,+ livePreRollConfiguration =+ Prelude.Nothing,+ logConfiguration = Prelude.Nothing,+ manifestProcessingRules = Prelude.Nothing,+ name = Prelude.Nothing,+ personalizationThresholdSeconds =+ Prelude.Nothing,+ playbackConfigurationArn =+ Prelude.Nothing,+ playbackEndpointPrefix = Prelude.Nothing,+ sessionInitializationEndpointPrefix =+ Prelude.Nothing,+ slateAdUrl = Prelude.Nothing,+ tags = Prelude.Nothing,+ transcodeProfileName = Prelude.Nothing,+ videoContentSourceUrl = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The URL for the ad decision server (ADS). This includes the+-- specification of static parameters and placeholders for dynamic+-- parameters. AWS Elemental MediaTailor substitutes player-specific and+-- session-specific parameters as needed when calling the ADS. Alternately,+-- for testing you can provide a static VAST URL. The maximum length is+-- 25,000 characters.+putPlaybackConfigurationResponse_adDecisionServerUrl :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+putPlaybackConfigurationResponse_adDecisionServerUrl = Lens.lens (\PutPlaybackConfigurationResponse' {adDecisionServerUrl} -> adDecisionServerUrl) (\s@PutPlaybackConfigurationResponse' {} a -> s {adDecisionServerUrl = a} :: PutPlaybackConfigurationResponse)++-- | The configuration for avail suppression, also known as ad suppression.+-- For more information about ad suppression, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Suppression>.+putPlaybackConfigurationResponse_availSuppression :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe AvailSuppression)+putPlaybackConfigurationResponse_availSuppression = Lens.lens (\PutPlaybackConfigurationResponse' {availSuppression} -> availSuppression) (\s@PutPlaybackConfigurationResponse' {} a -> s {availSuppression = a} :: PutPlaybackConfigurationResponse)++-- | The configuration for bumpers. Bumpers are short audio or video clips+-- that play at the start or before the end of an ad break. To learn more+-- about bumpers, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html Bumpers>.+putPlaybackConfigurationResponse_bumper :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe Bumper)+putPlaybackConfigurationResponse_bumper = Lens.lens (\PutPlaybackConfigurationResponse' {bumper} -> bumper) (\s@PutPlaybackConfigurationResponse' {} a -> s {bumper = a} :: PutPlaybackConfigurationResponse)++-- | The configuration for using a content delivery network (CDN), like+-- Amazon CloudFront, for content and ad segment management.+putPlaybackConfigurationResponse_cdnConfiguration :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe CdnConfiguration)+putPlaybackConfigurationResponse_cdnConfiguration = Lens.lens (\PutPlaybackConfigurationResponse' {cdnConfiguration} -> cdnConfiguration) (\s@PutPlaybackConfigurationResponse' {} a -> s {cdnConfiguration = a} :: PutPlaybackConfigurationResponse)++-- | The player parameters and aliases used as dynamic variables during+-- session initialization. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html Domain Variables>.+putPlaybackConfigurationResponse_configurationAliases :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text Prelude.Text)))+putPlaybackConfigurationResponse_configurationAliases = Lens.lens (\PutPlaybackConfigurationResponse' {configurationAliases} -> configurationAliases) (\s@PutPlaybackConfigurationResponse' {} a -> s {configurationAliases = a} :: PutPlaybackConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The configuration for DASH content.+putPlaybackConfigurationResponse_dashConfiguration :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe DashConfiguration)+putPlaybackConfigurationResponse_dashConfiguration = Lens.lens (\PutPlaybackConfigurationResponse' {dashConfiguration} -> dashConfiguration) (\s@PutPlaybackConfigurationResponse' {} a -> s {dashConfiguration = a} :: PutPlaybackConfigurationResponse)++-- | The configuration for HLS content.+putPlaybackConfigurationResponse_hlsConfiguration :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe HlsConfiguration)+putPlaybackConfigurationResponse_hlsConfiguration = Lens.lens (\PutPlaybackConfigurationResponse' {hlsConfiguration} -> hlsConfiguration) (\s@PutPlaybackConfigurationResponse' {} a -> s {hlsConfiguration = a} :: PutPlaybackConfigurationResponse)++-- | The configuration for pre-roll ad insertion.+putPlaybackConfigurationResponse_livePreRollConfiguration :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe LivePreRollConfiguration)+putPlaybackConfigurationResponse_livePreRollConfiguration = Lens.lens (\PutPlaybackConfigurationResponse' {livePreRollConfiguration} -> livePreRollConfiguration) (\s@PutPlaybackConfigurationResponse' {} a -> s {livePreRollConfiguration = a} :: PutPlaybackConfigurationResponse)++-- | The Amazon CloudWatch log settings for a playback configuration.+putPlaybackConfigurationResponse_logConfiguration :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe LogConfiguration)+putPlaybackConfigurationResponse_logConfiguration = Lens.lens (\PutPlaybackConfigurationResponse' {logConfiguration} -> logConfiguration) (\s@PutPlaybackConfigurationResponse' {} a -> s {logConfiguration = a} :: PutPlaybackConfigurationResponse)++-- | The configuration for manifest processing rules. Manifest processing+-- rules enable customization of the personalized manifests created by+-- MediaTailor.+putPlaybackConfigurationResponse_manifestProcessingRules :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe ManifestProcessingRules)+putPlaybackConfigurationResponse_manifestProcessingRules = Lens.lens (\PutPlaybackConfigurationResponse' {manifestProcessingRules} -> manifestProcessingRules) (\s@PutPlaybackConfigurationResponse' {} a -> s {manifestProcessingRules = a} :: PutPlaybackConfigurationResponse)++-- | The identifier for the playback configuration.+putPlaybackConfigurationResponse_name :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+putPlaybackConfigurationResponse_name = Lens.lens (\PutPlaybackConfigurationResponse' {name} -> name) (\s@PutPlaybackConfigurationResponse' {} a -> s {name = a} :: PutPlaybackConfigurationResponse)++-- | Defines the maximum duration of underfilled ad time (in seconds) allowed+-- in an ad break. If the duration of underfilled ad time exceeds the+-- personalization threshold, then the personalization of the ad break is+-- abandoned and the underlying content is shown. This feature applies to+-- /ad replacement/ in live and VOD streams, rather than ad insertion,+-- because it relies on an underlying content stream. For more information+-- about ad break behavior, including ad replacement and insertion, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Behavior in AWS Elemental MediaTailor>.+putPlaybackConfigurationResponse_personalizationThresholdSeconds :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe Prelude.Natural)+putPlaybackConfigurationResponse_personalizationThresholdSeconds = Lens.lens (\PutPlaybackConfigurationResponse' {personalizationThresholdSeconds} -> personalizationThresholdSeconds) (\s@PutPlaybackConfigurationResponse' {} a -> s {personalizationThresholdSeconds = a} :: PutPlaybackConfigurationResponse)++-- | The Amazon Resource Name (ARN) associated with the playback+-- configuration.+putPlaybackConfigurationResponse_playbackConfigurationArn :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+putPlaybackConfigurationResponse_playbackConfigurationArn = Lens.lens (\PutPlaybackConfigurationResponse' {playbackConfigurationArn} -> playbackConfigurationArn) (\s@PutPlaybackConfigurationResponse' {} a -> s {playbackConfigurationArn = a} :: PutPlaybackConfigurationResponse)++-- | The playback endpoint prefix associated with the playback configuration.+putPlaybackConfigurationResponse_playbackEndpointPrefix :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+putPlaybackConfigurationResponse_playbackEndpointPrefix = Lens.lens (\PutPlaybackConfigurationResponse' {playbackEndpointPrefix} -> playbackEndpointPrefix) (\s@PutPlaybackConfigurationResponse' {} a -> s {playbackEndpointPrefix = a} :: PutPlaybackConfigurationResponse)++-- | The session initialization endpoint prefix associated with the playback+-- configuration.+putPlaybackConfigurationResponse_sessionInitializationEndpointPrefix :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+putPlaybackConfigurationResponse_sessionInitializationEndpointPrefix = Lens.lens (\PutPlaybackConfigurationResponse' {sessionInitializationEndpointPrefix} -> sessionInitializationEndpointPrefix) (\s@PutPlaybackConfigurationResponse' {} a -> s {sessionInitializationEndpointPrefix = a} :: PutPlaybackConfigurationResponse)++-- | The URL for a high-quality video asset to transcode and use to fill in+-- time that\'s not used by ads. AWS Elemental MediaTailor shows the slate+-- to fill in gaps in media content. Configuring the slate is optional for+-- non-VPAID configurations. For VPAID, the slate is required because+-- MediaTailor provides it in the slots that are designated for dynamic ad+-- content. The slate must be a high-quality asset that contains both audio+-- and video.+putPlaybackConfigurationResponse_slateAdUrl :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+putPlaybackConfigurationResponse_slateAdUrl = Lens.lens (\PutPlaybackConfigurationResponse' {slateAdUrl} -> slateAdUrl) (\s@PutPlaybackConfigurationResponse' {} a -> s {slateAdUrl = a} :: PutPlaybackConfigurationResponse)++-- | The tags to assign to the playback configuration. Tags are key-value+-- pairs that you can associate with Amazon resources to help with+-- organization, access control, and cost tracking. For more information,+-- see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+putPlaybackConfigurationResponse_tags :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+putPlaybackConfigurationResponse_tags = Lens.lens (\PutPlaybackConfigurationResponse' {tags} -> tags) (\s@PutPlaybackConfigurationResponse' {} a -> s {tags = a} :: PutPlaybackConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The name that is used to associate this playback configuration with a+-- custom transcode profile. This overrides the dynamic transcoding+-- defaults of MediaTailor. Use this only if you have already set up custom+-- profiles with the help of AWS Support.+putPlaybackConfigurationResponse_transcodeProfileName :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+putPlaybackConfigurationResponse_transcodeProfileName = Lens.lens (\PutPlaybackConfigurationResponse' {transcodeProfileName} -> transcodeProfileName) (\s@PutPlaybackConfigurationResponse' {} a -> s {transcodeProfileName = a} :: PutPlaybackConfigurationResponse)++-- | The URL prefix for the parent manifest for the stream, minus the asset+-- ID. The maximum length is 512 characters.+putPlaybackConfigurationResponse_videoContentSourceUrl :: Lens.Lens' PutPlaybackConfigurationResponse (Prelude.Maybe Prelude.Text)+putPlaybackConfigurationResponse_videoContentSourceUrl = Lens.lens (\PutPlaybackConfigurationResponse' {videoContentSourceUrl} -> videoContentSourceUrl) (\s@PutPlaybackConfigurationResponse' {} a -> s {videoContentSourceUrl = a} :: PutPlaybackConfigurationResponse)++-- | The response's http status code.+putPlaybackConfigurationResponse_httpStatus :: Lens.Lens' PutPlaybackConfigurationResponse Prelude.Int+putPlaybackConfigurationResponse_httpStatus = Lens.lens (\PutPlaybackConfigurationResponse' {httpStatus} -> httpStatus) (\s@PutPlaybackConfigurationResponse' {} a -> s {httpStatus = a} :: PutPlaybackConfigurationResponse)++instance+ Prelude.NFData+ PutPlaybackConfigurationResponse+ where+ rnf PutPlaybackConfigurationResponse' {..} =+ Prelude.rnf adDecisionServerUrl+ `Prelude.seq` Prelude.rnf availSuppression+ `Prelude.seq` Prelude.rnf bumper+ `Prelude.seq` Prelude.rnf cdnConfiguration+ `Prelude.seq` Prelude.rnf configurationAliases+ `Prelude.seq` Prelude.rnf dashConfiguration+ `Prelude.seq` Prelude.rnf hlsConfiguration+ `Prelude.seq` Prelude.rnf livePreRollConfiguration+ `Prelude.seq` Prelude.rnf logConfiguration+ `Prelude.seq` Prelude.rnf manifestProcessingRules+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf personalizationThresholdSeconds+ `Prelude.seq` Prelude.rnf playbackConfigurationArn+ `Prelude.seq` Prelude.rnf playbackEndpointPrefix+ `Prelude.seq` Prelude.rnf+ sessionInitializationEndpointPrefix+ `Prelude.seq` Prelude.rnf slateAdUrl+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf transcodeProfileName+ `Prelude.seq` Prelude.rnf+ videoContentSourceUrl+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/StartChannel.hs view
@@ -0,0 +1,147 @@+{-# 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.MediaTailor.StartChannel+-- 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 channel. For information about MediaTailor channels, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-channels.html Working with channels>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.StartChannel+ ( -- * Creating a Request+ StartChannel (..),+ newStartChannel,++ -- * Request Lenses+ startChannel_channelName,++ -- * Destructuring the Response+ StartChannelResponse (..),+ newStartChannelResponse,++ -- * Response Lenses+ startChannelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStartChannel' smart constructor.+data StartChannel = StartChannel'+ { -- | The name of the channel.+ channelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartChannel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelName', 'startChannel_channelName' - The name of the channel.+newStartChannel ::+ -- | 'channelName'+ Prelude.Text ->+ StartChannel+newStartChannel pChannelName_ =+ StartChannel' {channelName = pChannelName_}++-- | The name of the channel.+startChannel_channelName :: Lens.Lens' StartChannel Prelude.Text+startChannel_channelName = Lens.lens (\StartChannel' {channelName} -> channelName) (\s@StartChannel' {} a -> s {channelName = a} :: StartChannel)++instance Core.AWSRequest StartChannel where+ type AWSResponse StartChannel = StartChannelResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ StartChannelResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StartChannel where+ hashWithSalt _salt StartChannel' {..} =+ _salt `Prelude.hashWithSalt` channelName++instance Prelude.NFData StartChannel where+ rnf StartChannel' {..} = Prelude.rnf channelName++instance Data.ToHeaders StartChannel where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StartChannel where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath StartChannel where+ toPath StartChannel' {..} =+ Prelude.mconcat+ ["/channel/", Data.toBS channelName, "/start"]++instance Data.ToQuery StartChannel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStartChannelResponse' smart constructor.+data StartChannelResponse = StartChannelResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StartChannelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'startChannelResponse_httpStatus' - The response's http status code.+newStartChannelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StartChannelResponse+newStartChannelResponse pHttpStatus_ =+ StartChannelResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+startChannelResponse_httpStatus :: Lens.Lens' StartChannelResponse Prelude.Int+startChannelResponse_httpStatus = Lens.lens (\StartChannelResponse' {httpStatus} -> httpStatus) (\s@StartChannelResponse' {} a -> s {httpStatus = a} :: StartChannelResponse)++instance Prelude.NFData StartChannelResponse where+ rnf StartChannelResponse' {..} =+ Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/StopChannel.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.StopChannel+-- 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 channel. For information about MediaTailor channels, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-channels.html Working with channels>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.StopChannel+ ( -- * Creating a Request+ StopChannel (..),+ newStopChannel,++ -- * Request Lenses+ stopChannel_channelName,++ -- * Destructuring the Response+ StopChannelResponse (..),+ newStopChannelResponse,++ -- * Response Lenses+ stopChannelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newStopChannel' smart constructor.+data StopChannel = StopChannel'+ { -- | The name of the channel.+ channelName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopChannel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'channelName', 'stopChannel_channelName' - The name of the channel.+newStopChannel ::+ -- | 'channelName'+ Prelude.Text ->+ StopChannel+newStopChannel pChannelName_ =+ StopChannel' {channelName = pChannelName_}++-- | The name of the channel.+stopChannel_channelName :: Lens.Lens' StopChannel Prelude.Text+stopChannel_channelName = Lens.lens (\StopChannel' {channelName} -> channelName) (\s@StopChannel' {} a -> s {channelName = a} :: StopChannel)++instance Core.AWSRequest StopChannel where+ type AWSResponse StopChannel = StopChannelResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveEmpty+ ( \s h x ->+ StopChannelResponse'+ Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable StopChannel where+ hashWithSalt _salt StopChannel' {..} =+ _salt `Prelude.hashWithSalt` channelName++instance Prelude.NFData StopChannel where+ rnf StopChannel' {..} = Prelude.rnf channelName++instance Data.ToHeaders StopChannel where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON StopChannel where+ toJSON = Prelude.const (Data.Object Prelude.mempty)++instance Data.ToPath StopChannel where+ toPath StopChannel' {..} =+ Prelude.mconcat+ ["/channel/", Data.toBS channelName, "/stop"]++instance Data.ToQuery StopChannel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newStopChannelResponse' smart constructor.+data StopChannelResponse = StopChannelResponse'+ { -- | The response's http status code.+ httpStatus :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StopChannelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'stopChannelResponse_httpStatus' - The response's http status code.+newStopChannelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ StopChannelResponse+newStopChannelResponse pHttpStatus_ =+ StopChannelResponse' {httpStatus = pHttpStatus_}++-- | The response's http status code.+stopChannelResponse_httpStatus :: Lens.Lens' StopChannelResponse Prelude.Int+stopChannelResponse_httpStatus = Lens.lens (\StopChannelResponse' {httpStatus} -> httpStatus) (\s@StopChannelResponse' {} a -> s {httpStatus = a} :: StopChannelResponse)++instance Prelude.NFData StopChannelResponse where+ rnf StopChannelResponse' {..} = Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/TagResource.hs view
@@ -0,0 +1,154 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.TagResource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The resource to tag. Tags are key-value pairs that you can associate+-- with Amazon resources to help with organization, access control, and+-- cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+module Amazonka.MediaTailor.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.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newTagResource' smart constructor.+data TagResource = TagResource'+ { -- | The Amazon Resource Name (ARN) associated with the resource.+ resourceArn :: Prelude.Text,+ -- | The tags to assign to the resource. Tags are key-value pairs that you+ -- can associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ 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) associated with the resource.+--+-- 'tags', 'tagResource_tags' - The tags to assign to the resource. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+newTagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ TagResource+newTagResource pResourceArn_ =+ TagResource'+ { resourceArn = pResourceArn_,+ tags = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) associated with the resource.+tagResource_resourceArn :: Lens.Lens' TagResource Prelude.Text+tagResource_resourceArn = Lens.lens (\TagResource' {resourceArn} -> resourceArn) (\s@TagResource' {} a -> s {resourceArn = a} :: TagResource)++-- | The tags to assign to the resource. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+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/MediaTailor/Types.hs view
@@ -0,0 +1,499 @@+{-# 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.MediaTailor.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.MediaTailor.Types+ ( -- * Service Configuration+ defaultService,++ -- * Errors+ _BadRequestException,++ -- * AccessType+ AccessType (..),++ -- * ChannelState+ ChannelState (..),++ -- * MessageType+ MessageType (..),++ -- * Mode+ Mode (..),++ -- * Operator+ Operator (..),++ -- * OriginManifestType+ OriginManifestType (..),++ -- * PlaybackMode+ PlaybackMode (..),++ -- * RelativePosition+ RelativePosition (..),++ -- * ScheduleEntryType+ ScheduleEntryType (..),++ -- * Tier+ Tier (..),++ -- * Type+ Type (..),++ -- * AccessConfiguration+ AccessConfiguration (..),+ newAccessConfiguration,+ accessConfiguration_accessType,+ accessConfiguration_secretsManagerAccessTokenConfiguration,++ -- * AdBreak+ AdBreak (..),+ newAdBreak,+ adBreak_messageType,+ adBreak_offsetMillis,+ adBreak_slate,+ adBreak_spliceInsertMessage,+ adBreak_timeSignalMessage,++ -- * AdMarkerPassthrough+ AdMarkerPassthrough (..),+ newAdMarkerPassthrough,+ adMarkerPassthrough_enabled,++ -- * Alert+ Alert (..),+ newAlert,+ alert_alertCode,+ alert_alertMessage,+ alert_lastModifiedTime,+ alert_relatedResourceArns,+ alert_resourceArn,++ -- * AvailMatchingCriteria+ AvailMatchingCriteria (..),+ newAvailMatchingCriteria,+ availMatchingCriteria_dynamicVariable,+ availMatchingCriteria_operator,++ -- * AvailSuppression+ AvailSuppression (..),+ newAvailSuppression,+ availSuppression_mode,+ availSuppression_value,++ -- * Bumper+ Bumper (..),+ newBumper,+ bumper_endUrl,+ bumper_startUrl,++ -- * CdnConfiguration+ CdnConfiguration (..),+ newCdnConfiguration,+ cdnConfiguration_adSegmentUrlPrefix,+ cdnConfiguration_contentSegmentUrlPrefix,++ -- * Channel+ Channel (..),+ newChannel,+ channel_creationTime,+ channel_fillerSlate,+ channel_lastModifiedTime,+ channel_tags,+ channel_arn,+ channel_channelName,+ channel_channelState,+ channel_outputs,+ channel_playbackMode,+ channel_tier,++ -- * DashConfiguration+ DashConfiguration (..),+ newDashConfiguration,+ dashConfiguration_manifestEndpointPrefix,+ dashConfiguration_mpdLocation,+ dashConfiguration_originManifestType,++ -- * DashConfigurationForPut+ DashConfigurationForPut (..),+ newDashConfigurationForPut,+ dashConfigurationForPut_mpdLocation,+ dashConfigurationForPut_originManifestType,++ -- * DashPlaylistSettings+ DashPlaylistSettings (..),+ newDashPlaylistSettings,+ dashPlaylistSettings_manifestWindowSeconds,+ dashPlaylistSettings_minBufferTimeSeconds,+ dashPlaylistSettings_minUpdatePeriodSeconds,+ dashPlaylistSettings_suggestedPresentationDelaySeconds,++ -- * DefaultSegmentDeliveryConfiguration+ DefaultSegmentDeliveryConfiguration (..),+ newDefaultSegmentDeliveryConfiguration,+ defaultSegmentDeliveryConfiguration_baseUrl,++ -- * HlsConfiguration+ HlsConfiguration (..),+ newHlsConfiguration,+ hlsConfiguration_manifestEndpointPrefix,++ -- * HlsPlaylistSettings+ HlsPlaylistSettings (..),+ newHlsPlaylistSettings,+ hlsPlaylistSettings_manifestWindowSeconds,++ -- * HttpConfiguration+ HttpConfiguration (..),+ newHttpConfiguration,+ httpConfiguration_baseUrl,++ -- * HttpPackageConfiguration+ HttpPackageConfiguration (..),+ newHttpPackageConfiguration,+ httpPackageConfiguration_path,+ httpPackageConfiguration_sourceGroup,+ httpPackageConfiguration_type,++ -- * LivePreRollConfiguration+ LivePreRollConfiguration (..),+ newLivePreRollConfiguration,+ livePreRollConfiguration_adDecisionServerUrl,+ livePreRollConfiguration_maxDurationSeconds,++ -- * LiveSource+ LiveSource (..),+ newLiveSource,+ liveSource_creationTime,+ liveSource_lastModifiedTime,+ liveSource_tags,+ liveSource_arn,+ liveSource_httpPackageConfigurations,+ liveSource_liveSourceName,+ liveSource_sourceLocationName,++ -- * LogConfiguration+ LogConfiguration (..),+ newLogConfiguration,+ logConfiguration_percentEnabled,++ -- * ManifestProcessingRules+ ManifestProcessingRules (..),+ newManifestProcessingRules,+ manifestProcessingRules_adMarkerPassthrough,++ -- * PlaybackConfiguration+ PlaybackConfiguration (..),+ newPlaybackConfiguration,+ playbackConfiguration_adDecisionServerUrl,+ playbackConfiguration_availSuppression,+ playbackConfiguration_bumper,+ playbackConfiguration_cdnConfiguration,+ playbackConfiguration_configurationAliases,+ playbackConfiguration_dashConfiguration,+ playbackConfiguration_hlsConfiguration,+ playbackConfiguration_livePreRollConfiguration,+ playbackConfiguration_logConfiguration,+ playbackConfiguration_manifestProcessingRules,+ playbackConfiguration_name,+ playbackConfiguration_personalizationThresholdSeconds,+ playbackConfiguration_playbackConfigurationArn,+ playbackConfiguration_playbackEndpointPrefix,+ playbackConfiguration_sessionInitializationEndpointPrefix,+ playbackConfiguration_slateAdUrl,+ playbackConfiguration_tags,+ playbackConfiguration_transcodeProfileName,+ playbackConfiguration_videoContentSourceUrl,++ -- * PrefetchConsumption+ PrefetchConsumption (..),+ newPrefetchConsumption,+ prefetchConsumption_availMatchingCriteria,+ prefetchConsumption_startTime,+ prefetchConsumption_endTime,++ -- * PrefetchRetrieval+ PrefetchRetrieval (..),+ newPrefetchRetrieval,+ prefetchRetrieval_dynamicVariables,+ prefetchRetrieval_startTime,+ prefetchRetrieval_endTime,++ -- * PrefetchSchedule+ PrefetchSchedule (..),+ newPrefetchSchedule,+ prefetchSchedule_streamId,+ prefetchSchedule_arn,+ prefetchSchedule_consumption,+ prefetchSchedule_name,+ prefetchSchedule_playbackConfigurationName,+ prefetchSchedule_retrieval,++ -- * RequestOutputItem+ RequestOutputItem (..),+ newRequestOutputItem,+ requestOutputItem_dashPlaylistSettings,+ requestOutputItem_hlsPlaylistSettings,+ requestOutputItem_manifestName,+ requestOutputItem_sourceGroup,++ -- * ResponseOutputItem+ ResponseOutputItem (..),+ newResponseOutputItem,+ responseOutputItem_dashPlaylistSettings,+ responseOutputItem_hlsPlaylistSettings,+ responseOutputItem_manifestName,+ responseOutputItem_playbackUrl,+ responseOutputItem_sourceGroup,++ -- * ScheduleAdBreak+ ScheduleAdBreak (..),+ newScheduleAdBreak,+ scheduleAdBreak_approximateDurationSeconds,+ scheduleAdBreak_approximateStartTime,+ scheduleAdBreak_sourceLocationName,+ scheduleAdBreak_vodSourceName,++ -- * ScheduleConfiguration+ ScheduleConfiguration (..),+ newScheduleConfiguration,+ scheduleConfiguration_transition,++ -- * ScheduleEntry+ ScheduleEntry (..),+ newScheduleEntry,+ scheduleEntry_approximateDurationSeconds,+ scheduleEntry_approximateStartTime,+ scheduleEntry_liveSourceName,+ scheduleEntry_scheduleAdBreaks,+ scheduleEntry_scheduleEntryType,+ scheduleEntry_vodSourceName,+ scheduleEntry_arn,+ scheduleEntry_channelName,+ scheduleEntry_programName,+ scheduleEntry_sourceLocationName,++ -- * SecretsManagerAccessTokenConfiguration+ SecretsManagerAccessTokenConfiguration (..),+ newSecretsManagerAccessTokenConfiguration,+ secretsManagerAccessTokenConfiguration_headerName,+ secretsManagerAccessTokenConfiguration_secretArn,+ secretsManagerAccessTokenConfiguration_secretStringKey,++ -- * SegmentDeliveryConfiguration+ SegmentDeliveryConfiguration (..),+ newSegmentDeliveryConfiguration,+ segmentDeliveryConfiguration_baseUrl,+ segmentDeliveryConfiguration_name,++ -- * SegmentationDescriptor+ SegmentationDescriptor (..),+ newSegmentationDescriptor,+ segmentationDescriptor_segmentNum,+ segmentationDescriptor_segmentationEventId,+ segmentationDescriptor_segmentationTypeId,+ segmentationDescriptor_segmentationUpid,+ segmentationDescriptor_segmentationUpidType,+ segmentationDescriptor_segmentsExpected,+ segmentationDescriptor_subSegmentNum,+ segmentationDescriptor_subSegmentsExpected,++ -- * SlateSource+ SlateSource (..),+ newSlateSource,+ slateSource_sourceLocationName,+ slateSource_vodSourceName,++ -- * SourceLocation+ SourceLocation (..),+ newSourceLocation,+ sourceLocation_accessConfiguration,+ sourceLocation_creationTime,+ sourceLocation_defaultSegmentDeliveryConfiguration,+ sourceLocation_lastModifiedTime,+ sourceLocation_segmentDeliveryConfigurations,+ sourceLocation_tags,+ sourceLocation_arn,+ sourceLocation_httpConfiguration,+ sourceLocation_sourceLocationName,++ -- * SpliceInsertMessage+ SpliceInsertMessage (..),+ newSpliceInsertMessage,+ spliceInsertMessage_availNum,+ spliceInsertMessage_availsExpected,+ spliceInsertMessage_spliceEventId,+ spliceInsertMessage_uniqueProgramId,++ -- * TimeSignalMessage+ TimeSignalMessage (..),+ newTimeSignalMessage,+ timeSignalMessage_segmentationDescriptors,++ -- * Transition+ Transition (..),+ newTransition,+ transition_durationMillis,+ transition_relativeProgram,+ transition_scheduledStartTimeMillis,+ transition_relativePosition,+ transition_type,++ -- * VodSource+ VodSource (..),+ newVodSource,+ vodSource_creationTime,+ vodSource_lastModifiedTime,+ vodSource_tags,+ vodSource_arn,+ vodSource_httpPackageConfigurations,+ vodSource_sourceLocationName,+ vodSource_vodSourceName,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import Amazonka.MediaTailor.Types.AccessConfiguration+import Amazonka.MediaTailor.Types.AccessType+import Amazonka.MediaTailor.Types.AdBreak+import Amazonka.MediaTailor.Types.AdMarkerPassthrough+import Amazonka.MediaTailor.Types.Alert+import Amazonka.MediaTailor.Types.AvailMatchingCriteria+import Amazonka.MediaTailor.Types.AvailSuppression+import Amazonka.MediaTailor.Types.Bumper+import Amazonka.MediaTailor.Types.CdnConfiguration+import Amazonka.MediaTailor.Types.Channel+import Amazonka.MediaTailor.Types.ChannelState+import Amazonka.MediaTailor.Types.DashConfiguration+import Amazonka.MediaTailor.Types.DashConfigurationForPut+import Amazonka.MediaTailor.Types.DashPlaylistSettings+import Amazonka.MediaTailor.Types.DefaultSegmentDeliveryConfiguration+import Amazonka.MediaTailor.Types.HlsConfiguration+import Amazonka.MediaTailor.Types.HlsPlaylistSettings+import Amazonka.MediaTailor.Types.HttpConfiguration+import Amazonka.MediaTailor.Types.HttpPackageConfiguration+import Amazonka.MediaTailor.Types.LivePreRollConfiguration+import Amazonka.MediaTailor.Types.LiveSource+import Amazonka.MediaTailor.Types.LogConfiguration+import Amazonka.MediaTailor.Types.ManifestProcessingRules+import Amazonka.MediaTailor.Types.MessageType+import Amazonka.MediaTailor.Types.Mode+import Amazonka.MediaTailor.Types.Operator+import Amazonka.MediaTailor.Types.OriginManifestType+import Amazonka.MediaTailor.Types.PlaybackConfiguration+import Amazonka.MediaTailor.Types.PlaybackMode+import Amazonka.MediaTailor.Types.PrefetchConsumption+import Amazonka.MediaTailor.Types.PrefetchRetrieval+import Amazonka.MediaTailor.Types.PrefetchSchedule+import Amazonka.MediaTailor.Types.RelativePosition+import Amazonka.MediaTailor.Types.RequestOutputItem+import Amazonka.MediaTailor.Types.ResponseOutputItem+import Amazonka.MediaTailor.Types.ScheduleAdBreak+import Amazonka.MediaTailor.Types.ScheduleConfiguration+import Amazonka.MediaTailor.Types.ScheduleEntry+import Amazonka.MediaTailor.Types.ScheduleEntryType+import Amazonka.MediaTailor.Types.SecretsManagerAccessTokenConfiguration+import Amazonka.MediaTailor.Types.SegmentDeliveryConfiguration+import Amazonka.MediaTailor.Types.SegmentationDescriptor+import Amazonka.MediaTailor.Types.SlateSource+import Amazonka.MediaTailor.Types.SourceLocation+import Amazonka.MediaTailor.Types.SpliceInsertMessage+import Amazonka.MediaTailor.Types.Tier+import Amazonka.MediaTailor.Types.TimeSignalMessage+import Amazonka.MediaTailor.Types.Transition+import Amazonka.MediaTailor.Types.Type+import Amazonka.MediaTailor.Types.VodSource+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Sign.V4 as Sign++-- | API version @2018-04-23@ of the Amazon MediaTailor SDK configuration.+defaultService :: Core.Service+defaultService =+ Core.Service+ { Core.abbrev = "MediaTailor",+ Core.signer = Sign.v4,+ Core.endpointPrefix = "api.mediatailor",+ Core.signingName = "mediatailor",+ Core.version = "2018-04-23",+ Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+ Core.endpoint = Core.defaultEndpoint defaultService,+ Core.timeout = Prelude.Just 70,+ Core.check = Core.statusSuccess,+ Core.error = Core.parseJSONError "MediaTailor",+ 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++-- | A request contains unexpected data.+_BadRequestException :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BadRequestException =+ Core._MatchServiceError+ defaultService+ "BadRequestException"+ Prelude.. Core.hasStatus 400
+ gen/Amazonka/MediaTailor/Types/AccessConfiguration.hs view
@@ -0,0 +1,171 @@+{-# 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.MediaTailor.Types.AccessConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.AccessConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.AccessType+import Amazonka.MediaTailor.Types.SecretsManagerAccessTokenConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Access configuration parameters.+--+-- /See:/ 'newAccessConfiguration' smart constructor.+data AccessConfiguration = AccessConfiguration'+ { -- | The type of authentication used to access content from+ -- @HttpConfiguration::BaseUrl@ on your source location. Accepted value:+ -- @S3_SIGV4@.+ --+ -- @S3_SIGV4@ - AWS Signature Version 4 authentication for Amazon S3 hosted+ -- virtual-style access. If your source location base URL is an Amazon S3+ -- bucket, MediaTailor can use AWS Signature Version 4 (SigV4)+ -- authentication to access the bucket where your source content is stored.+ -- Your MediaTailor source location baseURL must follow the S3 virtual+ -- hosted-style request URL format. For example,+ -- https:\/\/bucket-name.s3.Region.amazonaws.com\/key-name.+ --+ -- Before you can use @S3_SIGV4@, you must meet these requirements:+ --+ -- • You must allow MediaTailor to access your S3 bucket by granting+ -- mediatailor.amazonaws.com principal access in IAM. For information about+ -- configuring access in IAM, see Access management in the IAM User Guide.+ --+ -- • The mediatailor.amazonaws.com service principal must have permissions+ -- to read all top level manifests referenced by the VodSource packaging+ -- configurations.+ --+ -- • The caller of the API must have s3:GetObject IAM permissions to read+ -- all top level manifests referenced by your MediaTailor VodSource+ -- packaging configurations.+ accessType :: Prelude.Maybe AccessType,+ -- | AWS Secrets Manager access token configuration parameters.+ secretsManagerAccessTokenConfiguration :: Prelude.Maybe SecretsManagerAccessTokenConfiguration+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccessConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessType', 'accessConfiguration_accessType' - The type of authentication used to access content from+-- @HttpConfiguration::BaseUrl@ on your source location. Accepted value:+-- @S3_SIGV4@.+--+-- @S3_SIGV4@ - AWS Signature Version 4 authentication for Amazon S3 hosted+-- virtual-style access. If your source location base URL is an Amazon S3+-- bucket, MediaTailor can use AWS Signature Version 4 (SigV4)+-- authentication to access the bucket where your source content is stored.+-- Your MediaTailor source location baseURL must follow the S3 virtual+-- hosted-style request URL format. For example,+-- https:\/\/bucket-name.s3.Region.amazonaws.com\/key-name.+--+-- Before you can use @S3_SIGV4@, you must meet these requirements:+--+-- • You must allow MediaTailor to access your S3 bucket by granting+-- mediatailor.amazonaws.com principal access in IAM. For information about+-- configuring access in IAM, see Access management in the IAM User Guide.+--+-- • The mediatailor.amazonaws.com service principal must have permissions+-- to read all top level manifests referenced by the VodSource packaging+-- configurations.+--+-- • The caller of the API must have s3:GetObject IAM permissions to read+-- all top level manifests referenced by your MediaTailor VodSource+-- packaging configurations.+--+-- 'secretsManagerAccessTokenConfiguration', 'accessConfiguration_secretsManagerAccessTokenConfiguration' - AWS Secrets Manager access token configuration parameters.+newAccessConfiguration ::+ AccessConfiguration+newAccessConfiguration =+ AccessConfiguration'+ { accessType = Prelude.Nothing,+ secretsManagerAccessTokenConfiguration =+ Prelude.Nothing+ }++-- | The type of authentication used to access content from+-- @HttpConfiguration::BaseUrl@ on your source location. Accepted value:+-- @S3_SIGV4@.+--+-- @S3_SIGV4@ - AWS Signature Version 4 authentication for Amazon S3 hosted+-- virtual-style access. If your source location base URL is an Amazon S3+-- bucket, MediaTailor can use AWS Signature Version 4 (SigV4)+-- authentication to access the bucket where your source content is stored.+-- Your MediaTailor source location baseURL must follow the S3 virtual+-- hosted-style request URL format. For example,+-- https:\/\/bucket-name.s3.Region.amazonaws.com\/key-name.+--+-- Before you can use @S3_SIGV4@, you must meet these requirements:+--+-- • You must allow MediaTailor to access your S3 bucket by granting+-- mediatailor.amazonaws.com principal access in IAM. For information about+-- configuring access in IAM, see Access management in the IAM User Guide.+--+-- • The mediatailor.amazonaws.com service principal must have permissions+-- to read all top level manifests referenced by the VodSource packaging+-- configurations.+--+-- • The caller of the API must have s3:GetObject IAM permissions to read+-- all top level manifests referenced by your MediaTailor VodSource+-- packaging configurations.+accessConfiguration_accessType :: Lens.Lens' AccessConfiguration (Prelude.Maybe AccessType)+accessConfiguration_accessType = Lens.lens (\AccessConfiguration' {accessType} -> accessType) (\s@AccessConfiguration' {} a -> s {accessType = a} :: AccessConfiguration)++-- | AWS Secrets Manager access token configuration parameters.+accessConfiguration_secretsManagerAccessTokenConfiguration :: Lens.Lens' AccessConfiguration (Prelude.Maybe SecretsManagerAccessTokenConfiguration)+accessConfiguration_secretsManagerAccessTokenConfiguration = Lens.lens (\AccessConfiguration' {secretsManagerAccessTokenConfiguration} -> secretsManagerAccessTokenConfiguration) (\s@AccessConfiguration' {} a -> s {secretsManagerAccessTokenConfiguration = a} :: AccessConfiguration)++instance Data.FromJSON AccessConfiguration where+ parseJSON =+ Data.withObject+ "AccessConfiguration"+ ( \x ->+ AccessConfiguration'+ Prelude.<$> (x Data..:? "AccessType")+ Prelude.<*> ( x+ Data..:? "SecretsManagerAccessTokenConfiguration"+ )+ )++instance Prelude.Hashable AccessConfiguration where+ hashWithSalt _salt AccessConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` accessType+ `Prelude.hashWithSalt` secretsManagerAccessTokenConfiguration++instance Prelude.NFData AccessConfiguration where+ rnf AccessConfiguration' {..} =+ Prelude.rnf accessType+ `Prelude.seq` Prelude.rnf secretsManagerAccessTokenConfiguration++instance Data.ToJSON AccessConfiguration where+ toJSON AccessConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AccessType" Data..=) Prelude.<$> accessType,+ ("SecretsManagerAccessTokenConfiguration" Data..=)+ Prelude.<$> secretsManagerAccessTokenConfiguration+ ]+ )
+ gen/Amazonka/MediaTailor/Types/AccessType.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.MediaTailor.Types.AccessType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.AccessType+ ( AccessType+ ( ..,+ AccessType_S3_SIGV4,+ AccessType_SECRETS_MANAGER_ACCESS_TOKEN+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype AccessType = AccessType'+ { fromAccessType ::+ 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 AccessType_S3_SIGV4 :: AccessType+pattern AccessType_S3_SIGV4 = AccessType' "S3_SIGV4"++pattern AccessType_SECRETS_MANAGER_ACCESS_TOKEN :: AccessType+pattern AccessType_SECRETS_MANAGER_ACCESS_TOKEN = AccessType' "SECRETS_MANAGER_ACCESS_TOKEN"++{-# COMPLETE+ AccessType_S3_SIGV4,+ AccessType_SECRETS_MANAGER_ACCESS_TOKEN,+ AccessType'+ #-}
+ gen/Amazonka/MediaTailor/Types/AdBreak.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.MediaTailor.Types.AdBreak+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.AdBreak where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.MessageType+import Amazonka.MediaTailor.Types.SlateSource+import Amazonka.MediaTailor.Types.SpliceInsertMessage+import Amazonka.MediaTailor.Types.TimeSignalMessage+import qualified Amazonka.Prelude as Prelude++-- | Ad break configuration parameters.+--+-- /See:/ 'newAdBreak' smart constructor.+data AdBreak = AdBreak'+ { -- | The SCTE-35 ad insertion type. Accepted value: @SPLICE_INSERT@,+ -- @TIME_SIGNAL@.+ messageType :: Prelude.Maybe MessageType,+ -- | How long (in milliseconds) after the beginning of the program that an ad+ -- starts. This value must fall within 100ms of a segment boundary,+ -- otherwise the ad break will be skipped.+ offsetMillis :: Prelude.Maybe Prelude.Integer,+ -- | Ad break slate configuration.+ slate :: Prelude.Maybe SlateSource,+ -- | This defines the SCTE-35 @splice_insert()@ message inserted around the+ -- ad. For information about using @splice_insert()@, see the SCTE-35+ -- specficiaiton, section 9.7.3.1.+ spliceInsertMessage :: Prelude.Maybe SpliceInsertMessage,+ -- | Defines the SCTE-35 @time_signal@ message inserted around the ad.+ --+ -- Programs on a channel\'s schedule can be configured with one or more ad+ -- breaks. You can attach a @splice_insert@ SCTE-35 message to the ad+ -- break. This message provides basic metadata about the ad break.+ --+ -- See section 9.7.4 of the 2022 SCTE-35 specification for more+ -- information.+ timeSignalMessage :: Prelude.Maybe TimeSignalMessage+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AdBreak' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'messageType', 'adBreak_messageType' - The SCTE-35 ad insertion type. Accepted value: @SPLICE_INSERT@,+-- @TIME_SIGNAL@.+--+-- 'offsetMillis', 'adBreak_offsetMillis' - How long (in milliseconds) after the beginning of the program that an ad+-- starts. This value must fall within 100ms of a segment boundary,+-- otherwise the ad break will be skipped.+--+-- 'slate', 'adBreak_slate' - Ad break slate configuration.+--+-- 'spliceInsertMessage', 'adBreak_spliceInsertMessage' - This defines the SCTE-35 @splice_insert()@ message inserted around the+-- ad. For information about using @splice_insert()@, see the SCTE-35+-- specficiaiton, section 9.7.3.1.+--+-- 'timeSignalMessage', 'adBreak_timeSignalMessage' - Defines the SCTE-35 @time_signal@ message inserted around the ad.+--+-- Programs on a channel\'s schedule can be configured with one or more ad+-- breaks. You can attach a @splice_insert@ SCTE-35 message to the ad+-- break. This message provides basic metadata about the ad break.+--+-- See section 9.7.4 of the 2022 SCTE-35 specification for more+-- information.+newAdBreak ::+ AdBreak+newAdBreak =+ AdBreak'+ { messageType = Prelude.Nothing,+ offsetMillis = Prelude.Nothing,+ slate = Prelude.Nothing,+ spliceInsertMessage = Prelude.Nothing,+ timeSignalMessage = Prelude.Nothing+ }++-- | The SCTE-35 ad insertion type. Accepted value: @SPLICE_INSERT@,+-- @TIME_SIGNAL@.+adBreak_messageType :: Lens.Lens' AdBreak (Prelude.Maybe MessageType)+adBreak_messageType = Lens.lens (\AdBreak' {messageType} -> messageType) (\s@AdBreak' {} a -> s {messageType = a} :: AdBreak)++-- | How long (in milliseconds) after the beginning of the program that an ad+-- starts. This value must fall within 100ms of a segment boundary,+-- otherwise the ad break will be skipped.+adBreak_offsetMillis :: Lens.Lens' AdBreak (Prelude.Maybe Prelude.Integer)+adBreak_offsetMillis = Lens.lens (\AdBreak' {offsetMillis} -> offsetMillis) (\s@AdBreak' {} a -> s {offsetMillis = a} :: AdBreak)++-- | Ad break slate configuration.+adBreak_slate :: Lens.Lens' AdBreak (Prelude.Maybe SlateSource)+adBreak_slate = Lens.lens (\AdBreak' {slate} -> slate) (\s@AdBreak' {} a -> s {slate = a} :: AdBreak)++-- | This defines the SCTE-35 @splice_insert()@ message inserted around the+-- ad. For information about using @splice_insert()@, see the SCTE-35+-- specficiaiton, section 9.7.3.1.+adBreak_spliceInsertMessage :: Lens.Lens' AdBreak (Prelude.Maybe SpliceInsertMessage)+adBreak_spliceInsertMessage = Lens.lens (\AdBreak' {spliceInsertMessage} -> spliceInsertMessage) (\s@AdBreak' {} a -> s {spliceInsertMessage = a} :: AdBreak)++-- | Defines the SCTE-35 @time_signal@ message inserted around the ad.+--+-- Programs on a channel\'s schedule can be configured with one or more ad+-- breaks. You can attach a @splice_insert@ SCTE-35 message to the ad+-- break. This message provides basic metadata about the ad break.+--+-- See section 9.7.4 of the 2022 SCTE-35 specification for more+-- information.+adBreak_timeSignalMessage :: Lens.Lens' AdBreak (Prelude.Maybe TimeSignalMessage)+adBreak_timeSignalMessage = Lens.lens (\AdBreak' {timeSignalMessage} -> timeSignalMessage) (\s@AdBreak' {} a -> s {timeSignalMessage = a} :: AdBreak)++instance Data.FromJSON AdBreak where+ parseJSON =+ Data.withObject+ "AdBreak"+ ( \x ->+ AdBreak'+ Prelude.<$> (x Data..:? "MessageType")+ Prelude.<*> (x Data..:? "OffsetMillis")+ Prelude.<*> (x Data..:? "Slate")+ Prelude.<*> (x Data..:? "SpliceInsertMessage")+ Prelude.<*> (x Data..:? "TimeSignalMessage")+ )++instance Prelude.Hashable AdBreak where+ hashWithSalt _salt AdBreak' {..} =+ _salt+ `Prelude.hashWithSalt` messageType+ `Prelude.hashWithSalt` offsetMillis+ `Prelude.hashWithSalt` slate+ `Prelude.hashWithSalt` spliceInsertMessage+ `Prelude.hashWithSalt` timeSignalMessage++instance Prelude.NFData AdBreak where+ rnf AdBreak' {..} =+ Prelude.rnf messageType+ `Prelude.seq` Prelude.rnf offsetMillis+ `Prelude.seq` Prelude.rnf slate+ `Prelude.seq` Prelude.rnf spliceInsertMessage+ `Prelude.seq` Prelude.rnf timeSignalMessage++instance Data.ToJSON AdBreak where+ toJSON AdBreak' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MessageType" Data..=) Prelude.<$> messageType,+ ("OffsetMillis" Data..=) Prelude.<$> offsetMillis,+ ("Slate" Data..=) Prelude.<$> slate,+ ("SpliceInsertMessage" Data..=)+ Prelude.<$> spliceInsertMessage,+ ("TimeSignalMessage" Data..=)+ Prelude.<$> timeSignalMessage+ ]+ )
+ gen/Amazonka/MediaTailor/Types/AdMarkerPassthrough.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.MediaTailor.Types.AdMarkerPassthrough+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.AdMarkerPassthrough 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++-- | For HLS, when set to @true@, MediaTailor passes through @EXT-X-CUE-IN@,+-- @EXT-X-CUE-OUT@, and @EXT-X-SPLICEPOINT-SCTE35@ ad markers from the+-- origin manifest to the MediaTailor personalized manifest.+--+-- No logic is applied to these ad markers. For example, if @EXT-X-CUE-OUT@+-- has a value of @60@, but no ads are filled for that ad break,+-- MediaTailor will not set the value to @0@.+--+-- /See:/ 'newAdMarkerPassthrough' smart constructor.+data AdMarkerPassthrough = AdMarkerPassthrough'+ { -- | Enables ad marker passthrough for your configuration.+ enabled :: Prelude.Maybe Prelude.Bool+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AdMarkerPassthrough' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enabled', 'adMarkerPassthrough_enabled' - Enables ad marker passthrough for your configuration.+newAdMarkerPassthrough ::+ AdMarkerPassthrough+newAdMarkerPassthrough =+ AdMarkerPassthrough' {enabled = Prelude.Nothing}++-- | Enables ad marker passthrough for your configuration.+adMarkerPassthrough_enabled :: Lens.Lens' AdMarkerPassthrough (Prelude.Maybe Prelude.Bool)+adMarkerPassthrough_enabled = Lens.lens (\AdMarkerPassthrough' {enabled} -> enabled) (\s@AdMarkerPassthrough' {} a -> s {enabled = a} :: AdMarkerPassthrough)++instance Data.FromJSON AdMarkerPassthrough where+ parseJSON =+ Data.withObject+ "AdMarkerPassthrough"+ ( \x ->+ AdMarkerPassthrough'+ Prelude.<$> (x Data..:? "Enabled")+ )++instance Prelude.Hashable AdMarkerPassthrough where+ hashWithSalt _salt AdMarkerPassthrough' {..} =+ _salt `Prelude.hashWithSalt` enabled++instance Prelude.NFData AdMarkerPassthrough where+ rnf AdMarkerPassthrough' {..} = Prelude.rnf enabled++instance Data.ToJSON AdMarkerPassthrough where+ toJSON AdMarkerPassthrough' {..} =+ Data.object+ ( Prelude.catMaybes+ [("Enabled" Data..=) Prelude.<$> enabled]+ )
+ gen/Amazonka/MediaTailor/Types/Alert.hs view
@@ -0,0 +1,139 @@+{-# 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.MediaTailor.Types.Alert+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.Alert 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++-- | Alert configuration parameters.+--+-- /See:/ 'newAlert' smart constructor.+data Alert = Alert'+ { -- | The code for the alert. For example, @NOT_PROCESSED@.+ alertCode :: Prelude.Text,+ -- | If an alert is generated for a resource, an explanation of the reason+ -- for the alert.+ alertMessage :: Prelude.Text,+ -- | The timestamp when the alert was last modified.+ lastModifiedTime :: Data.POSIX,+ -- | The Amazon Resource Names (ARNs) related to this alert.+ relatedResourceArns :: [Prelude.Text],+ -- | The Amazon Resource Name (ARN) of the resource.+ resourceArn :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Alert' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'alertCode', 'alert_alertCode' - The code for the alert. For example, @NOT_PROCESSED@.+--+-- 'alertMessage', 'alert_alertMessage' - If an alert is generated for a resource, an explanation of the reason+-- for the alert.+--+-- 'lastModifiedTime', 'alert_lastModifiedTime' - The timestamp when the alert was last modified.+--+-- 'relatedResourceArns', 'alert_relatedResourceArns' - The Amazon Resource Names (ARNs) related to this alert.+--+-- 'resourceArn', 'alert_resourceArn' - The Amazon Resource Name (ARN) of the resource.+newAlert ::+ -- | 'alertCode'+ Prelude.Text ->+ -- | 'alertMessage'+ Prelude.Text ->+ -- | 'lastModifiedTime'+ Prelude.UTCTime ->+ -- | 'resourceArn'+ Prelude.Text ->+ Alert+newAlert+ pAlertCode_+ pAlertMessage_+ pLastModifiedTime_+ pResourceArn_ =+ Alert'+ { alertCode = pAlertCode_,+ alertMessage = pAlertMessage_,+ lastModifiedTime =+ Data._Time Lens.# pLastModifiedTime_,+ relatedResourceArns = Prelude.mempty,+ resourceArn = pResourceArn_+ }++-- | The code for the alert. For example, @NOT_PROCESSED@.+alert_alertCode :: Lens.Lens' Alert Prelude.Text+alert_alertCode = Lens.lens (\Alert' {alertCode} -> alertCode) (\s@Alert' {} a -> s {alertCode = a} :: Alert)++-- | If an alert is generated for a resource, an explanation of the reason+-- for the alert.+alert_alertMessage :: Lens.Lens' Alert Prelude.Text+alert_alertMessage = Lens.lens (\Alert' {alertMessage} -> alertMessage) (\s@Alert' {} a -> s {alertMessage = a} :: Alert)++-- | The timestamp when the alert was last modified.+alert_lastModifiedTime :: Lens.Lens' Alert Prelude.UTCTime+alert_lastModifiedTime = Lens.lens (\Alert' {lastModifiedTime} -> lastModifiedTime) (\s@Alert' {} a -> s {lastModifiedTime = a} :: Alert) Prelude.. Data._Time++-- | The Amazon Resource Names (ARNs) related to this alert.+alert_relatedResourceArns :: Lens.Lens' Alert [Prelude.Text]+alert_relatedResourceArns = Lens.lens (\Alert' {relatedResourceArns} -> relatedResourceArns) (\s@Alert' {} a -> s {relatedResourceArns = a} :: Alert) Prelude.. Lens.coerced++-- | The Amazon Resource Name (ARN) of the resource.+alert_resourceArn :: Lens.Lens' Alert Prelude.Text+alert_resourceArn = Lens.lens (\Alert' {resourceArn} -> resourceArn) (\s@Alert' {} a -> s {resourceArn = a} :: Alert)++instance Data.FromJSON Alert where+ parseJSON =+ Data.withObject+ "Alert"+ ( \x ->+ Alert'+ Prelude.<$> (x Data..: "AlertCode")+ Prelude.<*> (x Data..: "AlertMessage")+ Prelude.<*> (x Data..: "LastModifiedTime")+ Prelude.<*> ( x+ Data..:? "RelatedResourceArns"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..: "ResourceArn")+ )++instance Prelude.Hashable Alert where+ hashWithSalt _salt Alert' {..} =+ _salt+ `Prelude.hashWithSalt` alertCode+ `Prelude.hashWithSalt` alertMessage+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` relatedResourceArns+ `Prelude.hashWithSalt` resourceArn++instance Prelude.NFData Alert where+ rnf Alert' {..} =+ Prelude.rnf alertCode+ `Prelude.seq` Prelude.rnf alertMessage+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf relatedResourceArns+ `Prelude.seq` Prelude.rnf resourceArn
+ gen/Amazonka/MediaTailor/Types/AvailMatchingCriteria.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.AvailMatchingCriteria+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.AvailMatchingCriteria where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.Operator+import qualified Amazonka.Prelude as Prelude++-- | MediaTailor only places (consumes) prefetched ads if the ad break meets+-- the criteria defined by the dynamic variables. This gives you granular+-- control over which ad break to place the prefetched ads into.+--+-- As an example, let\'s say that you set @DynamicVariable@ to+-- @scte.event_id@ and @Operator@ to @EQUALS@, and your playback+-- configuration has an ADS URL of+-- @https:\/\/my.ads.server.com\/path?&podId=[scte.avail_num]&event=[scte.event_id]&duration=[session.avail_duration_secs]@.+-- And the prefetch request to the ADS contains these values+-- @https:\/\/my.ads.server.com\/path?&podId=3&event=my-awesome-event&duration=30@.+-- MediaTailor will only insert the prefetched ads into the ad break if has+-- a SCTE marker with an event id of @my-awesome-event@, since it must+-- match the event id that MediaTailor uses to query the ADS.+--+-- You can specify up to five @AvailMatchingCriteria@. If you specify+-- multiple @AvailMatchingCriteria@, MediaTailor combines them to match+-- using a logical @AND@. You can model logical @OR@ combinations by+-- creating multiple prefetch schedules.+--+-- /See:/ 'newAvailMatchingCriteria' smart constructor.+data AvailMatchingCriteria = AvailMatchingCriteria'+ { -- | The dynamic variable(s) that MediaTailor should use as avail matching+ -- criteria. MediaTailor only places the prefetched ads into the avail if+ -- the avail matches the criteria defined by the dynamic variable. For+ -- information about dynamic variables, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables.html Using dynamic ad variables>+ -- in the /MediaTailor User Guide/.+ --+ -- You can include up to 100 dynamic variables.+ dynamicVariable :: Prelude.Text,+ -- | For the @DynamicVariable@ specified in @AvailMatchingCriteria@, the+ -- Operator that is used for the comparison.+ operator :: Operator+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AvailMatchingCriteria' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dynamicVariable', 'availMatchingCriteria_dynamicVariable' - The dynamic variable(s) that MediaTailor should use as avail matching+-- criteria. MediaTailor only places the prefetched ads into the avail if+-- the avail matches the criteria defined by the dynamic variable. For+-- information about dynamic variables, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables.html Using dynamic ad variables>+-- in the /MediaTailor User Guide/.+--+-- You can include up to 100 dynamic variables.+--+-- 'operator', 'availMatchingCriteria_operator' - For the @DynamicVariable@ specified in @AvailMatchingCriteria@, the+-- Operator that is used for the comparison.+newAvailMatchingCriteria ::+ -- | 'dynamicVariable'+ Prelude.Text ->+ -- | 'operator'+ Operator ->+ AvailMatchingCriteria+newAvailMatchingCriteria pDynamicVariable_ pOperator_ =+ AvailMatchingCriteria'+ { dynamicVariable =+ pDynamicVariable_,+ operator = pOperator_+ }++-- | The dynamic variable(s) that MediaTailor should use as avail matching+-- criteria. MediaTailor only places the prefetched ads into the avail if+-- the avail matches the criteria defined by the dynamic variable. For+-- information about dynamic variables, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables.html Using dynamic ad variables>+-- in the /MediaTailor User Guide/.+--+-- You can include up to 100 dynamic variables.+availMatchingCriteria_dynamicVariable :: Lens.Lens' AvailMatchingCriteria Prelude.Text+availMatchingCriteria_dynamicVariable = Lens.lens (\AvailMatchingCriteria' {dynamicVariable} -> dynamicVariable) (\s@AvailMatchingCriteria' {} a -> s {dynamicVariable = a} :: AvailMatchingCriteria)++-- | For the @DynamicVariable@ specified in @AvailMatchingCriteria@, the+-- Operator that is used for the comparison.+availMatchingCriteria_operator :: Lens.Lens' AvailMatchingCriteria Operator+availMatchingCriteria_operator = Lens.lens (\AvailMatchingCriteria' {operator} -> operator) (\s@AvailMatchingCriteria' {} a -> s {operator = a} :: AvailMatchingCriteria)++instance Data.FromJSON AvailMatchingCriteria where+ parseJSON =+ Data.withObject+ "AvailMatchingCriteria"+ ( \x ->+ AvailMatchingCriteria'+ Prelude.<$> (x Data..: "DynamicVariable")+ Prelude.<*> (x Data..: "Operator")+ )++instance Prelude.Hashable AvailMatchingCriteria where+ hashWithSalt _salt AvailMatchingCriteria' {..} =+ _salt+ `Prelude.hashWithSalt` dynamicVariable+ `Prelude.hashWithSalt` operator++instance Prelude.NFData AvailMatchingCriteria where+ rnf AvailMatchingCriteria' {..} =+ Prelude.rnf dynamicVariable+ `Prelude.seq` Prelude.rnf operator++instance Data.ToJSON AvailMatchingCriteria where+ toJSON AvailMatchingCriteria' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ("DynamicVariable" Data..= dynamicVariable),+ Prelude.Just ("Operator" Data..= operator)+ ]+ )
+ gen/Amazonka/MediaTailor/Types/AvailSuppression.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.AvailSuppression+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.AvailSuppression where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.Mode+import qualified Amazonka.Prelude as Prelude++-- | The configuration for avail suppression, also known as ad suppression.+-- For more information about ad suppression, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Suppression>.+--+-- /See:/ 'newAvailSuppression' smart constructor.+data AvailSuppression = AvailSuppression'+ { -- | Sets the ad suppression mode. By default, ad suppression is off and all+ -- ad breaks are filled with ads or slate. When Mode is set to+ -- @BEHIND_LIVE_EDGE@, ad suppression is active and MediaTailor won\'t fill+ -- ad breaks on or behind the ad suppression Value time in the manifest+ -- lookback window.+ mode :: Prelude.Maybe Mode,+ -- | A live edge offset time in HH:MM:SS. MediaTailor won\'t fill ad breaks+ -- on or behind this time in the manifest lookback window. If Value is set+ -- to 00:00:00, it is in sync with the live edge, and MediaTailor won\'t+ -- fill any ad breaks on or behind the live edge. If you set a Value time,+ -- MediaTailor won\'t fill any ad breaks on or behind this time in the+ -- manifest lookback window. For example, if you set 00:45:00, then+ -- MediaTailor will fill ad breaks that occur within 45 minutes behind the+ -- live edge, but won\'t fill ad breaks on or behind 45 minutes behind the+ -- live edge.+ value :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AvailSuppression' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mode', 'availSuppression_mode' - Sets the ad suppression mode. By default, ad suppression is off and all+-- ad breaks are filled with ads or slate. When Mode is set to+-- @BEHIND_LIVE_EDGE@, ad suppression is active and MediaTailor won\'t fill+-- ad breaks on or behind the ad suppression Value time in the manifest+-- lookback window.+--+-- 'value', 'availSuppression_value' - A live edge offset time in HH:MM:SS. MediaTailor won\'t fill ad breaks+-- on or behind this time in the manifest lookback window. If Value is set+-- to 00:00:00, it is in sync with the live edge, and MediaTailor won\'t+-- fill any ad breaks on or behind the live edge. If you set a Value time,+-- MediaTailor won\'t fill any ad breaks on or behind this time in the+-- manifest lookback window. For example, if you set 00:45:00, then+-- MediaTailor will fill ad breaks that occur within 45 minutes behind the+-- live edge, but won\'t fill ad breaks on or behind 45 minutes behind the+-- live edge.+newAvailSuppression ::+ AvailSuppression+newAvailSuppression =+ AvailSuppression'+ { mode = Prelude.Nothing,+ value = Prelude.Nothing+ }++-- | Sets the ad suppression mode. By default, ad suppression is off and all+-- ad breaks are filled with ads or slate. When Mode is set to+-- @BEHIND_LIVE_EDGE@, ad suppression is active and MediaTailor won\'t fill+-- ad breaks on or behind the ad suppression Value time in the manifest+-- lookback window.+availSuppression_mode :: Lens.Lens' AvailSuppression (Prelude.Maybe Mode)+availSuppression_mode = Lens.lens (\AvailSuppression' {mode} -> mode) (\s@AvailSuppression' {} a -> s {mode = a} :: AvailSuppression)++-- | A live edge offset time in HH:MM:SS. MediaTailor won\'t fill ad breaks+-- on or behind this time in the manifest lookback window. If Value is set+-- to 00:00:00, it is in sync with the live edge, and MediaTailor won\'t+-- fill any ad breaks on or behind the live edge. If you set a Value time,+-- MediaTailor won\'t fill any ad breaks on or behind this time in the+-- manifest lookback window. For example, if you set 00:45:00, then+-- MediaTailor will fill ad breaks that occur within 45 minutes behind the+-- live edge, but won\'t fill ad breaks on or behind 45 minutes behind the+-- live edge.+availSuppression_value :: Lens.Lens' AvailSuppression (Prelude.Maybe Prelude.Text)+availSuppression_value = Lens.lens (\AvailSuppression' {value} -> value) (\s@AvailSuppression' {} a -> s {value = a} :: AvailSuppression)++instance Data.FromJSON AvailSuppression where+ parseJSON =+ Data.withObject+ "AvailSuppression"+ ( \x ->+ AvailSuppression'+ Prelude.<$> (x Data..:? "Mode")+ Prelude.<*> (x Data..:? "Value")+ )++instance Prelude.Hashable AvailSuppression where+ hashWithSalt _salt AvailSuppression' {..} =+ _salt+ `Prelude.hashWithSalt` mode+ `Prelude.hashWithSalt` value++instance Prelude.NFData AvailSuppression where+ rnf AvailSuppression' {..} =+ Prelude.rnf mode `Prelude.seq` Prelude.rnf value++instance Data.ToJSON AvailSuppression where+ toJSON AvailSuppression' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("Mode" Data..=) Prelude.<$> mode,+ ("Value" Data..=) Prelude.<$> value+ ]+ )
+ gen/Amazonka/MediaTailor/Types/Bumper.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.Bumper+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.Bumper where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration for bumpers. Bumpers are short audio or video clips+-- that play at the start or before the end of an ad break. To learn more+-- about bumpers, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html Bumpers>.+--+-- /See:/ 'newBumper' smart constructor.+data Bumper = Bumper'+ { -- | The URL for the end bumper asset.+ endUrl :: Prelude.Maybe Prelude.Text,+ -- | The URL for the start bumper asset.+ startUrl :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Bumper' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'endUrl', 'bumper_endUrl' - The URL for the end bumper asset.+--+-- 'startUrl', 'bumper_startUrl' - The URL for the start bumper asset.+newBumper ::+ Bumper+newBumper =+ Bumper'+ { endUrl = Prelude.Nothing,+ startUrl = Prelude.Nothing+ }++-- | The URL for the end bumper asset.+bumper_endUrl :: Lens.Lens' Bumper (Prelude.Maybe Prelude.Text)+bumper_endUrl = Lens.lens (\Bumper' {endUrl} -> endUrl) (\s@Bumper' {} a -> s {endUrl = a} :: Bumper)++-- | The URL for the start bumper asset.+bumper_startUrl :: Lens.Lens' Bumper (Prelude.Maybe Prelude.Text)+bumper_startUrl = Lens.lens (\Bumper' {startUrl} -> startUrl) (\s@Bumper' {} a -> s {startUrl = a} :: Bumper)++instance Data.FromJSON Bumper where+ parseJSON =+ Data.withObject+ "Bumper"+ ( \x ->+ Bumper'+ Prelude.<$> (x Data..:? "EndUrl")+ Prelude.<*> (x Data..:? "StartUrl")+ )++instance Prelude.Hashable Bumper where+ hashWithSalt _salt Bumper' {..} =+ _salt+ `Prelude.hashWithSalt` endUrl+ `Prelude.hashWithSalt` startUrl++instance Prelude.NFData Bumper where+ rnf Bumper' {..} =+ Prelude.rnf endUrl+ `Prelude.seq` Prelude.rnf startUrl++instance Data.ToJSON Bumper where+ toJSON Bumper' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("EndUrl" Data..=) Prelude.<$> endUrl,+ ("StartUrl" Data..=) Prelude.<$> startUrl+ ]+ )
+ gen/Amazonka/MediaTailor/Types/CdnConfiguration.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.MediaTailor.Types.CdnConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.CdnConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration for using a content delivery network (CDN), like+-- Amazon CloudFront, for content and ad segment management.+--+-- /See:/ 'newCdnConfiguration' smart constructor.+data CdnConfiguration = CdnConfiguration'+ { -- | A non-default content delivery network (CDN) to serve ad segments. By+ -- default, AWS Elemental MediaTailor uses Amazon CloudFront with default+ -- cache settings as its CDN for ad segments. To set up an alternate CDN,+ -- create a rule in your CDN for the origin+ -- ads.mediatailor./\<region>/.amazonaws.com. Then specify the rule\'s name+ -- in this @AdSegmentUrlPrefix@. When AWS Elemental MediaTailor serves a+ -- manifest, it reports your CDN as the source for ad segments.+ adSegmentUrlPrefix :: Prelude.Maybe Prelude.Text,+ -- | A content delivery network (CDN) to cache content segments, so that+ -- content requests don’t always have to go to the origin server. First,+ -- create a rule in your CDN for the content segment origin server. Then+ -- specify the rule\'s name in this @ContentSegmentUrlPrefix@. When AWS+ -- Elemental MediaTailor serves a manifest, it reports your CDN as the+ -- source for content segments.+ contentSegmentUrlPrefix :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CdnConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adSegmentUrlPrefix', 'cdnConfiguration_adSegmentUrlPrefix' - A non-default content delivery network (CDN) to serve ad segments. By+-- default, AWS Elemental MediaTailor uses Amazon CloudFront with default+-- cache settings as its CDN for ad segments. To set up an alternate CDN,+-- create a rule in your CDN for the origin+-- ads.mediatailor./\<region>/.amazonaws.com. Then specify the rule\'s name+-- in this @AdSegmentUrlPrefix@. When AWS Elemental MediaTailor serves a+-- manifest, it reports your CDN as the source for ad segments.+--+-- 'contentSegmentUrlPrefix', 'cdnConfiguration_contentSegmentUrlPrefix' - A content delivery network (CDN) to cache content segments, so that+-- content requests don’t always have to go to the origin server. First,+-- create a rule in your CDN for the content segment origin server. Then+-- specify the rule\'s name in this @ContentSegmentUrlPrefix@. When AWS+-- Elemental MediaTailor serves a manifest, it reports your CDN as the+-- source for content segments.+newCdnConfiguration ::+ CdnConfiguration+newCdnConfiguration =+ CdnConfiguration'+ { adSegmentUrlPrefix =+ Prelude.Nothing,+ contentSegmentUrlPrefix = Prelude.Nothing+ }++-- | A non-default content delivery network (CDN) to serve ad segments. By+-- default, AWS Elemental MediaTailor uses Amazon CloudFront with default+-- cache settings as its CDN for ad segments. To set up an alternate CDN,+-- create a rule in your CDN for the origin+-- ads.mediatailor./\<region>/.amazonaws.com. Then specify the rule\'s name+-- in this @AdSegmentUrlPrefix@. When AWS Elemental MediaTailor serves a+-- manifest, it reports your CDN as the source for ad segments.+cdnConfiguration_adSegmentUrlPrefix :: Lens.Lens' CdnConfiguration (Prelude.Maybe Prelude.Text)+cdnConfiguration_adSegmentUrlPrefix = Lens.lens (\CdnConfiguration' {adSegmentUrlPrefix} -> adSegmentUrlPrefix) (\s@CdnConfiguration' {} a -> s {adSegmentUrlPrefix = a} :: CdnConfiguration)++-- | A content delivery network (CDN) to cache content segments, so that+-- content requests don’t always have to go to the origin server. First,+-- create a rule in your CDN for the content segment origin server. Then+-- specify the rule\'s name in this @ContentSegmentUrlPrefix@. When AWS+-- Elemental MediaTailor serves a manifest, it reports your CDN as the+-- source for content segments.+cdnConfiguration_contentSegmentUrlPrefix :: Lens.Lens' CdnConfiguration (Prelude.Maybe Prelude.Text)+cdnConfiguration_contentSegmentUrlPrefix = Lens.lens (\CdnConfiguration' {contentSegmentUrlPrefix} -> contentSegmentUrlPrefix) (\s@CdnConfiguration' {} a -> s {contentSegmentUrlPrefix = a} :: CdnConfiguration)++instance Data.FromJSON CdnConfiguration where+ parseJSON =+ Data.withObject+ "CdnConfiguration"+ ( \x ->+ CdnConfiguration'+ Prelude.<$> (x Data..:? "AdSegmentUrlPrefix")+ Prelude.<*> (x Data..:? "ContentSegmentUrlPrefix")+ )++instance Prelude.Hashable CdnConfiguration where+ hashWithSalt _salt CdnConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` adSegmentUrlPrefix+ `Prelude.hashWithSalt` contentSegmentUrlPrefix++instance Prelude.NFData CdnConfiguration where+ rnf CdnConfiguration' {..} =+ Prelude.rnf adSegmentUrlPrefix+ `Prelude.seq` Prelude.rnf contentSegmentUrlPrefix++instance Data.ToJSON CdnConfiguration where+ toJSON CdnConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AdSegmentUrlPrefix" Data..=)+ Prelude.<$> adSegmentUrlPrefix,+ ("ContentSegmentUrlPrefix" Data..=)+ Prelude.<$> contentSegmentUrlPrefix+ ]+ )
+ gen/Amazonka/MediaTailor/Types/Channel.hs view
@@ -0,0 +1,239 @@+{-# 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.MediaTailor.Types.Channel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.Channel where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.ResponseOutputItem+import Amazonka.MediaTailor.Types.SlateSource+import qualified Amazonka.Prelude as Prelude++-- | The configuration parameters for a channel. For information about+-- MediaTailor channels, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-channels.html Working with channels>+-- in the /MediaTailor User Guide/.+--+-- /See:/ 'newChannel' smart constructor.+data Channel = Channel'+ { -- | The timestamp of when the channel was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The slate used to fill gaps between programs in the schedule. You must+ -- configure filler slate if your channel uses the @LINEAR@ @PlaybackMode@.+ -- MediaTailor doesn\'t support filler slate for channels using the @LOOP@+ -- @PlaybackMode@.+ fillerSlate :: Prelude.Maybe SlateSource,+ -- | The timestamp of when the channel was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The tags to assign to the channel. Tags are key-value pairs that you can+ -- associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ARN of the channel.+ arn :: Prelude.Text,+ -- | The name of the channel.+ channelName :: Prelude.Text,+ -- | Returns the state whether the channel is running or not.+ channelState :: Prelude.Text,+ -- | The channel\'s output properties.+ outputs :: [ResponseOutputItem],+ -- | The type of playback mode for this channel.+ --+ -- @LINEAR@ - Programs play back-to-back only once.+ --+ -- @LOOP@ - Programs play back-to-back in an endless loop. When the last+ -- program in the schedule plays, playback loops back to the first program+ -- in the schedule.+ playbackMode :: Prelude.Text,+ -- | The tier for this channel. STANDARD tier channels can contain live+ -- programs.+ tier :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Channel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'channel_creationTime' - The timestamp of when the channel was created.+--+-- 'fillerSlate', 'channel_fillerSlate' - The slate used to fill gaps between programs in the schedule. You must+-- configure filler slate if your channel uses the @LINEAR@ @PlaybackMode@.+-- MediaTailor doesn\'t support filler slate for channels using the @LOOP@+-- @PlaybackMode@.+--+-- 'lastModifiedTime', 'channel_lastModifiedTime' - The timestamp of when the channel was last modified.+--+-- 'tags', 'channel_tags' - The tags to assign to the channel. Tags are key-value pairs that you can+-- associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'arn', 'channel_arn' - The ARN of the channel.+--+-- 'channelName', 'channel_channelName' - The name of the channel.+--+-- 'channelState', 'channel_channelState' - Returns the state whether the channel is running or not.+--+-- 'outputs', 'channel_outputs' - The channel\'s output properties.+--+-- 'playbackMode', 'channel_playbackMode' - The type of playback mode for this channel.+--+-- @LINEAR@ - Programs play back-to-back only once.+--+-- @LOOP@ - Programs play back-to-back in an endless loop. When the last+-- program in the schedule plays, playback loops back to the first program+-- in the schedule.+--+-- 'tier', 'channel_tier' - The tier for this channel. STANDARD tier channels can contain live+-- programs.+newChannel ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'channelName'+ Prelude.Text ->+ -- | 'channelState'+ Prelude.Text ->+ -- | 'playbackMode'+ Prelude.Text ->+ -- | 'tier'+ Prelude.Text ->+ Channel+newChannel+ pArn_+ pChannelName_+ pChannelState_+ pPlaybackMode_+ pTier_ =+ Channel'+ { creationTime = Prelude.Nothing,+ fillerSlate = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ tags = Prelude.Nothing,+ arn = pArn_,+ channelName = pChannelName_,+ channelState = pChannelState_,+ outputs = Prelude.mempty,+ playbackMode = pPlaybackMode_,+ tier = pTier_+ }++-- | The timestamp of when the channel was created.+channel_creationTime :: Lens.Lens' Channel (Prelude.Maybe Prelude.UTCTime)+channel_creationTime = Lens.lens (\Channel' {creationTime} -> creationTime) (\s@Channel' {} a -> s {creationTime = a} :: Channel) Prelude.. Lens.mapping Data._Time++-- | The slate used to fill gaps between programs in the schedule. You must+-- configure filler slate if your channel uses the @LINEAR@ @PlaybackMode@.+-- MediaTailor doesn\'t support filler slate for channels using the @LOOP@+-- @PlaybackMode@.+channel_fillerSlate :: Lens.Lens' Channel (Prelude.Maybe SlateSource)+channel_fillerSlate = Lens.lens (\Channel' {fillerSlate} -> fillerSlate) (\s@Channel' {} a -> s {fillerSlate = a} :: Channel)++-- | The timestamp of when the channel was last modified.+channel_lastModifiedTime :: Lens.Lens' Channel (Prelude.Maybe Prelude.UTCTime)+channel_lastModifiedTime = Lens.lens (\Channel' {lastModifiedTime} -> lastModifiedTime) (\s@Channel' {} a -> s {lastModifiedTime = a} :: Channel) Prelude.. Lens.mapping Data._Time++-- | The tags to assign to the channel. Tags are key-value pairs that you can+-- associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+channel_tags :: Lens.Lens' Channel (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+channel_tags = Lens.lens (\Channel' {tags} -> tags) (\s@Channel' {} a -> s {tags = a} :: Channel) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the channel.+channel_arn :: Lens.Lens' Channel Prelude.Text+channel_arn = Lens.lens (\Channel' {arn} -> arn) (\s@Channel' {} a -> s {arn = a} :: Channel)++-- | The name of the channel.+channel_channelName :: Lens.Lens' Channel Prelude.Text+channel_channelName = Lens.lens (\Channel' {channelName} -> channelName) (\s@Channel' {} a -> s {channelName = a} :: Channel)++-- | Returns the state whether the channel is running or not.+channel_channelState :: Lens.Lens' Channel Prelude.Text+channel_channelState = Lens.lens (\Channel' {channelState} -> channelState) (\s@Channel' {} a -> s {channelState = a} :: Channel)++-- | The channel\'s output properties.+channel_outputs :: Lens.Lens' Channel [ResponseOutputItem]+channel_outputs = Lens.lens (\Channel' {outputs} -> outputs) (\s@Channel' {} a -> s {outputs = a} :: Channel) Prelude.. Lens.coerced++-- | The type of playback mode for this channel.+--+-- @LINEAR@ - Programs play back-to-back only once.+--+-- @LOOP@ - Programs play back-to-back in an endless loop. When the last+-- program in the schedule plays, playback loops back to the first program+-- in the schedule.+channel_playbackMode :: Lens.Lens' Channel Prelude.Text+channel_playbackMode = Lens.lens (\Channel' {playbackMode} -> playbackMode) (\s@Channel' {} a -> s {playbackMode = a} :: Channel)++-- | The tier for this channel. STANDARD tier channels can contain live+-- programs.+channel_tier :: Lens.Lens' Channel Prelude.Text+channel_tier = Lens.lens (\Channel' {tier} -> tier) (\s@Channel' {} a -> s {tier = a} :: Channel)++instance Data.FromJSON Channel where+ parseJSON =+ Data.withObject+ "Channel"+ ( \x ->+ Channel'+ Prelude.<$> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "FillerSlate")+ Prelude.<*> (x Data..:? "LastModifiedTime")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "Arn")+ Prelude.<*> (x Data..: "ChannelName")+ Prelude.<*> (x Data..: "ChannelState")+ Prelude.<*> (x Data..:? "Outputs" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "PlaybackMode")+ Prelude.<*> (x Data..: "Tier")+ )++instance Prelude.Hashable Channel where+ hashWithSalt _salt Channel' {..} =+ _salt+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` fillerSlate+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` channelName+ `Prelude.hashWithSalt` channelState+ `Prelude.hashWithSalt` outputs+ `Prelude.hashWithSalt` playbackMode+ `Prelude.hashWithSalt` tier++instance Prelude.NFData Channel where+ rnf Channel' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf fillerSlate+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf channelState+ `Prelude.seq` Prelude.rnf outputs+ `Prelude.seq` Prelude.rnf playbackMode+ `Prelude.seq` Prelude.rnf tier
+ gen/Amazonka/MediaTailor/Types/ChannelState.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.MediaTailor.Types.ChannelState+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.ChannelState+ ( ChannelState+ ( ..,+ ChannelState_RUNNING,+ ChannelState_STOPPED+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ChannelState = ChannelState'+ { fromChannelState ::+ 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 ChannelState_RUNNING :: ChannelState+pattern ChannelState_RUNNING = ChannelState' "RUNNING"++pattern ChannelState_STOPPED :: ChannelState+pattern ChannelState_STOPPED = ChannelState' "STOPPED"++{-# COMPLETE+ ChannelState_RUNNING,+ ChannelState_STOPPED,+ ChannelState'+ #-}
+ gen/Amazonka/MediaTailor/Types/DashConfiguration.hs view
@@ -0,0 +1,137 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.DashConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.DashConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.OriginManifestType+import qualified Amazonka.Prelude as Prelude++-- | The configuration for DASH content.+--+-- /See:/ 'newDashConfiguration' smart constructor.+data DashConfiguration = DashConfiguration'+ { -- | The URL generated by MediaTailor to initiate a playback session. The+ -- session uses server-side reporting. This setting is ignored in PUT+ -- operations.+ manifestEndpointPrefix :: Prelude.Maybe Prelude.Text,+ -- | The setting that controls whether MediaTailor includes the Location tag+ -- in DASH manifests. MediaTailor populates the Location tag with the URL+ -- for manifest update requests, to be used by players that don\'t support+ -- sticky redirects. Disable this if you have CDN routing rules set up for+ -- accessing MediaTailor manifests, and you are either using client-side+ -- reporting or your players support sticky HTTP redirects. Valid values+ -- are @DISABLED@ and @EMT_DEFAULT@. The @EMT_DEFAULT@ setting enables the+ -- inclusion of the tag and is the default value.+ mpdLocation :: Prelude.Maybe Prelude.Text,+ -- | The setting that controls whether MediaTailor handles manifests from the+ -- origin server as multi-period manifests or single-period manifests. If+ -- your origin server produces single-period manifests, set this to+ -- @SINGLE_PERIOD@. The default setting is @MULTI_PERIOD@. For multi-period+ -- manifests, omit this setting or set it to @MULTI_PERIOD@.+ originManifestType :: Prelude.Maybe OriginManifestType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'manifestEndpointPrefix', 'dashConfiguration_manifestEndpointPrefix' - The URL generated by MediaTailor to initiate a playback session. The+-- session uses server-side reporting. This setting is ignored in PUT+-- operations.+--+-- 'mpdLocation', 'dashConfiguration_mpdLocation' - The setting that controls whether MediaTailor includes the Location tag+-- in DASH manifests. MediaTailor populates the Location tag with the URL+-- for manifest update requests, to be used by players that don\'t support+-- sticky redirects. Disable this if you have CDN routing rules set up for+-- accessing MediaTailor manifests, and you are either using client-side+-- reporting or your players support sticky HTTP redirects. Valid values+-- are @DISABLED@ and @EMT_DEFAULT@. The @EMT_DEFAULT@ setting enables the+-- inclusion of the tag and is the default value.+--+-- 'originManifestType', 'dashConfiguration_originManifestType' - The setting that controls whether MediaTailor handles manifests from the+-- origin server as multi-period manifests or single-period manifests. If+-- your origin server produces single-period manifests, set this to+-- @SINGLE_PERIOD@. The default setting is @MULTI_PERIOD@. For multi-period+-- manifests, omit this setting or set it to @MULTI_PERIOD@.+newDashConfiguration ::+ DashConfiguration+newDashConfiguration =+ DashConfiguration'+ { manifestEndpointPrefix =+ Prelude.Nothing,+ mpdLocation = Prelude.Nothing,+ originManifestType = Prelude.Nothing+ }++-- | The URL generated by MediaTailor to initiate a playback session. The+-- session uses server-side reporting. This setting is ignored in PUT+-- operations.+dashConfiguration_manifestEndpointPrefix :: Lens.Lens' DashConfiguration (Prelude.Maybe Prelude.Text)+dashConfiguration_manifestEndpointPrefix = Lens.lens (\DashConfiguration' {manifestEndpointPrefix} -> manifestEndpointPrefix) (\s@DashConfiguration' {} a -> s {manifestEndpointPrefix = a} :: DashConfiguration)++-- | The setting that controls whether MediaTailor includes the Location tag+-- in DASH manifests. MediaTailor populates the Location tag with the URL+-- for manifest update requests, to be used by players that don\'t support+-- sticky redirects. Disable this if you have CDN routing rules set up for+-- accessing MediaTailor manifests, and you are either using client-side+-- reporting or your players support sticky HTTP redirects. Valid values+-- are @DISABLED@ and @EMT_DEFAULT@. The @EMT_DEFAULT@ setting enables the+-- inclusion of the tag and is the default value.+dashConfiguration_mpdLocation :: Lens.Lens' DashConfiguration (Prelude.Maybe Prelude.Text)+dashConfiguration_mpdLocation = Lens.lens (\DashConfiguration' {mpdLocation} -> mpdLocation) (\s@DashConfiguration' {} a -> s {mpdLocation = a} :: DashConfiguration)++-- | The setting that controls whether MediaTailor handles manifests from the+-- origin server as multi-period manifests or single-period manifests. If+-- your origin server produces single-period manifests, set this to+-- @SINGLE_PERIOD@. The default setting is @MULTI_PERIOD@. For multi-period+-- manifests, omit this setting or set it to @MULTI_PERIOD@.+dashConfiguration_originManifestType :: Lens.Lens' DashConfiguration (Prelude.Maybe OriginManifestType)+dashConfiguration_originManifestType = Lens.lens (\DashConfiguration' {originManifestType} -> originManifestType) (\s@DashConfiguration' {} a -> s {originManifestType = a} :: DashConfiguration)++instance Data.FromJSON DashConfiguration where+ parseJSON =+ Data.withObject+ "DashConfiguration"+ ( \x ->+ DashConfiguration'+ Prelude.<$> (x Data..:? "ManifestEndpointPrefix")+ Prelude.<*> (x Data..:? "MpdLocation")+ Prelude.<*> (x Data..:? "OriginManifestType")+ )++instance Prelude.Hashable DashConfiguration where+ hashWithSalt _salt DashConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` manifestEndpointPrefix+ `Prelude.hashWithSalt` mpdLocation+ `Prelude.hashWithSalt` originManifestType++instance Prelude.NFData DashConfiguration where+ rnf DashConfiguration' {..} =+ Prelude.rnf manifestEndpointPrefix+ `Prelude.seq` Prelude.rnf mpdLocation+ `Prelude.seq` Prelude.rnf originManifestType
+ gen/Amazonka/MediaTailor/Types/DashConfigurationForPut.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.MediaTailor.Types.DashConfigurationForPut+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.DashConfigurationForPut where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.OriginManifestType+import qualified Amazonka.Prelude as Prelude++-- | The configuration for DASH PUT operations.+--+-- /See:/ 'newDashConfigurationForPut' smart constructor.+data DashConfigurationForPut = DashConfigurationForPut'+ { -- | The setting that controls whether MediaTailor includes the Location tag+ -- in DASH manifests. MediaTailor populates the Location tag with the URL+ -- for manifest update requests, to be used by players that don\'t support+ -- sticky redirects. Disable this if you have CDN routing rules set up for+ -- accessing MediaTailor manifests, and you are either using client-side+ -- reporting or your players support sticky HTTP redirects. Valid values+ -- are @DISABLED@ and @EMT_DEFAULT@. The @EMT_DEFAULT@ setting enables the+ -- inclusion of the tag and is the default value.+ mpdLocation :: Prelude.Maybe Prelude.Text,+ -- | The setting that controls whether MediaTailor handles manifests from the+ -- origin server as multi-period manifests or single-period manifests. If+ -- your origin server produces single-period manifests, set this to+ -- @SINGLE_PERIOD@. The default setting is @MULTI_PERIOD@. For multi-period+ -- manifests, omit this setting or set it to @MULTI_PERIOD@.+ originManifestType :: Prelude.Maybe OriginManifestType+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashConfigurationForPut' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mpdLocation', 'dashConfigurationForPut_mpdLocation' - The setting that controls whether MediaTailor includes the Location tag+-- in DASH manifests. MediaTailor populates the Location tag with the URL+-- for manifest update requests, to be used by players that don\'t support+-- sticky redirects. Disable this if you have CDN routing rules set up for+-- accessing MediaTailor manifests, and you are either using client-side+-- reporting or your players support sticky HTTP redirects. Valid values+-- are @DISABLED@ and @EMT_DEFAULT@. The @EMT_DEFAULT@ setting enables the+-- inclusion of the tag and is the default value.+--+-- 'originManifestType', 'dashConfigurationForPut_originManifestType' - The setting that controls whether MediaTailor handles manifests from the+-- origin server as multi-period manifests or single-period manifests. If+-- your origin server produces single-period manifests, set this to+-- @SINGLE_PERIOD@. The default setting is @MULTI_PERIOD@. For multi-period+-- manifests, omit this setting or set it to @MULTI_PERIOD@.+newDashConfigurationForPut ::+ DashConfigurationForPut+newDashConfigurationForPut =+ DashConfigurationForPut'+ { mpdLocation =+ Prelude.Nothing,+ originManifestType = Prelude.Nothing+ }++-- | The setting that controls whether MediaTailor includes the Location tag+-- in DASH manifests. MediaTailor populates the Location tag with the URL+-- for manifest update requests, to be used by players that don\'t support+-- sticky redirects. Disable this if you have CDN routing rules set up for+-- accessing MediaTailor manifests, and you are either using client-side+-- reporting or your players support sticky HTTP redirects. Valid values+-- are @DISABLED@ and @EMT_DEFAULT@. The @EMT_DEFAULT@ setting enables the+-- inclusion of the tag and is the default value.+dashConfigurationForPut_mpdLocation :: Lens.Lens' DashConfigurationForPut (Prelude.Maybe Prelude.Text)+dashConfigurationForPut_mpdLocation = Lens.lens (\DashConfigurationForPut' {mpdLocation} -> mpdLocation) (\s@DashConfigurationForPut' {} a -> s {mpdLocation = a} :: DashConfigurationForPut)++-- | The setting that controls whether MediaTailor handles manifests from the+-- origin server as multi-period manifests or single-period manifests. If+-- your origin server produces single-period manifests, set this to+-- @SINGLE_PERIOD@. The default setting is @MULTI_PERIOD@. For multi-period+-- manifests, omit this setting or set it to @MULTI_PERIOD@.+dashConfigurationForPut_originManifestType :: Lens.Lens' DashConfigurationForPut (Prelude.Maybe OriginManifestType)+dashConfigurationForPut_originManifestType = Lens.lens (\DashConfigurationForPut' {originManifestType} -> originManifestType) (\s@DashConfigurationForPut' {} a -> s {originManifestType = a} :: DashConfigurationForPut)++instance Prelude.Hashable DashConfigurationForPut where+ hashWithSalt _salt DashConfigurationForPut' {..} =+ _salt+ `Prelude.hashWithSalt` mpdLocation+ `Prelude.hashWithSalt` originManifestType++instance Prelude.NFData DashConfigurationForPut where+ rnf DashConfigurationForPut' {..} =+ Prelude.rnf mpdLocation+ `Prelude.seq` Prelude.rnf originManifestType++instance Data.ToJSON DashConfigurationForPut where+ toJSON DashConfigurationForPut' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("MpdLocation" Data..=) Prelude.<$> mpdLocation,+ ("OriginManifestType" Data..=)+ Prelude.<$> originManifestType+ ]+ )
+ gen/Amazonka/MediaTailor/Types/DashPlaylistSettings.hs view
@@ -0,0 +1,145 @@+{-# 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.MediaTailor.Types.DashPlaylistSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.DashPlaylistSettings 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++-- | Dash manifest configuration parameters.+--+-- /See:/ 'newDashPlaylistSettings' smart constructor.+data DashPlaylistSettings = DashPlaylistSettings'+ { -- | The total duration (in seconds) of each manifest. Minimum value: @30@+ -- seconds. Maximum value: @3600@ seconds.+ manifestWindowSeconds :: Prelude.Maybe Prelude.Int,+ -- | Minimum amount of content (measured in seconds) that a player must keep+ -- available in the buffer. Minimum value: @2@ seconds. Maximum value: @60@+ -- seconds.+ minBufferTimeSeconds :: Prelude.Maybe Prelude.Int,+ -- | Minimum amount of time (in seconds) that the player should wait before+ -- requesting updates to the manifest. Minimum value: @2@ seconds. Maximum+ -- value: @60@ seconds.+ minUpdatePeriodSeconds :: Prelude.Maybe Prelude.Int,+ -- | Amount of time (in seconds) that the player should be from the live+ -- point at the end of the manifest. Minimum value: @2@ seconds. Maximum+ -- value: @60@ seconds.+ suggestedPresentationDelaySeconds :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DashPlaylistSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'manifestWindowSeconds', 'dashPlaylistSettings_manifestWindowSeconds' - The total duration (in seconds) of each manifest. Minimum value: @30@+-- seconds. Maximum value: @3600@ seconds.+--+-- 'minBufferTimeSeconds', 'dashPlaylistSettings_minBufferTimeSeconds' - Minimum amount of content (measured in seconds) that a player must keep+-- available in the buffer. Minimum value: @2@ seconds. Maximum value: @60@+-- seconds.+--+-- 'minUpdatePeriodSeconds', 'dashPlaylistSettings_minUpdatePeriodSeconds' - Minimum amount of time (in seconds) that the player should wait before+-- requesting updates to the manifest. Minimum value: @2@ seconds. Maximum+-- value: @60@ seconds.+--+-- 'suggestedPresentationDelaySeconds', 'dashPlaylistSettings_suggestedPresentationDelaySeconds' - Amount of time (in seconds) that the player should be from the live+-- point at the end of the manifest. Minimum value: @2@ seconds. Maximum+-- value: @60@ seconds.+newDashPlaylistSettings ::+ DashPlaylistSettings+newDashPlaylistSettings =+ DashPlaylistSettings'+ { manifestWindowSeconds =+ Prelude.Nothing,+ minBufferTimeSeconds = Prelude.Nothing,+ minUpdatePeriodSeconds = Prelude.Nothing,+ suggestedPresentationDelaySeconds = Prelude.Nothing+ }++-- | The total duration (in seconds) of each manifest. Minimum value: @30@+-- seconds. Maximum value: @3600@ seconds.+dashPlaylistSettings_manifestWindowSeconds :: Lens.Lens' DashPlaylistSettings (Prelude.Maybe Prelude.Int)+dashPlaylistSettings_manifestWindowSeconds = Lens.lens (\DashPlaylistSettings' {manifestWindowSeconds} -> manifestWindowSeconds) (\s@DashPlaylistSettings' {} a -> s {manifestWindowSeconds = a} :: DashPlaylistSettings)++-- | Minimum amount of content (measured in seconds) that a player must keep+-- available in the buffer. Minimum value: @2@ seconds. Maximum value: @60@+-- seconds.+dashPlaylistSettings_minBufferTimeSeconds :: Lens.Lens' DashPlaylistSettings (Prelude.Maybe Prelude.Int)+dashPlaylistSettings_minBufferTimeSeconds = Lens.lens (\DashPlaylistSettings' {minBufferTimeSeconds} -> minBufferTimeSeconds) (\s@DashPlaylistSettings' {} a -> s {minBufferTimeSeconds = a} :: DashPlaylistSettings)++-- | Minimum amount of time (in seconds) that the player should wait before+-- requesting updates to the manifest. Minimum value: @2@ seconds. Maximum+-- value: @60@ seconds.+dashPlaylistSettings_minUpdatePeriodSeconds :: Lens.Lens' DashPlaylistSettings (Prelude.Maybe Prelude.Int)+dashPlaylistSettings_minUpdatePeriodSeconds = Lens.lens (\DashPlaylistSettings' {minUpdatePeriodSeconds} -> minUpdatePeriodSeconds) (\s@DashPlaylistSettings' {} a -> s {minUpdatePeriodSeconds = a} :: DashPlaylistSettings)++-- | Amount of time (in seconds) that the player should be from the live+-- point at the end of the manifest. Minimum value: @2@ seconds. Maximum+-- value: @60@ seconds.+dashPlaylistSettings_suggestedPresentationDelaySeconds :: Lens.Lens' DashPlaylistSettings (Prelude.Maybe Prelude.Int)+dashPlaylistSettings_suggestedPresentationDelaySeconds = Lens.lens (\DashPlaylistSettings' {suggestedPresentationDelaySeconds} -> suggestedPresentationDelaySeconds) (\s@DashPlaylistSettings' {} a -> s {suggestedPresentationDelaySeconds = a} :: DashPlaylistSettings)++instance Data.FromJSON DashPlaylistSettings where+ parseJSON =+ Data.withObject+ "DashPlaylistSettings"+ ( \x ->+ DashPlaylistSettings'+ Prelude.<$> (x Data..:? "ManifestWindowSeconds")+ Prelude.<*> (x Data..:? "MinBufferTimeSeconds")+ Prelude.<*> (x Data..:? "MinUpdatePeriodSeconds")+ Prelude.<*> (x Data..:? "SuggestedPresentationDelaySeconds")+ )++instance Prelude.Hashable DashPlaylistSettings where+ hashWithSalt _salt DashPlaylistSettings' {..} =+ _salt+ `Prelude.hashWithSalt` manifestWindowSeconds+ `Prelude.hashWithSalt` minBufferTimeSeconds+ `Prelude.hashWithSalt` minUpdatePeriodSeconds+ `Prelude.hashWithSalt` suggestedPresentationDelaySeconds++instance Prelude.NFData DashPlaylistSettings where+ rnf DashPlaylistSettings' {..} =+ Prelude.rnf manifestWindowSeconds+ `Prelude.seq` Prelude.rnf minBufferTimeSeconds+ `Prelude.seq` Prelude.rnf minUpdatePeriodSeconds+ `Prelude.seq` Prelude.rnf suggestedPresentationDelaySeconds++instance Data.ToJSON DashPlaylistSettings where+ toJSON DashPlaylistSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ManifestWindowSeconds" Data..=)+ Prelude.<$> manifestWindowSeconds,+ ("MinBufferTimeSeconds" Data..=)+ Prelude.<$> minBufferTimeSeconds,+ ("MinUpdatePeriodSeconds" Data..=)+ Prelude.<$> minUpdatePeriodSeconds,+ ("SuggestedPresentationDelaySeconds" Data..=)+ Prelude.<$> suggestedPresentationDelaySeconds+ ]+ )
+ gen/Amazonka/MediaTailor/Types/DefaultSegmentDeliveryConfiguration.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.DefaultSegmentDeliveryConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.DefaultSegmentDeliveryConfiguration 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 optional configuration for a server that serves segments. Use this+-- if you want the segment delivery server to be different from the source+-- location server. For example, you can configure your source location+-- server to be an origination server, such as MediaPackage, and the+-- segment delivery server to be a content delivery network (CDN), such as+-- CloudFront. If you don\'t specify a segment delivery server, then the+-- source location server is used.+--+-- /See:/ 'newDefaultSegmentDeliveryConfiguration' smart constructor.+data DefaultSegmentDeliveryConfiguration = DefaultSegmentDeliveryConfiguration'+ { -- | The hostname of the server that will be used to serve segments. This+ -- string must include the protocol, such as __https:\/\/__.+ baseUrl :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DefaultSegmentDeliveryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'baseUrl', 'defaultSegmentDeliveryConfiguration_baseUrl' - The hostname of the server that will be used to serve segments. This+-- string must include the protocol, such as __https:\/\/__.+newDefaultSegmentDeliveryConfiguration ::+ DefaultSegmentDeliveryConfiguration+newDefaultSegmentDeliveryConfiguration =+ DefaultSegmentDeliveryConfiguration'+ { baseUrl =+ Prelude.Nothing+ }++-- | The hostname of the server that will be used to serve segments. This+-- string must include the protocol, such as __https:\/\/__.+defaultSegmentDeliveryConfiguration_baseUrl :: Lens.Lens' DefaultSegmentDeliveryConfiguration (Prelude.Maybe Prelude.Text)+defaultSegmentDeliveryConfiguration_baseUrl = Lens.lens (\DefaultSegmentDeliveryConfiguration' {baseUrl} -> baseUrl) (\s@DefaultSegmentDeliveryConfiguration' {} a -> s {baseUrl = a} :: DefaultSegmentDeliveryConfiguration)++instance+ Data.FromJSON+ DefaultSegmentDeliveryConfiguration+ where+ parseJSON =+ Data.withObject+ "DefaultSegmentDeliveryConfiguration"+ ( \x ->+ DefaultSegmentDeliveryConfiguration'+ Prelude.<$> (x Data..:? "BaseUrl")+ )++instance+ Prelude.Hashable+ DefaultSegmentDeliveryConfiguration+ where+ hashWithSalt+ _salt+ DefaultSegmentDeliveryConfiguration' {..} =+ _salt `Prelude.hashWithSalt` baseUrl++instance+ Prelude.NFData+ DefaultSegmentDeliveryConfiguration+ where+ rnf DefaultSegmentDeliveryConfiguration' {..} =+ Prelude.rnf baseUrl++instance+ Data.ToJSON+ DefaultSegmentDeliveryConfiguration+ where+ toJSON DefaultSegmentDeliveryConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [("BaseUrl" Data..=) Prelude.<$> baseUrl]+ )
+ gen/Amazonka/MediaTailor/Types/HlsConfiguration.hs view
@@ -0,0 +1,75 @@+{-# 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.MediaTailor.Types.HlsConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.HlsConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration for HLS content.+--+-- /See:/ 'newHlsConfiguration' smart constructor.+data HlsConfiguration = HlsConfiguration'+ { -- | The URL that is used to initiate a playback session for devices that+ -- support Apple HLS. The session uses server-side reporting.+ manifestEndpointPrefix :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HlsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'manifestEndpointPrefix', 'hlsConfiguration_manifestEndpointPrefix' - The URL that is used to initiate a playback session for devices that+-- support Apple HLS. The session uses server-side reporting.+newHlsConfiguration ::+ HlsConfiguration+newHlsConfiguration =+ HlsConfiguration'+ { manifestEndpointPrefix =+ Prelude.Nothing+ }++-- | The URL that is used to initiate a playback session for devices that+-- support Apple HLS. The session uses server-side reporting.+hlsConfiguration_manifestEndpointPrefix :: Lens.Lens' HlsConfiguration (Prelude.Maybe Prelude.Text)+hlsConfiguration_manifestEndpointPrefix = Lens.lens (\HlsConfiguration' {manifestEndpointPrefix} -> manifestEndpointPrefix) (\s@HlsConfiguration' {} a -> s {manifestEndpointPrefix = a} :: HlsConfiguration)++instance Data.FromJSON HlsConfiguration where+ parseJSON =+ Data.withObject+ "HlsConfiguration"+ ( \x ->+ HlsConfiguration'+ Prelude.<$> (x Data..:? "ManifestEndpointPrefix")+ )++instance Prelude.Hashable HlsConfiguration where+ hashWithSalt _salt HlsConfiguration' {..} =+ _salt `Prelude.hashWithSalt` manifestEndpointPrefix++instance Prelude.NFData HlsConfiguration where+ rnf HlsConfiguration' {..} =+ Prelude.rnf manifestEndpointPrefix
+ gen/Amazonka/MediaTailor/Types/HlsPlaylistSettings.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.HlsPlaylistSettings+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.HlsPlaylistSettings 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++-- | HLS playlist configuration parameters.+--+-- /See:/ 'newHlsPlaylistSettings' smart constructor.+data HlsPlaylistSettings = HlsPlaylistSettings'+ { -- | The total duration (in seconds) of each manifest. Minimum value: @30@+ -- seconds. Maximum value: @3600@ seconds.+ manifestWindowSeconds :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HlsPlaylistSettings' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'manifestWindowSeconds', 'hlsPlaylistSettings_manifestWindowSeconds' - The total duration (in seconds) of each manifest. Minimum value: @30@+-- seconds. Maximum value: @3600@ seconds.+newHlsPlaylistSettings ::+ HlsPlaylistSettings+newHlsPlaylistSettings =+ HlsPlaylistSettings'+ { manifestWindowSeconds =+ Prelude.Nothing+ }++-- | The total duration (in seconds) of each manifest. Minimum value: @30@+-- seconds. Maximum value: @3600@ seconds.+hlsPlaylistSettings_manifestWindowSeconds :: Lens.Lens' HlsPlaylistSettings (Prelude.Maybe Prelude.Int)+hlsPlaylistSettings_manifestWindowSeconds = Lens.lens (\HlsPlaylistSettings' {manifestWindowSeconds} -> manifestWindowSeconds) (\s@HlsPlaylistSettings' {} a -> s {manifestWindowSeconds = a} :: HlsPlaylistSettings)++instance Data.FromJSON HlsPlaylistSettings where+ parseJSON =+ Data.withObject+ "HlsPlaylistSettings"+ ( \x ->+ HlsPlaylistSettings'+ Prelude.<$> (x Data..:? "ManifestWindowSeconds")+ )++instance Prelude.Hashable HlsPlaylistSettings where+ hashWithSalt _salt HlsPlaylistSettings' {..} =+ _salt `Prelude.hashWithSalt` manifestWindowSeconds++instance Prelude.NFData HlsPlaylistSettings where+ rnf HlsPlaylistSettings' {..} =+ Prelude.rnf manifestWindowSeconds++instance Data.ToJSON HlsPlaylistSettings where+ toJSON HlsPlaylistSettings' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("ManifestWindowSeconds" Data..=)+ Prelude.<$> manifestWindowSeconds+ ]+ )
+ gen/Amazonka/MediaTailor/Types/HttpConfiguration.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.HttpConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.HttpConfiguration 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 HTTP configuration for the source location.+--+-- /See:/ 'newHttpConfiguration' smart constructor.+data HttpConfiguration = HttpConfiguration'+ { -- | The base URL for the source location host server. This string must+ -- include the protocol, such as __https:\/\/__.+ baseUrl :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HttpConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'baseUrl', 'httpConfiguration_baseUrl' - The base URL for the source location host server. This string must+-- include the protocol, such as __https:\/\/__.+newHttpConfiguration ::+ -- | 'baseUrl'+ Prelude.Text ->+ HttpConfiguration+newHttpConfiguration pBaseUrl_ =+ HttpConfiguration' {baseUrl = pBaseUrl_}++-- | The base URL for the source location host server. This string must+-- include the protocol, such as __https:\/\/__.+httpConfiguration_baseUrl :: Lens.Lens' HttpConfiguration Prelude.Text+httpConfiguration_baseUrl = Lens.lens (\HttpConfiguration' {baseUrl} -> baseUrl) (\s@HttpConfiguration' {} a -> s {baseUrl = a} :: HttpConfiguration)++instance Data.FromJSON HttpConfiguration where+ parseJSON =+ Data.withObject+ "HttpConfiguration"+ ( \x ->+ HttpConfiguration' Prelude.<$> (x Data..: "BaseUrl")+ )++instance Prelude.Hashable HttpConfiguration where+ hashWithSalt _salt HttpConfiguration' {..} =+ _salt `Prelude.hashWithSalt` baseUrl++instance Prelude.NFData HttpConfiguration where+ rnf HttpConfiguration' {..} = Prelude.rnf baseUrl++instance Data.ToJSON HttpConfiguration where+ toJSON HttpConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("BaseUrl" Data..= baseUrl)]+ )
+ gen/Amazonka/MediaTailor/Types/HttpPackageConfiguration.hs view
@@ -0,0 +1,125 @@+{-# 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.MediaTailor.Types.HttpPackageConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.HttpPackageConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.Type+import qualified Amazonka.Prelude as Prelude++-- | The HTTP package configuration properties for the requested VOD source.+--+-- /See:/ 'newHttpPackageConfiguration' smart constructor.+data HttpPackageConfiguration = HttpPackageConfiguration'+ { -- | The relative path to the URL for this VOD source. This is combined with+ -- @SourceLocation::HttpConfiguration::BaseUrl@ to form a valid URL.+ path :: Prelude.Text,+ -- | The name of the source group. This has to match one of the+ -- @Channel::Outputs::SourceGroup@.+ sourceGroup :: Prelude.Text,+ -- | The streaming protocol for this package configuration. Supported values+ -- are @HLS@ and @DASH@.+ type' :: Type+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HttpPackageConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'path', 'httpPackageConfiguration_path' - The relative path to the URL for this VOD source. This is combined with+-- @SourceLocation::HttpConfiguration::BaseUrl@ to form a valid URL.+--+-- 'sourceGroup', 'httpPackageConfiguration_sourceGroup' - The name of the source group. This has to match one of the+-- @Channel::Outputs::SourceGroup@.+--+-- 'type'', 'httpPackageConfiguration_type' - The streaming protocol for this package configuration. Supported values+-- are @HLS@ and @DASH@.+newHttpPackageConfiguration ::+ -- | 'path'+ Prelude.Text ->+ -- | 'sourceGroup'+ Prelude.Text ->+ -- | 'type''+ Type ->+ HttpPackageConfiguration+newHttpPackageConfiguration+ pPath_+ pSourceGroup_+ pType_ =+ HttpPackageConfiguration'+ { path = pPath_,+ sourceGroup = pSourceGroup_,+ type' = pType_+ }++-- | The relative path to the URL for this VOD source. This is combined with+-- @SourceLocation::HttpConfiguration::BaseUrl@ to form a valid URL.+httpPackageConfiguration_path :: Lens.Lens' HttpPackageConfiguration Prelude.Text+httpPackageConfiguration_path = Lens.lens (\HttpPackageConfiguration' {path} -> path) (\s@HttpPackageConfiguration' {} a -> s {path = a} :: HttpPackageConfiguration)++-- | The name of the source group. This has to match one of the+-- @Channel::Outputs::SourceGroup@.+httpPackageConfiguration_sourceGroup :: Lens.Lens' HttpPackageConfiguration Prelude.Text+httpPackageConfiguration_sourceGroup = Lens.lens (\HttpPackageConfiguration' {sourceGroup} -> sourceGroup) (\s@HttpPackageConfiguration' {} a -> s {sourceGroup = a} :: HttpPackageConfiguration)++-- | The streaming protocol for this package configuration. Supported values+-- are @HLS@ and @DASH@.+httpPackageConfiguration_type :: Lens.Lens' HttpPackageConfiguration Type+httpPackageConfiguration_type = Lens.lens (\HttpPackageConfiguration' {type'} -> type') (\s@HttpPackageConfiguration' {} a -> s {type' = a} :: HttpPackageConfiguration)++instance Data.FromJSON HttpPackageConfiguration where+ parseJSON =+ Data.withObject+ "HttpPackageConfiguration"+ ( \x ->+ HttpPackageConfiguration'+ Prelude.<$> (x Data..: "Path")+ Prelude.<*> (x Data..: "SourceGroup")+ Prelude.<*> (x Data..: "Type")+ )++instance Prelude.Hashable HttpPackageConfiguration where+ hashWithSalt _salt HttpPackageConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` path+ `Prelude.hashWithSalt` sourceGroup+ `Prelude.hashWithSalt` type'++instance Prelude.NFData HttpPackageConfiguration where+ rnf HttpPackageConfiguration' {..} =+ Prelude.rnf path+ `Prelude.seq` Prelude.rnf sourceGroup+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON HttpPackageConfiguration where+ toJSON HttpPackageConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just ("Path" Data..= path),+ Prelude.Just ("SourceGroup" Data..= sourceGroup),+ Prelude.Just ("Type" Data..= type')+ ]+ )
+ gen/Amazonka/MediaTailor/Types/LivePreRollConfiguration.hs view
@@ -0,0 +1,117 @@+{-# 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.MediaTailor.Types.LivePreRollConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.LivePreRollConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | The configuration for pre-roll ad insertion.+--+-- /See:/ 'newLivePreRollConfiguration' smart constructor.+data LivePreRollConfiguration = LivePreRollConfiguration'+ { -- | The URL for the ad decision server (ADS) for pre-roll ads. This includes+ -- the specification of static parameters and placeholders for dynamic+ -- parameters. AWS Elemental MediaTailor substitutes player-specific and+ -- session-specific parameters as needed when calling the ADS. Alternately,+ -- for testing, you can provide a static VAST URL. The maximum length is+ -- 25,000 characters.+ adDecisionServerUrl :: Prelude.Maybe Prelude.Text,+ -- | The maximum allowed duration for the pre-roll ad avail. AWS Elemental+ -- MediaTailor won\'t play pre-roll ads to exceed this duration, regardless+ -- of the total duration of ads that the ADS returns.+ maxDurationSeconds :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LivePreRollConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adDecisionServerUrl', 'livePreRollConfiguration_adDecisionServerUrl' - The URL for the ad decision server (ADS) for pre-roll ads. This includes+-- the specification of static parameters and placeholders for dynamic+-- parameters. AWS Elemental MediaTailor substitutes player-specific and+-- session-specific parameters as needed when calling the ADS. Alternately,+-- for testing, you can provide a static VAST URL. The maximum length is+-- 25,000 characters.+--+-- 'maxDurationSeconds', 'livePreRollConfiguration_maxDurationSeconds' - The maximum allowed duration for the pre-roll ad avail. AWS Elemental+-- MediaTailor won\'t play pre-roll ads to exceed this duration, regardless+-- of the total duration of ads that the ADS returns.+newLivePreRollConfiguration ::+ LivePreRollConfiguration+newLivePreRollConfiguration =+ LivePreRollConfiguration'+ { adDecisionServerUrl =+ Prelude.Nothing,+ maxDurationSeconds = Prelude.Nothing+ }++-- | The URL for the ad decision server (ADS) for pre-roll ads. This includes+-- the specification of static parameters and placeholders for dynamic+-- parameters. AWS Elemental MediaTailor substitutes player-specific and+-- session-specific parameters as needed when calling the ADS. Alternately,+-- for testing, you can provide a static VAST URL. The maximum length is+-- 25,000 characters.+livePreRollConfiguration_adDecisionServerUrl :: Lens.Lens' LivePreRollConfiguration (Prelude.Maybe Prelude.Text)+livePreRollConfiguration_adDecisionServerUrl = Lens.lens (\LivePreRollConfiguration' {adDecisionServerUrl} -> adDecisionServerUrl) (\s@LivePreRollConfiguration' {} a -> s {adDecisionServerUrl = a} :: LivePreRollConfiguration)++-- | The maximum allowed duration for the pre-roll ad avail. AWS Elemental+-- MediaTailor won\'t play pre-roll ads to exceed this duration, regardless+-- of the total duration of ads that the ADS returns.+livePreRollConfiguration_maxDurationSeconds :: Lens.Lens' LivePreRollConfiguration (Prelude.Maybe Prelude.Int)+livePreRollConfiguration_maxDurationSeconds = Lens.lens (\LivePreRollConfiguration' {maxDurationSeconds} -> maxDurationSeconds) (\s@LivePreRollConfiguration' {} a -> s {maxDurationSeconds = a} :: LivePreRollConfiguration)++instance Data.FromJSON LivePreRollConfiguration where+ parseJSON =+ Data.withObject+ "LivePreRollConfiguration"+ ( \x ->+ LivePreRollConfiguration'+ Prelude.<$> (x Data..:? "AdDecisionServerUrl")+ Prelude.<*> (x Data..:? "MaxDurationSeconds")+ )++instance Prelude.Hashable LivePreRollConfiguration where+ hashWithSalt _salt LivePreRollConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` adDecisionServerUrl+ `Prelude.hashWithSalt` maxDurationSeconds++instance Prelude.NFData LivePreRollConfiguration where+ rnf LivePreRollConfiguration' {..} =+ Prelude.rnf adDecisionServerUrl+ `Prelude.seq` Prelude.rnf maxDurationSeconds++instance Data.ToJSON LivePreRollConfiguration where+ toJSON LivePreRollConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AdDecisionServerUrl" Data..=)+ Prelude.<$> adDecisionServerUrl,+ ("MaxDurationSeconds" Data..=)+ Prelude.<$> maxDurationSeconds+ ]+ )
+ gen/Amazonka/MediaTailor/Types/LiveSource.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.MediaTailor.Types.LiveSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.LiveSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.HttpPackageConfiguration+import qualified Amazonka.Prelude as Prelude++-- | Live source configuration parameters.+--+-- /See:/ 'newLiveSource' smart constructor.+data LiveSource = LiveSource'+ { -- | The timestamp that indicates when the live source was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The timestamp that indicates when the live source was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The tags assigned to the live source. Tags are key-value pairs that you+ -- can associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ARN for the live source.+ arn :: Prelude.Text,+ -- | The HTTP package configurations for the live source.+ httpPackageConfigurations :: [HttpPackageConfiguration],+ -- | The name that\'s used to refer to a live source.+ liveSourceName :: Prelude.Text,+ -- | The name of the source location.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LiveSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'liveSource_creationTime' - The timestamp that indicates when the live source was created.+--+-- 'lastModifiedTime', 'liveSource_lastModifiedTime' - The timestamp that indicates when the live source was last modified.+--+-- 'tags', 'liveSource_tags' - The tags assigned to the live source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'arn', 'liveSource_arn' - The ARN for the live source.+--+-- 'httpPackageConfigurations', 'liveSource_httpPackageConfigurations' - The HTTP package configurations for the live source.+--+-- 'liveSourceName', 'liveSource_liveSourceName' - The name that\'s used to refer to a live source.+--+-- 'sourceLocationName', 'liveSource_sourceLocationName' - The name of the source location.+newLiveSource ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'liveSourceName'+ Prelude.Text ->+ -- | 'sourceLocationName'+ Prelude.Text ->+ LiveSource+newLiveSource+ pArn_+ pLiveSourceName_+ pSourceLocationName_ =+ LiveSource'+ { creationTime = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ tags = Prelude.Nothing,+ arn = pArn_,+ httpPackageConfigurations = Prelude.mempty,+ liveSourceName = pLiveSourceName_,+ sourceLocationName = pSourceLocationName_+ }++-- | The timestamp that indicates when the live source was created.+liveSource_creationTime :: Lens.Lens' LiveSource (Prelude.Maybe Prelude.UTCTime)+liveSource_creationTime = Lens.lens (\LiveSource' {creationTime} -> creationTime) (\s@LiveSource' {} a -> s {creationTime = a} :: LiveSource) Prelude.. Lens.mapping Data._Time++-- | The timestamp that indicates when the live source was last modified.+liveSource_lastModifiedTime :: Lens.Lens' LiveSource (Prelude.Maybe Prelude.UTCTime)+liveSource_lastModifiedTime = Lens.lens (\LiveSource' {lastModifiedTime} -> lastModifiedTime) (\s@LiveSource' {} a -> s {lastModifiedTime = a} :: LiveSource) Prelude.. Lens.mapping Data._Time++-- | The tags assigned to the live source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+liveSource_tags :: Lens.Lens' LiveSource (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+liveSource_tags = Lens.lens (\LiveSource' {tags} -> tags) (\s@LiveSource' {} a -> s {tags = a} :: LiveSource) Prelude.. Lens.mapping Lens.coerced++-- | The ARN for the live source.+liveSource_arn :: Lens.Lens' LiveSource Prelude.Text+liveSource_arn = Lens.lens (\LiveSource' {arn} -> arn) (\s@LiveSource' {} a -> s {arn = a} :: LiveSource)++-- | The HTTP package configurations for the live source.+liveSource_httpPackageConfigurations :: Lens.Lens' LiveSource [HttpPackageConfiguration]+liveSource_httpPackageConfigurations = Lens.lens (\LiveSource' {httpPackageConfigurations} -> httpPackageConfigurations) (\s@LiveSource' {} a -> s {httpPackageConfigurations = a} :: LiveSource) Prelude.. Lens.coerced++-- | The name that\'s used to refer to a live source.+liveSource_liveSourceName :: Lens.Lens' LiveSource Prelude.Text+liveSource_liveSourceName = Lens.lens (\LiveSource' {liveSourceName} -> liveSourceName) (\s@LiveSource' {} a -> s {liveSourceName = a} :: LiveSource)++-- | The name of the source location.+liveSource_sourceLocationName :: Lens.Lens' LiveSource Prelude.Text+liveSource_sourceLocationName = Lens.lens (\LiveSource' {sourceLocationName} -> sourceLocationName) (\s@LiveSource' {} a -> s {sourceLocationName = a} :: LiveSource)++instance Data.FromJSON LiveSource where+ parseJSON =+ Data.withObject+ "LiveSource"+ ( \x ->+ LiveSource'+ Prelude.<$> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "LastModifiedTime")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "Arn")+ Prelude.<*> ( x+ Data..:? "HttpPackageConfigurations"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..: "LiveSourceName")+ Prelude.<*> (x Data..: "SourceLocationName")+ )++instance Prelude.Hashable LiveSource where+ hashWithSalt _salt LiveSource' {..} =+ _salt+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` httpPackageConfigurations+ `Prelude.hashWithSalt` liveSourceName+ `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData LiveSource where+ rnf LiveSource' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpPackageConfigurations+ `Prelude.seq` Prelude.rnf liveSourceName+ `Prelude.seq` Prelude.rnf sourceLocationName
+ gen/Amazonka/MediaTailor/Types/LogConfiguration.hs view
@@ -0,0 +1,98 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.LogConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.LogConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | Returns Amazon CloudWatch log settings for a playback configuration.+--+-- /See:/ 'newLogConfiguration' smart constructor.+data LogConfiguration = LogConfiguration'+ { -- | The percentage of session logs that MediaTailor sends to your Cloudwatch+ -- Logs account. For example, if your playback configuration has 1000+ -- sessions and @percentEnabled@ is set to @60@, MediaTailor sends logs for+ -- 600 of the sessions to CloudWatch Logs. MediaTailor decides at random+ -- which of the playback configuration sessions to send logs for. If you+ -- want to view logs for a specific session, you can use the+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/debug-log-mode.html debug log mode>.+ --+ -- Valid values: @0@ - @100@+ percentEnabled :: Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LogConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'percentEnabled', 'logConfiguration_percentEnabled' - The percentage of session logs that MediaTailor sends to your Cloudwatch+-- Logs account. For example, if your playback configuration has 1000+-- sessions and @percentEnabled@ is set to @60@, MediaTailor sends logs for+-- 600 of the sessions to CloudWatch Logs. MediaTailor decides at random+-- which of the playback configuration sessions to send logs for. If you+-- want to view logs for a specific session, you can use the+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/debug-log-mode.html debug log mode>.+--+-- Valid values: @0@ - @100@+newLogConfiguration ::+ -- | 'percentEnabled'+ Prelude.Int ->+ LogConfiguration+newLogConfiguration pPercentEnabled_ =+ LogConfiguration'+ { percentEnabled =+ pPercentEnabled_+ }++-- | The percentage of session logs that MediaTailor sends to your Cloudwatch+-- Logs account. For example, if your playback configuration has 1000+-- sessions and @percentEnabled@ is set to @60@, MediaTailor sends logs for+-- 600 of the sessions to CloudWatch Logs. MediaTailor decides at random+-- which of the playback configuration sessions to send logs for. If you+-- want to view logs for a specific session, you can use the+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/debug-log-mode.html debug log mode>.+--+-- Valid values: @0@ - @100@+logConfiguration_percentEnabled :: Lens.Lens' LogConfiguration Prelude.Int+logConfiguration_percentEnabled = Lens.lens (\LogConfiguration' {percentEnabled} -> percentEnabled) (\s@LogConfiguration' {} a -> s {percentEnabled = a} :: LogConfiguration)++instance Data.FromJSON LogConfiguration where+ parseJSON =+ Data.withObject+ "LogConfiguration"+ ( \x ->+ LogConfiguration'+ Prelude.<$> (x Data..: "PercentEnabled")+ )++instance Prelude.Hashable LogConfiguration where+ hashWithSalt _salt LogConfiguration' {..} =+ _salt `Prelude.hashWithSalt` percentEnabled++instance Prelude.NFData LogConfiguration where+ rnf LogConfiguration' {..} =+ Prelude.rnf percentEnabled
+ gen/Amazonka/MediaTailor/Types/ManifestProcessingRules.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.ManifestProcessingRules+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.ManifestProcessingRules where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.AdMarkerPassthrough+import qualified Amazonka.Prelude as Prelude++-- | The configuration for manifest processing rules. Manifest processing+-- rules enable customization of the personalized manifests created by+-- MediaTailor.+--+-- /See:/ 'newManifestProcessingRules' smart constructor.+data ManifestProcessingRules = ManifestProcessingRules'+ { -- | For HLS, when set to @true@, MediaTailor passes through @EXT-X-CUE-IN@,+ -- @EXT-X-CUE-OUT@, and @EXT-X-SPLICEPOINT-SCTE35@ ad markers from the+ -- origin manifest to the MediaTailor personalized manifest.+ --+ -- No logic is applied to these ad markers. For example, if @EXT-X-CUE-OUT@+ -- has a value of @60@, but no ads are filled for that ad break,+ -- MediaTailor will not set the value to @0@.+ adMarkerPassthrough :: Prelude.Maybe AdMarkerPassthrough+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ManifestProcessingRules' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adMarkerPassthrough', 'manifestProcessingRules_adMarkerPassthrough' - For HLS, when set to @true@, MediaTailor passes through @EXT-X-CUE-IN@,+-- @EXT-X-CUE-OUT@, and @EXT-X-SPLICEPOINT-SCTE35@ ad markers from the+-- origin manifest to the MediaTailor personalized manifest.+--+-- No logic is applied to these ad markers. For example, if @EXT-X-CUE-OUT@+-- has a value of @60@, but no ads are filled for that ad break,+-- MediaTailor will not set the value to @0@.+newManifestProcessingRules ::+ ManifestProcessingRules+newManifestProcessingRules =+ ManifestProcessingRules'+ { adMarkerPassthrough =+ Prelude.Nothing+ }++-- | For HLS, when set to @true@, MediaTailor passes through @EXT-X-CUE-IN@,+-- @EXT-X-CUE-OUT@, and @EXT-X-SPLICEPOINT-SCTE35@ ad markers from the+-- origin manifest to the MediaTailor personalized manifest.+--+-- No logic is applied to these ad markers. For example, if @EXT-X-CUE-OUT@+-- has a value of @60@, but no ads are filled for that ad break,+-- MediaTailor will not set the value to @0@.+manifestProcessingRules_adMarkerPassthrough :: Lens.Lens' ManifestProcessingRules (Prelude.Maybe AdMarkerPassthrough)+manifestProcessingRules_adMarkerPassthrough = Lens.lens (\ManifestProcessingRules' {adMarkerPassthrough} -> adMarkerPassthrough) (\s@ManifestProcessingRules' {} a -> s {adMarkerPassthrough = a} :: ManifestProcessingRules)++instance Data.FromJSON ManifestProcessingRules where+ parseJSON =+ Data.withObject+ "ManifestProcessingRules"+ ( \x ->+ ManifestProcessingRules'+ Prelude.<$> (x Data..:? "AdMarkerPassthrough")+ )++instance Prelude.Hashable ManifestProcessingRules where+ hashWithSalt _salt ManifestProcessingRules' {..} =+ _salt `Prelude.hashWithSalt` adMarkerPassthrough++instance Prelude.NFData ManifestProcessingRules where+ rnf ManifestProcessingRules' {..} =+ Prelude.rnf adMarkerPassthrough++instance Data.ToJSON ManifestProcessingRules where+ toJSON ManifestProcessingRules' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AdMarkerPassthrough" Data..=)+ Prelude.<$> adMarkerPassthrough+ ]+ )
+ gen/Amazonka/MediaTailor/Types/MessageType.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.MediaTailor.Types.MessageType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.MessageType+ ( MessageType+ ( ..,+ MessageType_SPLICE_INSERT,+ MessageType_TIME_SIGNAL+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype MessageType = MessageType'+ { fromMessageType ::+ 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 MessageType_SPLICE_INSERT :: MessageType+pattern MessageType_SPLICE_INSERT = MessageType' "SPLICE_INSERT"++pattern MessageType_TIME_SIGNAL :: MessageType+pattern MessageType_TIME_SIGNAL = MessageType' "TIME_SIGNAL"++{-# COMPLETE+ MessageType_SPLICE_INSERT,+ MessageType_TIME_SIGNAL,+ MessageType'+ #-}
+ gen/Amazonka/MediaTailor/Types/Mode.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.MediaTailor.Types.Mode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.Mode+ ( Mode+ ( ..,+ Mode_BEHIND_LIVE_EDGE,+ Mode_OFF+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Mode = Mode' {fromMode :: 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 Mode_BEHIND_LIVE_EDGE :: Mode+pattern Mode_BEHIND_LIVE_EDGE = Mode' "BEHIND_LIVE_EDGE"++pattern Mode_OFF :: Mode+pattern Mode_OFF = Mode' "OFF"++{-# COMPLETE+ Mode_BEHIND_LIVE_EDGE,+ Mode_OFF,+ Mode'+ #-}
+ gen/Amazonka/MediaTailor/Types/Operator.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.MediaTailor.Types.Operator+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.Operator+ ( Operator+ ( ..,+ Operator_EQUALS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Operator = Operator'+ { fromOperator ::+ 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 Operator_EQUALS :: Operator+pattern Operator_EQUALS = Operator' "EQUALS"++{-# COMPLETE+ Operator_EQUALS,+ Operator'+ #-}
+ gen/Amazonka/MediaTailor/Types/OriginManifestType.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.MediaTailor.Types.OriginManifestType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.OriginManifestType+ ( OriginManifestType+ ( ..,+ OriginManifestType_MULTI_PERIOD,+ OriginManifestType_SINGLE_PERIOD+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype OriginManifestType = OriginManifestType'+ { fromOriginManifestType ::+ 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 OriginManifestType_MULTI_PERIOD :: OriginManifestType+pattern OriginManifestType_MULTI_PERIOD = OriginManifestType' "MULTI_PERIOD"++pattern OriginManifestType_SINGLE_PERIOD :: OriginManifestType+pattern OriginManifestType_SINGLE_PERIOD = OriginManifestType' "SINGLE_PERIOD"++{-# COMPLETE+ OriginManifestType_MULTI_PERIOD,+ OriginManifestType_SINGLE_PERIOD,+ OriginManifestType'+ #-}
+ gen/Amazonka/MediaTailor/Types/PlaybackConfiguration.hs view
@@ -0,0 +1,419 @@+{-# 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.MediaTailor.Types.PlaybackConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.PlaybackConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.AvailSuppression+import Amazonka.MediaTailor.Types.Bumper+import Amazonka.MediaTailor.Types.CdnConfiguration+import Amazonka.MediaTailor.Types.DashConfiguration+import Amazonka.MediaTailor.Types.HlsConfiguration+import Amazonka.MediaTailor.Types.LivePreRollConfiguration+import Amazonka.MediaTailor.Types.LogConfiguration+import Amazonka.MediaTailor.Types.ManifestProcessingRules+import qualified Amazonka.Prelude as Prelude++-- | A playback configuration. For information about MediaTailor+-- configurations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html Working with configurations in AWS Elemental MediaTailor>.+--+-- /See:/ 'newPlaybackConfiguration' smart constructor.+data PlaybackConfiguration = PlaybackConfiguration'+ { -- | The URL for the ad decision server (ADS). This includes the+ -- specification of static parameters and placeholders for dynamic+ -- parameters. AWS Elemental MediaTailor substitutes player-specific and+ -- session-specific parameters as needed when calling the ADS. Alternately,+ -- for testing you can provide a static VAST URL. The maximum length is+ -- 25,000 characters.+ adDecisionServerUrl :: Prelude.Maybe Prelude.Text,+ -- | The configuration for avail suppression, also known as ad suppression.+ -- For more information about ad suppression, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Suppression>.+ availSuppression :: Prelude.Maybe AvailSuppression,+ -- | The configuration for bumpers. Bumpers are short audio or video clips+ -- that play at the start or before the end of an ad break. To learn more+ -- about bumpers, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html Bumpers>.+ bumper :: Prelude.Maybe Bumper,+ -- | The configuration for using a content delivery network (CDN), like+ -- Amazon CloudFront, for content and ad segment management.+ cdnConfiguration :: Prelude.Maybe CdnConfiguration,+ -- | The player parameters and aliases used as dynamic variables during+ -- session initialization. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html Domain Variables>.+ configurationAliases :: Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text Prelude.Text)),+ -- | The configuration for a DASH source.+ dashConfiguration :: Prelude.Maybe DashConfiguration,+ -- | The configuration for HLS content.+ hlsConfiguration :: Prelude.Maybe HlsConfiguration,+ -- | The configuration for pre-roll ad insertion.+ livePreRollConfiguration :: Prelude.Maybe LivePreRollConfiguration,+ -- | The Amazon CloudWatch log settings for a playback configuration.+ logConfiguration :: Prelude.Maybe LogConfiguration,+ -- | The configuration for manifest processing rules. Manifest processing+ -- rules enable customization of the personalized manifests created by+ -- MediaTailor.+ manifestProcessingRules :: Prelude.Maybe ManifestProcessingRules,+ -- | The identifier for the playback configuration.+ name :: Prelude.Maybe Prelude.Text,+ -- | Defines the maximum duration of underfilled ad time (in seconds) allowed+ -- in an ad break. If the duration of underfilled ad time exceeds the+ -- personalization threshold, then the personalization of the ad break is+ -- abandoned and the underlying content is shown. This feature applies to+ -- /ad replacement/ in live and VOD streams, rather than ad insertion,+ -- because it relies on an underlying content stream. For more information+ -- about ad break behavior, including ad replacement and insertion, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Behavior in AWS Elemental MediaTailor>.+ personalizationThresholdSeconds :: Prelude.Maybe Prelude.Natural,+ -- | The Amazon Resource Name (ARN) for the playback configuration.+ playbackConfigurationArn :: Prelude.Maybe Prelude.Text,+ -- | The URL that the player accesses to get a manifest from AWS Elemental+ -- MediaTailor.+ playbackEndpointPrefix :: Prelude.Maybe Prelude.Text,+ -- | The URL that the player uses to initialize a session that uses+ -- client-side reporting.+ sessionInitializationEndpointPrefix :: Prelude.Maybe Prelude.Text,+ -- | The URL for a video asset to transcode and use to fill in time that\'s+ -- not used by ads. AWS Elemental MediaTailor shows the slate to fill in+ -- gaps in media content. Configuring the slate is optional for non-VPAID+ -- playback configurations. For VPAID, the slate is required because+ -- MediaTailor provides it in the slots designated for dynamic ad content.+ -- The slate must be a high-quality asset that contains both audio and+ -- video.+ slateAdUrl :: Prelude.Maybe Prelude.Text,+ -- | The tags to assign to the playback configuration. Tags are key-value+ -- pairs that you can associate with Amazon resources to help with+ -- organization, access control, and cost tracking. For more information,+ -- see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name that is used to associate this playback configuration with a+ -- custom transcode profile. This overrides the dynamic transcoding+ -- defaults of MediaTailor. Use this only if you have already set up custom+ -- profiles with the help of AWS Support.+ transcodeProfileName :: Prelude.Maybe Prelude.Text,+ -- | The URL prefix for the parent manifest for the stream, minus the asset+ -- ID. The maximum length is 512 characters.+ videoContentSourceUrl :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PlaybackConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'adDecisionServerUrl', 'playbackConfiguration_adDecisionServerUrl' - The URL for the ad decision server (ADS). This includes the+-- specification of static parameters and placeholders for dynamic+-- parameters. AWS Elemental MediaTailor substitutes player-specific and+-- session-specific parameters as needed when calling the ADS. Alternately,+-- for testing you can provide a static VAST URL. The maximum length is+-- 25,000 characters.+--+-- 'availSuppression', 'playbackConfiguration_availSuppression' - The configuration for avail suppression, also known as ad suppression.+-- For more information about ad suppression, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Suppression>.+--+-- 'bumper', 'playbackConfiguration_bumper' - The configuration for bumpers. Bumpers are short audio or video clips+-- that play at the start or before the end of an ad break. To learn more+-- about bumpers, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html Bumpers>.+--+-- 'cdnConfiguration', 'playbackConfiguration_cdnConfiguration' - The configuration for using a content delivery network (CDN), like+-- Amazon CloudFront, for content and ad segment management.+--+-- 'configurationAliases', 'playbackConfiguration_configurationAliases' - The player parameters and aliases used as dynamic variables during+-- session initialization. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html Domain Variables>.+--+-- 'dashConfiguration', 'playbackConfiguration_dashConfiguration' - The configuration for a DASH source.+--+-- 'hlsConfiguration', 'playbackConfiguration_hlsConfiguration' - The configuration for HLS content.+--+-- 'livePreRollConfiguration', 'playbackConfiguration_livePreRollConfiguration' - The configuration for pre-roll ad insertion.+--+-- 'logConfiguration', 'playbackConfiguration_logConfiguration' - The Amazon CloudWatch log settings for a playback configuration.+--+-- 'manifestProcessingRules', 'playbackConfiguration_manifestProcessingRules' - The configuration for manifest processing rules. Manifest processing+-- rules enable customization of the personalized manifests created by+-- MediaTailor.+--+-- 'name', 'playbackConfiguration_name' - The identifier for the playback configuration.+--+-- 'personalizationThresholdSeconds', 'playbackConfiguration_personalizationThresholdSeconds' - Defines the maximum duration of underfilled ad time (in seconds) allowed+-- in an ad break. If the duration of underfilled ad time exceeds the+-- personalization threshold, then the personalization of the ad break is+-- abandoned and the underlying content is shown. This feature applies to+-- /ad replacement/ in live and VOD streams, rather than ad insertion,+-- because it relies on an underlying content stream. For more information+-- about ad break behavior, including ad replacement and insertion, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Behavior in AWS Elemental MediaTailor>.+--+-- 'playbackConfigurationArn', 'playbackConfiguration_playbackConfigurationArn' - The Amazon Resource Name (ARN) for the playback configuration.+--+-- 'playbackEndpointPrefix', 'playbackConfiguration_playbackEndpointPrefix' - The URL that the player accesses to get a manifest from AWS Elemental+-- MediaTailor.+--+-- 'sessionInitializationEndpointPrefix', 'playbackConfiguration_sessionInitializationEndpointPrefix' - The URL that the player uses to initialize a session that uses+-- client-side reporting.+--+-- 'slateAdUrl', 'playbackConfiguration_slateAdUrl' - The URL for a video asset to transcode and use to fill in time that\'s+-- not used by ads. AWS Elemental MediaTailor shows the slate to fill in+-- gaps in media content. Configuring the slate is optional for non-VPAID+-- playback configurations. For VPAID, the slate is required because+-- MediaTailor provides it in the slots designated for dynamic ad content.+-- The slate must be a high-quality asset that contains both audio and+-- video.+--+-- 'tags', 'playbackConfiguration_tags' - The tags to assign to the playback configuration. Tags are key-value+-- pairs that you can associate with Amazon resources to help with+-- organization, access control, and cost tracking. For more information,+-- see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'transcodeProfileName', 'playbackConfiguration_transcodeProfileName' - The name that is used to associate this playback configuration with a+-- custom transcode profile. This overrides the dynamic transcoding+-- defaults of MediaTailor. Use this only if you have already set up custom+-- profiles with the help of AWS Support.+--+-- 'videoContentSourceUrl', 'playbackConfiguration_videoContentSourceUrl' - The URL prefix for the parent manifest for the stream, minus the asset+-- ID. The maximum length is 512 characters.+newPlaybackConfiguration ::+ PlaybackConfiguration+newPlaybackConfiguration =+ PlaybackConfiguration'+ { adDecisionServerUrl =+ Prelude.Nothing,+ availSuppression = Prelude.Nothing,+ bumper = Prelude.Nothing,+ cdnConfiguration = Prelude.Nothing,+ configurationAliases = Prelude.Nothing,+ dashConfiguration = Prelude.Nothing,+ hlsConfiguration = Prelude.Nothing,+ livePreRollConfiguration = Prelude.Nothing,+ logConfiguration = Prelude.Nothing,+ manifestProcessingRules = Prelude.Nothing,+ name = Prelude.Nothing,+ personalizationThresholdSeconds = Prelude.Nothing,+ playbackConfigurationArn = Prelude.Nothing,+ playbackEndpointPrefix = Prelude.Nothing,+ sessionInitializationEndpointPrefix =+ Prelude.Nothing,+ slateAdUrl = Prelude.Nothing,+ tags = Prelude.Nothing,+ transcodeProfileName = Prelude.Nothing,+ videoContentSourceUrl = Prelude.Nothing+ }++-- | The URL for the ad decision server (ADS). This includes the+-- specification of static parameters and placeholders for dynamic+-- parameters. AWS Elemental MediaTailor substitutes player-specific and+-- session-specific parameters as needed when calling the ADS. Alternately,+-- for testing you can provide a static VAST URL. The maximum length is+-- 25,000 characters.+playbackConfiguration_adDecisionServerUrl :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe Prelude.Text)+playbackConfiguration_adDecisionServerUrl = Lens.lens (\PlaybackConfiguration' {adDecisionServerUrl} -> adDecisionServerUrl) (\s@PlaybackConfiguration' {} a -> s {adDecisionServerUrl = a} :: PlaybackConfiguration)++-- | The configuration for avail suppression, also known as ad suppression.+-- For more information about ad suppression, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Suppression>.+playbackConfiguration_availSuppression :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe AvailSuppression)+playbackConfiguration_availSuppression = Lens.lens (\PlaybackConfiguration' {availSuppression} -> availSuppression) (\s@PlaybackConfiguration' {} a -> s {availSuppression = a} :: PlaybackConfiguration)++-- | The configuration for bumpers. Bumpers are short audio or video clips+-- that play at the start or before the end of an ad break. To learn more+-- about bumpers, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/bumpers.html Bumpers>.+playbackConfiguration_bumper :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe Bumper)+playbackConfiguration_bumper = Lens.lens (\PlaybackConfiguration' {bumper} -> bumper) (\s@PlaybackConfiguration' {} a -> s {bumper = a} :: PlaybackConfiguration)++-- | The configuration for using a content delivery network (CDN), like+-- Amazon CloudFront, for content and ad segment management.+playbackConfiguration_cdnConfiguration :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe CdnConfiguration)+playbackConfiguration_cdnConfiguration = Lens.lens (\PlaybackConfiguration' {cdnConfiguration} -> cdnConfiguration) (\s@PlaybackConfiguration' {} a -> s {cdnConfiguration = a} :: PlaybackConfiguration)++-- | The player parameters and aliases used as dynamic variables during+-- session initialization. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables-domain.html Domain Variables>.+playbackConfiguration_configurationAliases :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe (Prelude.HashMap Prelude.Text (Prelude.HashMap Prelude.Text Prelude.Text)))+playbackConfiguration_configurationAliases = Lens.lens (\PlaybackConfiguration' {configurationAliases} -> configurationAliases) (\s@PlaybackConfiguration' {} a -> s {configurationAliases = a} :: PlaybackConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The configuration for a DASH source.+playbackConfiguration_dashConfiguration :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe DashConfiguration)+playbackConfiguration_dashConfiguration = Lens.lens (\PlaybackConfiguration' {dashConfiguration} -> dashConfiguration) (\s@PlaybackConfiguration' {} a -> s {dashConfiguration = a} :: PlaybackConfiguration)++-- | The configuration for HLS content.+playbackConfiguration_hlsConfiguration :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe HlsConfiguration)+playbackConfiguration_hlsConfiguration = Lens.lens (\PlaybackConfiguration' {hlsConfiguration} -> hlsConfiguration) (\s@PlaybackConfiguration' {} a -> s {hlsConfiguration = a} :: PlaybackConfiguration)++-- | The configuration for pre-roll ad insertion.+playbackConfiguration_livePreRollConfiguration :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe LivePreRollConfiguration)+playbackConfiguration_livePreRollConfiguration = Lens.lens (\PlaybackConfiguration' {livePreRollConfiguration} -> livePreRollConfiguration) (\s@PlaybackConfiguration' {} a -> s {livePreRollConfiguration = a} :: PlaybackConfiguration)++-- | The Amazon CloudWatch log settings for a playback configuration.+playbackConfiguration_logConfiguration :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe LogConfiguration)+playbackConfiguration_logConfiguration = Lens.lens (\PlaybackConfiguration' {logConfiguration} -> logConfiguration) (\s@PlaybackConfiguration' {} a -> s {logConfiguration = a} :: PlaybackConfiguration)++-- | The configuration for manifest processing rules. Manifest processing+-- rules enable customization of the personalized manifests created by+-- MediaTailor.+playbackConfiguration_manifestProcessingRules :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe ManifestProcessingRules)+playbackConfiguration_manifestProcessingRules = Lens.lens (\PlaybackConfiguration' {manifestProcessingRules} -> manifestProcessingRules) (\s@PlaybackConfiguration' {} a -> s {manifestProcessingRules = a} :: PlaybackConfiguration)++-- | The identifier for the playback configuration.+playbackConfiguration_name :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe Prelude.Text)+playbackConfiguration_name = Lens.lens (\PlaybackConfiguration' {name} -> name) (\s@PlaybackConfiguration' {} a -> s {name = a} :: PlaybackConfiguration)++-- | Defines the maximum duration of underfilled ad time (in seconds) allowed+-- in an ad break. If the duration of underfilled ad time exceeds the+-- personalization threshold, then the personalization of the ad break is+-- abandoned and the underlying content is shown. This feature applies to+-- /ad replacement/ in live and VOD streams, rather than ad insertion,+-- because it relies on an underlying content stream. For more information+-- about ad break behavior, including ad replacement and insertion, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/ad-behavior.html Ad Behavior in AWS Elemental MediaTailor>.+playbackConfiguration_personalizationThresholdSeconds :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe Prelude.Natural)+playbackConfiguration_personalizationThresholdSeconds = Lens.lens (\PlaybackConfiguration' {personalizationThresholdSeconds} -> personalizationThresholdSeconds) (\s@PlaybackConfiguration' {} a -> s {personalizationThresholdSeconds = a} :: PlaybackConfiguration)++-- | The Amazon Resource Name (ARN) for the playback configuration.+playbackConfiguration_playbackConfigurationArn :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe Prelude.Text)+playbackConfiguration_playbackConfigurationArn = Lens.lens (\PlaybackConfiguration' {playbackConfigurationArn} -> playbackConfigurationArn) (\s@PlaybackConfiguration' {} a -> s {playbackConfigurationArn = a} :: PlaybackConfiguration)++-- | The URL that the player accesses to get a manifest from AWS Elemental+-- MediaTailor.+playbackConfiguration_playbackEndpointPrefix :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe Prelude.Text)+playbackConfiguration_playbackEndpointPrefix = Lens.lens (\PlaybackConfiguration' {playbackEndpointPrefix} -> playbackEndpointPrefix) (\s@PlaybackConfiguration' {} a -> s {playbackEndpointPrefix = a} :: PlaybackConfiguration)++-- | The URL that the player uses to initialize a session that uses+-- client-side reporting.+playbackConfiguration_sessionInitializationEndpointPrefix :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe Prelude.Text)+playbackConfiguration_sessionInitializationEndpointPrefix = Lens.lens (\PlaybackConfiguration' {sessionInitializationEndpointPrefix} -> sessionInitializationEndpointPrefix) (\s@PlaybackConfiguration' {} a -> s {sessionInitializationEndpointPrefix = a} :: PlaybackConfiguration)++-- | The URL for a video asset to transcode and use to fill in time that\'s+-- not used by ads. AWS Elemental MediaTailor shows the slate to fill in+-- gaps in media content. Configuring the slate is optional for non-VPAID+-- playback configurations. For VPAID, the slate is required because+-- MediaTailor provides it in the slots designated for dynamic ad content.+-- The slate must be a high-quality asset that contains both audio and+-- video.+playbackConfiguration_slateAdUrl :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe Prelude.Text)+playbackConfiguration_slateAdUrl = Lens.lens (\PlaybackConfiguration' {slateAdUrl} -> slateAdUrl) (\s@PlaybackConfiguration' {} a -> s {slateAdUrl = a} :: PlaybackConfiguration)++-- | The tags to assign to the playback configuration. Tags are key-value+-- pairs that you can associate with Amazon resources to help with+-- organization, access control, and cost tracking. For more information,+-- see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+playbackConfiguration_tags :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+playbackConfiguration_tags = Lens.lens (\PlaybackConfiguration' {tags} -> tags) (\s@PlaybackConfiguration' {} a -> s {tags = a} :: PlaybackConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The name that is used to associate this playback configuration with a+-- custom transcode profile. This overrides the dynamic transcoding+-- defaults of MediaTailor. Use this only if you have already set up custom+-- profiles with the help of AWS Support.+playbackConfiguration_transcodeProfileName :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe Prelude.Text)+playbackConfiguration_transcodeProfileName = Lens.lens (\PlaybackConfiguration' {transcodeProfileName} -> transcodeProfileName) (\s@PlaybackConfiguration' {} a -> s {transcodeProfileName = a} :: PlaybackConfiguration)++-- | The URL prefix for the parent manifest for the stream, minus the asset+-- ID. The maximum length is 512 characters.+playbackConfiguration_videoContentSourceUrl :: Lens.Lens' PlaybackConfiguration (Prelude.Maybe Prelude.Text)+playbackConfiguration_videoContentSourceUrl = Lens.lens (\PlaybackConfiguration' {videoContentSourceUrl} -> videoContentSourceUrl) (\s@PlaybackConfiguration' {} a -> s {videoContentSourceUrl = a} :: PlaybackConfiguration)++instance Data.FromJSON PlaybackConfiguration where+ parseJSON =+ Data.withObject+ "PlaybackConfiguration"+ ( \x ->+ PlaybackConfiguration'+ Prelude.<$> (x Data..:? "AdDecisionServerUrl")+ Prelude.<*> (x Data..:? "AvailSuppression")+ Prelude.<*> (x Data..:? "Bumper")+ Prelude.<*> (x Data..:? "CdnConfiguration")+ Prelude.<*> ( x+ Data..:? "ConfigurationAliases"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "DashConfiguration")+ Prelude.<*> (x Data..:? "HlsConfiguration")+ Prelude.<*> (x Data..:? "LivePreRollConfiguration")+ Prelude.<*> (x Data..:? "LogConfiguration")+ Prelude.<*> (x Data..:? "ManifestProcessingRules")+ Prelude.<*> (x Data..:? "Name")+ Prelude.<*> (x Data..:? "PersonalizationThresholdSeconds")+ Prelude.<*> (x Data..:? "PlaybackConfigurationArn")+ Prelude.<*> (x Data..:? "PlaybackEndpointPrefix")+ Prelude.<*> (x Data..:? "SessionInitializationEndpointPrefix")+ Prelude.<*> (x Data..:? "SlateAdUrl")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..:? "TranscodeProfileName")+ Prelude.<*> (x Data..:? "VideoContentSourceUrl")+ )++instance Prelude.Hashable PlaybackConfiguration where+ hashWithSalt _salt PlaybackConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` adDecisionServerUrl+ `Prelude.hashWithSalt` availSuppression+ `Prelude.hashWithSalt` bumper+ `Prelude.hashWithSalt` cdnConfiguration+ `Prelude.hashWithSalt` configurationAliases+ `Prelude.hashWithSalt` dashConfiguration+ `Prelude.hashWithSalt` hlsConfiguration+ `Prelude.hashWithSalt` livePreRollConfiguration+ `Prelude.hashWithSalt` logConfiguration+ `Prelude.hashWithSalt` manifestProcessingRules+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` personalizationThresholdSeconds+ `Prelude.hashWithSalt` playbackConfigurationArn+ `Prelude.hashWithSalt` playbackEndpointPrefix+ `Prelude.hashWithSalt` sessionInitializationEndpointPrefix+ `Prelude.hashWithSalt` slateAdUrl+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` transcodeProfileName+ `Prelude.hashWithSalt` videoContentSourceUrl++instance Prelude.NFData PlaybackConfiguration where+ rnf PlaybackConfiguration' {..} =+ Prelude.rnf adDecisionServerUrl+ `Prelude.seq` Prelude.rnf availSuppression+ `Prelude.seq` Prelude.rnf bumper+ `Prelude.seq` Prelude.rnf cdnConfiguration+ `Prelude.seq` Prelude.rnf configurationAliases+ `Prelude.seq` Prelude.rnf dashConfiguration+ `Prelude.seq` Prelude.rnf hlsConfiguration+ `Prelude.seq` Prelude.rnf livePreRollConfiguration+ `Prelude.seq` Prelude.rnf logConfiguration+ `Prelude.seq` Prelude.rnf manifestProcessingRules+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf personalizationThresholdSeconds+ `Prelude.seq` Prelude.rnf playbackConfigurationArn+ `Prelude.seq` Prelude.rnf playbackEndpointPrefix+ `Prelude.seq` Prelude.rnf+ sessionInitializationEndpointPrefix+ `Prelude.seq` Prelude.rnf slateAdUrl+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf transcodeProfileName+ `Prelude.seq` Prelude.rnf+ videoContentSourceUrl
+ gen/Amazonka/MediaTailor/Types/PlaybackMode.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.MediaTailor.Types.PlaybackMode+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.PlaybackMode+ ( PlaybackMode+ ( ..,+ PlaybackMode_LINEAR,+ PlaybackMode_LOOP+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype PlaybackMode = PlaybackMode'+ { fromPlaybackMode ::+ 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 PlaybackMode_LINEAR :: PlaybackMode+pattern PlaybackMode_LINEAR = PlaybackMode' "LINEAR"++pattern PlaybackMode_LOOP :: PlaybackMode+pattern PlaybackMode_LOOP = PlaybackMode' "LOOP"++{-# COMPLETE+ PlaybackMode_LINEAR,+ PlaybackMode_LOOP,+ PlaybackMode'+ #-}
+ gen/Amazonka/MediaTailor/Types/PrefetchConsumption.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.PrefetchConsumption+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.PrefetchConsumption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.AvailMatchingCriteria+import qualified Amazonka.Prelude as Prelude++-- | A complex type that contains settings that determine how and when that+-- MediaTailor places prefetched ads into upcoming ad breaks.+--+-- /See:/ 'newPrefetchConsumption' smart constructor.+data PrefetchConsumption = PrefetchConsumption'+ { -- | If you only want MediaTailor to insert prefetched ads into avails (ad+ -- breaks) that match specific dynamic variables, such as @scte.event_id@,+ -- set the avail matching criteria.+ availMatchingCriteria :: Prelude.Maybe [AvailMatchingCriteria],+ -- | The time when prefetched ads are considered for use in an ad break. If+ -- you don\'t specify @StartTime@, the prefetched ads are available after+ -- MediaTailor retrives them from the ad decision server.+ startTime :: Prelude.Maybe Data.POSIX,+ -- | The time when MediaTailor no longer considers the prefetched ads for use+ -- in an ad break. MediaTailor automatically deletes prefetch schedules no+ -- less than seven days after the end time. If you\'d like to manually+ -- delete the prefetch schedule, you can call @DeletePrefetchSchedule@.+ endTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PrefetchConsumption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availMatchingCriteria', 'prefetchConsumption_availMatchingCriteria' - If you only want MediaTailor to insert prefetched ads into avails (ad+-- breaks) that match specific dynamic variables, such as @scte.event_id@,+-- set the avail matching criteria.+--+-- 'startTime', 'prefetchConsumption_startTime' - The time when prefetched ads are considered for use in an ad break. If+-- you don\'t specify @StartTime@, the prefetched ads are available after+-- MediaTailor retrives them from the ad decision server.+--+-- 'endTime', 'prefetchConsumption_endTime' - The time when MediaTailor no longer considers the prefetched ads for use+-- in an ad break. MediaTailor automatically deletes prefetch schedules no+-- less than seven days after the end time. If you\'d like to manually+-- delete the prefetch schedule, you can call @DeletePrefetchSchedule@.+newPrefetchConsumption ::+ -- | 'endTime'+ Prelude.UTCTime ->+ PrefetchConsumption+newPrefetchConsumption pEndTime_ =+ PrefetchConsumption'+ { availMatchingCriteria =+ Prelude.Nothing,+ startTime = Prelude.Nothing,+ endTime = Data._Time Lens.# pEndTime_+ }++-- | If you only want MediaTailor to insert prefetched ads into avails (ad+-- breaks) that match specific dynamic variables, such as @scte.event_id@,+-- set the avail matching criteria.+prefetchConsumption_availMatchingCriteria :: Lens.Lens' PrefetchConsumption (Prelude.Maybe [AvailMatchingCriteria])+prefetchConsumption_availMatchingCriteria = Lens.lens (\PrefetchConsumption' {availMatchingCriteria} -> availMatchingCriteria) (\s@PrefetchConsumption' {} a -> s {availMatchingCriteria = a} :: PrefetchConsumption) Prelude.. Lens.mapping Lens.coerced++-- | The time when prefetched ads are considered for use in an ad break. If+-- you don\'t specify @StartTime@, the prefetched ads are available after+-- MediaTailor retrives them from the ad decision server.+prefetchConsumption_startTime :: Lens.Lens' PrefetchConsumption (Prelude.Maybe Prelude.UTCTime)+prefetchConsumption_startTime = Lens.lens (\PrefetchConsumption' {startTime} -> startTime) (\s@PrefetchConsumption' {} a -> s {startTime = a} :: PrefetchConsumption) Prelude.. Lens.mapping Data._Time++-- | The time when MediaTailor no longer considers the prefetched ads for use+-- in an ad break. MediaTailor automatically deletes prefetch schedules no+-- less than seven days after the end time. If you\'d like to manually+-- delete the prefetch schedule, you can call @DeletePrefetchSchedule@.+prefetchConsumption_endTime :: Lens.Lens' PrefetchConsumption Prelude.UTCTime+prefetchConsumption_endTime = Lens.lens (\PrefetchConsumption' {endTime} -> endTime) (\s@PrefetchConsumption' {} a -> s {endTime = a} :: PrefetchConsumption) Prelude.. Data._Time++instance Data.FromJSON PrefetchConsumption where+ parseJSON =+ Data.withObject+ "PrefetchConsumption"+ ( \x ->+ PrefetchConsumption'+ Prelude.<$> ( x+ Data..:? "AvailMatchingCriteria"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "StartTime")+ Prelude.<*> (x Data..: "EndTime")+ )++instance Prelude.Hashable PrefetchConsumption where+ hashWithSalt _salt PrefetchConsumption' {..} =+ _salt+ `Prelude.hashWithSalt` availMatchingCriteria+ `Prelude.hashWithSalt` startTime+ `Prelude.hashWithSalt` endTime++instance Prelude.NFData PrefetchConsumption where+ rnf PrefetchConsumption' {..} =+ Prelude.rnf availMatchingCriteria+ `Prelude.seq` Prelude.rnf startTime+ `Prelude.seq` Prelude.rnf endTime++instance Data.ToJSON PrefetchConsumption where+ toJSON PrefetchConsumption' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AvailMatchingCriteria" Data..=)+ Prelude.<$> availMatchingCriteria,+ ("StartTime" Data..=) Prelude.<$> startTime,+ Prelude.Just ("EndTime" Data..= endTime)+ ]+ )
+ gen/Amazonka/MediaTailor/Types/PrefetchRetrieval.hs view
@@ -0,0 +1,148 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.PrefetchRetrieval+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.PrefetchRetrieval where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++-- | A complex type that contains settings governing when MediaTailor+-- prefetches ads, and which dynamic variables that MediaTailor includes in+-- the request to the ad decision server.+--+-- /See:/ 'newPrefetchRetrieval' smart constructor.+data PrefetchRetrieval = PrefetchRetrieval'+ { -- | The dynamic variables to use for substitution during prefetch requests+ -- to the ad decision server (ADS).+ --+ -- You initially configure+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables.html dynamic variables>+ -- for the ADS URL when you set up your playback configuration. When you+ -- specify @DynamicVariables@ for prefetch retrieval, MediaTailor includes+ -- the dynamic variables in the request to the ADS.+ dynamicVariables :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The time when prefetch retrievals can start for this break. Ad+ -- prefetching will be attempted for manifest requests that occur at or+ -- after this time. Defaults to the current time. If not specified, the+ -- prefetch retrieval starts as soon as possible.+ startTime :: Prelude.Maybe Data.POSIX,+ -- | The time when prefetch retrieval ends for the ad break. Prefetching will+ -- be attempted for manifest requests that occur at or before this time.+ endTime :: Data.POSIX+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PrefetchRetrieval' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dynamicVariables', 'prefetchRetrieval_dynamicVariables' - The dynamic variables to use for substitution during prefetch requests+-- to the ad decision server (ADS).+--+-- You initially configure+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables.html dynamic variables>+-- for the ADS URL when you set up your playback configuration. When you+-- specify @DynamicVariables@ for prefetch retrieval, MediaTailor includes+-- the dynamic variables in the request to the ADS.+--+-- 'startTime', 'prefetchRetrieval_startTime' - The time when prefetch retrievals can start for this break. Ad+-- prefetching will be attempted for manifest requests that occur at or+-- after this time. Defaults to the current time. If not specified, the+-- prefetch retrieval starts as soon as possible.+--+-- 'endTime', 'prefetchRetrieval_endTime' - The time when prefetch retrieval ends for the ad break. Prefetching will+-- be attempted for manifest requests that occur at or before this time.+newPrefetchRetrieval ::+ -- | 'endTime'+ Prelude.UTCTime ->+ PrefetchRetrieval+newPrefetchRetrieval pEndTime_ =+ PrefetchRetrieval'+ { dynamicVariables =+ Prelude.Nothing,+ startTime = Prelude.Nothing,+ endTime = Data._Time Lens.# pEndTime_+ }++-- | The dynamic variables to use for substitution during prefetch requests+-- to the ad decision server (ADS).+--+-- You initially configure+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/variables.html dynamic variables>+-- for the ADS URL when you set up your playback configuration. When you+-- specify @DynamicVariables@ for prefetch retrieval, MediaTailor includes+-- the dynamic variables in the request to the ADS.+prefetchRetrieval_dynamicVariables :: Lens.Lens' PrefetchRetrieval (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+prefetchRetrieval_dynamicVariables = Lens.lens (\PrefetchRetrieval' {dynamicVariables} -> dynamicVariables) (\s@PrefetchRetrieval' {} a -> s {dynamicVariables = a} :: PrefetchRetrieval) Prelude.. Lens.mapping Lens.coerced++-- | The time when prefetch retrievals can start for this break. Ad+-- prefetching will be attempted for manifest requests that occur at or+-- after this time. Defaults to the current time. If not specified, the+-- prefetch retrieval starts as soon as possible.+prefetchRetrieval_startTime :: Lens.Lens' PrefetchRetrieval (Prelude.Maybe Prelude.UTCTime)+prefetchRetrieval_startTime = Lens.lens (\PrefetchRetrieval' {startTime} -> startTime) (\s@PrefetchRetrieval' {} a -> s {startTime = a} :: PrefetchRetrieval) Prelude.. Lens.mapping Data._Time++-- | The time when prefetch retrieval ends for the ad break. Prefetching will+-- be attempted for manifest requests that occur at or before this time.+prefetchRetrieval_endTime :: Lens.Lens' PrefetchRetrieval Prelude.UTCTime+prefetchRetrieval_endTime = Lens.lens (\PrefetchRetrieval' {endTime} -> endTime) (\s@PrefetchRetrieval' {} a -> s {endTime = a} :: PrefetchRetrieval) Prelude.. Data._Time++instance Data.FromJSON PrefetchRetrieval where+ parseJSON =+ Data.withObject+ "PrefetchRetrieval"+ ( \x ->+ PrefetchRetrieval'+ Prelude.<$> ( x+ Data..:? "DynamicVariables"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "StartTime")+ Prelude.<*> (x Data..: "EndTime")+ )++instance Prelude.Hashable PrefetchRetrieval where+ hashWithSalt _salt PrefetchRetrieval' {..} =+ _salt+ `Prelude.hashWithSalt` dynamicVariables+ `Prelude.hashWithSalt` startTime+ `Prelude.hashWithSalt` endTime++instance Prelude.NFData PrefetchRetrieval where+ rnf PrefetchRetrieval' {..} =+ Prelude.rnf dynamicVariables+ `Prelude.seq` Prelude.rnf startTime+ `Prelude.seq` Prelude.rnf endTime++instance Data.ToJSON PrefetchRetrieval where+ toJSON PrefetchRetrieval' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DynamicVariables" Data..=)+ Prelude.<$> dynamicVariables,+ ("StartTime" Data..=) Prelude.<$> startTime,+ Prelude.Just ("EndTime" Data..= endTime)+ ]+ )
+ gen/Amazonka/MediaTailor/Types/PrefetchSchedule.hs view
@@ -0,0 +1,181 @@+{-# 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.MediaTailor.Types.PrefetchSchedule+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.PrefetchSchedule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.PrefetchConsumption+import Amazonka.MediaTailor.Types.PrefetchRetrieval+import qualified Amazonka.Prelude as Prelude++-- | A prefetch schedule allows you to tell MediaTailor to fetch and prepare+-- certain ads before an ad break happens. For more information about ad+-- prefetching, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/prefetching-ads.html Using ad prefetching>+-- in the /MediaTailor User Guide/.+--+-- /See:/ 'newPrefetchSchedule' smart constructor.+data PrefetchSchedule = PrefetchSchedule'+ { -- | An optional stream identifier that you can specify in order to prefetch+ -- for multiple streams that use the same playback configuration.+ streamId :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the prefetch schedule.+ arn :: Prelude.Text,+ -- | Consumption settings determine how, and when, MediaTailor places the+ -- prefetched ads into ad breaks. Ad consumption occurs within a span of+ -- time that you define, called a /consumption window/. You can designate+ -- which ad breaks that MediaTailor fills with prefetch ads by setting+ -- avail matching criteria.+ consumption :: PrefetchConsumption,+ -- | The name of the prefetch schedule. The name must be unique among all+ -- prefetch schedules that are associated with the specified playback+ -- configuration.+ name :: Prelude.Text,+ -- | The name of the playback configuration to create the prefetch schedule+ -- for.+ playbackConfigurationName :: Prelude.Text,+ -- | A complex type that contains settings for prefetch retrieval from the ad+ -- decision server (ADS).+ retrieval :: PrefetchRetrieval+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PrefetchSchedule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'streamId', 'prefetchSchedule_streamId' - An optional stream identifier that you can specify in order to prefetch+-- for multiple streams that use the same playback configuration.+--+-- 'arn', 'prefetchSchedule_arn' - The Amazon Resource Name (ARN) of the prefetch schedule.+--+-- 'consumption', 'prefetchSchedule_consumption' - Consumption settings determine how, and when, MediaTailor places the+-- prefetched ads into ad breaks. Ad consumption occurs within a span of+-- time that you define, called a /consumption window/. You can designate+-- which ad breaks that MediaTailor fills with prefetch ads by setting+-- avail matching criteria.+--+-- 'name', 'prefetchSchedule_name' - The name of the prefetch schedule. The name must be unique among all+-- prefetch schedules that are associated with the specified playback+-- configuration.+--+-- 'playbackConfigurationName', 'prefetchSchedule_playbackConfigurationName' - The name of the playback configuration to create the prefetch schedule+-- for.+--+-- 'retrieval', 'prefetchSchedule_retrieval' - A complex type that contains settings for prefetch retrieval from the ad+-- decision server (ADS).+newPrefetchSchedule ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'consumption'+ PrefetchConsumption ->+ -- | 'name'+ Prelude.Text ->+ -- | 'playbackConfigurationName'+ Prelude.Text ->+ -- | 'retrieval'+ PrefetchRetrieval ->+ PrefetchSchedule+newPrefetchSchedule+ pArn_+ pConsumption_+ pName_+ pPlaybackConfigurationName_+ pRetrieval_ =+ PrefetchSchedule'+ { streamId = Prelude.Nothing,+ arn = pArn_,+ consumption = pConsumption_,+ name = pName_,+ playbackConfigurationName =+ pPlaybackConfigurationName_,+ retrieval = pRetrieval_+ }++-- | An optional stream identifier that you can specify in order to prefetch+-- for multiple streams that use the same playback configuration.+prefetchSchedule_streamId :: Lens.Lens' PrefetchSchedule (Prelude.Maybe Prelude.Text)+prefetchSchedule_streamId = Lens.lens (\PrefetchSchedule' {streamId} -> streamId) (\s@PrefetchSchedule' {} a -> s {streamId = a} :: PrefetchSchedule)++-- | The Amazon Resource Name (ARN) of the prefetch schedule.+prefetchSchedule_arn :: Lens.Lens' PrefetchSchedule Prelude.Text+prefetchSchedule_arn = Lens.lens (\PrefetchSchedule' {arn} -> arn) (\s@PrefetchSchedule' {} a -> s {arn = a} :: PrefetchSchedule)++-- | Consumption settings determine how, and when, MediaTailor places the+-- prefetched ads into ad breaks. Ad consumption occurs within a span of+-- time that you define, called a /consumption window/. You can designate+-- which ad breaks that MediaTailor fills with prefetch ads by setting+-- avail matching criteria.+prefetchSchedule_consumption :: Lens.Lens' PrefetchSchedule PrefetchConsumption+prefetchSchedule_consumption = Lens.lens (\PrefetchSchedule' {consumption} -> consumption) (\s@PrefetchSchedule' {} a -> s {consumption = a} :: PrefetchSchedule)++-- | The name of the prefetch schedule. The name must be unique among all+-- prefetch schedules that are associated with the specified playback+-- configuration.+prefetchSchedule_name :: Lens.Lens' PrefetchSchedule Prelude.Text+prefetchSchedule_name = Lens.lens (\PrefetchSchedule' {name} -> name) (\s@PrefetchSchedule' {} a -> s {name = a} :: PrefetchSchedule)++-- | The name of the playback configuration to create the prefetch schedule+-- for.+prefetchSchedule_playbackConfigurationName :: Lens.Lens' PrefetchSchedule Prelude.Text+prefetchSchedule_playbackConfigurationName = Lens.lens (\PrefetchSchedule' {playbackConfigurationName} -> playbackConfigurationName) (\s@PrefetchSchedule' {} a -> s {playbackConfigurationName = a} :: PrefetchSchedule)++-- | A complex type that contains settings for prefetch retrieval from the ad+-- decision server (ADS).+prefetchSchedule_retrieval :: Lens.Lens' PrefetchSchedule PrefetchRetrieval+prefetchSchedule_retrieval = Lens.lens (\PrefetchSchedule' {retrieval} -> retrieval) (\s@PrefetchSchedule' {} a -> s {retrieval = a} :: PrefetchSchedule)++instance Data.FromJSON PrefetchSchedule where+ parseJSON =+ Data.withObject+ "PrefetchSchedule"+ ( \x ->+ PrefetchSchedule'+ Prelude.<$> (x Data..:? "StreamId")+ Prelude.<*> (x Data..: "Arn")+ Prelude.<*> (x Data..: "Consumption")+ Prelude.<*> (x Data..: "Name")+ Prelude.<*> (x Data..: "PlaybackConfigurationName")+ Prelude.<*> (x Data..: "Retrieval")+ )++instance Prelude.Hashable PrefetchSchedule where+ hashWithSalt _salt PrefetchSchedule' {..} =+ _salt+ `Prelude.hashWithSalt` streamId+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` consumption+ `Prelude.hashWithSalt` name+ `Prelude.hashWithSalt` playbackConfigurationName+ `Prelude.hashWithSalt` retrieval++instance Prelude.NFData PrefetchSchedule where+ rnf PrefetchSchedule' {..} =+ Prelude.rnf streamId+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf consumption+ `Prelude.seq` Prelude.rnf name+ `Prelude.seq` Prelude.rnf playbackConfigurationName+ `Prelude.seq` Prelude.rnf retrieval
+ gen/Amazonka/MediaTailor/Types/RelativePosition.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.MediaTailor.Types.RelativePosition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.RelativePosition+ ( RelativePosition+ ( ..,+ RelativePosition_AFTER_PROGRAM,+ RelativePosition_BEFORE_PROGRAM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype RelativePosition = RelativePosition'+ { fromRelativePosition ::+ 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 RelativePosition_AFTER_PROGRAM :: RelativePosition+pattern RelativePosition_AFTER_PROGRAM = RelativePosition' "AFTER_PROGRAM"++pattern RelativePosition_BEFORE_PROGRAM :: RelativePosition+pattern RelativePosition_BEFORE_PROGRAM = RelativePosition' "BEFORE_PROGRAM"++{-# COMPLETE+ RelativePosition_AFTER_PROGRAM,+ RelativePosition_BEFORE_PROGRAM,+ RelativePosition'+ #-}
+ gen/Amazonka/MediaTailor/Types/RequestOutputItem.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.RequestOutputItem+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.RequestOutputItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.DashPlaylistSettings+import Amazonka.MediaTailor.Types.HlsPlaylistSettings+import qualified Amazonka.Prelude as Prelude++-- | The output configuration for this channel.+--+-- /See:/ 'newRequestOutputItem' smart constructor.+data RequestOutputItem = RequestOutputItem'+ { -- | DASH manifest configuration parameters.+ dashPlaylistSettings :: Prelude.Maybe DashPlaylistSettings,+ -- | HLS playlist configuration parameters.+ hlsPlaylistSettings :: Prelude.Maybe HlsPlaylistSettings,+ -- | The name of the manifest for the channel. The name appears in the+ -- @PlaybackUrl@.+ manifestName :: Prelude.Text,+ -- | A string used to match which @HttpPackageConfiguration@ is used for each+ -- @VodSource@.+ sourceGroup :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RequestOutputItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashPlaylistSettings', 'requestOutputItem_dashPlaylistSettings' - DASH manifest configuration parameters.+--+-- 'hlsPlaylistSettings', 'requestOutputItem_hlsPlaylistSettings' - HLS playlist configuration parameters.+--+-- 'manifestName', 'requestOutputItem_manifestName' - The name of the manifest for the channel. The name appears in the+-- @PlaybackUrl@.+--+-- 'sourceGroup', 'requestOutputItem_sourceGroup' - A string used to match which @HttpPackageConfiguration@ is used for each+-- @VodSource@.+newRequestOutputItem ::+ -- | 'manifestName'+ Prelude.Text ->+ -- | 'sourceGroup'+ Prelude.Text ->+ RequestOutputItem+newRequestOutputItem pManifestName_ pSourceGroup_ =+ RequestOutputItem'+ { dashPlaylistSettings =+ Prelude.Nothing,+ hlsPlaylistSettings = Prelude.Nothing,+ manifestName = pManifestName_,+ sourceGroup = pSourceGroup_+ }++-- | DASH manifest configuration parameters.+requestOutputItem_dashPlaylistSettings :: Lens.Lens' RequestOutputItem (Prelude.Maybe DashPlaylistSettings)+requestOutputItem_dashPlaylistSettings = Lens.lens (\RequestOutputItem' {dashPlaylistSettings} -> dashPlaylistSettings) (\s@RequestOutputItem' {} a -> s {dashPlaylistSettings = a} :: RequestOutputItem)++-- | HLS playlist configuration parameters.+requestOutputItem_hlsPlaylistSettings :: Lens.Lens' RequestOutputItem (Prelude.Maybe HlsPlaylistSettings)+requestOutputItem_hlsPlaylistSettings = Lens.lens (\RequestOutputItem' {hlsPlaylistSettings} -> hlsPlaylistSettings) (\s@RequestOutputItem' {} a -> s {hlsPlaylistSettings = a} :: RequestOutputItem)++-- | The name of the manifest for the channel. The name appears in the+-- @PlaybackUrl@.+requestOutputItem_manifestName :: Lens.Lens' RequestOutputItem Prelude.Text+requestOutputItem_manifestName = Lens.lens (\RequestOutputItem' {manifestName} -> manifestName) (\s@RequestOutputItem' {} a -> s {manifestName = a} :: RequestOutputItem)++-- | A string used to match which @HttpPackageConfiguration@ is used for each+-- @VodSource@.+requestOutputItem_sourceGroup :: Lens.Lens' RequestOutputItem Prelude.Text+requestOutputItem_sourceGroup = Lens.lens (\RequestOutputItem' {sourceGroup} -> sourceGroup) (\s@RequestOutputItem' {} a -> s {sourceGroup = a} :: RequestOutputItem)++instance Prelude.Hashable RequestOutputItem where+ hashWithSalt _salt RequestOutputItem' {..} =+ _salt+ `Prelude.hashWithSalt` dashPlaylistSettings+ `Prelude.hashWithSalt` hlsPlaylistSettings+ `Prelude.hashWithSalt` manifestName+ `Prelude.hashWithSalt` sourceGroup++instance Prelude.NFData RequestOutputItem where+ rnf RequestOutputItem' {..} =+ Prelude.rnf dashPlaylistSettings+ `Prelude.seq` Prelude.rnf hlsPlaylistSettings+ `Prelude.seq` Prelude.rnf manifestName+ `Prelude.seq` Prelude.rnf sourceGroup++instance Data.ToJSON RequestOutputItem where+ toJSON RequestOutputItem' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DashPlaylistSettings" Data..=)+ Prelude.<$> dashPlaylistSettings,+ ("HlsPlaylistSettings" Data..=)+ Prelude.<$> hlsPlaylistSettings,+ Prelude.Just ("ManifestName" Data..= manifestName),+ Prelude.Just ("SourceGroup" Data..= sourceGroup)+ ]+ )
+ gen/Amazonka/MediaTailor/Types/ResponseOutputItem.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.MediaTailor.Types.ResponseOutputItem+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.ResponseOutputItem where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.DashPlaylistSettings+import Amazonka.MediaTailor.Types.HlsPlaylistSettings+import qualified Amazonka.Prelude as Prelude++-- | The output item response.+--+-- /See:/ 'newResponseOutputItem' smart constructor.+data ResponseOutputItem = ResponseOutputItem'+ { -- | DASH manifest configuration settings.+ dashPlaylistSettings :: Prelude.Maybe DashPlaylistSettings,+ -- | HLS manifest configuration settings.+ hlsPlaylistSettings :: Prelude.Maybe HlsPlaylistSettings,+ -- | The name of the manifest for the channel that will appear in the channel+ -- output\'s playback URL.+ manifestName :: Prelude.Text,+ -- | The URL used for playback by content players.+ playbackUrl :: Prelude.Text,+ -- | A string used to associate a package configuration source group with a+ -- channel output.+ sourceGroup :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ResponseOutputItem' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dashPlaylistSettings', 'responseOutputItem_dashPlaylistSettings' - DASH manifest configuration settings.+--+-- 'hlsPlaylistSettings', 'responseOutputItem_hlsPlaylistSettings' - HLS manifest configuration settings.+--+-- 'manifestName', 'responseOutputItem_manifestName' - The name of the manifest for the channel that will appear in the channel+-- output\'s playback URL.+--+-- 'playbackUrl', 'responseOutputItem_playbackUrl' - The URL used for playback by content players.+--+-- 'sourceGroup', 'responseOutputItem_sourceGroup' - A string used to associate a package configuration source group with a+-- channel output.+newResponseOutputItem ::+ -- | 'manifestName'+ Prelude.Text ->+ -- | 'playbackUrl'+ Prelude.Text ->+ -- | 'sourceGroup'+ Prelude.Text ->+ ResponseOutputItem+newResponseOutputItem+ pManifestName_+ pPlaybackUrl_+ pSourceGroup_ =+ ResponseOutputItem'+ { dashPlaylistSettings =+ Prelude.Nothing,+ hlsPlaylistSettings = Prelude.Nothing,+ manifestName = pManifestName_,+ playbackUrl = pPlaybackUrl_,+ sourceGroup = pSourceGroup_+ }++-- | DASH manifest configuration settings.+responseOutputItem_dashPlaylistSettings :: Lens.Lens' ResponseOutputItem (Prelude.Maybe DashPlaylistSettings)+responseOutputItem_dashPlaylistSettings = Lens.lens (\ResponseOutputItem' {dashPlaylistSettings} -> dashPlaylistSettings) (\s@ResponseOutputItem' {} a -> s {dashPlaylistSettings = a} :: ResponseOutputItem)++-- | HLS manifest configuration settings.+responseOutputItem_hlsPlaylistSettings :: Lens.Lens' ResponseOutputItem (Prelude.Maybe HlsPlaylistSettings)+responseOutputItem_hlsPlaylistSettings = Lens.lens (\ResponseOutputItem' {hlsPlaylistSettings} -> hlsPlaylistSettings) (\s@ResponseOutputItem' {} a -> s {hlsPlaylistSettings = a} :: ResponseOutputItem)++-- | The name of the manifest for the channel that will appear in the channel+-- output\'s playback URL.+responseOutputItem_manifestName :: Lens.Lens' ResponseOutputItem Prelude.Text+responseOutputItem_manifestName = Lens.lens (\ResponseOutputItem' {manifestName} -> manifestName) (\s@ResponseOutputItem' {} a -> s {manifestName = a} :: ResponseOutputItem)++-- | The URL used for playback by content players.+responseOutputItem_playbackUrl :: Lens.Lens' ResponseOutputItem Prelude.Text+responseOutputItem_playbackUrl = Lens.lens (\ResponseOutputItem' {playbackUrl} -> playbackUrl) (\s@ResponseOutputItem' {} a -> s {playbackUrl = a} :: ResponseOutputItem)++-- | A string used to associate a package configuration source group with a+-- channel output.+responseOutputItem_sourceGroup :: Lens.Lens' ResponseOutputItem Prelude.Text+responseOutputItem_sourceGroup = Lens.lens (\ResponseOutputItem' {sourceGroup} -> sourceGroup) (\s@ResponseOutputItem' {} a -> s {sourceGroup = a} :: ResponseOutputItem)++instance Data.FromJSON ResponseOutputItem where+ parseJSON =+ Data.withObject+ "ResponseOutputItem"+ ( \x ->+ ResponseOutputItem'+ Prelude.<$> (x Data..:? "DashPlaylistSettings")+ Prelude.<*> (x Data..:? "HlsPlaylistSettings")+ Prelude.<*> (x Data..: "ManifestName")+ Prelude.<*> (x Data..: "PlaybackUrl")+ Prelude.<*> (x Data..: "SourceGroup")+ )++instance Prelude.Hashable ResponseOutputItem where+ hashWithSalt _salt ResponseOutputItem' {..} =+ _salt+ `Prelude.hashWithSalt` dashPlaylistSettings+ `Prelude.hashWithSalt` hlsPlaylistSettings+ `Prelude.hashWithSalt` manifestName+ `Prelude.hashWithSalt` playbackUrl+ `Prelude.hashWithSalt` sourceGroup++instance Prelude.NFData ResponseOutputItem where+ rnf ResponseOutputItem' {..} =+ Prelude.rnf dashPlaylistSettings+ `Prelude.seq` Prelude.rnf hlsPlaylistSettings+ `Prelude.seq` Prelude.rnf manifestName+ `Prelude.seq` Prelude.rnf playbackUrl+ `Prelude.seq` Prelude.rnf sourceGroup
+ gen/Amazonka/MediaTailor/Types/ScheduleAdBreak.hs view
@@ -0,0 +1,112 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.ScheduleAdBreak+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.ScheduleAdBreak 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 schedule\'s ad break properties.+--+-- /See:/ 'newScheduleAdBreak' smart constructor.+data ScheduleAdBreak = ScheduleAdBreak'+ { -- | The approximate duration of the ad break, in seconds.+ approximateDurationSeconds :: Prelude.Maybe Prelude.Integer,+ -- | The approximate time that the ad will start playing.+ approximateStartTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the source location containing the VOD source used for the+ -- ad break.+ sourceLocationName :: Prelude.Maybe Prelude.Text,+ -- | The name of the VOD source used for the ad break.+ vodSourceName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScheduleAdBreak' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'approximateDurationSeconds', 'scheduleAdBreak_approximateDurationSeconds' - The approximate duration of the ad break, in seconds.+--+-- 'approximateStartTime', 'scheduleAdBreak_approximateStartTime' - The approximate time that the ad will start playing.+--+-- 'sourceLocationName', 'scheduleAdBreak_sourceLocationName' - The name of the source location containing the VOD source used for the+-- ad break.+--+-- 'vodSourceName', 'scheduleAdBreak_vodSourceName' - The name of the VOD source used for the ad break.+newScheduleAdBreak ::+ ScheduleAdBreak+newScheduleAdBreak =+ ScheduleAdBreak'+ { approximateDurationSeconds =+ Prelude.Nothing,+ approximateStartTime = Prelude.Nothing,+ sourceLocationName = Prelude.Nothing,+ vodSourceName = Prelude.Nothing+ }++-- | The approximate duration of the ad break, in seconds.+scheduleAdBreak_approximateDurationSeconds :: Lens.Lens' ScheduleAdBreak (Prelude.Maybe Prelude.Integer)+scheduleAdBreak_approximateDurationSeconds = Lens.lens (\ScheduleAdBreak' {approximateDurationSeconds} -> approximateDurationSeconds) (\s@ScheduleAdBreak' {} a -> s {approximateDurationSeconds = a} :: ScheduleAdBreak)++-- | The approximate time that the ad will start playing.+scheduleAdBreak_approximateStartTime :: Lens.Lens' ScheduleAdBreak (Prelude.Maybe Prelude.UTCTime)+scheduleAdBreak_approximateStartTime = Lens.lens (\ScheduleAdBreak' {approximateStartTime} -> approximateStartTime) (\s@ScheduleAdBreak' {} a -> s {approximateStartTime = a} :: ScheduleAdBreak) Prelude.. Lens.mapping Data._Time++-- | The name of the source location containing the VOD source used for the+-- ad break.+scheduleAdBreak_sourceLocationName :: Lens.Lens' ScheduleAdBreak (Prelude.Maybe Prelude.Text)+scheduleAdBreak_sourceLocationName = Lens.lens (\ScheduleAdBreak' {sourceLocationName} -> sourceLocationName) (\s@ScheduleAdBreak' {} a -> s {sourceLocationName = a} :: ScheduleAdBreak)++-- | The name of the VOD source used for the ad break.+scheduleAdBreak_vodSourceName :: Lens.Lens' ScheduleAdBreak (Prelude.Maybe Prelude.Text)+scheduleAdBreak_vodSourceName = Lens.lens (\ScheduleAdBreak' {vodSourceName} -> vodSourceName) (\s@ScheduleAdBreak' {} a -> s {vodSourceName = a} :: ScheduleAdBreak)++instance Data.FromJSON ScheduleAdBreak where+ parseJSON =+ Data.withObject+ "ScheduleAdBreak"+ ( \x ->+ ScheduleAdBreak'+ Prelude.<$> (x Data..:? "ApproximateDurationSeconds")+ Prelude.<*> (x Data..:? "ApproximateStartTime")+ Prelude.<*> (x Data..:? "SourceLocationName")+ Prelude.<*> (x Data..:? "VodSourceName")+ )++instance Prelude.Hashable ScheduleAdBreak where+ hashWithSalt _salt ScheduleAdBreak' {..} =+ _salt+ `Prelude.hashWithSalt` approximateDurationSeconds+ `Prelude.hashWithSalt` approximateStartTime+ `Prelude.hashWithSalt` sourceLocationName+ `Prelude.hashWithSalt` vodSourceName++instance Prelude.NFData ScheduleAdBreak where+ rnf ScheduleAdBreak' {..} =+ Prelude.rnf approximateDurationSeconds+ `Prelude.seq` Prelude.rnf approximateStartTime+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf vodSourceName
+ gen/Amazonka/MediaTailor/Types/ScheduleConfiguration.hs view
@@ -0,0 +1,71 @@+{-# 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.MediaTailor.Types.ScheduleConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.ScheduleConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.Transition+import qualified Amazonka.Prelude as Prelude++-- | Schedule configuration parameters. A channel must be stopped before+-- changes can be made to the schedule.+--+-- /See:/ 'newScheduleConfiguration' smart constructor.+data ScheduleConfiguration = ScheduleConfiguration'+ { -- | Program transition configurations.+ transition :: Transition+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScheduleConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'transition', 'scheduleConfiguration_transition' - Program transition configurations.+newScheduleConfiguration ::+ -- | 'transition'+ Transition ->+ ScheduleConfiguration+newScheduleConfiguration pTransition_ =+ ScheduleConfiguration' {transition = pTransition_}++-- | Program transition configurations.+scheduleConfiguration_transition :: Lens.Lens' ScheduleConfiguration Transition+scheduleConfiguration_transition = Lens.lens (\ScheduleConfiguration' {transition} -> transition) (\s@ScheduleConfiguration' {} a -> s {transition = a} :: ScheduleConfiguration)++instance Prelude.Hashable ScheduleConfiguration where+ hashWithSalt _salt ScheduleConfiguration' {..} =+ _salt `Prelude.hashWithSalt` transition++instance Prelude.NFData ScheduleConfiguration where+ rnf ScheduleConfiguration' {..} =+ Prelude.rnf transition++instance Data.ToJSON ScheduleConfiguration where+ toJSON ScheduleConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [Prelude.Just ("Transition" Data..= transition)]+ )
+ gen/Amazonka/MediaTailor/Types/ScheduleEntry.hs view
@@ -0,0 +1,198 @@+{-# 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.MediaTailor.Types.ScheduleEntry+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.ScheduleEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.ScheduleAdBreak+import Amazonka.MediaTailor.Types.ScheduleEntryType+import qualified Amazonka.Prelude as Prelude++-- | The properties for a schedule.+--+-- /See:/ 'newScheduleEntry' smart constructor.+data ScheduleEntry = ScheduleEntry'+ { -- | The approximate duration of this program, in seconds.+ approximateDurationSeconds :: Prelude.Maybe Prelude.Integer,+ -- | The approximate time that the program will start playing.+ approximateStartTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the live source used for the program.+ liveSourceName :: Prelude.Maybe Prelude.Text,+ -- | The schedule\'s ad break properties.+ scheduleAdBreaks :: Prelude.Maybe [ScheduleAdBreak],+ -- | The type of schedule entry.+ scheduleEntryType :: Prelude.Maybe ScheduleEntryType,+ -- | The name of the VOD source.+ vodSourceName :: Prelude.Maybe Prelude.Text,+ -- | The ARN of the program.+ arn :: Prelude.Text,+ -- | The name of the channel that uses this schedule.+ channelName :: Prelude.Text,+ -- | The name of the program.+ programName :: Prelude.Text,+ -- | The name of the source location.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScheduleEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'approximateDurationSeconds', 'scheduleEntry_approximateDurationSeconds' - The approximate duration of this program, in seconds.+--+-- 'approximateStartTime', 'scheduleEntry_approximateStartTime' - The approximate time that the program will start playing.+--+-- 'liveSourceName', 'scheduleEntry_liveSourceName' - The name of the live source used for the program.+--+-- 'scheduleAdBreaks', 'scheduleEntry_scheduleAdBreaks' - The schedule\'s ad break properties.+--+-- 'scheduleEntryType', 'scheduleEntry_scheduleEntryType' - The type of schedule entry.+--+-- 'vodSourceName', 'scheduleEntry_vodSourceName' - The name of the VOD source.+--+-- 'arn', 'scheduleEntry_arn' - The ARN of the program.+--+-- 'channelName', 'scheduleEntry_channelName' - The name of the channel that uses this schedule.+--+-- 'programName', 'scheduleEntry_programName' - The name of the program.+--+-- 'sourceLocationName', 'scheduleEntry_sourceLocationName' - The name of the source location.+newScheduleEntry ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'channelName'+ Prelude.Text ->+ -- | 'programName'+ Prelude.Text ->+ -- | 'sourceLocationName'+ Prelude.Text ->+ ScheduleEntry+newScheduleEntry+ pArn_+ pChannelName_+ pProgramName_+ pSourceLocationName_ =+ ScheduleEntry'+ { approximateDurationSeconds =+ Prelude.Nothing,+ approximateStartTime = Prelude.Nothing,+ liveSourceName = Prelude.Nothing,+ scheduleAdBreaks = Prelude.Nothing,+ scheduleEntryType = Prelude.Nothing,+ vodSourceName = Prelude.Nothing,+ arn = pArn_,+ channelName = pChannelName_,+ programName = pProgramName_,+ sourceLocationName = pSourceLocationName_+ }++-- | The approximate duration of this program, in seconds.+scheduleEntry_approximateDurationSeconds :: Lens.Lens' ScheduleEntry (Prelude.Maybe Prelude.Integer)+scheduleEntry_approximateDurationSeconds = Lens.lens (\ScheduleEntry' {approximateDurationSeconds} -> approximateDurationSeconds) (\s@ScheduleEntry' {} a -> s {approximateDurationSeconds = a} :: ScheduleEntry)++-- | The approximate time that the program will start playing.+scheduleEntry_approximateStartTime :: Lens.Lens' ScheduleEntry (Prelude.Maybe Prelude.UTCTime)+scheduleEntry_approximateStartTime = Lens.lens (\ScheduleEntry' {approximateStartTime} -> approximateStartTime) (\s@ScheduleEntry' {} a -> s {approximateStartTime = a} :: ScheduleEntry) Prelude.. Lens.mapping Data._Time++-- | The name of the live source used for the program.+scheduleEntry_liveSourceName :: Lens.Lens' ScheduleEntry (Prelude.Maybe Prelude.Text)+scheduleEntry_liveSourceName = Lens.lens (\ScheduleEntry' {liveSourceName} -> liveSourceName) (\s@ScheduleEntry' {} a -> s {liveSourceName = a} :: ScheduleEntry)++-- | The schedule\'s ad break properties.+scheduleEntry_scheduleAdBreaks :: Lens.Lens' ScheduleEntry (Prelude.Maybe [ScheduleAdBreak])+scheduleEntry_scheduleAdBreaks = Lens.lens (\ScheduleEntry' {scheduleAdBreaks} -> scheduleAdBreaks) (\s@ScheduleEntry' {} a -> s {scheduleAdBreaks = a} :: ScheduleEntry) Prelude.. Lens.mapping Lens.coerced++-- | The type of schedule entry.+scheduleEntry_scheduleEntryType :: Lens.Lens' ScheduleEntry (Prelude.Maybe ScheduleEntryType)+scheduleEntry_scheduleEntryType = Lens.lens (\ScheduleEntry' {scheduleEntryType} -> scheduleEntryType) (\s@ScheduleEntry' {} a -> s {scheduleEntryType = a} :: ScheduleEntry)++-- | The name of the VOD source.+scheduleEntry_vodSourceName :: Lens.Lens' ScheduleEntry (Prelude.Maybe Prelude.Text)+scheduleEntry_vodSourceName = Lens.lens (\ScheduleEntry' {vodSourceName} -> vodSourceName) (\s@ScheduleEntry' {} a -> s {vodSourceName = a} :: ScheduleEntry)++-- | The ARN of the program.+scheduleEntry_arn :: Lens.Lens' ScheduleEntry Prelude.Text+scheduleEntry_arn = Lens.lens (\ScheduleEntry' {arn} -> arn) (\s@ScheduleEntry' {} a -> s {arn = a} :: ScheduleEntry)++-- | The name of the channel that uses this schedule.+scheduleEntry_channelName :: Lens.Lens' ScheduleEntry Prelude.Text+scheduleEntry_channelName = Lens.lens (\ScheduleEntry' {channelName} -> channelName) (\s@ScheduleEntry' {} a -> s {channelName = a} :: ScheduleEntry)++-- | The name of the program.+scheduleEntry_programName :: Lens.Lens' ScheduleEntry Prelude.Text+scheduleEntry_programName = Lens.lens (\ScheduleEntry' {programName} -> programName) (\s@ScheduleEntry' {} a -> s {programName = a} :: ScheduleEntry)++-- | The name of the source location.+scheduleEntry_sourceLocationName :: Lens.Lens' ScheduleEntry Prelude.Text+scheduleEntry_sourceLocationName = Lens.lens (\ScheduleEntry' {sourceLocationName} -> sourceLocationName) (\s@ScheduleEntry' {} a -> s {sourceLocationName = a} :: ScheduleEntry)++instance Data.FromJSON ScheduleEntry where+ parseJSON =+ Data.withObject+ "ScheduleEntry"+ ( \x ->+ ScheduleEntry'+ Prelude.<$> (x Data..:? "ApproximateDurationSeconds")+ Prelude.<*> (x Data..:? "ApproximateStartTime")+ Prelude.<*> (x Data..:? "LiveSourceName")+ Prelude.<*> ( x+ Data..:? "ScheduleAdBreaks"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "ScheduleEntryType")+ Prelude.<*> (x Data..:? "VodSourceName")+ Prelude.<*> (x Data..: "Arn")+ Prelude.<*> (x Data..: "ChannelName")+ Prelude.<*> (x Data..: "ProgramName")+ Prelude.<*> (x Data..: "SourceLocationName")+ )++instance Prelude.Hashable ScheduleEntry where+ hashWithSalt _salt ScheduleEntry' {..} =+ _salt+ `Prelude.hashWithSalt` approximateDurationSeconds+ `Prelude.hashWithSalt` approximateStartTime+ `Prelude.hashWithSalt` liveSourceName+ `Prelude.hashWithSalt` scheduleAdBreaks+ `Prelude.hashWithSalt` scheduleEntryType+ `Prelude.hashWithSalt` vodSourceName+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` channelName+ `Prelude.hashWithSalt` programName+ `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData ScheduleEntry where+ rnf ScheduleEntry' {..} =+ Prelude.rnf approximateDurationSeconds+ `Prelude.seq` Prelude.rnf approximateStartTime+ `Prelude.seq` Prelude.rnf liveSourceName+ `Prelude.seq` Prelude.rnf scheduleAdBreaks+ `Prelude.seq` Prelude.rnf scheduleEntryType+ `Prelude.seq` Prelude.rnf vodSourceName+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf programName+ `Prelude.seq` Prelude.rnf sourceLocationName
+ gen/Amazonka/MediaTailor/Types/ScheduleEntryType.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.MediaTailor.Types.ScheduleEntryType+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.ScheduleEntryType+ ( ScheduleEntryType+ ( ..,+ ScheduleEntryType_FILLER_SLATE,+ ScheduleEntryType_PROGRAM+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype ScheduleEntryType = ScheduleEntryType'+ { fromScheduleEntryType ::+ 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 ScheduleEntryType_FILLER_SLATE :: ScheduleEntryType+pattern ScheduleEntryType_FILLER_SLATE = ScheduleEntryType' "FILLER_SLATE"++pattern ScheduleEntryType_PROGRAM :: ScheduleEntryType+pattern ScheduleEntryType_PROGRAM = ScheduleEntryType' "PROGRAM"++{-# COMPLETE+ ScheduleEntryType_FILLER_SLATE,+ ScheduleEntryType_PROGRAM,+ ScheduleEntryType'+ #-}
+ gen/Amazonka/MediaTailor/Types/SecretsManagerAccessTokenConfiguration.hs view
@@ -0,0 +1,139 @@+{-# 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.MediaTailor.Types.SecretsManagerAccessTokenConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.SecretsManagerAccessTokenConfiguration 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++-- | AWS Secrets Manager access token configuration parameters. For+-- information about Secrets Manager access token authentication, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-access-configuration-access-token.html Working with AWS Secrets Manager access token authentication>.+--+-- /See:/ 'newSecretsManagerAccessTokenConfiguration' smart constructor.+data SecretsManagerAccessTokenConfiguration = SecretsManagerAccessTokenConfiguration'+ { -- | The name of the HTTP header used to supply the access token in requests+ -- to the source location.+ headerName :: Prelude.Maybe Prelude.Text,+ -- | The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that+ -- contains the access token.+ secretArn :: Prelude.Maybe Prelude.Text,+ -- | The AWS Secrets Manager+ -- <https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html#SecretsManager-CreateSecret-request-SecretString.html SecretString>+ -- key associated with the access token. MediaTailor uses the key to look+ -- up SecretString key and value pair containing the access token.+ secretStringKey :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SecretsManagerAccessTokenConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'headerName', 'secretsManagerAccessTokenConfiguration_headerName' - The name of the HTTP header used to supply the access token in requests+-- to the source location.+--+-- 'secretArn', 'secretsManagerAccessTokenConfiguration_secretArn' - The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that+-- contains the access token.+--+-- 'secretStringKey', 'secretsManagerAccessTokenConfiguration_secretStringKey' - The AWS Secrets Manager+-- <https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html#SecretsManager-CreateSecret-request-SecretString.html SecretString>+-- key associated with the access token. MediaTailor uses the key to look+-- up SecretString key and value pair containing the access token.+newSecretsManagerAccessTokenConfiguration ::+ SecretsManagerAccessTokenConfiguration+newSecretsManagerAccessTokenConfiguration =+ SecretsManagerAccessTokenConfiguration'+ { headerName =+ Prelude.Nothing,+ secretArn = Prelude.Nothing,+ secretStringKey = Prelude.Nothing+ }++-- | The name of the HTTP header used to supply the access token in requests+-- to the source location.+secretsManagerAccessTokenConfiguration_headerName :: Lens.Lens' SecretsManagerAccessTokenConfiguration (Prelude.Maybe Prelude.Text)+secretsManagerAccessTokenConfiguration_headerName = Lens.lens (\SecretsManagerAccessTokenConfiguration' {headerName} -> headerName) (\s@SecretsManagerAccessTokenConfiguration' {} a -> s {headerName = a} :: SecretsManagerAccessTokenConfiguration)++-- | The Amazon Resource Name (ARN) of the AWS Secrets Manager secret that+-- contains the access token.+secretsManagerAccessTokenConfiguration_secretArn :: Lens.Lens' SecretsManagerAccessTokenConfiguration (Prelude.Maybe Prelude.Text)+secretsManagerAccessTokenConfiguration_secretArn = Lens.lens (\SecretsManagerAccessTokenConfiguration' {secretArn} -> secretArn) (\s@SecretsManagerAccessTokenConfiguration' {} a -> s {secretArn = a} :: SecretsManagerAccessTokenConfiguration)++-- | The AWS Secrets Manager+-- <https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_CreateSecret.html#SecretsManager-CreateSecret-request-SecretString.html SecretString>+-- key associated with the access token. MediaTailor uses the key to look+-- up SecretString key and value pair containing the access token.+secretsManagerAccessTokenConfiguration_secretStringKey :: Lens.Lens' SecretsManagerAccessTokenConfiguration (Prelude.Maybe Prelude.Text)+secretsManagerAccessTokenConfiguration_secretStringKey = Lens.lens (\SecretsManagerAccessTokenConfiguration' {secretStringKey} -> secretStringKey) (\s@SecretsManagerAccessTokenConfiguration' {} a -> s {secretStringKey = a} :: SecretsManagerAccessTokenConfiguration)++instance+ Data.FromJSON+ SecretsManagerAccessTokenConfiguration+ where+ parseJSON =+ Data.withObject+ "SecretsManagerAccessTokenConfiguration"+ ( \x ->+ SecretsManagerAccessTokenConfiguration'+ Prelude.<$> (x Data..:? "HeaderName")+ Prelude.<*> (x Data..:? "SecretArn")+ Prelude.<*> (x Data..:? "SecretStringKey")+ )++instance+ Prelude.Hashable+ SecretsManagerAccessTokenConfiguration+ where+ hashWithSalt+ _salt+ SecretsManagerAccessTokenConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` headerName+ `Prelude.hashWithSalt` secretArn+ `Prelude.hashWithSalt` secretStringKey++instance+ Prelude.NFData+ SecretsManagerAccessTokenConfiguration+ where+ rnf SecretsManagerAccessTokenConfiguration' {..} =+ Prelude.rnf headerName+ `Prelude.seq` Prelude.rnf secretArn+ `Prelude.seq` Prelude.rnf secretStringKey++instance+ Data.ToJSON+ SecretsManagerAccessTokenConfiguration+ where+ toJSON SecretsManagerAccessTokenConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("HeaderName" Data..=) Prelude.<$> headerName,+ ("SecretArn" Data..=) Prelude.<$> secretArn,+ ("SecretStringKey" Data..=)+ Prelude.<$> secretStringKey+ ]+ )
+ gen/Amazonka/MediaTailor/Types/SegmentDeliveryConfiguration.hs view
@@ -0,0 +1,114 @@+{-# 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.MediaTailor.Types.SegmentDeliveryConfiguration+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.SegmentDeliveryConfiguration 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 segment delivery configuration settings.+--+-- /See:/ 'newSegmentDeliveryConfiguration' smart constructor.+data SegmentDeliveryConfiguration = SegmentDeliveryConfiguration'+ { -- | The base URL of the host or path of the segment delivery server that+ -- you\'re using to serve segments. This is typically a content delivery+ -- network (CDN). The URL can be absolute or relative. To use an absolute+ -- URL include the protocol, such as @https:\/\/example.com\/some\/path@.+ -- To use a relative URL specify the relative path, such as+ -- @\/some\/path*@.+ baseUrl :: Prelude.Maybe Prelude.Text,+ -- | A unique identifier used to distinguish between multiple segment+ -- delivery configurations in a source location.+ name :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SegmentDeliveryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'baseUrl', 'segmentDeliveryConfiguration_baseUrl' - The base URL of the host or path of the segment delivery server that+-- you\'re using to serve segments. This is typically a content delivery+-- network (CDN). The URL can be absolute or relative. To use an absolute+-- URL include the protocol, such as @https:\/\/example.com\/some\/path@.+-- To use a relative URL specify the relative path, such as+-- @\/some\/path*@.+--+-- 'name', 'segmentDeliveryConfiguration_name' - A unique identifier used to distinguish between multiple segment+-- delivery configurations in a source location.+newSegmentDeliveryConfiguration ::+ SegmentDeliveryConfiguration+newSegmentDeliveryConfiguration =+ SegmentDeliveryConfiguration'+ { baseUrl =+ Prelude.Nothing,+ name = Prelude.Nothing+ }++-- | The base URL of the host or path of the segment delivery server that+-- you\'re using to serve segments. This is typically a content delivery+-- network (CDN). The URL can be absolute or relative. To use an absolute+-- URL include the protocol, such as @https:\/\/example.com\/some\/path@.+-- To use a relative URL specify the relative path, such as+-- @\/some\/path*@.+segmentDeliveryConfiguration_baseUrl :: Lens.Lens' SegmentDeliveryConfiguration (Prelude.Maybe Prelude.Text)+segmentDeliveryConfiguration_baseUrl = Lens.lens (\SegmentDeliveryConfiguration' {baseUrl} -> baseUrl) (\s@SegmentDeliveryConfiguration' {} a -> s {baseUrl = a} :: SegmentDeliveryConfiguration)++-- | A unique identifier used to distinguish between multiple segment+-- delivery configurations in a source location.+segmentDeliveryConfiguration_name :: Lens.Lens' SegmentDeliveryConfiguration (Prelude.Maybe Prelude.Text)+segmentDeliveryConfiguration_name = Lens.lens (\SegmentDeliveryConfiguration' {name} -> name) (\s@SegmentDeliveryConfiguration' {} a -> s {name = a} :: SegmentDeliveryConfiguration)++instance Data.FromJSON SegmentDeliveryConfiguration where+ parseJSON =+ Data.withObject+ "SegmentDeliveryConfiguration"+ ( \x ->+ SegmentDeliveryConfiguration'+ Prelude.<$> (x Data..:? "BaseUrl")+ Prelude.<*> (x Data..:? "Name")+ )++instance+ Prelude.Hashable+ SegmentDeliveryConfiguration+ where+ hashWithSalt _salt SegmentDeliveryConfiguration' {..} =+ _salt+ `Prelude.hashWithSalt` baseUrl+ `Prelude.hashWithSalt` name++instance Prelude.NFData SegmentDeliveryConfiguration where+ rnf SegmentDeliveryConfiguration' {..} =+ Prelude.rnf baseUrl `Prelude.seq` Prelude.rnf name++instance Data.ToJSON SegmentDeliveryConfiguration where+ toJSON SegmentDeliveryConfiguration' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("BaseUrl" Data..=) Prelude.<$> baseUrl,+ ("Name" Data..=) Prelude.<$> name+ ]+ )
+ gen/Amazonka/MediaTailor/Types/SegmentationDescriptor.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.MediaTailor.Types.SegmentationDescriptor+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.SegmentationDescriptor 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 @segmentation_descriptor@ message can contain advanced metadata+-- fields, like content identifiers, to convey a wide range of information+-- about the ad break. MediaTailor writes the ad metadata in the egress+-- manifest as part of the @EXT-X-DATERANGE@ or @EventStream@ ad marker\'s+-- SCTE-35 data.+--+-- @segmentation_descriptor@ messages must be sent with the @time_signal@+-- message type.+--+-- See the @segmentation_descriptor()@ table of the 2022 SCTE-35+-- specification for more information.+--+-- /See:/ 'newSegmentationDescriptor' smart constructor.+data SegmentationDescriptor = SegmentationDescriptor'+ { -- | The segment number to assign to the+ -- @segmentation_descriptor.segment_num@ message, as defined in section+ -- 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and+ -- 256, inclusive. The default value is 0.+ segmentNum :: Prelude.Maybe Prelude.Int,+ -- | The Event Identifier to assign to the+ -- @segmentation_descriptor.segmentation_event_id@ message, as defined in+ -- section 10.3.3.1 of the 2022 SCTE-35 specification. The default value is+ -- 1.+ segmentationEventId :: Prelude.Maybe Prelude.Int,+ -- | The Type Identifier to assign to the+ -- @segmentation_descriptor.segmentation_type_id@ message, as defined in+ -- section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be+ -- between 0 and 256, inclusive. The default value is 48.+ segmentationTypeId :: Prelude.Maybe Prelude.Int,+ -- | The Upid to assign to the @segmentation_descriptor.segmentation_upid@+ -- message, as defined in section 10.3.3.1 of the 2022 SCTE-35+ -- specification. The value must be a hexadecimal string containing only+ -- the characters 0 though 9 and A through F. The default value is \"\" (an+ -- empty string).+ segmentationUpid :: Prelude.Maybe Prelude.Text,+ -- | The Upid Type to assign to the+ -- @segmentation_descriptor.segmentation_upid_type@ message, as defined in+ -- section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be+ -- between 0 and 256, inclusive. The default value is 14.+ segmentationUpidType :: Prelude.Maybe Prelude.Int,+ -- | The number of segments expected, which is assigned to the+ -- @segmentation_descriptor.segments_expectedS@ message, as defined in+ -- section 10.3.3.1 of the 2022 SCTE-35 specification Values must be+ -- between 0 and 256, inclusive. The default value is 0.+ segmentsExpected :: Prelude.Maybe Prelude.Int,+ -- | The sub-segment number to assign to the+ -- @segmentation_descriptor.sub_segment_num@ message, as defined in section+ -- 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and+ -- 256, inclusive. The defualt value is null.+ subSegmentNum :: Prelude.Maybe Prelude.Int,+ -- | The number of sub-segments expected, which is assigned to the+ -- @segmentation_descriptor.sub_segments_expected@ message, as defined in+ -- section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be+ -- between 0 and 256, inclusive. The default value is null.+ subSegmentsExpected :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SegmentationDescriptor' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'segmentNum', 'segmentationDescriptor_segmentNum' - The segment number to assign to the+-- @segmentation_descriptor.segment_num@ message, as defined in section+-- 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and+-- 256, inclusive. The default value is 0.+--+-- 'segmentationEventId', 'segmentationDescriptor_segmentationEventId' - The Event Identifier to assign to the+-- @segmentation_descriptor.segmentation_event_id@ message, as defined in+-- section 10.3.3.1 of the 2022 SCTE-35 specification. The default value is+-- 1.+--+-- 'segmentationTypeId', 'segmentationDescriptor_segmentationTypeId' - The Type Identifier to assign to the+-- @segmentation_descriptor.segmentation_type_id@ message, as defined in+-- section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be+-- between 0 and 256, inclusive. The default value is 48.+--+-- 'segmentationUpid', 'segmentationDescriptor_segmentationUpid' - The Upid to assign to the @segmentation_descriptor.segmentation_upid@+-- message, as defined in section 10.3.3.1 of the 2022 SCTE-35+-- specification. The value must be a hexadecimal string containing only+-- the characters 0 though 9 and A through F. The default value is \"\" (an+-- empty string).+--+-- 'segmentationUpidType', 'segmentationDescriptor_segmentationUpidType' - The Upid Type to assign to the+-- @segmentation_descriptor.segmentation_upid_type@ message, as defined in+-- section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be+-- between 0 and 256, inclusive. The default value is 14.+--+-- 'segmentsExpected', 'segmentationDescriptor_segmentsExpected' - The number of segments expected, which is assigned to the+-- @segmentation_descriptor.segments_expectedS@ message, as defined in+-- section 10.3.3.1 of the 2022 SCTE-35 specification Values must be+-- between 0 and 256, inclusive. The default value is 0.+--+-- 'subSegmentNum', 'segmentationDescriptor_subSegmentNum' - The sub-segment number to assign to the+-- @segmentation_descriptor.sub_segment_num@ message, as defined in section+-- 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and+-- 256, inclusive. The defualt value is null.+--+-- 'subSegmentsExpected', 'segmentationDescriptor_subSegmentsExpected' - The number of sub-segments expected, which is assigned to the+-- @segmentation_descriptor.sub_segments_expected@ message, as defined in+-- section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be+-- between 0 and 256, inclusive. The default value is null.+newSegmentationDescriptor ::+ SegmentationDescriptor+newSegmentationDescriptor =+ SegmentationDescriptor'+ { segmentNum =+ Prelude.Nothing,+ segmentationEventId = Prelude.Nothing,+ segmentationTypeId = Prelude.Nothing,+ segmentationUpid = Prelude.Nothing,+ segmentationUpidType = Prelude.Nothing,+ segmentsExpected = Prelude.Nothing,+ subSegmentNum = Prelude.Nothing,+ subSegmentsExpected = Prelude.Nothing+ }++-- | The segment number to assign to the+-- @segmentation_descriptor.segment_num@ message, as defined in section+-- 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and+-- 256, inclusive. The default value is 0.+segmentationDescriptor_segmentNum :: Lens.Lens' SegmentationDescriptor (Prelude.Maybe Prelude.Int)+segmentationDescriptor_segmentNum = Lens.lens (\SegmentationDescriptor' {segmentNum} -> segmentNum) (\s@SegmentationDescriptor' {} a -> s {segmentNum = a} :: SegmentationDescriptor)++-- | The Event Identifier to assign to the+-- @segmentation_descriptor.segmentation_event_id@ message, as defined in+-- section 10.3.3.1 of the 2022 SCTE-35 specification. The default value is+-- 1.+segmentationDescriptor_segmentationEventId :: Lens.Lens' SegmentationDescriptor (Prelude.Maybe Prelude.Int)+segmentationDescriptor_segmentationEventId = Lens.lens (\SegmentationDescriptor' {segmentationEventId} -> segmentationEventId) (\s@SegmentationDescriptor' {} a -> s {segmentationEventId = a} :: SegmentationDescriptor)++-- | The Type Identifier to assign to the+-- @segmentation_descriptor.segmentation_type_id@ message, as defined in+-- section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be+-- between 0 and 256, inclusive. The default value is 48.+segmentationDescriptor_segmentationTypeId :: Lens.Lens' SegmentationDescriptor (Prelude.Maybe Prelude.Int)+segmentationDescriptor_segmentationTypeId = Lens.lens (\SegmentationDescriptor' {segmentationTypeId} -> segmentationTypeId) (\s@SegmentationDescriptor' {} a -> s {segmentationTypeId = a} :: SegmentationDescriptor)++-- | The Upid to assign to the @segmentation_descriptor.segmentation_upid@+-- message, as defined in section 10.3.3.1 of the 2022 SCTE-35+-- specification. The value must be a hexadecimal string containing only+-- the characters 0 though 9 and A through F. The default value is \"\" (an+-- empty string).+segmentationDescriptor_segmentationUpid :: Lens.Lens' SegmentationDescriptor (Prelude.Maybe Prelude.Text)+segmentationDescriptor_segmentationUpid = Lens.lens (\SegmentationDescriptor' {segmentationUpid} -> segmentationUpid) (\s@SegmentationDescriptor' {} a -> s {segmentationUpid = a} :: SegmentationDescriptor)++-- | The Upid Type to assign to the+-- @segmentation_descriptor.segmentation_upid_type@ message, as defined in+-- section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be+-- between 0 and 256, inclusive. The default value is 14.+segmentationDescriptor_segmentationUpidType :: Lens.Lens' SegmentationDescriptor (Prelude.Maybe Prelude.Int)+segmentationDescriptor_segmentationUpidType = Lens.lens (\SegmentationDescriptor' {segmentationUpidType} -> segmentationUpidType) (\s@SegmentationDescriptor' {} a -> s {segmentationUpidType = a} :: SegmentationDescriptor)++-- | The number of segments expected, which is assigned to the+-- @segmentation_descriptor.segments_expectedS@ message, as defined in+-- section 10.3.3.1 of the 2022 SCTE-35 specification Values must be+-- between 0 and 256, inclusive. The default value is 0.+segmentationDescriptor_segmentsExpected :: Lens.Lens' SegmentationDescriptor (Prelude.Maybe Prelude.Int)+segmentationDescriptor_segmentsExpected = Lens.lens (\SegmentationDescriptor' {segmentsExpected} -> segmentsExpected) (\s@SegmentationDescriptor' {} a -> s {segmentsExpected = a} :: SegmentationDescriptor)++-- | The sub-segment number to assign to the+-- @segmentation_descriptor.sub_segment_num@ message, as defined in section+-- 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and+-- 256, inclusive. The defualt value is null.+segmentationDescriptor_subSegmentNum :: Lens.Lens' SegmentationDescriptor (Prelude.Maybe Prelude.Int)+segmentationDescriptor_subSegmentNum = Lens.lens (\SegmentationDescriptor' {subSegmentNum} -> subSegmentNum) (\s@SegmentationDescriptor' {} a -> s {subSegmentNum = a} :: SegmentationDescriptor)++-- | The number of sub-segments expected, which is assigned to the+-- @segmentation_descriptor.sub_segments_expected@ message, as defined in+-- section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be+-- between 0 and 256, inclusive. The default value is null.+segmentationDescriptor_subSegmentsExpected :: Lens.Lens' SegmentationDescriptor (Prelude.Maybe Prelude.Int)+segmentationDescriptor_subSegmentsExpected = Lens.lens (\SegmentationDescriptor' {subSegmentsExpected} -> subSegmentsExpected) (\s@SegmentationDescriptor' {} a -> s {subSegmentsExpected = a} :: SegmentationDescriptor)++instance Data.FromJSON SegmentationDescriptor where+ parseJSON =+ Data.withObject+ "SegmentationDescriptor"+ ( \x ->+ SegmentationDescriptor'+ Prelude.<$> (x Data..:? "SegmentNum")+ Prelude.<*> (x Data..:? "SegmentationEventId")+ Prelude.<*> (x Data..:? "SegmentationTypeId")+ Prelude.<*> (x Data..:? "SegmentationUpid")+ Prelude.<*> (x Data..:? "SegmentationUpidType")+ Prelude.<*> (x Data..:? "SegmentsExpected")+ Prelude.<*> (x Data..:? "SubSegmentNum")+ Prelude.<*> (x Data..:? "SubSegmentsExpected")+ )++instance Prelude.Hashable SegmentationDescriptor where+ hashWithSalt _salt SegmentationDescriptor' {..} =+ _salt+ `Prelude.hashWithSalt` segmentNum+ `Prelude.hashWithSalt` segmentationEventId+ `Prelude.hashWithSalt` segmentationTypeId+ `Prelude.hashWithSalt` segmentationUpid+ `Prelude.hashWithSalt` segmentationUpidType+ `Prelude.hashWithSalt` segmentsExpected+ `Prelude.hashWithSalt` subSegmentNum+ `Prelude.hashWithSalt` subSegmentsExpected++instance Prelude.NFData SegmentationDescriptor where+ rnf SegmentationDescriptor' {..} =+ Prelude.rnf segmentNum+ `Prelude.seq` Prelude.rnf segmentationEventId+ `Prelude.seq` Prelude.rnf segmentationTypeId+ `Prelude.seq` Prelude.rnf segmentationUpid+ `Prelude.seq` Prelude.rnf segmentationUpidType+ `Prelude.seq` Prelude.rnf segmentsExpected+ `Prelude.seq` Prelude.rnf subSegmentNum+ `Prelude.seq` Prelude.rnf subSegmentsExpected++instance Data.ToJSON SegmentationDescriptor where+ toJSON SegmentationDescriptor' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("SegmentNum" Data..=) Prelude.<$> segmentNum,+ ("SegmentationEventId" Data..=)+ Prelude.<$> segmentationEventId,+ ("SegmentationTypeId" Data..=)+ Prelude.<$> segmentationTypeId,+ ("SegmentationUpid" Data..=)+ Prelude.<$> segmentationUpid,+ ("SegmentationUpidType" Data..=)+ Prelude.<$> segmentationUpidType,+ ("SegmentsExpected" Data..=)+ Prelude.<$> segmentsExpected,+ ("SubSegmentNum" Data..=) Prelude.<$> subSegmentNum,+ ("SubSegmentsExpected" Data..=)+ Prelude.<$> subSegmentsExpected+ ]+ )
+ gen/Amazonka/MediaTailor/Types/SlateSource.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.SlateSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.SlateSource 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++-- | Slate VOD source configuration.+--+-- /See:/ 'newSlateSource' smart constructor.+data SlateSource = SlateSource'+ { -- | The name of the source location where the slate VOD source is stored.+ sourceLocationName :: Prelude.Maybe Prelude.Text,+ -- | The slate VOD source name. The VOD source must already exist in a source+ -- location before it can be used for slate.+ vodSourceName :: Prelude.Maybe Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SlateSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'sourceLocationName', 'slateSource_sourceLocationName' - The name of the source location where the slate VOD source is stored.+--+-- 'vodSourceName', 'slateSource_vodSourceName' - The slate VOD source name. The VOD source must already exist in a source+-- location before it can be used for slate.+newSlateSource ::+ SlateSource+newSlateSource =+ SlateSource'+ { sourceLocationName = Prelude.Nothing,+ vodSourceName = Prelude.Nothing+ }++-- | The name of the source location where the slate VOD source is stored.+slateSource_sourceLocationName :: Lens.Lens' SlateSource (Prelude.Maybe Prelude.Text)+slateSource_sourceLocationName = Lens.lens (\SlateSource' {sourceLocationName} -> sourceLocationName) (\s@SlateSource' {} a -> s {sourceLocationName = a} :: SlateSource)++-- | The slate VOD source name. The VOD source must already exist in a source+-- location before it can be used for slate.+slateSource_vodSourceName :: Lens.Lens' SlateSource (Prelude.Maybe Prelude.Text)+slateSource_vodSourceName = Lens.lens (\SlateSource' {vodSourceName} -> vodSourceName) (\s@SlateSource' {} a -> s {vodSourceName = a} :: SlateSource)++instance Data.FromJSON SlateSource where+ parseJSON =+ Data.withObject+ "SlateSource"+ ( \x ->+ SlateSource'+ Prelude.<$> (x Data..:? "SourceLocationName")+ Prelude.<*> (x Data..:? "VodSourceName")+ )++instance Prelude.Hashable SlateSource where+ hashWithSalt _salt SlateSource' {..} =+ _salt+ `Prelude.hashWithSalt` sourceLocationName+ `Prelude.hashWithSalt` vodSourceName++instance Prelude.NFData SlateSource where+ rnf SlateSource' {..} =+ Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf vodSourceName++instance Data.ToJSON SlateSource where+ toJSON SlateSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("SourceLocationName" Data..=)+ Prelude.<$> sourceLocationName,+ ("VodSourceName" Data..=) Prelude.<$> vodSourceName+ ]+ )
+ gen/Amazonka/MediaTailor/Types/SourceLocation.hs view
@@ -0,0 +1,198 @@+{-# 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.MediaTailor.Types.SourceLocation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.SourceLocation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.AccessConfiguration+import Amazonka.MediaTailor.Types.DefaultSegmentDeliveryConfiguration+import Amazonka.MediaTailor.Types.HttpConfiguration+import Amazonka.MediaTailor.Types.SegmentDeliveryConfiguration+import qualified Amazonka.Prelude as Prelude++-- | A source location is a container for sources. For more information about+-- source locations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-source-locations.html Working with source locations>+-- in the /MediaTailor User Guide/.+--+-- /See:/ 'newSourceLocation' smart constructor.+data SourceLocation = SourceLocation'+ { -- | The access configuration for the source location.+ accessConfiguration :: Prelude.Maybe AccessConfiguration,+ -- | The timestamp that indicates when the source location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The default segment delivery configuration.+ defaultSegmentDeliveryConfiguration :: Prelude.Maybe DefaultSegmentDeliveryConfiguration,+ -- | The timestamp that indicates when the source location was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The segment delivery configurations for the source location.+ segmentDeliveryConfigurations :: Prelude.Maybe [SegmentDeliveryConfiguration],+ -- | The tags assigned to the source location. Tags are key-value pairs that+ -- you can associate with Amazon resources to help with organization,+ -- access control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ARN of the SourceLocation.+ arn :: Prelude.Text,+ -- | The HTTP configuration for the source location.+ httpConfiguration :: HttpConfiguration,+ -- | The name of the source location.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessConfiguration', 'sourceLocation_accessConfiguration' - The access configuration for the source location.+--+-- 'creationTime', 'sourceLocation_creationTime' - The timestamp that indicates when the source location was created.+--+-- 'defaultSegmentDeliveryConfiguration', 'sourceLocation_defaultSegmentDeliveryConfiguration' - The default segment delivery configuration.+--+-- 'lastModifiedTime', 'sourceLocation_lastModifiedTime' - The timestamp that indicates when the source location was last modified.+--+-- 'segmentDeliveryConfigurations', 'sourceLocation_segmentDeliveryConfigurations' - The segment delivery configurations for the source location.+--+-- 'tags', 'sourceLocation_tags' - The tags assigned to the source location. Tags are key-value pairs that+-- you can associate with Amazon resources to help with organization,+-- access control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'arn', 'sourceLocation_arn' - The ARN of the SourceLocation.+--+-- 'httpConfiguration', 'sourceLocation_httpConfiguration' - The HTTP configuration for the source location.+--+-- 'sourceLocationName', 'sourceLocation_sourceLocationName' - The name of the source location.+newSourceLocation ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'httpConfiguration'+ HttpConfiguration ->+ -- | 'sourceLocationName'+ Prelude.Text ->+ SourceLocation+newSourceLocation+ pArn_+ pHttpConfiguration_+ pSourceLocationName_ =+ SourceLocation'+ { accessConfiguration =+ Prelude.Nothing,+ creationTime = Prelude.Nothing,+ defaultSegmentDeliveryConfiguration =+ Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ segmentDeliveryConfigurations = Prelude.Nothing,+ tags = Prelude.Nothing,+ arn = pArn_,+ httpConfiguration = pHttpConfiguration_,+ sourceLocationName = pSourceLocationName_+ }++-- | The access configuration for the source location.+sourceLocation_accessConfiguration :: Lens.Lens' SourceLocation (Prelude.Maybe AccessConfiguration)+sourceLocation_accessConfiguration = Lens.lens (\SourceLocation' {accessConfiguration} -> accessConfiguration) (\s@SourceLocation' {} a -> s {accessConfiguration = a} :: SourceLocation)++-- | The timestamp that indicates when the source location was created.+sourceLocation_creationTime :: Lens.Lens' SourceLocation (Prelude.Maybe Prelude.UTCTime)+sourceLocation_creationTime = Lens.lens (\SourceLocation' {creationTime} -> creationTime) (\s@SourceLocation' {} a -> s {creationTime = a} :: SourceLocation) Prelude.. Lens.mapping Data._Time++-- | The default segment delivery configuration.+sourceLocation_defaultSegmentDeliveryConfiguration :: Lens.Lens' SourceLocation (Prelude.Maybe DefaultSegmentDeliveryConfiguration)+sourceLocation_defaultSegmentDeliveryConfiguration = Lens.lens (\SourceLocation' {defaultSegmentDeliveryConfiguration} -> defaultSegmentDeliveryConfiguration) (\s@SourceLocation' {} a -> s {defaultSegmentDeliveryConfiguration = a} :: SourceLocation)++-- | The timestamp that indicates when the source location was last modified.+sourceLocation_lastModifiedTime :: Lens.Lens' SourceLocation (Prelude.Maybe Prelude.UTCTime)+sourceLocation_lastModifiedTime = Lens.lens (\SourceLocation' {lastModifiedTime} -> lastModifiedTime) (\s@SourceLocation' {} a -> s {lastModifiedTime = a} :: SourceLocation) Prelude.. Lens.mapping Data._Time++-- | The segment delivery configurations for the source location.+sourceLocation_segmentDeliveryConfigurations :: Lens.Lens' SourceLocation (Prelude.Maybe [SegmentDeliveryConfiguration])+sourceLocation_segmentDeliveryConfigurations = Lens.lens (\SourceLocation' {segmentDeliveryConfigurations} -> segmentDeliveryConfigurations) (\s@SourceLocation' {} a -> s {segmentDeliveryConfigurations = a} :: SourceLocation) Prelude.. Lens.mapping Lens.coerced++-- | The tags assigned to the source location. Tags are key-value pairs that+-- you can associate with Amazon resources to help with organization,+-- access control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+sourceLocation_tags :: Lens.Lens' SourceLocation (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+sourceLocation_tags = Lens.lens (\SourceLocation' {tags} -> tags) (\s@SourceLocation' {} a -> s {tags = a} :: SourceLocation) Prelude.. Lens.mapping Lens.coerced++-- | The ARN of the SourceLocation.+sourceLocation_arn :: Lens.Lens' SourceLocation Prelude.Text+sourceLocation_arn = Lens.lens (\SourceLocation' {arn} -> arn) (\s@SourceLocation' {} a -> s {arn = a} :: SourceLocation)++-- | The HTTP configuration for the source location.+sourceLocation_httpConfiguration :: Lens.Lens' SourceLocation HttpConfiguration+sourceLocation_httpConfiguration = Lens.lens (\SourceLocation' {httpConfiguration} -> httpConfiguration) (\s@SourceLocation' {} a -> s {httpConfiguration = a} :: SourceLocation)++-- | The name of the source location.+sourceLocation_sourceLocationName :: Lens.Lens' SourceLocation Prelude.Text+sourceLocation_sourceLocationName = Lens.lens (\SourceLocation' {sourceLocationName} -> sourceLocationName) (\s@SourceLocation' {} a -> s {sourceLocationName = a} :: SourceLocation)++instance Data.FromJSON SourceLocation where+ parseJSON =+ Data.withObject+ "SourceLocation"+ ( \x ->+ SourceLocation'+ Prelude.<$> (x Data..:? "AccessConfiguration")+ Prelude.<*> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "DefaultSegmentDeliveryConfiguration")+ Prelude.<*> (x Data..:? "LastModifiedTime")+ Prelude.<*> ( x+ Data..:? "SegmentDeliveryConfigurations"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "Arn")+ Prelude.<*> (x Data..: "HttpConfiguration")+ Prelude.<*> (x Data..: "SourceLocationName")+ )++instance Prelude.Hashable SourceLocation where+ hashWithSalt _salt SourceLocation' {..} =+ _salt+ `Prelude.hashWithSalt` accessConfiguration+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` defaultSegmentDeliveryConfiguration+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` segmentDeliveryConfigurations+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` httpConfiguration+ `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData SourceLocation where+ rnf SourceLocation' {..} =+ Prelude.rnf accessConfiguration+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf defaultSegmentDeliveryConfiguration+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf segmentDeliveryConfigurations+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpConfiguration+ `Prelude.seq` Prelude.rnf sourceLocationName
+ gen/Amazonka/MediaTailor/Types/SpliceInsertMessage.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.MediaTailor.Types.SpliceInsertMessage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.SpliceInsertMessage 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++-- | Splice insert message configuration.+--+-- /See:/ 'newSpliceInsertMessage' smart constructor.+data SpliceInsertMessage = SpliceInsertMessage'+ { -- | This is written to @splice_insert.avail_num@, as defined in section+ -- 9.7.3.1 of the SCTE-35 specification. The default value is @0@. Values+ -- must be between @0@ and @256@, inclusive.+ availNum :: Prelude.Maybe Prelude.Int,+ -- | This is written to @splice_insert.avails_expected@, as defined in+ -- section 9.7.3.1 of the SCTE-35 specification. The default value is @0@.+ -- Values must be between @0@ and @256@, inclusive.+ availsExpected :: Prelude.Maybe Prelude.Int,+ -- | This is written to @splice_insert.splice_event_id@, as defined in+ -- section 9.7.3.1 of the SCTE-35 specification. The default value is @1@.+ spliceEventId :: Prelude.Maybe Prelude.Int,+ -- | This is written to @splice_insert.unique_program_id@, as defined in+ -- section 9.7.3.1 of the SCTE-35 specification. The default value is @0@.+ -- Values must be between @0@ and @256@, inclusive.+ uniqueProgramId :: Prelude.Maybe Prelude.Int+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SpliceInsertMessage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'availNum', 'spliceInsertMessage_availNum' - This is written to @splice_insert.avail_num@, as defined in section+-- 9.7.3.1 of the SCTE-35 specification. The default value is @0@. Values+-- must be between @0@ and @256@, inclusive.+--+-- 'availsExpected', 'spliceInsertMessage_availsExpected' - This is written to @splice_insert.avails_expected@, as defined in+-- section 9.7.3.1 of the SCTE-35 specification. The default value is @0@.+-- Values must be between @0@ and @256@, inclusive.+--+-- 'spliceEventId', 'spliceInsertMessage_spliceEventId' - This is written to @splice_insert.splice_event_id@, as defined in+-- section 9.7.3.1 of the SCTE-35 specification. The default value is @1@.+--+-- 'uniqueProgramId', 'spliceInsertMessage_uniqueProgramId' - This is written to @splice_insert.unique_program_id@, as defined in+-- section 9.7.3.1 of the SCTE-35 specification. The default value is @0@.+-- Values must be between @0@ and @256@, inclusive.+newSpliceInsertMessage ::+ SpliceInsertMessage+newSpliceInsertMessage =+ SpliceInsertMessage'+ { availNum = Prelude.Nothing,+ availsExpected = Prelude.Nothing,+ spliceEventId = Prelude.Nothing,+ uniqueProgramId = Prelude.Nothing+ }++-- | This is written to @splice_insert.avail_num@, as defined in section+-- 9.7.3.1 of the SCTE-35 specification. The default value is @0@. Values+-- must be between @0@ and @256@, inclusive.+spliceInsertMessage_availNum :: Lens.Lens' SpliceInsertMessage (Prelude.Maybe Prelude.Int)+spliceInsertMessage_availNum = Lens.lens (\SpliceInsertMessage' {availNum} -> availNum) (\s@SpliceInsertMessage' {} a -> s {availNum = a} :: SpliceInsertMessage)++-- | This is written to @splice_insert.avails_expected@, as defined in+-- section 9.7.3.1 of the SCTE-35 specification. The default value is @0@.+-- Values must be between @0@ and @256@, inclusive.+spliceInsertMessage_availsExpected :: Lens.Lens' SpliceInsertMessage (Prelude.Maybe Prelude.Int)+spliceInsertMessage_availsExpected = Lens.lens (\SpliceInsertMessage' {availsExpected} -> availsExpected) (\s@SpliceInsertMessage' {} a -> s {availsExpected = a} :: SpliceInsertMessage)++-- | This is written to @splice_insert.splice_event_id@, as defined in+-- section 9.7.3.1 of the SCTE-35 specification. The default value is @1@.+spliceInsertMessage_spliceEventId :: Lens.Lens' SpliceInsertMessage (Prelude.Maybe Prelude.Int)+spliceInsertMessage_spliceEventId = Lens.lens (\SpliceInsertMessage' {spliceEventId} -> spliceEventId) (\s@SpliceInsertMessage' {} a -> s {spliceEventId = a} :: SpliceInsertMessage)++-- | This is written to @splice_insert.unique_program_id@, as defined in+-- section 9.7.3.1 of the SCTE-35 specification. The default value is @0@.+-- Values must be between @0@ and @256@, inclusive.+spliceInsertMessage_uniqueProgramId :: Lens.Lens' SpliceInsertMessage (Prelude.Maybe Prelude.Int)+spliceInsertMessage_uniqueProgramId = Lens.lens (\SpliceInsertMessage' {uniqueProgramId} -> uniqueProgramId) (\s@SpliceInsertMessage' {} a -> s {uniqueProgramId = a} :: SpliceInsertMessage)++instance Data.FromJSON SpliceInsertMessage where+ parseJSON =+ Data.withObject+ "SpliceInsertMessage"+ ( \x ->+ SpliceInsertMessage'+ Prelude.<$> (x Data..:? "AvailNum")+ Prelude.<*> (x Data..:? "AvailsExpected")+ Prelude.<*> (x Data..:? "SpliceEventId")+ Prelude.<*> (x Data..:? "UniqueProgramId")+ )++instance Prelude.Hashable SpliceInsertMessage where+ hashWithSalt _salt SpliceInsertMessage' {..} =+ _salt+ `Prelude.hashWithSalt` availNum+ `Prelude.hashWithSalt` availsExpected+ `Prelude.hashWithSalt` spliceEventId+ `Prelude.hashWithSalt` uniqueProgramId++instance Prelude.NFData SpliceInsertMessage where+ rnf SpliceInsertMessage' {..} =+ Prelude.rnf availNum+ `Prelude.seq` Prelude.rnf availsExpected+ `Prelude.seq` Prelude.rnf spliceEventId+ `Prelude.seq` Prelude.rnf uniqueProgramId++instance Data.ToJSON SpliceInsertMessage where+ toJSON SpliceInsertMessage' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AvailNum" Data..=) Prelude.<$> availNum,+ ("AvailsExpected" Data..=)+ Prelude.<$> availsExpected,+ ("SpliceEventId" Data..=) Prelude.<$> spliceEventId,+ ("UniqueProgramId" Data..=)+ Prelude.<$> uniqueProgramId+ ]+ )
+ gen/Amazonka/MediaTailor/Types/Tier.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.MediaTailor.Types.Tier+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.Tier+ ( Tier+ ( ..,+ Tier_BASIC,+ Tier_STANDARD+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Tier = Tier' {fromTier :: 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 Tier_BASIC :: Tier+pattern Tier_BASIC = Tier' "BASIC"++pattern Tier_STANDARD :: Tier+pattern Tier_STANDARD = Tier' "STANDARD"++{-# COMPLETE+ Tier_BASIC,+ Tier_STANDARD,+ Tier'+ #-}
+ gen/Amazonka/MediaTailor/Types/TimeSignalMessage.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.Types.TimeSignalMessage+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.TimeSignalMessage where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.SegmentationDescriptor+import qualified Amazonka.Prelude as Prelude++-- | The SCTE-35 @time_signal@ message can be sent with one or more+-- @segmentation_descriptor@ messages. A @time_signal@ message can be sent+-- only if a single @segmentation_descriptor@ message is sent.+--+-- The @time_signal@ message contains only the @splice_time@ field which is+-- constructed using a given presentation timestamp. When sending a+-- @time_signal@ message, the @splice_command_type@ field in the+-- @splice_info_section@ message is set to 6 (0x06).+--+-- See the @time_signal()@ table of the 2022 SCTE-35 specification for more+-- information.+--+-- /See:/ 'newTimeSignalMessage' smart constructor.+data TimeSignalMessage = TimeSignalMessage'+ { -- | The configurations for the SCTE-35 @segmentation_descriptor@ message(s)+ -- sent with the @time_signal@ message.+ segmentationDescriptors :: Prelude.Maybe [SegmentationDescriptor]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TimeSignalMessage' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'segmentationDescriptors', 'timeSignalMessage_segmentationDescriptors' - The configurations for the SCTE-35 @segmentation_descriptor@ message(s)+-- sent with the @time_signal@ message.+newTimeSignalMessage ::+ TimeSignalMessage+newTimeSignalMessage =+ TimeSignalMessage'+ { segmentationDescriptors =+ Prelude.Nothing+ }++-- | The configurations for the SCTE-35 @segmentation_descriptor@ message(s)+-- sent with the @time_signal@ message.+timeSignalMessage_segmentationDescriptors :: Lens.Lens' TimeSignalMessage (Prelude.Maybe [SegmentationDescriptor])+timeSignalMessage_segmentationDescriptors = Lens.lens (\TimeSignalMessage' {segmentationDescriptors} -> segmentationDescriptors) (\s@TimeSignalMessage' {} a -> s {segmentationDescriptors = a} :: TimeSignalMessage) Prelude.. Lens.mapping Lens.coerced++instance Data.FromJSON TimeSignalMessage where+ parseJSON =+ Data.withObject+ "TimeSignalMessage"+ ( \x ->+ TimeSignalMessage'+ Prelude.<$> ( x+ Data..:? "SegmentationDescriptors"+ Data..!= Prelude.mempty+ )+ )++instance Prelude.Hashable TimeSignalMessage where+ hashWithSalt _salt TimeSignalMessage' {..} =+ _salt+ `Prelude.hashWithSalt` segmentationDescriptors++instance Prelude.NFData TimeSignalMessage where+ rnf TimeSignalMessage' {..} =+ Prelude.rnf segmentationDescriptors++instance Data.ToJSON TimeSignalMessage where+ toJSON TimeSignalMessage' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("SegmentationDescriptors" Data..=)+ Prelude.<$> segmentationDescriptors+ ]+ )
+ gen/Amazonka/MediaTailor/Types/Transition.hs view
@@ -0,0 +1,185 @@+{-# 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.MediaTailor.Types.Transition+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.Transition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.RelativePosition+import qualified Amazonka.Prelude as Prelude++-- | Program transition configuration.+--+-- /See:/ 'newTransition' smart constructor.+data Transition = Transition'+ { -- | The duration of the live program in seconds.+ durationMillis :: Prelude.Maybe Prelude.Integer,+ -- | The name of the program that this program will be inserted next to, as+ -- defined by @RelativePosition@.+ relativeProgram :: Prelude.Maybe Prelude.Text,+ -- | The date and time that the program is scheduled to start, in epoch+ -- milliseconds.+ scheduledStartTimeMillis :: Prelude.Maybe Prelude.Integer,+ -- | The position where this program will be inserted relative to the+ -- @RelativePosition@.+ relativePosition :: RelativePosition,+ -- | Defines when the program plays in the schedule. You can set the value to+ -- @ABSOLUTE@ or @RELATIVE@.+ --+ -- @ABSOLUTE@ - The program plays at a specific wall clock time. This+ -- setting can only be used for channels using the @LINEAR@ @PlaybackMode@.+ --+ -- Note the following considerations when using @ABSOLUTE@ transitions:+ --+ -- If the preceding program in the schedule has a duration that extends+ -- past the wall clock time, MediaTailor truncates the preceding program on+ -- a common segment boundary.+ --+ -- If there are gaps in playback, MediaTailor plays the @FillerSlate@ you+ -- configured for your linear channel.+ --+ -- @RELATIVE@ - The program is inserted into the schedule either before or+ -- after a program that you specify via @RelativePosition@.+ type' :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Transition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'durationMillis', 'transition_durationMillis' - The duration of the live program in seconds.+--+-- 'relativeProgram', 'transition_relativeProgram' - The name of the program that this program will be inserted next to, as+-- defined by @RelativePosition@.+--+-- 'scheduledStartTimeMillis', 'transition_scheduledStartTimeMillis' - The date and time that the program is scheduled to start, in epoch+-- milliseconds.+--+-- 'relativePosition', 'transition_relativePosition' - The position where this program will be inserted relative to the+-- @RelativePosition@.+--+-- 'type'', 'transition_type' - Defines when the program plays in the schedule. You can set the value to+-- @ABSOLUTE@ or @RELATIVE@.+--+-- @ABSOLUTE@ - The program plays at a specific wall clock time. This+-- setting can only be used for channels using the @LINEAR@ @PlaybackMode@.+--+-- Note the following considerations when using @ABSOLUTE@ transitions:+--+-- If the preceding program in the schedule has a duration that extends+-- past the wall clock time, MediaTailor truncates the preceding program on+-- a common segment boundary.+--+-- If there are gaps in playback, MediaTailor plays the @FillerSlate@ you+-- configured for your linear channel.+--+-- @RELATIVE@ - The program is inserted into the schedule either before or+-- after a program that you specify via @RelativePosition@.+newTransition ::+ -- | 'relativePosition'+ RelativePosition ->+ -- | 'type''+ Prelude.Text ->+ Transition+newTransition pRelativePosition_ pType_ =+ Transition'+ { durationMillis = Prelude.Nothing,+ relativeProgram = Prelude.Nothing,+ scheduledStartTimeMillis = Prelude.Nothing,+ relativePosition = pRelativePosition_,+ type' = pType_+ }++-- | The duration of the live program in seconds.+transition_durationMillis :: Lens.Lens' Transition (Prelude.Maybe Prelude.Integer)+transition_durationMillis = Lens.lens (\Transition' {durationMillis} -> durationMillis) (\s@Transition' {} a -> s {durationMillis = a} :: Transition)++-- | The name of the program that this program will be inserted next to, as+-- defined by @RelativePosition@.+transition_relativeProgram :: Lens.Lens' Transition (Prelude.Maybe Prelude.Text)+transition_relativeProgram = Lens.lens (\Transition' {relativeProgram} -> relativeProgram) (\s@Transition' {} a -> s {relativeProgram = a} :: Transition)++-- | The date and time that the program is scheduled to start, in epoch+-- milliseconds.+transition_scheduledStartTimeMillis :: Lens.Lens' Transition (Prelude.Maybe Prelude.Integer)+transition_scheduledStartTimeMillis = Lens.lens (\Transition' {scheduledStartTimeMillis} -> scheduledStartTimeMillis) (\s@Transition' {} a -> s {scheduledStartTimeMillis = a} :: Transition)++-- | The position where this program will be inserted relative to the+-- @RelativePosition@.+transition_relativePosition :: Lens.Lens' Transition RelativePosition+transition_relativePosition = Lens.lens (\Transition' {relativePosition} -> relativePosition) (\s@Transition' {} a -> s {relativePosition = a} :: Transition)++-- | Defines when the program plays in the schedule. You can set the value to+-- @ABSOLUTE@ or @RELATIVE@.+--+-- @ABSOLUTE@ - The program plays at a specific wall clock time. This+-- setting can only be used for channels using the @LINEAR@ @PlaybackMode@.+--+-- Note the following considerations when using @ABSOLUTE@ transitions:+--+-- If the preceding program in the schedule has a duration that extends+-- past the wall clock time, MediaTailor truncates the preceding program on+-- a common segment boundary.+--+-- If there are gaps in playback, MediaTailor plays the @FillerSlate@ you+-- configured for your linear channel.+--+-- @RELATIVE@ - The program is inserted into the schedule either before or+-- after a program that you specify via @RelativePosition@.+transition_type :: Lens.Lens' Transition Prelude.Text+transition_type = Lens.lens (\Transition' {type'} -> type') (\s@Transition' {} a -> s {type' = a} :: Transition)++instance Prelude.Hashable Transition where+ hashWithSalt _salt Transition' {..} =+ _salt+ `Prelude.hashWithSalt` durationMillis+ `Prelude.hashWithSalt` relativeProgram+ `Prelude.hashWithSalt` scheduledStartTimeMillis+ `Prelude.hashWithSalt` relativePosition+ `Prelude.hashWithSalt` type'++instance Prelude.NFData Transition where+ rnf Transition' {..} =+ Prelude.rnf durationMillis+ `Prelude.seq` Prelude.rnf relativeProgram+ `Prelude.seq` Prelude.rnf scheduledStartTimeMillis+ `Prelude.seq` Prelude.rnf relativePosition+ `Prelude.seq` Prelude.rnf type'++instance Data.ToJSON Transition where+ toJSON Transition' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("DurationMillis" Data..=)+ Prelude.<$> durationMillis,+ ("RelativeProgram" Data..=)+ Prelude.<$> relativeProgram,+ ("ScheduledStartTimeMillis" Data..=)+ Prelude.<$> scheduledStartTimeMillis,+ Prelude.Just+ ("RelativePosition" Data..= relativePosition),+ Prelude.Just ("Type" Data..= type')+ ]+ )
+ gen/Amazonka/MediaTailor/Types/Type.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.MediaTailor.Types.Type+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.Type+ ( Type+ ( ..,+ Type_DASH,+ Type_HLS+ ),+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude++newtype Type = Type' {fromType :: 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 Type_DASH :: Type+pattern Type_DASH = Type' "DASH"++pattern Type_HLS :: Type+pattern Type_HLS = Type' "HLS"++{-# COMPLETE+ Type_DASH,+ Type_HLS,+ Type'+ #-}
+ gen/Amazonka/MediaTailor/Types/VodSource.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.MediaTailor.Types.VodSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.MediaTailor.Types.VodSource where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types.HttpPackageConfiguration+import qualified Amazonka.Prelude as Prelude++-- | VOD source configuration parameters.+--+-- /See:/ 'newVodSource' smart constructor.+data VodSource = VodSource'+ { -- | The timestamp that indicates when the VOD source was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The timestamp that indicates when the VOD source was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The tags assigned to the VOD source. Tags are key-value pairs that you+ -- can associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The ARN for the VOD source.+ arn :: Prelude.Text,+ -- | The HTTP package configurations for the VOD source.+ httpPackageConfigurations :: [HttpPackageConfiguration],+ -- | The name of the source location that the VOD source is associated with.+ sourceLocationName :: Prelude.Text,+ -- | The name of the VOD source.+ vodSourceName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VodSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationTime', 'vodSource_creationTime' - The timestamp that indicates when the VOD source was created.+--+-- 'lastModifiedTime', 'vodSource_lastModifiedTime' - The timestamp that indicates when the VOD source was last modified.+--+-- 'tags', 'vodSource_tags' - The tags assigned to the VOD source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'arn', 'vodSource_arn' - The ARN for the VOD source.+--+-- 'httpPackageConfigurations', 'vodSource_httpPackageConfigurations' - The HTTP package configurations for the VOD source.+--+-- 'sourceLocationName', 'vodSource_sourceLocationName' - The name of the source location that the VOD source is associated with.+--+-- 'vodSourceName', 'vodSource_vodSourceName' - The name of the VOD source.+newVodSource ::+ -- | 'arn'+ Prelude.Text ->+ -- | 'sourceLocationName'+ Prelude.Text ->+ -- | 'vodSourceName'+ Prelude.Text ->+ VodSource+newVodSource+ pArn_+ pSourceLocationName_+ pVodSourceName_ =+ VodSource'+ { creationTime = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ tags = Prelude.Nothing,+ arn = pArn_,+ httpPackageConfigurations = Prelude.mempty,+ sourceLocationName = pSourceLocationName_,+ vodSourceName = pVodSourceName_+ }++-- | The timestamp that indicates when the VOD source was created.+vodSource_creationTime :: Lens.Lens' VodSource (Prelude.Maybe Prelude.UTCTime)+vodSource_creationTime = Lens.lens (\VodSource' {creationTime} -> creationTime) (\s@VodSource' {} a -> s {creationTime = a} :: VodSource) Prelude.. Lens.mapping Data._Time++-- | The timestamp that indicates when the VOD source was last modified.+vodSource_lastModifiedTime :: Lens.Lens' VodSource (Prelude.Maybe Prelude.UTCTime)+vodSource_lastModifiedTime = Lens.lens (\VodSource' {lastModifiedTime} -> lastModifiedTime) (\s@VodSource' {} a -> s {lastModifiedTime = a} :: VodSource) Prelude.. Lens.mapping Data._Time++-- | The tags assigned to the VOD source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+vodSource_tags :: Lens.Lens' VodSource (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+vodSource_tags = Lens.lens (\VodSource' {tags} -> tags) (\s@VodSource' {} a -> s {tags = a} :: VodSource) Prelude.. Lens.mapping Lens.coerced++-- | The ARN for the VOD source.+vodSource_arn :: Lens.Lens' VodSource Prelude.Text+vodSource_arn = Lens.lens (\VodSource' {arn} -> arn) (\s@VodSource' {} a -> s {arn = a} :: VodSource)++-- | The HTTP package configurations for the VOD source.+vodSource_httpPackageConfigurations :: Lens.Lens' VodSource [HttpPackageConfiguration]+vodSource_httpPackageConfigurations = Lens.lens (\VodSource' {httpPackageConfigurations} -> httpPackageConfigurations) (\s@VodSource' {} a -> s {httpPackageConfigurations = a} :: VodSource) Prelude.. Lens.coerced++-- | The name of the source location that the VOD source is associated with.+vodSource_sourceLocationName :: Lens.Lens' VodSource Prelude.Text+vodSource_sourceLocationName = Lens.lens (\VodSource' {sourceLocationName} -> sourceLocationName) (\s@VodSource' {} a -> s {sourceLocationName = a} :: VodSource)++-- | The name of the VOD source.+vodSource_vodSourceName :: Lens.Lens' VodSource Prelude.Text+vodSource_vodSourceName = Lens.lens (\VodSource' {vodSourceName} -> vodSourceName) (\s@VodSource' {} a -> s {vodSourceName = a} :: VodSource)++instance Data.FromJSON VodSource where+ parseJSON =+ Data.withObject+ "VodSource"+ ( \x ->+ VodSource'+ Prelude.<$> (x Data..:? "CreationTime")+ Prelude.<*> (x Data..:? "LastModifiedTime")+ Prelude.<*> (x Data..:? "tags" Data..!= Prelude.mempty)+ Prelude.<*> (x Data..: "Arn")+ Prelude.<*> ( x+ Data..:? "HttpPackageConfigurations"+ Data..!= Prelude.mempty+ )+ Prelude.<*> (x Data..: "SourceLocationName")+ Prelude.<*> (x Data..: "VodSourceName")+ )++instance Prelude.Hashable VodSource where+ hashWithSalt _salt VodSource' {..} =+ _salt+ `Prelude.hashWithSalt` creationTime+ `Prelude.hashWithSalt` lastModifiedTime+ `Prelude.hashWithSalt` tags+ `Prelude.hashWithSalt` arn+ `Prelude.hashWithSalt` httpPackageConfigurations+ `Prelude.hashWithSalt` sourceLocationName+ `Prelude.hashWithSalt` vodSourceName++instance Prelude.NFData VodSource where+ rnf VodSource' {..} =+ Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf httpPackageConfigurations+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf vodSourceName
+ gen/Amazonka/MediaTailor/UntagResource.hs view
@@ -0,0 +1,140 @@+{-# 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.MediaTailor.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)+--+-- The resource to untag.+module Amazonka.MediaTailor.UntagResource+ ( -- * Creating a Request+ UntagResource (..),+ newUntagResource,++ -- * Request Lenses+ untagResource_resourceArn,+ untagResource_tagKeys,++ -- * 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.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUntagResource' smart constructor.+data UntagResource = UntagResource'+ { -- | The Amazon Resource Name (ARN) of the resource to untag.+ resourceArn :: Prelude.Text,+ -- | The tag keys associated with the resource.+ tagKeys :: [Prelude.Text]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UntagResource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'resourceArn', 'untagResource_resourceArn' - The Amazon Resource Name (ARN) of the resource to untag.+--+-- 'tagKeys', 'untagResource_tagKeys' - The tag keys associated with the resource.+newUntagResource ::+ -- | 'resourceArn'+ Prelude.Text ->+ UntagResource+newUntagResource pResourceArn_ =+ UntagResource'+ { resourceArn = pResourceArn_,+ tagKeys = Prelude.mempty+ }++-- | The Amazon Resource Name (ARN) of the resource to untag.+untagResource_resourceArn :: Lens.Lens' UntagResource Prelude.Text+untagResource_resourceArn = Lens.lens (\UntagResource' {resourceArn} -> resourceArn) (\s@UntagResource' {} a -> s {resourceArn = a} :: UntagResource)++-- | The tag keys associated with the resource.+untagResource_tagKeys :: Lens.Lens' UntagResource [Prelude.Text]+untagResource_tagKeys = Lens.lens (\UntagResource' {tagKeys} -> tagKeys) (\s@UntagResource' {} a -> s {tagKeys = a} :: UntagResource) Prelude.. Lens.coerced++instance Core.AWSRequest UntagResource where+ type+ AWSResponse UntagResource =+ UntagResourceResponse+ request overrides =+ Request.delete (overrides defaultService)+ response =+ Response.receiveNull UntagResourceResponse'++instance Prelude.Hashable UntagResource where+ hashWithSalt _salt UntagResource' {..} =+ _salt+ `Prelude.hashWithSalt` resourceArn+ `Prelude.hashWithSalt` tagKeys++instance Prelude.NFData UntagResource where+ rnf UntagResource' {..} =+ Prelude.rnf resourceArn+ `Prelude.seq` Prelude.rnf tagKeys++instance Data.ToHeaders UntagResource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToPath UntagResource where+ toPath UntagResource' {..} =+ Prelude.mconcat ["/tags/", Data.toBS resourceArn]++instance Data.ToQuery UntagResource where+ toQuery UntagResource' {..} =+ Prelude.mconcat+ ["tagKeys" Data.=: Data.toQueryList "member" tagKeys]++-- | /See:/ 'newUntagResourceResponse' smart constructor.+data UntagResourceResponse = UntagResourceResponse'+ {+ }+ 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/MediaTailor/UpdateChannel.hs view
@@ -0,0 +1,350 @@+{-# 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.MediaTailor.UpdateChannel+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a channel. For information about MediaTailor channels, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-channels.html Working with channels>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.UpdateChannel+ ( -- * Creating a Request+ UpdateChannel (..),+ newUpdateChannel,++ -- * Request Lenses+ updateChannel_fillerSlate,+ updateChannel_channelName,+ updateChannel_outputs,++ -- * Destructuring the Response+ UpdateChannelResponse (..),+ newUpdateChannelResponse,++ -- * Response Lenses+ updateChannelResponse_arn,+ updateChannelResponse_channelName,+ updateChannelResponse_channelState,+ updateChannelResponse_creationTime,+ updateChannelResponse_fillerSlate,+ updateChannelResponse_lastModifiedTime,+ updateChannelResponse_outputs,+ updateChannelResponse_playbackMode,+ updateChannelResponse_tags,+ updateChannelResponse_tier,+ updateChannelResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateChannel' smart constructor.+data UpdateChannel = UpdateChannel'+ { -- | The slate used to fill gaps between programs in the schedule. You must+ -- configure filler slate if your channel uses the @LINEAR@ @PlaybackMode@.+ -- MediaTailor doesn\'t support filler slate for channels using the @LOOP@+ -- @PlaybackMode@.+ fillerSlate :: Prelude.Maybe SlateSource,+ -- | The name of the channel.+ channelName :: Prelude.Text,+ -- | The channel\'s output properties.+ outputs :: [RequestOutputItem]+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateChannel' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fillerSlate', 'updateChannel_fillerSlate' - The slate used to fill gaps between programs in the schedule. You must+-- configure filler slate if your channel uses the @LINEAR@ @PlaybackMode@.+-- MediaTailor doesn\'t support filler slate for channels using the @LOOP@+-- @PlaybackMode@.+--+-- 'channelName', 'updateChannel_channelName' - The name of the channel.+--+-- 'outputs', 'updateChannel_outputs' - The channel\'s output properties.+newUpdateChannel ::+ -- | 'channelName'+ Prelude.Text ->+ UpdateChannel+newUpdateChannel pChannelName_ =+ UpdateChannel'+ { fillerSlate = Prelude.Nothing,+ channelName = pChannelName_,+ outputs = Prelude.mempty+ }++-- | The slate used to fill gaps between programs in the schedule. You must+-- configure filler slate if your channel uses the @LINEAR@ @PlaybackMode@.+-- MediaTailor doesn\'t support filler slate for channels using the @LOOP@+-- @PlaybackMode@.+updateChannel_fillerSlate :: Lens.Lens' UpdateChannel (Prelude.Maybe SlateSource)+updateChannel_fillerSlate = Lens.lens (\UpdateChannel' {fillerSlate} -> fillerSlate) (\s@UpdateChannel' {} a -> s {fillerSlate = a} :: UpdateChannel)++-- | The name of the channel.+updateChannel_channelName :: Lens.Lens' UpdateChannel Prelude.Text+updateChannel_channelName = Lens.lens (\UpdateChannel' {channelName} -> channelName) (\s@UpdateChannel' {} a -> s {channelName = a} :: UpdateChannel)++-- | The channel\'s output properties.+updateChannel_outputs :: Lens.Lens' UpdateChannel [RequestOutputItem]+updateChannel_outputs = Lens.lens (\UpdateChannel' {outputs} -> outputs) (\s@UpdateChannel' {} a -> s {outputs = a} :: UpdateChannel) Prelude.. Lens.coerced++instance Core.AWSRequest UpdateChannel where+ type+ AWSResponse UpdateChannel =+ UpdateChannelResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateChannelResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "ChannelName")+ Prelude.<*> (x Data..?> "ChannelState")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "FillerSlate")+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> (x Data..?> "Outputs" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "PlaybackMode")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "Tier")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateChannel where+ hashWithSalt _salt UpdateChannel' {..} =+ _salt+ `Prelude.hashWithSalt` fillerSlate+ `Prelude.hashWithSalt` channelName+ `Prelude.hashWithSalt` outputs++instance Prelude.NFData UpdateChannel where+ rnf UpdateChannel' {..} =+ Prelude.rnf fillerSlate+ `Prelude.seq` Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf outputs++instance Data.ToHeaders UpdateChannel where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateChannel where+ toJSON UpdateChannel' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("FillerSlate" Data..=) Prelude.<$> fillerSlate,+ Prelude.Just ("Outputs" Data..= outputs)+ ]+ )++instance Data.ToPath UpdateChannel where+ toPath UpdateChannel' {..} =+ Prelude.mconcat+ ["/channel/", Data.toBS channelName]++instance Data.ToQuery UpdateChannel where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateChannelResponse' smart constructor.+data UpdateChannelResponse = UpdateChannelResponse'+ { -- | The Amazon Resource Name (ARN) associated with the channel.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The name of the channel.+ channelName :: Prelude.Maybe Prelude.Text,+ -- | Returns the state whether the channel is running or not.+ channelState :: Prelude.Maybe ChannelState,+ -- | The timestamp of when the channel was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The slate used to fill gaps between programs in the schedule. You must+ -- configure filler slate if your channel uses the @LINEAR@ @PlaybackMode@.+ -- MediaTailor doesn\'t support filler slate for channels using the @LOOP@+ -- @PlaybackMode@.+ fillerSlate :: Prelude.Maybe SlateSource,+ -- | The timestamp that indicates when the channel was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The channel\'s output properties.+ outputs :: Prelude.Maybe [ResponseOutputItem],+ -- | The type of playback mode for this channel.+ --+ -- @LINEAR@ - Programs play back-to-back only once.+ --+ -- @LOOP@ - Programs play back-to-back in an endless loop. When the last+ -- program in the schedule plays, playback loops back to the first program+ -- in the schedule.+ playbackMode :: Prelude.Maybe Prelude.Text,+ -- | The tags to assign to the channel. Tags are key-value pairs that you can+ -- associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The tier associated with this Channel.+ tier :: 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 'UpdateChannelResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateChannelResponse_arn' - The Amazon Resource Name (ARN) associated with the channel.+--+-- 'channelName', 'updateChannelResponse_channelName' - The name of the channel.+--+-- 'channelState', 'updateChannelResponse_channelState' - Returns the state whether the channel is running or not.+--+-- 'creationTime', 'updateChannelResponse_creationTime' - The timestamp of when the channel was created.+--+-- 'fillerSlate', 'updateChannelResponse_fillerSlate' - The slate used to fill gaps between programs in the schedule. You must+-- configure filler slate if your channel uses the @LINEAR@ @PlaybackMode@.+-- MediaTailor doesn\'t support filler slate for channels using the @LOOP@+-- @PlaybackMode@.+--+-- 'lastModifiedTime', 'updateChannelResponse_lastModifiedTime' - The timestamp that indicates when the channel was last modified.+--+-- 'outputs', 'updateChannelResponse_outputs' - The channel\'s output properties.+--+-- 'playbackMode', 'updateChannelResponse_playbackMode' - The type of playback mode for this channel.+--+-- @LINEAR@ - Programs play back-to-back only once.+--+-- @LOOP@ - Programs play back-to-back in an endless loop. When the last+-- program in the schedule plays, playback loops back to the first program+-- in the schedule.+--+-- 'tags', 'updateChannelResponse_tags' - The tags to assign to the channel. Tags are key-value pairs that you can+-- associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'tier', 'updateChannelResponse_tier' - The tier associated with this Channel.+--+-- 'httpStatus', 'updateChannelResponse_httpStatus' - The response's http status code.+newUpdateChannelResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateChannelResponse+newUpdateChannelResponse pHttpStatus_ =+ UpdateChannelResponse'+ { arn = Prelude.Nothing,+ channelName = Prelude.Nothing,+ channelState = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ fillerSlate = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ outputs = Prelude.Nothing,+ playbackMode = Prelude.Nothing,+ tags = Prelude.Nothing,+ tier = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) associated with the channel.+updateChannelResponse_arn :: Lens.Lens' UpdateChannelResponse (Prelude.Maybe Prelude.Text)+updateChannelResponse_arn = Lens.lens (\UpdateChannelResponse' {arn} -> arn) (\s@UpdateChannelResponse' {} a -> s {arn = a} :: UpdateChannelResponse)++-- | The name of the channel.+updateChannelResponse_channelName :: Lens.Lens' UpdateChannelResponse (Prelude.Maybe Prelude.Text)+updateChannelResponse_channelName = Lens.lens (\UpdateChannelResponse' {channelName} -> channelName) (\s@UpdateChannelResponse' {} a -> s {channelName = a} :: UpdateChannelResponse)++-- | Returns the state whether the channel is running or not.+updateChannelResponse_channelState :: Lens.Lens' UpdateChannelResponse (Prelude.Maybe ChannelState)+updateChannelResponse_channelState = Lens.lens (\UpdateChannelResponse' {channelState} -> channelState) (\s@UpdateChannelResponse' {} a -> s {channelState = a} :: UpdateChannelResponse)++-- | The timestamp of when the channel was created.+updateChannelResponse_creationTime :: Lens.Lens' UpdateChannelResponse (Prelude.Maybe Prelude.UTCTime)+updateChannelResponse_creationTime = Lens.lens (\UpdateChannelResponse' {creationTime} -> creationTime) (\s@UpdateChannelResponse' {} a -> s {creationTime = a} :: UpdateChannelResponse) Prelude.. Lens.mapping Data._Time++-- | The slate used to fill gaps between programs in the schedule. You must+-- configure filler slate if your channel uses the @LINEAR@ @PlaybackMode@.+-- MediaTailor doesn\'t support filler slate for channels using the @LOOP@+-- @PlaybackMode@.+updateChannelResponse_fillerSlate :: Lens.Lens' UpdateChannelResponse (Prelude.Maybe SlateSource)+updateChannelResponse_fillerSlate = Lens.lens (\UpdateChannelResponse' {fillerSlate} -> fillerSlate) (\s@UpdateChannelResponse' {} a -> s {fillerSlate = a} :: UpdateChannelResponse)++-- | The timestamp that indicates when the channel was last modified.+updateChannelResponse_lastModifiedTime :: Lens.Lens' UpdateChannelResponse (Prelude.Maybe Prelude.UTCTime)+updateChannelResponse_lastModifiedTime = Lens.lens (\UpdateChannelResponse' {lastModifiedTime} -> lastModifiedTime) (\s@UpdateChannelResponse' {} a -> s {lastModifiedTime = a} :: UpdateChannelResponse) Prelude.. Lens.mapping Data._Time++-- | The channel\'s output properties.+updateChannelResponse_outputs :: Lens.Lens' UpdateChannelResponse (Prelude.Maybe [ResponseOutputItem])+updateChannelResponse_outputs = Lens.lens (\UpdateChannelResponse' {outputs} -> outputs) (\s@UpdateChannelResponse' {} a -> s {outputs = a} :: UpdateChannelResponse) Prelude.. Lens.mapping Lens.coerced++-- | The type of playback mode for this channel.+--+-- @LINEAR@ - Programs play back-to-back only once.+--+-- @LOOP@ - Programs play back-to-back in an endless loop. When the last+-- program in the schedule plays, playback loops back to the first program+-- in the schedule.+updateChannelResponse_playbackMode :: Lens.Lens' UpdateChannelResponse (Prelude.Maybe Prelude.Text)+updateChannelResponse_playbackMode = Lens.lens (\UpdateChannelResponse' {playbackMode} -> playbackMode) (\s@UpdateChannelResponse' {} a -> s {playbackMode = a} :: UpdateChannelResponse)++-- | The tags to assign to the channel. Tags are key-value pairs that you can+-- associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+updateChannelResponse_tags :: Lens.Lens' UpdateChannelResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateChannelResponse_tags = Lens.lens (\UpdateChannelResponse' {tags} -> tags) (\s@UpdateChannelResponse' {} a -> s {tags = a} :: UpdateChannelResponse) Prelude.. Lens.mapping Lens.coerced++-- | The tier associated with this Channel.+updateChannelResponse_tier :: Lens.Lens' UpdateChannelResponse (Prelude.Maybe Prelude.Text)+updateChannelResponse_tier = Lens.lens (\UpdateChannelResponse' {tier} -> tier) (\s@UpdateChannelResponse' {} a -> s {tier = a} :: UpdateChannelResponse)++-- | The response's http status code.+updateChannelResponse_httpStatus :: Lens.Lens' UpdateChannelResponse Prelude.Int+updateChannelResponse_httpStatus = Lens.lens (\UpdateChannelResponse' {httpStatus} -> httpStatus) (\s@UpdateChannelResponse' {} a -> s {httpStatus = a} :: UpdateChannelResponse)++instance Prelude.NFData UpdateChannelResponse where+ rnf UpdateChannelResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf channelName+ `Prelude.seq` Prelude.rnf channelState+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf fillerSlate+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf outputs+ `Prelude.seq` Prelude.rnf playbackMode+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf tier+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/UpdateLiveSource.hs view
@@ -0,0 +1,296 @@+{-# 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.MediaTailor.UpdateLiveSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a live source\'s configuration.+module Amazonka.MediaTailor.UpdateLiveSource+ ( -- * Creating a Request+ UpdateLiveSource (..),+ newUpdateLiveSource,++ -- * Request Lenses+ updateLiveSource_httpPackageConfigurations,+ updateLiveSource_liveSourceName,+ updateLiveSource_sourceLocationName,++ -- * Destructuring the Response+ UpdateLiveSourceResponse (..),+ newUpdateLiveSourceResponse,++ -- * Response Lenses+ updateLiveSourceResponse_arn,+ updateLiveSourceResponse_creationTime,+ updateLiveSourceResponse_httpPackageConfigurations,+ updateLiveSourceResponse_lastModifiedTime,+ updateLiveSourceResponse_liveSourceName,+ updateLiveSourceResponse_sourceLocationName,+ updateLiveSourceResponse_tags,+ updateLiveSourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateLiveSource' smart constructor.+data UpdateLiveSource = UpdateLiveSource'+ { -- | A list of HTTP package configurations for the live source on this+ -- account.+ httpPackageConfigurations :: [HttpPackageConfiguration],+ -- | The name of the live source.+ liveSourceName :: Prelude.Text,+ -- | The name of the source location associated with this Live Source.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateLiveSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpPackageConfigurations', 'updateLiveSource_httpPackageConfigurations' - A list of HTTP package configurations for the live source on this+-- account.+--+-- 'liveSourceName', 'updateLiveSource_liveSourceName' - The name of the live source.+--+-- 'sourceLocationName', 'updateLiveSource_sourceLocationName' - The name of the source location associated with this Live Source.+newUpdateLiveSource ::+ -- | 'liveSourceName'+ Prelude.Text ->+ -- | 'sourceLocationName'+ Prelude.Text ->+ UpdateLiveSource+newUpdateLiveSource+ pLiveSourceName_+ pSourceLocationName_ =+ UpdateLiveSource'+ { httpPackageConfigurations =+ Prelude.mempty,+ liveSourceName = pLiveSourceName_,+ sourceLocationName = pSourceLocationName_+ }++-- | A list of HTTP package configurations for the live source on this+-- account.+updateLiveSource_httpPackageConfigurations :: Lens.Lens' UpdateLiveSource [HttpPackageConfiguration]+updateLiveSource_httpPackageConfigurations = Lens.lens (\UpdateLiveSource' {httpPackageConfigurations} -> httpPackageConfigurations) (\s@UpdateLiveSource' {} a -> s {httpPackageConfigurations = a} :: UpdateLiveSource) Prelude.. Lens.coerced++-- | The name of the live source.+updateLiveSource_liveSourceName :: Lens.Lens' UpdateLiveSource Prelude.Text+updateLiveSource_liveSourceName = Lens.lens (\UpdateLiveSource' {liveSourceName} -> liveSourceName) (\s@UpdateLiveSource' {} a -> s {liveSourceName = a} :: UpdateLiveSource)++-- | The name of the source location associated with this Live Source.+updateLiveSource_sourceLocationName :: Lens.Lens' UpdateLiveSource Prelude.Text+updateLiveSource_sourceLocationName = Lens.lens (\UpdateLiveSource' {sourceLocationName} -> sourceLocationName) (\s@UpdateLiveSource' {} a -> s {sourceLocationName = a} :: UpdateLiveSource)++instance Core.AWSRequest UpdateLiveSource where+ type+ AWSResponse UpdateLiveSource =+ UpdateLiveSourceResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateLiveSourceResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> ( x+ Data..?> "HttpPackageConfigurations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> (x Data..?> "LiveSourceName")+ Prelude.<*> (x Data..?> "SourceLocationName")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateLiveSource where+ hashWithSalt _salt UpdateLiveSource' {..} =+ _salt+ `Prelude.hashWithSalt` httpPackageConfigurations+ `Prelude.hashWithSalt` liveSourceName+ `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData UpdateLiveSource where+ rnf UpdateLiveSource' {..} =+ Prelude.rnf httpPackageConfigurations+ `Prelude.seq` Prelude.rnf liveSourceName+ `Prelude.seq` Prelude.rnf sourceLocationName++instance Data.ToHeaders UpdateLiveSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateLiveSource where+ toJSON UpdateLiveSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "HttpPackageConfigurations"+ Data..= httpPackageConfigurations+ )+ ]+ )++instance Data.ToPath UpdateLiveSource where+ toPath UpdateLiveSource' {..} =+ Prelude.mconcat+ [ "/sourceLocation/",+ Data.toBS sourceLocationName,+ "/liveSource/",+ Data.toBS liveSourceName+ ]++instance Data.ToQuery UpdateLiveSource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateLiveSourceResponse' smart constructor.+data UpdateLiveSourceResponse = UpdateLiveSourceResponse'+ { -- | The Amazon Resource Name (ARN) associated with this live source.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The timestamp that indicates when the live source was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | A list of HTTP package configurations for the live source on this+ -- account.+ httpPackageConfigurations :: Prelude.Maybe [HttpPackageConfiguration],+ -- | The timestamp that indicates when the live source was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the live source.+ liveSourceName :: Prelude.Maybe Prelude.Text,+ -- | The name of the source location associated with the live source.+ sourceLocationName :: Prelude.Maybe Prelude.Text,+ -- | The tags to assign to the live source. Tags are key-value pairs that you+ -- can associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ 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 'UpdateLiveSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateLiveSourceResponse_arn' - The Amazon Resource Name (ARN) associated with this live source.+--+-- 'creationTime', 'updateLiveSourceResponse_creationTime' - The timestamp that indicates when the live source was created.+--+-- 'httpPackageConfigurations', 'updateLiveSourceResponse_httpPackageConfigurations' - A list of HTTP package configurations for the live source on this+-- account.+--+-- 'lastModifiedTime', 'updateLiveSourceResponse_lastModifiedTime' - The timestamp that indicates when the live source was last modified.+--+-- 'liveSourceName', 'updateLiveSourceResponse_liveSourceName' - The name of the live source.+--+-- 'sourceLocationName', 'updateLiveSourceResponse_sourceLocationName' - The name of the source location associated with the live source.+--+-- 'tags', 'updateLiveSourceResponse_tags' - The tags to assign to the live source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'httpStatus', 'updateLiveSourceResponse_httpStatus' - The response's http status code.+newUpdateLiveSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateLiveSourceResponse+newUpdateLiveSourceResponse pHttpStatus_ =+ UpdateLiveSourceResponse'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ httpPackageConfigurations = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ liveSourceName = Prelude.Nothing,+ sourceLocationName = Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) associated with this live source.+updateLiveSourceResponse_arn :: Lens.Lens' UpdateLiveSourceResponse (Prelude.Maybe Prelude.Text)+updateLiveSourceResponse_arn = Lens.lens (\UpdateLiveSourceResponse' {arn} -> arn) (\s@UpdateLiveSourceResponse' {} a -> s {arn = a} :: UpdateLiveSourceResponse)++-- | The timestamp that indicates when the live source was created.+updateLiveSourceResponse_creationTime :: Lens.Lens' UpdateLiveSourceResponse (Prelude.Maybe Prelude.UTCTime)+updateLiveSourceResponse_creationTime = Lens.lens (\UpdateLiveSourceResponse' {creationTime} -> creationTime) (\s@UpdateLiveSourceResponse' {} a -> s {creationTime = a} :: UpdateLiveSourceResponse) Prelude.. Lens.mapping Data._Time++-- | A list of HTTP package configurations for the live source on this+-- account.+updateLiveSourceResponse_httpPackageConfigurations :: Lens.Lens' UpdateLiveSourceResponse (Prelude.Maybe [HttpPackageConfiguration])+updateLiveSourceResponse_httpPackageConfigurations = Lens.lens (\UpdateLiveSourceResponse' {httpPackageConfigurations} -> httpPackageConfigurations) (\s@UpdateLiveSourceResponse' {} a -> s {httpPackageConfigurations = a} :: UpdateLiveSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The timestamp that indicates when the live source was last modified.+updateLiveSourceResponse_lastModifiedTime :: Lens.Lens' UpdateLiveSourceResponse (Prelude.Maybe Prelude.UTCTime)+updateLiveSourceResponse_lastModifiedTime = Lens.lens (\UpdateLiveSourceResponse' {lastModifiedTime} -> lastModifiedTime) (\s@UpdateLiveSourceResponse' {} a -> s {lastModifiedTime = a} :: UpdateLiveSourceResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the live source.+updateLiveSourceResponse_liveSourceName :: Lens.Lens' UpdateLiveSourceResponse (Prelude.Maybe Prelude.Text)+updateLiveSourceResponse_liveSourceName = Lens.lens (\UpdateLiveSourceResponse' {liveSourceName} -> liveSourceName) (\s@UpdateLiveSourceResponse' {} a -> s {liveSourceName = a} :: UpdateLiveSourceResponse)++-- | The name of the source location associated with the live source.+updateLiveSourceResponse_sourceLocationName :: Lens.Lens' UpdateLiveSourceResponse (Prelude.Maybe Prelude.Text)+updateLiveSourceResponse_sourceLocationName = Lens.lens (\UpdateLiveSourceResponse' {sourceLocationName} -> sourceLocationName) (\s@UpdateLiveSourceResponse' {} a -> s {sourceLocationName = a} :: UpdateLiveSourceResponse)++-- | The tags to assign to the live source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+updateLiveSourceResponse_tags :: Lens.Lens' UpdateLiveSourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateLiveSourceResponse_tags = Lens.lens (\UpdateLiveSourceResponse' {tags} -> tags) (\s@UpdateLiveSourceResponse' {} a -> s {tags = a} :: UpdateLiveSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+updateLiveSourceResponse_httpStatus :: Lens.Lens' UpdateLiveSourceResponse Prelude.Int+updateLiveSourceResponse_httpStatus = Lens.lens (\UpdateLiveSourceResponse' {httpStatus} -> httpStatus) (\s@UpdateLiveSourceResponse' {} a -> s {httpStatus = a} :: UpdateLiveSourceResponse)++instance Prelude.NFData UpdateLiveSourceResponse where+ rnf UpdateLiveSourceResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf httpPackageConfigurations+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf liveSourceName+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/UpdateSourceLocation.hs view
@@ -0,0 +1,360 @@+{-# 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.MediaTailor.UpdateSourceLocation+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a source location. A source location is a container for sources.+-- For more information about source locations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-source-locations.html Working with source locations>+-- in the /MediaTailor User Guide/.+module Amazonka.MediaTailor.UpdateSourceLocation+ ( -- * Creating a Request+ UpdateSourceLocation (..),+ newUpdateSourceLocation,++ -- * Request Lenses+ updateSourceLocation_accessConfiguration,+ updateSourceLocation_defaultSegmentDeliveryConfiguration,+ updateSourceLocation_segmentDeliveryConfigurations,+ updateSourceLocation_httpConfiguration,+ updateSourceLocation_sourceLocationName,++ -- * Destructuring the Response+ UpdateSourceLocationResponse (..),+ newUpdateSourceLocationResponse,++ -- * Response Lenses+ updateSourceLocationResponse_accessConfiguration,+ updateSourceLocationResponse_arn,+ updateSourceLocationResponse_creationTime,+ updateSourceLocationResponse_defaultSegmentDeliveryConfiguration,+ updateSourceLocationResponse_httpConfiguration,+ updateSourceLocationResponse_lastModifiedTime,+ updateSourceLocationResponse_segmentDeliveryConfigurations,+ updateSourceLocationResponse_sourceLocationName,+ updateSourceLocationResponse_tags,+ updateSourceLocationResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateSourceLocation' smart constructor.+data UpdateSourceLocation = UpdateSourceLocation'+ { -- | Access configuration parameters. Configures the type of authentication+ -- used to access content from your source location.+ accessConfiguration :: Prelude.Maybe AccessConfiguration,+ -- | The optional configuration for the host server that serves segments.+ defaultSegmentDeliveryConfiguration :: Prelude.Maybe DefaultSegmentDeliveryConfiguration,+ -- | A list of the segment delivery configurations associated with this+ -- resource.+ segmentDeliveryConfigurations :: Prelude.Maybe [SegmentDeliveryConfiguration],+ -- | The HTTP configuration for the source location.+ httpConfiguration :: HttpConfiguration,+ -- | The name of the source location.+ sourceLocationName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateSourceLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessConfiguration', 'updateSourceLocation_accessConfiguration' - Access configuration parameters. Configures the type of authentication+-- used to access content from your source location.+--+-- 'defaultSegmentDeliveryConfiguration', 'updateSourceLocation_defaultSegmentDeliveryConfiguration' - The optional configuration for the host server that serves segments.+--+-- 'segmentDeliveryConfigurations', 'updateSourceLocation_segmentDeliveryConfigurations' - A list of the segment delivery configurations associated with this+-- resource.+--+-- 'httpConfiguration', 'updateSourceLocation_httpConfiguration' - The HTTP configuration for the source location.+--+-- 'sourceLocationName', 'updateSourceLocation_sourceLocationName' - The name of the source location.+newUpdateSourceLocation ::+ -- | 'httpConfiguration'+ HttpConfiguration ->+ -- | 'sourceLocationName'+ Prelude.Text ->+ UpdateSourceLocation+newUpdateSourceLocation+ pHttpConfiguration_+ pSourceLocationName_ =+ UpdateSourceLocation'+ { accessConfiguration =+ Prelude.Nothing,+ defaultSegmentDeliveryConfiguration =+ Prelude.Nothing,+ segmentDeliveryConfigurations = Prelude.Nothing,+ httpConfiguration = pHttpConfiguration_,+ sourceLocationName = pSourceLocationName_+ }++-- | Access configuration parameters. Configures the type of authentication+-- used to access content from your source location.+updateSourceLocation_accessConfiguration :: Lens.Lens' UpdateSourceLocation (Prelude.Maybe AccessConfiguration)+updateSourceLocation_accessConfiguration = Lens.lens (\UpdateSourceLocation' {accessConfiguration} -> accessConfiguration) (\s@UpdateSourceLocation' {} a -> s {accessConfiguration = a} :: UpdateSourceLocation)++-- | The optional configuration for the host server that serves segments.+updateSourceLocation_defaultSegmentDeliveryConfiguration :: Lens.Lens' UpdateSourceLocation (Prelude.Maybe DefaultSegmentDeliveryConfiguration)+updateSourceLocation_defaultSegmentDeliveryConfiguration = Lens.lens (\UpdateSourceLocation' {defaultSegmentDeliveryConfiguration} -> defaultSegmentDeliveryConfiguration) (\s@UpdateSourceLocation' {} a -> s {defaultSegmentDeliveryConfiguration = a} :: UpdateSourceLocation)++-- | A list of the segment delivery configurations associated with this+-- resource.+updateSourceLocation_segmentDeliveryConfigurations :: Lens.Lens' UpdateSourceLocation (Prelude.Maybe [SegmentDeliveryConfiguration])+updateSourceLocation_segmentDeliveryConfigurations = Lens.lens (\UpdateSourceLocation' {segmentDeliveryConfigurations} -> segmentDeliveryConfigurations) (\s@UpdateSourceLocation' {} a -> s {segmentDeliveryConfigurations = a} :: UpdateSourceLocation) Prelude.. Lens.mapping Lens.coerced++-- | The HTTP configuration for the source location.+updateSourceLocation_httpConfiguration :: Lens.Lens' UpdateSourceLocation HttpConfiguration+updateSourceLocation_httpConfiguration = Lens.lens (\UpdateSourceLocation' {httpConfiguration} -> httpConfiguration) (\s@UpdateSourceLocation' {} a -> s {httpConfiguration = a} :: UpdateSourceLocation)++-- | The name of the source location.+updateSourceLocation_sourceLocationName :: Lens.Lens' UpdateSourceLocation Prelude.Text+updateSourceLocation_sourceLocationName = Lens.lens (\UpdateSourceLocation' {sourceLocationName} -> sourceLocationName) (\s@UpdateSourceLocation' {} a -> s {sourceLocationName = a} :: UpdateSourceLocation)++instance Core.AWSRequest UpdateSourceLocation where+ type+ AWSResponse UpdateSourceLocation =+ UpdateSourceLocationResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateSourceLocationResponse'+ Prelude.<$> (x Data..?> "AccessConfiguration")+ Prelude.<*> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> (x Data..?> "DefaultSegmentDeliveryConfiguration")+ Prelude.<*> (x Data..?> "HttpConfiguration")+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> ( x+ Data..?> "SegmentDeliveryConfigurations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "SourceLocationName")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateSourceLocation where+ hashWithSalt _salt UpdateSourceLocation' {..} =+ _salt+ `Prelude.hashWithSalt` accessConfiguration+ `Prelude.hashWithSalt` defaultSegmentDeliveryConfiguration+ `Prelude.hashWithSalt` segmentDeliveryConfigurations+ `Prelude.hashWithSalt` httpConfiguration+ `Prelude.hashWithSalt` sourceLocationName++instance Prelude.NFData UpdateSourceLocation where+ rnf UpdateSourceLocation' {..} =+ Prelude.rnf accessConfiguration+ `Prelude.seq` Prelude.rnf defaultSegmentDeliveryConfiguration+ `Prelude.seq` Prelude.rnf segmentDeliveryConfigurations+ `Prelude.seq` Prelude.rnf httpConfiguration+ `Prelude.seq` Prelude.rnf sourceLocationName++instance Data.ToHeaders UpdateSourceLocation where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateSourceLocation where+ toJSON UpdateSourceLocation' {..} =+ Data.object+ ( Prelude.catMaybes+ [ ("AccessConfiguration" Data..=)+ Prelude.<$> accessConfiguration,+ ("DefaultSegmentDeliveryConfiguration" Data..=)+ Prelude.<$> defaultSegmentDeliveryConfiguration,+ ("SegmentDeliveryConfigurations" Data..=)+ Prelude.<$> segmentDeliveryConfigurations,+ Prelude.Just+ ("HttpConfiguration" Data..= httpConfiguration)+ ]+ )++instance Data.ToPath UpdateSourceLocation where+ toPath UpdateSourceLocation' {..} =+ Prelude.mconcat+ ["/sourceLocation/", Data.toBS sourceLocationName]++instance Data.ToQuery UpdateSourceLocation where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateSourceLocationResponse' smart constructor.+data UpdateSourceLocationResponse = UpdateSourceLocationResponse'+ { -- | Access configuration parameters. Configures the type of authentication+ -- used to access content from your source location.+ accessConfiguration :: Prelude.Maybe AccessConfiguration,+ -- | The Amazon Resource Name (ARN) associated with the source location.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The timestamp that indicates when the source location was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | The optional configuration for the host server that serves segments.+ defaultSegmentDeliveryConfiguration :: Prelude.Maybe DefaultSegmentDeliveryConfiguration,+ -- | The HTTP configuration for the source location.+ httpConfiguration :: Prelude.Maybe HttpConfiguration,+ -- | The timestamp that indicates when the source location was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The segment delivery configurations for the source location. For+ -- information about MediaTailor configurations, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html Working with configurations in AWS Elemental MediaTailor>.+ segmentDeliveryConfigurations :: Prelude.Maybe [SegmentDeliveryConfiguration],+ -- | The name of the source location.+ sourceLocationName :: Prelude.Maybe Prelude.Text,+ -- | The tags to assign to the source location. Tags are key-value pairs that+ -- you can associate with Amazon resources to help with organization,+ -- access control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ 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 'UpdateSourceLocationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessConfiguration', 'updateSourceLocationResponse_accessConfiguration' - Access configuration parameters. Configures the type of authentication+-- used to access content from your source location.+--+-- 'arn', 'updateSourceLocationResponse_arn' - The Amazon Resource Name (ARN) associated with the source location.+--+-- 'creationTime', 'updateSourceLocationResponse_creationTime' - The timestamp that indicates when the source location was created.+--+-- 'defaultSegmentDeliveryConfiguration', 'updateSourceLocationResponse_defaultSegmentDeliveryConfiguration' - The optional configuration for the host server that serves segments.+--+-- 'httpConfiguration', 'updateSourceLocationResponse_httpConfiguration' - The HTTP configuration for the source location.+--+-- 'lastModifiedTime', 'updateSourceLocationResponse_lastModifiedTime' - The timestamp that indicates when the source location was last modified.+--+-- 'segmentDeliveryConfigurations', 'updateSourceLocationResponse_segmentDeliveryConfigurations' - The segment delivery configurations for the source location. For+-- information about MediaTailor configurations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html Working with configurations in AWS Elemental MediaTailor>.+--+-- 'sourceLocationName', 'updateSourceLocationResponse_sourceLocationName' - The name of the source location.+--+-- 'tags', 'updateSourceLocationResponse_tags' - The tags to assign to the source location. Tags are key-value pairs that+-- you can associate with Amazon resources to help with organization,+-- access control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'httpStatus', 'updateSourceLocationResponse_httpStatus' - The response's http status code.+newUpdateSourceLocationResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateSourceLocationResponse+newUpdateSourceLocationResponse pHttpStatus_ =+ UpdateSourceLocationResponse'+ { accessConfiguration =+ Prelude.Nothing,+ arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ defaultSegmentDeliveryConfiguration =+ Prelude.Nothing,+ httpConfiguration = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ segmentDeliveryConfigurations =+ Prelude.Nothing,+ sourceLocationName = Prelude.Nothing,+ tags = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | Access configuration parameters. Configures the type of authentication+-- used to access content from your source location.+updateSourceLocationResponse_accessConfiguration :: Lens.Lens' UpdateSourceLocationResponse (Prelude.Maybe AccessConfiguration)+updateSourceLocationResponse_accessConfiguration = Lens.lens (\UpdateSourceLocationResponse' {accessConfiguration} -> accessConfiguration) (\s@UpdateSourceLocationResponse' {} a -> s {accessConfiguration = a} :: UpdateSourceLocationResponse)++-- | The Amazon Resource Name (ARN) associated with the source location.+updateSourceLocationResponse_arn :: Lens.Lens' UpdateSourceLocationResponse (Prelude.Maybe Prelude.Text)+updateSourceLocationResponse_arn = Lens.lens (\UpdateSourceLocationResponse' {arn} -> arn) (\s@UpdateSourceLocationResponse' {} a -> s {arn = a} :: UpdateSourceLocationResponse)++-- | The timestamp that indicates when the source location was created.+updateSourceLocationResponse_creationTime :: Lens.Lens' UpdateSourceLocationResponse (Prelude.Maybe Prelude.UTCTime)+updateSourceLocationResponse_creationTime = Lens.lens (\UpdateSourceLocationResponse' {creationTime} -> creationTime) (\s@UpdateSourceLocationResponse' {} a -> s {creationTime = a} :: UpdateSourceLocationResponse) Prelude.. Lens.mapping Data._Time++-- | The optional configuration for the host server that serves segments.+updateSourceLocationResponse_defaultSegmentDeliveryConfiguration :: Lens.Lens' UpdateSourceLocationResponse (Prelude.Maybe DefaultSegmentDeliveryConfiguration)+updateSourceLocationResponse_defaultSegmentDeliveryConfiguration = Lens.lens (\UpdateSourceLocationResponse' {defaultSegmentDeliveryConfiguration} -> defaultSegmentDeliveryConfiguration) (\s@UpdateSourceLocationResponse' {} a -> s {defaultSegmentDeliveryConfiguration = a} :: UpdateSourceLocationResponse)++-- | The HTTP configuration for the source location.+updateSourceLocationResponse_httpConfiguration :: Lens.Lens' UpdateSourceLocationResponse (Prelude.Maybe HttpConfiguration)+updateSourceLocationResponse_httpConfiguration = Lens.lens (\UpdateSourceLocationResponse' {httpConfiguration} -> httpConfiguration) (\s@UpdateSourceLocationResponse' {} a -> s {httpConfiguration = a} :: UpdateSourceLocationResponse)++-- | The timestamp that indicates when the source location was last modified.+updateSourceLocationResponse_lastModifiedTime :: Lens.Lens' UpdateSourceLocationResponse (Prelude.Maybe Prelude.UTCTime)+updateSourceLocationResponse_lastModifiedTime = Lens.lens (\UpdateSourceLocationResponse' {lastModifiedTime} -> lastModifiedTime) (\s@UpdateSourceLocationResponse' {} a -> s {lastModifiedTime = a} :: UpdateSourceLocationResponse) Prelude.. Lens.mapping Data._Time++-- | The segment delivery configurations for the source location. For+-- information about MediaTailor configurations, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/configurations.html Working with configurations in AWS Elemental MediaTailor>.+updateSourceLocationResponse_segmentDeliveryConfigurations :: Lens.Lens' UpdateSourceLocationResponse (Prelude.Maybe [SegmentDeliveryConfiguration])+updateSourceLocationResponse_segmentDeliveryConfigurations = Lens.lens (\UpdateSourceLocationResponse' {segmentDeliveryConfigurations} -> segmentDeliveryConfigurations) (\s@UpdateSourceLocationResponse' {} a -> s {segmentDeliveryConfigurations = a} :: UpdateSourceLocationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The name of the source location.+updateSourceLocationResponse_sourceLocationName :: Lens.Lens' UpdateSourceLocationResponse (Prelude.Maybe Prelude.Text)+updateSourceLocationResponse_sourceLocationName = Lens.lens (\UpdateSourceLocationResponse' {sourceLocationName} -> sourceLocationName) (\s@UpdateSourceLocationResponse' {} a -> s {sourceLocationName = a} :: UpdateSourceLocationResponse)++-- | The tags to assign to the source location. Tags are key-value pairs that+-- you can associate with Amazon resources to help with organization,+-- access control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+updateSourceLocationResponse_tags :: Lens.Lens' UpdateSourceLocationResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateSourceLocationResponse_tags = Lens.lens (\UpdateSourceLocationResponse' {tags} -> tags) (\s@UpdateSourceLocationResponse' {} a -> s {tags = a} :: UpdateSourceLocationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+updateSourceLocationResponse_httpStatus :: Lens.Lens' UpdateSourceLocationResponse Prelude.Int+updateSourceLocationResponse_httpStatus = Lens.lens (\UpdateSourceLocationResponse' {httpStatus} -> httpStatus) (\s@UpdateSourceLocationResponse' {} a -> s {httpStatus = a} :: UpdateSourceLocationResponse)++instance Prelude.NFData UpdateSourceLocationResponse where+ rnf UpdateSourceLocationResponse' {..} =+ Prelude.rnf accessConfiguration+ `Prelude.seq` Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf defaultSegmentDeliveryConfiguration+ `Prelude.seq` Prelude.rnf httpConfiguration+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf segmentDeliveryConfigurations+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/UpdateVodSource.hs view
@@ -0,0 +1,296 @@+{-# 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.MediaTailor.UpdateVodSource+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Updates a VOD source\'s configuration.+module Amazonka.MediaTailor.UpdateVodSource+ ( -- * Creating a Request+ UpdateVodSource (..),+ newUpdateVodSource,++ -- * Request Lenses+ updateVodSource_httpPackageConfigurations,+ updateVodSource_sourceLocationName,+ updateVodSource_vodSourceName,++ -- * Destructuring the Response+ UpdateVodSourceResponse (..),+ newUpdateVodSourceResponse,++ -- * Response Lenses+ updateVodSourceResponse_arn,+ updateVodSourceResponse_creationTime,+ updateVodSourceResponse_httpPackageConfigurations,+ updateVodSourceResponse_lastModifiedTime,+ updateVodSourceResponse_sourceLocationName,+ updateVodSourceResponse_tags,+ updateVodSourceResponse_vodSourceName,+ updateVodSourceResponse_httpStatus,+ )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response++-- | /See:/ 'newUpdateVodSource' smart constructor.+data UpdateVodSource = UpdateVodSource'+ { -- | A list of HTTP package configurations for the VOD source on this+ -- account.+ httpPackageConfigurations :: [HttpPackageConfiguration],+ -- | The name of the source location associated with this VOD Source.+ sourceLocationName :: Prelude.Text,+ -- | The name of the VOD source.+ vodSourceName :: Prelude.Text+ }+ deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UpdateVodSource' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpPackageConfigurations', 'updateVodSource_httpPackageConfigurations' - A list of HTTP package configurations for the VOD source on this+-- account.+--+-- 'sourceLocationName', 'updateVodSource_sourceLocationName' - The name of the source location associated with this VOD Source.+--+-- 'vodSourceName', 'updateVodSource_vodSourceName' - The name of the VOD source.+newUpdateVodSource ::+ -- | 'sourceLocationName'+ Prelude.Text ->+ -- | 'vodSourceName'+ Prelude.Text ->+ UpdateVodSource+newUpdateVodSource+ pSourceLocationName_+ pVodSourceName_ =+ UpdateVodSource'+ { httpPackageConfigurations =+ Prelude.mempty,+ sourceLocationName = pSourceLocationName_,+ vodSourceName = pVodSourceName_+ }++-- | A list of HTTP package configurations for the VOD source on this+-- account.+updateVodSource_httpPackageConfigurations :: Lens.Lens' UpdateVodSource [HttpPackageConfiguration]+updateVodSource_httpPackageConfigurations = Lens.lens (\UpdateVodSource' {httpPackageConfigurations} -> httpPackageConfigurations) (\s@UpdateVodSource' {} a -> s {httpPackageConfigurations = a} :: UpdateVodSource) Prelude.. Lens.coerced++-- | The name of the source location associated with this VOD Source.+updateVodSource_sourceLocationName :: Lens.Lens' UpdateVodSource Prelude.Text+updateVodSource_sourceLocationName = Lens.lens (\UpdateVodSource' {sourceLocationName} -> sourceLocationName) (\s@UpdateVodSource' {} a -> s {sourceLocationName = a} :: UpdateVodSource)++-- | The name of the VOD source.+updateVodSource_vodSourceName :: Lens.Lens' UpdateVodSource Prelude.Text+updateVodSource_vodSourceName = Lens.lens (\UpdateVodSource' {vodSourceName} -> vodSourceName) (\s@UpdateVodSource' {} a -> s {vodSourceName = a} :: UpdateVodSource)++instance Core.AWSRequest UpdateVodSource where+ type+ AWSResponse UpdateVodSource =+ UpdateVodSourceResponse+ request overrides =+ Request.putJSON (overrides defaultService)+ response =+ Response.receiveJSON+ ( \s h x ->+ UpdateVodSourceResponse'+ Prelude.<$> (x Data..?> "Arn")+ Prelude.<*> (x Data..?> "CreationTime")+ Prelude.<*> ( x+ Data..?> "HttpPackageConfigurations"+ Core..!@ Prelude.mempty+ )+ Prelude.<*> (x Data..?> "LastModifiedTime")+ Prelude.<*> (x Data..?> "SourceLocationName")+ Prelude.<*> (x Data..?> "tags" Core..!@ Prelude.mempty)+ Prelude.<*> (x Data..?> "VodSourceName")+ Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+ )++instance Prelude.Hashable UpdateVodSource where+ hashWithSalt _salt UpdateVodSource' {..} =+ _salt+ `Prelude.hashWithSalt` httpPackageConfigurations+ `Prelude.hashWithSalt` sourceLocationName+ `Prelude.hashWithSalt` vodSourceName++instance Prelude.NFData UpdateVodSource where+ rnf UpdateVodSource' {..} =+ Prelude.rnf httpPackageConfigurations+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf vodSourceName++instance Data.ToHeaders UpdateVodSource where+ toHeaders =+ Prelude.const+ ( Prelude.mconcat+ [ "Content-Type"+ Data.=# ( "application/x-amz-json-1.1" ::+ Prelude.ByteString+ )+ ]+ )++instance Data.ToJSON UpdateVodSource where+ toJSON UpdateVodSource' {..} =+ Data.object+ ( Prelude.catMaybes+ [ Prelude.Just+ ( "HttpPackageConfigurations"+ Data..= httpPackageConfigurations+ )+ ]+ )++instance Data.ToPath UpdateVodSource where+ toPath UpdateVodSource' {..} =+ Prelude.mconcat+ [ "/sourceLocation/",+ Data.toBS sourceLocationName,+ "/vodSource/",+ Data.toBS vodSourceName+ ]++instance Data.ToQuery UpdateVodSource where+ toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newUpdateVodSourceResponse' smart constructor.+data UpdateVodSourceResponse = UpdateVodSourceResponse'+ { -- | The Amazon Resource Name (ARN) associated with the VOD source.+ arn :: Prelude.Maybe Prelude.Text,+ -- | The timestamp that indicates when the VOD source was created.+ creationTime :: Prelude.Maybe Data.POSIX,+ -- | A list of HTTP package configurations for the VOD source on this+ -- account.+ httpPackageConfigurations :: Prelude.Maybe [HttpPackageConfiguration],+ -- | The timestamp that indicates when the VOD source was last modified.+ lastModifiedTime :: Prelude.Maybe Data.POSIX,+ -- | The name of the source location associated with the VOD source.+ sourceLocationName :: Prelude.Maybe Prelude.Text,+ -- | The tags to assign to the VOD source. Tags are key-value pairs that you+ -- can associate with Amazon resources to help with organization, access+ -- control, and cost tracking. For more information, see+ -- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+ tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),+ -- | The name of the VOD source.+ vodSourceName :: 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 'UpdateVodSourceResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'arn', 'updateVodSourceResponse_arn' - The Amazon Resource Name (ARN) associated with the VOD source.+--+-- 'creationTime', 'updateVodSourceResponse_creationTime' - The timestamp that indicates when the VOD source was created.+--+-- 'httpPackageConfigurations', 'updateVodSourceResponse_httpPackageConfigurations' - A list of HTTP package configurations for the VOD source on this+-- account.+--+-- 'lastModifiedTime', 'updateVodSourceResponse_lastModifiedTime' - The timestamp that indicates when the VOD source was last modified.+--+-- 'sourceLocationName', 'updateVodSourceResponse_sourceLocationName' - The name of the source location associated with the VOD source.+--+-- 'tags', 'updateVodSourceResponse_tags' - The tags to assign to the VOD source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+--+-- 'vodSourceName', 'updateVodSourceResponse_vodSourceName' - The name of the VOD source.+--+-- 'httpStatus', 'updateVodSourceResponse_httpStatus' - The response's http status code.+newUpdateVodSourceResponse ::+ -- | 'httpStatus'+ Prelude.Int ->+ UpdateVodSourceResponse+newUpdateVodSourceResponse pHttpStatus_ =+ UpdateVodSourceResponse'+ { arn = Prelude.Nothing,+ creationTime = Prelude.Nothing,+ httpPackageConfigurations = Prelude.Nothing,+ lastModifiedTime = Prelude.Nothing,+ sourceLocationName = Prelude.Nothing,+ tags = Prelude.Nothing,+ vodSourceName = Prelude.Nothing,+ httpStatus = pHttpStatus_+ }++-- | The Amazon Resource Name (ARN) associated with the VOD source.+updateVodSourceResponse_arn :: Lens.Lens' UpdateVodSourceResponse (Prelude.Maybe Prelude.Text)+updateVodSourceResponse_arn = Lens.lens (\UpdateVodSourceResponse' {arn} -> arn) (\s@UpdateVodSourceResponse' {} a -> s {arn = a} :: UpdateVodSourceResponse)++-- | The timestamp that indicates when the VOD source was created.+updateVodSourceResponse_creationTime :: Lens.Lens' UpdateVodSourceResponse (Prelude.Maybe Prelude.UTCTime)+updateVodSourceResponse_creationTime = Lens.lens (\UpdateVodSourceResponse' {creationTime} -> creationTime) (\s@UpdateVodSourceResponse' {} a -> s {creationTime = a} :: UpdateVodSourceResponse) Prelude.. Lens.mapping Data._Time++-- | A list of HTTP package configurations for the VOD source on this+-- account.+updateVodSourceResponse_httpPackageConfigurations :: Lens.Lens' UpdateVodSourceResponse (Prelude.Maybe [HttpPackageConfiguration])+updateVodSourceResponse_httpPackageConfigurations = Lens.lens (\UpdateVodSourceResponse' {httpPackageConfigurations} -> httpPackageConfigurations) (\s@UpdateVodSourceResponse' {} a -> s {httpPackageConfigurations = a} :: UpdateVodSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The timestamp that indicates when the VOD source was last modified.+updateVodSourceResponse_lastModifiedTime :: Lens.Lens' UpdateVodSourceResponse (Prelude.Maybe Prelude.UTCTime)+updateVodSourceResponse_lastModifiedTime = Lens.lens (\UpdateVodSourceResponse' {lastModifiedTime} -> lastModifiedTime) (\s@UpdateVodSourceResponse' {} a -> s {lastModifiedTime = a} :: UpdateVodSourceResponse) Prelude.. Lens.mapping Data._Time++-- | The name of the source location associated with the VOD source.+updateVodSourceResponse_sourceLocationName :: Lens.Lens' UpdateVodSourceResponse (Prelude.Maybe Prelude.Text)+updateVodSourceResponse_sourceLocationName = Lens.lens (\UpdateVodSourceResponse' {sourceLocationName} -> sourceLocationName) (\s@UpdateVodSourceResponse' {} a -> s {sourceLocationName = a} :: UpdateVodSourceResponse)++-- | The tags to assign to the VOD source. Tags are key-value pairs that you+-- can associate with Amazon resources to help with organization, access+-- control, and cost tracking. For more information, see+-- <https://docs.aws.amazon.com/mediatailor/latest/ug/tagging.html Tagging AWS Elemental MediaTailor Resources>.+updateVodSourceResponse_tags :: Lens.Lens' UpdateVodSourceResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))+updateVodSourceResponse_tags = Lens.lens (\UpdateVodSourceResponse' {tags} -> tags) (\s@UpdateVodSourceResponse' {} a -> s {tags = a} :: UpdateVodSourceResponse) Prelude.. Lens.mapping Lens.coerced++-- | The name of the VOD source.+updateVodSourceResponse_vodSourceName :: Lens.Lens' UpdateVodSourceResponse (Prelude.Maybe Prelude.Text)+updateVodSourceResponse_vodSourceName = Lens.lens (\UpdateVodSourceResponse' {vodSourceName} -> vodSourceName) (\s@UpdateVodSourceResponse' {} a -> s {vodSourceName = a} :: UpdateVodSourceResponse)++-- | The response's http status code.+updateVodSourceResponse_httpStatus :: Lens.Lens' UpdateVodSourceResponse Prelude.Int+updateVodSourceResponse_httpStatus = Lens.lens (\UpdateVodSourceResponse' {httpStatus} -> httpStatus) (\s@UpdateVodSourceResponse' {} a -> s {httpStatus = a} :: UpdateVodSourceResponse)++instance Prelude.NFData UpdateVodSourceResponse where+ rnf UpdateVodSourceResponse' {..} =+ Prelude.rnf arn+ `Prelude.seq` Prelude.rnf creationTime+ `Prelude.seq` Prelude.rnf httpPackageConfigurations+ `Prelude.seq` Prelude.rnf lastModifiedTime+ `Prelude.seq` Prelude.rnf sourceLocationName+ `Prelude.seq` Prelude.rnf tags+ `Prelude.seq` Prelude.rnf vodSourceName+ `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/MediaTailor/Waiters.hs view
@@ -0,0 +1,24 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module : Amazonka.MediaTailor.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.MediaTailor.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import Amazonka.MediaTailor.Lens+import Amazonka.MediaTailor.Types+import qualified Amazonka.Prelude as Prelude
+ src/.gitkeep view
+ test/Main.hs view
@@ -0,0 +1,23 @@+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module : Main+-- Copyright : (c) 2013-2023 Brendan Hay+-- License : Mozilla Public License, v. 2.0.+-- Maintainer : Brendan Hay+-- Stability : auto-generated+-- Portability : non-portable (GHC extensions)+module Main (main) where++import Test.Amazonka.MediaTailor+import Test.Amazonka.MediaTailor.Internal+import Test.Tasty++main :: IO ()+main =+ defaultMain $+ testGroup+ "MediaTailor"+ [ testGroup "tests" tests,+ testGroup "fixtures" fixtures+ ]
+ test/Test/Amazonka/Gen/MediaTailor.hs view
@@ -0,0 +1,878 @@+{-# 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.MediaTailor+-- Copyright : (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.MediaTailor where++import Amazonka.MediaTailor+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.MediaTailor.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"+-- [ requestConfigureLogsForPlaybackConfiguration $+-- newConfigureLogsForPlaybackConfiguration+--+-- , requestCreateChannel $+-- newCreateChannel+--+-- , requestCreateLiveSource $+-- newCreateLiveSource+--+-- , requestCreatePrefetchSchedule $+-- newCreatePrefetchSchedule+--+-- , requestCreateProgram $+-- newCreateProgram+--+-- , requestCreateSourceLocation $+-- newCreateSourceLocation+--+-- , requestCreateVodSource $+-- newCreateVodSource+--+-- , requestDeleteChannel $+-- newDeleteChannel+--+-- , requestDeleteChannelPolicy $+-- newDeleteChannelPolicy+--+-- , requestDeleteLiveSource $+-- newDeleteLiveSource+--+-- , requestDeletePlaybackConfiguration $+-- newDeletePlaybackConfiguration+--+-- , requestDeletePrefetchSchedule $+-- newDeletePrefetchSchedule+--+-- , requestDeleteProgram $+-- newDeleteProgram+--+-- , requestDeleteSourceLocation $+-- newDeleteSourceLocation+--+-- , requestDeleteVodSource $+-- newDeleteVodSource+--+-- , requestDescribeChannel $+-- newDescribeChannel+--+-- , requestDescribeLiveSource $+-- newDescribeLiveSource+--+-- , requestDescribeProgram $+-- newDescribeProgram+--+-- , requestDescribeSourceLocation $+-- newDescribeSourceLocation+--+-- , requestDescribeVodSource $+-- newDescribeVodSource+--+-- , requestGetChannelPolicy $+-- newGetChannelPolicy+--+-- , requestGetChannelSchedule $+-- newGetChannelSchedule+--+-- , requestGetPlaybackConfiguration $+-- newGetPlaybackConfiguration+--+-- , requestGetPrefetchSchedule $+-- newGetPrefetchSchedule+--+-- , requestListAlerts $+-- newListAlerts+--+-- , requestListChannels $+-- newListChannels+--+-- , requestListLiveSources $+-- newListLiveSources+--+-- , requestListPlaybackConfigurations $+-- newListPlaybackConfigurations+--+-- , requestListPrefetchSchedules $+-- newListPrefetchSchedules+--+-- , requestListSourceLocations $+-- newListSourceLocations+--+-- , requestListTagsForResource $+-- newListTagsForResource+--+-- , requestListVodSources $+-- newListVodSources+--+-- , requestPutChannelPolicy $+-- newPutChannelPolicy+--+-- , requestPutPlaybackConfiguration $+-- newPutPlaybackConfiguration+--+-- , requestStartChannel $+-- newStartChannel+--+-- , requestStopChannel $+-- newStopChannel+--+-- , requestTagResource $+-- newTagResource+--+-- , requestUntagResource $+-- newUntagResource+--+-- , requestUpdateChannel $+-- newUpdateChannel+--+-- , requestUpdateLiveSource $+-- newUpdateLiveSource+--+-- , requestUpdateSourceLocation $+-- newUpdateSourceLocation+--+-- , requestUpdateVodSource $+-- newUpdateVodSource+--+-- ]++-- , testGroup "response"+-- [ responseConfigureLogsForPlaybackConfiguration $+-- newConfigureLogsForPlaybackConfigurationResponse+--+-- , responseCreateChannel $+-- newCreateChannelResponse+--+-- , responseCreateLiveSource $+-- newCreateLiveSourceResponse+--+-- , responseCreatePrefetchSchedule $+-- newCreatePrefetchScheduleResponse+--+-- , responseCreateProgram $+-- newCreateProgramResponse+--+-- , responseCreateSourceLocation $+-- newCreateSourceLocationResponse+--+-- , responseCreateVodSource $+-- newCreateVodSourceResponse+--+-- , responseDeleteChannel $+-- newDeleteChannelResponse+--+-- , responseDeleteChannelPolicy $+-- newDeleteChannelPolicyResponse+--+-- , responseDeleteLiveSource $+-- newDeleteLiveSourceResponse+--+-- , responseDeletePlaybackConfiguration $+-- newDeletePlaybackConfigurationResponse+--+-- , responseDeletePrefetchSchedule $+-- newDeletePrefetchScheduleResponse+--+-- , responseDeleteProgram $+-- newDeleteProgramResponse+--+-- , responseDeleteSourceLocation $+-- newDeleteSourceLocationResponse+--+-- , responseDeleteVodSource $+-- newDeleteVodSourceResponse+--+-- , responseDescribeChannel $+-- newDescribeChannelResponse+--+-- , responseDescribeLiveSource $+-- newDescribeLiveSourceResponse+--+-- , responseDescribeProgram $+-- newDescribeProgramResponse+--+-- , responseDescribeSourceLocation $+-- newDescribeSourceLocationResponse+--+-- , responseDescribeVodSource $+-- newDescribeVodSourceResponse+--+-- , responseGetChannelPolicy $+-- newGetChannelPolicyResponse+--+-- , responseGetChannelSchedule $+-- newGetChannelScheduleResponse+--+-- , responseGetPlaybackConfiguration $+-- newGetPlaybackConfigurationResponse+--+-- , responseGetPrefetchSchedule $+-- newGetPrefetchScheduleResponse+--+-- , responseListAlerts $+-- newListAlertsResponse+--+-- , responseListChannels $+-- newListChannelsResponse+--+-- , responseListLiveSources $+-- newListLiveSourcesResponse+--+-- , responseListPlaybackConfigurations $+-- newListPlaybackConfigurationsResponse+--+-- , responseListPrefetchSchedules $+-- newListPrefetchSchedulesResponse+--+-- , responseListSourceLocations $+-- newListSourceLocationsResponse+--+-- , responseListTagsForResource $+-- newListTagsForResourceResponse+--+-- , responseListVodSources $+-- newListVodSourcesResponse+--+-- , responsePutChannelPolicy $+-- newPutChannelPolicyResponse+--+-- , responsePutPlaybackConfiguration $+-- newPutPlaybackConfigurationResponse+--+-- , responseStartChannel $+-- newStartChannelResponse+--+-- , responseStopChannel $+-- newStopChannelResponse+--+-- , responseTagResource $+-- newTagResourceResponse+--+-- , responseUntagResource $+-- newUntagResourceResponse+--+-- , responseUpdateChannel $+-- newUpdateChannelResponse+--+-- , responseUpdateLiveSource $+-- newUpdateLiveSourceResponse+--+-- , responseUpdateSourceLocation $+-- newUpdateSourceLocationResponse+--+-- , responseUpdateVodSource $+-- newUpdateVodSourceResponse+--+-- ]+-- ]++-- Requests++requestConfigureLogsForPlaybackConfiguration :: ConfigureLogsForPlaybackConfiguration -> TestTree+requestConfigureLogsForPlaybackConfiguration =+ req+ "ConfigureLogsForPlaybackConfiguration"+ "fixture/ConfigureLogsForPlaybackConfiguration.yaml"++requestCreateChannel :: CreateChannel -> TestTree+requestCreateChannel =+ req+ "CreateChannel"+ "fixture/CreateChannel.yaml"++requestCreateLiveSource :: CreateLiveSource -> TestTree+requestCreateLiveSource =+ req+ "CreateLiveSource"+ "fixture/CreateLiveSource.yaml"++requestCreatePrefetchSchedule :: CreatePrefetchSchedule -> TestTree+requestCreatePrefetchSchedule =+ req+ "CreatePrefetchSchedule"+ "fixture/CreatePrefetchSchedule.yaml"++requestCreateProgram :: CreateProgram -> TestTree+requestCreateProgram =+ req+ "CreateProgram"+ "fixture/CreateProgram.yaml"++requestCreateSourceLocation :: CreateSourceLocation -> TestTree+requestCreateSourceLocation =+ req+ "CreateSourceLocation"+ "fixture/CreateSourceLocation.yaml"++requestCreateVodSource :: CreateVodSource -> TestTree+requestCreateVodSource =+ req+ "CreateVodSource"+ "fixture/CreateVodSource.yaml"++requestDeleteChannel :: DeleteChannel -> TestTree+requestDeleteChannel =+ req+ "DeleteChannel"+ "fixture/DeleteChannel.yaml"++requestDeleteChannelPolicy :: DeleteChannelPolicy -> TestTree+requestDeleteChannelPolicy =+ req+ "DeleteChannelPolicy"+ "fixture/DeleteChannelPolicy.yaml"++requestDeleteLiveSource :: DeleteLiveSource -> TestTree+requestDeleteLiveSource =+ req+ "DeleteLiveSource"+ "fixture/DeleteLiveSource.yaml"++requestDeletePlaybackConfiguration :: DeletePlaybackConfiguration -> TestTree+requestDeletePlaybackConfiguration =+ req+ "DeletePlaybackConfiguration"+ "fixture/DeletePlaybackConfiguration.yaml"++requestDeletePrefetchSchedule :: DeletePrefetchSchedule -> TestTree+requestDeletePrefetchSchedule =+ req+ "DeletePrefetchSchedule"+ "fixture/DeletePrefetchSchedule.yaml"++requestDeleteProgram :: DeleteProgram -> TestTree+requestDeleteProgram =+ req+ "DeleteProgram"+ "fixture/DeleteProgram.yaml"++requestDeleteSourceLocation :: DeleteSourceLocation -> TestTree+requestDeleteSourceLocation =+ req+ "DeleteSourceLocation"+ "fixture/DeleteSourceLocation.yaml"++requestDeleteVodSource :: DeleteVodSource -> TestTree+requestDeleteVodSource =+ req+ "DeleteVodSource"+ "fixture/DeleteVodSource.yaml"++requestDescribeChannel :: DescribeChannel -> TestTree+requestDescribeChannel =+ req+ "DescribeChannel"+ "fixture/DescribeChannel.yaml"++requestDescribeLiveSource :: DescribeLiveSource -> TestTree+requestDescribeLiveSource =+ req+ "DescribeLiveSource"+ "fixture/DescribeLiveSource.yaml"++requestDescribeProgram :: DescribeProgram -> TestTree+requestDescribeProgram =+ req+ "DescribeProgram"+ "fixture/DescribeProgram.yaml"++requestDescribeSourceLocation :: DescribeSourceLocation -> TestTree+requestDescribeSourceLocation =+ req+ "DescribeSourceLocation"+ "fixture/DescribeSourceLocation.yaml"++requestDescribeVodSource :: DescribeVodSource -> TestTree+requestDescribeVodSource =+ req+ "DescribeVodSource"+ "fixture/DescribeVodSource.yaml"++requestGetChannelPolicy :: GetChannelPolicy -> TestTree+requestGetChannelPolicy =+ req+ "GetChannelPolicy"+ "fixture/GetChannelPolicy.yaml"++requestGetChannelSchedule :: GetChannelSchedule -> TestTree+requestGetChannelSchedule =+ req+ "GetChannelSchedule"+ "fixture/GetChannelSchedule.yaml"++requestGetPlaybackConfiguration :: GetPlaybackConfiguration -> TestTree+requestGetPlaybackConfiguration =+ req+ "GetPlaybackConfiguration"+ "fixture/GetPlaybackConfiguration.yaml"++requestGetPrefetchSchedule :: GetPrefetchSchedule -> TestTree+requestGetPrefetchSchedule =+ req+ "GetPrefetchSchedule"+ "fixture/GetPrefetchSchedule.yaml"++requestListAlerts :: ListAlerts -> TestTree+requestListAlerts =+ req+ "ListAlerts"+ "fixture/ListAlerts.yaml"++requestListChannels :: ListChannels -> TestTree+requestListChannels =+ req+ "ListChannels"+ "fixture/ListChannels.yaml"++requestListLiveSources :: ListLiveSources -> TestTree+requestListLiveSources =+ req+ "ListLiveSources"+ "fixture/ListLiveSources.yaml"++requestListPlaybackConfigurations :: ListPlaybackConfigurations -> TestTree+requestListPlaybackConfigurations =+ req+ "ListPlaybackConfigurations"+ "fixture/ListPlaybackConfigurations.yaml"++requestListPrefetchSchedules :: ListPrefetchSchedules -> TestTree+requestListPrefetchSchedules =+ req+ "ListPrefetchSchedules"+ "fixture/ListPrefetchSchedules.yaml"++requestListSourceLocations :: ListSourceLocations -> TestTree+requestListSourceLocations =+ req+ "ListSourceLocations"+ "fixture/ListSourceLocations.yaml"++requestListTagsForResource :: ListTagsForResource -> TestTree+requestListTagsForResource =+ req+ "ListTagsForResource"+ "fixture/ListTagsForResource.yaml"++requestListVodSources :: ListVodSources -> TestTree+requestListVodSources =+ req+ "ListVodSources"+ "fixture/ListVodSources.yaml"++requestPutChannelPolicy :: PutChannelPolicy -> TestTree+requestPutChannelPolicy =+ req+ "PutChannelPolicy"+ "fixture/PutChannelPolicy.yaml"++requestPutPlaybackConfiguration :: PutPlaybackConfiguration -> TestTree+requestPutPlaybackConfiguration =+ req+ "PutPlaybackConfiguration"+ "fixture/PutPlaybackConfiguration.yaml"++requestStartChannel :: StartChannel -> TestTree+requestStartChannel =+ req+ "StartChannel"+ "fixture/StartChannel.yaml"++requestStopChannel :: StopChannel -> TestTree+requestStopChannel =+ req+ "StopChannel"+ "fixture/StopChannel.yaml"++requestTagResource :: TagResource -> TestTree+requestTagResource =+ req+ "TagResource"+ "fixture/TagResource.yaml"++requestUntagResource :: UntagResource -> TestTree+requestUntagResource =+ req+ "UntagResource"+ "fixture/UntagResource.yaml"++requestUpdateChannel :: UpdateChannel -> TestTree+requestUpdateChannel =+ req+ "UpdateChannel"+ "fixture/UpdateChannel.yaml"++requestUpdateLiveSource :: UpdateLiveSource -> TestTree+requestUpdateLiveSource =+ req+ "UpdateLiveSource"+ "fixture/UpdateLiveSource.yaml"++requestUpdateSourceLocation :: UpdateSourceLocation -> TestTree+requestUpdateSourceLocation =+ req+ "UpdateSourceLocation"+ "fixture/UpdateSourceLocation.yaml"++requestUpdateVodSource :: UpdateVodSource -> TestTree+requestUpdateVodSource =+ req+ "UpdateVodSource"+ "fixture/UpdateVodSource.yaml"++-- Responses++responseConfigureLogsForPlaybackConfiguration :: ConfigureLogsForPlaybackConfigurationResponse -> TestTree+responseConfigureLogsForPlaybackConfiguration =+ res+ "ConfigureLogsForPlaybackConfigurationResponse"+ "fixture/ConfigureLogsForPlaybackConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ConfigureLogsForPlaybackConfiguration)++responseCreateChannel :: CreateChannelResponse -> TestTree+responseCreateChannel =+ res+ "CreateChannelResponse"+ "fixture/CreateChannelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateChannel)++responseCreateLiveSource :: CreateLiveSourceResponse -> TestTree+responseCreateLiveSource =+ res+ "CreateLiveSourceResponse"+ "fixture/CreateLiveSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateLiveSource)++responseCreatePrefetchSchedule :: CreatePrefetchScheduleResponse -> TestTree+responseCreatePrefetchSchedule =+ res+ "CreatePrefetchScheduleResponse"+ "fixture/CreatePrefetchScheduleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreatePrefetchSchedule)++responseCreateProgram :: CreateProgramResponse -> TestTree+responseCreateProgram =+ res+ "CreateProgramResponse"+ "fixture/CreateProgramResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateProgram)++responseCreateSourceLocation :: CreateSourceLocationResponse -> TestTree+responseCreateSourceLocation =+ res+ "CreateSourceLocationResponse"+ "fixture/CreateSourceLocationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateSourceLocation)++responseCreateVodSource :: CreateVodSourceResponse -> TestTree+responseCreateVodSource =+ res+ "CreateVodSourceResponse"+ "fixture/CreateVodSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy CreateVodSource)++responseDeleteChannel :: DeleteChannelResponse -> TestTree+responseDeleteChannel =+ res+ "DeleteChannelResponse"+ "fixture/DeleteChannelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteChannel)++responseDeleteChannelPolicy :: DeleteChannelPolicyResponse -> TestTree+responseDeleteChannelPolicy =+ res+ "DeleteChannelPolicyResponse"+ "fixture/DeleteChannelPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteChannelPolicy)++responseDeleteLiveSource :: DeleteLiveSourceResponse -> TestTree+responseDeleteLiveSource =+ res+ "DeleteLiveSourceResponse"+ "fixture/DeleteLiveSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteLiveSource)++responseDeletePlaybackConfiguration :: DeletePlaybackConfigurationResponse -> TestTree+responseDeletePlaybackConfiguration =+ res+ "DeletePlaybackConfigurationResponse"+ "fixture/DeletePlaybackConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeletePlaybackConfiguration)++responseDeletePrefetchSchedule :: DeletePrefetchScheduleResponse -> TestTree+responseDeletePrefetchSchedule =+ res+ "DeletePrefetchScheduleResponse"+ "fixture/DeletePrefetchScheduleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeletePrefetchSchedule)++responseDeleteProgram :: DeleteProgramResponse -> TestTree+responseDeleteProgram =+ res+ "DeleteProgramResponse"+ "fixture/DeleteProgramResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteProgram)++responseDeleteSourceLocation :: DeleteSourceLocationResponse -> TestTree+responseDeleteSourceLocation =+ res+ "DeleteSourceLocationResponse"+ "fixture/DeleteSourceLocationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteSourceLocation)++responseDeleteVodSource :: DeleteVodSourceResponse -> TestTree+responseDeleteVodSource =+ res+ "DeleteVodSourceResponse"+ "fixture/DeleteVodSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DeleteVodSource)++responseDescribeChannel :: DescribeChannelResponse -> TestTree+responseDescribeChannel =+ res+ "DescribeChannelResponse"+ "fixture/DescribeChannelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeChannel)++responseDescribeLiveSource :: DescribeLiveSourceResponse -> TestTree+responseDescribeLiveSource =+ res+ "DescribeLiveSourceResponse"+ "fixture/DescribeLiveSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeLiveSource)++responseDescribeProgram :: DescribeProgramResponse -> TestTree+responseDescribeProgram =+ res+ "DescribeProgramResponse"+ "fixture/DescribeProgramResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeProgram)++responseDescribeSourceLocation :: DescribeSourceLocationResponse -> TestTree+responseDescribeSourceLocation =+ res+ "DescribeSourceLocationResponse"+ "fixture/DescribeSourceLocationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeSourceLocation)++responseDescribeVodSource :: DescribeVodSourceResponse -> TestTree+responseDescribeVodSource =+ res+ "DescribeVodSourceResponse"+ "fixture/DescribeVodSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy DescribeVodSource)++responseGetChannelPolicy :: GetChannelPolicyResponse -> TestTree+responseGetChannelPolicy =+ res+ "GetChannelPolicyResponse"+ "fixture/GetChannelPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetChannelPolicy)++responseGetChannelSchedule :: GetChannelScheduleResponse -> TestTree+responseGetChannelSchedule =+ res+ "GetChannelScheduleResponse"+ "fixture/GetChannelScheduleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetChannelSchedule)++responseGetPlaybackConfiguration :: GetPlaybackConfigurationResponse -> TestTree+responseGetPlaybackConfiguration =+ res+ "GetPlaybackConfigurationResponse"+ "fixture/GetPlaybackConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetPlaybackConfiguration)++responseGetPrefetchSchedule :: GetPrefetchScheduleResponse -> TestTree+responseGetPrefetchSchedule =+ res+ "GetPrefetchScheduleResponse"+ "fixture/GetPrefetchScheduleResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy GetPrefetchSchedule)++responseListAlerts :: ListAlertsResponse -> TestTree+responseListAlerts =+ res+ "ListAlertsResponse"+ "fixture/ListAlertsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListAlerts)++responseListChannels :: ListChannelsResponse -> TestTree+responseListChannels =+ res+ "ListChannelsResponse"+ "fixture/ListChannelsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListChannels)++responseListLiveSources :: ListLiveSourcesResponse -> TestTree+responseListLiveSources =+ res+ "ListLiveSourcesResponse"+ "fixture/ListLiveSourcesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListLiveSources)++responseListPlaybackConfigurations :: ListPlaybackConfigurationsResponse -> TestTree+responseListPlaybackConfigurations =+ res+ "ListPlaybackConfigurationsResponse"+ "fixture/ListPlaybackConfigurationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListPlaybackConfigurations)++responseListPrefetchSchedules :: ListPrefetchSchedulesResponse -> TestTree+responseListPrefetchSchedules =+ res+ "ListPrefetchSchedulesResponse"+ "fixture/ListPrefetchSchedulesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListPrefetchSchedules)++responseListSourceLocations :: ListSourceLocationsResponse -> TestTree+responseListSourceLocations =+ res+ "ListSourceLocationsResponse"+ "fixture/ListSourceLocationsResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListSourceLocations)++responseListTagsForResource :: ListTagsForResourceResponse -> TestTree+responseListTagsForResource =+ res+ "ListTagsForResourceResponse"+ "fixture/ListTagsForResourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListTagsForResource)++responseListVodSources :: ListVodSourcesResponse -> TestTree+responseListVodSources =+ res+ "ListVodSourcesResponse"+ "fixture/ListVodSourcesResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy ListVodSources)++responsePutChannelPolicy :: PutChannelPolicyResponse -> TestTree+responsePutChannelPolicy =+ res+ "PutChannelPolicyResponse"+ "fixture/PutChannelPolicyResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutChannelPolicy)++responsePutPlaybackConfiguration :: PutPlaybackConfigurationResponse -> TestTree+responsePutPlaybackConfiguration =+ res+ "PutPlaybackConfigurationResponse"+ "fixture/PutPlaybackConfigurationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy PutPlaybackConfiguration)++responseStartChannel :: StartChannelResponse -> TestTree+responseStartChannel =+ res+ "StartChannelResponse"+ "fixture/StartChannelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StartChannel)++responseStopChannel :: StopChannelResponse -> TestTree+responseStopChannel =+ res+ "StopChannelResponse"+ "fixture/StopChannelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy StopChannel)++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)++responseUpdateChannel :: UpdateChannelResponse -> TestTree+responseUpdateChannel =+ res+ "UpdateChannelResponse"+ "fixture/UpdateChannelResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateChannel)++responseUpdateLiveSource :: UpdateLiveSourceResponse -> TestTree+responseUpdateLiveSource =+ res+ "UpdateLiveSourceResponse"+ "fixture/UpdateLiveSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateLiveSource)++responseUpdateSourceLocation :: UpdateSourceLocationResponse -> TestTree+responseUpdateSourceLocation =+ res+ "UpdateSourceLocationResponse"+ "fixture/UpdateSourceLocationResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateSourceLocation)++responseUpdateVodSource :: UpdateVodSourceResponse -> TestTree+responseUpdateVodSource =+ res+ "UpdateVodSourceResponse"+ "fixture/UpdateVodSourceResponse.proto"+ defaultService+ (Proxy.Proxy :: Proxy.Proxy UpdateVodSource)
+ test/Test/Amazonka/MediaTailor.hs view
@@ -0,0 +1,20 @@+-- |+-- Module : Test.Amazonka.MediaTailor+-- Copyright : (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.MediaTailor+ ( tests,+ fixtures,+ )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/MediaTailor/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module : Test.Amazonka.MediaTailor.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.MediaTailor.Internal where